Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB

Este trabajo explora en profundidad la comparación entre varios frameworks destinados a la automatización web, destacando su importancia crucial en el campo del desarrollo de software moderno. La automatización web se presenta como un elemento clave para aumentar la productividad y mejorar la calida...

Full description

Autores:
Rey Rincón, Gabriela de los Angeles
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2024
Institución:
Universidad Cooperativa de Colombia
Repositorio:
Repositorio UCC
Idioma:
spa
OAI Identifier:
oai:repository.ucc.edu.co:20.500.12494/56225
Acceso en línea:
https://hdl.handle.net/20.500.12494/56225
Palabra clave:
000 - Ciencias de la computación, información y obras generales
Análisis
Desempeño
Eficiencia
Análisis
Desempeño
Eficiencia
Analysis
Performance
Efficiency
Rights
openAccess
License
https://creativecommons.org/licenses/by-nc-nd/4.0/
id COOPER2_f154bf0533061d9f3d23193203cca8ce
oai_identifier_str oai:repository.ucc.edu.co:20.500.12494/56225
network_acronym_str COOPER2
network_name_str Repositorio UCC
repository_id_str
dc.title.none.fl_str_mv Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB
title Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB
spellingShingle Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB
000 - Ciencias de la computación, información y obras generales
Análisis
Desempeño
Eficiencia
Análisis
Desempeño
Eficiencia
Analysis
Performance
Efficiency
title_short Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB
title_full Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB
title_fullStr Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB
title_full_unstemmed Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB
title_sort Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB
dc.creator.fl_str_mv Rey Rincón, Gabriela de los Angeles
dc.contributor.advisor.none.fl_str_mv Torres Londoño, Carlos Ignacio
Patiño Martínez, Francy Yaneth
dc.contributor.author.none.fl_str_mv Rey Rincón, Gabriela de los Angeles
dc.subject.ddc.none.fl_str_mv 000 - Ciencias de la computación, información y obras generales
topic 000 - Ciencias de la computación, información y obras generales
Análisis
Desempeño
Eficiencia
Análisis
Desempeño
Eficiencia
Analysis
Performance
Efficiency
dc.subject.other.none.fl_str_mv Análisis
Desempeño
Eficiencia
dc.subject.proposal.spa.fl_str_mv Análisis
Desempeño
Eficiencia
dc.subject.proposal.eng.fl_str_mv Analysis
Performance
Efficiency
description Este trabajo explora en profundidad la comparación entre varios frameworks destinados a la automatización web, destacando su importancia crucial en el campo del desarrollo de software moderno. La automatización web se presenta como un elemento clave para aumentar la productividad y mejorar la calidad en los procesos de desarrollo, evidenciando la necesidad de una cuidadosa selección del framework adecuado que armonice con los requerimientos específicos de cada proyecto.
publishDate 2024
dc.date.accessioned.none.fl_str_mv 2024-07-08T15:37:54Z
dc.date.available.none.fl_str_mv 2024-07-08T15:37:54Z
dc.date.issued.none.fl_str_mv 2024
dc.type.none.fl_str_mv Trabajo de grado - Pregrado
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.content.none.fl_str_mv Text
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.redcol.none.fl_str_mv http://purl.org/redcol/resource_type/TP
dc.type.version.none.fl_str_mv info:eu-repo/semantics/acceptedVersion
format http://purl.org/coar/resource_type/c_7a1f
status_str acceptedVersion
dc.identifier.citation.none.fl_str_mv Rey Rincón, G.(2024) Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB [Tesis de pregrado, Universidad Cooperativa de Colombia]. Repositorio Institucional Universidad Cooperativa de Colombia. https://hdl.handle.net/20.500.12494/56225
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/20.500.12494/56225
identifier_str_mv Rey Rincón, G.(2024) Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB [Tesis de pregrado, Universidad Cooperativa de Colombia]. Repositorio Institucional Universidad Cooperativa de Colombia. https://hdl.handle.net/20.500.12494/56225
url https://hdl.handle.net/20.500.12494/56225
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv Adam Boduch. (2021). Learning Playwright: Write end-to-end tests and automate web interactions with ease. Packt Publishing.
Elfriede Dustin, Jeff Rashka, & John Paul. (1999). Automated Software Testing: Introduction, Management, and Performance: Introduction, Management, and Performance.
Getting started | PyCharm Documentation. (n.d.). Retrieved May 16, 2024, from https://www.jetbrains.com/help/pycharm/getting-started.html
IEEE - Manuscript Templates for Conference Proceedings. (n.d.). Retrieved May 16, 2024, from https://www.ieee.org/conferences/publishing/templates.html
Ingeniería y Tecnología. (2022). Framework: qué es, para qué sirve y algunos ejemplos. UNIR FP Revista.
Kenneth Reitz, & Tanya Schlusser. (2016). The Hitchhiker’s Guide to Python: Best Practices for Development (1st ed.). O’Reilly Media.
Luca Polo. (2020). Efficient End-to-End Testing with Robot Framework: Create end-to-end tests for your applications with Robot Framework. Packt Publishing.
Nazia Islam. (2016). A Comparative Study of Automated Software Testing Tools.
Red Hat. (2023). ¿Qué es la automatización? Ventajas e importancia de la automatización. https://www.redhat.com/es/topics/automation
Robot Framework documentation. (n.d.). Retrieved May 16, 2024, from https://robotframework.org/robotframework/
S.F. (2024). Automatización de Procesos: Una Guía Completa. https://kissflow.com/workflow/bpm/es/business-process-automation
Shaon Barman, Sarah Chasins, Rastislav Bodik, & Sumit Gulwani. (2016). Ringer: web automation by demonstration
Unmesh Gundecha. (2014). Selenium con Python es una combinación que se utiliza para automatizar las interacciones del navegador web. Facilita la creación de scripts para realizar tareas como hacer clic en botones, completar formularios y navegar por páginas web.
Welcome to behave! — behave 1.2.7.dev5 documentation. (n.d.). Retrieved May 16, 2024, from https://behave.readthedocs.io/en/latest/
XML Path Language (XPath) 3.1. (n.d.). Retrieved May 16, 2024, from https://www.w3.org/TR/xpath-31/
dc.rights.uri.none.fl_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.none.fl_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.none.fl_str_mv 147 p.
dc.format.mimetype.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad Cooperativa de Colombia, Facultad de Ingenierías, Ingeniería de Sistemas, Villavicencio
dc.publisher.program.none.fl_str_mv Ingeniería de Sistemas
dc.publisher.faculty.none.fl_str_mv Ingenierías
dc.publisher.place.none.fl_str_mv Villavicencio
dc.publisher.branch.none.fl_str_mv Villavicencio
publisher.none.fl_str_mv Universidad Cooperativa de Colombia, Facultad de Ingenierías, Ingeniería de Sistemas, Villavicencio
institution Universidad Cooperativa de Colombia
bitstream.url.fl_str_mv https://repository.ucc.edu.co/bitstreams/9d64ddd1-05ec-439d-b838-52704e46c41f/download
https://repository.ucc.edu.co/bitstreams/6266e1c1-1446-462f-801c-002daa2264b6/download
https://repository.ucc.edu.co/bitstreams/b5851f4e-3ce1-45d7-89b1-1f7c9becef48/download
https://repository.ucc.edu.co/bitstreams/a4206b90-c8ec-4a38-ba5c-0fc0d83350b5/download
https://repository.ucc.edu.co/bitstreams/4cc66fd4-6fc0-4417-8cd7-21b1261f4631/download
https://repository.ucc.edu.co/bitstreams/22411b71-29bf-484c-9cd8-b5e25b16422f/download
https://repository.ucc.edu.co/bitstreams/0475c849-968e-4770-a094-c6738481f39c/download
bitstream.checksum.fl_str_mv f464f51bf248f3a695d63e11a558efb2
8720ee0f878ecbee7c6bf5cf31a6a375
3bce4f7ab09dfc588f126e1e36e98a45
d0dae58bbaf437224900e0e1bc51bea9
eea1f0f7d7247318969893041fb63920
49b6f8c7c1374937e2710edf66d41ca3
ed74367c852de89f83c1810ec654ecae
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Cooperativa de Colombia
repository.mail.fl_str_mv bdigital@metabiblioteca.com
_version_ 1814247217702109184
spelling Torres Londoño, Carlos IgnacioPatiño Martínez, Francy YanethRey Rincón, Gabriela de los Angeles2024-07-08T15:37:54Z2024-07-08T15:37:54Z2024Rey Rincón, G.(2024) Análisis comparativo del desempeño y eficiencia de los frameworks de automatización WEB [Tesis de pregrado, Universidad Cooperativa de Colombia]. Repositorio Institucional Universidad Cooperativa de Colombia. https://hdl.handle.net/20.500.12494/56225https://hdl.handle.net/20.500.12494/56225Este trabajo explora en profundidad la comparación entre varios frameworks destinados a la automatización web, destacando su importancia crucial en el campo del desarrollo de software moderno. La automatización web se presenta como un elemento clave para aumentar la productividad y mejorar la calidad en los procesos de desarrollo, evidenciando la necesidad de una cuidadosa selección del framework adecuado que armonice con los requerimientos específicos de cada proyecto.This work explores in depth the comparison between various frameworks intended for web automation, highlighting their crucial importance in the field of modern software development. Web automation is presented as a key element to increase productivity and improve quality in development processes, evidencing the need for a careful selection of the appropriate framework that harmonizes with the specific requirements of each project.Definición del tema -- 1.2 Tema -- 1.2 Descripción del problema -- 1. Objetivos -- 2.1 Objetivo general -- 2.2 Objetivos específicos -- 2. Justificación -- 3. Marco de referencia -- 4.1 Literatura sobre casos análogos -- 4.2 Marco teórico -- 4. Diseño metodológico -- 4.1 Metodología -- 4.2 Implementación de la metodología -- 4. Resultados -- 5. Análisis y discusión -- 8. Conclusiones -- Referencias -- Anexos --Pregrado147 p.application/pdfspaUniversidad Cooperativa de Colombia, Facultad de Ingenierías, Ingeniería de Sistemas, VillavicencioIngeniería de SistemasIngenieríasVillavicencioVillavicenciohttps://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessAtribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)http://purl.org/coar/access_right/c_abf2000 - Ciencias de la computación, información y obras generalesAnálisisDesempeñoEficienciaAnálisisDesempeñoEficienciaAnalysisPerformanceEfficiencyAnálisis comparativo del desempeño y eficiencia de los frameworks de automatización WEBTrabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_7a1fTextinfo:eu-repo/semantics/bachelorThesishttp://purl.org/redcol/resource_type/TPinfo:eu-repo/semantics/acceptedVersionAdam Boduch. (2021). Learning Playwright: Write end-to-end tests and automate web interactions with ease. Packt Publishing.Elfriede Dustin, Jeff Rashka, & John Paul. (1999). Automated Software Testing: Introduction, Management, and Performance: Introduction, Management, and Performance.Getting started | PyCharm Documentation. (n.d.). Retrieved May 16, 2024, from https://www.jetbrains.com/help/pycharm/getting-started.htmlIEEE - Manuscript Templates for Conference Proceedings. (n.d.). Retrieved May 16, 2024, from https://www.ieee.org/conferences/publishing/templates.htmlIngeniería y Tecnología. (2022). Framework: qué es, para qué sirve y algunos ejemplos. UNIR FP Revista.Kenneth Reitz, & Tanya Schlusser. (2016). The Hitchhiker’s Guide to Python: Best Practices for Development (1st ed.). O’Reilly Media.Luca Polo. (2020). Efficient End-to-End Testing with Robot Framework: Create end-to-end tests for your applications with Robot Framework. Packt Publishing.Nazia Islam. (2016). A Comparative Study of Automated Software Testing Tools.Red Hat. (2023). ¿Qué es la automatización? Ventajas e importancia de la automatización. https://www.redhat.com/es/topics/automationRobot Framework documentation. (n.d.). Retrieved May 16, 2024, from https://robotframework.org/robotframework/S.F. (2024). Automatización de Procesos: Una Guía Completa. https://kissflow.com/workflow/bpm/es/business-process-automationShaon Barman, Sarah Chasins, Rastislav Bodik, & Sumit Gulwani. (2016). Ringer: web automation by demonstrationUnmesh Gundecha. (2014). Selenium con Python es una combinación que se utiliza para automatizar las interacciones del navegador web. Facilita la creación de scripts para realizar tareas como hacer clic en botones, completar formularios y navegar por páginas web.Welcome to behave! — behave 1.2.7.dev5 documentation. (n.d.). Retrieved May 16, 2024, from https://behave.readthedocs.io/en/latest/XML Path Language (XPath) 3.1. (n.d.). Retrieved May 16, 2024, from https://www.w3.org/TR/xpath-31/PublicationORIGINAL2024_Trabajo_Grado.pdf2024_Trabajo_Grado.pdfapplication/pdf15057141https://repository.ucc.edu.co/bitstreams/9d64ddd1-05ec-439d-b838-52704e46c41f/downloadf464f51bf248f3a695d63e11a558efb2MD542024_Licencia_Uso.pdf2024_Licencia_Uso.pdfapplication/pdf196073https://repository.ucc.edu.co/bitstreams/6266e1c1-1446-462f-801c-002daa2264b6/download8720ee0f878ecbee7c6bf5cf31a6a375MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-84334https://repository.ucc.edu.co/bitstreams/b5851f4e-3ce1-45d7-89b1-1f7c9becef48/download3bce4f7ab09dfc588f126e1e36e98a45MD52TEXT2024_Trabajo_Grado.pdf.txt2024_Trabajo_Grado.pdf.txtExtracted texttext/plain101230https://repository.ucc.edu.co/bitstreams/a4206b90-c8ec-4a38-ba5c-0fc0d83350b5/downloadd0dae58bbaf437224900e0e1bc51bea9MD572024_Licencia_Uso.pdf.txt2024_Licencia_Uso.pdf.txtExtracted texttext/plain5892https://repository.ucc.edu.co/bitstreams/4cc66fd4-6fc0-4417-8cd7-21b1261f4631/downloadeea1f0f7d7247318969893041fb63920MD55THUMBNAIL2024_Trabajo_Grado.pdf.jpg2024_Trabajo_Grado.pdf.jpgGenerated Thumbnailimage/jpeg5881https://repository.ucc.edu.co/bitstreams/22411b71-29bf-484c-9cd8-b5e25b16422f/download49b6f8c7c1374937e2710edf66d41ca3MD582024_Licencia_Uso.pdf.jpg2024_Licencia_Uso.pdf.jpgGenerated Thumbnailimage/jpeg11886https://repository.ucc.edu.co/bitstreams/0475c849-968e-4770-a094-c6738481f39c/downloaded74367c852de89f83c1810ec654ecaeMD5620.500.12494/56225oai:repository.ucc.edu.co:20.500.12494/562252024-08-22 10:09:50.524https://creativecommons.org/licenses/by-nc-nd/4.0/Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)open.accesshttps://repository.ucc.edu.coRepositorio Institucional Universidad Cooperativa de Colombiabdigital@metabiblioteca.comVU5JVkVSU0lEQUQgQ09PUEVSQVRJVkEgREUgQ09MT01CSUEKUkVQT1NJVE9SSU9TIElOU1RJVFVDSU9OQUxFUwpMSUNFTkNJQSBERSBVU08KClBvciBtZWRpbyBkZWwgcHJlc2VudGUgZG9jdW1lbnRvLCBlbCBBdXRvcihlcyksIG1heW9yIChlcykgZGUgZWRhZCwgcXVpZW4gZW4gYWRlbGFudGUgc2UgZGVub21pbmFyw6EgZWwgQVVUT1IsIGNvbmZpZXJlIGEgbGEgVU5JVkVSU0lEQUQgQ09PUEVSQVRJVkEgREUgQ09MT01CSUEsIGNvbiBOSVQuIDg2MC0wMjk5MjQtNywgdW5hIExJQ0VOQ0lBIERFIFVTTyBkZSBvYnJhLCBiYWpvIGxhcyBzaWd1aWVudGVzIGNvbmRpY2lvbmVzLgoKQ0zDgVVTVUxBUwoKUFJJTUVSQS4gT2JqZXRvLiBFTCBBVVRPUiBwb3IgZXN0ZSBhY3RvIGF1dG9yaXphIGxhIHV0aWxpemFjacOzbiBkZSBsYSBvYnJhLCBkZSBjb25mb3JtaWRhZCBjb24gbG8gZXN0aXB1bGFkbyBhIGNvbnRpbnVhY2nDs246IAoKKGEpIFBhcmEgZWZlY3RvcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSBzZSBhdXRvcml6YSBsYSByZXByb2R1Y2Npw7NuIGRlIGxhIG9icmEgYW50ZXJpb3JtZW50ZSBjaXRhZGEsIGxhIGN1YWwgc2UgYWxvamFyw6EgZW4gZm9ybWF0byBkaWdpdGFsIGVuIGxhcyBwbGF0YWZvcm1hcyBvIHJlcG9zaXRvcmlvcyBhZG1pbmlzdHJhZG9zIHBvciBsYSBVTklWRVJTSURBRCBvIGVuIG90cm8gdGlwbyBkZSByZXBvc2l0b3Jpb3MgZXh0ZXJub3MgbyBww6FnaW5hcyB3ZWIgZXNjb2dpZG9zIHBvciBsYSBVTklWRVJTSURBRCwgcGFyYSBmaW5lcyBkZSBkaWZ1c2nDs24geSBkaXZ1bGdhY2nDs24uIEFkaWNpb25hbG1lbnRlLCBzZSBhdXRvcml6YSBhIHF1ZSBsb3MgdXN1YXJpb3MgaW50ZXJub3MgeSBleHRlcm5vcyBkZSBkaWNoYXMgcGxhdGFmb3JtYXMgbyByZXBvc2l0b3Jpb3MgcmVwcm9kdXpjYW4gbyBkZXNjYXJndWVuIGxhIG9icmEsIHNpbiDDoW5pbW8gZGUgbHVjcm8sIHBhcmEgZmluZXMgcHJpdmFkb3MsIGVkdWNhdGl2b3MgbyBhY2Fkw6ltaWNvczsgc2llbXByZSB5IGN1YW5kbyBubyBzZSB2aW9sZW4gYWN1ZXJkb3MgY29uIGVkaXRvcmVzLCBwZXJpb2RvcyBkZSBlbWJhcmdvIG8gYWN1ZXJkb3MgZGUgY29uZmlkZW5jaWFsaWRhZCBxdWUgYXBsaXF1ZW4uCgooYikgU2UgYXV0b3JpemEgbGEgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGxhIHB1ZXN0YSBhIGRpc3Bvc2ljacOzbiBkZSBsYSBvYnJhIG1lbmNpb25hZGEsIGVuIGFjY2VzbyBhYmllcnRvLCBwYXJhIHN1IHV0aWxpemFjacOzbiBlbiBsYXMgcGxhdGFmb3JtYXMgbyByZXBvc2l0b3Jpb3MgYWRtaW5pc3RyYWRvcyBwb3IgbGEgVU5JVkVSU0lEQUQuCgooYykgTG8gYW50ZXJpb3IgZXN0YXLDoSBzdWpldG8gYSBsYXMgZGVmaW5pY2lvbmVzIGNvbnRlbmlkYXMgZW4gbGEgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5MyB5IGxhIExleSAyMyBkZSAxOTgyLgoKClNFR1VOREEuIE9yaWdpbmFsaWRhZCB5IHJlY2xhbWFjaW9uZXMuIEVsIEFVVE9SIGRlY2xhcmEgcXVlIGxhIE9CUkEgZXMgb3JpZ2luYWwgeSBxdWUgZXMgZGUgc3UgY3JlYWNpw7NuIGV4Y2x1c2l2YSwgbm8gZXhpc3RpZW5kbyBpbXBlZGltZW50byBkZSBjdWFscXVpZXIgbmF0dXJhbGV6YSAoZW1iYXJnb3MsIHVzbyBkZSBtYXRlcmlhbCBwcm90ZWdpZG8gcG9yIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGxhIGNvbmNlc2nDs24gZGUgbG9zIGRlcmVjaG9zIHByZXZpc3RvcyBlbiBlc3RlIGFjdWVyZG8uIEVsIEFVVE9SIHJlc3BvbmRlcsOhIHBvciBjdWFscXVpZXIgYWNjacOzbiBkZSByZWl2aW5kaWNhY2nDs24sIHBsYWdpbyB1IG90cmEgY2xhc2UgZGUgcmVjbGFtYWNpw7NuIHF1ZSBhbCByZXNwZWN0byBwdWRpZXJhIHNvYnJldmVuaXIuCgpURVJDRVJBLiBDb250cmFwcmVzdGFjacOzbi4gRWwgQVVUT1IgYXV0b3JpemEgYSBxdWUgc3Ugb2JyYSBzZWEgdXRpbGl6YWRhIGRlIGNvbmZvcm1pZGFkIGNvbiBsYSBjbMOhdXN1bGEgUFJJTUVSQSBkZSBmb3JtYSBncmF0dWl0YSwgZXMgZGVjaXIsIHF1ZSBsYSB1dGlsaXphY2nDs24gZGUgbGEgbWlzbWEgbm8gZ2VuZXJhIG5pbmfDum4gcGFnbyBvIHJlZ2Fsw61hcyBlbiBmYXZvciBkZSBlc3RlLgoKQ1VBUlRBLiBUaXR1bGFyaWRhZCBkZSBkZXJlY2hvcy4gRWwgcHJlc2VudGUgY29udHJhdG8gbm8gdHJhbnNmaWVyZSBsYSB0aXR1bGFyaWRhZCBkZSBsb3MgZGVyZWNob3MgcGF0cmltb25pYWxlcyBzb2JyZSBsYXMgb2JyYXMgYW50ZXJpb3JtZW50ZSBtZW5jaW9uYWRhcyBhIGxhIFVOSVZFUlNJREFELiDDmm5pY2FtZW50ZSBoYWNlIHJlbGFjacOzbiBhIHVuYSBsaWNlbmNpYSBubyBleGNsdXNpdmEgZW4gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGFudGVyaW9ybWVudGUgcGFjdGFkb3MuCgpRVUlOVEEuIENyw6lkaXRvcy4gTGEgVU5JVkVSU0lEQUQgc2UgY29tcHJvbWV0ZSBhIGRhciBhbCBBVVRPUiwgZWwgcmVjb25vY2ltaWVudG8gZGVudHJvIGNhZGEgZm9ybWEgZGUgdXRpbGl6YWNpw7NuIGVuIGxhIG9icmEuIExvcyBjcsOpZGl0b3MgZGViZW4gZmlndXJhciBlbiBjYWRhIHVubyBkZSBsb3MgZm9ybWF0b3MgbyByZWdpc3Ryb3MgZGUgcHVibGljYWNpw7NuLiBObyBjb25zdGl0dWlyw6EgdW5hIHZpb2xhY2nDs24gYSBsb3MgZGVyZWNob3MgbW9yYWxlcyBkZWwgYXV0b3IgbGEgbm8gcmVwcm9kdWNjacOzbiwgY29tdW5pY2FjacOzbiBvIGRlbcOhcyB1dGlsaXphY2lvbmVzIGRlIGxhIG9icmEuIExhIHV0aWxpemFjacOzbiBvIG5vIGRlIGxhIG9icmEsIGFzw60gY29tbyBzdSBmb3JtYSBkZSB1dGlsaXphY2nDs24gc2Vyw6EgZmFjdWx0YWQgZXhjbHVzaXZhIGRlIGxhIFVOSVZFUlNJREFELgogClNFWFRBLiBEdXJhY2nDs24geSB0ZXJyaXRvcmlvLiBMYSBwcmVzZW50ZSBsaWNlbmNpYSBkZSB1c28gcXVlIHNlIG90b3JnYSBhIGZhdm9yIGRlIGxhIFVOSVZFUlNJREFEIHRlbmRyw6EgdW5hIGR1cmFjacOzbiBlcXVpdmFsZW50ZSBhbCB0w6lybWlubyBkZSBwcm90ZWNjacOzbiBsZWdhbCBkZSBsYSBvYnJhIHkgcGFyYSB0b2RvcyBsb3MgcGHDrXNlcyBkZWwgbXVuZG8uCgpTw4lQVElNQS4gVXNvIGRlIENyZWF0aXZlIENvbW1vbnMuIEVsIEFVVE9SIGF1dG9yaXphcsOhIGxhIGRpZnVzacOzbiBkZSBzdSBjb250ZW5pZG8gYmFqbyB1bmEgbGljZW5jaWEgQ3JlYXRpdmUgQ29tbW9ucyBhdHJpYnVjacOzbiA0LjAgaW50ZXJuYWNpb25hbCwgcXVlIGRlYmVyw6EgaW5jbHVpcnNlIGVuIGVsIGNvbnRlbmlkby4gCgpPQ1RBVkEuIERlcmVjaG8gZGUgZXhjbHVzacOzbi4gQ2FkYSBhdXRvciBwdWVkZSBpbmRpY2FyIGVuIGVsIG1vbWVudG8gZGUgZGVww7NzaXRvIGRlbCBjb250ZW5pZG8gcXVlIGVsIHRleHRvIGNvbXBsZXRvIGRlIGxhIHByb2R1Y2Npw7NuIGFjYWTDqW1pY2EgbyBjaWVudMOtZmljYSBubyBlc3RlIGNvbiBhY2Nlc28gYWJpZXJ0byBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIHBvciBtb3Rpdm9zIGRlIGNvbmZpZGVuY2lhbGlkYWQsIHBvcnF1ZSBzZSBlbmN1ZW50cmUgZW4gdsOtYXMgZGUgb2J0ZW5lciB1biBkZXJlY2hvIGRlIHByb3BpZWRhZCBpbmR1c3RyaWFsIG8gZXhpc3RpciBhY3VlcmRvcyBwcmV2aW9zIGNvbiB0ZXJjZXJvcyAoZWRpdG9yaWFsZXMsIHJldmlzdGFzIGNpZW50w61maWNhcywgb3RyYXMgaW5zdGl0dWNpb25lcykuIEVsIGF1dG9yIHNlIGNvbXByb21ldGUgYSBkZXBvc2l0YXIgbG9zIG1ldGFkYXRvcyBlIGluZm9ybWFyIGVsIHRpZW1wbyBkZSBlbWJhcmdvIGR1cmFudGUgZWwgY3VhbCBlbCB0ZXh0byBjb21wbGV0byB0ZW5kcsOhIGFjY2VzbyByZXN0cmluZ2lkby4gCgpOT1ZFTkEuIEVsIEFVVE9SIGFsIGFjZXB0YXIgZXN0YSBsaWNlbmNpYSBhZHVjZSBxdWUgZXN0YSBwcm9kdWNjacOzbiBzZSBkZXNhcnJvbGzDsyBlbiBlbCBwZXJpb2RvIGVuIHF1ZSBzZSBlbmN1ZW50cmEgY29uIHbDrW5jdWxvcyBjb24gTGEgVW5pdmVyc2lkYWQuCgpEw4lDSU1BLiBOb3JtYXMgYXBsaWNhYmxlcy4gUGFyYSBsYSBpbnRlcnByZXRhY2nDs24geSBjdW1wbGltaWVudG8gZGVsIHByZXNlbnRlIGFjdWVyZG8gbGFzIHBhcnRlcyBzZSBzb21ldGVuIGEgbGEgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5MywgbGEgTGV5IDIzIGRlIDE5ODIgeSBkZW3DoXMgbm9ybWFzIGFwbGljYWJsZXMgZGUgQ29sb21iaWEuIEFkZW3DoXMsIGEgbGFzIG5vcm1hcyBJbnN0aXR1Y2lvbmFsZXMgcXVlIGFwbGlxdWVuLgoKTGEgcHJlc2VudGUgbGljZW5jaWEgc2UgYXV0b3JpemEgZW4gbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuIGVuIGxvcyByZXBvc2l0b3Jpb3MgaW5zdGl0dWNpb25hbGVzLgo=