Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial

En este artículo se expone el diseño e implementación de un módulo robótico para la clasificación de lulos integrando técnicas de control, visión artificial y robótica. El proceso que permite la clasificación de lulos opera sobre algoritmos para el control de un brazo robótico de 5 GDL, que basado e...

Full description

Autores:
Contreras Parada, Pedro Alexander
Peña Cortés, César Augusto
Riaño Jaimes, Cristhian Iván
Tipo de recurso:
Article of journal
Fecha de publicación:
2014
Institución:
Corporación Universidad de la Costa
Repositorio:
REDICUC - Repositorio CUC
Idioma:
spa
OAI Identifier:
oai:repositorio.cuc.edu.co:11323/1819
Acceso en línea:
http://hdl.handle.net/11323/1819
https://repositorio.cuc.edu.co/
Palabra clave:
Visión Artificial
Brazo Robótico
Cinemática Inversa
Cinemática Directa
Computer Vision
Robotic Arm
Inverse Kinematics
Forward Kinematics
Rights
openAccess
License
http://purl.org/coar/access_right/c_abf2
id RCUC2_c63e378f49baf7c9646ae2d7fbf85a67
oai_identifier_str oai:repositorio.cuc.edu.co:11323/1819
network_acronym_str RCUC2
network_name_str REDICUC - Repositorio CUC
repository_id_str
dc.title.eng.fl_str_mv Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial
dc.title.translated.eng.fl_str_mv Robotic module for lulo (Solanum Quitoense) classification using computer vision
title Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial
spellingShingle Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial
Visión Artificial
Brazo Robótico
Cinemática Inversa
Cinemática Directa
Computer Vision
Robotic Arm
Inverse Kinematics
Forward Kinematics
title_short Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial
title_full Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial
title_fullStr Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial
title_full_unstemmed Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial
title_sort Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial
dc.creator.fl_str_mv Contreras Parada, Pedro Alexander
Peña Cortés, César Augusto
Riaño Jaimes, Cristhian Iván
dc.contributor.author.spa.fl_str_mv Contreras Parada, Pedro Alexander
Peña Cortés, César Augusto
Riaño Jaimes, Cristhian Iván
dc.subject.eng.fl_str_mv Visión Artificial
Brazo Robótico
Cinemática Inversa
Cinemática Directa
Computer Vision
Robotic Arm
Inverse Kinematics
Forward Kinematics
topic Visión Artificial
Brazo Robótico
Cinemática Inversa
Cinemática Directa
Computer Vision
Robotic Arm
Inverse Kinematics
Forward Kinematics
description En este artículo se expone el diseño e implementación de un módulo robótico para la clasificación de lulos integrando técnicas de control, visión artificial y robótica. El proceso que permite la clasificación de lulos opera sobre algoritmos para el control de un brazo robótico de 5 GDL, que basado en la información obtenida con técnicas de visión de artificial permite seleccionar lulos con características previamente definidas por el usuario, como son tamaño, color e imperfecciones en el fruto. Se inicia realizando un diseño CAD del módulo, el cual permite establecer las propiedades físicas, definir materiales, técnicas de fabricación y realizar estudio de movimiento de los distintos mecanismos involucrados en el proceso. Se implementaron los algoritmos de control, la cinemática del brazo robótico y los algoritmos de visión artificial. El resultado se resume en un módulo robótico de carácter académico que permite la clasificación de lulos.
publishDate 2014
dc.date.issued.none.fl_str_mv 2014-07-01
dc.date.accessioned.none.fl_str_mv 2018-11-26T13:12:32Z
dc.date.available.none.fl_str_mv 2018-11-26T13:12:32Z
dc.type.spa.fl_str_mv Artículo de revista
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_2df8fbb1
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_6501
dc.type.content.spa.fl_str_mv Text
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/article
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/ART
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/acceptedVersion
format http://purl.org/coar/resource_type/c_6501
status_str acceptedVersion
dc.identifier.citation.spa.fl_str_mv Contreras Parada, P., Peña Cortés, C., & Riaño Jaimes, C. (2014). Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial. INGE CUC, 10(1), 51-62. Recuperado a partir de https://revistascientificas.cuc.edu.co/ingecuc/article/view/343
dc.identifier.issn.spa.fl_str_mv 0122-6517, 2382-4700 electrónico
dc.identifier.uri.spa.fl_str_mv http://hdl.handle.net/11323/1819
dc.identifier.eissn.spa.fl_str_mv 2382-4700
dc.identifier.instname.spa.fl_str_mv Corporación Universidad de la Costa
dc.identifier.pissn.spa.fl_str_mv 0122-6517
dc.identifier.reponame.spa.fl_str_mv REDICUC - Repositorio CUC
dc.identifier.repourl.spa.fl_str_mv https://repositorio.cuc.edu.co/
identifier_str_mv Contreras Parada, P., Peña Cortés, C., & Riaño Jaimes, C. (2014). Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial. INGE CUC, 10(1), 51-62. Recuperado a partir de https://revistascientificas.cuc.edu.co/ingecuc/article/view/343
0122-6517, 2382-4700 electrónico
2382-4700
Corporación Universidad de la Costa
0122-6517
REDICUC - Repositorio CUC
url http://hdl.handle.net/11323/1819
https://repositorio.cuc.edu.co/
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.ispartofseries.spa.fl_str_mv INGE CUC; Vol. 10, Núm. 1 (2014)
dc.relation.ispartofjournal.spa.fl_str_mv INGE CUC
INGE CUC
dc.relation.references.spa.fl_str_mv [1] J. Billingsley, D. Oetomo, J. Reid, “Agricultural robotics [TC Spotlight]”, Robotics & Automation Magazine, IEEE, vol.16, n° 4, pp.16,16, 19, December 2009.
[2] A. Ming and H. Ma, “A blob detector in color images”, Proceedings of the 6th ACM international conference on Image and video retrieval, pp. 364,370, 2007.
[3] T. Theodoridis and Hu Huosheng, “Toward Intelligent Security Robots: A Survey”, IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, vol. 42, n° 6, pp.1219, 1230, Nov. 2012.
[4] C. Riaño, C. Peña, and A. Pardo, “Approach in the Optimal Development of Parallel Robot for Educational Applications”, Proceedings of the WSEAS international conference on Recent Advances in Intelligent Control, Modelling and Simulation (ICMS), pp.145,150, January 2014.
[5] C. Peña, E. Yime, and I. Banfield, “Dimensional calculation optimal platform Stewart-Gough type parallel to pedagogical applications using genetic algorithms”, INGE CUC, vol. 7, n° 1, pp.127,138, Oct. 2011.
[6] M. J. Schuster, D. Jain, M. Tenorth, and M. Beetz, “Learning organizational principles in human environments”, IEEE International Conference on Robotics and Automation (ICRA), pp. 3867, 3874, May 2012.
[7] A. Ollero, Robótica: manipuladores y robots móviles. Marcombo, 2001, p. 464.
[8] J. Marsot, “QFD: a methodological tool for integration of ergonomics at the design stage”, Applied Ergonomics, vol. 36, n° 2, pp.185,192, Mar. 2005.
[9] L. Sooyeon, K. Youngshin, J. Youn, P. Sehyeok, and K. Jaehyun, “Contrast-preserved chroma enhancement technique using YCbCr color space”, IEEE Transactions on Consumer Electronics, vol. 58, n° 2, pp. 641, 645, May 2012.
[10] A. Barrientos, L. Peñin, C. Balaguer, and R. Aracil, Fundamentos de robótica. McGraw-Hill, Interamericana de España, Ed. 2, pp. 512, 2007.
[11] I. Zabalza, “Sintesis cinematica y dinamica de mecanismos. Manipulador paralelo 6-RKS”, Ph.D. Tesis, Universidad Pública de Navarra, pp.267, Dic. 1999.
[12] R. Norton, Diseño de maquinaria, 4ª ed. Pearson, 2011, p. 888.
[13] J. Marsot and L. Claudon, “Design and ergonomics. Methods for integrating ergonomics at hand tool design stage”, International Journal of Occupational Safety and Ergonomics, vol. 10, n° 1, pp. 13-23, 2004.
[14] C. Jianjie, Y. Suihuai, C. Guoding, and W. Haijun W., “Research on product design quality control methods based on QFD”, IEEE 11th International Conference on Computer-Aided Industrial Design & Conceptual Design (CAIDCD), vol.1, n°1, pp. 35,39, 17-19 Nov. 2010.
[15] Y. Akao, M. Sperry, and R. Fiorentino, “QFD: prendre en compte les besoins du client dans la conception du produit”, Afnor, Ed. 1, pp. 349, Dic. 1993.
[16] Chang. Young-Chang and J. F. Reid, J.F., “RGB calibration for color image analysis in machine vision”, IEEE Transactions on Image Processing, vol. 5, n°10, pp.1414,1422, Oct 1996.
[17] C. Damerval and S. Meignen, “Blob Detection With Wavelet Maxima Lines”, Signal Processing Letters, IEEE , vol.14, n°1, pp.39,42, Jan. 2007.
[18] I. Young, J. Gerbrands, and L. Van, “Fundamentals of image processing”, Delft University of Technology, 2a ed., 1998, pp.111.
[19] M. Moghimi and H. Pourghassem, “Shadow detection based on combinations of HSV color space and orthogonal transformation in surveillance videos”, Iranian Conference on Intelligent Systems (ICIS), vol.1, n° 1, pp.1,6, Feb. 2014.
[20] M. Zanuy, Tratamiento digital de voz e imagen y aplicación a la multimedia, Marcombo, 2000, p. 288.
[21] A. Pardo and J. Díaz, Fundamentos en sistemas de control automático, Universidad de Pamplona, 2004, p.155.
[22] H. Bay, T. Tuytelaars, and L. Van, “Surf: Speeded up robust features”, in Computer Vision- ECCV 2006. Springer, 2006, pp. 404-417.
[23] Hesheng Wang, Yun-Hui Liu, and Weidong Chen, “Uncalibrated Visual Tracking Control Without Visual Velocity”, IEEE Transactions on Control Systems Technology, vol.18, n°6, pp.1359,1370, Nov. 2010
[24] F. Chaumette and S. Hutchinson, “Visual servo control. I. Basic approaches”, Robotics & Automation Magazine, IEEE, vol.13, n°4, p. 82,90, Dec. 2006.
[25] E. Martinez, C. Peña y P. Cárdenas, “Optimización dimensional de un robot paralelo tipo delta basado en el menor consumo de energía” Ciencia e Ingeniería Neogranadina, vol.1, nº 21, pp. 73 - 88, 2011.
dc.relation.ispartofjournalabbrev.spa.fl_str_mv INGE CUC
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
rights_invalid_str_mv http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Corporación Universidad de la Costa
dc.source.spa.fl_str_mv INGE CUC
institution Corporación Universidad de la Costa
dc.source.url.spa.fl_str_mv https://revistascientificas.cuc.edu.co/ingecuc/article/view/343
bitstream.url.fl_str_mv https://repositorio.cuc.edu.co/bitstreams/82da266c-3a98-4522-8d79-07eddde1e6f7/download
https://repositorio.cuc.edu.co/bitstreams/81be2785-6861-479b-a3c4-0d3c7d03f7eb/download
https://repositorio.cuc.edu.co/bitstreams/323e7a8d-2fed-4dcc-9314-4e50a0fa0f9d/download
https://repositorio.cuc.edu.co/bitstreams/92a9fd4c-c7a3-4a4e-979d-e264b081cba8/download
bitstream.checksum.fl_str_mv 4a9ee90a982f0fc6e9d2524f1a6ab7d5
8a4605be74aa9ea9d79846c1fba20a33
4f4284a352f170fd2a9595f60fb5d4b3
accdbb4581987a1d71bb5957fe637532
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio de la Universidad de la Costa CUC
repository.mail.fl_str_mv repdigital@cuc.edu.co
_version_ 1811760677128241152
spelling Contreras Parada, Pedro AlexanderPeña Cortés, César AugustoRiaño Jaimes, Cristhian Iván2018-11-26T13:12:32Z2018-11-26T13:12:32Z2014-07-01Contreras Parada, P., Peña Cortés, C., & Riaño Jaimes, C. (2014). Módulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificial. INGE CUC, 10(1), 51-62. Recuperado a partir de https://revistascientificas.cuc.edu.co/ingecuc/article/view/3430122-6517, 2382-4700 electrónicohttp://hdl.handle.net/11323/18192382-4700Corporación Universidad de la Costa0122-6517REDICUC - Repositorio CUChttps://repositorio.cuc.edu.co/En este artículo se expone el diseño e implementación de un módulo robótico para la clasificación de lulos integrando técnicas de control, visión artificial y robótica. El proceso que permite la clasificación de lulos opera sobre algoritmos para el control de un brazo robótico de 5 GDL, que basado en la información obtenida con técnicas de visión de artificial permite seleccionar lulos con características previamente definidas por el usuario, como son tamaño, color e imperfecciones en el fruto. Se inicia realizando un diseño CAD del módulo, el cual permite establecer las propiedades físicas, definir materiales, técnicas de fabricación y realizar estudio de movimiento de los distintos mecanismos involucrados en el proceso. Se implementaron los algoritmos de control, la cinemática del brazo robótico y los algoritmos de visión artificial. El resultado se resume en un módulo robótico de carácter académico que permite la clasificación de lulos.This paper describes the design and implementation of a robotic module for Solanum Quitoense classification using control techniques, computer vision and robotics. The process that allows the classification of Solanum Quitoense (or lulo) operates on algorithms to control a 5 degrees-of-freedom robotic arm that, based on the information obtained from computer vision techniques, selects lulos with features previously defined by the user, such as size, color, and imperfections in the fruit. Everything starts by making a CAD module design which allows establishing physical properties, defining materials and manufacturing techniques and performing a motion study of the different mechanisms involved in the process. Subsequently, control algorithms, robotic arm kinematics and computer vision algorithms are implemented. The result is summarized in an academic-based robotic module that allows lulo classification.Contreras Parada, Pedro Alexander-d81d2e8e-a364-48cb-b47a-18e4aa3f964c-0Peña Cortés, César Augusto-8037a375-5595-4ab9-a1d2-47dd3dde7df0-0Riaño Jaimes, Cristhian Iván-52d1365d-27f9-4a8e-91f5-5b120f7fa316-0application/pdfspaCorporación Universidad de la CostaINGE CUC; Vol. 10, Núm. 1 (2014)INGE CUCINGE CUC[1] J. Billingsley, D. Oetomo, J. Reid, “Agricultural robotics [TC Spotlight]”, Robotics & Automation Magazine, IEEE, vol.16, n° 4, pp.16,16, 19, December 2009.[2] A. Ming and H. Ma, “A blob detector in color images”, Proceedings of the 6th ACM international conference on Image and video retrieval, pp. 364,370, 2007.[3] T. Theodoridis and Hu Huosheng, “Toward Intelligent Security Robots: A Survey”, IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, vol. 42, n° 6, pp.1219, 1230, Nov. 2012.[4] C. Riaño, C. Peña, and A. Pardo, “Approach in the Optimal Development of Parallel Robot for Educational Applications”, Proceedings of the WSEAS international conference on Recent Advances in Intelligent Control, Modelling and Simulation (ICMS), pp.145,150, January 2014.[5] C. Peña, E. Yime, and I. Banfield, “Dimensional calculation optimal platform Stewart-Gough type parallel to pedagogical applications using genetic algorithms”, INGE CUC, vol. 7, n° 1, pp.127,138, Oct. 2011.[6] M. J. Schuster, D. Jain, M. Tenorth, and M. Beetz, “Learning organizational principles in human environments”, IEEE International Conference on Robotics and Automation (ICRA), pp. 3867, 3874, May 2012.[7] A. Ollero, Robótica: manipuladores y robots móviles. Marcombo, 2001, p. 464.[8] J. Marsot, “QFD: a methodological tool for integration of ergonomics at the design stage”, Applied Ergonomics, vol. 36, n° 2, pp.185,192, Mar. 2005.[9] L. Sooyeon, K. Youngshin, J. Youn, P. Sehyeok, and K. Jaehyun, “Contrast-preserved chroma enhancement technique using YCbCr color space”, IEEE Transactions on Consumer Electronics, vol. 58, n° 2, pp. 641, 645, May 2012.[10] A. Barrientos, L. Peñin, C. Balaguer, and R. Aracil, Fundamentos de robótica. McGraw-Hill, Interamericana de España, Ed. 2, pp. 512, 2007.[11] I. Zabalza, “Sintesis cinematica y dinamica de mecanismos. Manipulador paralelo 6-RKS”, Ph.D. Tesis, Universidad Pública de Navarra, pp.267, Dic. 1999.[12] R. Norton, Diseño de maquinaria, 4ª ed. Pearson, 2011, p. 888.[13] J. Marsot and L. Claudon, “Design and ergonomics. Methods for integrating ergonomics at hand tool design stage”, International Journal of Occupational Safety and Ergonomics, vol. 10, n° 1, pp. 13-23, 2004.[14] C. Jianjie, Y. Suihuai, C. Guoding, and W. Haijun W., “Research on product design quality control methods based on QFD”, IEEE 11th International Conference on Computer-Aided Industrial Design & Conceptual Design (CAIDCD), vol.1, n°1, pp. 35,39, 17-19 Nov. 2010.[15] Y. Akao, M. Sperry, and R. Fiorentino, “QFD: prendre en compte les besoins du client dans la conception du produit”, Afnor, Ed. 1, pp. 349, Dic. 1993.[16] Chang. Young-Chang and J. F. Reid, J.F., “RGB calibration for color image analysis in machine vision”, IEEE Transactions on Image Processing, vol. 5, n°10, pp.1414,1422, Oct 1996.[17] C. Damerval and S. Meignen, “Blob Detection With Wavelet Maxima Lines”, Signal Processing Letters, IEEE , vol.14, n°1, pp.39,42, Jan. 2007.[18] I. Young, J. Gerbrands, and L. Van, “Fundamentals of image processing”, Delft University of Technology, 2a ed., 1998, pp.111.[19] M. Moghimi and H. Pourghassem, “Shadow detection based on combinations of HSV color space and orthogonal transformation in surveillance videos”, Iranian Conference on Intelligent Systems (ICIS), vol.1, n° 1, pp.1,6, Feb. 2014.[20] M. Zanuy, Tratamiento digital de voz e imagen y aplicación a la multimedia, Marcombo, 2000, p. 288.[21] A. Pardo and J. Díaz, Fundamentos en sistemas de control automático, Universidad de Pamplona, 2004, p.155.[22] H. Bay, T. Tuytelaars, and L. Van, “Surf: Speeded up robust features”, in Computer Vision- ECCV 2006. Springer, 2006, pp. 404-417.[23] Hesheng Wang, Yun-Hui Liu, and Weidong Chen, “Uncalibrated Visual Tracking Control Without Visual Velocity”, IEEE Transactions on Control Systems Technology, vol.18, n°6, pp.1359,1370, Nov. 2010[24] F. Chaumette and S. Hutchinson, “Visual servo control. I. Basic approaches”, Robotics & Automation Magazine, IEEE, vol.13, n°4, p. 82,90, Dec. 2006.[25] E. Martinez, C. Peña y P. Cárdenas, “Optimización dimensional de un robot paralelo tipo delta basado en el menor consumo de energía” Ciencia e Ingeniería Neogranadina, vol.1, nº 21, pp. 73 - 88, 2011.INGE CUCINGE CUChttps://revistascientificas.cuc.edu.co/ingecuc/article/view/343Visión ArtificialBrazo RobóticoCinemática InversaCinemática DirectaComputer VisionRobotic ArmInverse KinematicsForward KinematicsMódulo robótico para la clasificación de lulos (Solanum Quitoense) implementando visión artificialRobotic module for lulo (Solanum Quitoense) classification using computer visionArtículo de revistahttp://purl.org/coar/resource_type/c_6501http://purl.org/coar/resource_type/c_2df8fbb1Textinfo:eu-repo/semantics/articlehttp://purl.org/redcol/resource_type/ARTinfo:eu-repo/semantics/acceptedVersioninfo:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2PublicationORIGINALMódulo Robótico para la Clasificación de lulos.pdfMódulo Robótico para la Clasificación de lulos.pdfapplication/pdf4552011https://repositorio.cuc.edu.co/bitstreams/82da266c-3a98-4522-8d79-07eddde1e6f7/download4a9ee90a982f0fc6e9d2524f1a6ab7d5MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.cuc.edu.co/bitstreams/81be2785-6861-479b-a3c4-0d3c7d03f7eb/download8a4605be74aa9ea9d79846c1fba20a33MD52THUMBNAILMódulo Robótico para la Clasificación de lulos.pdf.jpgMódulo Robótico para la Clasificación de lulos.pdf.jpgimage/jpeg58236https://repositorio.cuc.edu.co/bitstreams/323e7a8d-2fed-4dcc-9314-4e50a0fa0f9d/download4f4284a352f170fd2a9595f60fb5d4b3MD54TEXTMódulo Robótico para la Clasificación de lulos.pdf.txtMódulo Robótico para la Clasificación de lulos.pdf.txttext/plain38559https://repositorio.cuc.edu.co/bitstreams/92a9fd4c-c7a3-4a4e-979d-e264b081cba8/downloadaccdbb4581987a1d71bb5957fe637532MD5511323/1819oai:repositorio.cuc.edu.co:11323/18192024-09-16 16:44:28.413open.accesshttps://repositorio.cuc.edu.coRepositorio de la Universidad de la Costa CUCrepdigital@cuc.edu.coTk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=