ps:本文偏向原理和操作性,原理适合于任何编译器。

支持Spring入门,目的是在xml文件里面装配相关bean(java对象),并实现获取。(IOC)

一、先建立一个Spring新项目,添加maven(此处自行百度如何配置maven)

Spring至少需要六个包:

aaarticlea/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4RDcRXhpZgAATU0AKgAAAAgABAE7AAIAAAAGAAAISodpAAQAAAABAAAIUJydAAEAAAAMAAAQyOocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFwcGxlAAAFkAMAAgAAABQAABCekAQAAgAAABQAABCykpEAAgAAAAM0MQAAkpIAAgAAAAM0MQAA6hwABwAACAwAAAiSAAAAABzqAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAxOTowMjoyNiAxNTowMzozMwAyMDE5OjAyOjI2IDE1OjAzOjMzAAAAYQBwAHAAbABlAAAA/+ELGGh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4NCjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iLz48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+PHhtcDpDcmVhdGVEYXRlPjIwMTktMDItMjZUMTU6MDM6MzMuNDEyPC94bXA6Q3JlYXRlRGF0ZT48L3JkZjpEZXNjcmlwdGlvbj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PGRjOmNyZWF0b3I+PHJkZjpTZXEgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOmxpPmFwcGxlPC9yZGY6bGk+PC9yZGY6U2VxPg0KCQkJPC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0ndyc/Pv/bAEMABwUFBgUEBwYFBggHBwgKEQsKCQkKFQ8QDBEYFRoZGBUYFxseJyEbHSUdFxgiLiIlKCkrLCsaIC8zLyoyJyorKv/bAEMBBwgICgkKFAsLFCocGBwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKv/AABEIALQBzQMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APbtFnvbfwdpUlpawTIunxMxkuDGchBwAEasLUPEkWr/AA7s/Euq+GNOvrCaOK4jtrmcSMnmEKDhoiMjdWjZnUYfANpcRXtnBax6XGxEtozsAIgSciRR+lcZNZ6zbfs86Wk1zaRotjZ/ums3Dr88eAW8zGfw/Kql8b9V+bIh8C9P8j1HSxqSGaPULaxt4EIFqtpKz4THRgUUDHbHGPpzzOveNbiLw/4qn0qBY30lha2lyzB1nuGCjG3A4VnUdTnn0roLKz1yLWJbjUNXtbixaIKlpFYmIo4P395kYnOcYx2GMc55fxloFldXWlaLpGnafHdXV59umL24I2RMJGLYwcM+wHnncags6DVNR1fTJtNeGzXUbaaRILwQAiSEsQPNAyQUBPzDsOc8YragnhuYVlt5UmjYfK6MGB+hFedXk09xPpFno8OgT3eoTZljOlY8iGNv3xb96cEY2dPvEV1mtrc6J4XkXwvYRpJGyBYbeAHYhceYyRjAZgpZgvcjv0pgje4rP1DQdI1aVJNU0qxvXjGEa5t0kK/QsDiud8L6vJqmoXC2HiY6pbxwlZIb21WG7tZs8b0CIQuM8FR06mszSNR8U6h4Ju9em1tftVjLeKlvHaxrDOIZpFxJkFhkJj5WXHvQB6GiLGipGoRFACqowAPTFOrhdd8Qa39n8L6pol1FHb6tcQI9nLADlZI2fJfORjA4A9ea6LTdP1mCW/XUtZN3DMFNsywIj25wd2MLgjONu4MRjktRYVy1ZarFf3t9axQ3Mb2UgjdpoGRHJGcoxGGHPUVdrmPCN3fy6l4gs9Q1Ca/FjfLFDJMqKwUxI2PkVR1Y9qpWk3iLWNW8Q2n9uCxg0+72W0ltaxmTBiRwrbwwKjdzgZPquOV0+V/yH1+djtMCg1wsni2/n+Hug6vLPFp51LyReXqIGW1VlJZ1VsgcgDLZC5ycgVN4TvdV1TxDfNH4hbVdDswqW9wIItt0zDLDeigEoQOUwp3YIyDVCuWvEWp69oloHtrrT7u7uJPLs7JbB987ntu87gAcs2MAAmn/AGvXXmXTpda0iz1OWHekbadIwJxyUzMN4U9cfiBms280eCPxZf6rNrniIu4CR20Fm7RQKAMqriInBPJww61z6waR4l+Hllc+IF8RX12QsiTW1rdSSRS7sCSPC7QR149DSWoPQ9SskuYrCFNQnjublUAlmiiMau3chSW2/TJrnfEPihYrFT4fvrWS5h1W2srlcCTy98iqysoIIOG9q2NQmu4dKWPS42mu5UCRNICAhx99/QDqR1PSuU1bw1D4f8H6Zp+mxSXDrq9rPcShS0k7mdXklbH4sT0A9hR1H0O2guoLlpBBNHI0TbJFVgSjehHY1jeIfEcemXUdjBcRRXbRG4ZpYw6RxBguWy6YyWAHPODXMedbeOfGP2vwx9qs20adFfW4MeReYOJLYjP7xcH72CAeh9en8RX8enPbh0QNeMIUdGlEruAzbR5SM2MKTS3QdbHNf8Jzqi681lJdaetqLJboXhtQFbMjJj/j5x/D1z+FdD4V1q61B7i0vpGvJYsSi8is/JgKsSVRT5jhmAwTg9CPWuYg1O3m1+41B4rqOUIumRv5l1+92sZMAiHduyxGCf4eldT4Z1afUmv1ZI/ItJBEgCzCUOFBYP5qLk8jBHrzTBmP4g8W6jolveNBe2l1NaXEMMsKaRcEIZGQDLiQjIVwcd+neq0/jfULa81eG7vre1g02CKVrltCujw+7qvmDbjb3POfas/xjZ3iQ362iap9s12/t3tbNRbqpeMRnJY7mwBFuJ4GBip9W0iLUr3UtJmvNdGpaxZJ58Oy0YeVGSAeANoy5HUZ/A0lqN7nf6aLqDSYf7Uu47q4VMy3EcBgV/fYWbbx2yawPDHiHVNS0+fUL6zeW2uriR7BYIgCtuG2oXLNyWxu4A4Iq7dR3viDwubeW2n0lroGO4SV0aWOPPzAFCRlgMAg8bs9sVyWiWcseheDmjgaSwjsZIZF+0+Wu9guwHJ5PDYod7iS0ubvhXxVqGp+Fba+vNLu7m4kmkRjAiKMCZkB5fsBk/Q4q54o1jUdO1PQLPS2to21O9a3le4haQKogkkyAGXnKAda4rwnouoS6Z4OudPsZI7aDUJ7i6mF1kGJkn25XPI3MnrXReOwsviTwbCYJbgnUppDFFwSq2suTnIxyR3p9g7/AD/Uui/8QnxS+jfbdN+WzW5877BJzlyu3Hne2c5qfw3qOqXera5a6rPbTCyuEihMFuYuDGrHOXbPLVgJbwf8LJlH9jXuP7KT5PNXP+tbn/Wf1rT8GKqa14nCW8luPtyfu5CCw/cR+hP86UdX8n+YS0/D8iLU/GsdnrTXInePQtOimXUZfsE0m6YMFVVdVwNuGz16j6ib/hKLqTxzNZwI50iytV+0yJZSys1w/wAwQFQQu1MFgf746VyesNej4a+LQkUBt/7TucuZSH/1/ptx+tdtYJfaZr0unpamXTJ7Y3IvTw4n3YdX7HcCGHphh0xhXsvQb3saukavZa7pcOo6ZI0ttNko7IyE4JHRgD1FIurRNr76T9nuhKluJzMYG8kgkjaJOm7jp1xWN8N8/wDCudHJABaDdge5JpLKe/t/iLcadPqdxd2jacLlY5kjAjYykYBRFJGMDnJq2kpWIT9251NFeY6r4t1S103UNTtNYuLy6sZWMlraWAfT0VX+40xTJbb12ycMfu4GK3fGmpa7pk+h3GjXcSxXeoQ2stq8IPmBw2TvPI6DoKLFdbHY5rGutVmm8RxaPp4AaOMXF5MRkRRk4VQP7zEH6AE+lO0my1i0v7ttS1UX9rKEMKGBUaFud4BUDK9MA5I7k1m+H9w8ceKvO+/51sU/65+SuP8Ax4PSAn1TxhBpmpSWK6RrF88QBd7GyaVFyMgZHetmwuxf2EN0Lee381d3lXEeyRfZl7GsO50jVbrUNSk07X/7OLMpjW3hjkO4IB+93huOOi7Tjv6R+Gdd1PxT4Jsr+JILS8nDRzvgskboxRiink5KkgE8d89wGR674l1CPxNbaR4egW5e1UXeqnbu8qDkKg/6aOclR6Ka6WyvLfUbKK7spkmgmUMkiHIYGuS1nTI9Bi0SOxlm8y41mJrmdn/eXDENkuRjOcDjpgYAxVuTwle2fiFNS8Nay+mwTSF77T5IhNBPnqygkGNyepBwfT1ED0Ommnit1Vp5UiVmCKXYAFicAc9ySABTLu7gsbSS5vJVhhjGXduiiuW8aS62ILYW1pYPbjUrTY8l06uT56YyojIHPueK6Wxa/e2c6pDbwy7jtW2maRSuOuWVTnOeMUujDqQaFrmn+JNJTU9Hn+0WcjuiS7SNxRih4Pupp+t6vbaFotzqV6cRW6biB1Y9Ao9STgAeprm/hX/yIYxyf7Qvv/SqWth9DbUdTiv9bdJhbNvtbRR+7hb++c/ffrg8AdhnknQOpX8Kapqk9olp4q8iLWGj+0eTEMDymPAHPJXIViO/1Fa2qteR6dJLpm17iP51jYcS46p7ZHGexrifDWhx+KfBs4vbm5jvLfV9Q+y30Uh862K3UirsY9goA29COMV1vh+y1ex0lYPEGqR6pdKTm5S2EO5c8ZUEjOOuMVTEWdJ1O21rSbfULIkw3CB13DDL6gjsQeCPUVcrl/AX/IN1Ux/6htZvTDjpt85s49t26tK40m+m8U2eqRaxPDZQQPHLpoQGOZm6OW6gj/OOcrqPoa1LRRSAjnghureSC5iSaGVSkkcihldTwQQeCKisNNsdKtvs+l2VvZQbi3lW8Sxrk9ThQBmrNFABRRRTAKKKKAORstOn1zwTpOmOPKsJbKAXT7hmZNgzGo7A9CTjjOPWrvjTRrnWfCFxpmmonmyNFsUnaoCyKT+gNS+Hbu3tfBujNczxwg2UIBkcLk7B61sedFsD+Ym1jgHcME+lVL4n6kU/gXoOYkKdoyewzXPRWGoWd9d30Vql1qd0oU3E0oWGGMZ2xqBlsDknjkknPQDdhu7e4Z1t545WjOHCOCVPvjpTWvbVI3d7mFVjxvYyABc+vpUlnDL4H1rQtXuPEfh3U7e61i+51CC9i2wXIzkBCvzRY6A/NnqwJ5roJ7DWPEHh+0+2StoGpRzJM32WQT7Np+7kgBgRwcjoa0tVvTb6TNLa3VnBO0TG3kum/dbscFsEEj1welTWcsn9mwS3ksLSGNTJJFxGTjkrk9PTmjoBlWmiX0WsHV9VvIb26jt2ghS0tfIG0kMc7nYk5UdwB6Vyvhjwr4in8J3Wk6tPNo9rdXl1JPbvFFJMY5Z3fEcqSEKCrAHcpIJbBHGPQVvLd7gwJPE0oGTGHBYD1xRPeW1syrcXEURf7okcLu+maAOd13wtf6lJpSaZqVnYWmlzRzwQvYtKSyKygFhKvy4boADx1ro1W4+xBTLGbny8GTyzs3467d2cZ7bvx706GeG4UtBIkig7SUYHB9OKkoA5rQfD2r6RrF/eXWrWV1HqE3nzxx6e8TBgioNrGZsDCjgg9+al03QNQ0691y5GpW0janN50QNmwEDBAgz+8+cYVf7vOeecDZ+22v2n7P8AaYfP/wCeXmDd+XWnTXENtH5lzLHCmcbpGCj8zStp+AHES+EL7T/CmhaO2/V7fTZP3ptG+yTuqqQhRjJwRnn5hn26Vf8ADthrFrrMsgGpW+mG3K/ZtVu0uHMuRhlZWchcZByx6jiuo+0Q+T53mp5WM79w24+tJHd28szRRTxPKn3kVwWX6jtVX1ApudYeMqYbEZGP9c//AMTWb4f0vWtC8OWumqLCVreMqJDI4BOSem33rpKQkKCTwBSAzbRtZi0qEahHaT3/ACJTbsyRexG7J6Y4rNuvDl/rsgHiLUcWPfTrHMccvtJIfmcew2j1BrQ0y8u7rVNR8y90+4slZPsyWuTJGNvzeYckEk5xgDiryX1rLcNBFcwvMvWNZAWH4UAFpaW9jaR21lDHBBEu2OKNQqqPQAVk6/plzf6t4fntkBjsr4zzEtjC+RIn48uK2DcQrKIjKgkIyELDJ/CiC4huY99vNHKmcbo2DD8xR1A5tPC9wmw+dHlNYfUBweVIbC/XmrXhizv7VdVm1O2S3ku7+SdI0lD/ACbVUHPvtz+Nb+KMUCsc/qmm32rtC/2HT4ZodwjnuGaVosjkqq7c/TcKxo/AGoaTJJqHhzxNeR6tMB9plv0S4iutudqspAZFGcDYy4Hqea7mjFG2wyvD9oawT7WsYuDGPMEZO0NjnGe2a5ODQdWn8CW3ht4YrYm3WC4uZHDeXwMmNR1YdicAEZ579pRQO9jjtKs/FPhmOz0m3t7PWNKgCwx3Jl+zzxRjAG9cFXIHdduf7tbR0p7jxVHqlyBstLdobZc/xOQXb8lUD8fWteigWxiSaVdr4un1iFoWRtPW2SNyQd4dmyTjpzVTwjYavb3Wt3mvW1vazX17vjjt5jIuxUVA2SB125xjiumopJW/r5g9f6+Rw154Ev73w9rGnf2zNCNQvJZ1jVIzGqvJuAOU3dOuGrf8Rx+IH0sr4Xl09bogri+jcrzxkFWGMcnGDn2raoosO+tznrGyvPCngqwsNMs21WexiihaNJFiaQDAZgWIGcZIBI+tR6fYXt74suNbvbOSwiaxW0jgldGkPzszMdhZQOQBgnvXS0U3q7sm1lY4keAr0eFZvDSa/s0oo6QhbJfOVWJIV3LEMBnsqscfe71b1rwtq+qx6Uket2sQ064ju8yWDSGWVN3U+aMJ833eox96uroxTux6EcCyrboLh0eUKN7ohVWbuQCTge2T9azLvSZl8QQatp7qkhTyLqJuk0ecg57Mpzj1DMPQjXopdbgczL4Xu7e+1K40DU49O/tVxJdF7TzXDhQm6Nt67TgD7wYZ7Vq6Fotp4d0K00nTgwt7WMIhdss3qzHuSckn1NaNFAbmF4l0y61J9I+xorfZdRjuJdzYwihsn361uUtGKAIZ7WG6VVuI1kVHWRQwzhlIKn6ggGi6S4ktJFspYoZyPkkliMiqfdQyk/mKmooA5nwX4Z1Dwppb6fd6tDqNv5ssyFbMwurSSM7ZO9gRljgYH1NdKfumlooA5zwRpN5ougz22oIqSyajeXChW3fJLcPIuffDCtbVYrufTZYNPkEM8o2CY/8ALIHgsPUgdPertFAFPS9MtdH0u30+wj8u3t4wiDOTgdye5PUnuaqXGkXs3iq01WPWbmKzggeKTTVUeVMzdHJ65H+cc516KA6BRRRQAUUUUAFFFFABRRRQB5xYWUl5HpsulSaZe30Wj2yS6fqSnaqbSQ6MASuckE7TnaPSq2rxaXcfDaJRYCxih1mFZYHlDLA/2pQ+xxjC8nBGOD26V1eh6FpGp+FNIk1LS7K7c2MALXFukhICDA5HbJ/Optf8MJq+iQaXYzR6bBDPHMFit1ZfkYOF28ADIGaqXxfP9SIfAvT9DI1W3s7Dx14YTRo4YJ5GmE8duoXfbeWeWA6gPswT3PvVTQvD+mS/EfxdE9rEbZUtB9mCAR7mjbLFe5x3/wAa7HTtF07SgzWVhaW80gHmyW9usRkPqcCoLLwr4f069+26foem2t1/z3gtI0fpj7wGelSV0M7xXpVjZfDLVbK3to1t7XTJlgRhu8sCJgME5NN1CKKb4TzJOiun9kZIYZGRFkH8xmt3UtI03WYRDq+n2t/EpyI7mFZFBxjowPaoU8O6JHpUumR6PYJYTHMlotsgic8clMYPQduwpPVPz/4P+Y+qfY4m+sLTTdN8AzWUKQStqFujSqPnYNbybgW6nJ65PNM8RXlrb+M9Yt72PTZxc2sSK2qyNGIRtYEIQjAjuRlTmu5m8N6HcW9pBcaNp8sNkQbWN7VGWAj+4CML+FU5PDt1Bf3lzpGqfZFvpBLPFLbrMN4VVypJBHCjjkVTd233v+gktEVNG8K6PL4X023t7ueSKGJQbnTb+W2Fw+0KzsYXXcSV75q/b6Dp+hmW/in1RzHExZbjVLq5XGMn5JJGBPHpmrWh6LBoOmCytWZwZZJnd8Zd5HLu2BwMsx4HArQPTnpSY0ePFfO+G+m6vZQ2Vja3FzbT2xkYy3jhp1Pzy5HzkE5HOORXV7IdS+K00WrhJ7eHTIn0yKTDRuxdxOwB4LDEY9QD71vp4Z8Ousxj0TTCLgkTFbWM+bzzu4559e9W7rR9NvrVLW90+1uLePhIZYVdF+gIwKGw6Hl3iaBR4F+I1tDGjaRbfPZ/3Y5fJBlCegDYPHQlq6PXrazsdQ8JtoUcEV3JqKKphA3SwFG83JHLDbzk55wa3fEfhaHXPCN14etJV021uozCxghU7UPUKvAFWtN0DT9MPnQ2Vml4y4luYbZYmk9zjn9aI6fgD/zLFlq2n6jc3VvYXsFxNZyeXcRxSBmhbGdrAdDVsgEYPIPY1WtNMsbG4uJ7Kzt7eW6fzLiSKJVaZsY3MQPmOO5qvq+nXl/9nfT9Tl0+WCXeSsYdZRgja6nqOc9RyBQBy9rJaaTrnjmdoTHbQRQSOluu1sC3ycY71hXds9t4c8NXvk6XYJ9vsmt0gJecozqOZeNx2t8xwc5P1r0PStEj057yaWVrq6v3ElzNIoG8hQoAUcBQoAx9Sck0xPCnh6OGSKPQtMWOUgyItpGA5ByMjHPPNLW4M5fxRpdje/ErwlLsQNcC6MskYAaZREuFY9SvSux07R9P0g3B021S2+0y+dKI+Az4AzjoOAOlVrvwp4ev7wXl9oWmXN1/z3mtI3fpj7xGegA/CtUYAwOgprawuo6iiigYlFLRQAlFLRQAlFLRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQByWi+IBZ6DpFhaadealdrpsE0kVp5Y8tGXAYmR1HJVuASeDxVq58bafaaDHq1xa36Qvci1aM258yNy+z5lzwM1zUFnDe2Glm+0rU08nS7cWuq6U7LKNy/NGdh3EZAOCCvPPPWXXn1OL4fQtqgmnuF1W28kTBFmkT7UmwNjChiPp745qpfF8/wBSIfAvT9Dp7XxPHNq0On3unX2mzXKs1sbpU2zhRk7Sjtggc4bafbg1Sj8d2s9/qOn2+k6pLf6eEZ7URIryKwJDLucDGB3I9Bk1DdLdeIvFmizRaddWtnpUklxNPdJ5ZZzGUWNB1b7xJPTgdc8V/Ds0x+IOv3UulahBDqAt1gmmtWVW8tG3ZPbk4561OuhRo+INYt5/Ak99c6RqN1YXNk73EEbLDLHFsJYNudSDjI+Uk1ci1Cz0bwXFfxW8/wBitrNJFiTMkgQKDjk5JA96h8bNK3g/U7S2tLi6nu7SaCJLeIudzIQM46DPc1Rknmn+GNxCmn3wuEsPs32drciRn8sLwp6jJ69ODSb0k15fqO2q/rsWbfxtaTXGnLJp+oW9rqjCO0vJo0EcjlSwXG7epwp5KgHHB6VPqPiqKxv7i0ttMv8AUntIxJdGzWPEAIyM73XJwM4XJ9q53WYL19H8E+Vpt7I1nfQS3KJCS0KrC6EsO2CwqrqsGr6l4z1qTw+sLxRJHbXsJ1BrKRiE3dopNw2uMN8h6gE4zVSsm/mSnojqrDxlp93pUOoXEN1YwXBzb+fFkzJgEOuwt8pDDGcH2q1Brmk6wZLOCXzy8bbo3gYKy987hiofCGpW2q+GbaaxtGs4Ii1ssBYME8pjGdrDhl+Xg9xg1tOMqfpUy2ZSPNvBPim20P4d2Uk2nXrafatKs97CieTbgTMOQWDEDuVUgV2mpeIYbC6hs4La41G+mQyx2tps3lAQC5LsqqMkclhntmuIgsNWPwrn8JtpF1HqN5DPArMo8lFkdsOz9BhWyR14xitDWfDDWvjC01aSPUrqw/sxbCQaddTQyxMjblYiJ1LqdzA9cEDjk4b3Etjok8W6edDvNTnW4gWxcx3UDxZlikGPkKrnJ+ZcYJByMGiy8TCfVIdPvtKv9MnuVZrf7V5REwXBbBjkfBAI4bFYF3pF5YeE9Sn8JWV5aXl7cxyStNcPNdSxDarsDKzYk2BgoJ7DvVVNOEPirQ9T0rRNVcQiWOe6vmdpDvXADGRi4GRnONo7UDNxfHVvNLqcVjo+qXj6XOYbtYoo12YRX3Zd1BGGHAy3tWhceJrKLS7C+gWa7GpFRZwwqPMmLIXAG4gD5VJ5IAx1rn9Bju4G8ayT6feRi6v3ntw0JzMn2eKPK+vzI3H09aht7WWTwF4csNS8PXV3CsaJdxKNk9oyJxIvIIIYdVOcHjPSlfT7h/8ABOp0rXhqd5PaS6de6fcwKrvFdqnRs4IZGZW6HoTWtXJeHRqNm195P9qXWnxwg20eqH98ZOcqGb5ivTlu/c1t+H9RvdV0G1vdU0uTSbuVSZbOWQO0RyRjcOvTP40ySzfTPBZu8VpNeNjHkwMgds8cF2UfqK5bwrqejaT8O7S80uwu7Ww8xkitGYzTbzKV253HJLe+BnriuobUrJLuW2e6iWeGITSRlwCiHI3H0HB5rz/SodYX4Q6SNKW5QyXPm3At/lnNs8zsTHn+IqVPrgnHOKXoM67T/E8d3rH9lXmnXumXzQG4ihu/LPmxqQrFWjd14LDgkHkcVTj8dWs+pajp1vpWpy39gEZrURIryKwJDLucDHHViPQZrEsdL+zfETS9U0zRdSS0NhcW01zeMzOzs8TKWLsX4CPy34Vd8PzzH4ha7dy6XqEEF/HbJBNLasqny1fdk9hlu9D30DodZpd+mqaXb30cM0C3EYkEVwmyRM9mXsatUCimAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGR4W/5E/R/wDryh/9AFWNV0TStct0g1vTLPUYUbesd3brKqt0yAwIB964oa5caXoujC+v7jR9HXSoH+3wWgmBkxgrIxVhGoAXkgZ3H5hirepa3r1r4Is9RstT027uJb6GNbqGLfDcwyTBFIwx25VgcgnoaqXxP1/UiHwL0/Q7aGKOCFIYY1jjjUKiIMKoHQADoKfXKS32q6F4k0i1vtQ/tG11V3gbdAqGCUIXBTb/AAEKww2SOOaoadeeJ9Q8VeINEk1WFI7JYHiu47VVZN6E7ApLA8jknPHAGTkSUdlf3ken6fcXk6yNHBG0jCKMuxAGeFHJPsKdaXKXlnDcxB1SZA6iRCrAEZ5B5B9q5/Xm1mw8AXF3LqflapY2Ek0strEmyWRYyejqcDIzxg1Le6hfp8PJNStJ4475NPFwJJI967ggY5XI6896NFfyDqkdDWXqfhrQtbmjm1nRdP1CWMYje7tUlZB7FgcVzJ1nXbBfC99eahHcDWLmO3uLRYFWOMPEzhkb724FRnJIOTwOyeI/FD2XiG+srrxDb6AILdHsUlWMm9cg5+/ywBAXYmG9+RRaza7DTudzHGkUaxxKqIgCqqjAAHYCnVzGkz+Kh4fs7iaG0vry6QTTR3kxtDbblU+WNkT7sHcMnB+taFpd675zNq2m6dbWyoWMltqEkz5H+yYUGPxoA1qWuH0jUvEviLw7a+JdMukVLyRJbbTGjQRm2LfxuRu3lPm4IAOBg9791qmo6p4yl0DS7n7BDY2sdzeXSxq8jGQsI0QMCo+4xJIPYDHWjyDzOporzvWfFutab4T8WIlxB/bHh1RIJ2gyk8bJvRiucBiMg9sjOOcVsfbdY03xFosN7qC3UeqGRJoBCqpCyxlwYyBuxwQdxOc546UgOqMiK4QsoZui55NOrhtT0/UZPibYpH4h1CGOWwuJFjSOArHh4xgAxn16nJ461oeK/EM+jTaTpttJKJ9QkZGultWuHjRE3MwjjByx4A4wM5IIGCwOporktA1bUbzWL7S5X1Ca1W3WW31G5017Z1YkhkO+NUYjgghehwRxk5WlX/iS41+bw1qGsyLqNncG6kuo4YAs9keI8Lt4bPyn0IY56AgrnX6noeh6ldQXOr6Xp93cRHEEt1bo7Ic9FLDI59K0x0GK4fxzaX7634Za21u9tIp9VWJoYkiKj9zK275kJJyo4JI9q7G0hkt7VIp7mS6kXrNKFDN9QoA/IUIZPVHWNVg0TSZtQu455IoQCy28LSucnHCqCT1q9XL/ABCvL/S/BWoappd/LZz2cJkUIiMHPHXcpP5YoA6ZHDxqwyAwzgjBp1cz4n1aewu9Nt11IWEN15gcww+ddSMoBCxR7WyOpY7TgAdM5qt4X1rU9attdsnuGjudOvfs8N1cW212UxxyAvGNoz85HGM4BwKAOvorhNAufF/iDwzBeR6pa29zDdvGS9uCt0iTsrFgM7couAAc5GSecV3YoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOL0XSdbbR9OvtG1uG1Eum20ZtruyNxECqcsAsiMGOQPvY46HtW8Q+HLyx8Ex6bpcNxfXMuoxXUr2iRx7D5yyOyqx2qBg4HPbOeTXSeGZY4vB+jmWRUBsocbmx/AK1/MTAO5cE8HNOXxfP9bkQ+Fen6HOWXh7ULrWLXVfEOpJdyWat9jt4LT7OkRYYZnBd9744yCAMnA5qvonhrX9N8V3+r32t6ddR6h5f2iCLS3iI2KVXYxnbHXJyDn2rqkmjkYiN1Yr1CnOKQzxAMTIgC/eO4cUizJ8U6TqOu6Dcabpl/a2IuonhmkuLRrj5GUqdoEiYPPU5HtVT+wNak8D3Oh3Gr2LXMkP2eK7j051RI9oXmMzEs2N3O4Dkccc7Op3E0Ol3EljLapdeUxt2umIi3443Y525647U+ykmbT4JL1oTMY1MjQk+WWxyVzzjPSjdNB1RzOpeEdUvdM8OW8WsWkUuizxzvIdPZlnZEKABfNGwYY927VUvtJvB4l1K8ubXWCZ3RbebSLoRqY1QYDqzj5txbnBGMV2wmjaTYJFL4ztDDNDzRRkCSRELdAzAZo1vcLGX4Yi1WHQo016Uy3fmSEFtpcR7z5YYrwWCbQSO9a5XcCD0NIjpIMoysAcHBzTqGByun+FNR0eBdM0nWo4NEVjstmsy08SE52JNvACjOBlCQO/ereo+HZ21cavoV7HYaj5At5GngM8U0YOVDoHQkqScEMPvHOa3DNEJBGZEDnou4Z/KleRIl3SuqD1Y4pbgchq/gafUvCWsaXFqkcV/rR/02/ktN4bKhcLGHXACgAZY475PNXdR8ParfapoN6mqWkR0ty86GxZvtBZdjbf3o8vgnGd2DjrjB6LzFKbty7fXPFJ50WVHmJl/ujcOfpTsBi61oV5earZ6ppF/DZXtrHJDm4tjPG8b4JG0OhByoIO78DRqnhw6hBYSQ30kGpac3mW14UD4YrtYOvAZWBIIyPYggGtp5YoyokkRS3QMwGafQBkWtjrMdncNe6raz6g6FYpI7No7eP0PlGQsff5+e2K5+fwVrMkOlXEOv2cWs2Vw80+onTWJug3BQp5wwpGARkj5VxtwK7asvWbjUYpbFNKn0+MtcqLlb3dloiDkR4I+fOMZyOvFAEfiHQ5datbM292tpe2Nyt1bzNF5iCQBl+ZNwJUhmGAwPPWodS0PV7/w21lD4gksdSkkWR7+2twAuGBKrGxOFIGMFieeprbkmjix5siJnpuYDNOLqq7mYBfUnigBcYXrk+tcf4nTVfE2ian4eGj3Fr9qbyFvHkRovK3DMnDbs4z8uOtdd5sZYL5ilmGQN3JHrT6AOc1nw1eXfiCz1zRtRhsr+2t3tj9qtTcRPGxDH5Q6ENlRyG+oPGINP8L6vpV3rF1Z65BJPqciT5ubHcscoREYkLIu5dqDA4IJ5Zq6qkoA57whoOreHbA2WparZ6hAHeSMwWDQOGd2dskyuCMscYA/GuioooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPOLPT5L6DTJbCPTNUnh0i2SXTdRBHlgjIeNsEAtkg5U52jkYqDV4NNm+HMKRWcllHb6zCrwSS5+zv9qUOFcH7vJwR2Paun0Pw/pOpeF9Jmv9OtriU2ECmSSMFiAgwM9ccmpvEHhVdW0GHStOmg06COeOYr9l8xTscOF27l4JAz7Z+tVLSXz/AFIhrBen6GVqdlZaV448NJokMFtPcPMtzHbqF8yARklmA6gPs5Pc+9UdD8OaXP8AETxdBLbRvahLTNqVHllmjbLEdz/Kuy03QdO0tmltLK2huJFCyywwhC/9cZ7ZqKy8K6Dpt+b2w0m0t7o9Zo4gGPGOT344qexZmeLdH0+1+Gep2cVpEYLPTJlt0kG/ywIiBgtk5x3puoxRzfCaZJVDJ/ZG7n1EWQfzFb2p6Pp+s24g1ayhvIhn5JkDDkYPBqFPDmjR6TLpaaZbCwm/1lsIx5bdOo6dh+VJq6a7/wDBBWTT7f8AAOJvNNs9MsfAl1YwJDcy38Eck6j95IrW8mQz9WBIHBNReJLzTofGurW2rJplwbi1iWFtVnEIg4YHyyykEZ5OCDmu7n8M6Lc21nb3Gl2skNiQ1qjRAiEjoVHaqcvh69g1G9udJ1OKBL+QSzw3Vr54DhQuUIZSBhRwcjPTFVJ6tiSskV9D8K6XH4ZsLaC5kdY4lL3On3kkAuZNoDSExMNxJXqc1p22hW2nSNcWk1/JKEIVbjUZ5lP/AAF3I/HFO0DRIPD+krY2ztIPMkmd3ABd3cuxwAAPmY8AYFadJjPNvCejaZrvw5s9U1uRodUkYXV9fjatxDOr5ddzAlQCCu3sOK05IIdW+KVxaa5Gs9pDpkUunW865jdmdxM+09WGIx04B7ZrpG8O6O+ofbm0y1N1u3mbyhuLev196nv9KsNVjVNStIbpUOVEqBtv09KTDocn4dsoZ77xTpbQJNokF2n2WNhlFcxAyov+yGIOOxYiofAPhjSrnwP4eu7u3+03VuiTwzyMd8bDOACMfKBxjp65rrpNE0yXTRp72NubRTkQeWNoP0pNK0TS9DhaHR7C3somxlIIwo46cCqTt+H4Cav+Jwem2d7rmr+JvttjpV5NDqEkP/EwkbzIIgi+XtAU7V2ncCDyST1rrdCu4tG8PaPY63rFrJeTIIIpWl2/aWHQJuOWOPxq9e6BpOo3S3N9p1tcTqABJJGC2AcgZqW60jTr6S1kvLG3nezk8y2aSMMYW6blz0P0pLRWG9XcuVx/jq0tjc+Hbo28RuBrVsom2DeB83GeuK651LxsoYoSCAw6j3rnbXwteSSaf/b2sNqcemy+dbjyBGzyBSqvKwJ3EBj0CjPJB4oAyryOLWPG+pwWunWVzJZQQpcT6mxeOMkFgI48ehyTkZ49KzdFggvvgzqVrqHlXQtft6qDyqhJZVTAJJAAGBz0Fd1d+H9Iv7xbu9062nuVAUSyRAtgds+lRSeF9DlspbOTSbM200hlkh8kbXc5yxHqcn86lq8eUaetzF8HeGtMbwt4bv7m38+/t7OGRLpziQMYgDyMcYONvT2rsKp6bpVho9t9m0u0htIM58uFAq9MdPoBVyrbuyIqysAooopFBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcjpPiEWPh/R7Cz0y91S7XTYJpIbMRgxRlcBmMjovJVsAEk4PFWrjxvptroEOrzwXyW8lyLVlNs2+Jy+z5l6gbq5lLS3vrDShqGnaxbiDS7Y22saQZBICU+aJhHlmHGcMrJzzg4zNr02qJ8O4ZNVSae5XVbYxCREjmmQXSbNwGFDEfT3xyKqXx/P8AUiHwr0/Q6ey8UxXOqx6fe6bf6ZPOrNa/bEQC5C9Sux2wQMHa+1vbriinj20nu9SsrXStUmvtP2F7QQqkkgYE7l3MBjA6sR6DJ4qG6+0+I/F2iyW2nXdvaaVJJcz3F1CYsuYyixoG5b7xJI+XgcnNQeHLnd8RPEN0+n6hDFfrbLbzTWEsav5cbbvmZRtwT3xntU9ijQ8Qa3bz+A5tQm0jU7vT7qzeSeKBkgmii2Etu3SIQcZHykmr0epWejeDYtQWG4NlbWiSCNQZZAgUfiSB3qDxvK3/AAhuqWsVvc3E93ZzQQpb27yku0ZAB2g457nAqlLctP8AC65jjs77z0082xgazkWRpPLC4CFckZPUcdeeDSb0k1/W4+qv/WxZtvG9pcXeno9hf29pqRCWd9NGixTOVLBANxcHAOCyhTjgnjM2qeK49Ov5rW20vUNTe1jEl2bJYyLdTyN291JOATtXccdulc9rK3L6P4I8uwvpDa30EtwqWkhaFVhdGLDGRgsOtQana6tqfjDW5dAdfJjSO1vYkvfsryEJu7xSZ+VxhxsPYE44p2uxJ7HTWHjTS7vS4r+683TYLgn7ObwKpnTAIddpbKkMMd/YVesfEWk6lc/Z7DUIZ5cFtiNzgd6r+EdStdU8MWstjZvZQQlrVbdiG8vymMZAYEhlyvBHUYrZdd6MvTIxmk9B9Tm5vHNlCXn+w30mkxuY5NXRE+zIwO0/x7yAeCwQr78GrGqeKV0nX9O02fS76SPUZBFFfR+V5CvgnaxMgYHA/u89s1wmjeCbKz8Njw3rWn+Ibu6iDW21NTvVs7pMnD/LL5aKQclTgjkAHjPV+J7KDX44/CTWt5HbSx73vUt2KQbMFAshBG8noe2098ZBks3jq3tPC174g1HSNTs7KzLAh445GkVerqI3YbeOpI9enNWrfxZBJqVvaXenX9il4xSzublEEdywGcLtcspwCQHVc44rjfEOqXV78C/EMOpWNxaXVnYywN5lq0CTAAhXQMBwwGcdunpW3qn2nxPqGg2lvpt5bpY3sd9dzXMJjWLywcIpPDliQMqSMA89Mi3F0NF/G1out3WkLp2pPfwQiaOHyApuFJIGwlgOqnlsKO5FTr4tszoVnqL2t4kt6xS3sGh/0iSQZym3OM/KeSdoAyTjmsiC9DfFKe6On6iIH06K0S4bT5ghkErkjcV4GCDuPHvT/HWhS6jeaLqSw3tzBp8z/aILC6kgnKOm3ejRsrHacEqDyM4ycAmyX9dQ6tf1sbekeIYtUnntZrO602+t1Dy2l4E3qhzhgUZkYHB5DHpg4NZ6eN4HENx/ZGqf2bcOqQaiIkMMm44U4D+Yqkn7zIB79Kg8P6Pp9re3mqaTY6p5xt/JWfVbu6keTBzsCTuWUA98DOeM1h2dpPA1vc+H7HXNH1Gd0a50qVGexGWBc/NmNBjJ/dsp9s5FHUDstU8QiwvVsrPTb3VLzyxK8FmIwY0JwGZpHReSDxnPB4p1jryalosmoWNjeSsjMhtGRY5t6nBXDsADn1IHvWB4mtYL3XNuo6drEAhgU2+r6QZRIrEndGfK+ZhwDgqy+uDjOr4fudQt/Dsk+uC5lZJHMbNbjz5Is/KzRxj7xHYDPTIByKS1QdSLwTNYz6bfS6dZ3lnu1GcTxXk/muJQ+H53sAMjgA4oufG9rBJcPBp2o3lhZsyXeoW8SNDAV+9kFg747lFYDn0qn4DmdIdTtp7O+t5JdRurpPtFnLErRvKSp3MoGSCDjr7VX0aS+8L+HZ9DfSL29u4ZJvspii3R3Su5ZWaT7qfew28g8Hrxlvp6f5CXn3NrUPGGn2F7Y2qRXV5JqMTS2htYt6zYGcBsgZIx1OMHJIHNWND8Qw639riFtcWV5ZSiK5tLoL5kTFQwyUZlIKkEFWIrltP0i40DVPBWlNFc3P8AZ1nLFPcxwO0SkoFGXxgZIPXtjOMip9MnvNP8T+Nr2LSb2csYprVPJaMXRSAKVRmGM7lx+vND0/H8wR3NZuvXBttHmb+zrrUUZSkkNo8aOFIOWy7oOB6HPpU2kXk+o6PaXl3ZS2E88SvJaykFoSRypI7iotQ1GzFnqMRuYvMtoC0ybxmMFTgkds4ofYaMfTNa0vRfAujXFnbXYtriGKOxtMmWZyy5VNxPLY7lsDHJxV/S/Ei6jdXNnc6de6dfW8SzNaXQjZyhJAYGN3U5IIxuz6gVycsGtR/D7wjBZpeJZhIF1X7ED9qSHyv4MfMPm2glfmAziptDtU03x1Pd2Oj6nFYz6fHGLi5WR2kKszMWLFnyAQMPgnsDQG39eZqf8LBs3i1H7PpOrT3OmvtntEt1Eu3aG3gMwGMHuQT0AJrp7W4W7s4biMMqTRrIodSrAEZ5B6H2rkvCt2G8Va+72GoQC+ukkglnsJY1dVhRSdzKAOQRg4NdlR0QdWFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBz+g3c1t4T0VYdPubvdYxEmFowF+Qdd7LRqkNvrdusGs+EJNQhRt6x3aWsqq3qA0hGfel0OS8j8FaMdPt4biU2kIKzTmJQPLHOQre3GKsNc+Itp26XpZOOM6lJ/8Yqp/EyKfwL0JNKvLiRZ4rjRptLgtsLBveJlkTHYRsduMYwfbHs241/TktZH+1+UAhPmNE2E46njoKm0h9UbS4zr0NpDfc+YtlK0kfXjBZVPT2rK8fXBh8DanBCA1xfQ/YrdD/HLN+7Ufm2foDUO9tC0LoHif7ZokM+rmOK6Ytu+zo7I6hiFdTg8MuGx2zV6LxBp9zo51GK4EEJLKrXKGE7hnjDgHt+Nc7r7av4b0rQrPStSZnmv7WxG+3QgR5+c9P7imui1/VP7L08utjd3zyny0itI9xyQeSSQFHHUkCq0voCv1OZTx6ZPCWk31td6fcXtxPbRXax5YQiY4B2q2c+2ecUkwsNe8dWOm6xpujaor2U1wZptN/eJseNQAZCePnz+FY9kupX3hHwpYXQs4DcGCe0VLl0kLRL5m0nynHRQSeAOnudDSn1nVr2HxFYW1q08LXGmql/qbAYWcLIQFg5OYTt5+tSt/67f5g/6+/wDyOn8T6m/h/wANk6VDEbt3S2soCuFaRiFUYHYdTjsDVJPFsQ8T3GnTajp/lQ6fHMXEgBMxZwQPm6fL061n+NbKWXXvDuoXTMYrXVIhbwxseWZH3MR3OPlHtn1q0JJf+E0vr4abei3l02OFX+znlw8hIx/wIGhbX/rYFa9vT8y34J8V2/ifw5p9w93aPqM1lFc3FvbuCYt4z93JIGeOar6h4zt7TXCxu4I9GsoZft87xOSJQ4VUUgY4w+evb1pvgCW40/wpoWi3umXttcW+mxLNJJDiNHVQCm7PWuR1mTUV+GvipI7W1a1/tK5zKblhIP3/AD8nl4/8eok7aoFqdRqOq2eueLLjQ9SsLK+0O1tUkuftVqZg1wxyqAEEcL8xyP4lrpNFu9Mu9Ct59B8n+z9mIBAmxAAcYC4GBxWZYi70zX59NWyMlhcWzXgvgMHzt2HR+xJBUg+gI7Covh2P+Lb6QcbSbbOB7kmm9E7f1uSndr+uxLoWvazrujQ6hBpVikcpYBZL51b5WK8gRH09akt9b1L/AIS6PR76wtYUeza5EsN00hyHVcYKL61m+A7S7fwbaNHqMkSl5cIIkOP3rdyKkihmh+KMAnumuCdJkwWRVx+9X0FU/it6j6HS3WoW9kVFy5Ut0AQtn8hWAPFsZ8atpnmD7GLAT58l92/zNvp0x7VvX8zQ25MdxBbydQ067lwOW4BGeM964+2umufiAksOtWZurnTB9mX7AxiuYQ4YvG4mwcZAI/HpUrcZ1tjq1pqM08Vo0jNbkB90TIORkYJAz+FGq6ta6NaLc3vm+W0qRDyoWkO5jgcKCcZPXoKbpK3kdqyalf299cLIwMlvB5KgZyFK725A461leMLvUNNsre90++MKi6gieHylYOHlVTyRkcE9KOwdzo80orlfEWs3VprttZLqUOn28tuzqY4vPuZZA2MCPBwgHJbB5IHHdfDeq6n4g8P3e24S3u7e7ltluJLY/MFPDGMkYOO2aAOporifC994q8Q+HtF1eS7s7fzGU3MBh/1sXRmBB+Vj2HQdye3a5oAWs668P6Nf6jHf32kWNzeRgBLma2R5Ex0wxGRWjQBikACiiigAooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzfh2LVX8L6UbW8s4ovsUO1ZbRnb7g6kSL/KtH7Prn/QR0/8A8AH/APj1M8K/8ihpH/XlD/6AK1s1U/iZFP4EZNpaa5Fq0k+oaraXFiYgq2kNgY2V8/e3mRs+mMVEmn3GqatDqOpL5UNoSbS1zkhiMGRz64JAA6Ak5JOBtZBoBBGQRipLOKuYPEOtePNOhv8ASI7XStHle6+2pdb1umMbIgCbQQRuJOemOprp9Ykv4tLmbS7OO8uNpxDJP5W7js208/XA96vZXdjIzjNGaAOI0HwzqbQaZNqBFlcaTYrbWiht6+aQPMcjuvAUd8ZPGRWTo/hzXNGuEgu/BGhapJ/aE12uqfbVBjMkzyBsNCXBUPjgk8V6bkUZpLTYDn/FdneXjaK1pbtN9m1KOeYIRlUVXyeevJA/Gl0nQ5Tql3rWsnde3kfkiBXJjggBJEeOjHnLHHUkDjr0FFNaC8zntH03V9K1+9ge5FzoUkayWgkbMts+SGjz3TGCM9OlYt54I1S98Lazpg1IQtf3s08aFVKBWl3DJ27s4967uila6sPrcw/E48RjSG/4RRdPku9u3y77eFOeNwZTxjrjBz7VP4d0htB8K6fpPmCV7S2SEuBgMQuCfzrRnErW8i28ixzFCEd03KrY4JXIyM9sjPqK5zwXqmqaidch1q5huZrDU3tUkhg8pSgjjYfLlu7HuaN7rv8A1+obJf1/WweGPD2qaT4dt7O61SSOVC5ZIkjZRudmwCVz3qeDQ72LxomqzXhuIFsWt/3gUMGLhuAoHGBXQZFGaq+tw6WMDVvDk2qaw17JqDLEtjLaw2vl/KrycNITnk4AAHbn1rFstP8AGVjo9naJpHhuW4srQWsN4+oTBgNoBOPs5wDtBKhuw5rucikyPapsth3Oa8P+F59Nu7TUr68LX/8AZyWl5Hb5EE7rjEm087gAQD6Gqupzaj4ms4tOOjXdhKl9G8jz7TGI45Q24MDzkKMADvW9rcuow6aW0Y2Qug6c3rMse3cN33ec4zj3xWiD6099RaJWObvPDN6PFj69o2pQ2s9xbJa3Ed1aGdWRGLKUw6FD8xzyQeOOKbpnhzV9Gg1BbLWreSS6uWuEe5sS4Qty24LIu7pxjbj0NdPkUZo6AYPg/QtR8OaDBpeoajbX8dsgSF4bNoGwM53ZkcE/TFb2KKKACiszUZdUTVNNTT2sRaPKwvPtBbzCu0kCLHGc9c9s1pZoAWikzRketAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5r4UsbPXtVNrr8Ed5FZ6TY/Y7W5UNGFeMlpAh4JLDGccYxxmrut2cOkeGdM0exvriTTm1WO2u5Xl+ZImYny9wxhdxVPYHFa+jaFpuq+FNElv7OOaSOxiCSEYdQUHAYc49q3P7Nsv7ONh9lhNoVKmEoCpHuO9VJav1/UiHwr0/Q5K+0uy0PxjoMWgWkNqL1pory2gQKksIjzuZRwSGCjP+1jvXK+GNA0mT/hFFk0+3Zbi0vhMpjGJQrjarD+IDsDwO1en2fh/S7DzTaWUcbSpsdhksV/u5POPaq8PhDQrcW4g02GMWqOkG3I8tXzuA575pLSxW6seWwaZZX2lxS3tpDO6+D5WDSIGOVc7Tz3HY9u1aN2JtEstQn0CLybl/C8M8jxj5mfewaUn+JwuTk88V3sXgnw7DGUi0qBVMBtiBn/VE5Kdeme1W7Tw5pNheC6tLGOOYQC2DjJIiHROT0qXs13/4P+Y/tX/rocf4h0nTNC0PSdS8Mwxw6kb21SCaHG+8DyKrq7DmQFCzHOeme1T2OgaXqPjzxSuoWcV3GBbt5U48yMM0ZJbacjPvXUWfhzSLG8W5tLCGKZc7GC/cz12jov4U6Dw/plteXl3b2iR3F9/x8yAnMv15qr7/AD/QVtjidFD6n8H9Et57+OOe4aOOI3RLRzlXJETkc7WCbf8AHodLwzBbaf4rkt59Ci0S/ksywjspQ9rPGrgFgAq4YFh1A4bvjjei8J6FDo6aVHpluLCOTzUtyuUVs5yAehzzVjT9D03S3kewtEieQBXflmI9MnnHPSkH9fiT2Go2WqWoudMu4Ly3JKiW3lEikg4IyDjg1UvtDivrkzve6hCSANsF5JGo/AHFT6VpGn6JYiz0izhs7cMX8qFAq7ick49zV3rQMpafpqadG6R3F1OHOSbm4aUj6FjxXN+B5EXUfFgZ1BOuyAAn/pjFXWzwJcW8kMy7o5FKsM4yD1rjIfBfh3TviJZz2ej2scslnPcO+zcWlWSEK5zn5gGbB6jJpW1v/XQHsV/D2k6Z4hi1u88RwRXeoR6hcQyGfDNZojfu1TP+rGza2RjO7Pese/1SRPh54VvvELrPb/ayLmO7bbFcxbZBGZXOQOAjfNwWwO+a9EvfDuk6hdG5vLCGWZhhnK/fHo2PvD65qHVtDlvJ7K6027WyurEMId8IliIYAEMmQe3BDKR64JFFrfgN6v7zmfBWnaLcXmq65o/9lx+cojt49Nnjn+yrtG7BTgbmAO0ccepNclokfh3xNBpGmTroseoRTq19PLeJ9puwM70eI/vCXPVW4U9CcCvSbTwtI13e3mr3kU93eWv2Rmsrb7Mix5J4G5m3ZPUsfYCqs3hDULzT49K1HVrWfS49gCrpwS4KqQQDJvKjoMlYx7YprcRB8RtOsj4aguHtIGngvLRIpTGC8a/aE4DdQKn+I9ulx4QCybhi8ttpRipBMyDgj2Jra1Xw5pWubP7Ws0uhHjaHY4GDkcA+vNJdeG9JvdKj027s0ms4nDpE7EgMDkHrngmj/O/5f5B1+Rzc2m2ejfFDQU0u2jtFvLC8+0CIbfPKGEqX/vEbm5OTya5HVpdI1G/1zRb2bSYNYmvXWDUr+6SG4t1JG3ar/MQo6BeGH1NeqzaDptxqltqU1oj3lohSCYk7o1PUDnvWN/wiupw209hZaxajTpndyl1p/nTJvYlgr+YF7nG5G980lp/XmBsWb6Ro0dlpVtLaWglVhaWquqGQDlti55xnPHTNaVZFp4Y0m0i0lfskc0mjw+TZTSgNJEu0KcH1IAzWlcRNNayxRytC7oVWRMZQkdRnjIpsDlfENhZx+PfCt6lrAt1Jdzq84jAkYC1kwC3Uism4gtvEviXxB9j0qyvTZSLbT3WrN5iwSCMHbDHtyBhgSdy5Oa6TT/DuoC9srvX9Wj1KXT1YWxitfI5Zdpd/nbc2MjjaOTxV248NaPdX7Xtxp8L3LgB5Cv8ArMDA3Do3HHOaAOGmhi1f4ApJqLC4uYdJ3iRmJKvs4br7d663S/C2lQ3NhqwgL6jBAU+1s53yBgN27+904B4HbFTS+D9Bm00adJpkJswSRAMhOeowD09ulaGn6da6Xai3sYvKhByFBJ/nR3Dt8y1RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGV4W/5FDSP+vKH/wBAFatFFVL4mRT+BBRRRUlhRRRQAUUUUAFFFFABRRRQAHpXGXOrzj4jWke2PCwy244P3WkiyevXgUUUAdnRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9k=" alt="" />

用maven添加这六个包的依赖代码如下:

<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.1.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.1.1.RELEASE</version>
</dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.3.RELEASE</version>
</dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.3.RELEASE</version>
</dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-expression -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.1.3.RELEASE</version>
</dependency> <!--&lt;!&ndash; https://mvnrepository.com/artifact/commons-logging/commons-logging &ndash;&gt;-->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>

二、建立一个实体类:

诸如学生类:

package entity;

public class Student {

    private int stuNo;
private String name;
private String score; public int getStuNo() {
return stuNo;
} public void setStuNo(int stuNo) {
this.stuNo = stuNo;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getScore() {
return score;
} public void setScore(String score) {
this.score = score;
} @Override
public String toString() {
return "Student{" +
"stuNo=" + stuNo +
", name='" + name + '\'' +
", score='" + score + '\'' +
'}';
}
}

三、而使用Spring的一个核心是使用xml文件配置bean(IOC),实质上可以创建对象并赋值:

我们新建一个ApplicationContext.xml文件(格式是Spring配置文件格式)

在里面添加bean:

  bean的格式:

<bean name="student1" class="entity.Student">
<property name="stuNo" value="1"/>
<property name="name" value="huahua"/>
<property name="score" value="100"/>
</bean> <bean name="student2" class="entity.Student">
<property name="stuNo" value="2"/>
<property name="name" value="haha"/>
<property name="score" value="90"/>
</bean>

添加后的xml文件大约长这样:

这就配置好了Student类的各个对象

四、新建Main类,我们在此类中获取并输出:

import entity.Student;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main {
public static void main(String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");//括号内写xml文件路径
Student student1 = (Student)context.getBean("student1");
Student student2 = (Student)context.getBean("student2");
System.out.println(student1);
System.out.println(student2);
}
}

之后运行Main文件,输出如下:

大功告成!!

总结:

IOC(控制反转)也叫  DI(依赖注入),无论要什么对象,都可以去springIoc中获取,而不需要自己操作。

Spring发展史:

1.new,set对象

2.简单工厂

3、IOC(超级工厂)

第一个Spring小程序实战的更多相关文章

  1. 搭建Spring开发环境并编写第一个Spring小程序

    搭建Spring开发环境并编写第一个Spring小程序 2015-05-27      0个评论    来源:茕夜   收藏    我要投稿 一.前面,我写了一篇Spring框架的基础知识文章,里面没 ...

  2. [转]微信小程序之购物车 —— 微信小程序实战商城系列(5)

    本文转自:http://blog.csdn.net/michael_ouyang/article/details/70755892 续上一篇的文章:微信小程序之商品属性分类  —— 微信小程序实战商城 ...

  3. [转]微信小程序之购物数量加减 —— 微信小程序实战商城系列(3)

    本文转自:http://blog.csdn.net/michael_ouyang/article/details/70194144 我们在购买宝贝的时候,购物的数量,经常是我们需要使用的,如下所示: ...

  4. [转]微信小程序之加载更多(分页加载)实例 —— 微信小程序实战系列(2)

    本文转自;http://blog.csdn.net/michael_ouyang/article/details/56846185 loadmore 加载更多(分页加载) 当用户打开一个页面时,假设后 ...

  5. 【微信小程序】转载:微信小程序实战篇-下拉刷新与加载更多

    下拉刷新 实现下拉刷新目前能想到的有两种方式 1. 调用系统的API,系统有提供下拉刷新的API接口 当然,你可以直接在全局变量app.json的window里面配置上面这个属性,这样整个项目都允许下 ...

  6. 微信小程序实战篇:商品属性联动选择(案例)

    本期的微信小程序实战篇来做一个电商网站经常用到的-商品属性联动选择的效果,素材参考了一点点奶茶. 效果演示:   商品属性联动.gif 代码示例 1.commodity.xml <!-- < ...

  7. 微信小程序实战之天气预报

    原文:微信小程序实战之天气预报 这个案例是仿UC中天气界面做的中间也有点出入,预留了显示当前城市名字和刷新图标的位置,自己可以写下,也可以添加搜索城市.值得注意的是100%这个设置好像已经不好使了,可 ...

  8. 微信小程序实战之百思不得姐精简版

    原文:微信小程序实战之百思不得姐精简版 微信小程序基本组件和API已撸完,总归要回到正题的,花了大半天时间做了个精简版的百思不得姐,包括段子,图片,音频,视频,四个模块.这篇就带着大家简述下这个小的A ...

  9. WordPress 网站开发“微信小程序“实战(三)

    本文是"WordPress 开发微信小程序"系列的第三篇,本文记录的是开发"DeveWork+"小程序1.2 版本的过程.建议先看完第一篇.第二篇再来阅读本文. ...

随机推荐

  1. Sass 基础(六)

    join() 函数 join()函数是将两个列表连接合并成一个列表. >>join(10px 20px, 30px 40px) (10px 20px 20px 40px) >> ...

  2. 编写可维护的JavaScript之编程风格

    在团队中只有每个人的编程风格一致,大家才能方便的互相看懂和维护对方的代码. 1. 层级缩进 对于层级缩进目前有两种主张:1)使用制表符这种方法有两种好处,第一,制表符和缩进层级之间是一一对应关系,符合 ...

  3. Co. - Apple - Apple ID

    有些应用或游戏,在国内 App Store 没上架或者被下架了,但是其他国家或地区(如美国.香港和台湾等)的 App Store 却提供下载,这时我们需要登陆一个相应地区的 Apple ID 才可以下 ...

  4. 【nginx下对服务器脚本php的支持】

    安装php7     下载地址:https://secure.php.net/downloads.php这里下载的是:wget http://ar2.php.net/distributions/php ...

  5. hadoop生态搭建(3节点)-03.zookeeper配置

    # https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html # ===== ...

  6. hive 学习系列三(表格的创建create-table)

    表格创建: 语法 第一种建表的形式: 说明: temporary 临时表,在当前回话内,这张表有效,当回话结束,可以理解为程序结束,则程序终止. external 外部表, hdfs 上的表的文件,并 ...

  7. aioysql(异步操作MySQL)-python

    python异步IO初探 探索异步IO执之前,先说说IO的种类 阻塞IO最简单,即读写数据时,需要等待操作完成,才能继续执行.进阶的做法就是用多线程来处理需要IO的部分,缺点是开销会有些大. 非阻塞I ...

  8. C语言实例解析精粹学习笔记——36(模拟社会关系)

    实例: 设计一个模拟社会关系的数据结构,每个人的信息用结构表示,包含名字.性别和指向父亲.母亲.配偶.子女的指针(只限两个子女).要求编写以下函数: (1)增加一个新人的函数 (2)建立人与人之间关系 ...

  9. 02---Nginx

    Nginx .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: ...

  10. python2.7入门---Number(数字)

        今天咱们来简单分享一下关于python中的一种数据类型和操作方法.费话不多说哈,咱们直接来进行实践加理论.首先,我们要知道,Python Number 数据类型用于存储数.数据类型是不允许改变 ...