Estudio comparativo entre algoritmos para la generación de reglas de asociación

Este artículo propone tres algoritmos para la asociación de datos; se presenta una descripción de cada uno con el fin de mostrar como realiza las asociaciones que conducen a reglas de asociación. Posteriormente, se lleva a cabo una comparación de estos para determinar su eficiencia y efectividad en...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2015
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/7289
Acceso en línea:
http://hdl.handle.net/11349/7289
Palabra clave:
Asociación de datos
Algoritmo a priori
Árboles de patrones frecuentes
Minería de datos
Reglas de asociación
Búsqueda en profundidad
Tecnología en sistematización de datos - Tesis y disertaciones académicas
Algoritmos (Computadores)
Minería de datos
Gestión de información
Data association
A priori algorithm
Frequent patterns tree
Data mining
Association rules
Depth search
Rights
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional
id UDISTRITA2_342f0b547f2998528df33797eef88142
oai_identifier_str oai:repository.udistrital.edu.co:11349/7289
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Estudio comparativo entre algoritmos para la generación de reglas de asociación
dc.title.titleenglish.spa.fl_str_mv A study comparative among association rules algorithms
title Estudio comparativo entre algoritmos para la generación de reglas de asociación
spellingShingle Estudio comparativo entre algoritmos para la generación de reglas de asociación
Asociación de datos
Algoritmo a priori
Árboles de patrones frecuentes
Minería de datos
Reglas de asociación
Búsqueda en profundidad
Tecnología en sistematización de datos - Tesis y disertaciones académicas
Algoritmos (Computadores)
Minería de datos
Gestión de información
Data association
A priori algorithm
Frequent patterns tree
Data mining
Association rules
Depth search
title_short Estudio comparativo entre algoritmos para la generación de reglas de asociación
title_full Estudio comparativo entre algoritmos para la generación de reglas de asociación
title_fullStr Estudio comparativo entre algoritmos para la generación de reglas de asociación
title_full_unstemmed Estudio comparativo entre algoritmos para la generación de reglas de asociación
title_sort Estudio comparativo entre algoritmos para la generación de reglas de asociación
dc.contributor.advisor.spa.fl_str_mv Rodríguez Rodríguez, Jorge Enrique
dc.subject.spa.fl_str_mv Asociación de datos
Algoritmo a priori
Árboles de patrones frecuentes
Minería de datos
Reglas de asociación
Búsqueda en profundidad
topic Asociación de datos
Algoritmo a priori
Árboles de patrones frecuentes
Minería de datos
Reglas de asociación
Búsqueda en profundidad
Tecnología en sistematización de datos - Tesis y disertaciones académicas
Algoritmos (Computadores)
Minería de datos
Gestión de información
Data association
A priori algorithm
Frequent patterns tree
Data mining
Association rules
Depth search
dc.subject.lemb.spa.fl_str_mv Tecnología en sistematización de datos - Tesis y disertaciones académicas
Algoritmos (Computadores)
Minería de datos
Gestión de información
dc.subject.keyword.spa.fl_str_mv Data association
A priori algorithm
Frequent patterns tree
Data mining
Association rules
Depth search
description Este artículo propone tres algoritmos para la asociación de datos; se presenta una descripción de cada uno con el fin de mostrar como realiza las asociaciones que conducen a reglas de asociación. Posteriormente, se lleva a cabo una comparación de estos para determinar su eficiencia y efectividad en los resultados; para esto se halla la complejidad algorítmica y se evalúa la calidad de los resultados y las reglas generadas. De igual forma, se usaran diferentes conjuntos de datos para probar cada algoritmo. Finalmente, se presentan las conclusiones obtenidas de esta investigación.
publishDate 2015
dc.date.created.spa.fl_str_mv 2015-04-16
dc.date.accessioned.none.fl_str_mv 2017-12-18T21:09:26Z
dc.date.available.none.fl_str_mv 2017-12-18T21:09:26Z
dc.type.degree.spa.fl_str_mv Producción Académica
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/7289
url http://hdl.handle.net/11349/7289
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_16ec
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.acceso.spa.fl_str_mv Restringido (Solo Referencia)
rights_invalid_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional
http://creativecommons.org/licenses/by-nc-nd/4.0/
Restringido (Solo Referencia)
http://purl.org/coar/access_right/c_16ec
dc.format.mimetype.spa.fl_str_mv pdf
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv http://repository.udistrital.edu.co/bitstream/11349/7289/4/Diana%20Milena%20Rodriguez%20Herrera%202016.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/7289/5/licencia.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/7289/3/license.txt
http://repository.udistrital.edu.co/bitstream/11349/7289/1/Diana%20Milena%20Rodriguez%20Herrera%202016.pdf
http://repository.udistrital.edu.co/bitstream/11349/7289/2/licencia.pdf
bitstream.checksum.fl_str_mv ea21d08d3f2b9db959ad5064b2647b37
43555a22de9b945654f9cb856c4b1726
3cf632b743193f52a054a7b4bd2b66f1
801cde47df62384096421c13b8807d04
8c40c012d04b7adfd7ed054b0337d9a7
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Distrital - RIUD
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1814111188789755904
spelling Rodríguez Rodríguez, Jorge EnriqueRodriguez Herrera, Diana MilenaRocha Hernandez, July Andrea2017-12-18T21:09:26Z2017-12-18T21:09:26Z2015-04-16http://hdl.handle.net/11349/7289Este artículo propone tres algoritmos para la asociación de datos; se presenta una descripción de cada uno con el fin de mostrar como realiza las asociaciones que conducen a reglas de asociación. Posteriormente, se lleva a cabo una comparación de estos para determinar su eficiencia y efectividad en los resultados; para esto se halla la complejidad algorítmica y se evalúa la calidad de los resultados y las reglas generadas. De igual forma, se usaran diferentes conjuntos de datos para probar cada algoritmo. Finalmente, se presentan las conclusiones obtenidas de esta investigación.In this paper we propose three algorithms for the data association; it presents a description of each whit the purpose of showing how it performs the associations that leads to the association rules. Afterwards, a comparison among this is performed to determine its efficiency and effectiveness in the results; to do it the algorithm complexity is to be found, and the quality of the results and the rules generated are evaluated. At the same time, different sets of data will be used to test each algorithm. Finally, the conclusions obtained from this research will be presented.pdfspaAtribución-NoComercial-SinDerivadas 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Restringido (Solo Referencia)http://purl.org/coar/access_right/c_16ecAsociación de datosAlgoritmo a prioriÁrboles de patrones frecuentesMinería de datosReglas de asociaciónBúsqueda en profundidadTecnología en sistematización de datos - Tesis y disertaciones académicasAlgoritmos (Computadores)Minería de datosGestión de informaciónData associationA priori algorithmFrequent patterns treeData miningAssociation rulesDepth searchEstudio comparativo entre algoritmos para la generación de reglas de asociaciónA study comparative among association rules algorithmsProducción Académicainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILDiana Milena Rodriguez Herrera 2016.pdf.jpgDiana Milena Rodriguez Herrera 2016.pdf.jpgIM Thumbnailimage/jpeg12207http://repository.udistrital.edu.co/bitstream/11349/7289/4/Diana%20Milena%20Rodriguez%20Herrera%202016.pdf.jpgea21d08d3f2b9db959ad5064b2647b37MD54open accesslicencia.pdf.jpglicencia.pdf.jpgIM Thumbnailimage/jpeg11328http://repository.udistrital.edu.co/bitstream/11349/7289/5/licencia.pdf.jpg43555a22de9b945654f9cb856c4b1726MD55open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87273http://repository.udistrital.edu.co/bitstream/11349/7289/3/license.txt3cf632b743193f52a054a7b4bd2b66f1MD53open accessORIGINALDiana Milena Rodriguez Herrera 2016.pdfDiana Milena Rodriguez Herrera 2016.pdfTrabajo de Grado-Articuloapplication/pdf1044179http://repository.udistrital.edu.co/bitstream/11349/7289/1/Diana%20Milena%20Rodriguez%20Herrera%202016.pdf801cde47df62384096421c13b8807d04MD51metadata only accesslicencia.pdflicencia.pdfapplication/pdf2746806http://repository.udistrital.edu.co/bitstream/11349/7289/2/licencia.pdf8c40c012d04b7adfd7ed054b0337d9a7MD52metadata only access11349/7289oai:repository.udistrital.edu.co:11349/72892023-06-09 16:12:15.0metadata only accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMDQpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkNCg0KQ29tbyB0aXR1bGFyKGVzKSBkZWwob3MpIGRlcmVjaG8ocykgZGUgYXV0b3IsIGNvbmZpZXJvIChlcmltb3MpIGEgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgKGVuIGFkZWxhbnRlLCBMQSBVTklWRVJTSURBRCkgdW5hIGxpY2VuY2lhIHBhcmEgdXNvIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBpbnRlZ3JhcsOhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgKGVuIGFkZWxhbnRlLCBSSVVEKSwgZGUgYWN1ZXJkbyBhIGxhcyBzaWd1aWVudGVzIHJlZ2xhcywgbGFzIGN1YWxlcyBkZWNsYXJvIChhbW9zKSBjb25vY2VyIHkgYWNlcHRhcjoNCg0KYSkJRXN0YXLDoSB2aWdlbnRlIGEgcGFydGlyIGRlIGxhIGZlY2hhIGVuIHF1ZSBzZSBpbmNsdXlhIGVuIGVsIFJJVUQgeSBoYXN0YSBwb3IgdW4gcGxhem8gZGUgZGlleiAoMTApIEHDsW9zLCBwcm9ycm9nYWJsZSBpbmRlZmluaWRhbWVudGUgcG9yIGVsIHRpZW1wbyBxdWUgZHVyZSBlbCBkZXJlY2hvIFBhdHJpbW9uaWFsIGRlbCBhdXRvcjsgbGEgY3VhbCBwb2Ryw6EgZGFyc2UgcG9yIHRlcm1pbmFkYSBwcmV2aWEgc29saWNpdHVkIGEgTEEgVU5JVkVSU0lEQUQgcG9yIGVzY3JpdG8gY29uIHVuYSBhbnRlbGFjacOzbiBkZSBkb3MgKDIpIG1lc2VzIGFudGVzIGRlbCB2ZW5jaW1pZW50byBkZWwgcGxhem8gaW5pY2lhbCBvIGVsIGRlIHN1KHMpIHByw7Nycm9nYShzKS4gIA0KDQpiKQlMQSBVTklWRVJTSURBRCBwb2Ryw6EgcHVibGljYXIgbGEgb2JyYSBlbiBsYXMgZGlzdGludGFzIHZlcnNpb25lcyByZXF1ZXJpZGFzIHBvciBlbCBSSVVEIChkaWdpdGFsLCBpbXByZXNvLCBlbGVjdHLDs25pY28gdSBvdHJvIG1lZGlvIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXIpIExBIFVOSVZFUlNJREFEIG5vIHNlcsOhIHJlc3BvbnNhYmxlIGVuIGVsIGV2ZW50byBxdWUgZWwgZG9jdW1lbnRvIGFwYXJlemNhIHJlZmVyZW5jaWFkbyBlbiBtb3RvcmVzIGRlIGLDunNxdWVkYSBvIHJlcG9zaXRvcmlvcyBkaWZlcmVudGVzIGFsIFJJVUQsIHVuYSB2ZXogZWwob3MpIGF1dG9yKGVzKSBzb2xpY2l0ZW4gc3UgZWxpbWluYWNpw7NuIGRlbCBSSVVELCBkYWRvIHF1ZSBsYSBtaXNtYSBzZXLDoSBwdWJsaWNhZGEgZW4gSW50ZXJuZXQuIA0KDQpjKQlMYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIGxvcyBhdXRvcmVzIHJlbnVuY2lhbiBhIHJlY2liaXIgYmVuZWZpY2lvIGFsZ3VubyBwb3IgbGEgcHVibGljYWNpw7NuLCBkaXN0cmlidWNpw7NuLCBjb211bmljYWNpw7NuIHDDumJsaWNhIHkgY3VhbHF1aWVyIG90cm8gdXNvIHF1ZSBzZSBoYWdhIGVuIGxvcyB0w6lybWlub3MgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBkZSBsYSBsaWNlbmNpYSBkZSB1c28gY29uIHF1ZSBzZSBwdWJsaWNhIChDcmVhdGl2ZSBDb21tb25zKS4NCg0KZCkJTG9zIGNvbnRlbmlkb3MgcHVibGljYWRvcyBlbiBlbCBSSVVEIHNvbiBvYnJhKHMpIG9yaWdpbmFsKGVzKSBzb2JyZSBsYSBjdWFsKGVzKSBlbChvcykgYXV0b3IoZXMpIGNvbW8gdGl0dWxhcmVzIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciwgYXN1bWVuIHRvdGFsIHJlc3BvbnNhYmlsaWRhZCBwb3IgZWwgY29udGVuaWRvIGRlIHN1IG9icmEgYW50ZSBMQSBVTklWRVJTSURBRCB5IGFudGUgdGVyY2Vyb3MuIEVuIHRvZG8gY2FzbyBMQSBVTklWRVJTSURBRCBzZSBjb21wcm9tZXRlIGEgaW5kaWNhciBzaWVtcHJlIGxhIGF1dG9yw61hIGluY2x1eWVuZG8gZWwgbm9tYnJlIGRlbCBhdXRvciB5IGxhIGZlY2hhIGRlIHB1YmxpY2FjacOzbi4NCg0KZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuIA0KDQoNCmYpCUxBIFVOSVZFUlNJREFEIHBvZHLDoSBjb252ZXJ0aXIgbGEgb2JyYSBhIGN1YWxxdWllciBtZWRpbyBvIGZvcm1hdG8gY29uIGVsIGZpbiBkZSBzdSBwcmVzZXJ2YWNpw7NuIGVuIGVsIHRpZW1wbyBxdWUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBsYSBkZSBzdXMgcHLDs3Jyb2dhcy4NCg0KDQpDb24gYmFzZSBlbiBsbyBhbnRlcmlvciBhdXRvcml6byhhbW9zKSwgYSBmYXZvciBkZWwgUklVRCB5IGRlIHN1cyB1c3VhcmlvcywgbGEgcHVibGljYWNpw7NuIHkgY29uc3VsdGEgZGUgbGEgc2lndWllbnRlIG9icmE6DQoNClRpdHVsbyAJDQpBdXRvcglBcGVsbGlkb3MJTm9tYnJlcw0KMQkJDQoyCQkNCjMJCQ0KIA0KDQpnKQlBdXRvcml6byhhbW9zKSwgcXVlIGxhIG9icmEgc2VhIHB1ZXN0YSBhIGRpc3Bvc2ljacOzbiBkZWwgcMO6YmxpY28gZW4gbG9zIHTDqXJtaW5vcyBlc3RhYmxlY2lkb3MgZW4gbG9zIGxpdGVyYWxlcyBhbnRlcmlvcmVzLCBiYWpvIGxvcyBsw61taXRlcyBkZWZpbmlkb3MgcG9yIExBIFVOSVZFUlNJREFELCBlbiBsYXMg4oCcQ29uZGljaW9uZXMgZGUgdXNvIGRlIGVzdHJpY3RvIGN1bXBsaW1pZW50b+KAnSBkZSBsb3MgcmVjdXJzb3MgcHVibGljYWRvcyBlbiBlbCBSSVVELCBjdXlvIHRleHRvIGNvbXBsZXRvIHNlIHB1ZWRlIGNvbnN1bHRhciBlbiBodHRwOi8vcmVwb3NpdG9yeS51ZGlzdHJpdGFsLmVkdS5jby8NCg0KaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLg0KDQppKQlNYW5pZmllc3RvKGFtb3MpIG1pIChudWVzdHJvKSB0b3RhbCBhY3VlcmRvIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgdXNvIHkgcHVibGljYWNpw7NuIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgcXVlIHNlIGRlc2NyaWJlbiB5IGV4cGxpY2FuIGVuIGVsIHByZXNlbnRlIGRvY3VtZW50by4NCg0KaikJQ29ub3pjbyhjZW1vcykgbGEgbm9ybWF0aXZpZGFkIGludGVybmEgZGUgIExBIFVOSVZFUlNJREFEOyBlbiBjb25jcmV0bywgZWwgQWN1ZXJkbyAwMDQgZGUgMjAxMiBkZWwgQ1NVLCBBY3VlcmRvIDAyMyBkZSAyMDEyIGRlbCBDU1Ugc29icmUgUG9sw610aWNhIEVkaXRvcmlhbCwgQWN1ZXJkbyAwMjYgIGRlbCAzMSBkZSBqdWxpbyBkZSAyMDEyIHNvYnJlIGVsIHByb2NlZGltaWVudG8gcGFyYSBsYSBwdWJsaWNhY2nDs24gZGUgdGVzaXMgZGUgcG9zdGdyYWRvIGRlIGxvcyBlc3R1ZGlhbnRlcyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgIEFjdWVyZG8gMDMwIGRlbCAwMyBkZSBkaWNpZW1icmUgZGUgMjAxMyBwb3IgbWVkaW8gZGVsIGN1YWwgc2UgY3JlYSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCBBY3VlcmRvIDAzOCBkZSAyMDE1IDIwMTUg4oCccG9yIGVsIGN1YWwgc2UgbW9kaWZpY2EgZWwgQWN1ZXJkbyAwMzEgZGUgMjAxNCBkZSAyMDE0IHF1ZSByZWdsYW1lbnRhIGVsIHRyYWJham8gZGUgZ3JhZG8gcGFyYSBsb3MgZXN0dWRpYW50ZXMgZGUgcHJlZ3JhZG8gZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgeSBzZSBkaWN0YW4gb3RyYXMgZGlyZWN0cmljZXPigJ0geSBsYXMgZGVtw6FzIG5vcm1hcyBjb25jb3JkYW50ZSB5IGNvbXBsZW1lbnRhcmlhcyBxdWUgcmlnZW4gYWwgcmVzcGVjdG8sIGVzcGVjaWFsbWVudGUgbGEgbGV5IDIzIGRlIDE5ODIsIGxhIGxleSA0NCBkZSAxOTkzIHkgbGEgZGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5My4gRXN0b3MgZG9jdW1lbnRvcyBwb2Ryw6FuIHNlciBjb25zdWx0YWRvcyB5IGRlc2NhcmdhZG9zIGVuIGVsIHBvcnRhbCB3ZWIgZGUgbGEgYmlibGlvdGVjYSBodHRwOi8vc2lzdGVtYWRlYmlibGlvdGVjYXMudWRpc3RyaXRhbC5lZHUuY28vICANCg0KaykJQWNlcHRvKGFtb3MpIHF1ZSBMQSBVTklWRVJTSURBRCBubyBzZSByZXNwb25zYWJpbGl6YSBwb3IgbGFzIGluZnJhY2Npb25lcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIERlcmVjaG9zIGRlIEF1dG9yIGNhdXNhZGFzIHBvciBsb3MgdGl0dWxhcmVzIGRlIGxhIHByZXNlbnRlIExpY2VuY2lhIHkgZGVjbGFyYW1vcyBxdWUgbWFudGVuZHLDqSAoZW1vcykgaW5kZW1uZSBhIExBIFVOSVZFUlNJREFEIHBvciBsYXMgcmVjbGFtYWNpb25lcyBsZWdhbGVzIGRlIGN1YWxxdWllciB0aXBvIHF1ZSBsbGVnYXJlbiBhIHByZXNlbnRhcnNlIHBvciB2aW9sYWNpw7NuIGRlIGRlcmVjaG9zIGEgbGEgcHJvcGllZGFkIGludGVsZWN0dWFsIG8gZGUgQXV0b3IgcmVsYWNpb25hZG9zIGNvbiBsb3MgZG9jdW1lbnRvcyByZWdpc3RyYWRvcyBlbiBlbCBSSVVELg0KDQpsKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBsYSBvYnJhIG9iamV0byBkZSBsYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIGVzIG9yaWdpbmFsLCBkZSBleGNsdXNpdmEgYXV0b3LDrWEsIHkgc2UgcmVhbGl6w7Mgc2luIHZpb2xhciBvIHVzdXJwYXIgZGVyZWNob3MgZGUgYXV0b3IgZGUgdGVyY2Vyb3M7IGRlIHRhbCBzdWVydGUsIGVuIGNhc28gZGUgcHJlc2VudGFyc2UgY3VhbHF1aWVyIHJlY2xhbWFjacOzbiBvIGFjY2nDs24gcG9yIHBhcnRlIGRlIHVuIHRlcmNlcm8gZW4gY3VhbnRvIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIHNvYnJlIGxhIG9icmEsIGVsIChsb3MpIGVzdHVkaWFudGUocykg4oCTIGF1dG9yKGVzKSBhc3VtaXLDoShuKSB0b2RhIGxhIHJlc3BvbnNhYmlsaWRhZCB5IHNhbGRyw6EobikgZW4gZGVmZW5zYSBkZSBsb3MgZGVyZWNob3MgYXF1w60gYXV0b3JpemFkb3MuIFBhcmEgdG9kb3MgbG9zIGVmZWN0b3MsIExBIFVOSVZFUlNJREFEIGFjdMO6YSBjb21vIHVuIHRlcmNlcm8gZGUgYnVlbmEgZmUuICAgDQoNCg0KbSkJRWwgKGxvcykgYXV0b3IoZXMpIG1hbmlmaWVzdGEobW9zKSBxdWUgY29ub3pjbyhjZW1vcykgbGEgYXV0b25vbcOtYSB5IGxvcyBkZXJlY2hvcywgcXVlIHBvc2VlKG1vcykgc29icmUgbGEgb2JyYSB5LCBjb21vIHRhbCwgZXMgKHNvbW9zKSByZXNwb25zYWJsZShzKSBkZWwgYWxjYW5jZSBqdXLDrWRpY28geSBsZWdhbCwgZGUgZXNjb2dlciBsYSBvcGNpw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBvIGRlIHJlc3RyaWNjacOzbiBkZSBsYSBwdWJsaWNhY2nDs24gZGVsIGRvY3VtZW50byByZWdpc3RyYWRvIGVuIGVsIFJJVUQuDQoNCg0KDQoNClNJIEVMIERPQ1VNRU5UTyBTRSBCQVNBIEVOIFVOIFRSQUJBSk8gUVVFIEhBIFNJRE8gUEFUUk9DSU5BRE8gTyBBUE9ZQURPIFBPUiBVTkEgQUdFTkNJQSBPIFVOQSBPUkdBTklaQUNJw5NOLCBDT04gRVhDRVBDScOTTiBERSBMQSBVTklWRVJTSURBRCBESVNUUklUQUwgRlJBTkNJU0NPIEpPU0UgREUgQ0FMREFTLCBMT1MgQVVUT1JFUyBHQVJBTlRJWkFOIFFVRSBTRSBIQSBDVU1QTElETyBDT04gTE9TIA0KREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpFbiBjb25zdGFuY2lhIGRlIGxvIGFudGVyaW9yLCBmaXJtbyhhbW9zKSBlbCBwcmVzZW50ZSBkb2N1bWVudG8sIGVuIGxhIGNpdWRhZCBkZSBCb2dvdMOhLCBELkMuLCBhIGxvcyANCg0KDQpGSVJNQSBERSBMT1MgVElUVUxBUkVTIERFIERFUkVDSE9TIERFIEFVVE9SDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18NCg0KDQoNCkNvcnJlbyBFbGVjdHLDs25pY28gSW5zdGl0dWNpb25hbCBkZWwgKGRlIGxvcykgQXV0b3IoZXMpOg0KDQpBdXRvcglDb3JyZW8gRWxlY3Ryw7NuaWNvIA0KMQkNCjIJDQozCQ0KDQpOb21icmUgZGUgRGlyZWN0b3IoZXMpIGRlIEdyYWRvOg0KDQoxCQ0KMgkNCjMJDQoNCk5vbWJyZSBGYWN1bHRhZCB5IFByb3llY3RvIEN1cnJpY3VsYXI6DQoNCkZhY3VsdGFkCVByb3llY3RvIEN1cnJpY3VsYXINCgkNCg0KDQoNCg0KDQoNCg0KTm90YTogRW4gY2FzbyBxdWUgbm8gZXN0w6kgZGUgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhLCB5IG1hbmlmaWVzdGUgYWxndW5hIHJlc3RyaWNjacOzbiBzb2JyZSBsYSBvYnJhLCBqdXN0aWZpcXVlIGxvcyBtb3Rpdm9zIHBvciBsb3MgY3VhbGVzIGVsIGRvY3VtZW50byB5IHN1cyBhbmV4b3Mgbm8gcHVlZGVuIHNlciBwdWJsaWNhZG9zIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgUklVRC4NCg0KDQpTaSByZXF1aWVyZSBtw6FzIGVzcGFjaW8sIHB1ZWRlIGFuZXhhciB1bmEgY29waWEgc2ltaWxhciBhIGVzdGEgaG9qYQ0KDQoNCg==