Creación de una herramienta de voz a texto utilizando un motor de software libre para facilitar la inclución digital en educacion telepresencial a la comunidad no oyente de la Universidad ECCI

The purpose of this project is to develop a free software prototype tool for assisting hearing-impaired students that struggle with virtual academic environments. This comes from direct experience of the needs of this community using this platform during the Covid-19 restrictions where captions were...

Full description

Autores:
Duarte Cortes, Luis Alberto
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2022
Institución:
Universidad ECCI
Repositorio:
Repositorio Institucional ECCI
Idioma:
spa
OAI Identifier:
oai:repositorio.ecci.edu.co:001/3546
Acceso en línea:
https://repositorio.ecci.edu.co/handle/001/3546
Palabra clave:
Voz a texto
Software Libre
Educación Telepresencial
Discapacidad auditiva
Inteligencia Artificial
Redes neuronales convulsionadas
Cadenas de Markov
Subtitulos Automatizados
Convolutional neural network
Voice to text
Open Source Software
Virtual Education
Hearing Impaired
Markov Chains
Automated Subtitles
Rights
openAccess
License
Attribution-NonCommercial 4.0 International
id ECCI2_94e152530fe212e0afb8d6a774680e94
oai_identifier_str oai:repositorio.ecci.edu.co:001/3546
network_acronym_str ECCI2
network_name_str Repositorio Institucional ECCI
repository_id_str
dc.title.spa.fl_str_mv Creación de una herramienta de voz a texto utilizando un motor de software libre para facilitar la inclución digital en educacion telepresencial a la comunidad no oyente de la Universidad ECCI
title Creación de una herramienta de voz a texto utilizando un motor de software libre para facilitar la inclución digital en educacion telepresencial a la comunidad no oyente de la Universidad ECCI
spellingShingle Creación de una herramienta de voz a texto utilizando un motor de software libre para facilitar la inclución digital en educacion telepresencial a la comunidad no oyente de la Universidad ECCI
Voz a texto
Software Libre
Educación Telepresencial
Discapacidad auditiva
Inteligencia Artificial
Redes neuronales convulsionadas
Cadenas de Markov
Subtitulos Automatizados
Convolutional neural network
Voice to text
Open Source Software
Virtual Education
Hearing Impaired
Markov Chains
Automated Subtitles
title_short Creación de una herramienta de voz a texto utilizando un motor de software libre para facilitar la inclución digital en educacion telepresencial a la comunidad no oyente de la Universidad ECCI
title_full Creación de una herramienta de voz a texto utilizando un motor de software libre para facilitar la inclución digital en educacion telepresencial a la comunidad no oyente de la Universidad ECCI
title_fullStr Creación de una herramienta de voz a texto utilizando un motor de software libre para facilitar la inclución digital en educacion telepresencial a la comunidad no oyente de la Universidad ECCI
title_full_unstemmed Creación de una herramienta de voz a texto utilizando un motor de software libre para facilitar la inclución digital en educacion telepresencial a la comunidad no oyente de la Universidad ECCI
title_sort Creación de una herramienta de voz a texto utilizando un motor de software libre para facilitar la inclución digital en educacion telepresencial a la comunidad no oyente de la Universidad ECCI
dc.creator.fl_str_mv Duarte Cortes, Luis Alberto
dc.contributor.advisor.none.fl_str_mv Sabogal Rueda, Alexander
dc.contributor.author.none.fl_str_mv Duarte Cortes, Luis Alberto
dc.contributor.researchgroup.spa.fl_str_mv Sigestecci
dc.subject.proposal.spa.fl_str_mv Voz a texto
Software Libre
Educación Telepresencial
Discapacidad auditiva
Inteligencia Artificial
Redes neuronales convulsionadas
Cadenas de Markov
Subtitulos Automatizados
Convolutional neural network
topic Voz a texto
Software Libre
Educación Telepresencial
Discapacidad auditiva
Inteligencia Artificial
Redes neuronales convulsionadas
Cadenas de Markov
Subtitulos Automatizados
Convolutional neural network
Voice to text
Open Source Software
Virtual Education
Hearing Impaired
Markov Chains
Automated Subtitles
dc.subject.proposal.eng.fl_str_mv Voice to text
Open Source Software
Virtual Education
Hearing Impaired
Markov Chains
Automated Subtitles
description The purpose of this project is to develop a free software prototype tool for assisting hearing-impaired students that struggle with virtual academic environments. This comes from direct experience of the needs of this community using this platform during the Covid-19 restrictions where captions were unavailable during classes so hearing-impaired students required a full-time sign interpreter during classes to communicate accurately with the teacher. The main motivation for this development is to achieve easier adoption of new virtuality use cases, and solve the evident absence of this service since it is not provided by the university. This proposal is born from the Free Software Research hotbed from the ECCI University to dig deeply into voice-to-text technologies as a primary source to conduct a state-of-the-art analysis using different voice-to-text engines in search of the one most suitable for developing a functional prototype of a voice-to-text based web application that allows students and the university free access to a subtitle generation service that can be provided during conferences, speeches, and extracurricular activities. In this document, you will be able to visualize the different proposed phases: analysis, design, implementation, execution, and testing made to the web application in the last part of the document. The conclusions and contributions on further implementation will be reviewed, as well as recommendations for upgrading and scaling up this platform to be widely used by the community.
publishDate 2022
dc.date.issued.none.fl_str_mv 2022
dc.date.accessioned.none.fl_str_mv 2023-08-15T14:45:22Z
dc.date.available.none.fl_str_mv 2023-08-15T14:45:22Z
dc.type.spa.fl_str_mv Trabajo de grado - Pregrado
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_dc82b40f9837b551
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.content.spa.fl_str_mv Text
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/TP
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv https://repositorio.ecci.edu.co/handle/001/3546
url https://repositorio.ecci.edu.co/handle/001/3546
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv Alpha Cephei. (15 de Marzo de 2022). Vosk. Obtenido de https://alphacephei.com/vosk/
Amazon. (15 de Agosto de 2022). ASR AWS. Obtenido de Pricing: https://aws.amazon.com/transcribe/pricing/?nc=sn&loc=3
appareo. (29 de abril de 2021). AVIATION SPEECH RECOGNITION SYSTEM. Obtenido de Aviation Speech Recognition System Using Artificial Intelligence: https://appareo.com/aviation/aviation-speech-recognition-system/
Beazley, D. M. (2009). Python Essential Reference. Addison-Wesley Professional.
Bermuth, D. a. (2021). Scribosermo: Fast Speech-to-Text models for German and other Languages. arXiv preprint arXiv:2110.07982.
Bloch, J. (2018). A Brief, Opinionated History of the API. QCon (pág. 1). San Francisco: Enterprise Software Development Community. Obtenido de https://www.infoq.com/presentations/history-api/
Bolaños Araya, C., Camacho Lozano, A., & Urrutia, X. d. (2017). USO DE LA ENTONACIÓN PARA IDENTIFICAR CUÁNDO USAR LA TILDE DIACRÍTICA EN EL RECONOCIMIENTO AUTOMÁTICO DEL HABLA. Káñina, 40(4), 13. Obtenido de https://doi.org/10.15517/rk.v40i4.30222
Botti, V., & Serra, J. M. (2001). Aplicación de una red neuronal para la predicción de la reacción catalítica isomerización del n-Octano. Valencia: Universitat Politècnica de València.
Casado-Mancebo, M. (2021). Una aproximación a la lingüística computacional. Revista de Filosofía, Letras y Humanidades,, 746–761.
Casanova, E., Gölge, E., Meyer, J., davis, k., & Morais, R. (29 de septiembre de 2022). Coqui. Obtenido de Make the impossible possible and the painful painless with Coqui: https://coqui.ai/
Celis Nuñez, J. D. (2017). Modelo Acústico y de Lenguaje del Idioma Español para el dialecto Cucuteño, Orientado al Reconocimiento Automático del Habla. Ingeniería, 22(3), 362.
Churbanov, A., & Winters-Hilt, S. (2008). Implementing EM and Viterbi algorithms for Hidden Markov Model in linear memory. BMC Bioinformatics 9, 224.
Colompar, B. C. (2018). Desarrollo de un sistema de Reconocimiento Automático del Habla en Rumano para el subtitulado de vídeos educativos. Valencia: Escola Tècnica Superior d’Enginyeria Informàtica Universitat Politècnica de Valencia.
Cuomo, J. (2013). Mobile app development, JavaScript. IBM Software.
de Luna, E. B., & Expósito López, J. (2011). UNIDAD 3. EL PROCESO DE INVESTIGACIÓN EDUCATIVA II: INVESTIGACIÓN-ACCIÓN. FACULTAD DE CIENCIAS DE LA EDUCACIÓN - UNIVERSIDAD DE GRANADA, 35-50.
Deng, L., & Yu, D. (2014). Deep Learning: Methods and Applications. En M. d. Jongh, Foundations and Trends R© in Signal Processing Vol. 7 (págs. 197-387).
Doshi, K. (25 de Mar de 2021). Audio Deep Learning Made Simple: Automatic Speech Recognition (ASR), How it Works. Obtenido de Speech-to-Text algorithm and architecture, including Mel Spectrograms, MFCCs, CTC Loss and Decoder, in Plain English: https://towardsdatascience.com/audio-deep-learning-made-simple-automatic-speech-recognition-asr-how-it-works-716cfce4c706
Emilio, M. D. (2015). Embedded Systems Design for High-Speed Data Acquisition and Contro. Springer.
Enciclopedia de Ejemplos. (29 de Septiembre de 2022). Tipos de acentos. Obtenido de Cuáles son los Tipos de acentos: https://www.ejemplos.co/tipos-de-acentos/
Ferrucci, D., Levas, A., Bagchi, S., Gondek, D., & Mueller, E. T. (2013). Watson: Beyond Jeopardy! Science Direct, 93-105.
Field, C. (31 de Agosto de 2021). Towards Data Science. Obtenido de Hidden Markov Models: an Overview: https://towardsdatascience.com/hidden-markov-models-an-overview-98926404da0e
Gemmeke, J. F., Ellis, D., Freedman, D., Jansen, A., Lawrence, W., Moore, R. C., . . . Ritter, M. (2017). Audio Set: An ontology and human-labeled dataset for audio events. 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (págs. 776 - 780). New Orleans: IEEE.
Google. (15 de 07 de 2022). Google Kubernetes Engine. Obtenido de GKE: https://Cloud.Google.com/kubernetes-engine
Google Cloud. (3 de Mayo de 2022). Pricing | Cloud speech-to-text | Google Cloud. Obtenido de https://Cloud.Google.com/speech-to-text/pricing
Google Cloud. (26 de abril de 2022). Speech-to-Text: Automatic Speech Recognition. Obtenido de https://Cloud.Google.com/speech-to-text
Hannun, A., Case, C., Caspe, J., Catanzaro, B., Diamos, G., Elsen, E., . . . Ng, A. Y. (2014). Deep Speech: Scaling up end-to-end speech recognition. Baidu Research Silicon Valley AI Lab, 12. Obtenido de arXiv:1412.5567.
Hashemnia, S. &. (2021). Human EEG and Recurrent Neural Networks Exhibit Common Temporal Dynamics During Speech Recognition. Frontiers in Systems Neuroscience, 617605.
Haubold, A., & Kender, J. (2007). Alignment of Speech to Highly Imperfect Text Transcriptions. 2007 IEEE International Conference on Multimedia and Expo (págs. 224 - 227). Beijing: IEEE.
Herzog, O. (2005). Applied Wearable Computing, IFAWC. 2nd International Forum on Applied Wearable Computing, IFAWC: Proceedings, March 17-18, 2005 in Zurich, Switzerland (pág. 188). Zurich, Switzerland: VDE Verlag.
IBM. (26 de Abril de 2022). Watson Speech to Text. Obtenido de Convert speech into text using AI-powered speech recognition and transcription: https://www.ibm.com/Cloud/watson-speech-to-text
Internet Engineering Task Force. (9 de 12 de 2011). The WebSocket Protocol. Obtenido de Internet Engineering Task Force: https://datatracker.ietf.org/doc/html/rfc6455
Lecorvé, G. (25 de Jul de 2022). Automatic speech recognition. Obtenido de Vocal and Acoustic Interactions - Automatic Speech Recognition : http://people.irisa.fr/Gwenole.Lecorve/lectures/ASR.pdf
Lee, A., Kawahara, T., & Shikano, K. (2001). Julius — an Open Source Real-Time Large Vocabulary Recognition Engine. 7th European Conference on Speech Communication and Technology (págs. 1-4). Scandinavia: INTERSPEECH.
Li, X., Sun, J., Lei, X., Zou, W., & Zhao, S. (22 de septiembre de 2022). Athena. Obtenido de What is Athena?: https://athena-team.readthedocs.io/en/latest/introduction/introduction.html
Lunden, I. (24 de Enero de 2013). techcrunch. Obtenido de Amazon Gets Into Voice Recognition: https://techcrunch.com/2013/01/24/amazon-gets-into-voice-recognition-buys-ivona-software-to-compete-against-apples-siri/
Mahmood, A., & Köse, U. (15 de Enero de 2021). Speech recognition based on Convolutional neural networks and MFCC algorithm. Advances in Artificial Intelligence Research (AAIR), 6-12.
Mateus, E. O. (2008). HIDDEN MAKROV MODELS (HMM'S) Y APLICACIONES. Cartagena de indias D.T y C: Universidad Tecnologica de Bolivar.
Ming, Z., Nan, D., Shujie, L., & Heung-Yeung, S. (Marzo de 2020). Progress in Neural NLP: Modeling, Learning, and Reasoning. (M. R. Asia, Ed.) Engineering Volume 6, Issue 3, 275-290.
Ministerio de Educación. (23 de Marzo de 2020). Decreto 457 mediante el cual se imparten instrucciones para el cumplimiento del Aislamiento Preventivo Obligatorio. Obtenido de mineducacion.gov.co: https://www.mineducacion.gov.co/1759/w3-printer-394357.html
Mohamed, A. r. (2014). Deep Neural Network acoustic models for ASR. Toronto: Department of Computer Science University of Toronto.
Mozilla. (15 de 08 de 2022). Discourse Mozilla. Obtenido de Deep Speech forum: https://discourse.mozilla.org/c/deepspeech/247
Mozilla. (10 de febrero de 2022). Mozilla Voice. Obtenido de How we're making Common Voice even more linguistically inclusive: https://foundation.mozilla.org/en/blog/how-we-are-making-common-voice-even-more-linguistically-inclusive/
Mozilla Corporation. (21 de Septiembre de 2022). Mozilla Common Voice. Obtenido de Common Voice: https://commonvoice.mozilla.org/es/criteria
Naik, S., Naik, N., Prabhu, G., Bhayje, A., Naik, V. P., & Aswale, S. (9 de junio de 2021). A Survey on different approaches for Speech to Text and Text to Speech in Email System for Visually Impaired People. International Journal of Computer Applications (volume 183 – No. 9), 20-23.
Ortega, S. V. (1999). Sobre las relaciones de la morfologia con la sintaxis. Revista Española de Lingüistica, 257-2781.
Povey, D. (10 de Mayo de 2022). Kaldi. Obtenido de https://kaldi-asr.org/doc/
Pratap, V., Hannun, A., Xu, Q., Cai, J., Kahn, J., Synnaeve, G., . . . Collobert, R. (2019). wav2letter++: The Fastest Open-source Speech Recognition System. ICASSP 2019 (págs. 6460-6464). Brighton, UK : IEEE.
Reactjs. (15 de Septiembre de 2022). Refs and the DOM. Obtenido de Refs provide a way to access DOM nodes or React elements created in the render method.: https://reactjs.org/docs/refs-and-the-dom.html
Reyzábal Manso, M. I. (2005). Modelos de lenguaje y tecnología del habla. Recuperado el 15 de Septiembre de 2022, de Educación XX1 2005, 8 ( ): https://www.redalyc.org/articulo.oa?id=70600806
Sadeen , A., Muna, A., Alanoud, A., Turkiayh, A., Raghad, A., Rimah, A., . . . Maha, A. (14 de september de 2021). Automatic Speech Recognition: Systematic Literature Review. IEEE Access, 131858 - 131876.
Sean, W. (29 de noviembre de 2017). Mozilla Press Center. Obtenido de Announcing the Initial Release of Mozilla’s Open Source Speech Recognition Model and Voice Dataset: https://blog.mozilla.org/press/2017/11/announcing-the-initial-release-of-mozillas-open-source-speech-recognition-model-and-voice-dataset/
Shivangi, N., & Ashika, J. (2020). A REVIEW ON METHODS FOR SPEECH-TO-TEXT AND TEXT-TO-SPEECH. International Research Journal of Engineering and Technology, 6.
Significados. (16 de Enero de 2020). Obtenido de https://www.significados.com/marco-conceptual/
Smith, D. R. (2003). Digital Transmission Systems. Springer.
The International Phonetic Association. (25 de Septiembre de 2022). Reproduction of The International Phonetic Alphabet. Obtenido de https://web.archive.org/web/20121010121927/http://www.langsci.ucl.ac.uk/ipa/ipachart.html
The World Wide Web Consortium (W3C). (15 de 05 de 2006). Understanding the New Language Tags. Obtenido de WC3 Internationalization: https://www.w3.org/International/articles/bcp47/
Trivedi, A., Pant, N., Shah, P., & Sonik, S. (2018). Speech to text and text to speech recognition systems-Areview. En N. Pant, IOSR Journal of Computer Engineering (IOSR-JCE) Volume 20, Issue 2, Ver. I (págs. 38-39). Mumbai: NMIMS University.
Trmal, J. ". (8 de mayo de 2022). openslr. Obtenido de About OpenSLR: https://www.openslr.org/
Vivek, B., Sashi, B., Virender, K., & Vinay, K. (2020). Development of Robust Automatic Speech Recognition System for Children's using Kaldi Toolkit. 2020 Second International Conference on Inventive Research in Computing Applications (ICIRCA) (págs. 10-13). Coimbatore,India: IEEE.
Vivek, C. V. (18 de Agosto de 2020). Markov and Hidden Markov Model. Obtenido de Elaborated with examples: https://towardsdatascience.com/markov-and-hidden-markov-model-3eec42298d75
Vu, T. N. (2014). Automatic Speech Recognition for Low-resource Languages and Accents Using Multilingual and Crosslingual Information. Karlsruhe Germany: Karlsruhe Institute of Technology KIT.
Wikipedia. (18 de mayo de 2022). Wikcionario . Obtenido de https://es.wikipedia.org/wiki/Wikcionario
Yalta, N., Hayashi, T., & Yalta, N. (10 de septiembre de 2022). ESPnet: . Obtenido de end-to-end speech processing toolkit: https://github.com/espnet/espnet
dc.rights.eng.fl_str_mv Attribution-NonCommercial 4.0 International
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Attribution-NonCommercial 4.0 International
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 137 p.
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Universidad ECCI
dc.publisher.place.spa.fl_str_mv Colombia
dc.publisher.faculty.spa.fl_str_mv Facultad de Ingenierías
institution Universidad ECCI
bitstream.url.fl_str_mv https://repositorio.ecci.edu.co/bitstream/001/3546/1/Trabajo%20de%20grado.pdf
https://repositorio.ecci.edu.co/bitstream/001/3546/3/Acta%20de%20opci%c3%b3n%20de%20grado.pdf
https://repositorio.ecci.edu.co/bitstream/001/3546/4/Cesi%c3%b3n%20de%20derechos.pdf
https://repositorio.ecci.edu.co/bitstream/001/3546/2/Anexos.rar
https://repositorio.ecci.edu.co/bitstream/001/3546/5/license.txt
https://repositorio.ecci.edu.co/bitstream/001/3546/6/Trabajo%20de%20grado.pdf.txt
https://repositorio.ecci.edu.co/bitstream/001/3546/8/Acta%20de%20opci%c3%b3n%20de%20grado.pdf.txt
https://repositorio.ecci.edu.co/bitstream/001/3546/10/Cesi%c3%b3n%20de%20derechos.pdf.txt
https://repositorio.ecci.edu.co/bitstream/001/3546/7/Trabajo%20de%20grado.pdf.jpg
https://repositorio.ecci.edu.co/bitstream/001/3546/9/Acta%20de%20opci%c3%b3n%20de%20grado.pdf.jpg
https://repositorio.ecci.edu.co/bitstream/001/3546/11/Cesi%c3%b3n%20de%20derechos.pdf.jpg
bitstream.checksum.fl_str_mv 39282f2559b14755fedd38ac023aca6e
967c7b9116155a2974f66f4773492b15
8c90b678195a3a6f557bcc1af6e8ffbe
57379ddbc43b14ae5f836003a6b60df5
88794144ff048353b359a3174871b0d5
ba93ac63b9986cad9614ca91afa3ba3d
68b329da9893e34099c7d8ad5cb9c940
68b329da9893e34099c7d8ad5cb9c940
18051abc802a1d4db90ddf69972db045
936f73a5a13d4a8e78f6187fb47d6409
736822882cbacc7a495caa72bace76e8
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Digital Universidad ECCI
repository.mail.fl_str_mv repositorio.institucional@ecci.edu.co
_version_ 1808493107355844608
spelling Sabogal Rueda, Alexander99378fa4c8804147e16e775ced1b6997Duarte Cortes, Luis Albertoe0abded6d4c27d3d0e01cc420ae61c21Sigestecci2023-08-15T14:45:22Z2023-08-15T14:45:22Z2022https://repositorio.ecci.edu.co/handle/001/3546The purpose of this project is to develop a free software prototype tool for assisting hearing-impaired students that struggle with virtual academic environments. This comes from direct experience of the needs of this community using this platform during the Covid-19 restrictions where captions were unavailable during classes so hearing-impaired students required a full-time sign interpreter during classes to communicate accurately with the teacher. The main motivation for this development is to achieve easier adoption of new virtuality use cases, and solve the evident absence of this service since it is not provided by the university. This proposal is born from the Free Software Research hotbed from the ECCI University to dig deeply into voice-to-text technologies as a primary source to conduct a state-of-the-art analysis using different voice-to-text engines in search of the one most suitable for developing a functional prototype of a voice-to-text based web application that allows students and the university free access to a subtitle generation service that can be provided during conferences, speeches, and extracurricular activities. In this document, you will be able to visualize the different proposed phases: analysis, design, implementation, execution, and testing made to the web application in the last part of the document. The conclusions and contributions on further implementation will be reviewed, as well as recommendations for upgrading and scaling up this platform to be widely used by the community.En este documento se muestra el desarrollo de un prototipo de Software Libre para asistir a los estudiantes de la comunidad de discapacidad auditiva en ambientes virtuales, esto a partir de la observación directa de las necesidades especiales de esta población en estas plataformas durante las restricciones de COVID-19 donde los subtítulos de apoyo no estaban disponibles para ellos ya que dependen de un intérprete de lengua de señas para comunicarse adecuadamente con un docente. La motivación principal para desarrollarlo es lograr que los estudiantes sordos se adapten fácilmente a los nuevos usos de la virtualidad, y solucionar la evidente ausencia de este servicio por parte de la Universidad, Para esto se realizó desde el semillero de Software Libre de la Universidad ECCI una investigación a fondo sobre estas tecnologías de reconocimiento de voz como una investigación primaria a partir de la cual se elaboró un estado del arte analizando los diferentes motores de voz en busca del motor más adecuado para desarrollar un prototipo funcional de una herramienta de voz a texto basada en una aplicación web que le permita a los estudiantes y a la Universidad acceder a este servicio como apoyo visual de subtítulos en conferencias charlas y actividades académicas extracurriculares. En este documento se visualizan las diferentes fases planteadas: análisis, diseño, implementación, ejecución y pruebas realizadas a la aplicación web y en la parte final del documento, se evidencian las conclusiones y aportes sobre la investigación, así como recomendaciones para actualizar y escalar esta plataforma, para que sea ampliamente utilizada por la comunidad.1. Título de la Investigación 15 2. Problema de la Investigación 16 2.1 Descripción del Problema 16 2.2 Formulación del Problema 20 3. Objetivos de la Investigación 21 3.1 Objetivo General 21 3.2 Objetivos Específicos 21 4. Justificación y Delimitaciones de la Investigación 22 4.1 Justificación 22 4.2 Delimitaciones 22 5. Marco de referencia 23 5.1 Marco Teórico 23 5.1.1 Reconocimiento de voz a texto. 23 5.1.2 Ambientes de ejecución 51 5.1.3 Infraestructura TI web 53 5.2 Marco Conceptual 60 5.2.1 Reconocimiento automático de voz 60 5.2.2 ASR 60 5.2.3 Plataforma 61 5.2.4 Web Socket 61 5.2.5 API 61 5.2.6 Bit-Rate 62 5.2.7 Características de voz 62 5.2.8 Características del lenguaje 64 Marco Legal 66 5.2.9 Leyes 66 5.2.10 Decretos 66 5.2.11 Circulares 67 5.2.12 Licencias de Software Libre 67 6. Ingeniería de Requerimientos 68 6.1 Acta Inicio del Proyecto 68 6.2 Fases de implementación 68 6.2.1 Metodología 68 6.3 Identificación de necesidades 73 6.4 Investigación Preliminar estado del arte 75 6.4.1 Modelo gavilán 75 6.4.2 Problema de investigación 78 6.4.3 Búsqueda y recolección de información 79 6.4.4 Análisis de la información obtenida 92 6.5 Selección del motor de Software 93 6.6 Especificación de requisitos de la infraestructura 96 6.6.1 Sistema Operativo 96 6.7 Especificación de requisitos del servicio 96 6.7.1 Servidores 96 6.7.2 Navegadores WEB 97 6.8 Diseño y elaboración de la propuesta 98 6.8.1 Diagramas y diseño 98 6.8.2 Infraestructura 105 6.8.3 Planimetría de Red 105 6.8.4 Descripción de servicio 108 7. Solución propuesta 109 7.1 Descripción de la propuesta 109 7.2 Desarrollo de la propuesta 110 7.3 Instalación de Software principal 110 7.4 Pruebas Realizadas a la propuesta 111 7.4.1 Entorno de pruebas locales 111 7.4.2 Entorno de despliegue 113 7.4.3 Pruebas 115 7.5 Análisis de Resultados Obtenidos 119 7.6 Acta Cierre del Proyecto 119 8. Recursos 120 8.1 Recursos Humanos 120 8.1.1 Líder de proyecto 120 8.1.2 Director de proyecto (Universidad ECCI) 120 8.1.3 Asesor de proyecto (Universidad ECCI) 120 8.2 Recursos Físicos 120 8.3 Recursos Tecnológicos 120 8.3.1 Servidor de pruebas 120 8.3.2 Servidor de despliegue 121 9. Cronograma de Actividades 121 10. Conclusiones 121 11. Bibliografía 123Modelo Gavilánse incluye documentacion configuracion y ejecucion de la plataforma en el ANEXO 10 junto con la plataforma y el producto de desarollo en el ANEXO 11PregradoIngeniero en SistemasIngeniería de SistemasSoftware Libre - Desarollo137 p.application/pdfspaUniversidad ECCIColombiaFacultad de IngenieríasAttribution-NonCommercial 4.0 Internationalinfo:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Creación de una herramienta de voz a texto utilizando un motor de software libre para facilitar la inclución digital en educacion telepresencial a la comunidad no oyente de la Universidad ECCITrabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_7a1fTextinfo:eu-repo/semantics/bachelorThesishttps://purl.org/redcol/resource_type/TPhttp://purl.org/coar/version/c_970fb48d4fbd8a85http://purl.org/coar/version/c_dc82b40f9837b551Alpha Cephei. (15 de Marzo de 2022). Vosk. Obtenido de https://alphacephei.com/vosk/Amazon. (15 de Agosto de 2022). ASR AWS. Obtenido de Pricing: https://aws.amazon.com/transcribe/pricing/?nc=sn&loc=3appareo. (29 de abril de 2021). AVIATION SPEECH RECOGNITION SYSTEM. Obtenido de Aviation Speech Recognition System Using Artificial Intelligence: https://appareo.com/aviation/aviation-speech-recognition-system/Beazley, D. M. (2009). Python Essential Reference. Addison-Wesley Professional.Bermuth, D. a. (2021). Scribosermo: Fast Speech-to-Text models for German and other Languages. arXiv preprint arXiv:2110.07982.Bloch, J. (2018). A Brief, Opinionated History of the API. QCon (pág. 1). San Francisco: Enterprise Software Development Community. Obtenido de https://www.infoq.com/presentations/history-api/Bolaños Araya, C., Camacho Lozano, A., & Urrutia, X. d. (2017). USO DE LA ENTONACIÓN PARA IDENTIFICAR CUÁNDO USAR LA TILDE DIACRÍTICA EN EL RECONOCIMIENTO AUTOMÁTICO DEL HABLA. Káñina, 40(4), 13. Obtenido de https://doi.org/10.15517/rk.v40i4.30222Botti, V., & Serra, J. M. (2001). Aplicación de una red neuronal para la predicción de la reacción catalítica isomerización del n-Octano. Valencia: Universitat Politècnica de València.Casado-Mancebo, M. (2021). Una aproximación a la lingüística computacional. Revista de Filosofía, Letras y Humanidades,, 746–761.Casanova, E., Gölge, E., Meyer, J., davis, k., & Morais, R. (29 de septiembre de 2022). Coqui. Obtenido de Make the impossible possible and the painful painless with Coqui: https://coqui.ai/Celis Nuñez, J. D. (2017). Modelo Acústico y de Lenguaje del Idioma Español para el dialecto Cucuteño, Orientado al Reconocimiento Automático del Habla. Ingeniería, 22(3), 362.Churbanov, A., & Winters-Hilt, S. (2008). Implementing EM and Viterbi algorithms for Hidden Markov Model in linear memory. BMC Bioinformatics 9, 224.Colompar, B. C. (2018). Desarrollo de un sistema de Reconocimiento Automático del Habla en Rumano para el subtitulado de vídeos educativos. Valencia: Escola Tècnica Superior d’Enginyeria Informàtica Universitat Politècnica de Valencia.Cuomo, J. (2013). Mobile app development, JavaScript. IBM Software.de Luna, E. B., & Expósito López, J. (2011). UNIDAD 3. EL PROCESO DE INVESTIGACIÓN EDUCATIVA II: INVESTIGACIÓN-ACCIÓN. FACULTAD DE CIENCIAS DE LA EDUCACIÓN - UNIVERSIDAD DE GRANADA, 35-50.Deng, L., & Yu, D. (2014). Deep Learning: Methods and Applications. En M. d. Jongh, Foundations and Trends R© in Signal Processing Vol. 7 (págs. 197-387).Doshi, K. (25 de Mar de 2021). Audio Deep Learning Made Simple: Automatic Speech Recognition (ASR), How it Works. Obtenido de Speech-to-Text algorithm and architecture, including Mel Spectrograms, MFCCs, CTC Loss and Decoder, in Plain English: https://towardsdatascience.com/audio-deep-learning-made-simple-automatic-speech-recognition-asr-how-it-works-716cfce4c706Emilio, M. D. (2015). Embedded Systems Design for High-Speed Data Acquisition and Contro. Springer.Enciclopedia de Ejemplos. (29 de Septiembre de 2022). Tipos de acentos. Obtenido de Cuáles son los Tipos de acentos: https://www.ejemplos.co/tipos-de-acentos/Ferrucci, D., Levas, A., Bagchi, S., Gondek, D., & Mueller, E. T. (2013). Watson: Beyond Jeopardy! Science Direct, 93-105.Field, C. (31 de Agosto de 2021). Towards Data Science. Obtenido de Hidden Markov Models: an Overview: https://towardsdatascience.com/hidden-markov-models-an-overview-98926404da0eGemmeke, J. F., Ellis, D., Freedman, D., Jansen, A., Lawrence, W., Moore, R. C., . . . Ritter, M. (2017). Audio Set: An ontology and human-labeled dataset for audio events. 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (págs. 776 - 780). New Orleans: IEEE.Google. (15 de 07 de 2022). Google Kubernetes Engine. Obtenido de GKE: https://Cloud.Google.com/kubernetes-engineGoogle Cloud. (3 de Mayo de 2022). Pricing | Cloud speech-to-text | Google Cloud. Obtenido de https://Cloud.Google.com/speech-to-text/pricingGoogle Cloud. (26 de abril de 2022). Speech-to-Text: Automatic Speech Recognition. Obtenido de https://Cloud.Google.com/speech-to-textHannun, A., Case, C., Caspe, J., Catanzaro, B., Diamos, G., Elsen, E., . . . Ng, A. Y. (2014). Deep Speech: Scaling up end-to-end speech recognition. Baidu Research Silicon Valley AI Lab, 12. Obtenido de arXiv:1412.5567.Hashemnia, S. &. (2021). Human EEG and Recurrent Neural Networks Exhibit Common Temporal Dynamics During Speech Recognition. Frontiers in Systems Neuroscience, 617605.Haubold, A., & Kender, J. (2007). Alignment of Speech to Highly Imperfect Text Transcriptions. 2007 IEEE International Conference on Multimedia and Expo (págs. 224 - 227). Beijing: IEEE.Herzog, O. (2005). Applied Wearable Computing, IFAWC. 2nd International Forum on Applied Wearable Computing, IFAWC: Proceedings, March 17-18, 2005 in Zurich, Switzerland (pág. 188). Zurich, Switzerland: VDE Verlag.IBM. (26 de Abril de 2022). Watson Speech to Text. Obtenido de Convert speech into text using AI-powered speech recognition and transcription: https://www.ibm.com/Cloud/watson-speech-to-textInternet Engineering Task Force. (9 de 12 de 2011). The WebSocket Protocol. Obtenido de Internet Engineering Task Force: https://datatracker.ietf.org/doc/html/rfc6455Lecorvé, G. (25 de Jul de 2022). Automatic speech recognition. Obtenido de Vocal and Acoustic Interactions - Automatic Speech Recognition : http://people.irisa.fr/Gwenole.Lecorve/lectures/ASR.pdfLee, A., Kawahara, T., & Shikano, K. (2001). Julius — an Open Source Real-Time Large Vocabulary Recognition Engine. 7th European Conference on Speech Communication and Technology (págs. 1-4). Scandinavia: INTERSPEECH.Li, X., Sun, J., Lei, X., Zou, W., & Zhao, S. (22 de septiembre de 2022). Athena. Obtenido de What is Athena?: https://athena-team.readthedocs.io/en/latest/introduction/introduction.htmlLunden, I. (24 de Enero de 2013). techcrunch. Obtenido de Amazon Gets Into Voice Recognition: https://techcrunch.com/2013/01/24/amazon-gets-into-voice-recognition-buys-ivona-software-to-compete-against-apples-siri/Mahmood, A., & Köse, U. (15 de Enero de 2021). Speech recognition based on Convolutional neural networks and MFCC algorithm. Advances in Artificial Intelligence Research (AAIR), 6-12.Mateus, E. O. (2008). HIDDEN MAKROV MODELS (HMM'S) Y APLICACIONES. Cartagena de indias D.T y C: Universidad Tecnologica de Bolivar.Ming, Z., Nan, D., Shujie, L., & Heung-Yeung, S. (Marzo de 2020). Progress in Neural NLP: Modeling, Learning, and Reasoning. (M. R. Asia, Ed.) Engineering Volume 6, Issue 3, 275-290.Ministerio de Educación. (23 de Marzo de 2020). Decreto 457 mediante el cual se imparten instrucciones para el cumplimiento del Aislamiento Preventivo Obligatorio. Obtenido de mineducacion.gov.co: https://www.mineducacion.gov.co/1759/w3-printer-394357.htmlMohamed, A. r. (2014). Deep Neural Network acoustic models for ASR. Toronto: Department of Computer Science University of Toronto.Mozilla. (15 de 08 de 2022). Discourse Mozilla. Obtenido de Deep Speech forum: https://discourse.mozilla.org/c/deepspeech/247Mozilla. (10 de febrero de 2022). Mozilla Voice. Obtenido de How we're making Common Voice even more linguistically inclusive: https://foundation.mozilla.org/en/blog/how-we-are-making-common-voice-even-more-linguistically-inclusive/Mozilla Corporation. (21 de Septiembre de 2022). Mozilla Common Voice. Obtenido de Common Voice: https://commonvoice.mozilla.org/es/criteriaNaik, S., Naik, N., Prabhu, G., Bhayje, A., Naik, V. P., & Aswale, S. (9 de junio de 2021). A Survey on different approaches for Speech to Text and Text to Speech in Email System for Visually Impaired People. International Journal of Computer Applications (volume 183 – No. 9), 20-23.Ortega, S. V. (1999). Sobre las relaciones de la morfologia con la sintaxis. Revista Española de Lingüistica, 257-2781.Povey, D. (10 de Mayo de 2022). Kaldi. Obtenido de https://kaldi-asr.org/doc/Pratap, V., Hannun, A., Xu, Q., Cai, J., Kahn, J., Synnaeve, G., . . . Collobert, R. (2019). wav2letter++: The Fastest Open-source Speech Recognition System. ICASSP 2019 (págs. 6460-6464). Brighton, UK : IEEE.Reactjs. (15 de Septiembre de 2022). Refs and the DOM. Obtenido de Refs provide a way to access DOM nodes or React elements created in the render method.: https://reactjs.org/docs/refs-and-the-dom.htmlReyzábal Manso, M. I. (2005). Modelos de lenguaje y tecnología del habla. Recuperado el 15 de Septiembre de 2022, de Educación XX1 2005, 8 ( ): https://www.redalyc.org/articulo.oa?id=70600806Sadeen , A., Muna, A., Alanoud, A., Turkiayh, A., Raghad, A., Rimah, A., . . . Maha, A. (14 de september de 2021). Automatic Speech Recognition: Systematic Literature Review. IEEE Access, 131858 - 131876.Sean, W. (29 de noviembre de 2017). Mozilla Press Center. Obtenido de Announcing the Initial Release of Mozilla’s Open Source Speech Recognition Model and Voice Dataset: https://blog.mozilla.org/press/2017/11/announcing-the-initial-release-of-mozillas-open-source-speech-recognition-model-and-voice-dataset/Shivangi, N., & Ashika, J. (2020). A REVIEW ON METHODS FOR SPEECH-TO-TEXT AND TEXT-TO-SPEECH. International Research Journal of Engineering and Technology, 6.Significados. (16 de Enero de 2020). Obtenido de https://www.significados.com/marco-conceptual/Smith, D. R. (2003). Digital Transmission Systems. Springer.The International Phonetic Association. (25 de Septiembre de 2022). Reproduction of The International Phonetic Alphabet. Obtenido de https://web.archive.org/web/20121010121927/http://www.langsci.ucl.ac.uk/ipa/ipachart.htmlThe World Wide Web Consortium (W3C). (15 de 05 de 2006). Understanding the New Language Tags. Obtenido de WC3 Internationalization: https://www.w3.org/International/articles/bcp47/Trivedi, A., Pant, N., Shah, P., & Sonik, S. (2018). Speech to text and text to speech recognition systems-Areview. En N. Pant, IOSR Journal of Computer Engineering (IOSR-JCE) Volume 20, Issue 2, Ver. I (págs. 38-39). Mumbai: NMIMS University.Trmal, J. ". (8 de mayo de 2022). openslr. Obtenido de About OpenSLR: https://www.openslr.org/Vivek, B., Sashi, B., Virender, K., & Vinay, K. (2020). Development of Robust Automatic Speech Recognition System for Children's using Kaldi Toolkit. 2020 Second International Conference on Inventive Research in Computing Applications (ICIRCA) (págs. 10-13). Coimbatore,India: IEEE.Vivek, C. V. (18 de Agosto de 2020). Markov and Hidden Markov Model. Obtenido de Elaborated with examples: https://towardsdatascience.com/markov-and-hidden-markov-model-3eec42298d75Vu, T. N. (2014). Automatic Speech Recognition for Low-resource Languages and Accents Using Multilingual and Crosslingual Information. Karlsruhe Germany: Karlsruhe Institute of Technology KIT.Wikipedia. (18 de mayo de 2022). Wikcionario . Obtenido de https://es.wikipedia.org/wiki/WikcionarioYalta, N., Hayashi, T., & Yalta, N. (10 de septiembre de 2022). ESPnet: . Obtenido de end-to-end speech processing toolkit: https://github.com/espnet/espnetVoz a textoSoftware LibreEducación TelepresencialDiscapacidad auditivaInteligencia ArtificialRedes neuronales convulsionadasCadenas de MarkovSubtitulos AutomatizadosConvolutional neural networkVoice to textOpen Source SoftwareVirtual EducationHearing ImpairedMarkov ChainsAutomated SubtitlesORIGINALTrabajo de grado.pdfTrabajo de grado.pdfapplication/pdf2512019https://repositorio.ecci.edu.co/bitstream/001/3546/1/Trabajo%20de%20grado.pdf39282f2559b14755fedd38ac023aca6eMD51Acta de opción de grado.pdfActa de opción de grado.pdfapplication/pdf220259https://repositorio.ecci.edu.co/bitstream/001/3546/3/Acta%20de%20opci%c3%b3n%20de%20grado.pdf967c7b9116155a2974f66f4773492b15MD53Cesión de derechos.pdfCesión de derechos.pdfapplication/pdf999519https://repositorio.ecci.edu.co/bitstream/001/3546/4/Cesi%c3%b3n%20de%20derechos.pdf8c90b678195a3a6f557bcc1af6e8ffbeMD54Anexos.rarAnexos.rarapplication/octet-stream10838154https://repositorio.ecci.edu.co/bitstream/001/3546/2/Anexos.rar57379ddbc43b14ae5f836003a6b60df5MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-814798https://repositorio.ecci.edu.co/bitstream/001/3546/5/license.txt88794144ff048353b359a3174871b0d5MD55TEXTTrabajo de grado.pdf.txtTrabajo de grado.pdf.txtExtracted texttext/plain175049https://repositorio.ecci.edu.co/bitstream/001/3546/6/Trabajo%20de%20grado.pdf.txtba93ac63b9986cad9614ca91afa3ba3dMD56Acta de opción de grado.pdf.txtActa de opción de grado.pdf.txtExtracted texttext/plain1https://repositorio.ecci.edu.co/bitstream/001/3546/8/Acta%20de%20opci%c3%b3n%20de%20grado.pdf.txt68b329da9893e34099c7d8ad5cb9c940MD58Cesión de derechos.pdf.txtCesión de derechos.pdf.txtExtracted texttext/plain1https://repositorio.ecci.edu.co/bitstream/001/3546/10/Cesi%c3%b3n%20de%20derechos.pdf.txt68b329da9893e34099c7d8ad5cb9c940MD510THUMBNAILTrabajo de grado.pdf.jpgTrabajo de grado.pdf.jpgGenerated Thumbnailimage/jpeg7044https://repositorio.ecci.edu.co/bitstream/001/3546/7/Trabajo%20de%20grado.pdf.jpg18051abc802a1d4db90ddf69972db045MD57Acta de opción de grado.pdf.jpgActa de opción de grado.pdf.jpgGenerated Thumbnailimage/jpeg10332https://repositorio.ecci.edu.co/bitstream/001/3546/9/Acta%20de%20opci%c3%b3n%20de%20grado.pdf.jpg936f73a5a13d4a8e78f6187fb47d6409MD59Cesión de derechos.pdf.jpgCesión de derechos.pdf.jpgGenerated Thumbnailimage/jpeg18302https://repositorio.ecci.edu.co/bitstream/001/3546/11/Cesi%c3%b3n%20de%20derechos.pdf.jpg736822882cbacc7a495caa72bace76e8MD511TEXTTHUMBNAIL001/3546oai:repositorio.ecci.edu.co:001/35462024-07-24 16:14:47.872Repositorio Digital Universidad ECCIrepositorio.institucional@ecci.edu.coTEEgT0JSQSAoVEFMIFkgQ09NTyBTRSBERUZJTkUgTcOBUyBBREVMQU5URSkgU0UgT1RPUkdBIEJBSk8gTE9TIFRFUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgUMOaQkxJQ0EgREUgQ1JFQVRJVkUgQ09NTU9OUyAo4oCcTFBDQ+KAnSBPIOKAnExJQ0VOQ0lB4oCdKS4gTEEgT0JSQSBFU1TDgSBQUk9URUdJREEgUE9SIERFUkVDSE9TIERFIEFVVE9SIFkvVSBPVFJBUyBMRVlFUyBBUExJQ0FCTEVTLiBRVUVEQSBQUk9ISUJJRE8gQ1VBTFFVSUVSIFVTTyBRVUUgU0UgSEFHQSBERSBMQSBPQlJBIFFVRSBOTyBDVUVOVEUgQ09OIExBIEFVVE9SSVpBQ0nDk04gUEVSVElORU5URSBERSBDT05GT1JNSURBRCBDT04gTE9TIFTDiVJNSU5PUyBERSBFU1RBIExJQ0VOQ0lBIFkgREUgTEEgTEVZIERFIERFUkVDSE8gREUgQVVUT1IuCk1FRElBTlRFIEVMIEVKRVJDSUNJTyBERSBDVUFMUVVJRVJBIERFIExPUyBERVJFQ0hPUyBRVUUgU0UgT1RPUkdBTiBFTiBFU1RBIExJQ0VOQ0lBLCBVU1RFRCBBQ0VQVEEgWSBBQ1VFUkRBIFFVRURBUiBPQkxJR0FETyBFTiBMT1MgVEVSTUlOT1MgUVVFIFNFIFNFw5FBTEFOIEVOIEVMTEEuIEVMIExJQ0VOQ0lBTlRFIENPTkNFREUgQSBVU1RFRCBMT1MgREVSRUNIT1MgQ09OVEVOSURPUyBFTiBFU1RBIExJQ0VOQ0lBIENPTkRJQ0lPTkFET1MgQSBMQSBBQ0VQVEFDScOTTiBERSBTVVMgVEVSTUlOT1MgWSBDT05ESUNJT05FUy4KMS4gRGVmaW5pY2lvbmVzCmEuCU9icmEgQ29sZWN0aXZhIGVzIHVuYSBvYnJhLCB0YWwgY29tbyB1bmEgcHVibGljYWNpw7NuIHBlcmnDs2RpY2EsIHVuYSBhbnRvbG9nw61hLCBvIHVuYSBlbmNpY2xvcGVkaWEsIGVuIGxhIHF1ZSBsYSBvYnJhIGVuIHN1IHRvdGFsaWRhZCwgc2luIG1vZGlmaWNhY2nDs24gYWxndW5hLCBqdW50byBjb24gdW4gZ3J1cG8gZGUgb3RyYXMgY29udHJpYnVjaW9uZXMgcXVlIGNvbnN0aXR1eWVuIG9icmFzIHNlcGFyYWRhcyBlIGluZGVwZW5kaWVudGVzIGVuIHPDrSBtaXNtYXMsIHNlIGludGVncmFuIGVuIHVuIHRvZG8gY29sZWN0aXZvLiBVbmEgT2JyYSBxdWUgY29uc3RpdHV5ZSB1bmEgb2JyYSBjb2xlY3RpdmEgbm8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIChjb21vIHNlIGRlZmluZSBhYmFqbykgcGFyYSBsb3MgcHJvcMOzc2l0b3MgZGUgZXN0YSBsaWNlbmNpYS4gYXF1ZWxsYSBwcm9kdWNpZGEgcG9yIHVuIGdydXBvIGRlIGF1dG9yZXMsIGVuIHF1ZSBsYSBPYnJhIHNlIGVuY3VlbnRyYSBzaW4gbW9kaWZpY2FjaW9uZXMsIGp1bnRvIGNvbiB1bmEgY2llcnRhIGNhbnRpZGFkIGRlIG90cmFzIGNvbnRyaWJ1Y2lvbmVzLCBxdWUgY29uc3RpdHV5ZW4gZW4gc8OtIG1pc21vcyB0cmFiYWpvcyBzZXBhcmFkb3MgZSBpbmRlcGVuZGllbnRlcywgcXVlIHNvbiBpbnRlZ3JhZG9zIGFsIHRvZG8gY29sZWN0aXZvLCB0YWxlcyBjb21vIHB1YmxpY2FjaW9uZXMgcGVyacOzZGljYXMsIGFudG9sb2fDrWFzIG8gZW5jaWNsb3BlZGlhcy4KYi4JT2JyYSBEZXJpdmFkYSBzaWduaWZpY2EgdW5hIG9icmEgYmFzYWRhIGVuIGxhIG9icmEgb2JqZXRvIGRlIGVzdGEgbGljZW5jaWEgbyBlbiDDqXN0YSB5IG90cmFzIG9icmFzIHByZWV4aXN0ZW50ZXMsIHRhbGVzIGNvbW8gdHJhZHVjY2lvbmVzLCBhcnJlZ2xvcyBtdXNpY2FsZXMsIGRyYW1hdGl6YWNpb25lcywg4oCcZmljY2lvbmFsaXphY2lvbmVz4oCdLCB2ZXJzaW9uZXMgcGFyYSBjaW5lLCDigJxncmFiYWNpb25lcyBkZSBzb25pZG/igJ0sIHJlcHJvZHVjY2lvbmVzIGRlIGFydGUsIHJlc8O6bWVuZXMsIGNvbmRlbnNhY2lvbmVzLCBvIGN1YWxxdWllciBvdHJhIGVuIGxhIHF1ZSBsYSBvYnJhIHB1ZWRhIHNlciB0cmFuc2Zvcm1hZGEsIGNhbWJpYWRhIG8gYWRhcHRhZGEsIGV4Y2VwdG8gYXF1ZWxsYXMgcXVlIGNvbnN0aXR1eWFuIHVuYSBvYnJhIGNvbGVjdGl2YSwgbGFzIHF1ZSBubyBzZXLDoW4gY29uc2lkZXJhZGFzIHVuYSBvYnJhIGRlcml2YWRhIHBhcmEgZWZlY3RvcyBkZSBlc3RhIGxpY2VuY2lhLiAoUGFyYSBldml0YXIgZHVkYXMsIGVuIGVsIGNhc28gZGUgcXVlIGxhIE9icmEgc2VhIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbCBvIHVuYSBncmFiYWNpw7NuIHNvbm9yYSwgcGFyYSBsb3MgZWZlY3RvcyBkZSBlc3RhIExpY2VuY2lhIGxhIHNpbmNyb25pemFjacOzbiB0ZW1wb3JhbCBkZSBsYSBPYnJhIGNvbiB1bmEgaW1hZ2VuIGVuIG1vdmltaWVudG8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIHBhcmEgbG9zIGZpbmVzIGRlIGVzdGEgbGljZW5jaWEpLgpjLglMaWNlbmNpYW50ZSwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCB0aXR1bGFyIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBxdWUgb2ZyZWNlIGxhIE9icmEgZW4gY29uZm9ybWlkYWQgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLgpkLglBdXRvciBvcmlnaW5hbCwgZXMgZWwgaW5kaXZpZHVvIHF1ZSBjcmXDsyBsYSBPYnJhLgplLglPYnJhLCBlcyBhcXVlbGxhIG9icmEgc3VzY2VwdGlibGUgZGUgcHJvdGVjY2nDs24gcG9yIGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IgeSBxdWUgZXMgb2ZyZWNpZGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhCmYuCVVzdGVkLCBlcyBlbCBpbmRpdmlkdW8gbyBsYSBlbnRpZGFkIHF1ZSBlamVyY2l0YSBsb3MgZGVyZWNob3Mgb3RvcmdhZG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHkgcXVlIGNvbiBhbnRlcmlvcmlkYWQgbm8gaGEgdmlvbGFkbyBsYXMgY29uZGljaW9uZXMgZGUgbGEgbWlzbWEgcmVzcGVjdG8gYSBsYSBPYnJhLCBvIHF1ZSBoYXlhIG9idGVuaWRvIGF1dG9yaXphY2nDs24gZXhwcmVzYSBwb3IgcGFydGUgZGVsIExpY2VuY2lhbnRlIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgYWwgYW1wYXJvIGRlIGVzdGEgTGljZW5jaWEgcGVzZSBhIHVuYSB2aW9sYWNpw7NuIGFudGVyaW9yLgoyLiBEZXJlY2hvcyBkZSBVc29zIEhvbnJhZG9zIHkgZXhjZXBjaW9uZXMgTGVnYWxlcy4KTmFkYSBlbiBlc3RhIExpY2VuY2lhIHBvZHLDoSBzZXIgaW50ZXJwcmV0YWRvIGNvbW8gdW5hIGRpc21pbnVjacOzbiwgbGltaXRhY2nDs24gbyByZXN0cmljY2nDs24gZGUgbG9zIGRlcmVjaG9zIGRlcml2YWRvcyBkZWwgdXNvIGhvbnJhZG8geSBvdHJhcyBsaW1pdGFjaW9uZXMgbyBleGNlcGNpb25lcyBhIGxvcyBkZXJlY2hvcyBkZWwgYXV0b3IgYmFqbyBlbCByw6lnaW1lbiBsZWdhbCB2aWdlbnRlIG8gZGVyaXZhZG8gZGUgY3VhbHF1aWVyIG90cmEgbm9ybWEgcXVlIHNlIGxlIGFwbGlxdWUuCjMuIENvbmNlc2nDs24gZGUgbGEgTGljZW5jaWEuCkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246CmEuCVJlcHJvZHVjaXIgbGEgT2JyYSwgaW5jb3Jwb3JhciBsYSBPYnJhIGVuIHVuYSBvIG3DoXMgT2JyYXMgQ29sZWN0aXZhcywgeSByZXByb2R1Y2lyIGxhIE9icmEgaW5jb3Jwb3JhZGEgZW4gbGFzIE9icmFzIENvbGVjdGl2YXM7CmIuCURpc3RyaWJ1aXIgY29waWFzIG8gZm9ub2dyYW1hcyBkZSBsYXMgT2JyYXMsIGV4aGliaXJsYXMgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXJsYXMgcMO6YmxpY2FtZW50ZSB5L28gcG9uZXJsYXMgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EsIGluY2x1ecOpbmRvbGFzIGNvbW8gaW5jb3Jwb3JhZGFzIGVuIE9icmFzIENvbGVjdGl2YXMsIHNlZ8O6biBjb3JyZXNwb25kYTsKYy4JRGlzdHJpYnVpciBjb3BpYXMgZGUgbGFzIE9icmFzIERlcml2YWRhcyBxdWUgc2UgZ2VuZXJlbiwgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4KTG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuIFRvZG9zIGxvcyBkZXJlY2hvcyBubyBvdG9yZ2Fkb3MgZXhwcmVzYW1lbnRlIHBvciBlbCBMaWNlbmNpYW50ZSBxdWVkYW4gcG9yIGVzdGUgbWVkaW8gcmVzZXJ2YWRvcywgaW5jbHV5ZW5kbyBwZXJvIHNpbiBsaW1pdGFyc2UgYSBhcXVlbGxvcyBxdWUgc2UgbWVuY2lvbmFuIGVuIGxhcyBzZWNjaW9uZXMgNChkKSB5IDQoZSkuCjQuIFJlc3RyaWNjaW9uZXMuCkxhIGxpY2VuY2lhIG90b3JnYWRhIGVuIGxhIGFudGVyaW9yIFNlY2Npw7NuIDMgZXN0w6EgZXhwcmVzYW1lbnRlIHN1amV0YSB5IGxpbWl0YWRhIHBvciBsYXMgc2lndWllbnRlcyByZXN0cmljY2lvbmVzOgphLglVc3RlZCBwdWVkZSBkaXN0cmlidWlyLCBleGhpYmlyIHDDumJsaWNhbWVudGUsIGVqZWN1dGFyIHDDumJsaWNhbWVudGUsIG8gcG9uZXIgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBzw7NsbyBiYWpvIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLCB5IFVzdGVkIGRlYmUgaW5jbHVpciB1bmEgY29waWEgZGUgZXN0YSBsaWNlbmNpYSBvIGRlbCBJZGVudGlmaWNhZG9yIFVuaXZlcnNhbCBkZSBSZWN1cnNvcyBkZSBsYSBtaXNtYSBjb24gY2FkYSBjb3BpYSBkZSBsYSBPYnJhIHF1ZSBkaXN0cmlidXlhLCBleGhpYmEgcMO6YmxpY2FtZW50ZSwgZWplY3V0ZSBww7pibGljYW1lbnRlIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EuIE5vIGVzIHBvc2libGUgb2ZyZWNlciBvIGltcG9uZXIgbmluZ3VuYSBjb25kaWNpw7NuIHNvYnJlIGxhIE9icmEgcXVlIGFsdGVyZSBvIGxpbWl0ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYSBvIGVsIGVqZXJjaWNpbyBkZSBsb3MgZGVyZWNob3MgZGUgbG9zIGRlc3RpbmF0YXJpb3Mgb3RvcmdhZG9zIGVuIGVzdGUgZG9jdW1lbnRvLiBObyBlcyBwb3NpYmxlIHN1YmxpY2VuY2lhciBsYSBPYnJhLiBVc3RlZCBkZWJlIG1hbnRlbmVyIGludGFjdG9zIHRvZG9zIGxvcyBhdmlzb3MgcXVlIGhhZ2FuIHJlZmVyZW5jaWEgYSBlc3RhIExpY2VuY2lhIHkgYSBsYSBjbMOhdXN1bGEgZGUgbGltaXRhY2nDs24gZGUgZ2FyYW50w61hcy4gVXN0ZWQgbm8gcHVlZGUgZGlzdHJpYnVpciwgZXhoaWJpciBww7pibGljYW1lbnRlLCBlamVjdXRhciBww7pibGljYW1lbnRlLCBvIHBvbmVyIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhIGxhIE9icmEgY29uIGFsZ3VuYSBtZWRpZGEgdGVjbm9sw7NnaWNhIHF1ZSBjb250cm9sZSBlbCBhY2Nlc28gbyBsYSB1dGlsaXphY2nDs24gZGUgZWxsYSBkZSB1bmEgZm9ybWEgcXVlIHNlYSBpbmNvbnNpc3RlbnRlIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4gTG8gYW50ZXJpb3Igc2UgYXBsaWNhIGEgbGEgT2JyYSBpbmNvcnBvcmFkYSBhIHVuYSBPYnJhIENvbGVjdGl2YSwgcGVybyBlc3RvIG5vIGV4aWdlIHF1ZSBsYSBPYnJhIENvbGVjdGl2YSBhcGFydGUgZGUgbGEgb2JyYSBtaXNtYSBxdWVkZSBzdWpldGEgYSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4gU2kgVXN0ZWQgY3JlYSB1bmEgT2JyYSBDb2xlY3RpdmEsIHByZXZpbyBhdmlzbyBkZSBjdWFscXVpZXIgTGljZW5jaWFudGUgZGViZSwgZW4gbGEgbWVkaWRhIGRlIGxvIHBvc2libGUsIGVsaW1pbmFyIGRlIGxhIE9icmEgQ29sZWN0aXZhIGN1YWxxdWllciByZWZlcmVuY2lhIGEgZGljaG8gTGljZW5jaWFudGUgbyBhbCBBdXRvciBPcmlnaW5hbCwgc2Vnw7puIGxvIHNvbGljaXRhZG8gcG9yIGVsIExpY2VuY2lhbnRlIHkgY29uZm9ybWUgbG8gZXhpZ2UgbGEgY2zDoXVzdWxhIDQoYykuCmIuCVVzdGVkIG5vIHB1ZWRlIGVqZXJjZXIgbmluZ3VubyBkZSBsb3MgZGVyZWNob3MgcXVlIGxlIGhhbiBzaWRvIG90b3JnYWRvcyBlbiBsYSBTZWNjacOzbiAzIHByZWNlZGVudGUgZGUgbW9kbyBxdWUgZXN0w6luIHByaW5jaXBhbG1lbnRlIGRlc3RpbmFkb3MgbyBkaXJlY3RhbWVudGUgZGlyaWdpZG9zIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLiBFbCBpbnRlcmNhbWJpbyBkZSBsYSBPYnJhIHBvciBvdHJhcyBvYnJhcyBwcm90ZWdpZGFzIHBvciBkZXJlY2hvcyBkZSBhdXRvciwgeWEgc2VhIGEgdHJhdsOpcyBkZSB1biBzaXN0ZW1hIHBhcmEgY29tcGFydGlyIGFyY2hpdm9zIGRpZ2l0YWxlcyAoZGlnaXRhbCBmaWxlLXNoYXJpbmcpIG8gZGUgY3VhbHF1aWVyIG90cmEgbWFuZXJhIG5vIHNlcsOhIGNvbnNpZGVyYWRvIGNvbW8gZXN0YXIgZGVzdGluYWRvIHByaW5jaXBhbG1lbnRlIG8gZGlyaWdpZG8gZGlyZWN0YW1lbnRlIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLCBzaWVtcHJlIHF1ZSBubyBzZSByZWFsaWNlIHVuIHBhZ28gbWVkaWFudGUgdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIGVuIHJlbGFjacOzbiBjb24gZWwgaW50ZXJjYW1iaW8gZGUgb2JyYXMgcHJvdGVnaWRhcyBwb3IgZWwgZGVyZWNobyBkZSBhdXRvci4KYy4JU2kgdXN0ZWQgZGlzdHJpYnV5ZSwgZXhoaWJlIHDDumJsaWNhbWVudGUsIGVqZWN1dGEgcMO6YmxpY2FtZW50ZSBvIGVqZWN1dGEgcMO6YmxpY2FtZW50ZSBlbiBmb3JtYSBkaWdpdGFsIGxhIE9icmEgbyBjdWFscXVpZXIgT2JyYSBEZXJpdmFkYSB1IE9icmEgQ29sZWN0aXZhLCBVc3RlZCBkZWJlIG1hbnRlbmVyIGludGFjdGEgdG9kYSBsYSBpbmZvcm1hY2nDs24gZGUgZGVyZWNobyBkZSBhdXRvciBkZSBsYSBPYnJhIHkgcHJvcG9yY2lvbmFyLCBkZSBmb3JtYSByYXpvbmFibGUgc2Vnw7puIGVsIG1lZGlvIG8gbWFuZXJhIHF1ZSBVc3RlZCBlc3TDqSB1dGlsaXphbmRvOiAoaSkgZWwgbm9tYnJlIGRlbCBBdXRvciBPcmlnaW5hbCBzaSBlc3TDoSBwcm92aXN0byAobyBzZXVkw7NuaW1vLCBzaSBmdWVyZSBhcGxpY2FibGUpLCB5L28gKGlpKSBlbCBub21icmUgZGUgbGEgcGFydGUgbyBsYXMgcGFydGVzIHF1ZSBlbCBBdXRvciBPcmlnaW5hbCB5L28gZWwgTGljZW5jaWFudGUgaHViaWVyZW4gZGVzaWduYWRvIHBhcmEgbGEgYXRyaWJ1Y2nDs24gKHYuZy4sIHVuIGluc3RpdHV0byBwYXRyb2NpbmFkb3IsIGVkaXRvcmlhbCwgcHVibGljYWNpw7NuKSBlbiBsYSBpbmZvcm1hY2nDs24gZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGRlbCBMaWNlbmNpYW50ZSwgdMOpcm1pbm9zIGRlIHNlcnZpY2lvcyBvIGRlIG90cmFzIGZvcm1hcyByYXpvbmFibGVzOyBlbCB0w610dWxvIGRlIGxhIE9icmEgc2kgZXN0w6EgcHJvdmlzdG87IGVuIGxhIG1lZGlkYSBkZSBsbyByYXpvbmFibGVtZW50ZSBmYWN0aWJsZSB5LCBzaSBlc3TDoSBwcm92aXN0bywgZWwgSWRlbnRpZmljYWRvciBVbmlmb3JtZSBkZSBSZWN1cnNvcyAoVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyKSBxdWUgZWwgTGljZW5jaWFudGUgZXNwZWNpZmljYSBwYXJhIHNlciBhc29jaWFkbyBjb24gbGEgT2JyYSwgc2Fsdm8gcXVlIHRhbCBVUkkgbm8gc2UgcmVmaWVyYSBhIGxhIG5vdGEgc29icmUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIG8gYSBsYSBpbmZvcm1hY2nDs24gc29icmUgZWwgbGljZW5jaWFtaWVudG8gZGUgbGEgT2JyYTsgeSBlbiBlbCBjYXNvIGRlIHVuYSBPYnJhIERlcml2YWRhLCBhdHJpYnVpciBlbCBjcsOpZGl0byBpZGVudGlmaWNhbmRvIGVsIHVzbyBkZSBsYSBPYnJhIGVuIGxhIE9icmEgRGVyaXZhZGEgKHYuZy4sICJUcmFkdWNjacOzbiBGcmFuY2VzYSBkZSBsYSBPYnJhIGRlbCBBdXRvciBPcmlnaW5hbCwiIG8gIkd1acOzbiBDaW5lbWF0b2dyw6FmaWNvIGJhc2FkbyBlbiBsYSBPYnJhIG9yaWdpbmFsIGRlbCBBdXRvciBPcmlnaW5hbCIpLiBUYWwgY3LDqWRpdG8gcHVlZGUgc2VyIGltcGxlbWVudGFkbyBkZSBjdWFscXVpZXIgZm9ybWEgcmF6b25hYmxlOyBlbiBlbCBjYXNvLCBzaW4gZW1iYXJnbywgZGUgT2JyYXMgRGVyaXZhZGFzIHUgT2JyYXMgQ29sZWN0aXZhcywgdGFsIGNyw6lkaXRvIGFwYXJlY2Vyw6EsIGNvbW8gbcOtbmltbywgZG9uZGUgYXBhcmVjZSBlbCBjcsOpZGl0byBkZSBjdWFscXVpZXIgb3RybyBhdXRvciBjb21wYXJhYmxlIHkgZGUgdW5hIG1hbmVyYSwgYWwgbWVub3MsIHRhbiBkZXN0YWNhZGEgY29tbyBlbCBjcsOpZGl0byBkZSBvdHJvIGF1dG9yIGNvbXBhcmFibGUuCmQuCVBhcmEgZXZpdGFyIHRvZGEgY29uZnVzacOzbiwgZWwgTGljZW5jaWFudGUgYWNsYXJhIHF1ZSwgY3VhbmRvIGxhIG9icmEgZXMgdW5hIGNvbXBvc2ljacOzbiBtdXNpY2FsOgppLglSZWdhbMOtYXMgcG9yIGludGVycHJldGFjacOzbiB5IGVqZWN1Y2nDs24gYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgeSBkZSByZWNvbGVjdGFyLCBzZWEgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgU0FZQ08pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbyBXZWJjYXN0KSBsaWNlbmNpYWRhIGJham8gbGljZW5jaWFzIGdlbmVyYWxlcywgc2kgbGEgaW50ZXJwcmV0YWNpw7NuIG8gZWplY3VjacOzbiBkZSBsYSBvYnJhIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBvcmllbnRhZGEgcG9yIG8gZGlyaWdpZGEgYSBsYSBvYnRlbmNpw7NuIGRlIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgppaS4JUmVnYWzDrWFzIHBvciBGb25vZ3JhbWFzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIHJlY29sZWN0YXIsIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIGxvcyBjb25zYWdyYWRvcyBwb3IgbGEgU0FZQ08pLCB1bmEgYWdlbmNpYSBkZSBkZXJlY2hvcyBtdXNpY2FsZXMgbyBhbGfDum4gYWdlbnRlIGRlc2lnbmFkbywgbGFzIHJlZ2Fsw61hcyBwb3IgY3VhbHF1aWVyIGZvbm9ncmFtYSBxdWUgVXN0ZWQgY3JlZSBhIHBhcnRpciBkZSBsYSBvYnJhICjigJx2ZXJzacOzbiBjb3ZlcuKAnSkgeSBkaXN0cmlidXlhLCBlbiBsb3MgdMOpcm1pbm9zIGRlbCByw6lnaW1lbiBkZSBkZXJlY2hvcyBkZSBhdXRvciwgc2kgbGEgY3JlYWNpw7NuIG8gZGlzdHJpYnVjacOzbiBkZSBlc2EgdmVyc2nDs24gY292ZXIgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIGRlc3RpbmFkYSBvIGRpcmlnaWRhIGEgb2J0ZW5lciB1bmEgdmVudGFqYSBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYS4KZS4JR2VzdGnDs24gZGUgRGVyZWNob3MgZGUgQXV0b3Igc29icmUgSW50ZXJwcmV0YWNpb25lcyB5IEVqZWN1Y2lvbmVzIERpZ2l0YWxlcyAoV2ViQ2FzdGluZykuIFBhcmEgZXZpdGFyIHRvZGEgY29uZnVzacOzbiwgZWwgTGljZW5jaWFudGUgYWNsYXJhIHF1ZSwgY3VhbmRvIGxhIG9icmEgc2VhIHVuIGZvbm9ncmFtYSwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSBhdXRvcml6YXIgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvLCB3ZWJjYXN0KSB5IGRlIHJlY29sZWN0YXIsIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIEFDSU5QUk8pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpLCBzdWpldGEgYSBsYXMgZGlzcG9zaWNpb25lcyBhcGxpY2FibGVzIGRlbCByw6lnaW1lbiBkZSBEZXJlY2hvIGRlIEF1dG9yLCBzaSBlc3RhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBlc3TDoSBwcmltb3JkaWFsbWVudGUgZGlyaWdpZGEgYSBvYnRlbmVyIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgo1LiBSZXByZXNlbnRhY2lvbmVzLCBHYXJhbnTDrWFzIHkgTGltaXRhY2lvbmVzIGRlIFJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTEFTIFBBUlRFUyBMTyBBQ09SREFSQU4gREUgT1RSQSBGT1JNQSBQT1IgRVNDUklUTywgRUwgTElDRU5DSUFOVEUgT0ZSRUNFIExBIE9CUkEgKEVOIEVMIEVTVEFETyBFTiBFTCBRVUUgU0UgRU5DVUVOVFJBKSDigJxUQUwgQ1VBTOKAnSwgU0lOIEJSSU5EQVIgR0FSQU5Uw41BUyBERSBDTEFTRSBBTEdVTkEgUkVTUEVDVE8gREUgTEEgT0JSQSwgWUEgU0VBIEVYUFJFU0EsIElNUEzDjUNJVEEsIExFR0FMIE8gQ1VBTFFVSUVSQSBPVFJBLCBJTkNMVVlFTkRPLCBTSU4gTElNSVRBUlNFIEEgRUxMQVMsIEdBUkFOVMONQVMgREUgVElUVUxBUklEQUQsIENPTUVSQ0lBQklMSURBRCwgQURBUFRBQklMSURBRCBPIEFERUNVQUNJw5NOIEEgUFJPUMOTU0lUTyBERVRFUk1JTkFETywgQVVTRU5DSUEgREUgSU5GUkFDQ0nDk04sIERFIEFVU0VOQ0lBIERFIERFRkVDVE9TIExBVEVOVEVTIE8gREUgT1RSTyBUSVBPLCBPIExBIFBSRVNFTkNJQSBPIEFVU0VOQ0lBIERFIEVSUk9SRVMsIFNFQU4gTyBOTyBERVNDVUJSSUJMRVMgKFBVRURBTiBPIE5PIFNFUiBFU1RPUyBERVNDVUJJRVJUT1MpLiBBTEdVTkFTIEpVUklTRElDQ0lPTkVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgR0FSQU5Uw41BUyBJTVBMw41DSVRBUywgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KNi4gTGltaXRhY2nDs24gZGUgcmVzcG9uc2FiaWxpZGFkLgpBIE1FTk9TIFFVRSBMTyBFWElKQSBFWFBSRVNBTUVOVEUgTEEgTEVZIEFQTElDQUJMRSwgRUwgTElDRU5DSUFOVEUgTk8gU0VSw4EgUkVTUE9OU0FCTEUgQU5URSBVU1RFRCBQT1IgREHDkU8gQUxHVU5PLCBTRUEgUE9SIFJFU1BPTlNBQklMSURBRCBFWFRSQUNPTlRSQUNUVUFMLCBQUkVDT05UUkFDVFVBTCBPIENPTlRSQUNUVUFMLCBPQkpFVElWQSBPIFNVQkpFVElWQSwgU0UgVFJBVEUgREUgREHDkU9TIE1PUkFMRVMgTyBQQVRSSU1PTklBTEVTLCBESVJFQ1RPUyBPIElORElSRUNUT1MsIFBSRVZJU1RPUyBPIElNUFJFVklTVE9TIFBST0RVQ0lET1MgUE9SIEVMIFVTTyBERSBFU1RBIExJQ0VOQ0lBIE8gREUgTEEgT0JSQSwgQVVOIENVQU5ETyBFTCBMSUNFTkNJQU5URSBIQVlBIFNJRE8gQURWRVJUSURPIERFIExBIFBPU0lCSUxJREFEIERFIERJQ0hPUyBEQcORT1MuIEFMR1VOQVMgTEVZRVMgTk8gUEVSTUlURU4gTEEgRVhDTFVTScOTTiBERSBDSUVSVEEgUkVTUE9OU0FCSUxJREFELCBFTiBDVVlPIENBU08gRVNUQSBFWENMVVNJw5NOIFBVRURFIE5PIEFQTElDQVJTRSBBIFVTVEVELgo3LiBUw6lybWluby4KYS4JRXN0YSBMaWNlbmNpYSB5IGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgZW4gdmlydHVkIGRlIGVsbGEgdGVybWluYXLDoW4gYXV0b23DoXRpY2FtZW50ZSBzaSBVc3RlZCBpbmZyaW5nZSBhbGd1bmEgY29uZGljacOzbiBlc3RhYmxlY2lkYSBlbiBlbGxhLiBTaW4gZW1iYXJnbywgbG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgcXVlIGhhbiByZWNpYmlkbyBPYnJhcyBEZXJpdmFkYXMgbyBDb2xlY3RpdmFzIGRlIFVzdGVkIGRlIGNvbmZvcm1pZGFkIGNvbiBlc3RhIExpY2VuY2lhLCBubyB2ZXLDoW4gdGVybWluYWRhcyBzdXMgbGljZW5jaWFzLCBzaWVtcHJlIHF1ZSBlc3RvcyBpbmRpdmlkdW9zIG8gZW50aWRhZGVzIHNpZ2FuIGN1bXBsaWVuZG8gw61udGVncmFtZW50ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YXMgbGljZW5jaWFzLiBMYXMgU2VjY2lvbmVzIDEsIDIsIDUsIDYsIDcsIHkgOCBzdWJzaXN0aXLDoW4gYSBjdWFscXVpZXIgdGVybWluYWNpw7NuIGRlIGVzdGEgTGljZW5jaWEuCmIuCVN1amV0YSBhIGxhcyBjb25kaWNpb25lcyB5IHTDqXJtaW5vcyBhbnRlcmlvcmVzLCBsYSBsaWNlbmNpYSBvdG9yZ2FkYSBhcXXDrSBlcyBwZXJwZXR1YSAoZHVyYW50ZSBlbCBwZXLDrW9kbyBkZSB2aWdlbmNpYSBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgbGEgb2JyYSkuIE5vIG9ic3RhbnRlIGxvIGFudGVyaW9yLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gYSBwdWJsaWNhciB5L28gZXN0cmVuYXIgbGEgT2JyYSBiYWpvIGNvbmRpY2lvbmVzIGRlIGxpY2VuY2lhIGRpZmVyZW50ZXMgbyBhIGRlamFyIGRlIGRpc3RyaWJ1aXJsYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgTGljZW5jaWEgZW4gY3VhbHF1aWVyIG1vbWVudG87IGVuIGVsIGVudGVuZGlkbywgc2luIGVtYmFyZ28sIHF1ZSBlc2EgZWxlY2Npw7NuIG5vIHNlcnZpcsOhIHBhcmEgcmV2b2NhciBlc3RhIGxpY2VuY2lhIG8gcXVlIGRlYmEgc2VyIG90b3JnYWRhICwgYmFqbyBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgbGljZW5jaWEpLCB5IGVzdGEgbGljZW5jaWEgY29udGludWFyw6EgZW4gcGxlbm8gdmlnb3IgeSBlZmVjdG8gYSBtZW5vcyBxdWUgc2VhIHRlcm1pbmFkYSBjb21vIHNlIGV4cHJlc2EgYXRyw6FzLiBMYSBMaWNlbmNpYSByZXZvY2FkYSBjb250aW51YXLDoSBzaWVuZG8gcGxlbmFtZW50ZSB2aWdlbnRlIHkgZWZlY3RpdmEgc2kgbm8gc2UgbGUgZGEgdMOpcm1pbm8gZW4gbGFzIGNvbmRpY2lvbmVzIGluZGljYWRhcyBhbnRlcmlvcm1lbnRlLgo4LiBWYXJpb3MuCmEuCUNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuCmIuCVNpIGFsZ3VuYSBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSByZXN1bHRhIGludmFsaWRhZGEgbyBubyBleGlnaWJsZSwgc2Vnw7puIGxhIGxlZ2lzbGFjacOzbiB2aWdlbnRlLCBlc3RvIG5vIGFmZWN0YXLDoSBuaSBsYSB2YWxpZGV6IG5pIGxhIGFwbGljYWJpbGlkYWQgZGVsIHJlc3RvIGRlIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEgeSwgc2luIGFjY2nDs24gYWRpY2lvbmFsIHBvciBwYXJ0ZSBkZSBsb3Mgc3VqZXRvcyBkZSBlc3RlIGFjdWVyZG8sIGFxdcOpbGxhIHNlIGVudGVuZGVyw6EgcmVmb3JtYWRhIGxvIG3DrW5pbW8gbmVjZXNhcmlvIHBhcmEgaGFjZXIgcXVlIGRpY2hhIGRpc3Bvc2ljacOzbiBzZWEgdsOhbGlkYSB5IGV4aWdpYmxlLgpjLglOaW5nw7puIHTDqXJtaW5vIG8gZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgc2UgZXN0aW1hcsOhIHJlbnVuY2lhZGEgeSBuaW5ndW5hIHZpb2xhY2nDs24gZGUgZWxsYSBzZXLDoSBjb25zZW50aWRhIGEgbWVub3MgcXVlIGVzYSByZW51bmNpYSBvIGNvbnNlbnRpbWllbnRvIHNlYSBvdG9yZ2FkbyBwb3IgZXNjcml0byB5IGZpcm1hZG8gcG9yIGxhIHBhcnRlIHF1ZSByZW51bmNpZSBvIGNvbnNpZW50YS4KZC4JRXN0YSBMaWNlbmNpYSByZWZsZWphIGVsIGFjdWVyZG8gcGxlbm8gZW50cmUgbGFzIHBhcnRlcyByZXNwZWN0byBhIGxhIE9icmEgYXF1w60gbGljZW5jaWFkYS4gTm8gaGF5IGFycmVnbG9zLCBhY3VlcmRvcyBvIGRlY2xhcmFjaW9uZXMgcmVzcGVjdG8gYSBsYSBPYnJhIHF1ZSBubyBlc3TDqW4gZXNwZWNpZmljYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gRWwgTGljZW5jaWFudGUgbm8gc2UgdmVyw6EgbGltaXRhZG8gcG9yIG5pbmd1bmEgZGlzcG9zaWNpw7NuIGFkaWNpb25hbCBxdWUgcHVlZGEgc3VyZ2lyIGVuIGFsZ3VuYSBjb211bmljYWNpw7NuIGVtYW5hZGEgZGUgVXN0ZWQuIEVzdGEgTGljZW5jaWEgbm8gcHVlZGUgc2VyIG1vZGlmaWNhZGEgc2luIGVsIGNvbnNlbnRpbWllbnRvIG11dHVvIHBvciBlc2NyaXRvIGRlbCBMaWNlbmNpYW50ZSB5IFVzdGVkLgo=