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...
- 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= |