Construcción de algoritmo para análisis de causa raíz de accidentes de tránsito utilizando redes neuronales y minería de datos.

La determinación de la causa de los accidentes de tránsito tiene una gran utilidad para comprender la dinámica de estos eventos. Existe una gran cantidad de técnicas aplicables que requieren la participación de personas involucradas de alguna manera con el análisis de accidentalidad vial y aprovecha...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2019
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/22495
Acceso en línea:
http://hdl.handle.net/11349/22495
Palabra clave:
Accidentalidad vial
Minería de datos
Redes neuronales
Causa raíz
Causa inmediata
Weka
Especialización en Higiene, Seguridad y Salud en el Trabajo - Tesis y disertaciones académicas
Accidentes de transito
Minería de datos
Redes neuronales
Road traffic accidents
Data mining
Immediate cause
Root cause
Artificial neural networks
Weka
Rights
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional
id UDISTRITA2_9d38d0acc47d373a0dd7c139c23131e6
oai_identifier_str oai:repository.udistrital.edu.co:11349/22495
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Construcción de algoritmo para análisis de causa raíz de accidentes de tránsito utilizando redes neuronales y minería de datos.
dc.title.titleenglish.spa.fl_str_mv Building an algorithm for traffic accidents root cause analysis using artiificial neural networks and data mining
title Construcción de algoritmo para análisis de causa raíz de accidentes de tránsito utilizando redes neuronales y minería de datos.
spellingShingle Construcción de algoritmo para análisis de causa raíz de accidentes de tránsito utilizando redes neuronales y minería de datos.
Accidentalidad vial
Minería de datos
Redes neuronales
Causa raíz
Causa inmediata
Weka
Especialización en Higiene, Seguridad y Salud en el Trabajo - Tesis y disertaciones académicas
Accidentes de transito
Minería de datos
Redes neuronales
Road traffic accidents
Data mining
Immediate cause
Root cause
Artificial neural networks
Weka
title_short Construcción de algoritmo para análisis de causa raíz de accidentes de tránsito utilizando redes neuronales y minería de datos.
title_full Construcción de algoritmo para análisis de causa raíz de accidentes de tránsito utilizando redes neuronales y minería de datos.
title_fullStr Construcción de algoritmo para análisis de causa raíz de accidentes de tránsito utilizando redes neuronales y minería de datos.
title_full_unstemmed Construcción de algoritmo para análisis de causa raíz de accidentes de tránsito utilizando redes neuronales y minería de datos.
title_sort Construcción de algoritmo para análisis de causa raíz de accidentes de tránsito utilizando redes neuronales y minería de datos.
dc.contributor.advisor.spa.fl_str_mv Saavedra Angulo, Heberto
dc.subject.spa.fl_str_mv Accidentalidad vial
Minería de datos
Redes neuronales
Causa raíz
Causa inmediata
Weka
topic Accidentalidad vial
Minería de datos
Redes neuronales
Causa raíz
Causa inmediata
Weka
Especialización en Higiene, Seguridad y Salud en el Trabajo - Tesis y disertaciones académicas
Accidentes de transito
Minería de datos
Redes neuronales
Road traffic accidents
Data mining
Immediate cause
Root cause
Artificial neural networks
Weka
dc.subject.lemb.spa.fl_str_mv Especialización en Higiene, Seguridad y Salud en el Trabajo - Tesis y disertaciones académicas
Accidentes de transito
Minería de datos
Redes neuronales
dc.subject.keyword.spa.fl_str_mv Road traffic accidents
Data mining
Immediate cause
Root cause
Artificial neural networks
Weka
description La determinación de la causa de los accidentes de tránsito tiene una gran utilidad para comprender la dinámica de estos eventos. Existe una gran cantidad de técnicas aplicables que requieren la participación de personas involucradas de alguna manera con el análisis de accidentalidad vial y aprovechan su experiencia en este campo. La minería de datos es una tecnología emergente que se adapta a fenómenos de distinta complejidad como son los accidentes de tránsito y permiten utilizar la información contenida en los datos acumulados de accidentalidad y que por lo general administran las agencias del estado encargadas de formular políticas para disminuirla. En este trabajo se han utilizado dos base de datos de accidentalidad. La primera con 38 campos y 34628 registros o instancias disponible en el portal de datos abiertos. (https://www.datos.gov.co/widgets/79fi-zm8c) La segunda base de datos tiene información solamente de accidentes de tránsito en empresas de transporte. Para ello se ha utilizado información de empresas aseguradas con Allianz, como Coca Cola, transportes Iceberg, Transportes La Carolina, Pronavicola, Servientrega, Transmeta, Femsa logística, transporadora nacional de Coca Cola, Harinera del Valle, Sistema de tarnsporte masivo de Cali (MIO), Conalvías. Esta base de datos tiene información de 880 siniestros en diferentes ciudades y carretas nacionales. El modelo de causa raíz se ha dividido en dos partes, uno para encontrar la causa próxima y el otro para la causa raíz de los accidentes. Para ello Se han propuesto dos algoritmos para analizar los datos de estas bases; redes neuronales artificiales (perceptrón multicapas) y Naive Bayes, que sirven para clasificar los datos correspondientes a casos nuevos baja la etiqueta de causa de accidente. Se ha utilizado el software libre Weka. Se encuentra que el algoritmo Naive Bayes tiene un mejor desempeño que la red neuronal, la cual requiere una gran capacidad de procesamiento. La segunda parte para encontrar la posible causa raíz de los accidentes. Para ello se ha utilizado la base de datos 2 y el algoritmo PART. La validación de los modelos se ha realizado aplicando las métricas normalmente disponibles. Adicionalmente se ha analizado y aplicado el algoritmo al caso de siniestro de un vehículo de transportes Iceberg
publishDate 2019
dc.date.accessioned.none.fl_str_mv 2019-12-12T18:16:28Z
dc.date.available.none.fl_str_mv 2019-12-12T18:16:28Z
dc.date.created.spa.fl_str_mv 2019-09-06
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/22495
url http://hdl.handle.net/11349/22495
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_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 Atribución-NoComercial-SinDerivadas 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 http://repository.udistrital.edu.co/bitstream/11349/22495/3/CONSTRUCCI%c3%93N%20DE%20ALGORITMO%20PARA%20AN%c3%81LISIS%20DE%20CAUSA%20RA%c3%8dZ%20DE%20ACCIDENTES%20DE%20TRANSITO%20UTILIZANDO%20REDES%20NEURONALES%20Y%20MINER%c3%8dA%20DE%20DATOS..pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/22495/1/CONSTRUCCI%c3%93N%20DE%20ALGORITMO%20PARA%20AN%c3%81LISIS%20DE%20CAUSA%20RA%c3%8dZ%20DE%20ACCIDENTES%20DE%20TRANSITO%20UTILIZANDO%20REDES%20NEURONALES%20Y%20MINER%c3%8dA%20DE%20DATOS..pdf
http://repository.udistrital.edu.co/bitstream/11349/22495/2/license.txt
bitstream.checksum.fl_str_mv 018325e4aaa5a336c7e7783f6f1d43df
9598a78dd2f63d72a414a358237d28d3
da5c6a3ca62d5dd4853000a60fee7083
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Distrital - RIUD
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1814110994224381952
spelling Saavedra Angulo, HebertoVélez Sánchez, Hernando2019-12-12T18:16:28Z2019-12-12T18:16:28Z2019-09-06http://hdl.handle.net/11349/22495La determinación de la causa de los accidentes de tránsito tiene una gran utilidad para comprender la dinámica de estos eventos. Existe una gran cantidad de técnicas aplicables que requieren la participación de personas involucradas de alguna manera con el análisis de accidentalidad vial y aprovechan su experiencia en este campo. La minería de datos es una tecnología emergente que se adapta a fenómenos de distinta complejidad como son los accidentes de tránsito y permiten utilizar la información contenida en los datos acumulados de accidentalidad y que por lo general administran las agencias del estado encargadas de formular políticas para disminuirla. En este trabajo se han utilizado dos base de datos de accidentalidad. La primera con 38 campos y 34628 registros o instancias disponible en el portal de datos abiertos. (https://www.datos.gov.co/widgets/79fi-zm8c) La segunda base de datos tiene información solamente de accidentes de tránsito en empresas de transporte. Para ello se ha utilizado información de empresas aseguradas con Allianz, como Coca Cola, transportes Iceberg, Transportes La Carolina, Pronavicola, Servientrega, Transmeta, Femsa logística, transporadora nacional de Coca Cola, Harinera del Valle, Sistema de tarnsporte masivo de Cali (MIO), Conalvías. Esta base de datos tiene información de 880 siniestros en diferentes ciudades y carretas nacionales. El modelo de causa raíz se ha dividido en dos partes, uno para encontrar la causa próxima y el otro para la causa raíz de los accidentes. Para ello Se han propuesto dos algoritmos para analizar los datos de estas bases; redes neuronales artificiales (perceptrón multicapas) y Naive Bayes, que sirven para clasificar los datos correspondientes a casos nuevos baja la etiqueta de causa de accidente. Se ha utilizado el software libre Weka. Se encuentra que el algoritmo Naive Bayes tiene un mejor desempeño que la red neuronal, la cual requiere una gran capacidad de procesamiento. La segunda parte para encontrar la posible causa raíz de los accidentes. Para ello se ha utilizado la base de datos 2 y el algoritmo PART. La validación de los modelos se ha realizado aplicando las métricas normalmente disponibles. Adicionalmente se ha analizado y aplicado el algoritmo al caso de siniestro de un vehículo de transportes IcebergDetermining the root cause of transit accidents is crucial to understand events dynamic. There are a great number of techniques to do this. More of them implies the participation of stakeholders in transit accidents analysis, using their experience. Data mining is an emergent technology that can be used in the analysis and solution of different complexity problems, like traffic accidents. It allows experts to extract knowledge from the information in the data gathered in the accident site. In this work it has been employed two databases; the first contains 38 fields and 34628 registers and is available in (https://www.datos.gov.co/widgets/79fi-zm8c. The second one supplies information taken from Allianz traffic accidents files and includes only information of transportation companies. It has and 890 registers Root cause model has been divided in two sections; one for find the immediate cause and the other for search the possible root cause of the accidents. To do this it has been proposed three different algorithms: Multilayer Perceptron (MLP) and Naïve Bayes(NB) for the immediate cause and PART for the basic or root cause. Performing the data mining utilizes the free software WEKA 3.8. le evaluation of the performance of that algorithms is based on the use of metrics like percentage of hits and misses, kappa index, root mean square error, ROC, Concerning the immediate cause of the accidents for the first databe It has been found that Naïve Bayes performs better than ANN multiulayer perceptron, getting 76,44% of correctly classified instances while perceptron does 54,4%. For the second database, MLP got 72% of correctly classified instances. Finally, the models constructed from the algorithms related, was tested in a real case corresponding to a road a truck accident .pdfspaAtribución-NoComercial-SinDerivadas 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Accidentalidad vialMinería de datosRedes neuronalesCausa raízCausa inmediataWekaEspecialización en Higiene, Seguridad y Salud en el Trabajo - Tesis y disertaciones académicasAccidentes de transitoMinería de datosRedes neuronalesRoad traffic accidentsData miningImmediate causeRoot causeArtificial neural networksWekaConstrucción de algoritmo para análisis de causa raíz de accidentes de tránsito utilizando redes neuronales y minería de datos.Building an algorithm for traffic accidents root cause analysis using artiificial neural networks and data miningProducción Académicainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILCONSTRUCCIÓN DE ALGORITMO PARA ANÁLISIS DE CAUSA RAÍZ DE ACCIDENTES DE TRANSITO UTILIZANDO REDES NEURONALES Y MINERÍA DE DATOS..pdf.jpgCONSTRUCCIÓN DE ALGORITMO PARA ANÁLISIS DE CAUSA RAÍZ DE ACCIDENTES DE TRANSITO UTILIZANDO REDES NEURONALES Y MINERÍA DE DATOS..pdf.jpgIM Thumbnailimage/jpeg5288http://repository.udistrital.edu.co/bitstream/11349/22495/3/CONSTRUCCI%c3%93N%20DE%20ALGORITMO%20PARA%20AN%c3%81LISIS%20DE%20CAUSA%20RA%c3%8dZ%20DE%20ACCIDENTES%20DE%20TRANSITO%20UTILIZANDO%20REDES%20NEURONALES%20Y%20MINER%c3%8dA%20DE%20DATOS..pdf.jpg018325e4aaa5a336c7e7783f6f1d43dfMD53open accessORIGINALCONSTRUCCIÓN DE ALGORITMO PARA ANÁLISIS DE CAUSA RAÍZ DE ACCIDENTES DE TRANSITO UTILIZANDO REDES NEURONALES Y MINERÍA DE DATOS..pdfCONSTRUCCIÓN DE ALGORITMO PARA ANÁLISIS DE CAUSA RAÍZ DE ACCIDENTES DE TRANSITO UTILIZANDO REDES NEURONALES Y MINERÍA DE DATOS..pdfapplication/pdf5756251http://repository.udistrital.edu.co/bitstream/11349/22495/1/CONSTRUCCI%c3%93N%20DE%20ALGORITMO%20PARA%20AN%c3%81LISIS%20DE%20CAUSA%20RA%c3%8dZ%20DE%20ACCIDENTES%20DE%20TRANSITO%20UTILIZANDO%20REDES%20NEURONALES%20Y%20MINER%c3%8dA%20DE%20DATOS..pdf9598a78dd2f63d72a414a358237d28d3MD51open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87163http://repository.udistrital.edu.co/bitstream/11349/22495/2/license.txtda5c6a3ca62d5dd4853000a60fee7083MD52open access11349/22495oai:repository.udistrital.edu.co:11349/224952023-06-13 11:01:07.395open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMClTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIHVzbyBwYXJhIHB1YmxpY2FjacOzbiBkZSBvYnJhcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChSSVVEKQoKQ29tbyB0aXR1bGFyKGVzKSBkZWwob3MpIGRlcmVjaG8ocykgZGUgYXV0b3IsIGNvbmZpZXJvIChlcmltb3MpIGEgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgKGVuIGFkZWxhbnRlLCBMQSBVTklWRVJTSURBRCkgdW5hIGxpY2VuY2lhIHBhcmEgdXNvIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBpbnRlZ3JhcsOhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgKGVuIGFkZWxhbnRlLCBSSVVEKSwgZGUgYWN1ZXJkbyBhIGxhcyBzaWd1aWVudGVzIHJlZ2xhcywgbGFzIGN1YWxlcyBkZWNsYXJvIChhbW9zKSBjb25vY2VyIHkgYWNlcHRhcjoKCmEpCUVzdGFyw6EgdmlnZW50ZSBhIHBhcnRpciBkZSBsYSBmZWNoYSBlbiBxdWUgc2UgaW5jbHV5YSBlbiBlbCBSSVVEIHkgaGFzdGEgcG9yIHVuIHBsYXpvIGRlIGRpZXogKDEwKSBBw7FvcywgcHJvcnJvZ2FibGUgaW5kZWZpbmlkYW1lbnRlIHBvciBlbCB0aWVtcG8gcXVlIGR1cmUgZWwgZGVyZWNobyBQYXRyaW1vbmlhbCBkZWwgYXV0b3I7IGxhIGN1YWwgcG9kcsOhIGRhcnNlIHBvciB0ZXJtaW5hZGEgcHJldmlhIHNvbGljaXR1ZCBhIExBIFVOSVZFUlNJREFEIHBvciBlc2NyaXRvIGNvbiB1bmEgYW50ZWxhY2nDs24gZGUgZG9zICgyKSBtZXNlcyBhbnRlcyBkZWwgdmVuY2ltaWVudG8gZGVsIHBsYXpvIGluaWNpYWwgbyBlbCBkZSBzdShzKSBwcsOzcnJvZ2EocykuICAKCmIpCUxBIFVOSVZFUlNJREFEIHBvZHLDoSBwdWJsaWNhciBsYSBvYnJhIGVuIGxhcyBkaXN0aW50YXMgdmVyc2lvbmVzIHJlcXVlcmlkYXMgcG9yIGVsIFJJVUQgKGRpZ2l0YWwsIGltcHJlc28sIGVsZWN0csOzbmljbyB1IG90cm8gbWVkaW8gY29ub2NpZG8gbyBwb3IgY29ub2NlcikgTEEgVU5JVkVSU0lEQUQgbm8gc2Vyw6EgcmVzcG9uc2FibGUgZW4gZWwgZXZlbnRvIHF1ZSBlbCBkb2N1bWVudG8gYXBhcmV6Y2EgcmVmZXJlbmNpYWRvIGVuIG1vdG9yZXMgZGUgYsO6c3F1ZWRhIG8gcmVwb3NpdG9yaW9zIGRpZmVyZW50ZXMgYWwgUklVRCwgdW5hIHZleiBlbChvcykgYXV0b3IoZXMpIHNvbGljaXRlbiBzdSBlbGltaW5hY2nDs24gZGVsIFJJVUQsIGRhZG8gcXVlIGxhIG1pc21hIHNlcsOhIHB1YmxpY2FkYSBlbiBJbnRlcm5ldC4gCgpjKQlMYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIGxvcyBhdXRvcmVzIHJlbnVuY2lhbiBhIHJlY2liaXIgYmVuZWZpY2lvIGFsZ3VubyBwb3IgbGEgcHVibGljYWNpw7NuLCBkaXN0cmlidWNpw7NuLCBjb211bmljYWNpw7NuIHDDumJsaWNhIHkgY3VhbHF1aWVyIG90cm8gdXNvIHF1ZSBzZSBoYWdhIGVuIGxvcyB0w6lybWlub3MgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBkZSBsYSBsaWNlbmNpYSBkZSB1c28gY29uIHF1ZSBzZSBwdWJsaWNhIChDcmVhdGl2ZSBDb21tb25zKS4KCmQpCUxvcyBjb250ZW5pZG9zIHB1YmxpY2Fkb3MgZW4gZWwgUklVRCBzb24gb2JyYShzKSBvcmlnaW5hbChlcykgc29icmUgbGEgY3VhbChlcykgZWwob3MpIGF1dG9yKGVzKSBjb21vIHRpdHVsYXJlcyBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IsIGFzdW1lbiB0b3RhbCByZXNwb25zYWJpbGlkYWQgcG9yIGVsIGNvbnRlbmlkbyBkZSBzdSBvYnJhIGFudGUgTEEgVU5JVkVSU0lEQUQgeSBhbnRlIHRlcmNlcm9zLiBFbiB0b2RvIGNhc28gTEEgVU5JVkVSU0lEQUQgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uCgplKQlMQSBVTklWRVJTSURBRCBwb2Ryw6EgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyDDrW5kaWNlcyB5IGJ1c2NhZG9yZXMgcXVlIGVzdGltZW4gbmVjZXNhcmlvcyBwYXJhIG1heGltaXphciBsYSB2aXNpYmlsaWRhZCBlbCB1c28geSBlbCBpbXBhY3RvIGRlIGxhIHByb2R1Y2Npw7NuIGNpZW50w61maWNhLCBhcnTDrXN0aWNhIHkgYWNhZMOpbWljYSBlbiBsYSBjb211bmlkYWQgbG9jYWwsIG5hY2lvbmFsIG8gaW50ZXJuYWNpb25hbC4gCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbyAJCkF1dG9yCUFwZWxsaWRvcwlOb21icmVzCjEJCQoyCQkKMwkJCiAKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8gIAoKaykJQWNlcHRvKGFtb3MpIHF1ZSBMQSBVTklWRVJTSURBRCBubyBzZSByZXNwb25zYWJpbGl6YSBwb3IgbGFzIGluZnJhY2Npb25lcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIERlcmVjaG9zIGRlIEF1dG9yIGNhdXNhZGFzIHBvciBsb3MgdGl0dWxhcmVzIGRlIGxhIHByZXNlbnRlIExpY2VuY2lhIHkgZGVjbGFyYW1vcyBxdWUgbWFudGVuZHLDqSAoZW1vcykgaW5kZW1uZSBhIExBIFVOSVZFUlNJREFEIHBvciBsYXMgcmVjbGFtYWNpb25lcyBsZWdhbGVzIGRlIGN1YWxxdWllciB0aXBvIHF1ZSBsbGVnYXJlbiBhIHByZXNlbnRhcnNlIHBvciB2aW9sYWNpw7NuIGRlIGRlcmVjaG9zIGEgbGEgcHJvcGllZGFkIGludGVsZWN0dWFsIG8gZGUgQXV0b3IgcmVsYWNpb25hZG9zIGNvbiBsb3MgZG9jdW1lbnRvcyByZWdpc3RyYWRvcyBlbiBlbCBSSVVELgoKbCkJRWwgKGxvcykgYXV0b3IoZXMpIG1hbmlmaWVzdGEobW9zKSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCwgZGUgZXhjbHVzaXZhIGF1dG9yw61hLCB5IHNlIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zOyBkZSB0YWwgc3VlcnRlLCBlbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhLCBlbCAobG9zKSBlc3R1ZGlhbnRlKHMpIOKAkyBhdXRvcihlcykgYXN1bWlyw6EobikgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQgeSBzYWxkcsOhKG4pIGVuIGRlZmVuc2EgZGUgbG9zIGRlcmVjaG9zIGFxdcOtIGF1dG9yaXphZG9zLiBQYXJhIHRvZG9zIGxvcyBlZmVjdG9zLCBMQSBVTklWRVJTSURBRCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLiAgIAoKCm0pCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGNvbm96Y28oY2Vtb3MpIGxhIGF1dG9ub23DrWEgeSBsb3MgZGVyZWNob3MsIHF1ZSBwb3NlZShtb3MpIHNvYnJlIGxhIG9icmEgeSwgY29tbyB0YWwsIGVzIChzb21vcykgcmVzcG9uc2FibGUocykgZGVsIGFsY2FuY2UganVyw61kaWNvIHkgbGVnYWwsIGRlIGVzY29nZXIgbGEgb3BjacOzbiBkZSBsYSBwdWJsaWNhY2nDs24gbyBkZSByZXN0cmljY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIGRlbCBkb2N1bWVudG8gcmVnaXN0cmFkbyBlbiBlbCBSSVVELgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MgCkRFUkVDSE9TIFkgT0JMSUdBQ0lPTkVTIFJFUVVFUklET1MgUE9SIEVMIFJFU1BFQ1RJVk8gQ09OVFJBVE8gTyBBQ1VFUkRPLgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpFbiBjb25zdGFuY2lhIGRlIGxvIGFudGVyaW9yLCBmaXJtbyhhbW9zKSBlbCBwcmVzZW50ZSBkb2N1bWVudG8sIGVuIGxhIGNpdWRhZCBkZSBCb2dvdMOhLCBELkMuLCBhIGxvcyAKCgpGSVJNQSBERSBMT1MgVElUVUxBUkVTIERFIERFUkVDSE9TIERFIEFVVE9SCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCUNvcnJlbyBFbGVjdHLDs25pY28gCjEJCjIJCjMJCgpOb21icmUgZGUgRGlyZWN0b3IoZXMpIGRlIEdyYWRvOgoKMQkKMgkKMwkKCk5vbWJyZSBGYWN1bHRhZCB5IFByb3llY3RvIEN1cnJpY3VsYXI6CgpGYWN1bHRhZAlQcm95ZWN0byBDdXJyaWN1bGFyCgkKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEKCgo=