Optimización e implementación de disposotivo vestible para la medición de las fases al caminar
Este trabajo de investigación se enfoca en la implementación de dispositivos robóticos en la rehabilitación de pacientes con problemas de movilidad. El objetivo principal es una reducción del dispositivo existente basado en sensores de fuerza resistivos para mejorar su comodidad y practicidad al mom...
- Autores:
-
Cortes Bastidas, Cesar Augusto
Fontanilla Barrera, Johnny Daniel
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2023
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/40590
- Acceso en línea:
- http://hdl.handle.net/11349/40590
- Palabra clave:
- Rehabilitación
Sensor inercial
Sensor FSR
Fases del caminar
Acelerómetro
Giroscopio
Ingeniería Eléctrica -- Tesis y disertaciones académicas
Rehabilitación robótica
Sensores de fuerza resistivos
Algoritmos de detección de fases del caminar
Tecnología de asistencia para personas con dificultades motrices
Rehabilitation
Inertial sensor
FSR sensor
Walking phases
Accelerometer
Gyroscope
- Rights
- License
- Atribución-NoComercial 4.0 Internacional
id |
UDISTRITA2_527976e58df86d269193c8bd64e9e0e9 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/40590 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Optimización e implementación de disposotivo vestible para la medición de las fases al caminar |
dc.title.titleenglish.spa.fl_str_mv |
Optimization and implementation of a wearable device for measuring walking phases |
title |
Optimización e implementación de disposotivo vestible para la medición de las fases al caminar |
spellingShingle |
Optimización e implementación de disposotivo vestible para la medición de las fases al caminar Rehabilitación Sensor inercial Sensor FSR Fases del caminar Acelerómetro Giroscopio Ingeniería Eléctrica -- Tesis y disertaciones académicas Rehabilitación robótica Sensores de fuerza resistivos Algoritmos de detección de fases del caminar Tecnología de asistencia para personas con dificultades motrices Rehabilitation Inertial sensor FSR sensor Walking phases Accelerometer Gyroscope |
title_short |
Optimización e implementación de disposotivo vestible para la medición de las fases al caminar |
title_full |
Optimización e implementación de disposotivo vestible para la medición de las fases al caminar |
title_fullStr |
Optimización e implementación de disposotivo vestible para la medición de las fases al caminar |
title_full_unstemmed |
Optimización e implementación de disposotivo vestible para la medición de las fases al caminar |
title_sort |
Optimización e implementación de disposotivo vestible para la medición de las fases al caminar |
dc.creator.fl_str_mv |
Cortes Bastidas, Cesar Augusto Fontanilla Barrera, Johnny Daniel |
dc.contributor.advisor.none.fl_str_mv |
Jutinico Alarcon, Andres Leonardo |
dc.contributor.author.none.fl_str_mv |
Cortes Bastidas, Cesar Augusto Fontanilla Barrera, Johnny Daniel |
dc.contributor.orcid.none.fl_str_mv |
Jutinico Alarcon Andres Leonardo [0000-0001-9146-9637] |
dc.subject.spa.fl_str_mv |
Rehabilitación Sensor inercial Sensor FSR Fases del caminar Acelerómetro Giroscopio |
topic |
Rehabilitación Sensor inercial Sensor FSR Fases del caminar Acelerómetro Giroscopio Ingeniería Eléctrica -- Tesis y disertaciones académicas Rehabilitación robótica Sensores de fuerza resistivos Algoritmos de detección de fases del caminar Tecnología de asistencia para personas con dificultades motrices Rehabilitation Inertial sensor FSR sensor Walking phases Accelerometer Gyroscope |
dc.subject.lemb.none.fl_str_mv |
Ingeniería Eléctrica -- Tesis y disertaciones académicas Rehabilitación robótica Sensores de fuerza resistivos Algoritmos de detección de fases del caminar Tecnología de asistencia para personas con dificultades motrices |
dc.subject.keyword.spa.fl_str_mv |
Rehabilitation Inertial sensor FSR sensor Walking phases Accelerometer Gyroscope |
description |
Este trabajo de investigación se enfoca en la implementación de dispositivos robóticos en la rehabilitación de pacientes con problemas de movilidad. El objetivo principal es una reducción del dispositivo existente basado en sensores de fuerza resistivos para mejorar su comodidad y practicidad al momento de tomar medidas, mientras se mantiene la disposición de los sensores y el segundo dispositivo que emplea un sensor inercial MPU6050 manteniendo así la coherencia en la toma de datos. Adicionalmente se tomó una base de datos de 30 individuos la cual se utilizó para crear un nuevo algoritmo más general en la detección de las fases del caminar. Este algoritmo fue desarrollado con el propósito de mejorar la precisión y la eficiencia en la identificación de las diferentes etapas del ciclo de la marcha humana. Gracias a la diversidad de datos recopilados de estas 30 personas, se logró obtener un modelo robusto y versátil que puede adaptarse a diferentes características y variaciones en los patrones de caminar de las personas. Este avance en la detección de las fases del caminar tiene el potencial de beneficiar a diversos campos, como la medicina, la rehabilitación y la tecnología de asistencia para personas con dificultades motrices. En la implementación preexistente del dispositivo existían dos algoritmos de clasificación, el algoritmo de Perez del cual se obtiene un F1-Score de 0.64 en la clasificación de las 5 fases del caminar usando datos de una sola persona y una red neuronal (Perceptron) la cual mejora el F1-Score a 0,93 igualmente usando los datos de una única persona y reduciendo a 4 las fases del caminar, el dispositivo estaba realizado con tecnologia THT la cual por sus características de soldadura y ubicación de los elementos sobre la placa le permitía tener un tamaño de 10x10 cm, en contraste, en este proyecto de grado al ejecutar el perceptron para clasificar una base de datos de 33 personas y 5 fases del caminar se obtiene un F1-Score de 0.22, por lo cual se decide hacer la implementación de dos algoritmos difusos los cuales obtienen un F1-Score de 0.68 para el MFC Clusterin y un F1-Score de 0.69 para el algoritmo de Grid partition ambos algoritmos retomando la clasificación de las 5 fases del caminar y clasificando sobre una base de datos de 33 personas, adicionalmente, el dispositivo realizado con tecnología SMT permitió reducir un 40% las dimensiones del mismo obteniendo un tamaño final de 6x6 cm. |
publishDate |
2023 |
dc.date.created.none.fl_str_mv |
2023-11-16 |
dc.date.accessioned.none.fl_str_mv |
2024-09-10T20:29:01Z |
dc.date.available.none.fl_str_mv |
2024-09-10T20:29:01Z |
dc.type.spa.fl_str_mv |
bachelorThesis |
dc.type.degree.spa.fl_str_mv |
Investigación-Innovación |
dc.type.driver.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.type.coar.spa.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
format |
http://purl.org/coar/resource_type/c_7a1f |
dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/11349/40590 |
url |
http://hdl.handle.net/11349/40590 |
dc.language.iso.none.fl_str_mv |
spa |
language |
spa |
dc.rights.*.fl_str_mv |
Atribución-NoComercial 4.0 Internacional |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.uri.*.fl_str_mv |
http://creativecommons.org/licenses/by-nc/4.0/ |
dc.rights.acceso.spa.fl_str_mv |
Abierto (Texto Completo) |
rights_invalid_str_mv |
Atribución-NoComercial 4.0 Internacional http://creativecommons.org/licenses/by-nc/4.0/ Abierto (Texto Completo) http://purl.org/coar/access_right/c_abf2 |
dc.format.mimetype.spa.fl_str_mv |
pdf |
institution |
Universidad Distrital Francisco José de Caldas |
bitstream.url.fl_str_mv |
https://repository.udistrital.edu.co/bitstreams/0de4e825-9e03-4899-ab10-f047a8aebd47/download https://repository.udistrital.edu.co/bitstreams/1321148a-29f1-4242-954f-f619493f606a/download https://repository.udistrital.edu.co/bitstreams/fc4d2cd3-2f99-49e3-b358-ec04ad3bcfca/download https://repository.udistrital.edu.co/bitstreams/66cc986d-3bdb-4692-a4d9-12e5d5868a69/download https://repository.udistrital.edu.co/bitstreams/d097acd0-358f-4a0a-b5b2-c95eb50645b8/download https://repository.udistrital.edu.co/bitstreams/aa4e7e25-3c27-40bb-a034-8194e31d22f8/download |
bitstream.checksum.fl_str_mv |
d37b6aa9dce89ebbf9beb7639d175346 299ebb37cf628f2734ec3533a8d1c583 24013099e9e6abb1575dc6ce0855efd5 997daf6c648c962d566d7b082dac908d 9cd883beeb9960ee905e9420db05454d cd3029a4dbf25e5eb7acc7f0840767cd |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Universidad Distrital |
repository.mail.fl_str_mv |
repositorio@udistrital.edu.co |
_version_ |
1837006867391315968 |
spelling |
Jutinico Alarcon, Andres LeonardoCortes Bastidas, Cesar AugustoFontanilla Barrera, Johnny DanielJutinico Alarcon Andres Leonardo [0000-0001-9146-9637]2024-09-10T20:29:01Z2024-09-10T20:29:01Z2023-11-16http://hdl.handle.net/11349/40590Este trabajo de investigación se enfoca en la implementación de dispositivos robóticos en la rehabilitación de pacientes con problemas de movilidad. El objetivo principal es una reducción del dispositivo existente basado en sensores de fuerza resistivos para mejorar su comodidad y practicidad al momento de tomar medidas, mientras se mantiene la disposición de los sensores y el segundo dispositivo que emplea un sensor inercial MPU6050 manteniendo así la coherencia en la toma de datos. Adicionalmente se tomó una base de datos de 30 individuos la cual se utilizó para crear un nuevo algoritmo más general en la detección de las fases del caminar. Este algoritmo fue desarrollado con el propósito de mejorar la precisión y la eficiencia en la identificación de las diferentes etapas del ciclo de la marcha humana. Gracias a la diversidad de datos recopilados de estas 30 personas, se logró obtener un modelo robusto y versátil que puede adaptarse a diferentes características y variaciones en los patrones de caminar de las personas. Este avance en la detección de las fases del caminar tiene el potencial de beneficiar a diversos campos, como la medicina, la rehabilitación y la tecnología de asistencia para personas con dificultades motrices. En la implementación preexistente del dispositivo existían dos algoritmos de clasificación, el algoritmo de Perez del cual se obtiene un F1-Score de 0.64 en la clasificación de las 5 fases del caminar usando datos de una sola persona y una red neuronal (Perceptron) la cual mejora el F1-Score a 0,93 igualmente usando los datos de una única persona y reduciendo a 4 las fases del caminar, el dispositivo estaba realizado con tecnologia THT la cual por sus características de soldadura y ubicación de los elementos sobre la placa le permitía tener un tamaño de 10x10 cm, en contraste, en este proyecto de grado al ejecutar el perceptron para clasificar una base de datos de 33 personas y 5 fases del caminar se obtiene un F1-Score de 0.22, por lo cual se decide hacer la implementación de dos algoritmos difusos los cuales obtienen un F1-Score de 0.68 para el MFC Clusterin y un F1-Score de 0.69 para el algoritmo de Grid partition ambos algoritmos retomando la clasificación de las 5 fases del caminar y clasificando sobre una base de datos de 33 personas, adicionalmente, el dispositivo realizado con tecnología SMT permitió reducir un 40% las dimensiones del mismo obteniendo un tamaño final de 6x6 cm.This research work focuses on the implementation of robotic devices in the rehabilitation of patients with mobility problems. The main objective is a reduction of the existing device based on resistive force sensors (FSR) to improve its comfort and practicality when taking measurements, while maintaining the arrangement of the sensors and the second device that employs an MPU6050 inertial sensor thus maintaining consistency in data collection. Additionally, a database of 30 individuals was taken and used to create a new, more general algorithm for detecting walking phases. This algorithm was developed with the purpose of improving the accuracy and efficiency in identifying the different stages of the human gait cycle. Thanks to the diversity of data collected from these 30 people, it was possible to obtain a robust and versatile model that can adapt to different characteristics and variations in people's walking patterns. This advance in the detection of walking phases has the potential to benefit various fields, such as medicine, rehabilitation and assistive technology for people with motor difficulties. In the previous implementation of the device, there were two classification algorithms, Perez's algorithm, which gives an F1-score of 0.64 in the classification of the 5 phases of walking using data from a single person and a neural network (perceptron) which improves the F1-score to 0.93 also using data from a single person and reducing to 4 phases of walking, the device was made with THT technology, which by its welding characteristics and the location of the elements on the plate allowed it to have a size of 10x10 cm, in contrast, in this degree project using the Perceptron to classify a database of 33 people and 5 phases of walking, obtained an F1-score value of 0.22, Therefore, it was decided to implement two fuzzy algorithms which obtain an F1-score of 0.68 for the MFC Clusterin and an F1-score of 0.69 for the Grid Partition algorithm, both algorithms retake the classification of the 5 phases of walking and classifying on a database of 33 people, in addition, the device made with SMT technology allowed to reduce its dimensions by 40%, obtaining a final size of 6x6 cm.pdfspaAtribución-NoComercial 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2RehabilitaciónSensor inercialSensor FSRFases del caminarAcelerómetroGiroscopioIngeniería Eléctrica -- Tesis y disertaciones académicasRehabilitación robóticaSensores de fuerza resistivosAlgoritmos de detección de fases del caminarTecnología de asistencia para personas con dificultades motricesRehabilitationInertial sensorFSR sensorWalking phasesAccelerometerGyroscopeOptimización e implementación de disposotivo vestible para la medición de las fases al caminarOptimization and implementation of a wearable device for measuring walking phasesbachelorThesisInvestigación-Innovacióninfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fORIGINALCortesBastidasCesarAugusto2023.pdfCortesBastidasCesarAugusto2023.pdfTrabajo de gradoapplication/pdf14294786https://repository.udistrital.edu.co/bitstreams/0de4e825-9e03-4899-ab10-f047a8aebd47/downloadd37b6aa9dce89ebbf9beb7639d175346MD51Licencia y autorización de los autores para publicar.pdfLicencia y autorización de los autores para publicar.pdfLicencia de publicacionapplication/pdf184130https://repository.udistrital.edu.co/bitstreams/1321148a-29f1-4242-954f-f619493f606a/download299ebb37cf628f2734ec3533a8d1c583MD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8914https://repository.udistrital.edu.co/bitstreams/fc4d2cd3-2f99-49e3-b358-ec04ad3bcfca/download24013099e9e6abb1575dc6ce0855efd5MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/66cc986d-3bdb-4692-a4d9-12e5d5868a69/download997daf6c648c962d566d7b082dac908dMD54THUMBNAILCortesBastidasCesarAugusto2023.pdf.jpgCortesBastidasCesarAugusto2023.pdf.jpgIM Thumbnailimage/jpeg6202https://repository.udistrital.edu.co/bitstreams/d097acd0-358f-4a0a-b5b2-c95eb50645b8/download9cd883beeb9960ee905e9420db05454dMD55Licencia y autorización de los autores para publicar.pdf.jpgLicencia y autorización de los autores para publicar.pdf.jpgIM Thumbnailimage/jpeg9503https://repository.udistrital.edu.co/bitstreams/aa4e7e25-3c27-40bb-a034-8194e31d22f8/downloadcd3029a4dbf25e5eb7acc7f0840767cdMD5611349/40590oai:repository.udistrital.edu.co:11349/405902025-01-19 01:10:25.842http://creativecommons.org/licenses/by-nc/4.0/Atribución-NoComercial 4.0 Internacionalopen.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |