Compresión de redes neuronales para microcontroladores utilizando la técnica de cuantificación
La presente investigación tuvo como objetivo principal analizar el impacto de la cuantificación en las redes neuronales para su implementación en microcontroladores, comparando tres tipos de técnicas diferentes en un modelo de red neuronal diseñado para realizar la predicción de radiación, esto teni...
- Autores:
-
Villamizar Medina, Brenda Alejandra
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2024
- Institución:
- Universidad Francisco de Paula Santander
- Repositorio:
- Repositorio Digital UFPS
- Idioma:
- spa
- OAI Identifier:
- oai:repositorio.ufps.edu.co:ufps/9068
- Acceso en línea:
- https://repositorio.ufps.edu.co/handle/ufps/9068
- Palabra clave:
- Redes neuronales
Cuantificación
Microcontroladores
Redes neuronales
Cuantificación
Microcontroladores.
- Rights
- openAccess
- License
- Derechos Reservados - Universidad Francisco de Paula Santander, 2024
| id |
RUFPS2_dbe0a3ec51a4182c670f2517234975bf |
|---|---|
| oai_identifier_str |
oai:repositorio.ufps.edu.co:ufps/9068 |
| network_acronym_str |
RUFPS2 |
| network_name_str |
Repositorio Digital UFPS |
| repository_id_str |
|
| dc.title.spa.fl_str_mv |
Compresión de redes neuronales para microcontroladores utilizando la técnica de cuantificación |
| title |
Compresión de redes neuronales para microcontroladores utilizando la técnica de cuantificación |
| spellingShingle |
Compresión de redes neuronales para microcontroladores utilizando la técnica de cuantificación Redes neuronales Cuantificación Microcontroladores Redes neuronales Cuantificación Microcontroladores. |
| title_short |
Compresión de redes neuronales para microcontroladores utilizando la técnica de cuantificación |
| title_full |
Compresión de redes neuronales para microcontroladores utilizando la técnica de cuantificación |
| title_fullStr |
Compresión de redes neuronales para microcontroladores utilizando la técnica de cuantificación |
| title_full_unstemmed |
Compresión de redes neuronales para microcontroladores utilizando la técnica de cuantificación |
| title_sort |
Compresión de redes neuronales para microcontroladores utilizando la técnica de cuantificación |
| dc.creator.fl_str_mv |
Villamizar Medina, Brenda Alejandra |
| dc.contributor.advisor.none.fl_str_mv |
Soto Vergel, Angelo Joseph Medina Delgado, Byron Soto Vergel, Angelo Joseph |
| dc.contributor.author.none.fl_str_mv |
Villamizar Medina, Brenda Alejandra |
| dc.contributor.corporatename.spa.fl_str_mv |
Universidad Francisco de Paula Santander |
| dc.contributor.jury.none.fl_str_mv |
Sierra Rojas, Aristobulo ILlera Bustos, Mario Joaquin |
| dc.subject.lemb.none.fl_str_mv |
Redes neuronales Cuantificación Microcontroladores |
| topic |
Redes neuronales Cuantificación Microcontroladores Redes neuronales Cuantificación Microcontroladores. |
| dc.subject.proposal.spa.fl_str_mv |
Redes neuronales Cuantificación Microcontroladores. |
| description |
La presente investigación tuvo como objetivo principal analizar el impacto de la cuantificación en las redes neuronales para su implementación en microcontroladores, comparando tres tipos de técnicas diferentes en un modelo de red neuronal diseñado para realizar la predicción de radiación, esto teniendo en cuenta un diseño experimental que permitió recopilar los datos de las métricas en inferencia, degradación de la precisión, consumo de energía y tamaño del modelo en memoria. Así, se llega a la conclusión que la cuantificación es una herramienta útil para lograr una reducción significativa del tamaño de los modelos de redes neuronales sin comprometer su rendimiento, obteniendo también un equilibrio respecto a la eficiencia de recursos de hardware en dispositivos con características limitadas como lo son los microcontroladores. |
| publishDate |
2024 |
| dc.date.issued.none.fl_str_mv |
2024 |
| dc.date.accessioned.none.fl_str_mv |
2025-02-12T13:40:21Z |
| dc.date.available.none.fl_str_mv |
2025-02-12T13:40:21Z |
| dc.type.spa.fl_str_mv |
Trabajo de grado - Pregrado |
| dc.type.coarversion.fl_str_mv |
http://purl.org/coar/version/c_970fb48d4fbd8a85 |
| 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.version.spa.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| format |
http://purl.org/coar/resource_type/c_7a1f |
| status_str |
publishedVersion |
| dc.identifier.uri.none.fl_str_mv |
https://repositorio.ufps.edu.co/handle/ufps/9068 |
| dc.identifier.signature.spa.fl_str_mv |
TIE V00061/2024 |
| url |
https://repositorio.ufps.edu.co/handle/ufps/9068 |
| identifier_str_mv |
TIE V00061/2024 |
| dc.language.iso.spa.fl_str_mv |
spa |
| language |
spa |
| dc.rights.spa.fl_str_mv |
Derechos Reservados - Universidad Francisco de Paula Santander, 2024 |
| dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
| dc.rights.uri.spa.fl_str_mv |
https://creativecommons.org/licenses/by-nc-sa/4.0/ |
| dc.rights.accessrights.spa.fl_str_mv |
info:eu-repo/semantics/openAccess |
| dc.rights.creativecommons.spa.fl_str_mv |
Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0) |
| rights_invalid_str_mv |
Derechos Reservados - Universidad Francisco de Paula Santander, 2024 https://creativecommons.org/licenses/by-nc-sa/4.0/ Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0) http://purl.org/coar/access_right/c_abf2 |
| eu_rights_str_mv |
openAccess |
| dc.format.extent.spa.fl_str_mv |
74 páginas. ilustraciones. 1.469 KB |
| dc.format.mimetype.spa.fl_str_mv |
application/pdf |
| dc.publisher.spa.fl_str_mv |
Universidad Francisco de Paula Santander |
| dc.publisher.faculty.spa.fl_str_mv |
Facultad de Ingeniería |
| dc.publisher.place.spa.fl_str_mv |
San José de Cúcuta |
| dc.publisher.program.spa.fl_str_mv |
Ingeniería Electrónica |
| dc.source.spa.fl_str_mv |
https://catalogobiblioteca.ufps.edu.co/cgi-bin/koha/opac-retrieve-file.pl?id=6740fb76c0b1b83b5b1e202807d6766b |
| institution |
Universidad Francisco de Paula Santander |
| bitstream.url.fl_str_mv |
https://repositorio.ufps.edu.co/bitstreams/f1061009-0f51-4d1d-83e2-f2a70418320e/download https://repositorio.ufps.edu.co/bitstreams/e97f22d0-1a66-455f-af3a-3f5464feaeba/download https://repositorio.ufps.edu.co/bitstreams/7ea5a624-c98d-4220-b253-f7f62e463906/download https://repositorio.ufps.edu.co/bitstreams/79ba99aa-2099-4b38-81ed-56dcacb07a5c/download |
| bitstream.checksum.fl_str_mv |
44725bfeda85bae8f7c7e5c5cbc404f9 2f9959eaf5b71fae44bbf9ec84150c7a 2244bf07b0e1916847c86c7b224c6590 b9a41454c720a7413572233a7b0e5fb1 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
| repository.name.fl_str_mv |
Repositorio Universidad Francisco de Paula Santander |
| repository.mail.fl_str_mv |
bdigital@metabiblioteca.com |
| _version_ |
1851059500460539904 |
| spelling |
Soto Vergel, Angelo JosephMedina Delgado, ByronSoto Vergel, Angelo Josephvirtual::1663-1Villamizar Medina, Brenda AlejandraUniversidad Francisco de Paula SantanderSierra Rojas, AristobuloILlera Bustos, Mario Joaquin2025-02-12T13:40:21Z2025-02-12T13:40:21Z2024https://repositorio.ufps.edu.co/handle/ufps/9068TIE V00061/2024La presente investigación tuvo como objetivo principal analizar el impacto de la cuantificación en las redes neuronales para su implementación en microcontroladores, comparando tres tipos de técnicas diferentes en un modelo de red neuronal diseñado para realizar la predicción de radiación, esto teniendo en cuenta un diseño experimental que permitió recopilar los datos de las métricas en inferencia, degradación de la precisión, consumo de energía y tamaño del modelo en memoria. Así, se llega a la conclusión que la cuantificación es una herramienta útil para lograr una reducción significativa del tamaño de los modelos de redes neuronales sin comprometer su rendimiento, obteniendo también un equilibrio respecto a la eficiencia de recursos de hardware en dispositivos con características limitadas como lo son los microcontroladores.Introducción 1. Descripción del problema 1.1 Planteamiento del problema 1.2 Justificación 1.2.1 Impacto Esperado 1.2.2 Beneficios 1.2.2.1 Beneficios tecnológicos 1.2.2.2 Beneficios económicos 1.2.2.3 Beneficios sociales 1.2.2.4 Beneficios Institucionales 1.3 Objetivos 1.3.1 Objetivo general 1.3.2 Objetivos Específicos 1.4 Delimitaciones 2. Marco referencial 2.1 Antecedentes 2.2 Marco teórico 2.2.1 Dispositivos de baja potencia 2.2.2 Sistemas embebidos 13 14 14 15 16 17 17 17 18 18 18 18 19 19 20 20 22 22 22 2.2.2.1 Microcontrolador 23 2.2.2.2 FPGA (Field Programmable Gate Array) 2.2.2.3 SBC (Single Board Computer) 2.2.3 Red neuronal artificial (ANN, Artificial Neural Network) 2.2.3.1 El perceptrón simple 2.2.3.2 El perceptrón multicapa 2.2.3.3 Redes neuronales recurrentes (RNN, Recurrent Neural Network) 2.2.3.4 Redes de base radial (FBR, Function Basis Radial) 2.2.4 Cuantificación 2.2.4.1 Mapeo de cuantificación (afín) 2.2.4.2 Recorte de valor 2.2.4.3 Mapeo de cuantificación de escala 2.3 Marco legal 3. Metodología 3.1 Selección de hardware y software 3.1.1 Revisión de antecedentes conceptuales 3.1.2 Matriz de selección 3.1.3 Selección de librerías 3.2 Diseño de experimentos 3.2.1 Búsqueda de aplicaciones 24 24 24 25 26 26 27 28 28 29 30 32 33 33 33 33 33 33 33 3.2.2 Selección de tipos de técnicas de cuantificación 33 3.2.3 Identificación de factores y niveles de diseño experimental 3.3 Pruebas de funcionamiento 3.3.1 Entrenamiento del modelo de red neuronal cuantificado 3.3.2 Implantación del modelo en el microcontrolador 3.3.3 Medición de métricas en inferencia 3.4 Divulgación de avances y resultados obtenidos 3.4.1 Socialización de los resultados obtenidos 3.4.2 Redacción de un documento con énfasis en la investigación 4. Resultados 34 34 34 34 34 34 34 35 36 4.1 Hardware y software para la cuantificación de redes neuronales en microcontroladores 36 4.1.1 Antecedentes conceptuales de las técnicas de cuantificación de redes neuronales en microcontroladores 4.1.2 Características técnicas del microcontrolador 4.1.3 Librerías y bibliotecas para una red neuronal cuantificada en un microcontrolador 4.1.3.1 Facilidad de uso y documentación 4.1.3.2 Eficiencia y rendimiento 4.2 Experimentos con base en las técnicas de cuantificación 4.2.1 Aplicación y base de base de datos para entrenar la red neuronal 4.2.2 Técnicas de cuantificación implementadas 36 39 42 42 42 42 43 43 4.2.3 Matriz de experimentos de la red neuronal en el microcontrolador 44 4.3 Pruebas de funcionamiento de la red neuronal en el microcontrolador 4.3.1 Entrenamiento del modelo de red neuronal cuantificado 4.3.1.1 Modelo de red neuronal 4.3.2 Implementación en el microcontrolador 4.3.2.1 Cuantificación post-entrenamiento: Pesos y funciones de activación INT8 45 46 46 50 50 4.3.2.2 Cuantificación post-entrenamiento: Pesos INT8 y funciones de activación INT16 50 4.3.2.3 Cuantificación durante el entrenamiento: Pesos y funciones de activación INT8 50 4.3.3 Medición de las métricas en inferencia 4.4 Divulgación de la información 4.4.1 Socialización a la comunidad académica de la UFPS 4.4.2 Propuesta de artículo científico 5. Conclusiones Referencias Anexos 51 58 58 60 61 63 70PregradoIngeniero(a) Electrónico(a)74 páginas. ilustraciones. 1.469 KBapplication/pdfspaUniversidad Francisco de Paula SantanderFacultad de IngenieríaSan José de CúcutaIngeniería ElectrónicaDerechos Reservados - Universidad Francisco de Paula Santander, 2024https://creativecommons.org/licenses/by-nc-sa/4.0/info:eu-repo/semantics/openAccessAtribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)http://purl.org/coar/access_right/c_abf2https://catalogobiblioteca.ufps.edu.co/cgi-bin/koha/opac-retrieve-file.pl?id=6740fb76c0b1b83b5b1e202807d6766bCompresión de redes neuronales para microcontroladores utilizando la técnica de cuantificaciónTrabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_7a1fTextinfo:eu-repo/semantics/bachelorThesishttps://purl.org/redcol/resource_type/TPinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/version/c_970fb48d4fbd8a85Redes neuronalesCuantificaciónMicrocontroladoresRedes neuronalesCuantificaciónMicrocontroladores.T. Liang, J. Glossner, L. Wang, S. Shi, X. Zhang. Pruning and Quantization for Deep Neural Network Acceleration: Survey. a School of Computer and Communication Engineering, University of Science and Technology Beijing, Beijing 100083, Hua Xia General Processor Technologies, Beijing 100080, General Processor Technologies, Tarrytown, NY 10591, United States arXiv:2101.09671v3 [cs.CV] 15 Jun 2021. China. https://arxiv.org/abs/2101.09671W. Shi, J. Cao, Q. Shang, Y. Li, L. Xu. Edge Computing: Vision and Challenges. IEEE Internet of Things Journal Vol. 3 No. 5 October 2016. https://ieeexplore.ieee.org/document/7488250F. Libano, B. Wilson, M. Withlin, P. Rech, J. Brunhaver. Understanding the Impact of Quantization, Accuracy, and Radiation on the Realibility of Convolutional Neural Networks on FPGAs. IEEE Transactions on Nuclear Science, Vol. 67, No. 7 July 2020. https://ieeexplore.ieee.org/document/9047962] P. Bacchus, R. Stewart, E. Komendantskaya. Accuracy, Training Time and Hardware Efficiency Trade-Offs for Quantized Neural Networks on FPGAs* Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh, UK. https://www.macs.hw.ac.uk/~rs46/papers/arc2020/arc-2020.pdfS. Chang, Y. Li, M. Sun, R. Shi, H. K, H. So, X. Qian, Y. Wang, X. Lin. Mix and Match: A Novel FPGA-Centric Deep Neural Network Quantization Framework. Northeastern University, The University of Hong Kong, University of Southern California. arXiv:2012.04240v2 [cs. LG] 12 Dec 2020. https://arxiv.org/abs/2012.04240C. Calafa, S. Lew. ¿Qué es la Inteligencia Artificial? Boletín Radio@stronómico 17 junio 2020. https://ri.conicet.gov.ar/handle/11336/110093?show=fullW. Rivas, B. Olivo. Redes Neuronales Artificiales Aplicadas al Reconocimiento de Patrones. Editorial Utmach All content following this page was uploaded by Bertha Mazon-Olivo on 17 September 2018. http://repositorio.utmachala.edu.ec/bitstream/48000/14223/1/Cap.1Generalidades%20de%20las%20redes%20neuronales%20artificiales.pdfM. Padilla. Implementación de una Red Neural Artificial en un Microcontrolador de 8 Bits para Control de Dirección de un Robot Móvil. Tesis de Grado Universidad e Quintana Roo, México agosto 2018. http://risisbi.uqroo.mx/handle/20.500.12249/1611?localeattribute=esV. M. Tirado. Split Learning en Embebidos con TensorFlow Lite. Tesis de Grado Universidad de los Andes. 1 julio de 2022. https://repositorio.uniandes.edu.co/handle/1992/59355S. Queipo de llamo Mazzuchelli. Implementación de Aplicaciones de Deep Learning en Microcontroladores ARM Cortex M. Tesis de Grado, Escuela Técnica Superior de Ingeniería y Sistemas de Telecomunicaciones. https://www.etsist.upm.es/S. Khoram, J. Li. Adaptive Quantization of Neural Networks. Department of Electrical and Computer Engineering University of Wisconsin – Madison Published as a conference paper at ICLR 2018. https://arxiv.org/abs/1712.01048P. Novac, G. Hacene, A. Pegatoquet, B. Miramond, V. Gripon. Quantization and Deployment of Deep Neural Networks on Microcontrollers. Sensors Academic Editor: Alexander Wong 21 Abril 2021. https://arxiv.org/abs/2105.13331Que es una Red Neurona Parte 2: La Red Video. 66 https://www.youtube.com/watch?v=uwbHOpp9xkcJ. RamirezQue es y que Aplicaciones tiene una Red Neuronal Artificial. Deude Datacentric. Blog. https://www.datacentric.es/blog/insight/red-neuronal-artificial-aplicaciones/P. Larrañaga, I. Inza, A. Moujahid. Redes Neuronales. Universidad del País Vasco. https://www.researchgate.net/profile/PedroLarranaga/publication/268291232_Tema_8_R edes_Neuronales/links/55b7b5c408ae9289a08c0c68/Tema-8-Redes-Neuronales.pdfReceptor multicapa, Capitulo 3. http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/mejia_s_ja/capitulo3.pdfI. Cruz, S. Salazar, A. Rodriguez, R. Grau. M. Matilde, L. García. Redes neuronales recurrentes para el análisis de secuencias Revista Cubana de Ciencias Informáticas, vol. 1, núm. 4, 2007, pp. 48-57 Universidad de las Ciencias Informáticas Ciudad de la Habana, Cuba. https://www.redalyc.org/articulo.oa?id=378343634004C. Anara. Redes Neuronales Recurrentes: Análisis de los Modelos Especializados en Datos Secuenciales. Universidad de Cema. Junio 2021. Buenos Aires, Argentina. https://ideas.repec.org/p/cem/doctra/797.htmlM. Longoni, E. Porcel, M. López, G. Dapozo. Modelos de Redes Neuronales Perceptrón Multicapa y de Base Radial para la predicción del rendimiento académico de alumnos universitarios. Universidad Nacional del Nordeste. 2010. https://core.ac.uk/download/pdf/15776181.pdfA. Guio. Marco Teórico para la Inteligencia Artificial. Consejería Presidencial para Asuntos Económicos y Trasformación Digital. Agosto, 2020. https://www.ccit.org.co/articulostictac/el-marco-etico-para-la-inteligencia-artificial-en-colombia-una-oportunidad-para-implementar-proyectos-de-ia-que-beneficien-a-toda-laciudadania/#:~:text=Dicho%20esto%2C%20en%20el%20a%C3%B1o,incluyan%20el%2 0uso%20de%20InteligenciaS. Tailor, N. Lane, J. Marques. Degree-Quant: Quantizacion – Aware training for graph neutral networks. Published as a conference paper at ICLR 2021. https://arxiv.org/pdf/2008.05000Novac, P.-E.; Boukli Hacene, G.; Pegatoquet, A.; Miramond, B.; Gripon, V. Quantization and deployment of Deep neural networks on microcontrollers. Sensor 2021, 21, 2984. https://doi.org/10.3390/s21092984J. D. Díaz Delgado. Estrategias para desplegar modelos de machine learning en sistemas embebidos. Proyecto fin de carrera, Universidad de los Andes, 2022. https://repositorio.uniandes.edu.co/server/api/core/bitstreams/80502566-b418-4f11-afe616a8f07bc51a/contentRusci, M., Fariselli, M., Capotondi, A., Benini, L. (2020). Aprovechamiento de la cuantificación automatizada de baja precisión mixta para microcontroladores de borde pequeño. En: Gama, J., et al. Flujos de IoT para mantenimiento predictivo basado en datos e IoT, Edge y dispositivos móviles para aprendizaje automático integrado. ARTÍCULO IoT Streams 2020 2020. Comunicaciones en informática y ciencias de la información, vol 1325. Springer, Cham. https://doi.org/10.1007/978-3-030-66770-2_22S. Ghamari, K. Ozcan, T. Dinh, A. Melnikov, J. Carvajal, J. Ernst. S. Chai. Quantizacion – Guided training for compact tinyML models. TinyML 2021, Burlingame CA. https://arxiv.org/pdf/2103.06231I. L. Orăşan, C. Seiculescu and C. D. Caleanu, "Benchmarking TensorFlow Lite Quantization Algorithms for Deep Neural Networks," 2022 IEEE 16th International Symposium on Applied Computational Intelligence and Informatics (SACI), Timisoara, Romania, 2022, pp. 000221-000226, doi: 10.1109/SACI55618.2022.9919465. https://ieeexplore.ieee.org/abstract/document/9919465P. Warden and D. Situnayake. TinyML Machine learning with tensorflow lite on Arduino and ultra - low – power microcontrollers. Book O’REILLY Universidad del Norte 2022. https://tinymlbook.com/wp-content/uploads/2020/11/TinyML_preview.pdfS. Siddegowda, M. Nagel, C. Patel, M. Fournarakis, T. Blankevoort, A. Khobare. Neural network quantization with AI model efficiency toolkit (AIMET). Jan 2022. https://arxiv.org/pdf/2201.08442N. Claudionor, J. Coelho, K. Aki, L. Shan, Z. Hao, J. Ngadiuba, T. Aaerrestad, V. Loncar, M. Pierini, A. Pol, S. Summers. Automatic heterogenepus quantization of Deep neural networks for low – latency inference on the Edge for particle detectors. Articles nature machine intelligence. Vol 3. 2021. https://arxiv.org/pdf/2006.10159Y. Nahshan, B. Chimiel, C. Baskin, E. Zheltonozhskii, R. Banner, A. Bronstein, A. Meldelson. Loss aware post‑training quantization. Article Machine Learning 2021 110:3245-3262. https://link.springer.com/content/pdf/10.1007/s10994-021-06053-z.pdfC. Sakr. S. Dai, R. Venkatesan, B. Zimmer, W. Dally, B. Khailany. Optimal Clipping and Magnitude-aware Differentiation for Improved Quantization-aware Training. https://proceedings.mlr.press/v162/sakr22a/sakr22a.pdfI. Hubara, Y. Nahshan, Y. Hanani, R. Banner, D. Soudry Accurate Post Training Quantization with Small Calibration Sets, Proceedings of the 38 th International Conference on Machine Learning, PMLR 139, 2021. https://proceedings.mlr.press/v139/hubara21a/hubara21a.pdfS. S. Swapnil. Machine learning for microcontroller – class hardware: A review IEEE SENSOR JOURNAL, VOL 22, 2022. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9683383/J. Fang, A. Shafiee, H. Abdel, D. Thorsley, G. Georgiadis, J. Hassoun. Post training Piecewise Linear Quantization for Deep Neural Networks. Mar 2020. https://arxiv.org/pdf/2002.00104J. E. Eslava, F. A. Martínez. Caracterización de la contaminación del aire por material particulado PM10 y PM2.5 de la universidad francisco de paula Santander- Cúcuta empleado un vehículo aéreo no tripulado. Resumen trabajo de grado Universidad Francisco de Paula Santander, 2021. https://repositorio.ufps.edu.co/bitstream/handle/ufps/4515/1161304_1161277.pdf?sequence= 1&isAllowed=yPublication2117e34a-16e4-4ad2-8fd7-4cf7dd00df89virtual::1663-12117e34a-16e4-4ad2-8fd7-4cf7dd00df89virtual::1663-1ORIGINALTG_1161427 .pdfTG_1161427 .pdfProyecto de Pregradoapplication/pdf1504262https://repositorio.ufps.edu.co/bitstreams/f1061009-0f51-4d1d-83e2-f2a70418320e/download44725bfeda85bae8f7c7e5c5cbc404f9MD51trueAnonymousREADLICENSElicense.txtlicense.txttext/plain; charset=utf-814828https://repositorio.ufps.edu.co/bitstreams/e97f22d0-1a66-455f-af3a-3f5464feaeba/download2f9959eaf5b71fae44bbf9ec84150c7aMD52falseAnonymousREADTEXTTG_1161427 .pdf.txtTG_1161427 .pdf.txtExtracted texttext/plain94127https://repositorio.ufps.edu.co/bitstreams/7ea5a624-c98d-4220-b253-f7f62e463906/download2244bf07b0e1916847c86c7b224c6590MD53falseAnonymousREADTHUMBNAILTG_1161427 .pdf.jpgTG_1161427 .pdf.jpgGenerated Thumbnailimage/jpeg13805https://repositorio.ufps.edu.co/bitstreams/79ba99aa-2099-4b38-81ed-56dcacb07a5c/downloadb9a41454c720a7413572233a7b0e5fb1MD54falseAnonymousREADufps/9068oai:repositorio.ufps.edu.co:ufps/90682025-11-12 10:11:57.202https://creativecommons.org/licenses/by-nc-sa/4.0/Derechos Reservados - Universidad Francisco de Paula Santander, 2024open.accesshttps://repositorio.ufps.edu.coRepositorio Universidad Francisco de Paula Santanderbdigital@metabiblioteca.comTEEgT0JSQSAoVEFMIFkgQ09NTyBTRSBERUZJTkUgTcOBUyBBREVMQU5URSkgU0UgT1RPUkdBIEJBSk8gTE9TIFRFUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgUMOaQkxJQ0EgREUgQ1JFQVRJVkUgQ09NTU9OUyAo4oCcTFBDQ+KAnSBPIOKAnExJQ0VOQ0lB4oCdKS4gTEEgT0JSQSBFU1TDgSBQUk9URUdJREEgUE9SIERFUkVDSE9TIERFIEFVVE9SIFkvVSBPVFJBUyBMRVlFUyBBUExJQ0FCTEVTLiBRVUVEQSBQUk9ISUJJRE8gQ1VBTFFVSUVSIFVTTyBRVUUgU0UgSEFHQSBERSBMQSBPQlJBIFFVRSBOTyBDVUVOVEUgQ09OIExBIEFVVE9SSVpBQ0nDk04gUEVSVElORU5URSBERSBDT05GT1JNSURBRCBDT04gTE9TIFTDiVJNSU5PUyBERSBFU1RBIExJQ0VOQ0lBIFkgREUgTEEgTEVZIERFIERFUkVDSE8gREUgQVVUT1IuCgpNRURJQU5URSBFTCBFSkVSQ0lDSU8gREUgQ1VBTFFVSUVSQSBERSBMT1MgREVSRUNIT1MgUVVFIFNFIE9UT1JHQU4gRU4gRVNUQSBMSUNFTkNJQSwgVVNURUQgQUNFUFRBIFkgQUNVRVJEQSBRVUVEQVIgT0JMSUdBRE8gRU4gTE9TIFRFUk1JTk9TIFFVRSBTRSBTRcORQUxBTiBFTiBFTExBLiBFTCBMSUNFTkNJQU5URSBDT05DRURFIEEgVVNURUQgTE9TIERFUkVDSE9TIENPTlRFTklET1MgRU4gRVNUQSBMSUNFTkNJQSBDT05ESUNJT05BRE9TIEEgTEEgQUNFUFRBQ0nDk04gREUgU1VTIFRFUk1JTk9TIFkgQ09ORElDSU9ORVMuCjEuIERlZmluaWNpb25lcwoKYS4JT2JyYSBDb2xlY3RpdmEgZXMgdW5hIG9icmEsIHRhbCBjb21vIHVuYSBwdWJsaWNhY2nDs24gcGVyacOzZGljYSwgdW5hIGFudG9sb2fDrWEsIG8gdW5hIGVuY2ljbG9wZWRpYSwgZW4gbGEgcXVlIGxhIG9icmEgZW4gc3UgdG90YWxpZGFkLCBzaW4gbW9kaWZpY2FjacOzbiBhbGd1bmEsIGp1bnRvIGNvbiB1biBncnVwbyBkZSBvdHJhcyBjb250cmlidWNpb25lcyBxdWUgY29uc3RpdHV5ZW4gb2JyYXMgc2VwYXJhZGFzIGUgaW5kZXBlbmRpZW50ZXMgZW4gc8OtIG1pc21hcywgc2UgaW50ZWdyYW4gZW4gdW4gdG9kbyBjb2xlY3Rpdm8uIFVuYSBPYnJhIHF1ZSBjb25zdGl0dXllIHVuYSBvYnJhIGNvbGVjdGl2YSBubyBzZSBjb25zaWRlcmFyw6EgdW5hIE9icmEgRGVyaXZhZGEgKGNvbW8gc2UgZGVmaW5lIGFiYWpvKSBwYXJhIGxvcyBwcm9ww7NzaXRvcyBkZSBlc3RhIGxpY2VuY2lhLiBhcXVlbGxhIHByb2R1Y2lkYSBwb3IgdW4gZ3J1cG8gZGUgYXV0b3JlcywgZW4gcXVlIGxhIE9icmEgc2UgZW5jdWVudHJhIHNpbiBtb2RpZmljYWNpb25lcywganVudG8gY29uIHVuYSBjaWVydGEgY2FudGlkYWQgZGUgb3RyYXMgY29udHJpYnVjaW9uZXMsIHF1ZSBjb25zdGl0dXllbiBlbiBzw60gbWlzbW9zIHRyYWJham9zIHNlcGFyYWRvcyBlIGluZGVwZW5kaWVudGVzLCBxdWUgc29uIGludGVncmFkb3MgYWwgdG9kbyBjb2xlY3Rpdm8sIHRhbGVzIGNvbW8gcHVibGljYWNpb25lcyBwZXJpw7NkaWNhcywgYW50b2xvZ8OtYXMgbyBlbmNpY2xvcGVkaWFzLgoKYi4JT2JyYSBEZXJpdmFkYSBzaWduaWZpY2EgdW5hIG9icmEgYmFzYWRhIGVuIGxhIG9icmEgb2JqZXRvIGRlIGVzdGEgbGljZW5jaWEgbyBlbiDDqXN0YSB5IG90cmFzIG9icmFzIHByZWV4aXN0ZW50ZXMsIHRhbGVzIGNvbW8gdHJhZHVjY2lvbmVzLCBhcnJlZ2xvcyBtdXNpY2FsZXMsIGRyYW1hdGl6YWNpb25lcywg4oCcZmljY2lvbmFsaXphY2lvbmVz4oCdLCB2ZXJzaW9uZXMgcGFyYSBjaW5lLCDigJxncmFiYWNpb25lcyBkZSBzb25pZG/igJ0sIHJlcHJvZHVjY2lvbmVzIGRlIGFydGUsIHJlc8O6bWVuZXMsIGNvbmRlbnNhY2lvbmVzLCBvIGN1YWxxdWllciBvdHJhIGVuIGxhIHF1ZSBsYSBvYnJhIHB1ZWRhIHNlciB0cmFuc2Zvcm1hZGEsIGNhbWJpYWRhIG8gYWRhcHRhZGEsIGV4Y2VwdG8gYXF1ZWxsYXMgcXVlIGNvbnN0aXR1eWFuIHVuYSBvYnJhIGNvbGVjdGl2YSwgbGFzIHF1ZSBubyBzZXLDoW4gY29uc2lkZXJhZGFzIHVuYSBvYnJhIGRlcml2YWRhIHBhcmEgZWZlY3RvcyBkZSBlc3RhIGxpY2VuY2lhLiAoUGFyYSBldml0YXIgZHVkYXMsIGVuIGVsIGNhc28gZGUgcXVlIGxhIE9icmEgc2VhIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbCBvIHVuYSBncmFiYWNpw7NuIHNvbm9yYSwgcGFyYSBsb3MgZWZlY3RvcyBkZSBlc3RhIExpY2VuY2lhIGxhIHNpbmNyb25pemFjacOzbiB0ZW1wb3JhbCBkZSBsYSBPYnJhIGNvbiB1bmEgaW1hZ2VuIGVuIG1vdmltaWVudG8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIHBhcmEgbG9zIGZpbmVzIGRlIGVzdGEgbGljZW5jaWEpLgoKYy4JTGljZW5jaWFudGUsIGVzIGVsIGluZGl2aWR1byBvIGxhIGVudGlkYWQgdGl0dWxhciBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgcXVlIG9mcmVjZSBsYSBPYnJhIGVuIGNvbmZvcm1pZGFkIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4KCmQuCUF1dG9yIG9yaWdpbmFsLCBlcyBlbCBpbmRpdmlkdW8gcXVlIGNyZcOzIGxhIE9icmEuCgplLglPYnJhLCBlcyBhcXVlbGxhIG9icmEgc3VzY2VwdGlibGUgZGUgcHJvdGVjY2nDs24gcG9yIGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IgeSBxdWUgZXMgb2ZyZWNpZGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhCgpmLglVc3RlZCwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCBxdWUgZWplcmNpdGEgbG9zIGRlcmVjaG9zIG90b3JnYWRvcyBhbCBhbXBhcm8gZGUgZXN0YSBMaWNlbmNpYSB5IHF1ZSBjb24gYW50ZXJpb3JpZGFkIG5vIGhhIHZpb2xhZG8gbGFzIGNvbmRpY2lvbmVzIGRlIGxhIG1pc21hIHJlc3BlY3RvIGEgbGEgT2JyYSwgbyBxdWUgaGF5YSBvYnRlbmlkbyBhdXRvcml6YWNpw7NuIGV4cHJlc2EgcG9yIHBhcnRlIGRlbCBMaWNlbmNpYW50ZSBwYXJhIGVqZXJjZXIgbG9zIGRlcmVjaG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHBlc2UgYSB1bmEgdmlvbGFjacOzbiBhbnRlcmlvci4KCjIuIERlcmVjaG9zIGRlIFVzb3MgSG9ucmFkb3MgeSBleGNlcGNpb25lcyBMZWdhbGVzLgpOYWRhIGVuIGVzdGEgTGljZW5jaWEgcG9kcsOhIHNlciBpbnRlcnByZXRhZG8gY29tbyB1bmEgZGlzbWludWNpw7NuLCBsaW1pdGFjacOzbiBvIHJlc3RyaWNjacOzbiBkZSBsb3MgZGVyZWNob3MgZGVyaXZhZG9zIGRlbCB1c28gaG9ucmFkbyB5IG90cmFzIGxpbWl0YWNpb25lcyBvIGV4Y2VwY2lvbmVzIGEgbG9zIGRlcmVjaG9zIGRlbCBhdXRvciBiYWpvIGVsIHLDqWdpbWVuIGxlZ2FsIHZpZ2VudGUgbyBkZXJpdmFkbyBkZSBjdWFscXVpZXIgb3RyYSBub3JtYSBxdWUgc2UgbGUgYXBsaXF1ZS4KCjMuIENvbmNlc2nDs24gZGUgbGEgTGljZW5jaWEuCkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246CgphLglSZXByb2R1Y2lyIGxhIE9icmEsIGluY29ycG9yYXIgbGEgT2JyYSBlbiB1bmEgbyBtw6FzIE9icmFzIENvbGVjdGl2YXMsIHkgcmVwcm9kdWNpciBsYSBPYnJhIGluY29ycG9yYWRhIGVuIGxhcyBPYnJhcyBDb2xlY3RpdmFzLgoKYi4JRGlzdHJpYnVpciBjb3BpYXMgbyBmb25vZ3JhbWFzIGRlIGxhcyBPYnJhcywgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYSwgaW5jbHV5w6luZG9sYXMgY29tbyBpbmNvcnBvcmFkYXMgZW4gT2JyYXMgQ29sZWN0aXZhcywgc2Vnw7puIGNvcnJlc3BvbmRhLgoKYy4JRGlzdHJpYnVpciBjb3BpYXMgZGUgbGFzIE9icmFzIERlcml2YWRhcyBxdWUgc2UgZ2VuZXJlbiwgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4KTG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuIFRvZG9zIGxvcyBkZXJlY2hvcyBubyBvdG9yZ2Fkb3MgZXhwcmVzYW1lbnRlIHBvciBlbCBMaWNlbmNpYW50ZSBxdWVkYW4gcG9yIGVzdGUgbWVkaW8gcmVzZXJ2YWRvcywgaW5jbHV5ZW5kbyBwZXJvIHNpbiBsaW1pdGFyc2UgYSBhcXVlbGxvcyBxdWUgc2UgbWVuY2lvbmFuIGVuIGxhcyBzZWNjaW9uZXMgNChkKSB5IDQoZSkuCgo0LiBSZXN0cmljY2lvbmVzLgpMYSBsaWNlbmNpYSBvdG9yZ2FkYSBlbiBsYSBhbnRlcmlvciBTZWNjacOzbiAzIGVzdMOhIGV4cHJlc2FtZW50ZSBzdWpldGEgeSBsaW1pdGFkYSBwb3IgbGFzIHNpZ3VpZW50ZXMgcmVzdHJpY2Npb25lczoKCmEuCVVzdGVkIHB1ZWRlIGRpc3RyaWJ1aXIsIGV4aGliaXIgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXIgcMO6YmxpY2FtZW50ZSwgbyBwb25lciBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIHPDs2xvIGJham8gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIHkgVXN0ZWQgZGViZSBpbmNsdWlyIHVuYSBjb3BpYSBkZSBlc3RhIGxpY2VuY2lhIG8gZGVsIElkZW50aWZpY2Fkb3IgVW5pdmVyc2FsIGRlIFJlY3Vyc29zIGRlIGxhIG1pc21hIGNvbiBjYWRhIGNvcGlhIGRlIGxhIE9icmEgcXVlIGRpc3RyaWJ1eWEsIGV4aGliYSBww7pibGljYW1lbnRlLCBlamVjdXRlIHDDumJsaWNhbWVudGUgbyBwb25nYSBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4gTm8gZXMgcG9zaWJsZSBvZnJlY2VyIG8gaW1wb25lciBuaW5ndW5hIGNvbmRpY2nDs24gc29icmUgbGEgT2JyYSBxdWUgYWx0ZXJlIG8gbGltaXRlIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIG8gZWwgZWplcmNpY2lvIGRlIGxvcyBkZXJlY2hvcyBkZSBsb3MgZGVzdGluYXRhcmlvcyBvdG9yZ2Fkb3MgZW4gZXN0ZSBkb2N1bWVudG8uIE5vIGVzIHBvc2libGUgc3VibGljZW5jaWFyIGxhIE9icmEuIFVzdGVkIGRlYmUgbWFudGVuZXIgaW50YWN0b3MgdG9kb3MgbG9zIGF2aXNvcyBxdWUgaGFnYW4gcmVmZXJlbmNpYSBhIGVzdGEgTGljZW5jaWEgeSBhIGxhIGNsw6F1c3VsYSBkZSBsaW1pdGFjacOzbiBkZSBnYXJhbnTDrWFzLiBVc3RlZCBubyBwdWVkZSBkaXN0cmlidWlyLCBleGhpYmlyIHDDumJsaWNhbWVudGUsIGVqZWN1dGFyIHDDumJsaWNhbWVudGUsIG8gcG9uZXIgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBjb24gYWxndW5hIG1lZGlkYSB0ZWNub2zDs2dpY2EgcXVlIGNvbnRyb2xlIGVsIGFjY2VzbyBvIGxhIHV0aWxpemFjacOzbiBkZSBlbGxhIGRlIHVuYSBmb3JtYSBxdWUgc2VhIGluY29uc2lzdGVudGUgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBMbyBhbnRlcmlvciBzZSBhcGxpY2EgYSBsYSBPYnJhIGluY29ycG9yYWRhIGEgdW5hIE9icmEgQ29sZWN0aXZhLCBwZXJvIGVzdG8gbm8gZXhpZ2UgcXVlIGxhIE9icmEgQ29sZWN0aXZhIGFwYXJ0ZSBkZSBsYSBvYnJhIG1pc21hIHF1ZWRlIHN1amV0YSBhIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBTaSBVc3RlZCBjcmVhIHVuYSBPYnJhIENvbGVjdGl2YSwgcHJldmlvIGF2aXNvIGRlIGN1YWxxdWllciBMaWNlbmNpYW50ZSBkZWJlLCBlbiBsYSBtZWRpZGEgZGUgbG8gcG9zaWJsZSwgZWxpbWluYXIgZGUgbGEgT2JyYSBDb2xlY3RpdmEgY3VhbHF1aWVyIHJlZmVyZW5jaWEgYSBkaWNobyBMaWNlbmNpYW50ZSBvIGFsIEF1dG9yIE9yaWdpbmFsLCBzZWfDum4gbG8gc29saWNpdGFkbyBwb3IgZWwgTGljZW5jaWFudGUgeSBjb25mb3JtZSBsbyBleGlnZSBsYSBjbMOhdXN1bGEgNChjKS4KCmIuCVVzdGVkIG5vIHB1ZWRlIGVqZXJjZXIgbmluZ3VubyBkZSBsb3MgZGVyZWNob3MgcXVlIGxlIGhhbiBzaWRvIG90b3JnYWRvcyBlbiBsYSBTZWNjacOzbiAzIHByZWNlZGVudGUgZGUgbW9kbyBxdWUgZXN0w6luIHByaW5jaXBhbG1lbnRlIGRlc3RpbmFkb3MgbyBkaXJlY3RhbWVudGUgZGlyaWdpZG9zIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLiBFbCBpbnRlcmNhbWJpbyBkZSBsYSBPYnJhIHBvciBvdHJhcyBvYnJhcyBwcm90ZWdpZGFzIHBvciBkZXJlY2hvcyBkZSBhdXRvciwgeWEgc2VhIGEgdHJhdsOpcyBkZSB1biBzaXN0ZW1hIHBhcmEgY29tcGFydGlyIGFyY2hpdm9zIGRpZ2l0YWxlcyAoZGlnaXRhbCBmaWxlLXNoYXJpbmcpIG8gZGUgY3VhbHF1aWVyIG90cmEgbWFuZXJhIG5vIHNlcsOhIGNvbnNpZGVyYWRvIGNvbW8gZXN0YXIgZGVzdGluYWRvIHByaW5jaXBhbG1lbnRlIG8gZGlyaWdpZG8gZGlyZWN0YW1lbnRlIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLCBzaWVtcHJlIHF1ZSBubyBzZSByZWFsaWNlIHVuIHBhZ28gbWVkaWFudGUgdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIGVuIHJlbGFjacOzbiBjb24gZWwgaW50ZXJjYW1iaW8gZGUgb2JyYXMgcHJvdGVnaWRhcyBwb3IgZWwgZGVyZWNobyBkZSBhdXRvci4KCmMuCVNpIHVzdGVkIGRpc3RyaWJ1eWUsIGV4aGliZSBww7pibGljYW1lbnRlLCBlamVjdXRhIHDDumJsaWNhbWVudGUgbyBlamVjdXRhIHDDumJsaWNhbWVudGUgZW4gZm9ybWEgZGlnaXRhbCBsYSBPYnJhIG8gY3VhbHF1aWVyIE9icmEgRGVyaXZhZGEgdSBPYnJhIENvbGVjdGl2YSwgVXN0ZWQgZGViZSBtYW50ZW5lciBpbnRhY3RhIHRvZGEgbGEgaW5mb3JtYWNpw7NuIGRlIGRlcmVjaG8gZGUgYXV0b3IgZGUgbGEgT2JyYSB5IHByb3BvcmNpb25hciwgZGUgZm9ybWEgcmF6b25hYmxlIHNlZ8O6biBlbCBtZWRpbyBvIG1hbmVyYSBxdWUgVXN0ZWQgZXN0w6kgdXRpbGl6YW5kbzogKGkpIGVsIG5vbWJyZSBkZWwgQXV0b3IgT3JpZ2luYWwgc2kgZXN0w6EgcHJvdmlzdG8gKG8gc2V1ZMOzbmltbywgc2kgZnVlcmUgYXBsaWNhYmxlKSwgeS9vIChpaSkgZWwgbm9tYnJlIGRlIGxhIHBhcnRlIG8gbGFzIHBhcnRlcyBxdWUgZWwgQXV0b3IgT3JpZ2luYWwgeS9vIGVsIExpY2VuY2lhbnRlIGh1YmllcmVuIGRlc2lnbmFkbyBwYXJhIGxhIGF0cmlidWNpw7NuICh2LmcuLCB1biBpbnN0aXR1dG8gcGF0cm9jaW5hZG9yLCBlZGl0b3JpYWwsIHB1YmxpY2FjacOzbikgZW4gbGEgaW5mb3JtYWNpw7NuIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZWwgTGljZW5jaWFudGUsIHTDqXJtaW5vcyBkZSBzZXJ2aWNpb3MgbyBkZSBvdHJhcyBmb3JtYXMgcmF6b25hYmxlczsgZWwgdMOtdHVsbyBkZSBsYSBPYnJhIHNpIGVzdMOhIHByb3Zpc3RvOyBlbiBsYSBtZWRpZGEgZGUgbG8gcmF6b25hYmxlbWVudGUgZmFjdGlibGUgeSwgc2kgZXN0w6EgcHJvdmlzdG8sIGVsIElkZW50aWZpY2Fkb3IgVW5pZm9ybWUgZGUgUmVjdXJzb3MgKFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcikgcXVlIGVsIExpY2VuY2lhbnRlIGVzcGVjaWZpY2EgcGFyYSBzZXIgYXNvY2lhZG8gY29uIGxhIE9icmEsIHNhbHZvIHF1ZSB0YWwgVVJJIG5vIHNlIHJlZmllcmEgYSBsYSBub3RhIHNvYnJlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBvIGEgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIGxpY2VuY2lhbWllbnRvIGRlIGxhIE9icmE7IHkgZW4gZWwgY2FzbyBkZSB1bmEgT2JyYSBEZXJpdmFkYSwgYXRyaWJ1aXIgZWwgY3LDqWRpdG8gaWRlbnRpZmljYW5kbyBlbCB1c28gZGUgbGEgT2JyYSBlbiBsYSBPYnJhIERlcml2YWRhICh2LmcuLCAiVHJhZHVjY2nDs24gRnJhbmNlc2EgZGUgbGEgT2JyYSBkZWwgQXV0b3IgT3JpZ2luYWwsIiBvICJHdWnDs24gQ2luZW1hdG9ncsOhZmljbyBiYXNhZG8gZW4gbGEgT2JyYSBvcmlnaW5hbCBkZWwgQXV0b3IgT3JpZ2luYWwiKS4gVGFsIGNyw6lkaXRvIHB1ZWRlIHNlciBpbXBsZW1lbnRhZG8gZGUgY3VhbHF1aWVyIGZvcm1hIHJhem9uYWJsZTsgZW4gZWwgY2Fzbywgc2luIGVtYmFyZ28sIGRlIE9icmFzIERlcml2YWRhcyB1IE9icmFzIENvbGVjdGl2YXMsIHRhbCBjcsOpZGl0byBhcGFyZWNlcsOhLCBjb21vIG3DrW5pbW8sIGRvbmRlIGFwYXJlY2UgZWwgY3LDqWRpdG8gZGUgY3VhbHF1aWVyIG90cm8gYXV0b3IgY29tcGFyYWJsZSB5IGRlIHVuYSBtYW5lcmEsIGFsIG1lbm9zLCB0YW4gZGVzdGFjYWRhIGNvbW8gZWwgY3LDqWRpdG8gZGUgb3RybyBhdXRvciBjb21wYXJhYmxlLgoKZC4JUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBlcyB1bmEgY29tcG9zaWNpw7NuIG11c2ljYWw6CgppLglSZWdhbMOtYXMgcG9yIGludGVycHJldGFjacOzbiB5IGVqZWN1Y2nDs24gYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgeSBkZSByZWNvbGVjdGFyLCBzZWEgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgU0FZQ08pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbyBXZWJjYXN0KSBsaWNlbmNpYWRhIGJham8gbGljZW5jaWFzIGdlbmVyYWxlcywgc2kgbGEgaW50ZXJwcmV0YWNpw7NuIG8gZWplY3VjacOzbiBkZSBsYSBvYnJhIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBvcmllbnRhZGEgcG9yIG8gZGlyaWdpZGEgYSBsYSBvYnRlbmNpw7NuIGRlIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgoKaWkuCVJlZ2Fsw61hcyBwb3IgRm9ub2dyYW1hcy4gRWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSByZWNvbGVjdGFyLCBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBsb3MgY29uc2FncmFkb3MgcG9yIGxhIFNBWUNPKSwgdW5hIGFnZW5jaWEgZGUgZGVyZWNob3MgbXVzaWNhbGVzIG8gYWxnw7puIGFnZW50ZSBkZXNpZ25hZG8sIGxhcyByZWdhbMOtYXMgcG9yIGN1YWxxdWllciBmb25vZ3JhbWEgcXVlIFVzdGVkIGNyZWUgYSBwYXJ0aXIgZGUgbGEgb2JyYSAo4oCcdmVyc2nDs24gY292ZXLigJ0pIHkgZGlzdHJpYnV5YSwgZW4gbG9zIHTDqXJtaW5vcyBkZWwgcsOpZ2ltZW4gZGUgZGVyZWNob3MgZGUgYXV0b3IsIHNpIGxhIGNyZWFjacOzbiBvIGRpc3RyaWJ1Y2nDs24gZGUgZXNhIHZlcnNpw7NuIGNvdmVyIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkZXN0aW5hZGEgbyBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgplLglHZXN0acOzbiBkZSBEZXJlY2hvcyBkZSBBdXRvciBzb2JyZSBJbnRlcnByZXRhY2lvbmVzIHkgRWplY3VjaW9uZXMgRGlnaXRhbGVzIChXZWJDYXN0aW5nKS4gUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBzZWEgdW4gZm9ub2dyYW1hLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpIHkgZGUgcmVjb2xlY3RhciwgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgQUNJTlBSTyksIGxhcyByZWdhbMOtYXMgcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbywgd2ViY2FzdCksIHN1amV0YSBhIGxhcyBkaXNwb3NpY2lvbmVzIGFwbGljYWJsZXMgZGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IsIHNpIGVzdGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgo1LiBSZXByZXNlbnRhY2lvbmVzLCBHYXJhbnTDrWFzIHkgTGltaXRhY2lvbmVzIGRlIFJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTEFTIFBBUlRFUyBMTyBBQ09SREFSQU4gREUgT1RSQSBGT1JNQSBQT1IgRVNDUklUTywgRUwgTElDRU5DSUFOVEUgT0ZSRUNFIExBIE9CUkEgKEVOIEVMIEVTVEFETyBFTiBFTCBRVUUgU0UgRU5DVUVOVFJBKSDigJxUQUwgQ1VBTOKAnSwgU0lOIEJSSU5EQVIgR0FSQU5Uw41BUyBERSBDTEFTRSBBTEdVTkEgUkVTUEVDVE8gREUgTEEgT0JSQSwgWUEgU0VBIEVYUFJFU0EsIElNUEzDjUNJVEEsIExFR0FMIE8gQ1VBTFFVSUVSQSBPVFJBLCBJTkNMVVlFTkRPLCBTSU4gTElNSVRBUlNFIEEgRUxMQVMsIEdBUkFOVMONQVMgREUgVElUVUxBUklEQUQsIENPTUVSQ0lBQklMSURBRCwgQURBUFRBQklMSURBRCBPIEFERUNVQUNJw5NOIEEgUFJPUMOTU0lUTyBERVRFUk1JTkFETywgQVVTRU5DSUEgREUgSU5GUkFDQ0nDk04sIERFIEFVU0VOQ0lBIERFIERFRkVDVE9TIExBVEVOVEVTIE8gREUgT1RSTyBUSVBPLCBPIExBIFBSRVNFTkNJQSBPIEFVU0VOQ0lBIERFIEVSUk9SRVMsIFNFQU4gTyBOTyBERVNDVUJSSUJMRVMgKFBVRURBTiBPIE5PIFNFUiBFU1RPUyBERVNDVUJJRVJUT1MpLiBBTEdVTkFTIEpVUklTRElDQ0lPTkVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgR0FSQU5Uw41BUyBJTVBMw41DSVRBUywgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjYuIExpbWl0YWNpw7NuIGRlIHJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTE8gRVhJSkEgRVhQUkVTQU1FTlRFIExBIExFWSBBUExJQ0FCTEUsIEVMIExJQ0VOQ0lBTlRFIE5PIFNFUsOBIFJFU1BPTlNBQkxFIEFOVEUgVVNURUQgUE9SIERBw5FPIEFMR1VOTywgU0VBIFBPUiBSRVNQT05TQUJJTElEQUQgRVhUUkFDT05UUkFDVFVBTCwgUFJFQ09OVFJBQ1RVQUwgTyBDT05UUkFDVFVBTCwgT0JKRVRJVkEgTyBTVUJKRVRJVkEsIFNFIFRSQVRFIERFIERBw5FPUyBNT1JBTEVTIE8gUEFUUklNT05JQUxFUywgRElSRUNUT1MgTyBJTkRJUkVDVE9TLCBQUkVWSVNUT1MgTyBJTVBSRVZJU1RPUyBQUk9EVUNJRE9TIFBPUiBFTCBVU08gREUgRVNUQSBMSUNFTkNJQSBPIERFIExBIE9CUkEsIEFVTiBDVUFORE8gRUwgTElDRU5DSUFOVEUgSEFZQSBTSURPIEFEVkVSVElETyBERSBMQSBQT1NJQklMSURBRCBERSBESUNIT1MgREHDkU9TLiBBTEdVTkFTIExFWUVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgQ0lFUlRBIFJFU1BPTlNBQklMSURBRCwgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjcuIFTDqXJtaW5vLgoKYS4JRXN0YSBMaWNlbmNpYSB5IGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgZW4gdmlydHVkIGRlIGVsbGEgdGVybWluYXLDoW4gYXV0b23DoXRpY2FtZW50ZSBzaSBVc3RlZCBpbmZyaW5nZSBhbGd1bmEgY29uZGljacOzbiBlc3RhYmxlY2lkYSBlbiBlbGxhLiBTaW4gZW1iYXJnbywgbG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgcXVlIGhhbiByZWNpYmlkbyBPYnJhcyBEZXJpdmFkYXMgbyBDb2xlY3RpdmFzIGRlIFVzdGVkIGRlIGNvbmZvcm1pZGFkIGNvbiBlc3RhIExpY2VuY2lhLCBubyB2ZXLDoW4gdGVybWluYWRhcyBzdXMgbGljZW5jaWFzLCBzaWVtcHJlIHF1ZSBlc3RvcyBpbmRpdmlkdW9zIG8gZW50aWRhZGVzIHNpZ2FuIGN1bXBsaWVuZG8gw61udGVncmFtZW50ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YXMgbGljZW5jaWFzLiBMYXMgU2VjY2lvbmVzIDEsIDIsIDUsIDYsIDcsIHkgOCBzdWJzaXN0aXLDoW4gYSBjdWFscXVpZXIgdGVybWluYWNpw7NuIGRlIGVzdGEgTGljZW5jaWEuCgpiLglTdWpldGEgYSBsYXMgY29uZGljaW9uZXMgeSB0w6lybWlub3MgYW50ZXJpb3JlcywgbGEgbGljZW5jaWEgb3RvcmdhZGEgYXF1w60gZXMgcGVycGV0dWEgKGR1cmFudGUgZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGRlIGxhIG9icmEpLiBObyBvYnN0YW50ZSBsbyBhbnRlcmlvciwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGEgcHVibGljYXIgeS9vIGVzdHJlbmFyIGxhIE9icmEgYmFqbyBjb25kaWNpb25lcyBkZSBsaWNlbmNpYSBkaWZlcmVudGVzIG8gYSBkZWphciBkZSBkaXN0cmlidWlybGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIExpY2VuY2lhIGVuIGN1YWxxdWllciBtb21lbnRvOyBlbiBlbCBlbnRlbmRpZG8sIHNpbiBlbWJhcmdvLCBxdWUgZXNhIGVsZWNjacOzbiBubyBzZXJ2aXLDoSBwYXJhIHJldm9jYXIgZXN0YSBsaWNlbmNpYSBvIHF1ZSBkZWJhIHNlciBvdG9yZ2FkYSAsIGJham8gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhKSwgeSBlc3RhIGxpY2VuY2lhIGNvbnRpbnVhcsOhIGVuIHBsZW5vIHZpZ29yIHkgZWZlY3RvIGEgbWVub3MgcXVlIHNlYSB0ZXJtaW5hZGEgY29tbyBzZSBleHByZXNhIGF0csOhcy4gTGEgTGljZW5jaWEgcmV2b2NhZGEgY29udGludWFyw6Egc2llbmRvIHBsZW5hbWVudGUgdmlnZW50ZSB5IGVmZWN0aXZhIHNpIG5vIHNlIGxlIGRhIHTDqXJtaW5vIGVuIGxhcyBjb25kaWNpb25lcyBpbmRpY2FkYXMgYW50ZXJpb3JtZW50ZS4KCjguIFZhcmlvcy4KCmEuCUNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuCgpiLglTaSBhbGd1bmEgZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgcmVzdWx0YSBpbnZhbGlkYWRhIG8gbm8gZXhpZ2libGUsIHNlZ8O6biBsYSBsZWdpc2xhY2nDs24gdmlnZW50ZSwgZXN0byBubyBhZmVjdGFyw6EgbmkgbGEgdmFsaWRleiBuaSBsYSBhcGxpY2FiaWxpZGFkIGRlbCByZXN0byBkZSBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIHksIHNpbiBhY2Npw7NuIGFkaWNpb25hbCBwb3IgcGFydGUgZGUgbG9zIHN1amV0b3MgZGUgZXN0ZSBhY3VlcmRvLCBhcXXDqWxsYSBzZSBlbnRlbmRlcsOhIHJlZm9ybWFkYSBsbyBtw61uaW1vIG5lY2VzYXJpbyBwYXJhIGhhY2VyIHF1ZSBkaWNoYSBkaXNwb3NpY2nDs24gc2VhIHbDoWxpZGEgeSBleGlnaWJsZS4KCmMuCU5pbmfDum4gdMOpcm1pbm8gbyBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSBzZSBlc3RpbWFyw6EgcmVudW5jaWFkYSB5IG5pbmd1bmEgdmlvbGFjacOzbiBkZSBlbGxhIHNlcsOhIGNvbnNlbnRpZGEgYSBtZW5vcyBxdWUgZXNhIHJlbnVuY2lhIG8gY29uc2VudGltaWVudG8gc2VhIG90b3JnYWRvIHBvciBlc2NyaXRvIHkgZmlybWFkbyBwb3IgbGEgcGFydGUgcXVlIHJlbnVuY2llIG8gY29uc2llbnRhLgoKZC4JRXN0YSBMaWNlbmNpYSByZWZsZWphIGVsIGFjdWVyZG8gcGxlbm8gZW50cmUgbGFzIHBhcnRlcyByZXNwZWN0byBhIGxhIE9icmEgYXF1w60gbGljZW5jaWFkYS4gTm8gaGF5IGFycmVnbG9zLCBhY3VlcmRvcyBvIGRlY2xhcmFjaW9uZXMgcmVzcGVjdG8gYSBsYSBPYnJhIHF1ZSBubyBlc3TDqW4gZXNwZWNpZmljYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gRWwgTGljZW5jaWFudGUgbm8gc2UgdmVyw6EgbGltaXRhZG8gcG9yIG5pbmd1bmEgZGlzcG9zaWNpw7NuIGFkaWNpb25hbCBxdWUgcHVlZGEgc3VyZ2lyIGVuIGFsZ3VuYSBjb211bmljYWNpw7NuIGVtYW5hZGEgZGUgVXN0ZWQuIEVzdGEgTGljZW5jaWEgbm8gcHVlZGUgc2VyIG1vZGlmaWNhZGEgc2luIGVsIGNvbnNlbnRpbWllbnRvIG11dHVvIHBvciBlc2NyaXRvIGRlbCBMaWNlbmNpYW50ZSB5IFVzdGVkLgo= |
