Django  初识

一、前言

Django是一款网站架构,能够快速的搭建一个网站。openstack的界面显示使用的就是Django的框架。所以,学习openstack多少要了解一些Django的内容,并且作为一个善于记录和分享知识的coder,有一个自己的博客网站也是很必要的。Django框架能够很完美的制作出属于你个人的博客。

二、初步认识

如下图是一个Django项目的基本框架和引用关系。

一个创建好的Django项目包括三个文件,分别是

  1. 项目同名文件夹
  2. manager.py
  3. 应用文件夹

对应到上图中的project 、manager.py、app。上图中还有一些简单的调用关系,具体见下文。

三、工作原理

结合上一张图,讲解一个简单的Django框架的工作原理。

1.从URL到处理函数

project文件夹中的url.py文件主要配置访问的URL到处理函数的映射关系。例如:访问http://172.171.5.200:8001/test 路径,返回的结果是:

其中URL对应的处理函数就是:

2.处理函数到界面

项目文件夹下面的view.py文件中定义了URL的处理函数,即url.py中URL指向的处理函数。:

当有一个URL请求过来时,触发该test函数,函数返回一个字符串给浏览器。这样就完成了一次http请求。所有的网站设计都是基于这样一个简单但基础的框架去完成的。

四、创建简单项目

如以上分析,根据Django的工作原理,代码中实现如下所示:

aaarticlea/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAIPAtUDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooprukaF3YKqjJZjgCgB1FcvqfjaytS0dkhuZBxuzhB+Pf/PNcjf8AiXVNQJEly0cZ/wCWcXyj/E/jW0aMnvoZSrRW2p6Td6vp1hkXN5EjDqu7LfkOaxLnx1psWRBFPMfXAUfrz+led0VqqMVuZOtJ7HYzeP7g/wCosYk/33LfyxVJ/HGrv90W6f7sZ/qTXN0VahFdCXOXc3j4y1o9LlB9Il/wpv8Awl+uf8/o/wC/Sf4VS07Rb/VGxa27MmeZDwo/GutsPAcCAPf3DSN/ci4X8+p/SlJwjvYIqctrmAPGGt/8/YP/AGyT/Cr9tq/i27AMKSsp/i+zqB+ZGK7Oz0nT7AD7NaRRkfxbct+Z5q7WTrR6RNVSl1kcNJqviG2/4+57iADqzWSlfzFOh1jU7j/Va1Ex9Bbpn8q7eqF5ounX2TcWkTMf4wNrfmOaFVh1iDpS6SOd+263/wBBVf8AwGWlF9rY/wCYlG31t1q1ceGbmDLadelh/wA8bn5h+DDkVlyzy2cgi1C3e2c8Bm5Rvow4rWPJLaxlLnjvcuLq2uJ/y1s5P9+Mj+RqZPEWpx/63ToJfeKbb/MVTDZGQeKXNN04PoHPLuakfiu1HF1a3Vv6s0e5fzFalpqljff8et3FIf7ob5vy61y+arzWlvOcyQqW/vAYP5iodCL2KVaS3O7orioLrUrHH2W9MqD/AJZXPzj8D1Fa9n4ot3ZYr+JrOU8BmOY2+jdvxrGVGS21NY1YvfQ3qKRWDKGUggjII70tZGoUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVi+Itfj0W1ATD3Ug/doe3+0fb+dOMXJ2Qm1FXZNrOu2mjQ5mO+Zh8kKnk/4D3rzrVtevtYkJnk2xA/LEnCj/E+5qjcXM13O888jSSucszd6irshTUPU5ZzcvQKKKKsgKKKsWVlPqF3HbW6bpHOB6D3PtQBHb2811OkMEbSSOcKqjJNd1ovgqGALPqWJZeohB+Vfr6/y+tbOiaFbaLb7UAe4YfvJSOT7D0Fatc063SJvCl1kNRFjQIihVUYCqMAU6iisDcKKKKACiiigApksMc8TRTRrJG3BVhkGn0UAcvfeG5bXM2ktlOrWrtwf909voay4bhZdy4ZJEOHjcYZT7iu8rH1rQ01FftEBEN6g+STs3+y3qP5V0U63SRhOl1iYG6jdVeKVizxSoY54ztkjPVT/AIVJmuqxzkm6kYK6lWAZT1BGaZmjNFgHWlzeaS26xffBnLW0h+U/7p7Guq0zVrbVYS0JKyJxJE/DIfcf1rk81EyyJOtzbSGK5T7rjv7H1FZ1KSn6lwqOPoegUVmaNq6arbHK+Xcx8Sxeh9R7GtOuJpp2Z1ppq6CiiikMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAKWoavY6V5f22fyvMzs+RmzjGegPqKo/8Jdof/P9/wCQn/8Aiap+KP8AkLaP/wBtv/QVrFuHupNTFvBc+Svk7z8gbJ3Y71006MZRTZzzqyjJpHTf8Jdof/P9/wCQn/8AiaP+Eu0P/n+/8hP/APE1zf2W/wD+gl/5AWj7Lf8A/QS/8gLV+wh3/r7ifbT7f1950n/CXaH/AM/3/kJ//iaP+Eu0P/n+/wDIT/8AxNc39lv/APoJf+QFo+y3/wD0Ev8AyAtHsId/6+4PbT7f1950n/CXaH/z/f8AkJ//AImj/hLtD/5/v/IT/wDxNc39lv8A/oJf+QFo+y3/AP0Ev/IC0ewh3/r7g9tPt/X3nSf8Jdof/P8Af+Qn/wDiaP8AhLtD/wCf7/yE/wD8TXN/Zb//AKCX/kBaPst//wBBL/yAtHsId/6+4PbT7f1950n/AAl2h/8AP9/5Cf8A+Jo/4S7Q/wDn+/8AIT//ABNc39lv/wDoJf8AkBaPst//ANBL/wAgLR7CHf8Ar7g9tPt/X3nSf8Jdof8Az/f+Qn/+Jo/4S7Q/+f7/AMhP/wDE1zf2W/8A+gl/5AWj7Lf/APQS/wDIC0ewh3/r7g9tPt/X3nSf8Jdof/P9/wCQn/8AiaP+Eu0P/n+/8hP/APE1zf2W/wD+gl/5AWj7Lf8A/QS/8gLR7CHf+vuD20+39fedJ/wl2h/8/wB/5Cf/AOJo/wCEu0P/AJ/v/IT/APxNc39lv/8AoJf+QFo+y3//AEEv/IC0ewh3/r7g9tPt/X3nSf8ACXaH/wA/3/kJ/wD4mj/hLtD/AOf7/wAhP/8AE1zf2W//AOgl/wCQFo+y3/8A0Ev/ACAtHsId/wCvuD20+39fedJ/wl2h/wDP9/5Cf/4mj/hLtD/5/v8AyE//AMTXN/Zb/wD6CX/kBaPst/8A9BL/AMgLR7CHf+vuD20+39fedJ/wl2h/8/3/AJCf/wCJo/4S7Q/+f7/yE/8A8TXN/Zb/AP6CX/kBaPst/wD9BL/yAtHsId/6+4PbT7f1950n/CXaH/z/AH/kJ/8A4mj/AIS7Q/8An+/8hP8A/E1zf2W//wCgl/5AWj7Lf/8AQS/8gLR7CHf+vuD20+39fedJ/wAJdof/AD/f+Qn/APiaP+Eu0P8A5/v/ACE//wATXN/Zb/8A6CX/AJAWj7Lf/wDQS/8AIC0ewh3/AK+4PbT7f1950n/CXaH/AM/3/kJ//iaP+Eu0P/n+/wDIT/8AxNc39lv/APoJf+QFo+y3/wD0Ev8AyAtHsId/6+4PbT7f1950UnjDRVjZluy7AEhRE4LH05Fec6hfTajey3U7ZdznHYDsBV/WWuYVSCW784N8xHlhcenT8ax6qNOMNiJTlPcKKKKoQUUUUAFdn4Y1DQ9IsjJPdj7ZL9/9052jsucVy2n2rXd4sattx827GcY9q3w15b6haxS3fnJLvyPLC9BQ4qSswUnF3R1H/CXaH/z/AH/kJ/8A4mrVhrum6nO0Nnc+ZIq7yNjDjIHce4rAzT9E/wCRrf8A68T/AOhisJUYqLaNo1ZNpM62iiiuY6AooooAKKKKACqV9e3NorPHYS3KgZ/dMM/kefyzV2imnYTOWfxtBFL5Uun3Ucn918Kf1qT/AITBD0025/Nf8a6C4tbe7j8u4hjlT0dQaxLjwjZNlrOWa0b0Vtyfkf8AGtouk91Yykqq2ZgazqS6hcw3VvYTxTr8shYjDp6H3FAbIqzcaDq9pkrHFdoO8Z2t+R/pWa1wsUnlzpJBJ/dmUqf1rqhy2tE5pc17yLO6jdUYYEZByKM1RJJuo3VHmjNADknmsbyO+tRulThkzjzE7g1uf8Jen/QNuvzX/GueknjhGZHC/WrFrYanqGDbWhjjP/LW4+UfgOpqJwg9ZFwnJaRNn/hMEHXTbn81/wAabD4yjuZfKt9Mu5nHURgNj8qktfCNuMPqFxJdN/cHyJ+Q5Nb0FvDaxCKCJIkHRUUAVzSdJbK50RVV7uwltLLLEHmgMDH+BmBP444qaiisDYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA5jxR/yFdI/7bf+grWN/wAx7/t1/wDZq2fFP/IV0j/tt/6CtYv/ADHf+3b/ANmrupfAjjq/GzlPDOqTaU32H7EWsrjWbu2S5kuS0m/dIw4IJYfLgsWBz2PWki8T+J5PsubLS/32ry2RxcuOE38D93x9z73OfQZ41YvB0cX2fGs6k3kXr3y5EHMrZznEfT5m4H94+2JJPCcB3mLUb+L/AEw30ITyj5Mp3btu5DkHeeGz7YpRUklfpb9P+CU3Ft/13/4BWtvF984Sa60aOG0F+dPmmS73lH3lAyrsG5C2ASdpGehAzW3dPcSQSW80caefL5MflyFi0ZGSTlRtO0Nxz0HNc54e0C7me4l1ZdQgiXUZbyGymaAxElyyNmPLEjIOC2MjpxXUJZkXXnyXU8xDMUR9oVAwAwMKM4wcZyfmPPTDjflV/wCtv1Jla7sZWtiWXQNcube6mtXWB0imgIDARqc4JBx824ZHOOhB5q1HbjUNAsvtN1cRxeQkkzRzNEz/ACg8upDAZ5OCM464yDLdaUl1okuli5nijkjMbTJtMhB+995SMnnPHfjFV7jQGuNHtdNGrX8aQbQZUEO+UL0DgxlSOnAAzjnNFnr8v1C60+ZBpWnzXXhyKHU7u9KLJI8b/aXilMO4+X5jqQ2duM8/XnNT+F4mj0YSmW5dLiR5ohcTvKyxk/INzkn7oB69San/ALKL6Tc2Fxf3lx9oVlknkKCTBGONqhRx6D3681bkgZlhWKeSBYmB2xhcOo/hOQePpg8daaVmJu5ycN5clLfXBdTtLNqrWjQec3leT5rRBQmdoYYDbgM5B5xxWzr80j3Glacs0kMd9cmOV4pCjlFjdyFYEEElQMjnGaenh+2TURdCe4MSzG4W0JXyVmIOZBxuzyTgtjJJxnmpbvSReW/lzXlyZUn8+CcBA8Ddgvy4wASPmByCc5pJO1n/AFt/w421e/8AXUg8OzzGK/tJZHlWyu3gjkkcszJhWGWPJI3bcnk45yc1BoTXC+IvEMM15cXKJNEYxMwIjDRg7VAAAH4fXJ5rQsdKXT1iWG7uCqs7zb9hNw7clnO3Oc9Nu0dsYAAjsNGFhq1/qAvrqZr0hnilEexcDA27UB4HHJPvk800ndf12FfRmL4puL6KLT5bmK4MAaU3Fnpd1IJnAHyurLsZgo+8vH3h97Ayls8mpnQtMl1WW4hl097qW5tZ2iadlKKpDoQ2PnJPTJAz3FbF3oZu/ssp1S+jvLYvsu4/KD7X6oQUKEcL/Dn5RznOWHw3ax2Nnb2dxc2b2assNxCytIA33gS6sDuPJyOoBGMVKi9b/wBf1/WhTaMaxvLnXG0rTby6nVTBcyTSW8zQvM0UixKdyEEA5LEDAJx24qxBfyXvhF576MXZtoJvOBfZ521mTdkDglVY8DqR0rUl8P2xtbOG0nuLF7NSkM8BUuqkYYHeGBzgE5B5APWpBodqmjy6XC0sVvJH5ZKsCwXABGSD15yTzkk1NSEnBpb/AKm2HqQhVjOWiTX567eVyve67cWk14i2CSR2tst0X8/GUO7Ixt+98pwOh9R0qDxNePPpOpWdvD5gjtDLM5mMewEHbjAO4/KSRwMDHerU+gJcfafMv7v/AEm3W2kx5f3Bnp8nU5b/AL6PthbrQYrpXBvLqMywfZ52TZ++Tn7wKkA8nkAdaxqQrTjKPf08/wDgHo0quBp1ITW6ae0t9Hd6+Ttbra+gy91xrKZLeGymunSNHlEaOSFbIGNqkE8Hhiv19Hvq92mrHTzYxh2IaBjMcSx87mzs4K8ZX3/GpW0gG4juEvLqKYRCGR0KfvVByNwK4z15AB5NNudFjumaRru5WUzLMsi7N0e0YCqSvC8nj3Pqc3JVr3Xfy2/r+tTONTA3XMuju/eve+9rpWX4p20epeQ+ZdyP2jXyx9Tgn/2Wp81FFGIUKhmbLFiW6kk5p+a3S0PMm03psh2aM03NGaogdmjNNzRmgB2aM03NGaAOb1wO+onCkgIB0rM8t/7jflXb5ozRoKzOI8t/7jflR5b/ANxvyrt80Zo0DU4jy3/uN+VHlv8A3G/Ku3zRmjQNTA8PxlbiZmUjCYGR7/8A1q0rr/kK6f8A9tP/AEGruao3X/IVsP8Atp/6DTF0NDNSaH/yNb/9eJ/9DFQ5qXQ/+Rrf/rxP/oYrOfwM0h8SOuooorhOwKKKKACiiigAooooAKKKZNxBJ/un+VAD6jmghuYzHPEkqH+F1BH61wFjaiexilknuC7DJPnN/jVn7BH/AM9rj/v83+NdPsLdTn9tfobdz4S0+UlrZpbRz/zzbK/98msi58Oata5MXlXiD+6dj/keP1qP7BH/AM9rj/v83+NH2CP/AJ7XH/f5v8a1ipr7RnJxfQphLszeQLC68/8A55mMj8c9Me9atp4X1C5w15Otqn9yL5n/AD6D9arfYI/+e1x/3+b/ABo+wR/89rj/AL/N/jVScns7EpJbq51FhoOnacQ8NuGl/wCesnzN+Z6fhWlXC/YI/wDntcf9/m/xo+wR/wDPa4/7/N/jWDot6uRsqqWiR3VFcL9gj/57XH/f5v8AGj7BH/z2uP8Av83+NL2HmP23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xo+wR/8APa4/7/N/jR7DzD23kd1RXC/YI/8Antcf9/m/xpGsYwpPnXHT/ns3+NH1fzD23kd3RWV4bdn8PWbOxZihySck8misJKzaNk7q5meKf+QppH/bb/0Faxbi3uvtwubYw/6ryyJM+ue1bXir/kKaR/22/wDQVqlXbS+BHJUXvspf8TX/AKc//HqP+Jr/ANOf/j1XaK0uRYpf8TX/AKc//HqP+Jr/ANOf/j1XaKLhYpf8TX/pz/8AHqP+Jr/05/8Aj1XaKLhYpf8AE1/6c/8Ax6j/AImv/Tn/AOPVdoouFil/xNf+nP8A8eo/4mv/AE5/+PVdoouFil/xNf8Apz/8eo/4mv8A05/+PVdoouFil/xNf+nP/wAeo/4mv/Tn/wCPVdoouFil/wATX/pz/wDHqP8Aia/9Of8A49V2ii4WKX/E1/6c/wDx6j/ia/8ATn/49V2ii4WKX/E1/wCnP/x6j/ia/wDTn/49V2ii4WKX/E1/6c//AB6j/ia/9Of/AI9V2ii4WKX/ABNf+nP/AMeo/wCJr/05/wDj1XaKLhYpf8TX/pz/APHqP+Jr/wBOf/j1XaKLhYpf8TX/AKc//HqP+Jr/ANOf/j1XaKLhYpf8TX/pz/8AHqP+Jr/05/8Aj1XaKLhYpf8AE1/6c/8Ax6j/AImv/Tn/AOPVdoouFil/xNf+nP8A8eo/4mv/AE5/+PVdoouFil/xNf8Apz/8epFt72S9gmuDb7Yt3Ee7PIx3q9RRcLC1NoX/ACNT/wDXif8A0MVBU2g/8jU//Xkf/QxUT+Blw+JHX0UUVwHYFFFFABRRRQAUUUUAFMm/1En+6f5U+mTf6iT/AHT/ACoQHC6X/wAgyD/dqSa+tLa4gt57qCKackQxvIFaQjrtB5OPaotMP/Etg/3azvEltdTf2Xc2ls901nerO8MbKrMux1OC5Az82eSOlehLQ4Y6lz/hIdF8mKb+17Dypd/lv9pTa+z72DnnHf0qjpniIXE+tPfS2UFlYzIIp1m+RomjVwzOcDnd24HTJ6nnY9N1dksVn0C4YRa7LfuDLAwEbFyp5k5ILj/vk+2bsun30k/iLfpOoCO4uoJbZ7e4hSQ7FRd6EvgEFNwDYBGAe4qE3v8A1sv+D9xo0v69WdXFqVjcWBv4b23kswpY3CSqY8DqdwOMDBz9Khh13SLh2SHVbGRli89glwhIj67zg/d5HPSqujNqMGm20OoW0jTyea0kqiJdnzEqZArY3kEZ2AjOegrlfB1jNe6Z4Xkj0x7OCwjeVrlzHifehUqoVi2GLbiWA+6O/Sru9kTZWudrDrelXCW7w6nZSJcuUgZJ1IlYdQuD8xHoKv5rmtD02a01O6t96HTbKRvsSKPuGQBmU/7uSBjs+O1dHmmtVcT0dh2aM03NGaYh2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmmsfkP0ozSMflP0oA3vDH/It2X+4f5mijwx/yLdl/uH+Zorgn8TOyHwozfFX/IT0j/tt/wCgrVHNXfFf/IT0j/tt/wCgrVHNdlL4EctT42LmjNJmjNWQLmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5ozSZozQAuan0H/kan/wCvI/8AoYqvmp9A/wCRpf8A68j/AOhipqfAyofEjsKKKK4DtCiiigAooooAKKKKACmTf6iT/dP8qfTJv9RJ/un+VCA4PTP+QbB/u1azVTTT/wAS6D/dq1mvSe5wLYXNGaTNGaQxs0MVzA8E8SSxSKVeN1DKwPUEHqKhtdPsbG0NpaWdvb2xzmGGJUQ56/KBjmrGaM0WC5Ha2tvY2yW1pbxW8CfciiQIq9+AOBUuaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzSMflP0ozSMflP0oA6Hwx/wAi3Zf7h/maKPDH/It2X+4f5miuCfxM7IfCjM8V/wDIT0j/ALbfyWs/NaHiz/kJaT/22/ktZ2a7KXwI5anxsXNGaTNGa0IFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNWfD/APyNL/8AXkf/AEMVVzVnw9/yNMn/AF5H/wBDFRU+BlQ+JHY0UUVwHaFFFFABRRRQAUUUUAFMm/1En+6f5U+mTf6iT/dP8qEBwGmn/iXQf7tWs1U04/8AEvh/3aztdurq0v8ARDb3LxxTXvkTxhVKupRiMkgkEFRjBHXvXoydmcEVc3M1Us9UstQnuobS4SZ7STypwnIR8Z256E8846dOtccmp6xPa6esWtShpNZnsXl8mJt8Q8zBxtxuAQYIwMnkHpUd5Pf6efEUtlfvHdR6hZJ5zRowk3JCh3LjGDuz8u0+hFQp3t/Xb/Mvk/r5v/I9AzRmuOk1G/srjVtPn1iaQRtbGC6FvG0qtISDCAAELHaMEjjeC2QKzRd6pqlloZn1G+tpl1ma1kIEId1XzNu8BShYbAOPl6n0IfNrb+t7C5f6+Vz0PNGa86tr7VdP0x44dTlmmvNams1mu5ETysM+MMImALFVHKsOwA7aKSeIv7U0fT7vWUilmguPtJtUjkBMbLtILIMMQwDcY64UdQKV7fL8rjcLHaZozXC6fqesx3VlJcatJcxPrE+nmJoY13RqJMMxVQdwKDkYGO3etPSb2/bxJPbX9zc4ZZXgjCxNbyRq6gFGVQ4ZcgMrk8njNOMk7f12f6icbXOnzRmub1g6r/aDfZP7e8raMfYvsPl59vO+fP6elLfT6ha+CL+5+0X9vfQW8sqyXK27SgqCwyEBjwcY4HQ+tJysm30BRu0u50eaM1xh1TUdOuXS81kPFNpTXbzNaqRaSAgAhVwSp3HCkk5TqeazL2+1W70HVree/wBRgktNStY0kkECzFHMWVbywUx85PHsD3FNys7f1vYFG+v9bHo2aM159Ne6joknia6XVLi5MNzbwKbtkCRh1jy5Kx/Lt3Htt7lSc5szS+JrVdMt7vV4o559R8gtAI5iYWjZhuJiQbwVOCFA5GQ1JSv/AF3G4WO4zRmuCuNQ1uxuNVY61NNFYX9rEiPBEDIsnl7wxCjj5zjABHqa0rrUNTt/EzI89yLZ2ZbVIlieCVhEWMb/AC+Yj5BbrtIA+lHOrX/ra4uRnQjU7I3L2/2mMSo2xgTj5tu7aD0JCjJA5A5NWIpY54klidZI3UMrochgehB7isHQbO3vPDejzyZZxbiUsD1eRPnY+5LN+dbVvDHa20VvEMRxIEUewGBV2a0ZPoTZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZpGPyn6UmaRj8p+lAHS+GP+Rbsv9w/zNFHhj/kW7L/AHD/ADNFefP4mdsPhRl+LP8AkJaT/wBtv5LWdmtHxb/yEdJ/7bfyWszNdlL4EclT42OzRmuT0zUjYa1rsd9fXNxHFJF5YdTIwBTJwqDgeuB9a6JNQtHsFvlnQ2zqGWTPBB6fj7Vs42LqUZQdt9vxVy1mjNZ0Gp2motNa29xLFcKmSrRGORAejBZF5+uCK5MXN83w5urkajdrcQySfvRJ87APgAsRkD6Y/KhRLp4aU3Zu2qXXqd7mjNU2vYbTT4prmXaCqgE5LMxHAAHJJ9ByaSy1Sz1Bpkt5SZISFkjdGjdMjIyrAEZ9cUOLMeSVua2hdzRmmswRSzEBQMkk8AVyes6zHcaho32K/ukEl7GpjCNHHMnOWDFRvHToSOR7URi5OxVKlKo7L+tG/wBDrs0ZrJN1YyeI0gXUZDeJAc2iPlMZB3MMYDdMZPQ04+INMFysBuGBeXyVcxP5bP8A3Q+NueDxmjlYeyn0T2vsamaM1mNr+lreTWn2tWuIV3PGgLkc4xwDls/wjn2qxa6laXlkbyCdTAN252yu3HXIOCMY70rPcl05pXaZbzRmslPEmkNt33qQBl3I1wrQrIPVS4AYfTNWbvU7WydY5ncyMu4RxRNI+3+9tUE49+lFmN0pp2cWXc0ZqvZ3tvqFpHdWkqywSDKup6/4H2qfNDViGmnZi5ozSZozSELmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5ozSZozQAuaM0maM0ALmrXh7/kaJP+vI/wDoYqpmrfh3/kaJP+vI/wDoYqanwMqHxI7GiiivPO4KKKKACiiigAooooAKZN/qJP8AdP8AKn0yb/USf7p/lQgPPdP/AOPCH/dp15ZWmoW5t721guYCQTHNGHUkdODxTNPP+gQ/7tWc16bVzz0zN/4RzQsqf7F07Kv5i/6KnDcfMOOvA59hVLXPCtrqVhcQWUWn2Ut1KklzK1kHMwVg+Gwy5yRzkngn1zW/mjNS4pjUmijFoumR6YdP/s6xFo/MkCWyrEzcc7OnUD16U0eH9EW1e1Gj6eLd2DtELZNjMOASMYJFaGayr3Vrm21u306K0ikFxbSyxyNOV+dNvykbTgHcPmye/HqOy1f9f1YFfoWX0XSpFuQ+mWbC6INwDAp84g5G/j5se9NTQtHjlt5U0qxWS2XbA626AxDJOFOPlGSenqaxLfxXfXn9ji20iJzqdq067rzaIiu3cG+TphhgjknsBzWfpDiKxj0iOSVUvNYvInfzGL+WrSMRvJzk7QM5zyTnNK6vZL+v6ZVmlr/W/wDkdOnhvQY9mzRNNXy38xMWqDa3HzDjg8Dn2FWbbTNPsria4tbG2gmnOZZIoVVpDnOWIGTyT1rGttQvr6/v9Hg0+G1t7GRYTcR3JHylAy7VCA5wQCMgDIwW7a7pcGZrkb8odqQh+GXvkZxk9RnpgdMtSut0i40+Ze9Kz/q333+W7LtUNasJdU0W80+GdIGuYmiMjxmQKrDB4DDnBOOfzrPt9Te3t7ZLbT0xPdzQFROflcM5JyV5UlWJ7jsD0qymsPLawlLdTdTTPAsJkwoZCwY7sdMKTnHpWftoTjZ/r5f5nTLAV4O8Vpfuvx10232F0rQbHTNLNmLKwHmIEuPItViSbjHzLznj1Jp8Xh7RIIpYodH0+OOZdkiJbIA65zggDkZ7Vl6bfnTdEjUwM88l3OixhnkwQ7k5YKzHAB5wSfzNWpdcuIba1uZNPaOGbKuZGZWik5CgrtzhjgBuOoyBSWIpuPNLsunf5FzyyupuENVeyd0rtLor/wBbXLy6NpSMzLplmrND9nYiBQTFjGw8fdwBx0qIeHdDEcUY0bThHC5eJfsqYRjjJUY4PA5HoKnLSyrAkiLHKf3jqrbgu30OBn5iv61jaQsyTXNtcTzx3xJD73ZklOxfmU9Ac84GCAQMYAxU6nLJK2//AA5nTwjnTnJy1j030va+nTz16dNVpS+HNCnaVptG06Rpn8yUvaoS7c/M2RyeTyfU1PFpWnQ3zX0Vhax3bLtM6wqJCMAY3YzjAH5VPEpjhRCxYqoBYnJPHWuY1y2uLa7064DSXMz6sGhjaZgigxMMHPAAK5zgkZOBzg9VCkqk1Dbf8mcct2r3/r/gHQWFiNPWSKKUm2LFo4mH+qySSAf7ueg7cjpgAGnQDVzqf/Lcw+R9xRhc5643H6EkegHNc7eXx1G70pp4Gt7qz1f7PLGsxdM+UzZB4DAgqQSARkjjmr7+InVxcCzDab9q+yG4Evzh92zOzb93fxndnvitngppK2/9JW73Wwmzfornh4gvZNQgii06E20129qJHuSrgpuLEoEP91sc88Zxmtaa6kivbeHylMU2R5hfGGAzjGOcj37H8c54ecGk+uu/YqEJVJcsd9fw/wCGLdFZqXG6+tmmt0WR4JGV1kLYUFcjGB1ypqOHV5riOV4bGRgIvNiLblDj0JK4BweMZHvR7CfT9Dp+pVWrpeuqtu1vfy/Psa1FZianK7sqwRNmBZoysxPmE4+UfL6kc+68c8SJfO+om18uIbfvZlIbGM5CkcrnAzmk6M0KWCrRvdbK+62L9FZl1MI9YtlFsjytBKY5DKVxjbkEYPB45/SobDW5Lt7bzrQQR3ELSI3m7j8uM5GOnPBz+Arl9tG/Kzi50nY2aK5yK7kvNesLtoPLgkt5TE3mliy/LglcYU9+M/pVi11y4vTJ9n06Qgx+ZCz70V/YsUwCe2Nw96mOIi9/Pv0EqiZt0Vi2d9caxGGWL7MkcieYRK24OCC0ZG0fTPek0+T7H4gvNKVj5BhS6hUnPl5ZlZR6LkAgdsnoMCtIzUtVsyoy5ldG3RTc0ZqxjqKbmjNADqKbmjNADqRvun6UmaRj8p+lAHUeGP8AkW7L/cP8zRR4Y/5Fuy/3D/M0V58/iZ3Q+FGX4u/5COk/9tv5LWXmtPxd/wAhDSf+238lrKzXbR+BHJV+NnOaKsZ8VeJHKqTvhXdjts5FYcMoh+H+iXD+abWG6DXBhZlYJucZBUgjBI6V2I0XSgzkaXZAuCHIt1+YHrnjmprfT7K0ieK2s7eGOT76RxKobtyAOa351+X4HX9agnez6duit+uhlaaugy6pHcWFw13d+UR5n2uSbYno25jt5xwefyNc/Gyn4YajyMeZL3/6aV2kWnWNvbyW8NlbRwSffjSJQr9uQBg1CND0gRmMaVYhGIYr9nTBIzg4x7n86OZBDEwi7u71T6dL/wCZjatK1vqvhq7lbFijMsjH7quyYQn8zzViWLf49glgxmOyYXJX0LfID+IJ/CtlbK0Sz+xrawC1wR5IjGzB5Py9KW2tLayi8q1t4oI852RIFGfXAo5v1/Ez9uuWyWtmvk3f7zK8ZCZvCl95IY4VS4XqUDDd+mapeJL6ya28P3SzxCA38Tq5YABMNk+wHGfSuozVA6Tp0CtJb6XZ+ap8xQsKrlxnac44PPXtmlGSW4Ua0YpKS2b/ABVihcMreN7CRSCDYSkEc5G5a528nWbwzYT20kVrYyXqG2tEOWP7zJLMSSTnJwuMZxzXTWdvd3urw6peWjWbRW5hELSK5LMQScqSMcY7HrxV46Tpp87OnWh845lzAv7w5z83HPPPNUpKNv66msa8KTSetku3975ddzIiMUnxEkYbGI01Sp4OP3naqNoLWTw14mW5kZLf7bc72jGSBkdB+VdING0sS+aNNs/M/v8AkLnpjrj0qre6RHDp06aRY2UM0oCuBGIxImfmXIHGRkZx3pcytb+t7ijXg2krr4e32WZFtcRahe6OLrVNHU2RyotrsO8zldoAGBtHsM54HvVzT5Wg8cavFcnDXEULW27+JFB3Afiaa2k2d3EYB4VitWkXaZnSACPPUgoxbI7YHXHI61uXNjaXqKl3aw3CqcqJow+D+NOUkFSrBadGrdNNb6Wb6mP4Yi2XWtSxYFpLesYtv3SQAGI/Hj8K6LNMRFjjWONVVFACqowAPQUuahu5y1antJuX9dv0HZozTc0ZpGY7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NXPDn/I0Sf9eR/wDQxVHNXfDf/Izyf9eR/wDQxUVPgZUPjR2dFFFeedwUUUUAFFFFABRRRQAUyb/USf7p/lT6ZN/qJP8AdP8AKhAed2B/0GH/AHasZqrYf8eMX+7VfWbqewsWv4TujtgZJoiud8Y+9g9QwGSOx6Hrkem3Y89K+hpZozTFdXUMpBVhkEdxTs0BcXNZ2paQmo3Nrcrd3NrPbhwklvsyVbG5TuVhg4Hvx1rQzRmk0nuCdjAsPCkWnzaa8WqX7Lp0TQwo/lEFGIyG/d5PRRnPb65RPDb2NqrWl5Nc3MV417GbooAXbO9coowGDN2OCRxgYroM0ZpcqHzP+v68zM03Svsd9e3/ANqume+ZZJIJvL2xsAAANqg8AAdT079a1M0maM07WVkJu+pmR6IkfkYvbo+TcPcLny+WbOc/L0+Zv++j7YE0SNLdIxd3JkSdp0m+TejNndjC4wcngg9fpjTzRms1Qprp/X3+R1vH4l/b/L/IzF0SJbZYvtdyXSc3Ec2UDo5JJxhcYOWyCD1NSzaYtwgWe5mlURPHh9hBLdWxtxuxx6YJGOTV7NGaPY07WsS8bXbu5a/Lr8tNuhWtbJbWERNPNPiMR7pmBOBn0A9evsKhtNKW2uTM91POVJ8sSEfJ8oXsAScLjJz+eSb+aM1Xs46abC+t1vefN8W+3+WnysVLaO9W/vJJ5t1s5XyI9wO3A56ICMnsS31HSjUdPTUYolaaWGSGUSxSxbdyMARn5gQeCRyD1q3mjNaQk4NOO6Oe5kSeH4XFsReXSPDcfamkBQtNJjG58qe2RhcAA8DgYcmgWyXbyrPcfZ3n+0taFlMXm5zu6bhyA2M4zzitXNGa1+s1bW5v6+7+ulgOUttKv4ddku4oZ4p5LhjJO62zRPCXzt3BfOPy4ABxggdhXRmzWS0W3uJZJ9pDGR9oYkHP8IA9uAOKsZozTq4mdRpvSw4ycZc0XZkMlqsl7FcmRwY0ZAgxtIOM54z2HftTbSzFmuxJ5WiXISNyCEGc4HGfbknirGaM1l7SVuW+hr9YqcnJfT5efl5vz13KyWECeVtB/dOzrk+vY+w4x9B6U77IDdrcPNI+wlkQ42oSMHHGehPGcc1PmjNP2k+4fWard3Luvv3KDaYzzQTPf3TSwoyByI8tu6kgJjPTp6fWo7fRI7Z7Ui7uXW2RkRX2YKnqDhc+n5Vp5ozWDpQcuZrU53FN3My30SO2ngkS7uSkAZY4m2FVVuq/dzjgd+1Ph0kW9u9vDfXaQkFUQMv7rJ/hO3P0yTitDNGaSowWy/P/ADBQitkUrbTI7S9e5imlG9FRovlCHAwDgDr75qhJY6lP9svomFrfTiOKIb1zFErE8kq4JO5iRj0GeN1bmaM1SglsONo7Cg8c0ZpM0Zqxi5ozSZozQAuaM0maM0ALmkY/KfpRmkY/KfpQB1fhj/kW7L/cP8zRR4Y/5Fuy/wBw/wAzRXnT+JndD4UZXi//AJCGk/8Abb+S1k5rW8X/APH/AKT/ANtv5LWRXbR+BHJV+Ni5ozSUVoZi5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaM0lFAC5ozSUUALmjNJRQAuaveG/+Rnk/wCvM/8AoYqhV/w1/wAjPJ/15n/0MVFT4GXT+NHZ0UUV553BRRRQAUUUUAFFFFABTJv9RJ/un+VPpk3+ok/3T/KhAecWJ/0KL6VT1+TfpU9hF81zexvBCg9SMFj6KAck/wBSKt2P/HlF9KsZr05K+jPPi7ajLeJbe2igQnbGgQZ9AMVJmkzRmm9RC5ozSZozSAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzSMflP0ozSMflP0oA67wx/yLdl/uH+Zoo8Mf8i3Zf7h/maK86fxM74fCjJ8Yf8f+k/8Abb+S1kVr+MP+P7Sv+238lrHzXbR/ho5KvxsWikzRmtTMWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFq/wCGv+Rmk/68z/6GKz81oeGf+Rmk/wCvM/8AoYrOr8DLp/GjtKKKK887gooooAKKKKACiiigApk3+ok/3T/Kn0yb/USf7p/lQgPNrL/jzi+lT1Ws/wDjzi+lWM16h5qFopM0ZoGLRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALRSZozQAtFJmjNAC0UmaM0ALSO6ohZjgAZJozWVf3DTyC3iBYA8gc5NADG1SfzmZcbD0UjpTv7Wl/55p+tXrDwjqt7hniFvGf4puD+XWuosPBOnW2GuWe6cdm+VfyH+NZSrRjuzSNKT2OOt7rUL2Ty7W2Mj+iITit+z8K6vdANeXSWqH+FQGb9OP1rtIYIbaMRwRJGg6KigCpKwliZP4TWOHS3K1hZx6fYxWkTMyRDALdTRVmiudu+p0JW0OT8Y/8f2lf9tv5LWNmtnxj/wAfulf9tv5LWJmu+j/DRxVfjY7NGabmjNamY7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzWh4Y/5GaT/rzP/oYrNzWl4Y/5GWT/AK8z/wChrUVfgZVP40drRRRXnHeFFFFABRRRQAUUUUAFIwDKVPQjBpaKAMX/AIRPRP8Any/8iv8A40f8Inon/Pl/5Ff/ABraoq/aT7kezj2MX/hE9E/58v8AyK/+NH/CJ6J/z5f+RX/xraoo9pPuHs49jF/4RPRP+fL/AMiv/jR/wieif8+X/kV/8a2qKPaT7h7OPYxf+ET0T/ny/wDIr/41j3EPhS3uZbd7GcvE21tvmEA/nXZVxP8AzFdT/wCvk/yFa0nKTd2zOqlFKyQf8Ul/z4XP/fMv+NH/ABSX/Phc/wDfMv8AjU2aM1ty+b+8y5vJfcQ/8Ul/z4XP/fMv+NH/ABSX/Phc/wDfMv8AjU2aM0cvm/vDm8l9xD/xSX/Phc/98y/40f8AFJf8+Fz/AN8y/wCNTZozRy+b+8ObyX3EP/FJf8+Fz/3zL/jWpY6B4e1CzjurezJikztJkcHgkevtVHNa/hT/AJFq0/4H/wChtWdW8Y3Tf3l07SlZpfcJ/wAInon/AD5f+RX/AMaP+ET0T/ny/wDIr/41tUVh7Sfc29nHsYv/AAieif8APl/5Ff8Axo/4RPRP+fL/AMiv/jW1RR7SfcPZx7GL/wAInon/AD5f+RX/AMaP+ET0T/ny/wDIr/41tUUe0n3D2cexi/8ACJ6J/wA+X/kV/wDGj/hE9E/58v8AyK/+NbVFHtJ9w9nHsYv/AAieif8APl/5Ff8Axo/4RPRP+fL/AMiv/jW1RR7SfcPZx7GL/wAInon/AD5f+RX/AMaP+ET0T/ny/wDIr/41tUUe0n3D2cexi/8ACJ6J/wA+X/kV/wDGj/hE9E/58v8AyK/+NbVFHtJ9w9nHsYv/AAieif8APl/5Ff8Axo/4RPRP+fL/AMiv/jW1RR7SfcPZx7GL/wAInon/AD5f+RX/AMaP+ET0T/ny/wDIr/41tUUe0n3D2cexi/8ACJ6J/wA+X/kV/wDGr1lpdjpy4tLWOI/3gMsfxPNXKKTnJ6NjUIrZBRRRUlBRRRQAUUUUAZmraHb6w0DTyzxmHdtMTAdcZ6g+lZ3/AAhll/z+6h/39X/4mukoq1UmlZMh04t3aOb/AOEMsv8An91D/v6v/wATR/whll/z+6h/39X/AOJrpKKftp9xeyh2Ob/4Qyy/5/dQ/wC/q/8AxNH/AAhll/z+6h/39X/4mukoo9tPuHsodjm/+EMsv+f3UP8Av6v/AMTR/wAIZZf8/uof9/V/+JrpKKPbT7h7KHY5v/hDLL/n91D/AL+r/wDE0f8ACGWX/P7qH/f1f/ia6NnVFLOwVR1JOAKybnxLpVuxQXHnyf3IAXJ/Lj9apVKr2bE4U1uil/whll/z+6h/39X/AOJo/wCEMsv+f3UP+/q//E0yXxLfTcWeniIdnuX/APZR/jVQ3utM/mf2mqt/cEC7f8a0SrPdmbdLoi9/whll/wA/uof9/V/+Jo/4Qyy/5/dQ/wC/q/8AxNRR+INVg4uLOC4HrC5Q/kauReK9POBcpcWp/wCmsZx+YzSftl1GvYvoQf8ACGWX/P7qH/f1f/iaP+EMsv8An91D/v6v/wATW5bX9peDNtcxS+yOCfyqxWbq1FuzRU6b6HN/8IZZf8/uof8Af1f/AImj/hDLL/n91D/v6v8A8TXSUUvbT7h7KHY5v/hDLL/n91D/AL+r/wDE0f8ACGWX/P7qH/f1f/ia6Sij20+4eyh2Ob/4Qyy/5/dQ/wC/q/8AxNH/AAhll/z+6h/39X/4mukoo9tPuHsodjm/+EMsv+f3UP8Av6v/AMTR/wAIZZf8/uof9/V/+JrpKKPbT7h7KHY5v/hDLL/n91D/AL+r/wDE0f8ACGWX/P7qH/f1f/ia6Sij20+4eyh2Ob/4Qyy/5/dQ/wC/q/8AxNH/AAhll/z+6h/39X/4mukoo9tPuHsodjm/+EMsv+f3UP8Av6v/AMTR/wAIZZf8/uof9/V/+JrpKKPbT7h7KHY5v/hDLL/n91D/AL+r/wDE0f8ACGWX/P7qH/f1f/ia6Sij20+4eyh2Ob/4Qyy/5/dQ/wC/q/8AxNH/AAhll/z+6h/39X/4mukoo9tPuHsodjm/+EMsv+f3UP8Av6v/AMTR/wAIZZf8/uof9/V/+JrpKKPbT7h7KHY5v/hDLL/n91D/AL+r/wDE0f8ACGWX/P7qH/f1f/ia6Sij20+4eyh2Ob/4Qyy/5/dQ/wC/q/8AxNXdL8O2uk3jXUM9zJI0Zj/euCMZB7Aela9FJ1ZtWbGqcE7pBRRRUFhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVxJ/5Cup/wDXyf5Cu2riG/5C2p/9fJ/kK6MPuzCvsiXNGaTNGa6TAXNGaTNGaAFzRmkzRmgBc1s+FP8AkWrT/gf/AKG1Yua2vCn/ACLVp/wP/wBDasa/wGlH4jZooorkOoKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKOlABRWXe6/Z2QxsuJ2zjbDEW/Xp+tYlz4t1B2K2mlyRD+/MjN+gH9a0jSlLYiVSKOvqpd6nY2IP2m6iiP8AdLc/l1ripr7ULv8A4+7nUGU/wRQmNfpwOajiFtCcpYzhv7xgYn8zWqw/dmTr9kdHL4shbixs7i5PZiPLQ/if8Koy6trV1wJYLRPSNd7fmeKo/a/+ne6/78t/hUkE6XEKyxklG6ZFaqlBdDN1JPqMezWdg93NNdN6zSEgfQdKnjjSJdsaKg9FGKM0ZqyR+aM0zNGaAH5pOtNzRmgCGSwtZTloFDf3l+U/mKkiN/a/8eup3CAfwyESL+Rp2aZNJ5UEkgGSqlseuBRvuGxdi1/VoOJra3uV9Y2MbfrkVdi8WWXS6hubU9y8eV/MZrJt7HWbm3injtbfZKgdcy9iMjtUv9ka4f8AlhaD6yn/AArGUaTNFKojpbXUrK9x9mu4ZT6K4z+XWrVcTJ4Y1Ofl7bT8+u9gfzAqW30PxNasPs+owxqP4GlZ1/IqazdOHSRoqk+sTsaKx7QeIYyBdf2dMvqrOrf+g4/StdSxUbwA3cA5FYtWNU7i0UUUhhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVw7f8hbU/+vk/yFdxXDP/AMhbU/8Ar5P8hXRh92YV9kSZozSZozXSYC5ozSZozQAuaM0maM0ALmtzwp/yLVp/wP8A9DasLNbvhT/kWrT/AIH/AOhtWNf4DSj8Rs0UUVyHUFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFee6af9BT/eb/0I16FXnenH/Qk/3m/9CNdOH6nPX3RdzRmmZozXSYD80ZpmaM0APzRmmZozQA/NRXXNpN/uN/KnZqO4ObeX/cP8qAOw0U50LT/+veP/ANBFXqz9COdBsP8Argn8q0K8+XxM7o/CgoooqRhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXCyf8hfU/+vg/yFd1XCSn/ib6l/18H+Qrow+7MK+yH5ozTc0ZrqOcdmjNNzRmgB2aM03NGaAHZrf8Kf8AIs2n/A//AENq57NdD4T/AORZtP8Agf8A6G1Y1/gNaPxGzRRRXGdQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5zp5/0Nf95v/QjXo1eb2B/0Rf8Aeb/0I11Ybqc9foW80ZpuaM10nOOzRmm5ozQA7NGabmjNADs0yY5hk/3TS5pkh/dt9DQB2Hh858P2H/XFa0qy/Dpz4esf+uQrUrzp/Ezuh8KCiiipKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuDm/5C+pf9fB/kK7yuCnP/ABONS/6+D/IV0YfdmFfZDs0ZpuaM11nMOzRmm5ozQA7NGabmjNADs10XhP8A5Fm0/wCB/wDobVzea6Twn/yLNp/wP/0NqwxHwG1H4jZooorjOoKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK81sj/AKKv+83/AKEa9KrzOzP+jL/vN/M11Ybqc2I6FrNGabmjNdJzjs0ZpuaM0AOzRmm5ozQA7NIx+Q/SkzSE8GmB2Hho58OWX/XP+prVrI8LnPhqy/3T/wChGtevNn8TO+HwoKKKKkoKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK4G4/5DGpf9fB/kK76uAuf+QxqX/Xwf5CujD7swr7IM0ZpM0ZrrOYXNGaTNGaAFzRmkzRmgBc103hP/kWbT/gf/obVzGa6bwn/wAizZ/8D/8AQ2rDEfAa0PiNqiiiuM6wooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooprkiNiOoBoAdRXDWmo61c2scx1Vl3jOPITj9Kn+06z/wBBdv8Avwn+Fb/V5dzH267HZUVxv2nWf+gu3/fhP8KPtOs/9Bdv+/Cf4UewfcPbLsdlXm8FjqMUew6ZeEgnkRcdTWt9p1n/AKC7f9+E/wAKPtOs/wDQXb/vwn+FaU4She1jOpKM+5nfY9SPTS7r/vinfYdUPTS7j8cf41f+06z/ANBdv+/Cf4UfadZ/6C7f9+E/wrXmn5fiZ8sfP8Cj/Z2rHppc34sv+NL/AGXrB6aXJ+Mi/wCNXftOs/8AQXb/AL8J/hR9p1n/AKC7f9+E/wAKV5+X4jtDz/Ap/wBk60emlt+Myf40v9j62f8AmGY+s6f41b+06z/0F2/78J/hR9p1n/oLt/34T/Ci9Ty/ELQ8/wACsNF1s/8AMPQfWdaX+w9bP/LlEPrMKsfadZ/6C7f9+E/wo+06z/0F2/78J/hSvU8vxC0PM6HQbOaw0W2tbgASxhgwByPvE/1rRrjftOs/9Bdv+/Cf4UfadZ/6C7f9+E/wrF0ZN3ujZVUlax2VFcb9p1n/AKC7f9+E/wAKPtOs/wDQXb/vwn+FL2D7j9sux2VFcb9p1n/oLt/34T/Cj7TrP/QXb/vwn+FHsH3D2y7HZUVxv2nWf+gu3/fhP8KPtOs/9Bdv+/Cf4UewfcPbLsdlRXG/adZ/6C7f9+E/wo+06z/0F2/78J/hR7B9w9sux2VFcb9p1n/oLt/34T/Cj7TrP/QXb/vwn+FHsH3D2y7HZUVxv2nWf+gu3/fhP8KPtOs/9Bdv+/Cf4UewfcPbLsdlRXG/adZ/6C7f9+E/wo+06z/0F2/78J/hR7B9w9sux2VFcb9p1n/oLt/34T/Cj7TrP/QXb/vwn+FHsH3D2y7HZUVxv2nWf+gu3/fhP8KPtOs/9Bdv+/Cf4UewfcPbLsdlRXG/adZ/6C7f9+E/wp1vqGrR6nYxy6iZopZgjIYUXIx6gUOg+4e2XY7CiiisDYKKKKACiiigAooooAKKKKACiiigAooooACMjFc9qeg30hMunatdxN/zyknYqfoc5H610NFVGTi7omUVJWZ51PLqdlKIr691K3c9C05Kt9G6U7zr0jI1S/8A+/5r0CaGK4iaKaNJI26q4yDXOXvhJATJpk5gbr5MmWjP9RXTCtB/ErHPKjJfC7mH5t7/ANBS/wD+/wCajjj8tnYySSO7bmaQ5JP1pbhbiwkEd/btAScB+qN9GpQQRkciuhW3Ri79R2aM0maM0CFzRmkzRmgBc0ZpM0ZoAXNRwi4t4hFDqF5HGvRElwB36U/NRPOiOEGXkbhUQZY/hRYCbzb3/oKX/wD3/NRyXlzGQp1W/LnoizEk/QVpWfh3Ub7D3LfYoT/D96Q/0FdLp+jWOmDNvCPMPWV/mc/jWM6sI7amsac5eRzVho+vXrB59RvbSA9nmJkP4Dp+NdZZ2gs4RGJp5j3eaQux/P8ApViiuWdRyOmMFEKKKKgsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACmyf6p/9006myf6p/8AdNAHCaV/yC4P93+tTTyzxzW6xW/mo7lZX3hfKXaTux35AGB65qDSv+QZB/u/1rO8QLnUdCcW8srR3u5njgZ9iGN1JJAOBkr1/pXfN2+85KMeZ28n+TN7NZ+oao1he6db/ZmkW8nMJkDACM7WbkdSTt9PXkcZ43TbWG0uNPnt9LvIZRq85LCxlXZbt5m0fd+VPmTjgZyexqX7Ps1mxnutNujqkeqyNPdLaSODCQ4QiQKRtwYxjPGOQOaxVVtL1X6eXn+B2LCxjJ3d1Z/r5ne5ozXE6fpqf27c3GpJqRvEmnDL9kVoZoWyVBkEeXXaQNhYkEYA4pfDtpFpmsxL/ZdwtvPE0lk7WrZs1LEtE7bRgnryeOnoS41G2rrczlhopO0r2X9df6XnodLNqjRa9a6Z9mYrPBJKJywwCpUbQOufm9u3XnFsXMLXTWwlUzqgdoweQpOAT9cH8q5jWPsupa9pclxY3k9mtpcFw1lMVydm0Mu3r8jfKR1A4ziuaGnI2kzPd6LcyXU2iJBGzadI7/aF3rydmVP3OTjgDnipdWSvpfc1hhYTim3Z2Xbe/m/vPUc1nw6o0uvXWmG2ZBBBHMJWYYkDFhwB0A29/fjGCeIvtOtGGqCHSr1g2kp5Q+xzHdc/N83K8yDcnzHkc88Guj0uZpvFMspgu1V9OgTzJbaRFLBnYjLKBnDD/INWptyS/rr/AJfiZyw8Ywcr30/y8/U6TNGaTNGa1OMXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc1GP8AkLaZ/wBfI/kafmox/wAhbTP+vkfyND2Y1udtRRRXnnaFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA2SOOaNo5UV0bgqwyD+Fc7feEoiTJpsxtn6+W3zRn+orpKKqM5R2ZMoRluedXUV1pz7L+3aIZwJB8yN+NIGDAEHIPcV6I6LIhR1DKRgqwyDXP33hK3kJl0+Q2kh52dYz+Hb8K6oYhP4jnlQa+E5zNGaW7t7zTWxfW5Rc4EyfMh/Ht+NQCcSSLHCrTSt91IhuJ/Kt001dGDunZk2ajaZRIIkDSSt92OMbmP4VsWXhe9u8PfS/ZYj/wAsozlz9T0FdLYaXZabHstIFjz1bqzfU9aynXjHbU1jRlLfQ5iy8NX95h7yT7HCf4EOZD+PQV02n6TZaYmLWBVY/ekPLN9TV2iuWdWU9zpjTjHYKKKKzLCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACmyf6p/wDdNOpsn+qf/dNAHBaX/wAgyD/d/rVyqel/8g2D/d/rVuvSe5wLYWikopDFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFpi/wDIW0z/AK+B/I06mL/yFtM/6+B/I0nswW6O3ooorzzuCiiigAooooAKKKKACiiigBryJGMu6qD/AHjimfaYP+e8f/fYrA8XRpKmnpIu5Tccg9/lNZH9mWX/AD7J+VbwoqUb3MZ1XGVrHbfaYP8AnvH/AN9ij7TB/wA94/8AvsVxP9mWX/Psn5Uf2ZZf8+yflVewXcn2z7HbfaYP+e8f/fYo+0wf894/++xXE/2ZZf8APsn5Uf2ZZf8APsn5UewXcPbPsdt9pg/57x/99ij7TB/z3j/77FcT/Zll/wA+yflR/Zll/wA+yflR7Bdw9s+x232mD/nvH/32KPtMH/PeP/vsVxP9mWX/AD7J+VH9mWX/AD7J+VHsF3D2z7HbfaYP+e8f/fYo+0wf894/++xXE/2ZZf8APsn5Uf2ZZf8APsn5UewXcPbPsdq09s6lWliKnggsMGoLaLTbIMLZbaHcctswM1yP9mWX/Psn5Uf2ZZf8+yflT9gu4e2fY7b7TB/z3j/77FH2mD/nvH/32K4n+zLL/n2T8qP7Msv+fZPypewXcPbPsdt9pg/57x/99ij7TB/z3j/77FcT/Zll/wA+yflR/Zll/wA+yflR7Bdw9s+x232mD/nvH/32KPtMH/PeP/vsVxP9mWX/AD7J+VH9mWX/AD7J+VHsF3D2z7HbfaYP+e8f/fYo+0wf894/++xXE/2ZZf8APsn5Uf2ZZf8APsn5UewXcPbPsdt9pg/57x/99ij7TB/z3j/77FcT/Zll/wA+yflR/Zll/wA+yflR7Bdw9s+x232mD/nvH/32KPtMH/PeP/vsVxP9mWX/AD7J+VH9mWX/AD7J+VHsF3D2z7HbfaYP+e8f/fYo+0wf894/++xXE/2ZZf8APsn5Uf2ZZf8APsn5UewXcPbPsdt9pg/57x/99ij7TB/z3j/77FcT/Zll/wA+yflR/Zll/wA+yflR7Bdw9s+x232mD/nvH/32KPtMH/PeP/vsVxP9mWX/AD7J+VH9mWX/AD7J+VHsF3D2z7HbfaYP+e8f/fYo+0wf894/++xXE/2ZZf8APsn5Uf2ZZf8APsn5UewXcPbPsdt9pg/57x/99ij7TB/z3j/77FcT/Zll/wA+yflR/Zll/wA+yflR7Bdw9s+x232mD/nvH/32KPtMH/PeP/vsVxP9mWX/AD7J+VH9mWX/AD7J+VHsF3D2z7HbfaYP+e8f/fYo+0wf894/++xXE/2ZZf8APsn5Uf2ZZf8APsn5UewXcPbPsdt9pg/57x/99ij7TB/z3j/77FcT/Zll/wA+yflVe/0+0jsZnSBFZUJBHan9XXcPbPsehg5GR0oqCy/48bf/AK5L/KiuVnQT02T/AFT/AO6adTZP9U/+6aAOB0v/AJBsH0/rVuqemf8AINg+n9ah1nUp9MtBNBZ/aCThmZyscY9XKqzAe4UgdyBzXoydtWcMVc0qK4PVpLq5m8PaqmoQaoW1HZbx2TCO35jkySdzbiCMFs8AHCg5BuT+J9Wmg0trOxtEln1KSxuY5bhsKyb+FYJyDsJyR7Y5yJUv6+7/ADK5f6+//I7CiuPi8Yak7QhtCTEt9Jp4KXoOZV3cjKD5PkOScEc4U8Zhu9QOsTeHbyaBre4g1mS2eJJy6BlSVSRwA33eCVyMnpk5FJO1v6/q6Dla3/r+rHbUVzU+r32lagtl9qtNVkYgi1T93doh/iIXKtnpkiJRxk810gJIBII9j2pp3JasLRSUUwFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFopKKAFpif8AIX0z/r4H8jTqbH/yF9M/6+B/I0nswW6O4ooorzzuCiiigAooooAKKKKACiiigDnfFX/MN/6+P/ZTVDNX/FfTTv8Ar4/9lNZ1dtL4EclX42cxbeJkstc1i01a9GyG5iSEpbsEiR0UrvYAhclsbmIBOcY6C1YarPFqHiD+0rqM21lOgiKx7QiGNWx3LHJ/E9AOBVW/0C/urnWLdDa/YdW2edK0jCSIBAjBUC4bIXg7hjPQ45iufDup3b63lrSD7TcQ3No4kaTDRBNokXaODsGcE9e+OetKm18l+n/BE7GzH4j0uS0uLj7Q6LbMElSSF0kVmxtHlsofJyMDHPbNMh1+11K3uhp7T+dE4hPnWskWyRuAPnUZxkEjsPrWHrVjdJYajquoCzt7qb7NEuydjHCqSZEhkKcEFiclSBgZzzU3hd5bueVi0FwiyfaJb6G6E63EhXYAGWNFyqjBAGB8vcmj2ceVyX9f1/XUT0Vzo/7Sth9oG6Qm2IEv7p+Cfw59eO1JDdxg3bPcF1jlA2mMqY/lXC9MtnOR67sUj2ZOoLcI+1CoEqY++VOUPtjJ/SqVxplxcJqKt9nHnzJLEGJZSVCgBxjodgz16+3LjGk+ttvz16f0jvpww0lZytdK/lqk+nq9OnfUvDVbRhFh3zLIYlHlPkOOcEY+U455xxzSxalbTIjIZMPIYhmJx8w6jkcYwefY+lV/sBNg8UcFtaShxJGIeVDDGCeBnpzx0qS3sTb3Mrhw0bDcqn++Rhifrgfm3rScaNnb8/8Agf1YUoYTllZu68/8lbr+DJ7a9huy4i3/ACgE742Tg5wRkDI4PSsuXxhocF1PbS3ciS28ywzBraUCJmICljtwqnIwx+U9jU1pbX1lbzeTFAWOzy7c3DeWvPzEMVJAweFxjj345Iebr2ueLdHsZtPeC5ljjuJTdZljXykV9sYUhiMEZLDB+lY1bRqcsNv+GMa9OlGbVN3jp5nWnxJpgfUU8yfdp2PtQFrKdmRnj5fm45+XPHPStRHDorgEBhkbgQfxB5Fc1PaW9/4oh+xXysIYwmowxuGyEIaIPg5Vt2eD1UtXS1EdtTnY7NGabRVCHZozTaKAHZozTaKAHZozTaKAHZozTaKAHZozTaKAHZozTaKAHZozTaKAHZozTaKAHZozTaKAHZozTaKAHZozTaKAHZozTaKAHZqrqP8AyDrj/cNWKraj/wAg64/3DQtxPY7Wy/48bf8A65L/ACoosv8Ajxt/+uS/yorz3udy2J6bJ/qn/wB006myf6p/900hnn+mf8g6H6f1q3VPTP8AkHQ/T+tRatq8WkQJJLDLKZHCIse1cknABZyqDrxlhnoMnivRk7HAivqPhqzv9SttQV3tLqGYTNJbxxBpmAKjezISQASAMjr9MVo/CMUdosI1TUDIl619HOfJ3pK27dgeXtIO5uCD14xVDXL7Wra90W6uSYIWvxF9hsnMrTAxuRvYhe4A2/dHJLHjboy+MNOt9FGpXAkgBne28iZ40fzVJBUsXCD7p5LY96hcur2/pf8AAL97T+u//BI4vB8cX2fGsak3kXr3y5EHMrZzn930+ZuP9o+2CLwfHF9n/wCJxqTeRevfDcIOZGznP7vp8zcf7R9sB8Z2b6JFq9rZX13aNHJLI0CIfJWM4fcSwXg54UnOCRkc1B4x10waDqFvp/25rv7C1x5tlsBgTB2sxYjAOD93LYBIxjNKXLFX7f1+g1zSdu/9fqdJaWVrYQ+TZ20NvFuLbIYwi5PU4Hep6w2vtTsrOO6NvBd2QgV5CJvKmTCjP3/kfnnJZMD1pi+J1ungg06ylmuZ4zIizusCADvuOS6/7UauORzgg1o7J2/r+tCFdq5v0VlTfb5bOK2nnSG7nYkvaf8ALJRzwWzuxwuSADn7o6Vi+DfEX2nSdJsrtL03EtmZVurjG2bZgPgk7sjcOSAD1BNLm1sOztc6+iuZ0/xzpGp3Vzb2Zlmkhga4QQlJTMi8HaqMWB5HysFPPTri1H4ntTZX1xcW11ayWcqxS28oQyF2ClAu1mBLblA56ntRzIXK0blFchoV7rF1e+IDGJlmivU2WupMPkUxKdgMZKqMnIIDe4JJNbWn6ybu+msLi1e3vIVBkVXWVOfRlOQPTeEJHQcHAne3mDVjVopKKYhaKSigBaKSigBaKSigBaKSigBaKSigBaKSigBaKSigBaKSigBaKSigBabH/wAhfTP+vgfyNLSRf8hfTP8Ar4H8jSezGt0dzRRRXnncFFFFABRRRQAUUUUAFFFFAHO+K+mnf9fH/sprNzWj4s+7p3/Xx/7KazM120fgRyVfjY7NGabmjNaEDs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs1V1D/kHz/wC4asZqtqB/4l8/+4aFuJ7HcWX/AB42/wD1yX+VFFl/x42//XJf5UV573O5bE9Nk/1T/wC6adTZP9U/+6aQzz3TT/xLofp/WrLoksbRyKHRgVZWGQQeoIqrpv8AyD4fp/WpLu9tdPt2uL25htoFIBkmkCKM9OTxXpSt1OBeRiXXhSMXeny6VLFYRWtwJzb+W7xEhSuEQOqR8MxJC8kgnvmGLwrex2QX+1oheRag9/BPHakKrOW3oyFzuUhmHBB5HpTr/wAVNDd6cbe3KadNcGK4u7tGhCjY7fIGAJGFyXPy46Z527f9q6edO/tD7da/YcZ+0+cvl4zj72cdeKhKOr/rp/wC25af13MPXfC97r9pHDd6nbP+5kjlSSyLRZbGHRPM+V1AOCS2Mmm3vhS+uIZhDq0EUt3YCxuy1mWR1G4KyL5gKsAzdSw56VvHVLD+zv7Q+3W32LG77T5y+XjOM7s468Vj6H4qtr7TVudSvNOt3lu5YINlwNkoVyo2M2N/GOQOc9BScYttf12/UFKSV1/XX9C9DoFmRby38cd7cwqgDSBjGrKMBkjZmCHjqOfer15Y2eo2/kX1rBcw5DeXPGHXI6HBqpca5ZwM4TzLkRPsnNonntC3YOiZcE+wPvirNlqFnqMJmsrqG5jDFS0MgYBh1Bx0PtV6MnVEEOmfZFcWtxJkRFIftDvPsYnJJLNuYfd4yOn5Y2meFb2wl0fzNUt5YdNt5LfaLNlaRXxk58w4Pyr2Pf146nNGaXKv6/rzDmZztp4f1K00WXSU1wi1WFobWRLcrNED93c+/wCbaMDgKeOtUrfwTLFaahB9utIftM0VzH9ksjEsM0e3awUu2QdoJHUknnnjr80Zo5Ve4+ZnP2Xhy4FzqEuqX6XK3sqSslrHJbYZUCYJEpLKQBlTxW1aWdrYWy29nbQ20C52xQxhFGeTgDips0ZppJbCbb3FzRmkzRmmIXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNGaTNGaAFzRmkzRmgBc0ZpM0ZoAXNJD/yF9N/6+B/I0ZpIf+Qxpv8A18D+RpPZjW6O7ooorzjuCiiigAooooAKKKKACiiigDnPFn3dO/6+P/ZTWXmtTxb9zTv+vj/2U1k5rto/Ajkq/Gylq+r2+jWiXNykzo8yQgRRliGdgoJ7AZPU4/MgG/mvM/FmoWzXepJqmpPa3Fte2n2O2e6MSSQb4yX2ZAk535JBxt7Yq/c3lzc+NZYpfEMenGCaFrS2ZXJuoWUZCASBHy28E7GI9Rxhxld/12E42R1UutRx6otjHaXc5DKks0KBkhZhlQ/O7kdwCBkZIq9FP5skyeVInltt3OuA3AOV9RziuR8MHTf+Ex8Si2vjLcCdf3f215OPLTcdhYjhsrnHH3eBxUmo36INVUak8TR3cOwi5IKZ27gOen3uOnB44rOdbkUW+t+xnVlyf15XOvzVW2v4rue5hjWQNbuEfeu3Jxnj2561zzah5MGrQ2168iQzx5cSmR442C72BJJ4+b6c1DHdxwQa2dNvPNAliYyCUzsse1QzZ3biAM9+3Ws3iVddrP8Ar/gmTq6r+u/+R2OarXt9FYxoXV3eRwkcUYy8jHsB+ZJPAAJOBXOkA6ciQ659ouGuP9FaKVwrNwTGx3ksvrk5GfoKh0m7juvEGnMJ3kUWlwHDyFyk++PcMknAx09s+9aQrKUuW1vmv6/4dPqVGpd2/r+uvodjmjNea2186+FdZ1HT9YubqSC9khLm6e5EFt53J2hsnCZO7O7HRgMYsx3gs9MtI5/EwvdJmvitxfW8rosCbCVj84yOwBfHzF8jOMjitFO/4fibuFv67HoOaM15zaagINN0y/bVrj7FDrc8LXEt65QwEyBd7FsMuQmC2cfjUQ1mRvDWLfWGW0GszW9xdyyySmCEs/l7mEiuq52DduHBHOOpzr+vl/mHJ/X3/wCR6Xmqt7qEFhA00xPlx4MrKM+Up/iYdQvv269ASOD1O6NnoumCTxEupKFlx5N7JaS3Q3DBhdWPmuvChWJ3eua1dDisbfxb4mje4cXEjpJ5MtyxLRmJNzbC2MbuM446DA4ocv1/BXDl6/1vY7AMGAIOQeQRS5rm/CzRDSNJWe4IvvsK7YDO2TFkYby84PG0bsZ5xnmuizWhA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzRmm5ozQA7NGabmjNADs0ZpuaM0AOzVa//wCPCf8A3DU+ar35/wBAn/3DQgex3Vl/x42//XJf5UUWX/Hjb/8AXJf5UV5z3O5bE9Nk/wBU/wDumnU2T/VP/umkM8807/kHw/T+tJe6fb36p5odZIzmKaNirxn1Vh+o6HoQRxRp3/IPh+n9atZr0mrnnpnLavpOqt/Z8jyf2vDZXqXAiaGNJ2AVxktuWNiCwI+VcAdSetdtG1KBE1GCz3OdVN++nCRQdhj2EZzt3g/P1xuzyep7HNGanl/r7v8AIrm6f1/WpxjaPqMTJqUNg5Dat9ufTfMQMFMezOd2zfu/eY3Yz3zRbaZdf8IxqP2izbTrqG+mv7RpjG2xi5dD8jN2O0j3I5rs81BcWdrdvC9zbQzNC/mRNJGGMbeq56H3FHJbb+tv8h8/f+v6uZ8NlqbWEQF4lpcTEy3bLCJHDN2Qk7Rt4UFlbgDirdjpsFiXkDSTXEgHm3EzbpHx79AOSdqgKMnAGauZrM0rXbLWpLxbJndLWQRtIVwrkqGyp7rg9eh7ZHNPS5OtjUzRmqUmrWMWqw6W1yn26aNpEgHLbR1J9B9evOOlWIp4Zw5hlSQIxRtjA7WHUHHQj0pgS5ozVOPUYZdTn09VlEsMayMzJhSGJxgnr07cfjnFvNOwNNbi5ozWRL4htIftG6K5/cXKWzYiPLtjB9l+YcnAPbORnWzRZlShKPxL+v6YuaM0mazrXWIbyGKWG3umR7hoOYsFCu7LMDyo+XHPPI4oSbEotq6RpZozSZozSJFzRmkzRmgBc0ZpM1l6nr9jpemzX7s9xDCXDi2XzGBUHcMDpjBBz074pNpasaTbsjVzRmoopllgSYZCuoYZ7AjNU7TXNMv7F722vYXtUkMRm3YTcDjAJ4PPQjg9qb0dhbq5o5ozSZozQAuaM0maM0ALmjNJmjNAC5ozSZozQAuaM0maM0ALmkg/5DGm/wDXwP5GjNEH/IY03/r4H8jSlsxrdHeUUUV5x3hRRRQAUUUUAFFFFABRRRQBzfi37mn/APXx/wCymsitfxd9zT/+vj/2U1j120fgRx1fjYtFJRWpmLRSUUALRXGx+JNZh0i9v7pLKbybtrGKOCIqXfzhGHO6TAHP3c9vvDPEdxqXil10lbgQ6bLLqXkNvhDiaPy2ZSVWVtvKkEbjnAOQODKkna3l+Jbi1/XY7aq15Yw3yRiTcrxP5kUqHDRt0yD9CRjoQSDkGuatvEOqv/Z/nGzbzdVm0+fZCy7gm/ay5c7T8nIOevbFVn8QeI00e61DdpTfZ782Yj8iQebiYR7s7zs69MN0zznAFJP+vT/NByP+vn/kzt6KxtF1C9urrU7O+MDTWU6xiSBCisrRq44LE5G4jr27VjR+JNZh0i9v7pLKbybtrGKOCIqXfzhGHO6TAHP3c9vvDPBzIXKzodG0hdGgniS8ubkTTPOzT7MhmOWxtVeCSTWjXHNrXiiKPT1uLKztp7m+NriZPvoULLIAkr7SNpBUls+q5qaHxFfzWFtBi1GpXGoTWIlMbeSPLL5fZuz91Pu7up60KS2X9bDae7OnhuIbhWaGVJArFGKMDhgcEHHcHjFR3tml/b+RK7iJiN6ocbx/dPse4HXp0zXD6RqF3ofhxbW0tYZLyfV7m2jSCNVjUh3YlUZ1GMKcLvHXqe+kmr+JnvtKs5rexs57uCZpVmQuYzGy/MNkhBDBh8ufl/vHGClJSS87flcHFp/edcAFAAAAHAAopO3WuK03WtZS3MNxeWs91d6rNZwStbFUiCFySQH+YYTAUEH1J61TethJXVztqKydE1G6vPt1vfJELmyuDA8kIIST5VYMASSOGGRk4Pc1W1XUNWi8Rafp1g9ksV3BK7NPE7MhQryMMNwO4DHGOuT0ovt5hZ6m/RXK6dr2tajrLeTpYbSVmmgaUlAUKEruz5hJyy42+WMZ6nHNF/E+tppd1cBrEXlvNbpJZT2csLx+ZJsKklyCOQRIuQcHg9lzL+v68x8r2O4ork5vEeo6bJqNpfLaS3ULW/2eWFGSMidti7wWJG1gSeeRjpUOpeIdc0xb23ZbCa7tXtnWQROkc0cz+XtxvJRgQecsMdqOZBys7KiuPn8Qazbx38UiwNJZ3iRS3MFlJKqRNEH3GIPuOCcEg++KS68Sa281vbaRZQahOtpFdTPFtEcockYUvKpQfKcNh+o49TmQcrOuaaNHRHkRXkJCKSAWIGTj14GaEmjlaRY5Edo22uFYEqcZwfQ4IP41z9rAut3Wtm5UqyTCzTcMlIwiMQPqxJPrgegqG71a9sv7We1isvMgv4IuYmXzVkEY+Yg/eG8Ddg8L0pOdrXNKdL2l1F6nU0xJo5HkRJEZ4yFdVYEqcZwfTgg/jXPnXLy3gv45xbyXcF3FaxMiFEJkCFSQWJ4388847VQtLufRBr8rRwS3Jv4kAgj8tGeRIwDtZvVsnLcnPIzmp9qrrsXHCyaffS3nt+Gp2VGa5mbU/ENvpBvJ7OCN4J8SxMgLzREjlAspAfkgKWOT9cVqafK2paMst21tcJcoTiNPkKEcKQSc8de1P2id7dFciVFwXM2rXtpqX4po7iFJoZEkicZV0YEMPUEdafXG+Gr3UI9M0ixLWyx3GnO8BEbMY2TYAW5G4HdnAAx0yetLpWq69Nb6PEbmyla+s3nMkkDBkK7euHw2d2MDb6+1L2y7Gs8JJOSTWn/B8vI7HNRLdW7W63CzxGB8FZA42nPAwenOa5zTdYvNU+wR38FobbUrKSXylUnbt2ggknDAh+mOOmT1qXwzYQz+HtLnlVXB08QFGXIKnBIP5U1Pmdl/X9aEToezi3N63/z/AFTOjorG8NTO+mywOzN9kuZrZWYklkRyF5PJwMDPtWxWi1V0c70dhaKSigQtV77/AI8Z/wDcNT1Xvv8Ajxm/3DTQM72y/wCPG3/65L/Kiiy/48bf/rkv8qK817netiemyf6p/wDdNOpsn+qf/dNIZ51p/wDx4Q/T+tWc1V0//jwi+n9as16bPOWwuaM1FJPFC0ayyohlbZGGYDe2CcD1OATj2qSgYuaM0lRxTxXCs0MqSBWKMUYHDA4IOO4PGKAMLVNFnmvnuZbaLWLZutpdSlRGBz8iHMTn03BT6vg8cleavaxX2u6iNTeyuItRswLY3iqF4jVw4RsNwHBBJA2nGMGvTqKjk1uv62/yLU+5zeq39mnjTw/E13AsjxTlUMgBO4KFwM9yDj1xTtR02fVL93g0qKzlU7DqMk5jmKjptELBmT2Z0+hxXRUU+UXMcXrMsVvqGph9WkFxbaUmGE6xu0gLlS23HPK8cA7hxyKn1O9lu7+BP7Zj0+CS1Sa3m+YrI+TuwQ6qx+58pDdenWutorVTtY6ViUktNl5dvQ4rUNQsx/bga7gDf2hadZAOnlZ4z22tn02n0q1qV67XWor9slh1CIodOiSUqsylQRhc7ZMtuB4OB6V1dFCkv6+QfWY6e7/Wnl5a+pka9ctBFZCaZoLSScJdTI5TYu0kfMCCoLBRnI6+9YmlzRCLT/sl48ijV54mKXBYOh8xhu5+bOFOTn1712VVJdPWe+iuZZ5XWFt8cJ27FbBG7gbs4J6nHPSlGSQqdeMYcjX9a/5/gc1BqtufEDI+oOltLHcpMJr4hlZWHVOBFgbtuDkgZOCKboGoAz6Kp1V55ruykMyy3G/5wV2/LnAI+YdMnBznmuypCMgg5wfQ4p8ytYp4mLTXL+Xb0/qxxFheyzxyXFneyTXsVk7CJr/zfPmxw6xBzgdflKjGRxxWxo9xHLqaHTr6W6sntt0/mTNJ5cmRt+8SVYgtle2OgrQttJWCSFpLu4uRB/qVm2Yj428bVBJwSOSa0KJSXQK2IhK6it/67fd/kYms6Rc3tys6iK9hC7WsLqZ4oT7naCG+jo3OMFe+ZrVzCfCestJa/wBmw2unyWyQSmNQjMvCjYxXkbMAHviuuorCULpruc0Z2afY47wzqFsviKSwg1c3iPpsE+17rzfny24qM4X5dpwoA5HFT+GtRtrjTtae02ajjUJyYbeSNi6s3H3mC4Iz1IzXVUVTV3f1/F3Jvp934IwNJ0ae1vRcJFFpdsoIFjaTM6MPUqQET3CLnI++QSD0GaSimlbQTdxc0ZpKKYC5ozSUUALmjNJRQAuaM0lFAC5pbf8A5DGm/wDXwP5Gm0tt/wAhjTf+vgfyNKWzGt0d9RRRXmneFFFFABRRRQAUUUUAFFFFAHN+Lv8AV6f/ANfH/sprFzWz4v8A9Vp//Xx/7Kaxc13UfgRx1fjYuaM0maM1qZi5ozSZozQBlReG9Ki027077PJJaXZZpo5p5JdxbknLMSDnnIxzz1pX8O6bJaJbOty6pKJkdryYyq4GARJu3jgkYz3NamaM0rIfMzHk8LaRJeC6aGcSif7Qu27lVVk7sFDYBOTnA5zzTf8AhFNINhJYmO6NvJP9odTfT5Mmc7s789eevXnrW1mjNLlXYOZlGy0ey066urm3WYTXTBpmkuJJNxAwDhmIHHHHYAdqgi8N6VFpt3p32eSS0uyzTRzTyS7i3JOWYkHPORjnnrWrmjNOyDmZkt4a0xxbbxdubaXzoma+nLB8YySXyeOMHIAJ9TTV8L6Qlk1oIZjE0/2nLXUpdZc53q5bcp68gjqfWtjNGaOVBzMx18LaOunvZeRM0Dzi4+e6lZ1lznerltytnnII6n1qRfD2nR3drdqtybi1VlidryY8E5O7LfNnjJbOcD0FamaM0WQXZkrc+It4DaXpQXPJGpSE4+nkUsnhrSZUuEe3crPMLhh58gCyg53p837tsknK4NahIAyeKXNFl1C/YzDb3el28cGjWNrMhLNIbq9kRix7ltjlye5J9Kig02S91KLUtVs44Ly2GyA2uoTSLtP3srtReeOxzgegrYzRmiwXM6PQdNh1Ca9ihkSWZzJIqzyCNnIwWMe7ZuwOuM1kaz4W36HLY6REpkmkh3vd3024JG4YKrnew6EADAG4ke/UZozScVaw1Jp3MyLQNOGm3FnNa+bHdAfaBNM8zOcAcu5LHGOPTtio5PDGlTWLWckdw8TyLK7G8mMjMv3cvv3EDjAJwMCtfNGadl2FdmM3hbSmnmnxerLNIJJHTUJ1JYDbnIfjg447Y9BU0/h3S7h7ZzbvE9tF5ETW8zwkR8fISjDK8Dg5FaeaM0WQczKMVg9rqst1bsgguQPPiIxhlGA6kewCkH0BGMEGKfw9ptwbgyRzn7RKs0uLqUbnX7p4bjHHT0HoK080ZpOKe6KjUlF3i7Gd/YOmlbxWhkcXhDTiSeRtxHQjLfKRgYIxjA9BTU8PaYsF3C0Mssd4AJxNcSSb8DAPzMcHAHI54HoK080Zpckew/bVP5n/AF/wyKSaRZxmAgTs0MhkRpLmRzuIxkksc8cYOcVHbaHY2cTR24uY0YuSou5cZf7x+91757HJGDWjmjNPkj2D2s9rmbbeH9Ns5bWSCOZWtUMcINzKwRT1GC2COnX0HoKji8NaXC8bxJcoYkaOPF5MAit1CjfgDp09B6CtbNGaXs49h+3q/wAzMqLw3pkPkeUlwn2eJoosXkw2I3UD5v8AOB6DFmGyGm6WLTS0VfLXbCs8juq/Ukk4Hpn24q5mjNNQitkKVWctJO5X0+zTT7JLdGL4LMzt1dmJZmP1JJ/GrOaTNGaozFzRmkzRmgBc1Ben/Qpv9w1Nmq97/wAeU3+6aEJnoFl/x42//XJf5UUWX/Hjb/8AXJf5UV5r3PQWxPTZP9U/+6adTZP9U/8AumkM840//jxi+n9ar6xPqMFqH06KN2z87MhkKL6iPcu7vxuB9Ax4qew/48Yvp/WrNelJXPPTscDqLQXOoaLNa6k15qyX6p/pyeW9urRycGEKpUcZ5ALYHzYwRrJ4h1Hb9gkW1XUTqDWKziNvJOI/N37N2fu8bd3XvW9f6da6nCsV0jkI4kRo5GjdGHdWUgg8kcHoTVeTQdMl05bB7bMCuJRh2DiQHO/fndvzzuzn3qFFq/8AXb/ItyTt/XcyB4h1Hd/Zrx2q6mb82Qn2MYSPL83fs3Z+5xt3de+KzNIuNQ0Tw20sBsI7e31WdL3Fu2xIvNILRqGG0D0OcD6c9S/h/TJNPSyeBzEkvnK3nP5gkznf5md+73zntUH9iLYWEtjpcCmG7djcNdXUkhXcPmYBt24nOcEgHuaLSTv/AF0/phzR2/rqVrm+WWN57rWGsw0zrYmzX97KowGHltvEpyDjCdORjNaGi3GpXEUjX0a+Xn9zIYjC7j3jLMV/Eg9cquOb9vBHa28VvCoSKJAiKOwAwBUlWlYi90LRSUUxC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC062/wCQzpv/AF8D+RplOtf+Qzpv/XwP5GlLZjW6O/ooorzT0AooooAKKKKACiiigAooooA5rxh/qtP/AOvj/wBlNYea3PGH+psP+vj/ANlNYWa7qPwI463xsXNGaTNGa1Mhc0ZpM0ZoAXNGaTNGaAFzRmkzUE93Db4EjEE9ABQBYzRmsuTWFH+riJ92OKqSancv0YIP9kUAb5YAZJAHvVaTULaPrKCfRea595HkOXdmPuc02ldDszYk1lR/q4ifdjiqkmqXL9GCD/ZFUqKXMFh7yySHLuzH3Oa6WJ/MhR/7yg1y9dFZHNlF/u1Sd0JqzLOaM0maM0ALmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5ozSZozQAuaM0maM0ALmjNJmjNAC5qC9P8AoU3+6amzUF5/x5zf7poA9Csv+PG3/wCuS/yoosv+PG3/AOuS/wAqK817noLYnpsn+qf/AHTTqbJ/qn/3TSGebWH/AB4xfT+tV9Y1GfTbUSwWnnknDMzFUjHqxVWYD3CkDvgc1Ysf+PKL6f1qxXpyXY85GJbyz3tj5rapbXsd4whj+xoBEFydxDZYs2AwzkDgfKDnOL4c1GXS2Fj9jJs59XurZLh7gs+/c7Dgglh8uCSwOex611Q0yzXUjqCQRpcsu15FQAydANxxk4AwOeMmsiLwlHF5H/E31FvJvGvRnyeZGznP7vp8zcf7R9sRZ8yf9bou6s0/63KFp4o1sJGbnS7SYz6lLYx+TdlSpXdjIZOnyHJznuB2q3Z+Krq4ntUn0pYYpr2Sxd1ud+2VN/KjaNyfIeTtOe3epm8KRfakmTVL+OOO8a9SBfKKLI2d3JjLYO5uCe9Nj8JRx+RjV9Rbybx70ZEPMjZzn930+ZuP9o+2FFT0v/W3/B/AcnDp/W//AACDw7BKmh3yWt4bZodSuiJJh5oIEjff3HJHqdwPHWtDRdYm1KV4ytvcQoPlvrNy0Mh/EcH2VnxggkHGVsfDtnaWkltcO+oRvctdf6ZHG22QnJIwoA5JPtmtiqimkr9l+RMmm2LRSUVRItFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtFJRQAtPtP+Qzpv8A18D+RqOn2n/IZ03/AK7j+RpS2Y47o9AooorzT0AooooAKKKKACiiigAooooA5rxj/qbD/r4/9lNYFb3jH/U2H/Xf/wBlNYGa7qHwI463xsWikzRmtjIWikzRmgBaKTNGaAFrN1dcxxv6EitHNUdU5tB7MP60AY1FFFZlhRRRQAUUUUAFdDZDFlF/u1z1dJCuyFE/uqBVR2Je5JRSZozVCFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNU7+68iLap/eN09h60AXc5orm0nlj4SRlHoDUqXV3IwRHdmPACjJNK6DU36gvWAtJckDKmpbHwvrV/hpna2iPeVjn/AL5/xxXS2Pg3TLXD3Ae6k9ZDhfyH9c1Eq0I9S40py6G1Zf8AHjb/APXJf5UVMAFUAAADgAdqK89nchabJ/qn/wB006myf6p/900Aea2P/HlF9KsVWsf+PKL6f1qxXqM85C0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlFAC0UlISACScAUALkZIyMilrnpLqQ3LyoxUk9vSn/ANo3WP8AWf8AjopXQam9TrNl/tvTlyM+eDjPsazdN07Vdbk2wlxGDhpGOFH+P0ru9H8NWWkgSAedc95nHT6Dt/Os6lSMVbqaU4Sk79DZooorgO0KKKKACiiigAooooAKKKKAOY8ZkLb2JJAAn6n/AHTXOfaIv+eqf99CvRLi1t7tQtzbxTKDkCRAwB/GoP7G0v8A6Btn/wB+F/wrop1lCNmjnqUXKV0zgvtEX/PVP++hR9oi/wCeqf8AfQrvf7G0v/oG2f8A34X/AAo/sbS/+gbZ/wDfhf8ACtPrMexP1eXc4L7RF/z1T/voUfaIv+eqf99Cu9/sbS/+gbZ/9+F/wo/sbS/+gbZ/9+F/wo+sx7B9Xl3OC+0Rf89U/wC+hR9oi/56p/30K73+xtL/AOgbZ/8Afhf8KP7G0v8A6Btn/wB+F/wo+sx7B9Xl3OC+0Rf89U/76FU9SmRrYKrqx3DgHNek/wBjaX/0DbP/AL8L/hXH+N4bO0NnBbWsELtudzHGFJHAHT8aqFdSdkiZUXFXbOQoooqiQooooAKKKKAJbdQ1wgYgLnkk1u/aIv8Anqn/AH0K0PBWjQ3Mc97dwRyx/wCrjWRAw9ScH8P1rrf7G0v/AKBtn/34X/ColXjB8tio0XJXucF9oi/56p/30KPtEX/PVP8AvoV3v9jaX/0DbP8A78L/AIUf2Npf/QNs/wDvwv8AhS+sx7FfV5dzgvtEX/PVP++hR9oi/wCeqf8AfQrvf7G0v/oG2f8A34X/AAo/sbS/+gbZ/wDfhf8ACj6zHsH1eXc4L7RF/wA9U/76FH2iL/nqn/fQrvf7G0v/AKBtn/34X/Cj+xtL/wCgbZ/9+F/wo+sx7B9Xl3OC+0Rf89U/76FH2iL/AJ6p/wB9Cu9/sbS/+gbZ/wDfhf8ACj+xtL/6Btn/AN+F/wAKPrMewfV5dzgvtEX/AD1T/voUfaIv+eqf99Cu9/sbS/8AoG2f/fhf8KP7G0v/AKBtn/34X/Cj6zHsH1eXc4L7RF/z1T/voUfaIv8Anqn/AH0K73+xtL/6Btn/AN+F/wAKP7G0v/oG2f8A34X/AAo+sx7B9Xl3OC+0Rf8APVP++hR9oi/56p/30K73+xtL/wCgbZ/9+F/wo/sbS/8AoG2f/fhf8KPrMewfV5dzgvtEX/PVP++hR9oi/wCeqf8AfQrvf7G0v/oG2f8A34X/AAo/sbS/+gbZ/wDfhf8ACj6zHsH1eXc4L7RF/wA9U/76FH2iL/nqn/fQrvf7G0v/AKBtn/34X/Cj+xtL/wCgbZ/9+F/wo+sx7B9Xl3OAe6hRC3mKcDoDyapW2k6nrMxkgtnZWP3zwo/E16YNH0xSCNOtAR0IgX/CroAAwBgCplidNENYfXVnGaf4DjXD6hclz/zzh4H5n/CuostMstOTbaW0cXYkD5j9T1NW6KwlUlLdm0YRjsFFFFQWFFFFABTZP9U/+6adTZOY2A9DQB5nZf8AHnF9KsVDbW95Fbojade5A5xA1S+Xd/8AQOvv/Adq9S67nnWYtFJ5d3/0Dr7/AMB2o8u7/wCgdff+A7UrruFmLRSeXd/9A6+/8B2o8u7/AOgdff8AgO1F13CzFopPLu/+gdff+A7UeXd/9A6+/wDAdqLruFmLRSeXd/8AQOvv/AdqPLu/+gdff+A7UXXcLMWik8u7/wCgdff+A7UeXd/9A6+/8B2ouu4WYtFJ5d3/ANA6+/8AAdqPLu/+gdff+A7UXXcLMWik8u7/AOgdff8AgO1Hl3f/AEDr7/wHai67hZi0Unl3f/QOvv8AwHajy7v/AKB19/4DtRddwsxaKTy7v/oHX3/gO1Hl3f8A0Dr7/wAB2ouu4WYtFJ5d3/0Dr7/wHajy7v8A6B19/wCA7UXXcLMWik8u7/6B19/4DtR5d3/0Dr7/AMB2ouu4WYtFJ5d3/wBA6+/8B2o8u7/6B19/4DtRddwsxaKTy7v/AKB19/4DtR5d3/0Dr7/wHai67hZi0Unl3f8A0Dr7/wAB2o8u7/6B19/4DtRddwsxap6lN5dvsB+Z+Pw71b8u7/6B19/4DtS23hzUNZu90kT2tuvG6ZSD+C96HJJXbGot6JHOQwy3EqxQxtJIxwFUZJrtNF8EgbZ9UOT1ECn/ANCP9B+ddBZ6bpnh2zeVQsaqP3k8nLH8f6CsO48Q6leTmSydbW2HCCSMM0nufSufmlPSH3m3LGGs/uOuiijhiWOJFRFGFVRgCn1yCeIdYj+/FZzD23Kf8Ksp4slX/X6VKPeKUP8ApxWTozNVWgdNRWCni7TD/rhcwf8AXSE/0zV2HX9Jnxs1CDnsz7f51DpyW6LU4vZmjRTI5Y5V3RyK49VOafUFBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5d4svRe+IJ9pykOIl/Dr+ua9C1nUF0vSp7okblXCA92PSvI2YsxZiSScknvXRQjvIwrS2iJRRRXQYBRRRQAVNaWst7dxW0K7pJGCgVDXf+DNDNrB/aNwmJpRiIH+FfX8f5fWplJRVxxjzOx0lhZx6fYw2kX3I1xn1Pc/ias0UVwt31O1K2gUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVXUNQttMtTPcvtXoAOSx9AO5qDVtYt9JhBfMk7/AOrhX7zH+g964+WSe9uvtd64eb+BB92Meg/xranSctXsZVKqjotyS8urnV7gTXY2QqcxW4PC+7eppc03NGa7EklZHI227sdmjNNzRmmA7NRvFFJ9+NG+qg07NGaAIPsFtu3LHsb1Qlf5VMjXcP8AqdSvE9AZdw/I1HcSvDC0iR7yO2ccVo2Gg3uo28dwdQgjhkGV8hS5x9TjBqZSileQ4pt2iRpq+tQ8i+jlA7SwgfqMU4eM7yFgs1tazt/dgkYE/wA614fCWmoQbgz3Tf8ATWQ4/IYrWt7K1tFxbW8UQ/2EArnlUpdIm8YVO5m6drdzfNhtGvIRx8zYA/8AHsZ/CtmiiueTTeisbpNbsKKKKQwooooAKKKKACiiigAoorA8U66NJsvJhb/S5hhMfwD+9/h/9aqjFydkKUlFXZzPjPWBe34soWzDbn5iOjP3/Lp+dcxQTk5PWiu1JJWRxttu7CiiimIKKK6Hw54Zk1aQXFwGSzU9ehk9h7e9JtJXYJNuyJfCvh06lOLy6T/RIzwD/wAtD6fT1/KvRsYGBTIoo4IliiQJGgwqqMACn1x1JubOuEFFBRRRUFhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVja1r0enf6PbqJr1hwmeEHq3+FVdb8ReS72WnMrXA4kmPKxf4muWSe3hYjzTLM5yzfeZzXRSo396Rz1K1tIlkK7zPcXEhluH+9I38h6Cn5p0Nnqd1j7PpswB/imxGP15pb3TtS0uNbi7WFrcnDGEkmM9icjpXTzRva5hyytewzNGaaCCMjkUuaokXNGaTNGaAFzRmkzRmgBc1Lp2oy6JOWRTJZOcyxDqh/vL/hUOaM0mk1ZjTad0d5bXMN5bpPbyLJE4yGFS159aXN1pc5msWGGOZIG+4/8Agfeut0vXrTU/3akw3I+9BJw34eorjqUXHVbHXCqpaPc1KKKKxNQooooAKKKKACiiigAoorK1vXrbRYMyEPOw+SIHk+59BTSbdkJtJXY/WtZg0azMshDStxHHnlj/AIe9eWXl5Pf3clzcPukc5J9PYe1P1DULjU7trm5fc7dB2Ueg9qq12QgoLzOSc3JhRRRVkhSgEkADJNaOl6Hf6s4FvERHnBlfhR+Pf8K77RfC9lpO2Ujz7n/no4+7/ujt/OonOMdyowctjA8P+DnlK3WpqUj6rB0Lf73oPbrXdIixoqIoVVGAoGABS0Vyzm5vU6oQUVoFFFFQUFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVLUrW5vbcwQXf2VW++6rlseg5GPrV2imnZ3E1dWMC18H6TbgeYktwRz+9c4z9BgVsW9nbWi7be3iiH+wgFT0U5TlLdiUIx2QU2REljaORQyMMMpGQRTqKko4fVtHl0Z2mhDSaeTn1aH6+q+9U1YMoZSCD0Ir0MgMCCAQeCDXL6n4XaNmuNK2rnlrZjhT/ALp7H26V1066ekjlqUbaxMXNGaiEuJWhlRopl+9G4wRUma6TAXNGaTNGaAFzRmkzRmgBc1HJEkuNw5HIYcEfQ0/NGaAL1nr+pWGElxewj++cSD8e/wCNb9l4k0y8ITzvIl/55zjYf8D+dclmmuiSDDqGHuKylRjLyNI1ZRPRgQRkciivOYDPaf8AHndzwD+6r5X8jxWhF4i1mHAZra4Hq6FT+nFYPDy6M2VddUdtRXKp4vmH+u0tvrHMD+hFTr4xtf47G+U+yKf61Doz7F+1h3OjoJAGTwK5iXxzpsatiG6LjopQDn865TV/E1/q26Mt5Nuf+WSHr9T3pxoSb10FKtFbanT654yhtA1vpxWafoZeqL9PU/pXBTzy3UzTTyNJI5yzMck1Pa6Xf3uPs1pNID/EEOPz6Vt2vgfU5sGdobcdwzbj+Q4/Wt0o01YwblN3OZoAJOAK9BtPAlhFg3NxLOfQfIv9T+tb1npGn2GPstpFGR/FjLfmeal1orbUpUpPc850/wAL6rqBBW3MMZ/jm+Ufl1P5V1umeC7Cz2yXRN1KOzDCD8O/4101FYyrSe2hrGlFb6iIiogRFCqBgADAFLRRWRqFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFO/0uz1OPZdQK+Put0Zfoetc3d+F762y1jMLmP8A55yna4+jdD+OK7CitIVJQ2IlTjLc82ld7Z/Lu4Zbd/SRcA/Q9DTgwYZVgR6ivRZI0lQpIiup6qwyDWRceF9JnJZbcwOf4oGKfp0/St44ldUYOg+jOSzRmt2Xwew/499TkA9JYw36jFVX8L6un3JrOQe+5T/I1qq0H1M3SmuhmZozV0+H9aX/AJd4G+k3+IpP7B1o/wDLpCPrMKftIdxckuxTzRmr6+G9aftZp/vSMf5CrEfhK/f/AF2oQx/9c4i38yKTqwXUapzfQyM1HJcRRffkUH0zzXTxeDrMc3F1dTnuN21T+A/xrSttB0q0OYbGEN/eYbiPxOah4iC2LVCT3OGhN1ef8eVlPOOm8Lhfzq9H4V1q8/4+JYbVD1UNk/p/jXeUVk8TLojRYePVnK2vgSwiwbm4mnPoMIP6n9a2rXQ9MssGCyhUjoxXcfzPNaFFZSqTluzRU4rZBRRRUFhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9kA" alt="" />

图片出自  http://www.cnblogs.com/fnng/p/4373108.html

1、创建工程:

django-admin startproject helloworld

完成之后会出现一个项目总文件夹。在总文件夹下面有两个文件,分别是项目同名文件夹helloworld和manager.py。

2、创建应用:

python manage.py startapp blog

创建完成后会在当前路径下出现一个blog文件夹。功能具体实现都在blog文件夹中。

3、配置映射关系

进入helloworld 中的url.py文件中,修改标记的部分。

  1. 从应用文件夹blog中引入views模块
  2. 将http://ip:8000/test路径绑定到views下的test函数上。

注意:本篇配置文件中的美元符号“$”,是vim配置,非配置项。使用vim做为python编辑器时方便查看tab和空格的配置。

4、完成处理函数

  1. 从django.http中引入HttpResponse模块,方便返回html格式的字符串。
  2. 定义函数test,返回由模块Httpresponse处理过的字符串hello world。

5、运行服务

python manage.py runserver 0.0.0.0:

使用如上命令开启django服务,运行之后的输出如下 。

由于我是在没有界面的ubuntu1604系统中完成,不能通过该系统访问django服务。所以这里在python manage.py runserver 后面加上了0.0.0.0:8000 表示接受所有主机的访问。并且还有修改helloworld/setting.py文件中让配置上接受所有的主机访问。

如果是django服务在本机开启,而本机也能够通过浏览器访问,那么直接使用python manage.py runserver。

6、浏览器访问

五 总结:

本篇只是最简单的Django学习笔记,为了方便没有使用过的童鞋快速走通整个流程,最大程度的简化了操作步骤,有些必配项也未处理。如果想要深入学习建议前往《Django 自强学堂》。

Django学习笔记

url.py中要引入view.py中的处理函数,用来映射url。from app import views

view.py中要引入model.py中的数据库建表模型,用来在处理URL请求时建立数据表。 from model import 表名 。

Django 初识的更多相关文章

  1. Python自动化 【第十八篇】:JavaScript 正则表达式及Django初识

    本节内容 JavaScript 正则表达式 Django初识 正则表达式 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  2. Web框架的原理和Django初识

    一.Web框架的本质 1.本质 实际上Web应用本质上就是一个socket服务端, 而用户的浏览器就是一个socket客户端. 2.最原始的web框架 socket服务端 import socket ...

  3. Python之旅Day15 Bootstrap与Django初识

    Bootstrap初识 Bootstrap简介 Bootstrap 是最受欢迎的 HTML.CSS 和 JS 框架,用于开发响应式布局.移动设备优先的 WEB 项目.(官网http://www.boo ...

  4. Django初识 学习笔记一

    Django初识 学习笔记一 mvcviewsmodelstemplate. 一 MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(c ...

  5. Django框架(一)-Django初识

    Django初识 一.Web框架本质—自己实现Web框架 1.所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端 import socket sk = sock ...

  6. django初识1

    django django初识 django的本质就是基于socket通信 一.127.0.0.1 本地回环地址 后面:8001是端口号 /ppt是根目录下的ppt子网页 二./当前网站的客户端(根目 ...

  7. Django初识

    web框架 Web应用框架有助于减轻网页开发时共通性活动的工作负荷,例如许多框架提供数据库访问接口.标准样板以及会话管理等,可提升代码的可再用性.简单地说,就是你用别人搭建好的舞台来做表演,用别人做好 ...

  8. Django 2.0 学习(01):Django初识与安装

    Django(Python Web框架) Django是一个开放源代码的Web框架,用Python写的.采用了MTV的框架模式,即模型M,模板T和视图V.它最初被开发是用来管理以新闻内容为主的网站,即 ...

  9. python django初识ajax

    什么是json json是轻量级文本数据交互格式 json独立语言 符合的json对象 ["one", "two", "three"] { ...

随机推荐

  1. MicroPython之TPYBoard v102开发板控制OLED显示中文

    转载请以链接形式注明文章来源,公众号:MicroPython玩家汇 0x00前言 之前看到一篇文章是关于TPYBoardv102控制OLED屏显示的,看到之后就想尝试一下使用OLED屏来显示中文.最近 ...

  2. JDBC详解系列(三)之建立连接(DriverManager.getConnection)

      在JDBC详解系列(一)之流程中,我将数据库的连接分解成了六个步骤. JDBC流程: 第一步:加载Driver类,注册数据库驱动: 第二步:通过DriverManager,使用url,用户名和密码 ...

  3. JDK中AbstractQueuedSynchronizer应用解析

    这个类首先是一个抽象类,定义了一个模板,很多java同步相关的类(ReetrantLock.Semaphore.CountDownLatch等)都是基于AbstractQueuedSynchroniz ...

  4. Jquery ajax异步传值的两个实用的方法,你看后肯定会用第二个

    故名思议,你是个asp.net  或者是搞PHP的或者 是javaweb的 ,但是为了提高界面的效率,你必须会实用jquery的ajax,当然,在ajax异步传值的时候很头疼的一件事情就是,拼接字符串 ...

  5. 【后缀自动机】洛谷P3804模板题

    题目描述 给定一个只包含小写字母的字符串SSS, 请你求出 SSS 的所有出现次数不为 111 的子串的出现次数乘上该子串长度的最大值. 输入输出格式 输入格式: 一行一个仅包含小写字母的字符串SSS ...

  6. JavaScript图片库(简单的应用案例)

    这个图片库小例子的效果如图所示,点击网页上某个图片链接时你将看到两种效果:占位符图片呗替换成这个链接所指向的图片,同时描述性文字也被替换为这个链接的title属性值.     利用一个简单的图片库应用 ...

  7. SQL 语句优化方法

    尽量避免非操作符的使用,在索引上使用 NOT,<> 等操作符,数据库管理系统是不会使用索引的,可以将查询语句转化为可以使用索引的查询. 避免对查询的列的操作,任何对列的操作都可能导致全表扫 ...

  8. Android基础_多媒体

    一.MediaPlayer Android的MediaPlayer包含了Audio和video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现 ...

  9. HDU1016 DFS+回溯(保存路径)

    Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  10. 【转自知乎】:localhost、127.0.0.1 和 本机IP 三者的区别?

    作者:知乎用户链接:https://www.zhihu.com/question/23940717/answer/26230963来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...