Modelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría.
En este trabajo se aborda como objeto de estudio el tratamiento de datos de nubes de puntos obtenidos mediante técnicas de fotogrametría en cultivos de papa en la región de Cundinamarca, el objetivo principal es entrenar y probar un modelo basado en aprendizaje no supervisado que permita segmentar l...
- Autores:
-
Barrera Cuevas, Gina Alexandra Gevinova
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2022
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/31802
- Acceso en línea:
- http://hdl.handle.net/11349/31802
- Palabra clave:
- K-medoides
K-means
Inteligencia artificial aplicada
Plantas de papa
Ingeniería Electrónica -- Tesis y disertaciones académicas
Fotogrametría
Segmentación de datos
Aprendizaje no supervisado
Atributos estructurales
K-means
K-medoids
Potato plants
Applied artificial intelligence
- Rights
- License
- Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id |
UDISTRITA2_333ed14262cad3e80bce7ff53d260842 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/31802 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Modelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría. |
dc.title.titleenglish.spa.fl_str_mv |
Unsupervised learning model for the calculation of structural attributes of potato crops using photogrammetric techniques. |
title |
Modelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría. |
spellingShingle |
Modelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría. K-medoides K-means Inteligencia artificial aplicada Plantas de papa Ingeniería Electrónica -- Tesis y disertaciones académicas Fotogrametría Segmentación de datos Aprendizaje no supervisado Atributos estructurales K-means K-medoids Potato plants Applied artificial intelligence |
title_short |
Modelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría. |
title_full |
Modelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría. |
title_fullStr |
Modelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría. |
title_full_unstemmed |
Modelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría. |
title_sort |
Modelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría. |
dc.creator.fl_str_mv |
Barrera Cuevas, Gina Alexandra Gevinova |
dc.contributor.advisor.none.fl_str_mv |
Gaona García, Elvis Eduardo |
dc.contributor.author.none.fl_str_mv |
Barrera Cuevas, Gina Alexandra Gevinova |
dc.contributor.orcid.none.fl_str_mv |
Gaona García, Elvis Eduardo [0000-0001-5431-8776] |
dc.subject.spa.fl_str_mv |
K-medoides K-means Inteligencia artificial aplicada Plantas de papa |
topic |
K-medoides K-means Inteligencia artificial aplicada Plantas de papa Ingeniería Electrónica -- Tesis y disertaciones académicas Fotogrametría Segmentación de datos Aprendizaje no supervisado Atributos estructurales K-means K-medoids Potato plants Applied artificial intelligence |
dc.subject.lemb.none.fl_str_mv |
Ingeniería Electrónica -- Tesis y disertaciones académicas Fotogrametría Segmentación de datos Aprendizaje no supervisado Atributos estructurales |
dc.subject.keyword.spa.fl_str_mv |
K-means K-medoids Potato plants Applied artificial intelligence |
description |
En este trabajo se aborda como objeto de estudio el tratamiento de datos de nubes de puntos obtenidos mediante técnicas de fotogrametría en cultivos de papa en la región de Cundinamarca, el objetivo principal es entrenar y probar un modelo basado en aprendizaje no supervisado que permita segmentar las áreas de interés de los datos, con el fin de calcular matemáticamente los atributos estructurales de la planta como superficie y altura. Se probaron dos métodos de aprendizaje automático, nueve características de la imagen, incluyendo la posición (x, y y z), los colores (R,G y B) y los parámetros normales para la segmentación del suelo y las plantas individuales. El clustering de K-means fue el que obtuvo los mayores porcentajes de acierto (86,33%) para la separación de plantas y suelo. El método desarrollado se validó mediante un estudio de caso en el que el conjunto de datos construido por GITUD tomó previamente muestras de un cultivo de plantas semimaduras. Por lo tanto, se separaron automáticamente las plantas individuales y se extrajeron con éxito las características de cada planta (altura y área de brotes) utilizando la línea de segmentación automática propuesta. Por último, la limitación de este estudio es que los métodos propuestos se han desarrollado y evaluado para la patata en estado de vegetación. Sin embargo, la aplicación de la segmentación para evaluar el estado de vegetación de una planta diferente está abierta para el reentrenamiento del modelo. Con el tiempo, se mejorará la precisión de la segmentación con otros métodos de agrupación y la forma de calcular los atributos estructurales mediante la experimentación o nuevas iteraciones para obtener una medida más precisa del atributo del área de brotes. El estado de la vegetación juega un papel fundamental para determinar el estado de los cultivos y permite tomar medidas en caso de comportamiento anormal en el desarrollo de las plantas cultivadas. En cultivos de más de una hectárea, determinar el estado de la vegetación es un reto debido a su gran tamaño actualmente el monitoreo implica personal especializado en campo y altos costos en la toma y análisis de muestras del cultivo, además de ingresar a zonas de difícil acceso como las del terreno colombiano por lo que surge la necesidad de otras técnicas de recolección de datos a gran escala como: el estudio de imágenes satelitales o nubes de puntos tomadas con vehículos aéreos no tripulados (UAV). |
publishDate |
2022 |
dc.date.created.none.fl_str_mv |
2022-09-06 |
dc.date.accessioned.none.fl_str_mv |
2023-07-14T20:51:34Z |
dc.date.available.none.fl_str_mv |
2023-07-14T20:51:34Z |
dc.type.spa.fl_str_mv |
bachelorThesis |
dc.type.degree.spa.fl_str_mv |
Investigación-Innovación |
dc.type.driver.spa.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/31802 |
url |
http://hdl.handle.net/11349/31802 |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.rights.*.fl_str_mv |
Attribution-NonCommercial-NoDerivatives 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-nd/4.0/ |
dc.rights.acceso.spa.fl_str_mv |
Abierto (Texto Completo) |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivatives 4.0 Internacional http://creativecommons.org/licenses/by-nc-nd/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/0a45c054-0188-4f52-a6ce-c44fcb3e14ee/download https://repository.udistrital.edu.co/bitstreams/1b6ebda9-3f19-4403-8f2e-0e995c304a35/download https://repository.udistrital.edu.co/bitstreams/d4e1040c-2ac7-415b-8147-4e892346004d/download https://repository.udistrital.edu.co/bitstreams/94709733-2561-4390-bf1e-6a7578f798fd/download https://repository.udistrital.edu.co/bitstreams/82fdce5b-1666-4c57-af80-2eafff1be8fe/download https://repository.udistrital.edu.co/bitstreams/ca1a5322-3768-4ec5-a3cd-0b0d4c9cc8dd/download |
bitstream.checksum.fl_str_mv |
997daf6c648c962d566d7b082dac908d aacf13b159a8372248a2ca8cb1bbbbf4 385e3086ef728c101bdcb1d0de3b5bfc 4460e5956bc1d1639be9ae6146a50347 846f5935c05b8dee986e6c2acaa14e28 8d78c2379be7e5825b45f44975f4523d |
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_ |
1828165622580641792 |
spelling |
Gaona García, Elvis Eduardowill be generated::orcid::0000-0001-5431-8776600Barrera Cuevas, Gina Alexandra GevinovaGaona García, Elvis Eduardo [0000-0001-5431-8776]2023-07-14T20:51:34Z2023-07-14T20:51:34Z2022-09-06http://hdl.handle.net/11349/31802En este trabajo se aborda como objeto de estudio el tratamiento de datos de nubes de puntos obtenidos mediante técnicas de fotogrametría en cultivos de papa en la región de Cundinamarca, el objetivo principal es entrenar y probar un modelo basado en aprendizaje no supervisado que permita segmentar las áreas de interés de los datos, con el fin de calcular matemáticamente los atributos estructurales de la planta como superficie y altura. Se probaron dos métodos de aprendizaje automático, nueve características de la imagen, incluyendo la posición (x, y y z), los colores (R,G y B) y los parámetros normales para la segmentación del suelo y las plantas individuales. El clustering de K-means fue el que obtuvo los mayores porcentajes de acierto (86,33%) para la separación de plantas y suelo. El método desarrollado se validó mediante un estudio de caso en el que el conjunto de datos construido por GITUD tomó previamente muestras de un cultivo de plantas semimaduras. Por lo tanto, se separaron automáticamente las plantas individuales y se extrajeron con éxito las características de cada planta (altura y área de brotes) utilizando la línea de segmentación automática propuesta. Por último, la limitación de este estudio es que los métodos propuestos se han desarrollado y evaluado para la patata en estado de vegetación. Sin embargo, la aplicación de la segmentación para evaluar el estado de vegetación de una planta diferente está abierta para el reentrenamiento del modelo. Con el tiempo, se mejorará la precisión de la segmentación con otros métodos de agrupación y la forma de calcular los atributos estructurales mediante la experimentación o nuevas iteraciones para obtener una medida más precisa del atributo del área de brotes. El estado de la vegetación juega un papel fundamental para determinar el estado de los cultivos y permite tomar medidas en caso de comportamiento anormal en el desarrollo de las plantas cultivadas. En cultivos de más de una hectárea, determinar el estado de la vegetación es un reto debido a su gran tamaño actualmente el monitoreo implica personal especializado en campo y altos costos en la toma y análisis de muestras del cultivo, además de ingresar a zonas de difícil acceso como las del terreno colombiano por lo que surge la necesidad de otras técnicas de recolección de datos a gran escala como: el estudio de imágenes satelitales o nubes de puntos tomadas con vehículos aéreos no tripulados (UAV).The main objective of this work is to train and test a model based on unsupervised learning that allows segmenting the areas of interest of the data, in order to mathematically calculate the structural attributes of the plant such as surface and height. Two machine learning methods, nine image features including position (x, y and z), colors (R,G and B) and normal parameters were tested for segmentation of soil and individual plants. K-means clustering obtained the highest percentages of correctness (86.33%) for the separation of plants and soil. The developed method was validated by a case study in which the dataset constructed by GITUD previously sampled a crop of semi-mature plants. Therefore, individual plants were automatically separated and the characteristics of each plant (height and shoot area) were successfully extracted using the proposed automatic segmentation line. Finally, the limitation of this study is that the proposed methods have been developed and evaluated for potato in vegetative state. However, the application of segmentation to evaluate the vegetation state of a different plant is open for model retraining. Over time, the accuracy of segmentation will be improved with other clustering methods and how structural attributes are calculated through experimentation or further iterations to obtain a more accurate measure of the shoot area attribute. Vegetation condition plays a key role in determining crop condition and allows action to be taken in case of abnormal behavior in the development of cultivated plants. In crops of more than one hectare, determining the state of the vegetation is a challenge due to its large size, monitoring currently involves specialized personnel in the field and high costs in the collection and analysis of crop samples, in addition to entering areas of difficult access such as those of the Colombian terrain, so there is a need for other large-scale data collection techniques such as: the study of satellite images or point clouds taken with unmanned aerial vehicles (UAV).pdfspaAttribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2K-medoidesK-meansInteligencia artificial aplicadaPlantas de papaIngeniería Electrónica -- Tesis y disertaciones académicasFotogrametríaSegmentación de datosAprendizaje no supervisadoAtributos estructuralesK-meansK-medoidsPotato plantsApplied artificial intelligenceModelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría.Unsupervised learning model for the calculation of structural attributes of potato crops using photogrammetric techniques.bachelorThesisInvestigación-Innovacióninfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fLICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/0a45c054-0188-4f52-a6ce-c44fcb3e14ee/download997daf6c648c962d566d7b082dac908dMD54ORIGINALModelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría..pdfModelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría..pdfTrabajo de gradoapplication/pdf3258034https://repository.udistrital.edu.co/bitstreams/1b6ebda9-3f19-4403-8f2e-0e995c304a35/downloadaacf13b159a8372248a2ca8cb1bbbbf4MD51Licencia de uso y publicacion editable.pdfLicencia de uso y publicacion editable.pdfLicencia de uso y publicaciónapplication/pdf225511https://repository.udistrital.edu.co/bitstreams/d4e1040c-2ac7-415b-8147-4e892346004d/download385e3086ef728c101bdcb1d0de3b5bfcMD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repository.udistrital.edu.co/bitstreams/94709733-2561-4390-bf1e-6a7578f798fd/download4460e5956bc1d1639be9ae6146a50347MD53THUMBNAILModelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría..pdf.jpgModelo de aprendizaje no supervisado para el cálculo de atributos estructurales de cultivos de papa empleando técnicas de fotogrametría..pdf.jpgIM Thumbnailimage/jpeg8837https://repository.udistrital.edu.co/bitstreams/82fdce5b-1666-4c57-af80-2eafff1be8fe/download846f5935c05b8dee986e6c2acaa14e28MD55Licencia de uso y publicacion editable.pdf.jpgLicencia de uso y publicacion editable.pdf.jpgIM Thumbnailimage/jpeg12991https://repository.udistrital.edu.co/bitstreams/ca1a5322-3768-4ec5-a3cd-0b0d4c9cc8dd/download8d78c2379be7e5825b45f44975f4523dMD5611349/31802oai:repository.udistrital.edu.co:11349/318022024-04-04 17:08:53.219http://creativecommons.org/licenses/by-nc-nd/4.0/Attribution-NonCommercial-NoDerivatives 4.0 Internacionalopen.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |