Plantillas para la Automatización de la Infraestructura Tecnológica en la Nube de AWS para Startups (CloudFlex)

El proyecto se enfoca en facilitar la implementación y gestión de la infraestructura en la nube de Amazon Web Services (AWS) para startups, mediante la creación de plantillas automatizadas, este trabajo busca resolver las dificultades que enfrentan las empresas emergentes al configurar manualmente s...

Full description

Autores:
Campos Pérez, Alvaro José
Morales Oyala, Danny Alexander
Tipo de recurso:
Fecha de publicación:
2024
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/64747
Acceso en línea:
http://hdl.handle.net/11349/64747
Palabra clave:
Automatizacion
AWS
Nube
Startups
DevOps
Automation
Cloud
Startups
DevOps
AWS
Rights
License
Abierto (Texto Completo)
id UDISTRITA2_cfe0b6e28d039b5d917d2ebbb1b33245
oai_identifier_str oai:repository.udistrital.edu.co:11349/64747
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv Plantillas para la Automatización de la Infraestructura Tecnológica en la Nube de AWS para Startups (CloudFlex)
dc.title.titleenglish.none.fl_str_mv AWS Cloud Technology Infrastructure Automation Templates for Startups (CloudFlex)
title Plantillas para la Automatización de la Infraestructura Tecnológica en la Nube de AWS para Startups (CloudFlex)
spellingShingle Plantillas para la Automatización de la Infraestructura Tecnológica en la Nube de AWS para Startups (CloudFlex)
Automatizacion
AWS
Nube
Startups
DevOps
Automation
Cloud
Startups
DevOps
AWS
title_short Plantillas para la Automatización de la Infraestructura Tecnológica en la Nube de AWS para Startups (CloudFlex)
title_full Plantillas para la Automatización de la Infraestructura Tecnológica en la Nube de AWS para Startups (CloudFlex)
title_fullStr Plantillas para la Automatización de la Infraestructura Tecnológica en la Nube de AWS para Startups (CloudFlex)
title_full_unstemmed Plantillas para la Automatización de la Infraestructura Tecnológica en la Nube de AWS para Startups (CloudFlex)
title_sort Plantillas para la Automatización de la Infraestructura Tecnológica en la Nube de AWS para Startups (CloudFlex)
dc.creator.fl_str_mv Campos Pérez, Alvaro José
Morales Oyala, Danny Alexander
dc.contributor.advisor.none.fl_str_mv Leguizamon Paez, Miguel Angel
dc.contributor.author.none.fl_str_mv Campos Pérez, Alvaro José
Morales Oyala, Danny Alexander
dc.subject.none.fl_str_mv Automatizacion
AWS
Nube
Startups
DevOps
topic Automatizacion
AWS
Nube
Startups
DevOps
Automation
Cloud
Startups
DevOps
AWS
dc.subject.keyword.none.fl_str_mv Automation
Cloud
Startups
DevOps
AWS
description El proyecto se enfoca en facilitar la implementación y gestión de la infraestructura en la nube de Amazon Web Services (AWS) para startups, mediante la creación de plantillas automatizadas, este trabajo busca resolver las dificultades que enfrentan las empresas emergentes al configurar manualmente sus entornos tecnológicos, optimizando el proceso para reducir errores y mejorar tanto la eficiencia operativa como la escalabilidad de sus sistemas, para esto, se emplean herramientas como Terraform y Docker, integradas bajo un enfoque de prácticas DevOps, siguiendo la metodología ágil Scrum, el proyecto organiza las actividades en sprints que abarcan la configuración de herramientas, la creación de contenedores y la implementación de canalizaciones de integración y entrega continua, proponiendo recomendaciones para maximizar el aprovechamiento de recursos, reducir costos y facilitar la adaptación de esta solución en futuras startups, en conjunto, este trabajo ofrece una herramienta accesible y eficiente que permite a las startups gestionar su infraestructura en la nube de forma automatizada y estandarizada.
publishDate 2024
dc.date.accessioned.none.fl_str_mv 2024-11-05T12:17:23Z
dc.date.available.none.fl_str_mv 2024-11-05T12:17:23Z
dc.date.created.none.fl_str_mv 2024-10-08
dc.type.none.fl_str_mv bachelorThesis
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.degree.none.fl_str_mv Monografía
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/64747
url http://hdl.handle.net/11349/64747
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv Ries, E. (2011). The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Crown Business
Schwaber, K., & Sutherland, J. (2017). The Scrum Guide: The Definitive Guide to Scrum: The Rules of the Game. Scrum.Org
Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R. H., Konwinski, A., ... & Zaharia, M. (2010). A view of cloud computing. Communications of the ACM, 53(4), 50-58
HashiCorp. (n.d.). Terraform. https://www.terraform.io/
Merkel, D. (2014). Docker: Lightweight Linux Containers for Consistent Development and Deployment. Linux Journal
Madison, M. (2011). Jenkins: The Definitive Guide. O’Reilly Media
Amazon Web Services. (2021). What is Cloud Scalability? AWS. https://aws.amazon.com/what-is-cloud-scalability/
(S/f). Cloudflare.com. Recuperado el 16 de enero de 2024, de https://www.cloudflare.com/es-es/learning/cloud/what-is the-cloud/
¿Qué es Git? (s/f). Microsoft.com. Recuperado el 16 de enero de 2024, de https://learn.microsoft.com/es es/devops/develop/git/what-is-git
¿Qué es la seguridad en la nube? (2023, noviembre 27). www.kaspersky.es. https://www.kaspersky.es/resource center/definitions/what-is-cloud-security
(S/f-b). Cloudflare.com. Recuperado el 16 de enero de 2024, de https://www.cloudflare.com/es-es/learning/network layer/what-is-a-subnet/
(S/f-c). Amazon.com. Recuperado el 16 de enero de 2024, de https://docs.aws.amazon.com/es_es/vpc/latest/userguide/what-is-amazon-vpc.html
Hosting, S. W. (s/f). ¿Qué es SSH y cómo lo uso? Recursos de conocimiento de SiteGround. Recuperado el 16 de enero de 2024, de https://es.siteground.com/kb/quees ssh/?gad_source=1&gclid=CjwKCAiA75itBhA6EiwAkho9e7jb_wfpd6GdB1d JBa5bWSml7UA7BugTrTOGINWKIH88Pfv mxgCEcxoCva8QAvD_BwE
Cabrera, P., & Elizabeth, E. (2023). Desarrollo de un modelo de prestación de servicios de TI tipo SaaS en infraestructura cloud para la gestión de admisión y matrícula en instituciones de educación primaria y secundaria. Pontificia Universidad Católica del Perú
Julio Sandobalín, Emilio Insfran, Silvia Abrahão(2017). Automatización del Aprovisionamiento de Infraestructura en la Nube, Departamento de Informática y Ciencias de la Computación. Escuela Politécnica Nacional, Quito. Ecuador y Departamento de Sistemas Informáticos y Computación, Universitat Politècnica de València, España
Zuñiga Prieto, M., Solano Quinde, L., Insfran, E., & Cabrera, Y. (2017). Automatización del proceso de despliegue de servicios en la nube. Maskana, 7(Supl.), 195–201. Recuperado a partir de https://publicaciones.ucuenca.edu.ec/ojs/index. php/maskana/article/view/1089
Huerlo Quintero, J. R. (2020). Terraform como herramienta para automatizar la creación de infraestructuras siguiendo el concepto “Infraestructura como código”. Pontificia Universidad Católica Del Ecuador, Esmeraldas , Ecuador
S.Jourdan, P.Pomes, Infrastructure as Code (IAC) Cookbook, Copyright © 2017 Packt Publishing
Desislava Ivanova, Plamenka Borovska, Stefan Zahov; Development of PaaS using AWS and Terraform for medical imaging analytics. AIP Conf. Proc. 10 December 2018; 2048 (1): 060018. https://doi.org/10.1063/1.5082133
Krief, M. (2019). Learning DevOps: The complete guide to accelerate collaboration with Jenkins, Kubernetes, Terraform and Azure DevOps. Packt Publishing
Agrawal Prashant and Rawat Neelam. 2019. DevOps, a new approach to cloud development & testing. In Proceedings of the International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT), Vol. 1. 1–4
Chapman David. 2014. Introduction to DevOps on AWS. Amazon Web Services (2014). https://d0.awsstatic.com/whitepapers/AWS_DevOps.pdf
Jorba, J., & Joaquín, L. S. (2020, January 20). Automatización de infraestructura IT con IaC. https://openaccess.uoc.edu/handle/10609/108666
Aldo, D. C. (2023, November 13). Propuesta de diseño de un modelo de despliegue y gestión de infraestructura en la nube de Microsoft Azure para mejorar la eficiencia de aprovisionamiento de recursos mediante el uso de terraform en una empresa de desarrollo de software web para clientes en el sector financiero. https://repositorioacademico.upc.edu.pe/handle/10757/670214
Galeano Ospina, John Alexander, Mauricio C., Duque R., (2020). Línea base de infraestructura en la nube. https://bibliotecadigital.udea.edu.co/handle/10495/17243
Maria Camila, Gomez Hernandez, Catro Barrera & Harold Enrique. (2023, December 1). Administración de recursos de infraestructura de la Universidad de los Andes con Infrastructure as Code. Repositorio Institucional Séneca. https://repositorio.uniandes.edu.co/entities/publication/e56e83a2-b701-4559-8d5cb1eff062ef06
Mendoza Munguía, L. D., & Zelada Perez, J. A. (2022). Propuesta de implementación de una infraestructura en Azure para automatizar los servicios de los clientes en la empresa Multimarkas S.A.C. en la ciudad de Huancayo-2021. Universidad Tecnológica del Perú
Rifà-Pous, H., & Jorge, M. M. (2023, January 1). Infraestructura de seguridad en la nube de Azure. https://openaccess.uoc.edu/handle/10609/147879
Alberto, C. L., & En, E. I. G. (2021). Automatización de la gestión de la infraestructura en entorno cloud. https://ruc.udc.es/dspace/handle/2183/28878
Germán, M. M., & De València Departamento De Sistemas Informáticos Y Computación - Departament De Sistemes Informàtics I Computació, U. P. (2022, October 20). Gestión Automatizada de Recursos en Cuentas de AWS. https://riunet.upv.es/handle/10251/188252
BMC Software, "The AWS Well-Architected Framework: 5 Pillars & Best Practices,"BMC Blogs, 2023. [En línea]. Disponible en: https://www.bmc.com/blogs/awswell-architected-framework/
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.acceso.none.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.none.fl_str_mv pdf
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/89e70e29-b623-44d7-9920-25d77164d609/download
https://repository.udistrital.edu.co/bitstreams/6c9b9872-d9af-469c-a1fe-15657fb90c6f/download
https://repository.udistrital.edu.co/bitstreams/915ec055-133f-4311-b47f-e59f71339ac9/download
https://repository.udistrital.edu.co/bitstreams/7e08306f-f09d-4a80-a8c4-4a57d27ada96/download
https://repository.udistrital.edu.co/bitstreams/ca67ee7e-e69a-4c2e-826f-391bcbd422ba/download
bitstream.checksum.fl_str_mv be35de546fc496c121d5e069a64d3a2d
a35189eb811e91a49faadb43dfe2c52c
997daf6c648c962d566d7b082dac908d
57c636f367fcd945183037dedd68f0dd
4fdfcfe6489c759973d567afbd59e0b9
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1837006829087883264
spelling Leguizamon Paez, Miguel AngelCampos Pérez, Alvaro JoséMorales Oyala, Danny Alexander2024-11-05T12:17:23Z2024-11-05T12:17:23Z2024-10-08http://hdl.handle.net/11349/64747El proyecto se enfoca en facilitar la implementación y gestión de la infraestructura en la nube de Amazon Web Services (AWS) para startups, mediante la creación de plantillas automatizadas, este trabajo busca resolver las dificultades que enfrentan las empresas emergentes al configurar manualmente sus entornos tecnológicos, optimizando el proceso para reducir errores y mejorar tanto la eficiencia operativa como la escalabilidad de sus sistemas, para esto, se emplean herramientas como Terraform y Docker, integradas bajo un enfoque de prácticas DevOps, siguiendo la metodología ágil Scrum, el proyecto organiza las actividades en sprints que abarcan la configuración de herramientas, la creación de contenedores y la implementación de canalizaciones de integración y entrega continua, proponiendo recomendaciones para maximizar el aprovechamiento de recursos, reducir costos y facilitar la adaptación de esta solución en futuras startups, en conjunto, este trabajo ofrece una herramienta accesible y eficiente que permite a las startups gestionar su infraestructura en la nube de forma automatizada y estandarizada.The project focuses on facilitating the implementation and management of cloud infrastructure on Amazon Web Services (AWS) for startups through the creation of automated templates, this work aims to address the challenges that emerging companies face when manually configuring their technological environments, optimizing the process to reduce errors and improve both operational efficiency and scalability of their systems, tools such as Terraform and Docker are used, integrated under a DevOps practices approach and following the agile Scrum methodology, the project organizes activities into sprints, covering tool configuration, container creation, and the implementation of continuous integration and delivery pipelines, with recommendations to maximize resource utilization, reduce costs, and ease the adaptation of this solution for future startups, overall, this work offers an accessible and efficient tool that enables startups to manage their cloud infrastructure in an automated and standardized way.pdfspaAutomatizacionAWSNubeStartupsDevOpsAutomationCloudStartupsDevOpsAWSPlantillas para la Automatización de la Infraestructura Tecnológica en la Nube de AWS para Startups (CloudFlex)AWS Cloud Technology Infrastructure Automation Templates for Startups (CloudFlex)bachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Ries, E. (2011). The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Crown BusinessSchwaber, K., & Sutherland, J. (2017). The Scrum Guide: The Definitive Guide to Scrum: The Rules of the Game. Scrum.OrgArmbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R. H., Konwinski, A., ... & Zaharia, M. (2010). A view of cloud computing. Communications of the ACM, 53(4), 50-58HashiCorp. (n.d.). Terraform. https://www.terraform.io/Merkel, D. (2014). Docker: Lightweight Linux Containers for Consistent Development and Deployment. Linux JournalMadison, M. (2011). Jenkins: The Definitive Guide. O’Reilly MediaAmazon Web Services. (2021). What is Cloud Scalability? AWS. https://aws.amazon.com/what-is-cloud-scalability/(S/f). Cloudflare.com. Recuperado el 16 de enero de 2024, de https://www.cloudflare.com/es-es/learning/cloud/what-is the-cloud/¿Qué es Git? (s/f). Microsoft.com. Recuperado el 16 de enero de 2024, de https://learn.microsoft.com/es es/devops/develop/git/what-is-git¿Qué es la seguridad en la nube? (2023, noviembre 27). www.kaspersky.es. https://www.kaspersky.es/resource center/definitions/what-is-cloud-security(S/f-b). Cloudflare.com. Recuperado el 16 de enero de 2024, de https://www.cloudflare.com/es-es/learning/network layer/what-is-a-subnet/(S/f-c). Amazon.com. Recuperado el 16 de enero de 2024, de https://docs.aws.amazon.com/es_es/vpc/latest/userguide/what-is-amazon-vpc.htmlHosting, S. W. (s/f). ¿Qué es SSH y cómo lo uso? Recursos de conocimiento de SiteGround. Recuperado el 16 de enero de 2024, de https://es.siteground.com/kb/quees ssh/?gad_source=1&gclid=CjwKCAiA75itBhA6EiwAkho9e7jb_wfpd6GdB1d JBa5bWSml7UA7BugTrTOGINWKIH88Pfv mxgCEcxoCva8QAvD_BwECabrera, P., & Elizabeth, E. (2023). Desarrollo de un modelo de prestación de servicios de TI tipo SaaS en infraestructura cloud para la gestión de admisión y matrícula en instituciones de educación primaria y secundaria. Pontificia Universidad Católica del PerúJulio Sandobalín, Emilio Insfran, Silvia Abrahão(2017). Automatización del Aprovisionamiento de Infraestructura en la Nube, Departamento de Informática y Ciencias de la Computación. Escuela Politécnica Nacional, Quito. Ecuador y Departamento de Sistemas Informáticos y Computación, Universitat Politècnica de València, EspañaZuñiga Prieto, M., Solano Quinde, L., Insfran, E., & Cabrera, Y. (2017). Automatización del proceso de despliegue de servicios en la nube. Maskana, 7(Supl.), 195–201. Recuperado a partir de https://publicaciones.ucuenca.edu.ec/ojs/index. php/maskana/article/view/1089Huerlo Quintero, J. R. (2020). Terraform como herramienta para automatizar la creación de infraestructuras siguiendo el concepto “Infraestructura como código”. Pontificia Universidad Católica Del Ecuador, Esmeraldas , EcuadorS.Jourdan, P.Pomes, Infrastructure as Code (IAC) Cookbook, Copyright © 2017 Packt PublishingDesislava Ivanova, Plamenka Borovska, Stefan Zahov; Development of PaaS using AWS and Terraform for medical imaging analytics. AIP Conf. Proc. 10 December 2018; 2048 (1): 060018. https://doi.org/10.1063/1.5082133Krief, M. (2019). Learning DevOps: The complete guide to accelerate collaboration with Jenkins, Kubernetes, Terraform and Azure DevOps. Packt PublishingAgrawal Prashant and Rawat Neelam. 2019. DevOps, a new approach to cloud development & testing. In Proceedings of the International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT), Vol. 1. 1–4Chapman David. 2014. Introduction to DevOps on AWS. Amazon Web Services (2014). https://d0.awsstatic.com/whitepapers/AWS_DevOps.pdfJorba, J., & Joaquín, L. S. (2020, January 20). Automatización de infraestructura IT con IaC. https://openaccess.uoc.edu/handle/10609/108666Aldo, D. C. (2023, November 13). Propuesta de diseño de un modelo de despliegue y gestión de infraestructura en la nube de Microsoft Azure para mejorar la eficiencia de aprovisionamiento de recursos mediante el uso de terraform en una empresa de desarrollo de software web para clientes en el sector financiero. https://repositorioacademico.upc.edu.pe/handle/10757/670214Galeano Ospina, John Alexander, Mauricio C., Duque R., (2020). Línea base de infraestructura en la nube. https://bibliotecadigital.udea.edu.co/handle/10495/17243Maria Camila, Gomez Hernandez, Catro Barrera & Harold Enrique. (2023, December 1). Administración de recursos de infraestructura de la Universidad de los Andes con Infrastructure as Code. Repositorio Institucional Séneca. https://repositorio.uniandes.edu.co/entities/publication/e56e83a2-b701-4559-8d5cb1eff062ef06Mendoza Munguía, L. D., & Zelada Perez, J. A. (2022). Propuesta de implementación de una infraestructura en Azure para automatizar los servicios de los clientes en la empresa Multimarkas S.A.C. en la ciudad de Huancayo-2021. Universidad Tecnológica del PerúRifà-Pous, H., & Jorge, M. M. (2023, January 1). Infraestructura de seguridad en la nube de Azure. https://openaccess.uoc.edu/handle/10609/147879Alberto, C. L., & En, E. I. G. (2021). Automatización de la gestión de la infraestructura en entorno cloud. https://ruc.udc.es/dspace/handle/2183/28878Germán, M. M., & De València Departamento De Sistemas Informáticos Y Computación - Departament De Sistemes Informàtics I Computació, U. P. (2022, October 20). Gestión Automatizada de Recursos en Cuentas de AWS. https://riunet.upv.es/handle/10251/188252BMC Software, "The AWS Well-Architected Framework: 5 Pillars & Best Practices,"BMC Blogs, 2023. [En línea]. Disponible en: https://www.bmc.com/blogs/awswell-architected-framework/ORIGINALCamposPerezAlvaroJose2024.pdfCamposPerezAlvaroJose2024.pdfapplication/pdf2221050https://repository.udistrital.edu.co/bitstreams/89e70e29-b623-44d7-9920-25d77164d609/downloadbe35de546fc496c121d5e069a64d3a2dMD51Licencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfapplication/pdf318907https://repository.udistrital.edu.co/bitstreams/6c9b9872-d9af-469c-a1fe-15657fb90c6f/downloada35189eb811e91a49faadb43dfe2c52cMD54LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/915ec055-133f-4311-b47f-e59f71339ac9/download997daf6c648c962d566d7b082dac908dMD55THUMBNAILCamposPerezAlvaroJose2024.pdf.jpgCamposPerezAlvaroJose2024.pdf.jpgIM Thumbnailimage/jpeg5557https://repository.udistrital.edu.co/bitstreams/7e08306f-f09d-4a80-a8c4-4a57d27ada96/download57c636f367fcd945183037dedd68f0ddMD56Licencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg12284https://repository.udistrital.edu.co/bitstreams/ca67ee7e-e69a-4c2e-826f-391bcbd422ba/download4fdfcfe6489c759973d567afbd59e0b9MD5711349/64747oai:repository.udistrital.edu.co:11349/647472025-01-13 01:10:24.677open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK