Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.

En el presente trabajo se realizó el diseño y la implementación de un aplicativo en el sistema operativo Android para dispositivos móviles para el manejo de usa silla de ruedas eléctrica, tal proceso implico la implementación de módulos Arduino que permiten a todo el sistema estar conectado a wifi....

Full description

Autores:
Cararreño Aguirre, Omar
Arias Mercado, Luis Edgardo
Guerrero Palencia, Sergio Andrés
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2016
Institución:
Universidad Cooperativa de Colombia
Repositorio:
Repositorio UCC
Idioma:
OAI Identifier:
oai:repository.ucc.edu.co:20.500.12494/14480
Acceso en línea:
https://hdl.handle.net/20.500.12494/14480
Palabra clave:
Modulos arduino
Proxys
Silla de ruedas eléctrica
Sistema Operativo Android
TG-2016-ISI
Android operating system
Arduino modules
Electric wheelchair
Proxies
Rights
openAccess
License
Atribución
id COOPER2_6c81cc433ef3291ea87e2eae2189b245
oai_identifier_str oai:repository.ucc.edu.co:20.500.12494/14480
network_acronym_str COOPER2
network_name_str Repositorio UCC
repository_id_str
dc.title.spa.fl_str_mv Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.
title Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.
spellingShingle Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.
Modulos arduino
Proxys
Silla de ruedas eléctrica
Sistema Operativo Android
TG-2016-ISI
Android operating system
Arduino modules
Electric wheelchair
Proxies
title_short Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.
title_full Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.
title_fullStr Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.
title_full_unstemmed Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.
title_sort Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.
dc.creator.fl_str_mv Cararreño Aguirre, Omar
Arias Mercado, Luis Edgardo
Guerrero Palencia, Sergio Andrés
dc.contributor.advisor.none.fl_str_mv Noguera Polania, José
dc.contributor.author.none.fl_str_mv Cararreño Aguirre, Omar
Arias Mercado, Luis Edgardo
Guerrero Palencia, Sergio Andrés
dc.subject.spa.fl_str_mv Modulos arduino
Proxys
Silla de ruedas eléctrica
Sistema Operativo Android
topic Modulos arduino
Proxys
Silla de ruedas eléctrica
Sistema Operativo Android
TG-2016-ISI
Android operating system
Arduino modules
Electric wheelchair
Proxies
dc.subject.classification.spa.fl_str_mv TG-2016-ISI
dc.subject.other.spa.fl_str_mv Android operating system
Arduino modules
Electric wheelchair
Proxies
description En el presente trabajo se realizó el diseño y la implementación de un aplicativo en el sistema operativo Android para dispositivos móviles para el manejo de usa silla de ruedas eléctrica, tal proceso implico la implementación de módulos Arduino que permiten a todo el sistema estar conectado a wifi. El aplicativo cuenta con tres tipos diferentes de control, como lo son el control por pantalla táctil, el control por voz y el control por trazado de ruta, a partir de las pruebas realizadas se determinó que, al momento de utilizar la aplicación móvil, tanto esta como la silla deben estar ubicados en la misma red wifi, estar dentro el rango de los mismos y no tener implementado alguna configuración que pueda bloquear la comunicación dispositivo-silla tales como proxys. El correcto funcionamiento de la silla de ruedas está demostrado para superficies planas y usuarios que no superen un peso de 100kg.
publishDate 2016
dc.date.issued.none.fl_str_mv 2016
dc.date.accessioned.none.fl_str_mv 2019-10-11T17:37:04Z
dc.date.available.none.fl_str_mv 2019-10-11T17:37:04Z
dc.type.none.fl_str_mv Trabajo de grado - Pregrado
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.version.none.fl_str_mv info:eu-repo/semantics/acceptedVersion
format http://purl.org/coar/resource_type/c_7a1f
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/20.500.12494/14480
dc.identifier.bibliographicCitation.spa.fl_str_mv Carreño Aguirre, O., Arias Mercado, L.E., Guerrero Palencia, S.A..(2016). Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.(Trabajo de pregrado) recuperado de. http://hdl.handle.net/20.500.12494/14480
url https://hdl.handle.net/20.500.12494/14480
identifier_str_mv Carreño Aguirre, O., Arias Mercado, L.E., Guerrero Palencia, S.A..(2016). Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.(Trabajo de pregrado) recuperado de. http://hdl.handle.net/20.500.12494/14480
dc.relation.references.spa.fl_str_mv Grupo de Arquitectura y Tecnología de Computadore. (2007). Introducción a PWM. Obtenido de http://www.arcos.inf.uc3m.es/~infostr/lib/exe/fetch.php?media=introduccionpwm.pdf
Torrente Artero , Ó. (2013). Arduino.Curso práctico de formación. RC Libros .
Adafruit. (16 de 09 de 2013). Obtenido de https://learn.adafruit.com/adafruit-cc3000-wifi/
Alcubierre , J., Minguez, J., Montesano , L., Montano , L., Saz, O., & Lleida, E. (2005). Silla de Ruedas Inteligente Controlada por Voz. I Congreso Internacional sobre Domótica, Robótica y Teleasistencia para Todos (págs. 349-360). Madrid, España: Fundación ONCE.
Aliance, W. (s.f.). Wiffi. Obtenido de http://www.wi-fi.org/discover-wi-fi
AL-Rousan , M., & Assaleh , K. (2011). 1.10.9 Una Ondícula y sistema de voz basado en red neuronal para el control de una silla de ruedas inteligente. Revista del Instituto Franklin, 90-100.
Arduino. (2014). Arduino. Obtenido de Obtenido de www.arduino.cc
Balestrini, M. (2002). Metodología de la Investigación. Mérida: Universidad de los Andes.
Bayle , J. ( 2013). C Programming for Arduino. Packt Publishing Ltda.
Boquete, L., Barea, R., García, R., Mazo, M., & Espinosa, F. (1999). Identificación y control de una silla de ruedas usando redes neuronales recurrentes. Aplicaciones de Ingeniería de la Inteligencia Artificial.
Boquete, L., García, R., Barea, R., & Mazo, M. (1999). Control neural de los movimientos de una silla de ruedas. Diario de sistemas inteligentes y roboticos, 213-226.
Borenstein, J., & Feng, L. (December 1996). Measurement and Correction of Systematic Odometry Errors in Mobile Robots. IEEE Transactions on Robotics and Automation, 869-880. .
Flóres López, R., & Fernández Fernández, J. M. (2008). Las Redes Neuronales Artificiales. En R. Flóres López, & J. Fernández Fernández, Las Redes Neuronales Artificiales (pág. 11). netbiblo, S. L.
dc.rights.license.none.fl_str_mv Atribución
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Atribución
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.publisher.spa.fl_str_mv Universidad Cooperativa de Colombia, Facultad de Ingenierías, Ingeniería de Sistemas, Santa Marta
dc.publisher.program.spa.fl_str_mv Ingeniería de Sistemas
dc.publisher.place.spa.fl_str_mv Santa Marta
institution Universidad Cooperativa de Colombia
bitstream.url.fl_str_mv https://repository.ucc.edu.co/bitstreams/5131edef-a195-4c22-95f1-72063d797cb1/download
https://repository.ucc.edu.co/bitstreams/13dbe3d9-5747-48d5-a930-a9ab1c20e46c/download
https://repository.ucc.edu.co/bitstreams/06325fd0-4a54-4484-a167-f90d498f6564/download
https://repository.ucc.edu.co/bitstreams/d2b9c0d3-f374-4ee6-918b-a98a6cd03904/download
https://repository.ucc.edu.co/bitstreams/e21a01fe-2b94-4acf-b0ce-929d98c7ac7a/download
https://repository.ucc.edu.co/bitstreams/8278c513-ef69-4069-abff-991de582ae52/download
https://repository.ucc.edu.co/bitstreams/cfd81ec5-715c-4191-b352-2db061512ec0/download
bitstream.checksum.fl_str_mv 3bce4f7ab09dfc588f126e1e36e98a45
57b92b69a63264f57cebd88f4167924b
b102855e8a3d18fd66fb0e0f32b407a4
0f5d87236c477e18fadb62f64c86f41c
ff4c8ff01d544500ea4bfea43e6108c1
d1519d3cce41ab3ec0d51d40b715b3a5
2c2262ebf5ef39dfc42a413f2f892e35
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Cooperativa de Colombia
repository.mail.fl_str_mv bdigital@metabiblioteca.com
_version_ 1814246942337662976
spelling Noguera Polania, JoséCararreño Aguirre, OmarArias Mercado, Luis EdgardoGuerrero Palencia, Sergio Andrés2019-10-11T17:37:04Z2019-10-11T17:37:04Z2016https://hdl.handle.net/20.500.12494/14480Carreño Aguirre, O., Arias Mercado, L.E., Guerrero Palencia, S.A..(2016). Aplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.(Trabajo de pregrado) recuperado de. http://hdl.handle.net/20.500.12494/14480En el presente trabajo se realizó el diseño y la implementación de un aplicativo en el sistema operativo Android para dispositivos móviles para el manejo de usa silla de ruedas eléctrica, tal proceso implico la implementación de módulos Arduino que permiten a todo el sistema estar conectado a wifi. El aplicativo cuenta con tres tipos diferentes de control, como lo son el control por pantalla táctil, el control por voz y el control por trazado de ruta, a partir de las pruebas realizadas se determinó que, al momento de utilizar la aplicación móvil, tanto esta como la silla deben estar ubicados en la misma red wifi, estar dentro el rango de los mismos y no tener implementado alguna configuración que pueda bloquear la comunicación dispositivo-silla tales como proxys. El correcto funcionamiento de la silla de ruedas está demostrado para superficies planas y usuarios que no superen un peso de 100kg.In this paper the design and implementation of an application on the Android operating system for mobile devices for handling chair uses electric wheelchair was made, such process involved implementing Arduino modules that allow the entire system to be connected to wifi. The application has three different types of control, such as the touch screen control, voice control and the control trace route, from tests it was determined that, when using the mobile application, both this as the chair must be located in the same wifi network, be within the range of them and not having implemented some settings that can block the device-chair communication such as proxies. The proper functioning of the wheelchair is shown for flat surfaces and users that do not exceed a weight of 100kg.1.Resumen. --2.Abstract. --3.Introducción. --4.Planteamiento del problema. --5.Objetivos. --6.Justificación. --7.Alcance y limitaciones. --8.Marco de referencias. --9.Marco teórico. --10.Marco conceptual .--11.Marco contextual. --12.Metiodología. --13.Delimitaciones del proyecto. --14.Descripción del sistema. --15.Pruebas. --16.Nuevos aportes y controversias conceptuales. --17.Descripción de las dificultades y estrategias para confrontarlas creativamente. --18.Conclusiones y recomendaciones. --19.Anexos. --20.Actores. -21.Casos de uso. --22.Pruebas. --23.Diagrama de secuencia. --24.Bibliografia. --omar.carreño@campusucc.edu.coluis.arias@campusucc.edu.cosergio.guerrero@campusucc.edu.coUniversidad Cooperativa de Colombia, Facultad de Ingenierías, Ingeniería de Sistemas, Santa MartaIngeniería de SistemasSanta MartaModulos arduinoProxysSilla de ruedas eléctricaSistema Operativo AndroidTG-2016-ISIAndroid operating systemArduino modulesElectric wheelchairProxiesAplicación Android para silla de ruedas, que permita controlarla por comandos de voz, pantalla táctil y programación de ruta.Trabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_7a1finfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionAtribucióninfo:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Grupo de Arquitectura y Tecnología de Computadore. (2007). Introducción a PWM. Obtenido de http://www.arcos.inf.uc3m.es/~infostr/lib/exe/fetch.php?media=introduccionpwm.pdfTorrente Artero , Ó. (2013). Arduino.Curso práctico de formación. RC Libros .Adafruit. (16 de 09 de 2013). Obtenido de https://learn.adafruit.com/adafruit-cc3000-wifi/Alcubierre , J., Minguez, J., Montesano , L., Montano , L., Saz, O., & Lleida, E. (2005). Silla de Ruedas Inteligente Controlada por Voz. I Congreso Internacional sobre Domótica, Robótica y Teleasistencia para Todos (págs. 349-360). Madrid, España: Fundación ONCE.Aliance, W. (s.f.). Wiffi. Obtenido de http://www.wi-fi.org/discover-wi-fiAL-Rousan , M., & Assaleh , K. (2011). 1.10.9 Una Ondícula y sistema de voz basado en red neuronal para el control de una silla de ruedas inteligente. Revista del Instituto Franklin, 90-100.Arduino. (2014). Arduino. Obtenido de Obtenido de www.arduino.ccBalestrini, M. (2002). Metodología de la Investigación. Mérida: Universidad de los Andes.Bayle , J. ( 2013). C Programming for Arduino. Packt Publishing Ltda.Boquete, L., Barea, R., García, R., Mazo, M., & Espinosa, F. (1999). Identificación y control de una silla de ruedas usando redes neuronales recurrentes. Aplicaciones de Ingeniería de la Inteligencia Artificial.Boquete, L., García, R., Barea, R., & Mazo, M. (1999). Control neural de los movimientos de una silla de ruedas. Diario de sistemas inteligentes y roboticos, 213-226.Borenstein, J., & Feng, L. (December 1996). Measurement and Correction of Systematic Odometry Errors in Mobile Robots. IEEE Transactions on Robotics and Automation, 869-880. .Flóres López, R., & Fernández Fernández, J. M. (2008). Las Redes Neuronales Artificiales. En R. Flóres López, & J. Fernández Fernández, Las Redes Neuronales Artificiales (pág. 11). netbiblo, S. L.PublicationLICENSElicense.txtlicense.txttext/plain; charset=utf-84334https://repository.ucc.edu.co/bitstreams/5131edef-a195-4c22-95f1-72063d797cb1/download3bce4f7ab09dfc588f126e1e36e98a45MD53ORIGINAL2016_aplicación_android_silla.pdf2016_aplicación_android_silla.pdfTrabajo de gradoapplication/pdf1684703https://repository.ucc.edu.co/bitstreams/13dbe3d9-5747-48d5-a930-a9ab1c20e46c/download57b92b69a63264f57cebd88f4167924bMD512016_aplicación_android.licencia.pdf2016_aplicación_android.licencia.pdfAutorización de publicación en la webapplication/pdf1174479https://repository.ucc.edu.co/bitstreams/06325fd0-4a54-4484-a167-f90d498f6564/downloadb102855e8a3d18fd66fb0e0f32b407a4MD52TEXT2016_aplicación_android_silla.pdf.txt2016_aplicación_android_silla.pdf.txtExtracted texttext/plain166316https://repository.ucc.edu.co/bitstreams/d2b9c0d3-f374-4ee6-918b-a98a6cd03904/download0f5d87236c477e18fadb62f64c86f41cMD542016_aplicación_android.licencia.pdf.txt2016_aplicación_android.licencia.pdf.txtExtracted texttext/plain4https://repository.ucc.edu.co/bitstreams/e21a01fe-2b94-4acf-b0ce-929d98c7ac7a/downloadff4c8ff01d544500ea4bfea43e6108c1MD55THUMBNAIL2016_aplicación_android_silla.pdf.jpg2016_aplicación_android_silla.pdf.jpgGenerated Thumbnailimage/jpeg2804https://repository.ucc.edu.co/bitstreams/8278c513-ef69-4069-abff-991de582ae52/downloadd1519d3cce41ab3ec0d51d40b715b3a5MD562016_aplicación_android.licencia.pdf.jpg2016_aplicación_android.licencia.pdf.jpgGenerated Thumbnailimage/jpeg3913https://repository.ucc.edu.co/bitstreams/cfd81ec5-715c-4191-b352-2db061512ec0/download2c2262ebf5ef39dfc42a413f2f892e35MD5720.500.12494/14480oai:repository.ucc.edu.co:20.500.12494/144802024-08-10 21:38:02.882open.accesshttps://repository.ucc.edu.coRepositorio Institucional Universidad Cooperativa de Colombiabdigital@metabiblioteca.comVU5JVkVSU0lEQUQgQ09PUEVSQVRJVkEgREUgQ09MT01CSUEKUkVQT1NJVE9SSU9TIElOU1RJVFVDSU9OQUxFUwpMSUNFTkNJQSBERSBVU08KClBvciBtZWRpbyBkZWwgcHJlc2VudGUgZG9jdW1lbnRvLCBlbCBBdXRvcihlcyksIG1heW9yIChlcykgZGUgZWRhZCwgcXVpZW4gZW4gYWRlbGFudGUgc2UgZGVub21pbmFyw6EgZWwgQVVUT1IsIGNvbmZpZXJlIGEgbGEgVU5JVkVSU0lEQUQgQ09PUEVSQVRJVkEgREUgQ09MT01CSUEsIGNvbiBOSVQuIDg2MC0wMjk5MjQtNywgdW5hIExJQ0VOQ0lBIERFIFVTTyBkZSBvYnJhLCBiYWpvIGxhcyBzaWd1aWVudGVzIGNvbmRpY2lvbmVzLgoKQ0zDgVVTVUxBUwoKUFJJTUVSQS4gT2JqZXRvLiBFTCBBVVRPUiBwb3IgZXN0ZSBhY3RvIGF1dG9yaXphIGxhIHV0aWxpemFjacOzbiBkZSBsYSBvYnJhLCBkZSBjb25mb3JtaWRhZCBjb24gbG8gZXN0aXB1bGFkbyBhIGNvbnRpbnVhY2nDs246IAoKKGEpIFBhcmEgZWZlY3RvcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSBzZSBhdXRvcml6YSBsYSByZXByb2R1Y2Npw7NuIGRlIGxhIG9icmEgYW50ZXJpb3JtZW50ZSBjaXRhZGEsIGxhIGN1YWwgc2UgYWxvamFyw6EgZW4gZm9ybWF0byBkaWdpdGFsIGVuIGxhcyBwbGF0YWZvcm1hcyBvIHJlcG9zaXRvcmlvcyBhZG1pbmlzdHJhZG9zIHBvciBsYSBVTklWRVJTSURBRCBvIGVuIG90cm8gdGlwbyBkZSByZXBvc2l0b3Jpb3MgZXh0ZXJub3MgbyBww6FnaW5hcyB3ZWIgZXNjb2dpZG9zIHBvciBsYSBVTklWRVJTSURBRCwgcGFyYSBmaW5lcyBkZSBkaWZ1c2nDs24geSBkaXZ1bGdhY2nDs24uIEFkaWNpb25hbG1lbnRlLCBzZSBhdXRvcml6YSBhIHF1ZSBsb3MgdXN1YXJpb3MgaW50ZXJub3MgeSBleHRlcm5vcyBkZSBkaWNoYXMgcGxhdGFmb3JtYXMgbyByZXBvc2l0b3Jpb3MgcmVwcm9kdXpjYW4gbyBkZXNjYXJndWVuIGxhIG9icmEsIHNpbiDDoW5pbW8gZGUgbHVjcm8sIHBhcmEgZmluZXMgcHJpdmFkb3MsIGVkdWNhdGl2b3MgbyBhY2Fkw6ltaWNvczsgc2llbXByZSB5IGN1YW5kbyBubyBzZSB2aW9sZW4gYWN1ZXJkb3MgY29uIGVkaXRvcmVzLCBwZXJpb2RvcyBkZSBlbWJhcmdvIG8gYWN1ZXJkb3MgZGUgY29uZmlkZW5jaWFsaWRhZCBxdWUgYXBsaXF1ZW4uCgooYikgU2UgYXV0b3JpemEgbGEgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGxhIHB1ZXN0YSBhIGRpc3Bvc2ljacOzbiBkZSBsYSBvYnJhIG1lbmNpb25hZGEsIGVuIGFjY2VzbyBhYmllcnRvLCBwYXJhIHN1IHV0aWxpemFjacOzbiBlbiBsYXMgcGxhdGFmb3JtYXMgbyByZXBvc2l0b3Jpb3MgYWRtaW5pc3RyYWRvcyBwb3IgbGEgVU5JVkVSU0lEQUQuCgooYykgTG8gYW50ZXJpb3IgZXN0YXLDoSBzdWpldG8gYSBsYXMgZGVmaW5pY2lvbmVzIGNvbnRlbmlkYXMgZW4gbGEgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5MyB5IGxhIExleSAyMyBkZSAxOTgyLgoKClNFR1VOREEuIE9yaWdpbmFsaWRhZCB5IHJlY2xhbWFjaW9uZXMuIEVsIEFVVE9SIGRlY2xhcmEgcXVlIGxhIE9CUkEgZXMgb3JpZ2luYWwgeSBxdWUgZXMgZGUgc3UgY3JlYWNpw7NuIGV4Y2x1c2l2YSwgbm8gZXhpc3RpZW5kbyBpbXBlZGltZW50byBkZSBjdWFscXVpZXIgbmF0dXJhbGV6YSAoZW1iYXJnb3MsIHVzbyBkZSBtYXRlcmlhbCBwcm90ZWdpZG8gcG9yIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGxhIGNvbmNlc2nDs24gZGUgbG9zIGRlcmVjaG9zIHByZXZpc3RvcyBlbiBlc3RlIGFjdWVyZG8uIEVsIEFVVE9SIHJlc3BvbmRlcsOhIHBvciBjdWFscXVpZXIgYWNjacOzbiBkZSByZWl2aW5kaWNhY2nDs24sIHBsYWdpbyB1IG90cmEgY2xhc2UgZGUgcmVjbGFtYWNpw7NuIHF1ZSBhbCByZXNwZWN0byBwdWRpZXJhIHNvYnJldmVuaXIuCgpURVJDRVJBLiBDb250cmFwcmVzdGFjacOzbi4gRWwgQVVUT1IgYXV0b3JpemEgYSBxdWUgc3Ugb2JyYSBzZWEgdXRpbGl6YWRhIGRlIGNvbmZvcm1pZGFkIGNvbiBsYSBjbMOhdXN1bGEgUFJJTUVSQSBkZSBmb3JtYSBncmF0dWl0YSwgZXMgZGVjaXIsIHF1ZSBsYSB1dGlsaXphY2nDs24gZGUgbGEgbWlzbWEgbm8gZ2VuZXJhIG5pbmfDum4gcGFnbyBvIHJlZ2Fsw61hcyBlbiBmYXZvciBkZSBlc3RlLgoKQ1VBUlRBLiBUaXR1bGFyaWRhZCBkZSBkZXJlY2hvcy4gRWwgcHJlc2VudGUgY29udHJhdG8gbm8gdHJhbnNmaWVyZSBsYSB0aXR1bGFyaWRhZCBkZSBsb3MgZGVyZWNob3MgcGF0cmltb25pYWxlcyBzb2JyZSBsYXMgb2JyYXMgYW50ZXJpb3JtZW50ZSBtZW5jaW9uYWRhcyBhIGxhIFVOSVZFUlNJREFELiDDmm5pY2FtZW50ZSBoYWNlIHJlbGFjacOzbiBhIHVuYSBsaWNlbmNpYSBubyBleGNsdXNpdmEgZW4gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGFudGVyaW9ybWVudGUgcGFjdGFkb3MuCgpRVUlOVEEuIENyw6lkaXRvcy4gTGEgVU5JVkVSU0lEQUQgc2UgY29tcHJvbWV0ZSBhIGRhciBhbCBBVVRPUiwgZWwgcmVjb25vY2ltaWVudG8gZGVudHJvIGNhZGEgZm9ybWEgZGUgdXRpbGl6YWNpw7NuIGVuIGxhIG9icmEuIExvcyBjcsOpZGl0b3MgZGViZW4gZmlndXJhciBlbiBjYWRhIHVubyBkZSBsb3MgZm9ybWF0b3MgbyByZWdpc3Ryb3MgZGUgcHVibGljYWNpw7NuLiBObyBjb25zdGl0dWlyw6EgdW5hIHZpb2xhY2nDs24gYSBsb3MgZGVyZWNob3MgbW9yYWxlcyBkZWwgYXV0b3IgbGEgbm8gcmVwcm9kdWNjacOzbiwgY29tdW5pY2FjacOzbiBvIGRlbcOhcyB1dGlsaXphY2lvbmVzIGRlIGxhIG9icmEuIExhIHV0aWxpemFjacOzbiBvIG5vIGRlIGxhIG9icmEsIGFzw60gY29tbyBzdSBmb3JtYSBkZSB1dGlsaXphY2nDs24gc2Vyw6EgZmFjdWx0YWQgZXhjbHVzaXZhIGRlIGxhIFVOSVZFUlNJREFELgogClNFWFRBLiBEdXJhY2nDs24geSB0ZXJyaXRvcmlvLiBMYSBwcmVzZW50ZSBsaWNlbmNpYSBkZSB1c28gcXVlIHNlIG90b3JnYSBhIGZhdm9yIGRlIGxhIFVOSVZFUlNJREFEIHRlbmRyw6EgdW5hIGR1cmFjacOzbiBlcXVpdmFsZW50ZSBhbCB0w6lybWlubyBkZSBwcm90ZWNjacOzbiBsZWdhbCBkZSBsYSBvYnJhIHkgcGFyYSB0b2RvcyBsb3MgcGHDrXNlcyBkZWwgbXVuZG8uCgpTw4lQVElNQS4gVXNvIGRlIENyZWF0aXZlIENvbW1vbnMuIEVsIEFVVE9SIGF1dG9yaXphcsOhIGxhIGRpZnVzacOzbiBkZSBzdSBjb250ZW5pZG8gYmFqbyB1bmEgbGljZW5jaWEgQ3JlYXRpdmUgQ29tbW9ucyBhdHJpYnVjacOzbiA0LjAgaW50ZXJuYWNpb25hbCwgcXVlIGRlYmVyw6EgaW5jbHVpcnNlIGVuIGVsIGNvbnRlbmlkby4gCgpPQ1RBVkEuIERlcmVjaG8gZGUgZXhjbHVzacOzbi4gQ2FkYSBhdXRvciBwdWVkZSBpbmRpY2FyIGVuIGVsIG1vbWVudG8gZGUgZGVww7NzaXRvIGRlbCBjb250ZW5pZG8gcXVlIGVsIHRleHRvIGNvbXBsZXRvIGRlIGxhIHByb2R1Y2Npw7NuIGFjYWTDqW1pY2EgbyBjaWVudMOtZmljYSBubyBlc3RlIGNvbiBhY2Nlc28gYWJpZXJ0byBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIHBvciBtb3Rpdm9zIGRlIGNvbmZpZGVuY2lhbGlkYWQsIHBvcnF1ZSBzZSBlbmN1ZW50cmUgZW4gdsOtYXMgZGUgb2J0ZW5lciB1biBkZXJlY2hvIGRlIHByb3BpZWRhZCBpbmR1c3RyaWFsIG8gZXhpc3RpciBhY3VlcmRvcyBwcmV2aW9zIGNvbiB0ZXJjZXJvcyAoZWRpdG9yaWFsZXMsIHJldmlzdGFzIGNpZW50w61maWNhcywgb3RyYXMgaW5zdGl0dWNpb25lcykuIEVsIGF1dG9yIHNlIGNvbXByb21ldGUgYSBkZXBvc2l0YXIgbG9zIG1ldGFkYXRvcyBlIGluZm9ybWFyIGVsIHRpZW1wbyBkZSBlbWJhcmdvIGR1cmFudGUgZWwgY3VhbCBlbCB0ZXh0byBjb21wbGV0byB0ZW5kcsOhIGFjY2VzbyByZXN0cmluZ2lkby4gCgpOT1ZFTkEuIEVsIEFVVE9SIGFsIGFjZXB0YXIgZXN0YSBsaWNlbmNpYSBhZHVjZSBxdWUgZXN0YSBwcm9kdWNjacOzbiBzZSBkZXNhcnJvbGzDsyBlbiBlbCBwZXJpb2RvIGVuIHF1ZSBzZSBlbmN1ZW50cmEgY29uIHbDrW5jdWxvcyBjb24gTGEgVW5pdmVyc2lkYWQuCgpEw4lDSU1BLiBOb3JtYXMgYXBsaWNhYmxlcy4gUGFyYSBsYSBpbnRlcnByZXRhY2nDs24geSBjdW1wbGltaWVudG8gZGVsIHByZXNlbnRlIGFjdWVyZG8gbGFzIHBhcnRlcyBzZSBzb21ldGVuIGEgbGEgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5MywgbGEgTGV5IDIzIGRlIDE5ODIgeSBkZW3DoXMgbm9ybWFzIGFwbGljYWJsZXMgZGUgQ29sb21iaWEuIEFkZW3DoXMsIGEgbGFzIG5vcm1hcyBJbnN0aXR1Y2lvbmFsZXMgcXVlIGFwbGlxdWVuLgoKTGEgcHJlc2VudGUgbGljZW5jaWEgc2UgYXV0b3JpemEgZW4gbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuIGVuIGxvcyByZXBvc2l0b3Jpb3MgaW5zdGl0dWNpb25hbGVzLgo=