Utilizando técnicas de aprendizaje por refuerzo para enseñar a un agente a jugar el videojuego "Galaga"
A lo largo del trabajo realizado se desarrolló una versión del juego Galaga, sobre la cual se realizó el entrenamiento de un agente capaz de adaptarse a diferentes niveles de dificultad del juego y obtener un desempleo comparable al de un jugador humano en los diferentes niveles. En el documento se...
- Autores:
-
Guzmán Moyano, John Alexander
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2023
- Institución:
- Universidad de los Andes
- Repositorio:
- Séneca: repositorio Uniandes
- Idioma:
- spa
- OAI Identifier:
- oai:repositorio.uniandes.edu.co:1992/64346
- Acceso en línea:
- http://hdl.handle.net/1992/64346
- Palabra clave:
- Aprendizaje por refuerzo
Intelogencia artificial
Videojuegos
Machine learning
Redes neuronales
Ingeniería
- Rights
- openAccess
- License
- Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id |
UNIANDES2_a50016f59a717ad27505989700119aef |
---|---|
oai_identifier_str |
oai:repositorio.uniandes.edu.co:1992/64346 |
network_acronym_str |
UNIANDES2 |
network_name_str |
Séneca: repositorio Uniandes |
repository_id_str |
|
dc.title.none.fl_str_mv |
Utilizando técnicas de aprendizaje por refuerzo para enseñar a un agente a jugar el videojuego "Galaga" |
title |
Utilizando técnicas de aprendizaje por refuerzo para enseñar a un agente a jugar el videojuego "Galaga" |
spellingShingle |
Utilizando técnicas de aprendizaje por refuerzo para enseñar a un agente a jugar el videojuego "Galaga" Aprendizaje por refuerzo Intelogencia artificial Videojuegos Machine learning Redes neuronales Ingeniería |
title_short |
Utilizando técnicas de aprendizaje por refuerzo para enseñar a un agente a jugar el videojuego "Galaga" |
title_full |
Utilizando técnicas de aprendizaje por refuerzo para enseñar a un agente a jugar el videojuego "Galaga" |
title_fullStr |
Utilizando técnicas de aprendizaje por refuerzo para enseñar a un agente a jugar el videojuego "Galaga" |
title_full_unstemmed |
Utilizando técnicas de aprendizaje por refuerzo para enseñar a un agente a jugar el videojuego "Galaga" |
title_sort |
Utilizando técnicas de aprendizaje por refuerzo para enseñar a un agente a jugar el videojuego "Galaga" |
dc.creator.fl_str_mv |
Guzmán Moyano, John Alexander |
dc.contributor.advisor.none.fl_str_mv |
Lozano Martínez, Fernando Enrique García Cárdenas, Juan José |
dc.contributor.author.none.fl_str_mv |
Guzmán Moyano, John Alexander |
dc.contributor.jury.none.fl_str_mv |
Segura Quijano, Fredy Enrique |
dc.subject.keyword.none.fl_str_mv |
Aprendizaje por refuerzo Intelogencia artificial Videojuegos Machine learning Redes neuronales |
topic |
Aprendizaje por refuerzo Intelogencia artificial Videojuegos Machine learning Redes neuronales Ingeniería |
dc.subject.themes.es_CO.fl_str_mv |
Ingeniería |
description |
A lo largo del trabajo realizado se desarrolló una versión del juego Galaga, sobre la cual se realizó el entrenamiento de un agente capaz de adaptarse a diferentes niveles de dificultad del juego y obtener un desempleo comparable al de un jugador humano en los diferentes niveles. En el documento se explica todo el proceso de desarrollo de los programas utilizados y los resultados obtenidos. |
publishDate |
2023 |
dc.date.accessioned.none.fl_str_mv |
2023-01-30T21:45:47Z |
dc.date.available.none.fl_str_mv |
2023-01-30T21:45:47Z |
dc.date.issued.none.fl_str_mv |
2023-01-16 |
dc.type.es_CO.fl_str_mv |
Trabajo de grado - Pregrado |
dc.type.driver.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.type.version.none.fl_str_mv |
info:eu-repo/semantics/acceptedVersion |
dc.type.coar.none.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
dc.type.content.es_CO.fl_str_mv |
Text |
dc.type.redcol.none.fl_str_mv |
http://purl.org/redcol/resource_type/TP |
format |
http://purl.org/coar/resource_type/c_7a1f |
status_str |
acceptedVersion |
dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/1992/64346 |
dc.identifier.instname.es_CO.fl_str_mv |
instname:Universidad de los Andes |
dc.identifier.reponame.es_CO.fl_str_mv |
reponame:Repositorio Institucional Séneca |
dc.identifier.repourl.es_CO.fl_str_mv |
repourl:https://repositorio.uniandes.edu.co/ |
url |
http://hdl.handle.net/1992/64346 |
identifier_str_mv |
instname:Universidad de los Andes reponame:Repositorio Institucional Séneca repourl:https://repositorio.uniandes.edu.co/ |
dc.language.iso.es_CO.fl_str_mv |
spa |
language |
spa |
dc.relation.references.es_CO.fl_str_mv |
R. S. Sutton and A. G. Barto, Reinforcement learning: An introduction, pp. 1-13. MIT press, 2018. K. Rajalekshmy, "How artificial intelligence will revolutionize the game development." https://readwrite.com/ 5-ways-artificial-intelligence-will-revolutionize-game-development/, Nov 2022. J. Romoff, "Deep reinforcement learning for video game development." https: //www.youtube.com/watch?v=Q9gBfhZWQ6E, Octubre 2021. D. O'Connor, "Ubisoft la forge - pushing state-of-the-art ai in games to create the next generation of npcs." https: //news.ubisoft.com/en-au/article/6Mv4hZqUMJoY1xpf1yiQPi/ ubisoft-la-forge-pushing-stateoftheart-ai-in-games-to\ -create-the-next-generation-of-npcs, Enero 2022 I. Millington and J. Funge, Artificial intelligence for games, pp. 3-18. CRC Press, 2018. D. Macri, "An introduction to neural networks with an application to games." https://venturebeat.com/pc-gaming/ an-introduction-to-neural-networks-with-an-application-to-games/, 2017. L. M. de Almeida, E. L. Colombini, R. Técnico-IC-PFG, and P. F. de Gradua¸c-ao, "Playing nes through the use of a dqn," 2018. Y. Li, "Deep reinforcement learning: An overview." https://arxiv.org/abs/ 1701.07274, 2017. V. Mnih, K. Kavukcuoglu, D. Silver, A. Graves, I. Antonoglou, D. Wierstra, and M. Riedmiller, "Playing atari with deep reinforcement learning." https://arxiv. org/abs/1312.5602, 2013. D. Ballesteros, "Desarrollo de un programa de computador capaz de jugar starcraft: Brood war usando t´ecnicas de aprendizaje por refuerzo," Master's thesis, Universidad de los Andes, 2011. Python, "Pyhton offical website." https://www.python.org/ A. Raffin, A. Hill, A. Gleave, A. Kanervisto, M. Ernestus, and N. Dormann, "Stable-baselines3: Reliable reinforcement learning implementations," Journal of Machine Learning Research, vol. 22, no. 268, pp. 1-8, 2021 TensorFlow, "Tensorboard." https://www.pygame.org/news. G. Brockman, V. Cheung, L. Pettersson, J. Schneider, J. Schulman, J. Tang, and W. Zaremba, "Openai gym." arXiv:1606.01540, 2016. A. Clark, "Python pillow." https://python-pillow.org/. Pygame, "Pygame website." https://www.pygame.org/news J. organization, "Jupyter website." https://www.pygame.org/news. T. pandas development team, "pandas-dev/pandas: Pandas." https://doi.org/ 10.5281/zenodo.3509134, Feb. 2020 V. Mnih, A. P. Badia, M. Mirza, A. Graves, T. P. Lillicrap, T. Harley, D. Silver, and K. Kavukcuoglu, "Asynchronous methods for deep reinforcement learning," 2016. J. Schulman, F. Wolski, P. Dhariwal, A. Radford, and O. Klimov, "Proximal policy optimization algorithms." https://arxiv.org/abs/1707.06347, 2017. A. Raffin, "Rl baselines3 zoo." https://github.com/DLR-RM/ rl-baselines3-zoo, 2020. |
dc.rights.license.spa.fl_str_mv |
Attribution-NonCommercial-NoDerivatives 4.0 Internacional |
dc.rights.uri.*.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/4.0/ |
dc.rights.accessrights.spa.fl_str_mv |
info:eu-repo/semantics/openAccess |
dc.rights.coar.spa.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivatives 4.0 Internacional http://creativecommons.org/licenses/by-nc-nd/4.0/ http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.extent.es_CO.fl_str_mv |
45 paginas |
dc.format.mimetype.es_CO.fl_str_mv |
application/pdf |
dc.publisher.es_CO.fl_str_mv |
Universidad de los Andes |
dc.publisher.program.es_CO.fl_str_mv |
Ingeniería Electrónica |
dc.publisher.faculty.es_CO.fl_str_mv |
Facultad de Ingeniería |
dc.publisher.department.es_CO.fl_str_mv |
Departamento de Ingeniería Eléctrica y Electrónica |
institution |
Universidad de los Andes |
bitstream.url.fl_str_mv |
https://repositorio.uniandes.edu.co/bitstreams/c86d67af-0e85-47af-9b28-19d57a8beb8e/download https://repositorio.uniandes.edu.co/bitstreams/df1d3f7e-62ea-49e1-8304-94844b9ed394/download https://repositorio.uniandes.edu.co/bitstreams/38ac234e-9380-4ca1-b0d6-073ff4a8428c/download https://repositorio.uniandes.edu.co/bitstreams/43a0cced-ac7e-40af-bc07-aaae782fc47a/download https://repositorio.uniandes.edu.co/bitstreams/e29876ca-b799-4dc3-a664-fd1110f66877/download https://repositorio.uniandes.edu.co/bitstreams/03371849-1149-4981-ba61-ea1764e05d22/download https://repositorio.uniandes.edu.co/bitstreams/c9ff56f8-c743-4b07-844c-fbfb4ec93f4e/download https://repositorio.uniandes.edu.co/bitstreams/39cf0a05-a318-41ba-953f-06c4e2d4dedd/download |
bitstream.checksum.fl_str_mv |
f72b4b0930c69071330af5668205ef10 ec44cc7e8d5542f2b50186c3bbcc830f 0c136489393db378ba19b2c76deb8cdf c7a8434d7d4991fc09bf67053bb4f30f 4460e5956bc1d1639be9ae6146a50347 76b2373bccb499a9309febf679d572e3 4491fe1afb58beaaef41a73cf7ff2e27 5aa5c691a1ffe97abd12c2966efcb8d6 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio institucional Séneca |
repository.mail.fl_str_mv |
adminrepositorio@uniandes.edu.co |
_version_ |
1812133887593152512 |
spelling |
Attribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Lozano Martínez, Fernando Enrique93c1238a-333a-40b0-b14b-212ed0ba98e3600García Cárdenas, Juan José3004cb07-9116-40d4-b6e9-5f4358cf3c4d600Guzmán Moyano, John Alexander21edf94f-bd62-47d7-aeae-653fa3b4e9ad600Segura Quijano, Fredy Enrique2023-01-30T21:45:47Z2023-01-30T21:45:47Z2023-01-16http://hdl.handle.net/1992/64346instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/A lo largo del trabajo realizado se desarrolló una versión del juego Galaga, sobre la cual se realizó el entrenamiento de un agente capaz de adaptarse a diferentes niveles de dificultad del juego y obtener un desempleo comparable al de un jugador humano en los diferentes niveles. En el documento se explica todo el proceso de desarrollo de los programas utilizados y los resultados obtenidos.Ingeniero ElectrónicoPregrado45 paginasapplication/pdfspaUniversidad de los AndesIngeniería ElectrónicaFacultad de IngenieríaDepartamento de Ingeniería Eléctrica y ElectrónicaUtilizando técnicas de aprendizaje por refuerzo para enseñar a un agente a jugar el videojuego "Galaga"Trabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TPAprendizaje por refuerzoIntelogencia artificialVideojuegosMachine learningRedes neuronalesIngenieríaR. S. Sutton and A. G. Barto, Reinforcement learning: An introduction, pp. 1-13. MIT press, 2018.K. Rajalekshmy, "How artificial intelligence will revolutionize the game development." https://readwrite.com/ 5-ways-artificial-intelligence-will-revolutionize-game-development/, Nov 2022.J. Romoff, "Deep reinforcement learning for video game development." https: //www.youtube.com/watch?v=Q9gBfhZWQ6E, Octubre 2021.D. O'Connor, "Ubisoft la forge - pushing state-of-the-art ai in games to create the next generation of npcs." https: //news.ubisoft.com/en-au/article/6Mv4hZqUMJoY1xpf1yiQPi/ ubisoft-la-forge-pushing-stateoftheart-ai-in-games-to\ -create-the-next-generation-of-npcs, Enero 2022I. Millington and J. Funge, Artificial intelligence for games, pp. 3-18. CRC Press, 2018.D. Macri, "An introduction to neural networks with an application to games." https://venturebeat.com/pc-gaming/ an-introduction-to-neural-networks-with-an-application-to-games/, 2017.L. M. de Almeida, E. L. Colombini, R. Técnico-IC-PFG, and P. F. de Gradua¸c-ao, "Playing nes through the use of a dqn," 2018.Y. Li, "Deep reinforcement learning: An overview." https://arxiv.org/abs/ 1701.07274, 2017.V. Mnih, K. Kavukcuoglu, D. Silver, A. Graves, I. Antonoglou, D. Wierstra, and M. Riedmiller, "Playing atari with deep reinforcement learning." https://arxiv. org/abs/1312.5602, 2013.D. Ballesteros, "Desarrollo de un programa de computador capaz de jugar starcraft: Brood war usando t´ecnicas de aprendizaje por refuerzo," Master's thesis, Universidad de los Andes, 2011.Python, "Pyhton offical website." https://www.python.org/A. Raffin, A. Hill, A. Gleave, A. Kanervisto, M. Ernestus, and N. Dormann, "Stable-baselines3: Reliable reinforcement learning implementations," Journal of Machine Learning Research, vol. 22, no. 268, pp. 1-8, 2021TensorFlow, "Tensorboard." https://www.pygame.org/news.G. Brockman, V. Cheung, L. Pettersson, J. Schneider, J. Schulman, J. Tang, and W. Zaremba, "Openai gym." arXiv:1606.01540, 2016.A. Clark, "Python pillow." https://python-pillow.org/.Pygame, "Pygame website." https://www.pygame.org/newsJ. organization, "Jupyter website." https://www.pygame.org/news.T. pandas development team, "pandas-dev/pandas: Pandas." https://doi.org/ 10.5281/zenodo.3509134, Feb. 2020V. Mnih, A. P. Badia, M. Mirza, A. Graves, T. P. Lillicrap, T. Harley, D. Silver, and K. Kavukcuoglu, "Asynchronous methods for deep reinforcement learning," 2016.J. Schulman, F. Wolski, P. Dhariwal, A. Radford, and O. Klimov, "Proximal policy optimization algorithms." https://arxiv.org/abs/1707.06347, 2017.A. Raffin, "Rl baselines3 zoo." https://github.com/DLR-RM/ rl-baselines3-zoo, 2020.201713338PublicationORIGINALDocumentoProyectoDeGradoFinal-JohnGuzman-Corregido.pdfDocumentoProyectoDeGradoFinal-JohnGuzman-Corregido.pdfDocumento final del trabajo de grado con correcciones del Juradoapplication/pdf2683874https://repositorio.uniandes.edu.co/bitstreams/c86d67af-0e85-47af-9b28-19d57a8beb8e/downloadf72b4b0930c69071330af5668205ef10MD54AutorizacionEnvioDocumento-Firmada.pdfAutorizacionEnvioDocumento-Firmada.pdfHIDEapplication/pdf174024https://repositorio.uniandes.edu.co/bitstreams/df1d3f7e-62ea-49e1-8304-94844b9ed394/downloadec44cc7e8d5542f2b50186c3bbcc830fMD53THUMBNAILDocumentoProyectoDeGradoFinal-JohnGuzman-Corregido.pdf.jpgDocumentoProyectoDeGradoFinal-JohnGuzman-Corregido.pdf.jpgIM Thumbnailimage/jpeg11844https://repositorio.uniandes.edu.co/bitstreams/38ac234e-9380-4ca1-b0d6-073ff4a8428c/download0c136489393db378ba19b2c76deb8cdfMD56AutorizacionEnvioDocumento-Firmada.pdf.jpgAutorizacionEnvioDocumento-Firmada.pdf.jpgIM Thumbnailimage/jpeg16680https://repositorio.uniandes.edu.co/bitstreams/43a0cced-ac7e-40af-bc07-aaae782fc47a/downloadc7a8434d7d4991fc09bf67053bb4f30fMD58CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repositorio.uniandes.edu.co/bitstreams/e29876ca-b799-4dc3-a664-fd1110f66877/download4460e5956bc1d1639be9ae6146a50347MD52TEXTDocumentoProyectoDeGradoFinal-JohnGuzman-Corregido.pdf.txtDocumentoProyectoDeGradoFinal-JohnGuzman-Corregido.pdf.txtExtracted texttext/plain90359https://repositorio.uniandes.edu.co/bitstreams/03371849-1149-4981-ba61-ea1764e05d22/download76b2373bccb499a9309febf679d572e3MD55AutorizacionEnvioDocumento-Firmada.pdf.txtAutorizacionEnvioDocumento-Firmada.pdf.txtExtracted texttext/plain1163https://repositorio.uniandes.edu.co/bitstreams/c9ff56f8-c743-4b07-844c-fbfb4ec93f4e/download4491fe1afb58beaaef41a73cf7ff2e27MD57LICENSElicense.txtlicense.txttext/plain; charset=utf-81810https://repositorio.uniandes.edu.co/bitstreams/39cf0a05-a318-41ba-953f-06c4e2d4dedd/download5aa5c691a1ffe97abd12c2966efcb8d6MD511992/64346oai:repositorio.uniandes.edu.co:1992/643462023-10-10 16:34:36.284http://creativecommons.org/licenses/by-nc-nd/4.0/open.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coWW8sIGVuIG1pIGNhbGlkYWQgZGUgYXV0b3IgZGVsIHRyYWJham8gZGUgdGVzaXMsIG1vbm9ncmFmw61hIG8gdHJhYmFqbyBkZSBncmFkbywgaGFnbyBlbnRyZWdhIGRlbCBlamVtcGxhciByZXNwZWN0aXZvIHkgZGUgc3VzIGFuZXhvcyBkZSBzZXIgZWwgY2FzbywgZW4gZm9ybWF0byBkaWdpdGFsIHkvbyBlbGVjdHLDs25pY28geSBhdXRvcml6byBhIGxhIFVuaXZlcnNpZGFkIGRlIGxvcyBBbmRlcyBwYXJhIHF1ZSByZWFsaWNlIGxhIHB1YmxpY2FjacOzbiBlbiBlbCBTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIG8gZW4gY3VhbHF1aWVyIG90cm8gc2lzdGVtYSBvIGJhc2UgZGUgZGF0b3MgcHJvcGlvIG8gYWplbm8gYSBsYSBVbml2ZXJzaWRhZCB5IHBhcmEgcXVlIGVuIGxvcyB0w6lybWlub3MgZXN0YWJsZWNpZG9zIGVuIGxhIExleSAyMyBkZSAxOTgyLCBMZXkgNDQgZGUgMTk5MywgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5MywgRGVjcmV0byA0NjAgZGUgMTk5NSB5IGRlbcOhcyBub3JtYXMgZ2VuZXJhbGVzIHNvYnJlIGxhIG1hdGVyaWEsIHV0aWxpY2UgZW4gdG9kYXMgc3VzIGZvcm1hcywgbG9zIGRlcmVjaG9zIHBhdHJpbW9uaWFsZXMgZGUgcmVwcm9kdWNjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSwgdHJhbnNmb3JtYWNpw7NuIHkgZGlzdHJpYnVjacOzbiAoYWxxdWlsZXIsIHByw6lzdGFtbyBww7pibGljbyBlIGltcG9ydGFjacOzbikgcXVlIG1lIGNvcnJlc3BvbmRlbiBjb21vIGNyZWFkb3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50by4gIAoKCkxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gc2UgZW1pdGUgZW4gY2FsaWRhZCBkZSBhdXRvciBkZSBsYSBvYnJhIG9iamV0byBkZWwgcHJlc2VudGUgZG9jdW1lbnRvIHkgbm8gY29ycmVzcG9uZGUgYSBjZXNpw7NuIGRlIGRlcmVjaG9zLCBzaW5vIGEgbGEgYXV0b3JpemFjacOzbiBkZSB1c28gYWNhZMOpbWljbyBkZSBjb25mb3JtaWRhZCBjb24gbG8gYW50ZXJpb3JtZW50ZSBzZcOxYWxhZG8uIExhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gc2UgaGFjZSBleHRlbnNpdmEgbm8gc29sbyBhIGxhcyBmYWN1bHRhZGVzIHkgZGVyZWNob3MgZGUgdXNvIHNvYnJlIGxhIG9icmEgZW4gZm9ybWF0byBvIHNvcG9ydGUgbWF0ZXJpYWwsIHNpbm8gdGFtYmnDqW4gcGFyYSBmb3JtYXRvIGVsZWN0csOzbmljbywgeSBlbiBnZW5lcmFsIHBhcmEgY3VhbHF1aWVyIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4gCgoKRWwgYXV0b3IsIG1hbmlmaWVzdGEgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwgeSBsYSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvcywgcG9yIGxvIHRhbnRvLCBsYSBvYnJhIGVzIGRlIHN1IGV4Y2x1c2l2YSBhdXRvcsOtYSB5IHRpZW5lIGxhIHRpdHVsYXJpZGFkIHNvYnJlIGxhIG1pc21hLiAKCgpFbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLiAKCg== |