Implementación de un sistema de traducción automática voz a voz mediante el uso de transformers
En este proyecto se implementó un sistema de traducción de voz a voz basado en transformers, abordando los desafíos en cada etapa del proceso: reconocimiento de voz (voz a texto), traducción y síntesis de voz (texto a voz). Inicialmente, se implementó una solución utilizando modelos separados de aut...
- Autores:
-
Hurtado Jiménez, Daniel
- 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/74277
- Acceso en línea:
- https://hdl.handle.net/1992/74277
- Palabra clave:
- Transformers
Hugging Face
Speech to speech translation
Ingeniería
- Rights
- openAccess
- License
- https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf
id |
UNIANDES2_8cf87d4e2d121a3729dcad610f71ab77 |
---|---|
oai_identifier_str |
oai:repositorio.uniandes.edu.co:1992/74277 |
network_acronym_str |
UNIANDES2 |
network_name_str |
Séneca: repositorio Uniandes |
repository_id_str |
|
dc.title.none.fl_str_mv |
Implementación de un sistema de traducción automática voz a voz mediante el uso de transformers |
title |
Implementación de un sistema de traducción automática voz a voz mediante el uso de transformers |
spellingShingle |
Implementación de un sistema de traducción automática voz a voz mediante el uso de transformers Transformers Hugging Face Speech to speech translation Ingeniería |
title_short |
Implementación de un sistema de traducción automática voz a voz mediante el uso de transformers |
title_full |
Implementación de un sistema de traducción automática voz a voz mediante el uso de transformers |
title_fullStr |
Implementación de un sistema de traducción automática voz a voz mediante el uso de transformers |
title_full_unstemmed |
Implementación de un sistema de traducción automática voz a voz mediante el uso de transformers |
title_sort |
Implementación de un sistema de traducción automática voz a voz mediante el uso de transformers |
dc.creator.fl_str_mv |
Hurtado Jiménez, Daniel |
dc.contributor.advisor.none.fl_str_mv |
Lozano Martínez, Fernando Enrique |
dc.contributor.author.none.fl_str_mv |
Hurtado Jiménez, Daniel |
dc.contributor.jury.none.fl_str_mv |
Osma Cruz, Johann Faccelo |
dc.subject.keyword.spa.fl_str_mv |
Transformers Hugging Face |
topic |
Transformers Hugging Face Speech to speech translation Ingeniería |
dc.subject.keyword.none.fl_str_mv |
Speech to speech translation |
dc.subject.themes.spa.fl_str_mv |
Ingeniería |
description |
En este proyecto se implementó un sistema de traducción de voz a voz basado en transformers, abordando los desafíos en cada etapa del proceso: reconocimiento de voz (voz a texto), traducción y síntesis de voz (texto a voz). Inicialmente, se implementó una solución utilizando modelos separados de automatic speech recognition (ASR) y traducción, empleando Wav2Vec2 con capas de salida CTC. Sin embargo, esta configuración presentó fallas significativas en la transcripción, lo que llevó a explorar modelos más robustos. Finalmente, se decidió utilizar Whisper de OpenAI, un modelo con arquitectura seq2seq que además de convertir el audio a texto este también lo traduce. Para la síntesis de voz, se empleó SpeechT5 junto con speakers embeddings generados mediante una combinación de X-vectors y ECAPA-TDNN. Se concluyo que, aunque los resultados en términos de calidad de traducción y generación de voz son prometedores, la eficiencia operativa y la robustez en condiciones variables siguen siendo áreas críticas de mejora, especialmente en la síntesis de voz. |
publishDate |
2024 |
dc.date.accessioned.none.fl_str_mv |
2024-06-11T14:54:23Z |
dc.date.available.none.fl_str_mv |
2024-06-11T14:54:23Z |
dc.date.issued.none.fl_str_mv |
2024-06-06 |
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/74277 |
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/74277 |
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 |
A. Vaswani et al., “Attention is all you need,” arXiv.org, [Online]. Available: https://arxiv.org/abs/1706.03762. A. Baevski, H. Zhou, A. Mohamed, and M. Auli, “WAV2VEC 2.0: A framework for self-supervised learning of speech representations,” arXiv.org, [Online]. Available: https://arxiv.org/abs/2006.11477. A. Hannun, “Sequence modeling with CTC,” Distill, [Online]. Available: https://distill.pub/2017/ctc/. I. Sutskever, O. Vinyals, and Q. V. Le, “Sequence to sequence learning with neural networks,” arXiv.org, [Online]. Available: https://arxiv.org/abs/1409.3215. “Introducing whisper,” Introducing Whisper, [Online]. Available: https://openai.com/research/whisper. D. Hendrycks and K. Gimpel, “Gaussian error linear units (GELUs),” arXiv.org, [Online]. Available: https://arxiv.org/abs/1606.08415. E. J. Hu et al., “LoRA: Low-rank adaptation of large language models,” arXiv.org, [Online]. Available: https://arxiv.org/abs/2106.09685. B. Jacob et al., “Quantization and training of neural networks for efficient integer-arithmetic-only inference,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), 2018. K. Papineni, S. Roukos, T. Ward, and W.-J. Zhu, “BLEU: A method for automatic evaluation of machine translation,” in Proc. 40th Annu. Meeting Assoc. Comput. Linguist., 2002, pp. 311-318. J. Ao et al., “SpeechT5: Unified-modal encoder-decoder pre-training for spoken language processing,” arXiv.org, [Online]. Available: https://arxiv.org/abs/2110.07205. R. Rei, A. C. Farinha, A. Lavie, and A. Lavie, “COMET: A neural framework for MT evaluation,” in Proc. 2020 Conf. Empirical Methods Natural Lang. Process. (EMNLP), 2020, pp. 2685-2702. J. Kong, J. Kim, and J. Bae, “HiFi-GAN: Generative adversarial networks for efficient and high fidelity speech synthesis,” arXiv.org, [Online]. Available: https://arxiv.org/abs/2010.05646. N. Dehak, P. J. Kenny, R. Dehak, P. Dumouchel, and P. Ouellet, “Front-end factor analysis for speaker verification,” IEEE Trans. Audio, Speech, Lang. Process., vol. 19, no. 4, pp. 788-798, May 2011. D. Snyder, D. Garcia-Romero, G. Sell, D. Povey, and S. Khudanpur, “X-vectors: Robust DNN embeddings for speaker recognition,” in Proc. 2018 IEEE Int. Conf. Acoust., Speech, Signal Process. (ICASSP), 2018, pp. 5329-5333. B. Desplanques, J. Thienpondt, and K. Demuynck, “ECAPA-TDNN: Emphasized channel attention, propagation and aggregation in TDNN based speaker verification,” arXiv.org, [Online]. Available: https://arxiv.org/abs/2005.07143. “Architecture of the Xception deep CNN model,” ResearchGate, [Online]. Available: https://www.researchgate.net/figure/Architecture-of-the-Xception-deep-CNN-model_fig2_351371226. “ECAPA-TDNN baseline system architecture. T indicates the number of input frames, C the number of channels,” ResearchGate, [Online]. Available: https://www.researchgate.net/figure/ECAPA-TDNN-baseline-system-architecture-T-indicates-the-number-of-input-frames-C-the_fig1_344828455. “facebook/voxpopuli · datasets at Hugging Face,” Hugging Face, [Online]. Available: https://huggingface.co/datasets/facebook/voxpopuli. R. Kubichek, "Mel-cepstral distance measure for objective speech quality assessment," in Proc. IEEE Pacific Rim Conf. Commun., Comput., Signal Process., Victoria, BC, Canada, 1993, pp. 125-128. doi: 10.1109/PACRIM.1993.407178. C. Zhang, S. Bengio, M. Hardt, B. Recht, and O. Vinyals, "Understanding deep learning requires rethinking generalization," in Proc. 7th Int. Conf. Learn. Representations (ICLR), 2019. |
dc.rights.uri.none.fl_str_mv |
https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf |
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 |
https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.extent.none.fl_str_mv |
11 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 Electrónica |
dc.publisher.faculty.none.fl_str_mv |
Facultad de Ingeniería |
dc.publisher.department.none.fl_str_mv |
Departamento de Ingeniería Eléctrica y Electrónica |
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/7fc0cc0a-a3a5-40bc-90e5-e37549c0f12b/download https://repositorio.uniandes.edu.co/bitstreams/82c0970a-3e57-48ca-9e1d-38741bbd9721/download https://repositorio.uniandes.edu.co/bitstreams/4062c095-fe0b-431e-ae40-7d62826e3c40/download https://repositorio.uniandes.edu.co/bitstreams/01071d1f-46a9-4260-907c-16f564de6a3a/download https://repositorio.uniandes.edu.co/bitstreams/e9b2fa1d-acbc-4283-9fda-735919fedbde/download https://repositorio.uniandes.edu.co/bitstreams/7aea5213-e5d3-4529-98e6-8c333ed21e61/download https://repositorio.uniandes.edu.co/bitstreams/3a514b6e-e4c1-49ab-9701-46851ada8d3e/download |
bitstream.checksum.fl_str_mv |
e5e1d06bd7923bde94b0b800e5564d3f 4dfede26f5ad56b3d4b014ea647a45bc ae9e573a68e7f92501b6913cc846c39f e131a3a4ba4df9ef18deaa45ef66733b 4c5ceb2328c0fea3f9f69bae700460f1 851e5a488452b794a319a5b4fb66d948 d92e530fe80cb512daaa94d1df5f8dc6 |
bitstream.checksumAlgorithm.fl_str_mv |
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_ |
1812133811184467968 |
spelling |
Lozano Martínez, Fernando Enriquevirtual::18118-1Hurtado Jiménez, DanielOsma Cruz, Johann Faccelovirtual::18121-12024-06-11T14:54:23Z2024-06-11T14:54:23Z2024-06-06https://hdl.handle.net/1992/74277instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/En este proyecto se implementó un sistema de traducción de voz a voz basado en transformers, abordando los desafíos en cada etapa del proceso: reconocimiento de voz (voz a texto), traducción y síntesis de voz (texto a voz). Inicialmente, se implementó una solución utilizando modelos separados de automatic speech recognition (ASR) y traducción, empleando Wav2Vec2 con capas de salida CTC. Sin embargo, esta configuración presentó fallas significativas en la transcripción, lo que llevó a explorar modelos más robustos. Finalmente, se decidió utilizar Whisper de OpenAI, un modelo con arquitectura seq2seq que además de convertir el audio a texto este también lo traduce. Para la síntesis de voz, se empleó SpeechT5 junto con speakers embeddings generados mediante una combinación de X-vectors y ECAPA-TDNN. Se concluyo que, aunque los resultados en términos de calidad de traducción y generación de voz son prometedores, la eficiencia operativa y la robustez en condiciones variables siguen siendo áreas críticas de mejora, especialmente en la síntesis de voz.Pregrado11 páginasapplication/pdfspaUniversidad de los AndesIngeniería ElectrónicaFacultad de IngenieríaDepartamento de Ingeniería Eléctrica y Electrónicahttps://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdfinfo:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Implementación de un sistema de traducción automática voz a voz mediante el uso de transformersTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TPTransformersHugging FaceSpeech to speech translationIngenieríaA. Vaswani et al., “Attention is all you need,” arXiv.org, [Online]. Available: https://arxiv.org/abs/1706.03762.A. Baevski, H. Zhou, A. Mohamed, and M. Auli, “WAV2VEC 2.0: A framework for self-supervised learning of speech representations,” arXiv.org, [Online]. Available: https://arxiv.org/abs/2006.11477.A. Hannun, “Sequence modeling with CTC,” Distill, [Online]. Available: https://distill.pub/2017/ctc/.I. Sutskever, O. Vinyals, and Q. V. Le, “Sequence to sequence learning with neural networks,” arXiv.org, [Online]. Available: https://arxiv.org/abs/1409.3215.“Introducing whisper,” Introducing Whisper, [Online]. Available: https://openai.com/research/whisper.D. Hendrycks and K. Gimpel, “Gaussian error linear units (GELUs),” arXiv.org, [Online]. Available: https://arxiv.org/abs/1606.08415.E. J. Hu et al., “LoRA: Low-rank adaptation of large language models,” arXiv.org, [Online]. Available: https://arxiv.org/abs/2106.09685.B. Jacob et al., “Quantization and training of neural networks for efficient integer-arithmetic-only inference,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), 2018.K. Papineni, S. Roukos, T. Ward, and W.-J. Zhu, “BLEU: A method for automatic evaluation of machine translation,” in Proc. 40th Annu. Meeting Assoc. Comput. Linguist., 2002, pp. 311-318.J. Ao et al., “SpeechT5: Unified-modal encoder-decoder pre-training for spoken language processing,” arXiv.org, [Online]. Available: https://arxiv.org/abs/2110.07205.R. Rei, A. C. Farinha, A. Lavie, and A. Lavie, “COMET: A neural framework for MT evaluation,” in Proc. 2020 Conf. Empirical Methods Natural Lang. Process. (EMNLP), 2020, pp. 2685-2702.J. Kong, J. Kim, and J. Bae, “HiFi-GAN: Generative adversarial networks for efficient and high fidelity speech synthesis,” arXiv.org, [Online]. Available: https://arxiv.org/abs/2010.05646.N. Dehak, P. J. Kenny, R. Dehak, P. Dumouchel, and P. Ouellet, “Front-end factor analysis for speaker verification,” IEEE Trans. Audio, Speech, Lang. Process., vol. 19, no. 4, pp. 788-798, May 2011.D. Snyder, D. Garcia-Romero, G. Sell, D. Povey, and S. Khudanpur, “X-vectors: Robust DNN embeddings for speaker recognition,” in Proc. 2018 IEEE Int. Conf. Acoust., Speech, Signal Process. (ICASSP), 2018, pp. 5329-5333.B. Desplanques, J. Thienpondt, and K. Demuynck, “ECAPA-TDNN: Emphasized channel attention, propagation and aggregation in TDNN based speaker verification,” arXiv.org, [Online]. Available: https://arxiv.org/abs/2005.07143.“Architecture of the Xception deep CNN model,” ResearchGate, [Online]. Available: https://www.researchgate.net/figure/Architecture-of-the-Xception-deep-CNN-model_fig2_351371226.“ECAPA-TDNN baseline system architecture. T indicates the number of input frames, C the number of channels,” ResearchGate, [Online]. Available: https://www.researchgate.net/figure/ECAPA-TDNN-baseline-system-architecture-T-indicates-the-number-of-input-frames-C-the_fig1_344828455.“facebook/voxpopuli · datasets at Hugging Face,” Hugging Face, [Online]. Available: https://huggingface.co/datasets/facebook/voxpopuli.R. Kubichek, "Mel-cepstral distance measure for objective speech quality assessment," in Proc. IEEE Pacific Rim Conf. Commun., Comput., Signal Process., Victoria, BC, Canada, 1993, pp. 125-128. doi: 10.1109/PACRIM.1993.407178.C. Zhang, S. Bengio, M. Hardt, B. Recht, and O. Vinyals, "Understanding deep learning requires rethinking generalization," in Proc. 7th Int. Conf. Learn. Representations (ICLR), 2019.201922461Publicationhttps://scholar.google.es/citations?user=6QQ-dqMAAAAJvirtual::18121-1https://scholar.google.es/citations?user=6QQ-dqMAAAAJ0000-0003-2928-3406virtual::18121-10000-0003-2928-3406https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000025550virtual::18118-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000221112virtual::18121-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000221112edd81d8c-e0b9-4c1f-bf04-eed0e12e755dvirtual::18118-1edd81d8c-e0b9-4c1f-bf04-eed0e12e755dvirtual::18118-1a9f6ef37-65d7-4484-be71-8f3b4067a8favirtual::18121-1a9f6ef37-65d7-4484-be71-8f3b4067a8faa9f6ef37-65d7-4484-be71-8f3b4067a8favirtual::18121-1ORIGINALImplementación de un sistema de traducción automática voz a voz mediante el uso de transformers.pdfImplementación de un sistema de traducción automática voz a voz mediante el uso de transformers.pdfapplication/pdf1024263https://repositorio.uniandes.edu.co/bitstreams/7fc0cc0a-a3a5-40bc-90e5-e37549c0f12b/downloade5e1d06bd7923bde94b0b800e5564d3fMD51autorizacion tesis copy.pdfautorizacion tesis copy.pdfHIDEapplication/pdf233023https://repositorio.uniandes.edu.co/bitstreams/82c0970a-3e57-48ca-9e1d-38741bbd9721/download4dfede26f5ad56b3d4b014ea647a45bcMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82535https://repositorio.uniandes.edu.co/bitstreams/4062c095-fe0b-431e-ae40-7d62826e3c40/downloadae9e573a68e7f92501b6913cc846c39fMD53TEXTImplementación de un sistema de traducción automática voz a voz mediante el uso de transformers.pdf.txtImplementación de un sistema de traducción automática voz a voz mediante el uso de transformers.pdf.txtExtracted texttext/plain44370https://repositorio.uniandes.edu.co/bitstreams/01071d1f-46a9-4260-907c-16f564de6a3a/downloade131a3a4ba4df9ef18deaa45ef66733bMD54autorizacion tesis copy.pdf.txtautorizacion tesis copy.pdf.txtExtracted texttext/plain2029https://repositorio.uniandes.edu.co/bitstreams/e9b2fa1d-acbc-4283-9fda-735919fedbde/download4c5ceb2328c0fea3f9f69bae700460f1MD56THUMBNAILImplementación de un sistema de traducción automática voz a voz mediante el uso de transformers.pdf.jpgImplementación de un sistema de traducción automática voz a voz mediante el uso de transformers.pdf.jpgGenerated Thumbnailimage/jpeg16635https://repositorio.uniandes.edu.co/bitstreams/7aea5213-e5d3-4529-98e6-8c333ed21e61/download851e5a488452b794a319a5b4fb66d948MD55autorizacion tesis copy.pdf.jpgautorizacion tesis copy.pdf.jpgGenerated Thumbnailimage/jpeg10880https://repositorio.uniandes.edu.co/bitstreams/3a514b6e-e4c1-49ab-9701-46851ada8d3e/downloadd92e530fe80cb512daaa94d1df5f8dc6MD571992/74277oai:repositorio.uniandes.edu.co:1992/742772024-06-12 03:01:20.941https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdfopen.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coPGgzPjxzdHJvbmc+RGVzY2FyZ28gZGUgUmVzcG9uc2FiaWxpZGFkIC0gTGljZW5jaWEgZGUgQXV0b3JpemFjacOzbjwvc3Ryb25nPjwvaDM+CjxwPjxzdHJvbmc+UG9yIGZhdm9yIGxlZXIgYXRlbnRhbWVudGUgZXN0ZSBkb2N1bWVudG8gcXVlIHBlcm1pdGUgYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBTw6luZWNhIHJlcHJvZHVjaXIgeSBkaXN0cmlidWlyIGxvcyByZWN1cnNvcyBkZSBpbmZvcm1hY2nDs24gZGVwb3NpdGFkb3MgbWVkaWFudGUgbGEgYXV0b3JpemFjacOzbiBkZSBsb3Mgc2lndWllbnRlcyB0w6lybWlub3M6PC9zdHJvbmc+PC9wPgo8cD5Db25jZWRhIGxhIGxpY2VuY2lhIGRlIGRlcMOzc2l0byBlc3TDoW5kYXIgc2VsZWNjaW9uYW5kbyBsYSBvcGNpw7NuIDxzdHJvbmc+J0FjZXB0YXIgbG9zIHTDqXJtaW5vcyBhbnRlcmlvcm1lbnRlIGRlc2NyaXRvcyc8L3N0cm9uZz4geSBjb250aW51YXIgZWwgcHJvY2VzbyBkZSBlbnbDrW8gbWVkaWFudGUgZWwgYm90w7NuIDxzdHJvbmc+J1NpZ3VpZW50ZScuPC9zdHJvbmc+PC9wPgo8aHI+CjxwPllvLCBlbiBtaSBjYWxpZGFkIGRlIGF1dG9yIGRlbCB0cmFiYWpvIGRlIHRlc2lzLCBtb25vZ3JhZsOtYSBvIHRyYWJham8gZGUgZ3JhZG8sIGhhZ28gZW50cmVnYSBkZWwgZWplbXBsYXIgcmVzcGVjdGl2byB5IGRlIHN1cyBhbmV4b3MgZGUgc2VyIGVsIGNhc28sIGVuIGZvcm1hdG8gZGlnaXRhbCB5L28gZWxlY3Ryw7NuaWNvIHkgYXV0b3Jpem8gYSBsYSBVbml2ZXJzaWRhZCBkZSBsb3MgQW5kZXMgcGFyYSBxdWUgcmVhbGljZSBsYSBwdWJsaWNhY2nDs24gZW4gZWwgU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBvIGVuIGN1YWxxdWllciBvdHJvIHNpc3RlbWEgbyBiYXNlIGRlIGRhdG9zIHByb3BpbyBvIGFqZW5vIGEgbGEgVW5pdmVyc2lkYWQgeSBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgTGV5IDQ0IGRlIDE5OTMsIERlY2lzacOzbiBBbmRpbmEgMzUxIGRlIDE5OTMsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbm9ybWFzIGdlbmVyYWxlcyBzb2JyZSBsYSBtYXRlcmlhLCB1dGlsaWNlIGVuIHRvZGFzIHN1cyBmb3JtYXMsIGxvcyBkZXJlY2hvcyBwYXRyaW1vbmlhbGVzIGRlIHJlcHJvZHVjY2nDs24sIGNvbXVuaWNhY2nDs24gcMO6YmxpY2EsIHRyYW5zZm9ybWFjacOzbiB5IGRpc3RyaWJ1Y2nDs24gKGFscXVpbGVyLCBwcsOpc3RhbW8gcMO6YmxpY28gZSBpbXBvcnRhY2nDs24pIHF1ZSBtZSBjb3JyZXNwb25kZW4gY29tbyBjcmVhZG9yIGRlIGxhIG9icmEgb2JqZXRvIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8uPC9wPgo8cD5MYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGVtaXRlIGVuIGNhbGlkYWQgZGUgYXV0b3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50byB5IG5vIGNvcnJlc3BvbmRlIGEgY2VzacOzbiBkZSBkZXJlY2hvcywgc2lubyBhIGxhIGF1dG9yaXphY2nDs24gZGUgdXNvIGFjYWTDqW1pY28gZGUgY29uZm9ybWlkYWQgY29uIGxvIGFudGVyaW9ybWVudGUgc2XDsWFsYWRvLiBMYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgZXh0ZW5zaXZhIG5vIHNvbG8gYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlIHVzbyBzb2JyZSBsYSBvYnJhIGVuIGZvcm1hdG8gbyBzb3BvcnRlIG1hdGVyaWFsLCBzaW5vIHRhbWJpw6luIHBhcmEgZm9ybWF0byBlbGVjdHLDs25pY28sIHkgZW4gZ2VuZXJhbCBwYXJhIGN1YWxxdWllciBmb3JtYXRvIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXIuPC9wPgo8cD5FbCBhdXRvciwgbWFuaWZpZXN0YSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zLCBwb3IgbG8gdGFudG8sIGxhIG9icmEgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgbGEgbWlzbWEuPC9wPgo8cD5FbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLjwvcD4KPHA+U2kgdGllbmUgYWxndW5hIGR1ZGEgc29icmUgbGEgbGljZW5jaWEsIHBvciBmYXZvciwgY29udGFjdGUgY29uIGVsIDxhIGhyZWY9Im1haWx0bzpiaWJsaW90ZWNhQHVuaWFuZGVzLmVkdS5jbyIgdGFyZ2V0PSJfYmxhbmsiPkFkbWluaXN0cmFkb3IgZGVsIFNpc3RlbWEuPC9hPjwvcD4K |