Estudio comparativo y aportes de los algoritmos de Machine Learning aplicados a los procesos de contratación en QA
Este estudio compara de manera exhaustiva diferentes algoritmos de aprendizaje automático para evaluar su aplicabilidad en los procedimientos de contratación en el contexto de la Garantía de Calidad (QA). Los algoritmos evaluados incluyen Vecinos Más Cercanos, SVM Lineal, SVM Radial, Proceso Gaussia...
- Autores:
-
Bejarano Velandia, David Santiago
González Lizarazo, David Stevens
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2024
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/93901
- Acceso en línea:
- http://hdl.handle.net/11349/93901
- Palabra clave:
- Aprendizaje Automático
Garantía de calidad
Procesos de contratación
Comparación de algoritmos
Reducción de sesgos
Ingeniería Telemática -- Tesis y disertaciones académicas
Aprendizaje automático (Inteligencia artificial)
Aseguramiento de la calidad
Algoritmos
Evaluación de algoritmos
Machine Learning
Quality assurance
Hiring processes
Algorithm comparison
Bias reduction
- Rights
- License
- Abierto (Texto Completo)
id |
UDISTRITA2_0812ad978dfbf38a61fa9dfdbd5351bb |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/93901 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.none.fl_str_mv |
Estudio comparativo y aportes de los algoritmos de Machine Learning aplicados a los procesos de contratación en QA |
dc.title.titleenglish.none.fl_str_mv |
Comparative Study Between Machine Learning Algorithms Applied to Support QA Contracting Processes |
title |
Estudio comparativo y aportes de los algoritmos de Machine Learning aplicados a los procesos de contratación en QA |
spellingShingle |
Estudio comparativo y aportes de los algoritmos de Machine Learning aplicados a los procesos de contratación en QA Aprendizaje Automático Garantía de calidad Procesos de contratación Comparación de algoritmos Reducción de sesgos Ingeniería Telemática -- Tesis y disertaciones académicas Aprendizaje automático (Inteligencia artificial) Aseguramiento de la calidad Algoritmos Evaluación de algoritmos Machine Learning Quality assurance Hiring processes Algorithm comparison Bias reduction |
title_short |
Estudio comparativo y aportes de los algoritmos de Machine Learning aplicados a los procesos de contratación en QA |
title_full |
Estudio comparativo y aportes de los algoritmos de Machine Learning aplicados a los procesos de contratación en QA |
title_fullStr |
Estudio comparativo y aportes de los algoritmos de Machine Learning aplicados a los procesos de contratación en QA |
title_full_unstemmed |
Estudio comparativo y aportes de los algoritmos de Machine Learning aplicados a los procesos de contratación en QA |
title_sort |
Estudio comparativo y aportes de los algoritmos de Machine Learning aplicados a los procesos de contratación en QA |
dc.creator.fl_str_mv |
Bejarano Velandia, David Santiago González Lizarazo, David Stevens |
dc.contributor.advisor.none.fl_str_mv |
Rodríguez Rodríguez, Jorge Enrique |
dc.contributor.author.none.fl_str_mv |
Bejarano Velandia, David Santiago González Lizarazo, David Stevens |
dc.subject.none.fl_str_mv |
Aprendizaje Automático Garantía de calidad Procesos de contratación Comparación de algoritmos Reducción de sesgos |
topic |
Aprendizaje Automático Garantía de calidad Procesos de contratación Comparación de algoritmos Reducción de sesgos Ingeniería Telemática -- Tesis y disertaciones académicas Aprendizaje automático (Inteligencia artificial) Aseguramiento de la calidad Algoritmos Evaluación de algoritmos Machine Learning Quality assurance Hiring processes Algorithm comparison Bias reduction |
dc.subject.lemb.none.fl_str_mv |
Ingeniería Telemática -- Tesis y disertaciones académicas Aprendizaje automático (Inteligencia artificial) Aseguramiento de la calidad Algoritmos Evaluación de algoritmos |
dc.subject.keyword.none.fl_str_mv |
Machine Learning Quality assurance Hiring processes Algorithm comparison Bias reduction |
description |
Este estudio compara de manera exhaustiva diferentes algoritmos de aprendizaje automático para evaluar su aplicabilidad en los procedimientos de contratación en el contexto de la Garantía de Calidad (QA). Los algoritmos evaluados incluyen Vecinos Más Cercanos, SVM Lineal, SVM Radial, Proceso Gaussiano, Árbol de Decisión, Red Neuronal, Regresión Logística, Naive Bayes y QDA. Siguiendo el proceso de Descubrimiento de Conocimiento en Bases de Datos (KDD), la metodología incorpora un conjunto diverso de métricas de evaluación, tales como F1-Score, recall, precisión y AUC-ROC, además de curvas de aprendizaje, mapas de límites, matrices de confusión, el Coeficiente de Correlación de Matthews (MCC) y curvas de complejidad. De acuerdo con la evaluación del Cuadrante Mágico de Gartner, los resultados sugieren que los modelos de Red Neuronal, QDA y Proceso Gaussiano exhiben un rendimiento sólido y una evaluación exhaustiva, lo cual los hace óptimos para el estudio de caso presentado en el artículo. En contraste, los modelos de Vecinos Más Cercanos y SVM Lineal son considerados subóptimos, lo que indica una oportunidad para explorar las razones detrás de su desempeño en el estudio de caso y cómo modificarlos para obtener mejores resultados. Los otros algoritmos también presentan diversas posibilidades de adaptación al caso actual, ya sea como modelos con un análisis limitado o como modelos imprecisos que pueden aportar valiosas perspectivas para futuros trabajos enfocados en optimizarlos de manera más efectiva. Este estudio contribuye significativamente al avance de las aplicaciones de aprendizaje automático en los procedimientos de contratación |
publishDate |
2024 |
dc.date.created.none.fl_str_mv |
2024-08-04 |
dc.date.accessioned.none.fl_str_mv |
2025-03-19T21:28:26Z |
dc.date.available.none.fl_str_mv |
2025-03-19T21:28:26Z |
dc.type.none.fl_str_mv |
bachelorThesis |
dc.type.degree.none.fl_str_mv |
Producción Académica |
dc.type.coar.none.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
format |
http://purl.org/coar/resource_type/c_7a1f |
dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/11349/93901 |
url |
http://hdl.handle.net/11349/93901 |
dc.relation.references.none.fl_str_mv |
David Santiago Bejarano Velandia, Jorge Enrique Rodriguez Rodriguez, and David Stevens Gonzalez Lizarazo, "Comparative Study Between Machine Learning Algorithms Applied to Support QA Contracting Processes," Engineering Letters, vol. 32, no. 8, pp1690-1707, 2024 |
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/cd9ed507-9a7d-44bf-924c-17161fd9375b/download https://repository.udistrital.edu.co/bitstreams/09fe9007-a8cc-4545-9a3d-0034e3197d9c/download https://repository.udistrital.edu.co/bitstreams/bc854ef8-12ab-47e8-8cd3-c8b682abcc22/download https://repository.udistrital.edu.co/bitstreams/de68b14e-ae19-486b-9081-3a8ad82fd41b/download https://repository.udistrital.edu.co/bitstreams/d0266bfe-12dc-4272-8124-e6bf91c18969/download |
bitstream.checksum.fl_str_mv |
cd5e7d7f6adbf05f24d2c40173d6861e 60efc81fae2d5f5767d336dc14bd5c0e 997daf6c648c962d566d7b082dac908d f38c7d6e54e8b1af87d15f9a067672d5 c869e546ad231f9b865607bfc39a3f3f |
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_ |
1837006505192194048 |
spelling |
Rodríguez Rodríguez, Jorge EnriqueBejarano Velandia, David SantiagoGonzález Lizarazo, David Stevens2025-03-19T21:28:26Z2025-03-19T21:28:26Z2024-08-04http://hdl.handle.net/11349/93901Este estudio compara de manera exhaustiva diferentes algoritmos de aprendizaje automático para evaluar su aplicabilidad en los procedimientos de contratación en el contexto de la Garantía de Calidad (QA). Los algoritmos evaluados incluyen Vecinos Más Cercanos, SVM Lineal, SVM Radial, Proceso Gaussiano, Árbol de Decisión, Red Neuronal, Regresión Logística, Naive Bayes y QDA. Siguiendo el proceso de Descubrimiento de Conocimiento en Bases de Datos (KDD), la metodología incorpora un conjunto diverso de métricas de evaluación, tales como F1-Score, recall, precisión y AUC-ROC, además de curvas de aprendizaje, mapas de límites, matrices de confusión, el Coeficiente de Correlación de Matthews (MCC) y curvas de complejidad. De acuerdo con la evaluación del Cuadrante Mágico de Gartner, los resultados sugieren que los modelos de Red Neuronal, QDA y Proceso Gaussiano exhiben un rendimiento sólido y una evaluación exhaustiva, lo cual los hace óptimos para el estudio de caso presentado en el artículo. En contraste, los modelos de Vecinos Más Cercanos y SVM Lineal son considerados subóptimos, lo que indica una oportunidad para explorar las razones detrás de su desempeño en el estudio de caso y cómo modificarlos para obtener mejores resultados. Los otros algoritmos también presentan diversas posibilidades de adaptación al caso actual, ya sea como modelos con un análisis limitado o como modelos imprecisos que pueden aportar valiosas perspectivas para futuros trabajos enfocados en optimizarlos de manera más efectiva. Este estudio contribuye significativamente al avance de las aplicaciones de aprendizaje automático en los procedimientos de contrataciónThis study comprehensively compares different machine learning algorithms to assess their applicability in Quality Assurance (QA) contracting procedures. The evaluated algorithms encompass Nearest Neighbors, Linear SVM, Radial SVM, Gaussian Process, Decision Tree, Neural Network, Logistic Regression, Naive Bayes, and QDA. Following the Knowledge Discovery Database (KDD) process, the methodology includes a diverse set of evaluation metrics such as F1-Score, recall, accuracy, and AUC-ROC, as well as learning curves, boundary maps, confusion matrices, Matthews Correlation Coefficient (MCC), and complexity curves. According to the Gartner Magic Quadrant assessment, the results suggest that Neural Network, QDA, and Gaussian Process models exhibit strong performance and thorough evaluation, making them optimal for the case study presented in the paper. In contrast, Nearest Neighbors and Linear SVM models are considered suboptimal, indicating an opportunity to explore the reasons behind their behavior in the case study and how to modify them for improved results. The other algorithms also present various possibilities for adaptation to the current case study, either as models with limited analysis or as imprecise models that can offer valuable insights for future work on optimizing them more effectively. This study significantly contributes to advancing machine learning applications in recruitment procedures.pdfAprendizaje AutomáticoGarantía de calidadProcesos de contrataciónComparación de algoritmosReducción de sesgosIngeniería Telemática -- Tesis y disertaciones académicasAprendizaje automático (Inteligencia artificial)Aseguramiento de la calidadAlgoritmosEvaluación de algoritmosMachine LearningQuality assuranceHiring processesAlgorithm comparisonBias reductionEstudio comparativo y aportes de los algoritmos de Machine Learning aplicados a los procesos de contratación en QAComparative Study Between Machine Learning Algorithms Applied to Support QA Contracting ProcessesbachelorThesisProducción Académicahttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2David Santiago Bejarano Velandia, Jorge Enrique Rodriguez Rodriguez, and David Stevens Gonzalez Lizarazo, "Comparative Study Between Machine Learning Algorithms Applied to Support QA Contracting Processes," Engineering Letters, vol. 32, no. 8, pp1690-1707, 2024ORIGINALGonzalezLizarazoDavidStevens2024.pdfGonzalezLizarazoDavidStevens2024.pdfapplication/pdf3957203https://repository.udistrital.edu.co/bitstreams/cd9ed507-9a7d-44bf-924c-17161fd9375b/downloadcd5e7d7f6adbf05f24d2c40173d6861eMD54Licencia de uso y autorizaciónLicencia de uso y autorizaciónapplication/pdf708686https://repository.udistrital.edu.co/bitstreams/09fe9007-a8cc-4545-9a3d-0034e3197d9c/download60efc81fae2d5f5767d336dc14bd5c0eMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/bc854ef8-12ab-47e8-8cd3-c8b682abcc22/download997daf6c648c962d566d7b082dac908dMD53THUMBNAILGonzalezLizarazoDavidStevens2024.pdf.jpgGonzalezLizarazoDavidStevens2024.pdf.jpgIM Thumbnailimage/jpeg11224https://repository.udistrital.edu.co/bitstreams/de68b14e-ae19-486b-9081-3a8ad82fd41b/downloadf38c7d6e54e8b1af87d15f9a067672d5MD55Licencia de uso y autorización.jpgLicencia de uso y autorización.jpgIM Thumbnailimage/jpeg9756https://repository.udistrital.edu.co/bitstreams/d0266bfe-12dc-4272-8124-e6bf91c18969/downloadc869e546ad231f9b865607bfc39a3f3fMD5611349/93901oai:repository.udistrital.edu.co:11349/939012025-03-20 01:06:28.963open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |