Sistema de preprocesamiento para optimizar la generación de embeddings para aplicaciones de seguridad basadas en LLMs

Este proyecto aborda el problema de la persistencia de vulnerabilidades de seguridad críticas en aplicaciones móviles Android a lo largo de los años. A pesar de los avances tecnológicos y las mejores prácticas en desarrollo, vulnerabilidades como el almacenamiento inseguro de datos o el manejo de au...

Full description

Autores:
Cabanzo Certuche, Jonathan Obed
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2024
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
spa
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/75370
Acceso en línea:
https://hdl.handle.net/1992/75370
Palabra clave:
Preprocesamiento de texto
Seguridad
Embeddings
Ingeniería
Rights
openAccess
License
Attribution 4.0 International
id UNIANDES2_b4f17c679bf3ec18a5b2f929994a6a2c
oai_identifier_str oai:repositorio.uniandes.edu.co:1992/75370
network_acronym_str UNIANDES2
network_name_str Séneca: repositorio Uniandes
repository_id_str
dc.title.spa.fl_str_mv Sistema de preprocesamiento para optimizar la generación de embeddings para aplicaciones de seguridad basadas en LLMs
title Sistema de preprocesamiento para optimizar la generación de embeddings para aplicaciones de seguridad basadas en LLMs
spellingShingle Sistema de preprocesamiento para optimizar la generación de embeddings para aplicaciones de seguridad basadas en LLMs
Preprocesamiento de texto
Seguridad
Embeddings
Ingeniería
title_short Sistema de preprocesamiento para optimizar la generación de embeddings para aplicaciones de seguridad basadas en LLMs
title_full Sistema de preprocesamiento para optimizar la generación de embeddings para aplicaciones de seguridad basadas en LLMs
title_fullStr Sistema de preprocesamiento para optimizar la generación de embeddings para aplicaciones de seguridad basadas en LLMs
title_full_unstemmed Sistema de preprocesamiento para optimizar la generación de embeddings para aplicaciones de seguridad basadas en LLMs
title_sort Sistema de preprocesamiento para optimizar la generación de embeddings para aplicaciones de seguridad basadas en LLMs
dc.creator.fl_str_mv Cabanzo Certuche, Jonathan Obed
dc.contributor.advisor.none.fl_str_mv Rueda Rodríguez, Sandra Julieta
dc.contributor.author.none.fl_str_mv Cabanzo Certuche, Jonathan Obed
dc.contributor.jury.none.fl_str_mv Rueda Rodríguez, Sandra Julieta
dc.subject.keyword.spa.fl_str_mv Preprocesamiento de texto
Seguridad
topic Preprocesamiento de texto
Seguridad
Embeddings
Ingeniería
dc.subject.keyword.eng.fl_str_mv Embeddings
dc.subject.themes.spa.fl_str_mv Ingeniería
description Este proyecto aborda el problema de la persistencia de vulnerabilidades de seguridad críticas en aplicaciones móviles Android a lo largo de los años. A pesar de los avances tecnológicos y las mejores prácticas en desarrollo, vulnerabilidades como el almacenamiento inseguro de datos o el manejo de autorización deficiente, son reflejo de una brecha en la capacitación de los desarrolladores más que en la disponibilidad de herramientas para contrarrestar estos problemas. Con el objetivo de mitigar esta dificultad, este trabajo se desarrolló en conjunto con el proyecto “Conversational Model to Support Security Queries from Android Developers” de Miguel Muñoz, el cual propone una solución basada en el uso de inteligencia artificial (IA) y procesamiento de lenguaje natural (NLP) para identificar y prevenir errores de seguridad en el desarrollo de aplicaciones Android. La solución incluye el diseño de un sistema de NLP que analiza contenido técnico a partir de artículos de investigación sobre ciberseguridad, responde preguntas y proporciona recomendaciones de seguridad en tiempo real. El sistema se basa en una arquitectura que procesa información desde archivos PDF, los convierte en datos estructurados y genera embeddings a través de modelos como RoBERTa, que posteriormente almacena en una base de datos vectorial (ChromaDB). Este enfoque busca responder consultas de los desarrolladores para mejorar la calidad del código y reducir la incidencia de vulnerabilidades críticas, contribuyendo a un entorno digital más seguro. El componente clave desarrollado en este proyecto sirve como base para el sistema principal, este es la implementación de un sistema de preprocesamiento para artículos en formato PDF, compuesto por módulos que permiten la extracción y limpieza de información relevante. Estos módulos convierten los PDFs en formatos estructurados, eliminan elementos irrelevantes como tablas y referencias, evalúan la calidad semántica de los datos y los dividen en fragmentos manejables. Este proceso asegura que el sistema principal opere con información precisa y confiable. El sistema completo fue evaluado mediante pruebas basadas en 47 preguntas representativas, considerando criterios como la completitud de las respuestas, la validez del contenido adicional y la coherencia en la información adicional proporcionada. Los resultados muestran un desempeño satisfactorio en términos de coherencia y validez, aunque identifican áreas de mejora en la cobertura y precisión del contenido. Estos hallazgos subrayan la necesidad de optimizar las estrategias de manejo de incertidumbre y búsqueda de información adicional. En síntesis, este proyecto de tesis integra investigación en ciberseguridad y técnicas de NLP para proponer una solución que apoye a los desarrolladores en la creación de aplicaciones móviles seguras. Al proporcionar herramientas educativas y prácticas en tiempo real, esta iniciativa busca disminuir la brecha de conocimiento y reducir el impacto de vulnerabilidades críticas en el ecosistema Android.
publishDate 2024
dc.date.issued.none.fl_str_mv 2024-12-13
dc.date.accessioned.none.fl_str_mv 2025-01-13T19:28:20Z
dc.date.available.none.fl_str_mv 2025-01-13T19:28:20Z
dc.type.none.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.none.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 https://hdl.handle.net/1992/75370
dc.identifier.instname.none.fl_str_mv instname:Universidad de los Andes
dc.identifier.reponame.none.fl_str_mv reponame:Repositorio Institucional Séneca
dc.identifier.repourl.none.fl_str_mv repourl:https://repositorio.uniandes.edu.co/
url https://hdl.handle.net/1992/75370
identifier_str_mv instname:Universidad de los Andes
reponame:Repositorio Institucional Séneca
repourl:https://repositorio.uniandes.edu.co/
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv Ardila, M. A. (2024). Conversational Model to Support Security Queries from Android Developers.
Cypress Data Defense. (2020). OWASP top 10 mobile vulnerabilities developers need to understand. Obtenido de https://cypressdatadefense.com/blog/owasp-mobile-top-10-vulnerabilities/
Das, T. a. (2023). Investigation of Security-related Commits in Android Apps. Association for Computing Machinery, 259–260.
Kapersky. (2024). Amenazas financieras móviles crecen 32% a nivel mundial. Obtenido de https://latam.kaspersky.com/about/press-releases/amenazas-financieras-moviles-crecen-32-a-nivel-mundial-revela-kaspersky?srsltid=AfmBOooz-2QRE1cJVP09ixFtlii7otj3ojEdK_RZ7RYFXBqNGN8rN6_S
Kaspersky. (2024). Los ataques a dispositivos móviles aumentaron más del 50% en 2023. Obtenido de https://latam.kaspersky.com/about/press-releases/los-ataques-a-dispositivos-moviles-aumentaron-mas-del-50-en-2023
Othman, R. T. (2024). Vulnerability Detection for software-intensive system. Association for Computing Machinery, 510–515.
OWASP. (2024). OWASP Mobile Top 10. Obtenido de https://owasp.org/www-project-mobile-top-10/
sadaf, s. a. (2022). AI-Based Software Defect Prediction for Trustworthy Android Apps. Association for Computing Machinery, 393–398.
Salley, C. J. (2024). Safeguarding Infrastructure from Cyber Threats with NLP-Based Information Retrieval. IEEE Press, 853–862.
statista. (2024). Number of mobile cyberattacks against users worldwide from January 2020 to December 2023. Obtenido de https://www.statista.com/statistics/1305965/mobile-users-cyber-attacks/
dc.rights.en.fl_str_mv Attribution 4.0 International
dc.rights.uri.none.fl_str_mv http://creativecommons.org/licenses/by/4.0/
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Attribution 4.0 International
http://creativecommons.org/licenses/by/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.none.fl_str_mv 32 páginas
dc.format.mimetype.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de los Andes
dc.publisher.program.none.fl_str_mv Ingeniería de Sistemas y Computación
dc.publisher.faculty.none.fl_str_mv Facultad de Ingeniería
dc.publisher.department.none.fl_str_mv Departamento de Ingeniería de Sistemas y Computación
publisher.none.fl_str_mv Universidad de los Andes
institution Universidad de los Andes
bitstream.url.fl_str_mv https://repositorio.uniandes.edu.co/bitstreams/b4ae78c0-98a7-4b8b-a7c7-957b279cacaa/download
https://repositorio.uniandes.edu.co/bitstreams/81d2b93f-c929-4ea8-b893-0d51df4ec748/download
https://repositorio.uniandes.edu.co/bitstreams/4a86be52-79f6-4801-9b31-2065c23c9f8c/download
https://repositorio.uniandes.edu.co/bitstreams/15dd772b-a4c4-41ac-a620-25db96cad719/download
https://repositorio.uniandes.edu.co/bitstreams/125a5c3c-7ffa-42d5-9249-3a07626784ef/download
https://repositorio.uniandes.edu.co/bitstreams/6907b09d-c2cc-4713-b451-df45f848fad9/download
https://repositorio.uniandes.edu.co/bitstreams/cd63517c-d25c-4125-817f-3b43a4a5b39b/download
https://repositorio.uniandes.edu.co/bitstreams/1577192b-45be-438d-8639-675f76cd0360/download
bitstream.checksum.fl_str_mv aafd2d3e76994d221977ce39c047c142
60047336ba44cf545499b23dbe77a99d
0175ea4a2d4caec4bbcc37e300941108
ae9e573a68e7f92501b6913cc846c39f
6a9fb121c262fcaf326bac0351daf6ab
c6764df5dea2b164d4e2682c55c09d6c
2bf4861095f92aea324720dce5d985e8
5ab130827a7c64c8f246ec803a33f33d
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_ 1831927729585389568
spelling Rueda Rodríguez, Sandra Julietavirtual::22008-1Cabanzo Certuche, Jonathan ObedRueda Rodríguez, Sandra Julieta2025-01-13T19:28:20Z2025-01-13T19:28:20Z2024-12-13https://hdl.handle.net/1992/75370instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/Este proyecto aborda el problema de la persistencia de vulnerabilidades de seguridad críticas en aplicaciones móviles Android a lo largo de los años. A pesar de los avances tecnológicos y las mejores prácticas en desarrollo, vulnerabilidades como el almacenamiento inseguro de datos o el manejo de autorización deficiente, son reflejo de una brecha en la capacitación de los desarrolladores más que en la disponibilidad de herramientas para contrarrestar estos problemas. Con el objetivo de mitigar esta dificultad, este trabajo se desarrolló en conjunto con el proyecto “Conversational Model to Support Security Queries from Android Developers” de Miguel Muñoz, el cual propone una solución basada en el uso de inteligencia artificial (IA) y procesamiento de lenguaje natural (NLP) para identificar y prevenir errores de seguridad en el desarrollo de aplicaciones Android. La solución incluye el diseño de un sistema de NLP que analiza contenido técnico a partir de artículos de investigación sobre ciberseguridad, responde preguntas y proporciona recomendaciones de seguridad en tiempo real. El sistema se basa en una arquitectura que procesa información desde archivos PDF, los convierte en datos estructurados y genera embeddings a través de modelos como RoBERTa, que posteriormente almacena en una base de datos vectorial (ChromaDB). Este enfoque busca responder consultas de los desarrolladores para mejorar la calidad del código y reducir la incidencia de vulnerabilidades críticas, contribuyendo a un entorno digital más seguro. El componente clave desarrollado en este proyecto sirve como base para el sistema principal, este es la implementación de un sistema de preprocesamiento para artículos en formato PDF, compuesto por módulos que permiten la extracción y limpieza de información relevante. Estos módulos convierten los PDFs en formatos estructurados, eliminan elementos irrelevantes como tablas y referencias, evalúan la calidad semántica de los datos y los dividen en fragmentos manejables. Este proceso asegura que el sistema principal opere con información precisa y confiable. El sistema completo fue evaluado mediante pruebas basadas en 47 preguntas representativas, considerando criterios como la completitud de las respuestas, la validez del contenido adicional y la coherencia en la información adicional proporcionada. Los resultados muestran un desempeño satisfactorio en términos de coherencia y validez, aunque identifican áreas de mejora en la cobertura y precisión del contenido. Estos hallazgos subrayan la necesidad de optimizar las estrategias de manejo de incertidumbre y búsqueda de información adicional. En síntesis, este proyecto de tesis integra investigación en ciberseguridad y técnicas de NLP para proponer una solución que apoye a los desarrolladores en la creación de aplicaciones móviles seguras. Al proporcionar herramientas educativas y prácticas en tiempo real, esta iniciativa busca disminuir la brecha de conocimiento y reducir el impacto de vulnerabilidades críticas en el ecosistema Android.Pregrado32 páginasapplication/pdfspaUniversidad de los AndesIngeniería de Sistemas y ComputaciónFacultad de IngenieríaDepartamento de Ingeniería de Sistemas y ComputaciónAttribution 4.0 Internationalhttp://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Sistema de preprocesamiento para optimizar la generación de embeddings para aplicaciones de seguridad basadas en LLMsTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TPPreprocesamiento de textoSeguridadEmbeddingsIngenieríaArdila, M. A. (2024). Conversational Model to Support Security Queries from Android Developers.Cypress Data Defense. (2020). OWASP top 10 mobile vulnerabilities developers need to understand. Obtenido de https://cypressdatadefense.com/blog/owasp-mobile-top-10-vulnerabilities/Das, T. a. (2023). Investigation of Security-related Commits in Android Apps. Association for Computing Machinery, 259–260.Kapersky. (2024). Amenazas financieras móviles crecen 32% a nivel mundial. Obtenido de https://latam.kaspersky.com/about/press-releases/amenazas-financieras-moviles-crecen-32-a-nivel-mundial-revela-kaspersky?srsltid=AfmBOooz-2QRE1cJVP09ixFtlii7otj3ojEdK_RZ7RYFXBqNGN8rN6_SKaspersky. (2024). Los ataques a dispositivos móviles aumentaron más del 50% en 2023. Obtenido de https://latam.kaspersky.com/about/press-releases/los-ataques-a-dispositivos-moviles-aumentaron-mas-del-50-en-2023Othman, R. T. (2024). Vulnerability Detection for software-intensive system. Association for Computing Machinery, 510–515.OWASP. (2024). OWASP Mobile Top 10. Obtenido de https://owasp.org/www-project-mobile-top-10/sadaf, s. a. (2022). AI-Based Software Defect Prediction for Trustworthy Android Apps. Association for Computing Machinery, 393–398.Salley, C. J. (2024). Safeguarding Infrastructure from Cyber Threats with NLP-Based Information Retrieval. IEEE Press, 853–862.statista. (2024). Number of mobile cyberattacks against users worldwide from January 2020 to December 2023. Obtenido de https://www.statista.com/statistics/1305965/mobile-users-cyber-attacks/201911749Publicationhttps://scholar.google.es/citations?user=picn4ngAAAAJvirtual::22008-10000-0002-2111-9348virtual::22008-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000143111virtual::22008-1e336d2eb-f251-470f-b975-2d5e63ce65c9virtual::22008-1e336d2eb-f251-470f-b975-2d5e63ce65c9virtual::22008-1ORIGINALautorizaciontesis_ocabanzo.pdfautorizaciontesis_ocabanzo.pdfHIDEapplication/pdf231387https://repositorio.uniandes.edu.co/bitstreams/b4ae78c0-98a7-4b8b-a7c7-957b279cacaa/downloadaafd2d3e76994d221977ce39c047c142MD51Sistema de Preprocesamiento para Optimizar la Generación de Embeddings.pdfSistema de Preprocesamiento para Optimizar la Generación de Embeddings.pdfapplication/pdf883215https://repositorio.uniandes.edu.co/bitstreams/81d2b93f-c929-4ea8-b893-0d51df4ec748/download60047336ba44cf545499b23dbe77a99dMD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8908https://repositorio.uniandes.edu.co/bitstreams/4a86be52-79f6-4801-9b31-2065c23c9f8c/download0175ea4a2d4caec4bbcc37e300941108MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-82535https://repositorio.uniandes.edu.co/bitstreams/15dd772b-a4c4-41ac-a620-25db96cad719/downloadae9e573a68e7f92501b6913cc846c39fMD54TEXTautorizaciontesis_ocabanzo.pdf.txtautorizaciontesis_ocabanzo.pdf.txtExtracted texttext/plain2033https://repositorio.uniandes.edu.co/bitstreams/125a5c3c-7ffa-42d5-9249-3a07626784ef/download6a9fb121c262fcaf326bac0351daf6abMD55Sistema de Preprocesamiento para Optimizar la Generación de Embeddings.pdf.txtSistema de Preprocesamiento para Optimizar la Generación de Embeddings.pdf.txtExtracted texttext/plain71354https://repositorio.uniandes.edu.co/bitstreams/6907b09d-c2cc-4713-b451-df45f848fad9/downloadc6764df5dea2b164d4e2682c55c09d6cMD57THUMBNAILautorizaciontesis_ocabanzo.pdf.jpgautorizaciontesis_ocabanzo.pdf.jpgGenerated Thumbnailimage/jpeg10813https://repositorio.uniandes.edu.co/bitstreams/cd63517c-d25c-4125-817f-3b43a4a5b39b/download2bf4861095f92aea324720dce5d985e8MD56Sistema de Preprocesamiento para Optimizar la Generación de Embeddings.pdf.jpgSistema de Preprocesamiento para Optimizar la Generación de Embeddings.pdf.jpgGenerated Thumbnailimage/jpeg6617https://repositorio.uniandes.edu.co/bitstreams/1577192b-45be-438d-8639-675f76cd0360/download5ab130827a7c64c8f246ec803a33f33dMD581992/75370oai:repositorio.uniandes.edu.co:1992/753702025-01-15 03:09:11.971http://creativecommons.org/licenses/by/4.0/Attribution 4.0 Internationalopen.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coPGgzPjxzdHJvbmc+RGVzY2FyZ28gZGUgUmVzcG9uc2FiaWxpZGFkIC0gTGljZW5jaWEgZGUgQXV0b3JpemFjacOzbjwvc3Ryb25nPjwvaDM+CjxwPjxzdHJvbmc+UG9yIGZhdm9yIGxlZXIgYXRlbnRhbWVudGUgZXN0ZSBkb2N1bWVudG8gcXVlIHBlcm1pdGUgYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBTw6luZWNhIHJlcHJvZHVjaXIgeSBkaXN0cmlidWlyIGxvcyByZWN1cnNvcyBkZSBpbmZvcm1hY2nDs24gZGVwb3NpdGFkb3MgbWVkaWFudGUgbGEgYXV0b3JpemFjacOzbiBkZSBsb3Mgc2lndWllbnRlcyB0w6lybWlub3M6PC9zdHJvbmc+PC9wPgo8cD5Db25jZWRhIGxhIGxpY2VuY2lhIGRlIGRlcMOzc2l0byBlc3TDoW5kYXIgc2VsZWNjaW9uYW5kbyBsYSBvcGNpw7NuIDxzdHJvbmc+J0FjZXB0YXIgbG9zIHTDqXJtaW5vcyBhbnRlcmlvcm1lbnRlIGRlc2NyaXRvcyc8L3N0cm9uZz4geSBjb250aW51YXIgZWwgcHJvY2VzbyBkZSBlbnbDrW8gbWVkaWFudGUgZWwgYm90w7NuIDxzdHJvbmc+J1NpZ3VpZW50ZScuPC9zdHJvbmc+PC9wPgo8aHI+CjxwPllvLCBlbiBtaSBjYWxpZGFkIGRlIGF1dG9yIGRlbCB0cmFiYWpvIGRlIHRlc2lzLCBtb25vZ3JhZsOtYSBvIHRyYWJham8gZGUgZ3JhZG8sIGhhZ28gZW50cmVnYSBkZWwgZWplbXBsYXIgcmVzcGVjdGl2byB5IGRlIHN1cyBhbmV4b3MgZGUgc2VyIGVsIGNhc28sIGVuIGZvcm1hdG8gZGlnaXRhbCB5L28gZWxlY3Ryw7NuaWNvIHkgYXV0b3Jpem8gYSBsYSBVbml2ZXJzaWRhZCBkZSBsb3MgQW5kZXMgcGFyYSBxdWUgcmVhbGljZSBsYSBwdWJsaWNhY2nDs24gZW4gZWwgU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBvIGVuIGN1YWxxdWllciBvdHJvIHNpc3RlbWEgbyBiYXNlIGRlIGRhdG9zIHByb3BpbyBvIGFqZW5vIGEgbGEgVW5pdmVyc2lkYWQgeSBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgTGV5IDQ0IGRlIDE5OTMsIERlY2lzacOzbiBBbmRpbmEgMzUxIGRlIDE5OTMsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbm9ybWFzIGdlbmVyYWxlcyBzb2JyZSBsYSBtYXRlcmlhLCB1dGlsaWNlIGVuIHRvZGFzIHN1cyBmb3JtYXMsIGxvcyBkZXJlY2hvcyBwYXRyaW1vbmlhbGVzIGRlIHJlcHJvZHVjY2nDs24sIGNvbXVuaWNhY2nDs24gcMO6YmxpY2EsIHRyYW5zZm9ybWFjacOzbiB5IGRpc3RyaWJ1Y2nDs24gKGFscXVpbGVyLCBwcsOpc3RhbW8gcMO6YmxpY28gZSBpbXBvcnRhY2nDs24pIHF1ZSBtZSBjb3JyZXNwb25kZW4gY29tbyBjcmVhZG9yIGRlIGxhIG9icmEgb2JqZXRvIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8uPC9wPgo8cD5MYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGVtaXRlIGVuIGNhbGlkYWQgZGUgYXV0b3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50byB5IG5vIGNvcnJlc3BvbmRlIGEgY2VzacOzbiBkZSBkZXJlY2hvcywgc2lubyBhIGxhIGF1dG9yaXphY2nDs24gZGUgdXNvIGFjYWTDqW1pY28gZGUgY29uZm9ybWlkYWQgY29uIGxvIGFudGVyaW9ybWVudGUgc2XDsWFsYWRvLiBMYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgZXh0ZW5zaXZhIG5vIHNvbG8gYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlIHVzbyBzb2JyZSBsYSBvYnJhIGVuIGZvcm1hdG8gbyBzb3BvcnRlIG1hdGVyaWFsLCBzaW5vIHRhbWJpw6luIHBhcmEgZm9ybWF0byBlbGVjdHLDs25pY28sIHkgZW4gZ2VuZXJhbCBwYXJhIGN1YWxxdWllciBmb3JtYXRvIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXIuPC9wPgo8cD5FbCBhdXRvciwgbWFuaWZpZXN0YSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zLCBwb3IgbG8gdGFudG8sIGxhIG9icmEgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgbGEgbWlzbWEuPC9wPgo8cD5FbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLjwvcD4KPHA+U2kgdGllbmUgYWxndW5hIGR1ZGEgc29icmUgbGEgbGljZW5jaWEsIHBvciBmYXZvciwgY29udGFjdGUgY29uIGVsIDxhIGhyZWY9Im1haWx0bzpiaWJsaW90ZWNhQHVuaWFuZGVzLmVkdS5jbyIgdGFyZ2V0PSJfYmxhbmsiPkFkbWluaXN0cmFkb3IgZGVsIFNpc3RlbWEuPC9hPjwvcD4K