Aplicacion web para la visualizacion de la presion plantar en 3d

Se desarrollo una aplicación web gratuita para la visualización de datos de distribución plantar, su propósito es facilitar a los profesionales de la salud el análisis de esta información con fines diagnósticos y educativos. La aplicación facilita el análisis gráfico de la distribución plantar en el...

Full description

Autores:
Gomez Guevara, Andres Felipe
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2024
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/93249
Acceso en línea:
http://hdl.handle.net/11349/93249
Palabra clave:
Presión plantar
Visualización 3D
Sensores
Distribución
JavaScript
Threes.js
Tecnología en electrónica -- Tesis y disertaciones académicas
Plantar Pressure
3D Visualization
Sensors
Distribution
JavaScript
Three.js
Rights
License
Abierto (Texto Completo)
id UDISTRITA2_855e2f5b964c13b72d191153e8536287
oai_identifier_str oai:repository.udistrital.edu.co:11349/93249
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv Aplicacion web para la visualizacion de la presion plantar en 3d
dc.title.titleenglish.none.fl_str_mv Web application for 3d plantar pressure visualization
title Aplicacion web para la visualizacion de la presion plantar en 3d
spellingShingle Aplicacion web para la visualizacion de la presion plantar en 3d
Presión plantar
Visualización 3D
Sensores
Distribución
JavaScript
Threes.js
Tecnología en electrónica -- Tesis y disertaciones académicas
Plantar Pressure
3D Visualization
Sensors
Distribution
JavaScript
Three.js
title_short Aplicacion web para la visualizacion de la presion plantar en 3d
title_full Aplicacion web para la visualizacion de la presion plantar en 3d
title_fullStr Aplicacion web para la visualizacion de la presion plantar en 3d
title_full_unstemmed Aplicacion web para la visualizacion de la presion plantar en 3d
title_sort Aplicacion web para la visualizacion de la presion plantar en 3d
dc.creator.fl_str_mv Gomez Guevara, Andres Felipe
dc.contributor.advisor.none.fl_str_mv Luengas Contreras, Lely Adriana
dc.contributor.author.none.fl_str_mv Gomez Guevara, Andres Felipe
dc.contributor.orcid.none.fl_str_mv Luengas Contreras, Lely Adriana [000-0002-3600-4666]
dc.subject.none.fl_str_mv Presión plantar
Visualización 3D
Sensores
Distribución
JavaScript
Threes.js
topic Presión plantar
Visualización 3D
Sensores
Distribución
JavaScript
Threes.js
Tecnología en electrónica -- Tesis y disertaciones académicas
Plantar Pressure
3D Visualization
Sensors
Distribution
JavaScript
Three.js
dc.subject.lemb.none.fl_str_mv Tecnología en electrónica -- Tesis y disertaciones académicas
dc.subject.keyword.none.fl_str_mv Plantar Pressure
3D Visualization
Sensors
Distribution
JavaScript
Three.js
description Se desarrollo una aplicación web gratuita para la visualización de datos de distribución plantar, su propósito es facilitar a los profesionales de la salud el análisis de esta información con fines diagnósticos y educativos. La aplicación facilita el análisis gráfico de la distribución plantar en el ámbito médico, permitiendo una visualización amigable de la información que mejora el diagnóstico de alteraciones de la marcha, patologías del pie, ajuste de prótesis y entre otras. La aplicación web integra un módulo de carga y procesamiento de datos, estos datos se importan desde un archivo plano que contiene la información de presión plantar de cada pie. Además, incluye un modelo 3D interactivo de los pies donde se mapean estos datos. Para su desarrollo se utilizaron tecnologías web estándar (HTML, CSS, JavaScript) y la librería Three.js, el resultado es una aplicación web funcional y desplegada.
publishDate 2024
dc.date.created.none.fl_str_mv 2024-08-27
dc.date.accessioned.none.fl_str_mv 2025-03-05T16:24:49Z
dc.date.available.none.fl_str_mv 2025-03-05T16:24:49Z
dc.type.none.fl_str_mv bachelorThesis
dc.type.degree.none.fl_str_mv Monografía
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.none.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/93249
url http://hdl.handle.net/11349/93249
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv N. Margareta and V. H. Frankel, biomecanica basica del sistema muscoesqueletico, vol. 3. 2004.
L. Adriana Luengas Contreras, M. Ángel Gutiérrez Ramírez, and G. Sánchez Prieto, “Distribution of plantar pressure in patients with unilateral transtibial amputation Distribution de la pression plantaire chez les patients amputés trans-tibiaux unilatéraux,” Revista Cubana de Ortopedia y Traumatología, vol. 32, no. 1, 2018, Accessed: May 08, 2024. [Online]. Available: http://scielo.sld.cu
J. S. Pico Tibasosa and E. A. Rey Pulido, “Diseño e implementación de una plataforma baropodométrica para medición de puntos de presión plantar en bipedestación con visualización en ordenador a partir de sn sistema de adquisición - hdl:11349/4686.” Accessed: May 08, 2024. [Online]. Available: https://repository.udistrital.edu.co/handle/11349/4686
P. Franciosa and S. Gerbino, “From CT Scan to Plantar Pressure Map Distribution of a 3D Anatomic Human Foot,” 2010.
A. B. Putti, G. P. Arnold, L. A. Cochrane, and R. J. Abboud, “Normal pressure values and repeatability of the Emed® ST4 system,” Gait Posture, vol. 27, no. 3, pp. 501–505, Apr. 2008, doi: 10.1016/J.GAITPOST.2007.06.009.
A. Martínez-Nova, R. Sánchez-Rodríguez, P. Pérez-Soriano, S. Llana-Belloch, A. Leal-Muro, and J. D. Pedrera-Zamorano, “Plantar pressures determinants in mild Hallux Valgus,” Gait Posture, vol. 32, no. 3, pp. 425–427, Jul. 2010, doi: 10.1016/J.GAITPOST.2010.06.015.
“Pressure distribution measurement under the foot- Pedography.” Accessed: May 08, 2024. [Online]. Available: https://novel.de/products/emed/
C. A. Díaz, A. Torres, J. I. Ramírez, L. F. García, and N. Alvarez, “Descripción de un sistema para la medición de las presiones plantares por medio del procesamiento de imágenes Fase I,” EIA, ISSN, pp. 43–55, 2006.
L. A. Luengas-C, E. C. Casallas, and E. Y. Garzón, “Evaluación de las medidas de la estabilidad postural estática empleando clúster,” Ingeniería y Competitividad, vol. 25, no. 3, p. e-21512866, Oct. 2023, doi: 10.25100/iyc.v25i3.12866.
E. Camargo, L. Luengas, E. Y. Garzón, E. Camargo, L. Luengas, and E. Y. Garzón, “Effects of Dynamic Alignment on the Transtibial Prosthetic Gait in the Sagittal Plane of a Kinematic Model Using OpenSim,” International Review on Modelling and Simulations (IREMOS), vol. 15, no. 6, pp. 374–380, Dec. 2022, doi: 10.15866/IREMOS.V15I6.19054.
C. J. Bennetts, T. M. Owings, A. Erdemir, G. Botek, and P. R. Cavanagh, “Clustering and Classification of Regional Peak Plantar Pressures of Diabetic Feet HHS Public Access,” J Biomech, vol. 46, no. 1, pp. 19–25, 2013, doi: 10.1016/j.jbiomech.2012.09.007.
O. J. Blancarte Ilturralde, Introduccion a la arquitectura de software un enfoque practicp, vol. 1. 2020.
“Licencia MIT - Wikipedia, la enciclopedia libre.” Accessed: Jul. 02, 2024. [Online]. Available: https://es.wikipedia.org/wiki/Licencia_MIT
edwinwebb, “GitHub - edwinwebb/three-seed: A Three.js starter project with ES6 and Webpack.” Accessed: Jun. 16, 2024. [Online]. Available: https://github.com/edwinwebb/three-seed?tab=readme-ov-file
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.acceso.none.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.none.fl_str_mv pdf
dc.publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/ea481066-0fcc-42d2-87b1-1e97183b637b/download
https://repository.udistrital.edu.co/bitstreams/d80ea1a5-6ab0-4b02-94ce-a98a8a9ac159/download
https://repository.udistrital.edu.co/bitstreams/a0b46c5b-1cd3-4cc6-81db-392d691df46b/download
https://repository.udistrital.edu.co/bitstreams/5338f297-8fe6-4b08-b409-2cf01aa1d1ed/download
https://repository.udistrital.edu.co/bitstreams/b9fbc96f-6249-4be7-86a0-41e187a1ca36/download
bitstream.checksum.fl_str_mv 4e43e578fc89256a90ed9097d1afbcbf
c1176343d29824d4869872c2f901d2bf
997daf6c648c962d566d7b082dac908d
939635f3836a949b03614bb3375c24e6
12fb284effa569fbd19dd3a5ee066719
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1828165532430368768
spelling Luengas Contreras, Lely AdrianaGomez Guevara, Andres FelipeLuengas Contreras, Lely Adriana [000-0002-3600-4666]2025-03-05T16:24:49Z2025-03-05T16:24:49Z2024-08-27http://hdl.handle.net/11349/93249Se desarrollo una aplicación web gratuita para la visualización de datos de distribución plantar, su propósito es facilitar a los profesionales de la salud el análisis de esta información con fines diagnósticos y educativos. La aplicación facilita el análisis gráfico de la distribución plantar en el ámbito médico, permitiendo una visualización amigable de la información que mejora el diagnóstico de alteraciones de la marcha, patologías del pie, ajuste de prótesis y entre otras. La aplicación web integra un módulo de carga y procesamiento de datos, estos datos se importan desde un archivo plano que contiene la información de presión plantar de cada pie. Además, incluye un modelo 3D interactivo de los pies donde se mapean estos datos. Para su desarrollo se utilizaron tecnologías web estándar (HTML, CSS, JavaScript) y la librería Three.js, el resultado es una aplicación web funcional y desplegada.A free web application was developed for the visualization of plantar distribution data, its purpose is to make it easier health professionals to analysis of this information for diagnostic and educational purposes. The application facilitates the graphic analysis of plantar distribution in the medical field, allowing a friendly visualization of the information that improves the diagnosis of gait disorders, foot pathologies, prosthesis adjustment and among others. The web application integrates a data loading and processing module, this data is imported from a flat file that contains the plantar pressure information of each foot. In addition, it includes an interactive 3D model of the feet where this data is mapped. Standard web technologies (HTML, CSS, JavaScript) and the Three.js library were used for its development, the result is a functional and deployed web application.pdfspaUniversidad Distrital Francisco José de CaldasPresión plantarVisualización 3DSensoresDistribuciónJavaScriptThrees.jsTecnología en electrónica -- Tesis y disertaciones académicasPlantar Pressure3D VisualizationSensorsDistributionJavaScriptThree.jsAplicacion web para la visualizacion de la presion plantar en 3dWeb application for 3d plantar pressure visualizationbachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2N. Margareta and V. H. Frankel, biomecanica basica del sistema muscoesqueletico, vol. 3. 2004.L. Adriana Luengas Contreras, M. Ángel Gutiérrez Ramírez, and G. Sánchez Prieto, “Distribution of plantar pressure in patients with unilateral transtibial amputation Distribution de la pression plantaire chez les patients amputés trans-tibiaux unilatéraux,” Revista Cubana de Ortopedia y Traumatología, vol. 32, no. 1, 2018, Accessed: May 08, 2024. [Online]. Available: http://scielo.sld.cuJ. S. Pico Tibasosa and E. A. Rey Pulido, “Diseño e implementación de una plataforma baropodométrica para medición de puntos de presión plantar en bipedestación con visualización en ordenador a partir de sn sistema de adquisición - hdl:11349/4686.” Accessed: May 08, 2024. [Online]. Available: https://repository.udistrital.edu.co/handle/11349/4686P. Franciosa and S. Gerbino, “From CT Scan to Plantar Pressure Map Distribution of a 3D Anatomic Human Foot,” 2010.A. B. Putti, G. P. Arnold, L. A. Cochrane, and R. J. Abboud, “Normal pressure values and repeatability of the Emed® ST4 system,” Gait Posture, vol. 27, no. 3, pp. 501–505, Apr. 2008, doi: 10.1016/J.GAITPOST.2007.06.009.A. Martínez-Nova, R. Sánchez-Rodríguez, P. Pérez-Soriano, S. Llana-Belloch, A. Leal-Muro, and J. D. Pedrera-Zamorano, “Plantar pressures determinants in mild Hallux Valgus,” Gait Posture, vol. 32, no. 3, pp. 425–427, Jul. 2010, doi: 10.1016/J.GAITPOST.2010.06.015.“Pressure distribution measurement under the foot- Pedography.” Accessed: May 08, 2024. [Online]. Available: https://novel.de/products/emed/C. A. Díaz, A. Torres, J. I. Ramírez, L. F. García, and N. Alvarez, “Descripción de un sistema para la medición de las presiones plantares por medio del procesamiento de imágenes Fase I,” EIA, ISSN, pp. 43–55, 2006.L. A. Luengas-C, E. C. Casallas, and E. Y. Garzón, “Evaluación de las medidas de la estabilidad postural estática empleando clúster,” Ingeniería y Competitividad, vol. 25, no. 3, p. e-21512866, Oct. 2023, doi: 10.25100/iyc.v25i3.12866.E. Camargo, L. Luengas, E. Y. Garzón, E. Camargo, L. Luengas, and E. Y. Garzón, “Effects of Dynamic Alignment on the Transtibial Prosthetic Gait in the Sagittal Plane of a Kinematic Model Using OpenSim,” International Review on Modelling and Simulations (IREMOS), vol. 15, no. 6, pp. 374–380, Dec. 2022, doi: 10.15866/IREMOS.V15I6.19054.C. J. Bennetts, T. M. Owings, A. Erdemir, G. Botek, and P. R. Cavanagh, “Clustering and Classification of Regional Peak Plantar Pressures of Diabetic Feet HHS Public Access,” J Biomech, vol. 46, no. 1, pp. 19–25, 2013, doi: 10.1016/j.jbiomech.2012.09.007.O. J. Blancarte Ilturralde, Introduccion a la arquitectura de software un enfoque practicp, vol. 1. 2020.“Licencia MIT - Wikipedia, la enciclopedia libre.” Accessed: Jul. 02, 2024. [Online]. Available: https://es.wikipedia.org/wiki/Licencia_MITedwinwebb, “GitHub - edwinwebb/three-seed: A Three.js starter project with ES6 and Webpack.” Accessed: Jun. 16, 2024. [Online]. Available: https://github.com/edwinwebb/three-seed?tab=readme-ov-fileORIGINALGomezGuevaraAndresFelipe2024.pdfGomezGuevaraAndresFelipe2024.pdfapplication/pdf1447292https://repository.udistrital.edu.co/bitstreams/ea481066-0fcc-42d2-87b1-1e97183b637b/download4e43e578fc89256a90ed9097d1afbcbfMD51Licencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfapplication/pdf249879https://repository.udistrital.edu.co/bitstreams/d80ea1a5-6ab0-4b02-94ce-a98a8a9ac159/downloadc1176343d29824d4869872c2f901d2bfMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/a0b46c5b-1cd3-4cc6-81db-392d691df46b/download997daf6c648c962d566d7b082dac908dMD53THUMBNAILGomezGuevaraAndresFelipe2024.pdf.jpgGomezGuevaraAndresFelipe2024.pdf.jpgIM Thumbnailimage/jpeg11864https://repository.udistrital.edu.co/bitstreams/5338f297-8fe6-4b08-b409-2cf01aa1d1ed/download939635f3836a949b03614bb3375c24e6MD54Licencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg12156https://repository.udistrital.edu.co/bitstreams/b9fbc96f-6249-4be7-86a0-41e187a1ca36/download12fb284effa569fbd19dd3a5ee066719MD5511349/93249oai:repository.udistrital.edu.co:11349/932492025-03-07 01:07:18.264open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK