Estudio del problema Inventory Routing Problem (IRP)

El problema integrado de gestión de inventarios y de enrutamiento Inventory Routing Problem (IRP), combina las actividades logísticas de diseño de redes y manejo de inventarios. Es un problema NP-duro que tiene como objetivo atender al menor costo las necesidades de un conjunto de clientes, utilizan...

Full description

Autores:
Hincapié Londoño, Frank Alejandro
García Guevara, Jhonatan Stiven
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2021
Institución:
Universidad Tecnológica de Pereira
Repositorio:
Repositorio Institucional UTP
Idioma:
spa
OAI Identifier:
oai:repositorio.utp.edu.co:11059/14323
Acceso en línea:
https://hdl.handle.net/11059/14323
https://repositorio.utp.edu.co/home
Palabra clave:
380 - Comercio , comunicaciones, transporte::388 - Transporte
Almacenes generales de deposito
Distribución fisica de mercancias
Control de inventarios
Cadena de suministro
Enrutamiento - Vehiculos
Gestión de inventarios
Rights
openAccess
License
Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)
id UTP2_2ec735eba70144056c567d7e4149252e
oai_identifier_str oai:repositorio.utp.edu.co:11059/14323
network_acronym_str UTP2
network_name_str Repositorio Institucional UTP
repository_id_str
dc.title.spa.fl_str_mv Estudio del problema Inventory Routing Problem (IRP)
title Estudio del problema Inventory Routing Problem (IRP)
spellingShingle Estudio del problema Inventory Routing Problem (IRP)
380 - Comercio , comunicaciones, transporte::388 - Transporte
Almacenes generales de deposito
Distribución fisica de mercancias
Control de inventarios
Cadena de suministro
Enrutamiento - Vehiculos
Gestión de inventarios
title_short Estudio del problema Inventory Routing Problem (IRP)
title_full Estudio del problema Inventory Routing Problem (IRP)
title_fullStr Estudio del problema Inventory Routing Problem (IRP)
title_full_unstemmed Estudio del problema Inventory Routing Problem (IRP)
title_sort Estudio del problema Inventory Routing Problem (IRP)
dc.creator.fl_str_mv Hincapié Londoño, Frank Alejandro
García Guevara, Jhonatan Stiven
dc.contributor.advisor.none.fl_str_mv Toro Ocampo, Eliana Mirledy
dc.contributor.author.none.fl_str_mv Hincapié Londoño, Frank Alejandro
García Guevara, Jhonatan Stiven
dc.subject.ddc.none.fl_str_mv 380 - Comercio , comunicaciones, transporte::388 - Transporte
topic 380 - Comercio , comunicaciones, transporte::388 - Transporte
Almacenes generales de deposito
Distribución fisica de mercancias
Control de inventarios
Cadena de suministro
Enrutamiento - Vehiculos
Gestión de inventarios
dc.subject.lemb.none.fl_str_mv Almacenes generales de deposito
Distribución fisica de mercancias
Control de inventarios
dc.subject.proposal.spa.fl_str_mv Cadena de suministro
Enrutamiento - Vehiculos
Gestión de inventarios
description El problema integrado de gestión de inventarios y de enrutamiento Inventory Routing Problem (IRP), combina las actividades logísticas de diseño de redes y manejo de inventarios. Es un problema NP-duro que tiene como objetivo atender al menor costo las necesidades de un conjunto de clientes, utilizando una flota de vehículos, que a partir de un almacén central, recorren rutas de distribución para abastecer a los clientes en un horizonte de tiempo establecido. En un inicio se analizan de manera separada los modelos de gestión de inventarios y enrutamiento, así como sus variantes con el fin de tener un mayor conocimiento del funcionamiento individual de los modelos, para posteriormente abordar el problema conjunto del IRP.
publishDate 2021
dc.date.issued.none.fl_str_mv 2021
dc.date.accessioned.none.fl_str_mv 2022-10-20T14:29:59Z
dc.date.available.none.fl_str_mv 2022-10-20T14:29:59Z
dc.type.none.fl_str_mv Trabajo de grado - Pregrado
dc.type.version.none.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.content.none.fl_str_mv Text
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
format http://purl.org/coar/resource_type/c_7a1f
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/11059/14323
dc.identifier.instname.none.fl_str_mv Universidad Tecnológica de Pereira
dc.identifier.reponame.none.fl_str_mv Repositorio Institucional Universidad Tecnológica de Pereira
dc.identifier.repourl.none.fl_str_mv https://repositorio.utp.edu.co/home
url https://hdl.handle.net/11059/14323
https://repositorio.utp.edu.co/home
identifier_str_mv Universidad Tecnológica de Pereira
Repositorio Institucional Universidad Tecnológica de Pereira
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv Agra, A., Christiansen, M., Delgado, A., y Hvattum, L. M. (2015). A maritime inventory routing problem with stochastic sailing and port times. Computers & Operations Research, 61:18–30
Aksen, D., Kaya, O., Salman, F. S., y Akc¸a, Y. (2012). Selective and periodic inventory routing problem for waste vegetable oil collection. Optimization letters, 6(6):1063–1080.
Arboleda Zúñiga, J., López, A. X., y Lozano, Y. L. (2016). El problema de ruteo de vehículos [vrp] y su aplicacion en medianas empresas colombianas.
Archetti, C., Bertazzi, L., Laporte, G., y Speranza, M. G. (2007). A branch-and-cut algorithm for a vendor-managed inventory-routing problem. Transportation science, 41(3):382–391.
Batero, D. F. M. (2017). Modelo matematico multi-objetivo de ruteo e inventarios para la cadena ´ de suministro de perecederos: Caso sector fruticola. PhD thesis, PhD thesis.
Batero Manso, D. F. et al. (2004). Modelo matematico multi-objetivo de ruteo e inventarios para ´ la cadena de suministro de perecederos: Caso sector frut´ıcola.
Bell, W. J., Dalberto, L. M., Fisher, M. L., Greenfield, A. J., Jaikumar, R., Kedia, P., Mack, R. G., y Prutzman, P. J. (1983). Improving the distribution of industrial gases with an on-line computerized routing and scheduling optimizer. Interfaces, 13(6):4–23.
Campbell, A. M. y Savelsbergh, M. W. (2004). A decomposition approach for the inventory-routing problem. Transportation science, 38(4):488–502.
Casas, X. (2020). Comercio electronico en la cuarentena: la venta online creci ´ o un 84 % pero los ´ env´ıos demoran hasta 10 d´ıas.
Chandra, S., Srivastava, R. K., y Agarwal, Y. (2013). Multi-product maritime inventory routing with optional cargoes: An application to outbound automotive logistics. Journal of Advances in Management Research.
Christiansen, M., Fagerholt, K., Flatberg, T., Haugen, Ø., Kloster, O., y Lund, E. H. (2011). Maritime inventory routing with multiple products: A case study from the cement industry. European Journal of Operational Research, 208(1):86–94.
Coelho, L. C., Cordeau, J.-F., y Laporte, G. (2014). Heuristics for dynamic and stochastic inventory-routing. Computers & Operations Research, 52:55–67.
Coelho, L. C. y Laporte, G. (2013). The exact solution of several classes of inventory-routing problems. Computers & Operations Research, 40(2):558–565.
Dantzig, G. B. y Ramser, J. H. (1959). The truck dispatching problem. Management science, 6(1):80–91.
Departamento Nacional de Planeacion, . (2018). Encuesta nacional log ´ ´ıstica 2018.
Escobar, J. W. (2017). Supply chain optimization with variable demand by considering financial criteria and scenarios. Revista Facultad de Ingenier´ıa, 26(44):23–34.
Flood, M. M. (1956). The traveling-salesman problem. Operations research, 4(1):61–75.
Florindo, M. A. S. (2019). Gestao integrada das rotas de entrega e invent ˜ ario para um produto ´ . PhD thesis.
Gaur, V. y Fisher, M. L. (2004). A periodic inventory routing problem at a supermarket chain. Operations Research, 52(6):813–822.
Guerrero Rueda, W. J. et al. (2013). Modelos y metodos de optimizaci ´ on para el problema de ´ localizacion y ruteo de inventarios ´ . PhD thesis, Uniandes.
Hemmati, A., Hvattum, L. M., Christiansen, M., y Laporte, G. (2016). An iterative two-phase hybrid matheuristic for a multi-product short sea inventory-routing problem. European Journal of Operational Research, 252(3):775–788.
Hemmelmayr, V. C., Doerner, K. F., y Hartl, R. F. (2009). A variable neighborhood search heuristic for periodic routing problems. European Journal of Operational Research, 195(3):791–802.
Jaimes, W. A., D´ıaz, C. F., y Serna, M. D. A. (2011). Modelos log´ısticos para la optimizacion del ´ transporte de racimos de fruto fresco de palma de aceite en colombia. Ciencia e Ingenier´ıa Neogranadina, 21(1):89–114.
Kheiri, A. y Zografos, K. (2019). Modelling and solving the combined inventory routing problem with risk consideration. In Proceedings of the Genetic and Evolutionary Computation Conference Companion, pages 57–58
Mirzaei, S. y Seifi, A. (2015). Considering lost sale in inventory routing problems for perishable goods. Computers & Industrial Engineering, 87:213–227.
Ocampo, E. M. T. (2016). Solucion del problema de localizaci ´ on y ruteo usando un modelo ´ matematico flexible y considerando efectos ambientales ´ . PhD thesis, Universidad Tecnologica ´ de Pereira. Facultad de Ingenier´ıas Electrica . . . .
Oppen, J., Løkketangen, A., y Desrosiers, J. (2010). Solving a rich vehicle routing and inventory problem using column generation. Computers & Operations Research, 37(7):1308–1317.
Ponsot, E. (2008). El estudio de inventarios en la cadena de suministros: una mirada desde el subdesarrollo. Actualidad Contable FACES, 11(17):82–94.
Popovic, D., Vidovi ´ c, M., y Radivojevi ´ c, G. (2012). Variable neighborhood search heuristic for ´ the inventory routing problem in fuel delivery. Expert Systems with Applications, 39(18):13390–13398.
Raa, B. y Aghezzaf, E.-H. (2009). A practical solution approach for the cyclic inventory routing problem. European Journal of Operational Research, 192(2):429–441.
Riveros, D. P. B. y Silva, P. P. B. (2008). Importancia de la administracion log ´ ´ıstica. Scientia Et Technica, 1(38).
Rubio, P. A. V. (2020). En la primera semana de aislamiento, la penetracion del comercio digital ´ registro un alza de 100 %.
Song, J.-H. y Furman, K. C. (2013). A maritime inventory routing problem: Practical approach. Computers & Operations Research, 40(3):657–665.
Stacey, J., Natarajarathinam, M., y Sox, C. (2007). The storage constrained, inbound inventory routing problem. International Journal of Physical Distribution & Logistics Management.
Torres, M. M. (2012). Log´ıstica y costos. Ediciones D´ıaz de Santos.
Toth, P. y Vigo, D. (2014). Vehicle routing: problems, methods, and applications. SIAM.
Vidal, T., Laporte, G., y Matl, P. (2019). A concise guide to existing and emerging vehicle routing problem variants. European Journal of Operational Research.
Vivanco Navarro, V. I. (2013). Aplicacion de heur ´ ´ısticas para el inventory routing problems
dc.rights.license.none.fl_str_mv Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)
dc.rights.uri.none.fl_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)
https://creativecommons.org/licenses/by-nc-nd/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.none.fl_str_mv 101 Páginas
dc.format.mimetype.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad Tecnológica de Pereira
dc.publisher.program.none.fl_str_mv Ingeniería Industrial
dc.publisher.faculty.none.fl_str_mv Facultad de Ciencias Empresariales
dc.publisher.place.none.fl_str_mv Pereira
publisher.none.fl_str_mv Universidad Tecnológica de Pereira
institution Universidad Tecnológica de Pereira
bitstream.url.fl_str_mv https://dspace7-utp.metabuscador.org/bitstreams/49c9250e-611f-468c-b170-83f2cff37308/download
https://dspace7-utp.metabuscador.org/bitstreams/08806b59-a36f-4f7a-aa47-49d920f90086/download
https://dspace7-utp.metabuscador.org/bitstreams/41a8ad43-3567-4eb2-9125-c52171ae42d9/download
https://dspace7-utp.metabuscador.org/bitstreams/2e197a7d-5012-45f1-9b1f-1ffc918a3dd1/download
bitstream.checksum.fl_str_mv cd5f15b0be854bdd7b1ffb04992d6d91
2f9959eaf5b71fae44bbf9ec84150c7a
17953a22075df7f964c3f08293cffa53
3077e4630baef8910519bd58e36a3528
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio de la Universidad Tecnológica de Pereira
repository.mail.fl_str_mv bdigital@metabiblioteca.com
_version_ 1814021956175921152
spelling Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0)Manifiesto (Manifestamos) en este documento la voluntad de autorizar a la Biblioteca Jorge Roa Martínez de la Universidad Tecnológica de Pereira la publicación en el Repositorio institucional (http://biblioteca.utp.edu.co), la versión electrónica de la OBRA titulada: ________________________________________________________________________________________________ ________________________________________________________________________________________________ ________________________________________________________________________________________________ La Universidad Tecnológica de Pereira, entidad académica sin ánimo de lucro, queda por lo tanto facultada para ejercer plenamente la autorización anteriormente descrita en su actividad ordinaria de investigación, docencia y publicación. La autorización otorgada se ajusta a lo que establece la Ley 23 de 1982. Con todo, en mi (nuestra) condición de autor (es) me (nos) reservo (reservamos) los derechos morales de la OBRA antes citada con arreglo al artículo 30 dehttps://creativecommons.org/licenses/by-nc-nd/4.0/http://purl.org/coar/access_right/c_abf2info:eu-repo/semantics/openAccessToro Ocampo, Eliana MirledyHincapié Londoño, Frank AlejandroGarcía Guevara, Jhonatan Stiven2022-10-20T14:29:59Z2022-10-20T14:29:59Z2021https://hdl.handle.net/11059/14323Universidad Tecnológica de PereiraRepositorio Institucional Universidad Tecnológica de Pereirahttps://repositorio.utp.edu.co/homeEl problema integrado de gestión de inventarios y de enrutamiento Inventory Routing Problem (IRP), combina las actividades logísticas de diseño de redes y manejo de inventarios. Es un problema NP-duro que tiene como objetivo atender al menor costo las necesidades de un conjunto de clientes, utilizando una flota de vehículos, que a partir de un almacén central, recorren rutas de distribución para abastecer a los clientes en un horizonte de tiempo establecido. En un inicio se analizan de manera separada los modelos de gestión de inventarios y enrutamiento, así como sus variantes con el fin de tener un mayor conocimiento del funcionamiento individual de los modelos, para posteriormente abordar el problema conjunto del IRP.The Inventory Routing Problem (IRP) combines the logistics activities of network design and inventory management. It is a NP-hard problem that aims to meet the needs of a group of customers at the lowest cost, using a fleet of vehicles that, starting from a central warehouse, travel distribution routes to supply customers in a set time horizon. At the beginning, the inventory management and routing models, as well as their variants, are analyzed separately to have a better understanding of the individual operation of the models, to later address the joint problem of the IRP. From the understanding of the proposed models of the IRP, the model Inventory Routing Problem (IRP) will be replicated, using the algebraic programming software A Mathematical Programming Language (AMPL), validating it with the instances in liretaure, addressing two inventory supply policies, one of them maximum level (at the customer's request) and the other the Order up to level policy (fill the maximum storage capacities of the clients), there are also three ways to eliminate subtours (MTZ, Flows, general), since this is the part where the greatest computational complexity is found. Similarly, a new proposal is put forward to the multi-vehicle IRP problem, adapted from the IRP model, reaching a competitive model in affordable computational times. Finally, it is verified that the responses generated are of very good quality, highlighting the elimination of subtours by medium of the flow model since it is the most efficient model of the three proposed.Indice 1. Introduccion 10 ´ 2. Justificacion 12 ´ 3. Objetivos 13 3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2. Objetivos espec´ıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4. Marco referencial 14 4.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2. Enrutamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2.1. Vehicle routing problem (VRP) . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2.1.1. Capacitated Vehicle routing problem (CVRP) . . . . . . . . . . 17 4.2.1.2. Modelo matematico . . . . . . . . . . . . . . . . . . . . . . . . ´ 18 4.3. Gestion de inventarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 23 4.3.1. Modelo Single Sourcing . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.3.1.1. Modelo matematico . . . . . . . . . . . . . . . . . . . . . . . . ´ 24 4.3.2. Modelo Multiple Sourcing . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.3.2.1. Modelo matematico . . . . . . . . . . . . . . . . . . . . . . . . ´ 29 4.3.3. Modelo multiple sourcing considerando demanda estocastica . . . . . . . . ´ 32 4.3.3.1. Modelo matematico . . . . . . . . . . . . . . . . . . . . . . . . ´ 33 4.4. Inventory routing problem (IRP) . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.5. Tecnicas de soluci ´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 37 4.6. Variantes Inventory routing problem (IRP) . . . . . . . . . . . . . . . . . . . . . . 39 4.7. Aplicaciones del IRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5. Modelos matematicos 44 ´ 3 5.1. IRP bajo pol´ıtica de abastecimiento Maximum level (ML) . . . . . . . . . . . . . 45 5.2. IRP bajo pol´ıtica de abastecimiento Order up to level (OU) . . . . . . . . . . . . . 48 5.3. IRP con multiples veh ´ ´ıculos (multi vehicle IRP) . . . . . . . . . . . . . . . . . . . 52 5.4. Variaciones generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.4.1. Considerando stock de seguridad . . . . . . . . . . . . . . . . . . . . . . . 57 5.4.2. Considerando flota heterogenea . . . . . . . . . . . . . . . . . . . . . . . ´ 58 5.4.3. Particion del horizonte temporal . . . . . . . . . . . . . . . . . . . . . . . ´ 58 5.4.4. Eliminacion de subtours . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 59 5.4.4.1. Eliminacion de subtours por Miller-Tucker-Zemlin (MTZ) . . . . ´ 59 5.4.4.2. Eliminacion de subtours por flujos . . . . . . . . . . . . . . . . ´ 60 6. Resultados computacionales 61 6.1. Instancias de prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.2. Conteo de variables y restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.3. Resultados IRP bajo pol´ıtica ML . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.4. Resultados IRP bajo pol´ıtica OU . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.5. Resultados multi vehicle IRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 6.6. Interpretacion de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 87 7. Conclusiones y trabajos futuros 93 7.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 7.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95PregradoIngeniero(a) Industrial101 Páginasapplication/pdfspaUniversidad Tecnológica de PereiraIngeniería IndustrialFacultad de Ciencias EmpresarialesPereira380 - Comercio , comunicaciones, transporte::388 - TransporteAlmacenes generales de depositoDistribución fisica de mercanciasControl de inventariosCadena de suministroEnrutamiento - VehiculosGestión de inventariosEstudio del problema Inventory Routing Problem (IRP)Trabajo de grado - Pregradoinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTextinfo:eu-repo/semantics/bachelorThesisAgra, A., Christiansen, M., Delgado, A., y Hvattum, L. M. (2015). A maritime inventory routing problem with stochastic sailing and port times. Computers & Operations Research, 61:18–30Aksen, D., Kaya, O., Salman, F. S., y Akc¸a, Y. (2012). Selective and periodic inventory routing problem for waste vegetable oil collection. Optimization letters, 6(6):1063–1080.Arboleda Zúñiga, J., López, A. X., y Lozano, Y. L. (2016). El problema de ruteo de vehículos [vrp] y su aplicacion en medianas empresas colombianas.Archetti, C., Bertazzi, L., Laporte, G., y Speranza, M. G. (2007). A branch-and-cut algorithm for a vendor-managed inventory-routing problem. Transportation science, 41(3):382–391.Batero, D. F. M. (2017). Modelo matematico multi-objetivo de ruteo e inventarios para la cadena ´ de suministro de perecederos: Caso sector fruticola. PhD thesis, PhD thesis.Batero Manso, D. F. et al. (2004). Modelo matematico multi-objetivo de ruteo e inventarios para ´ la cadena de suministro de perecederos: Caso sector frut´ıcola.Bell, W. J., Dalberto, L. M., Fisher, M. L., Greenfield, A. J., Jaikumar, R., Kedia, P., Mack, R. G., y Prutzman, P. J. (1983). Improving the distribution of industrial gases with an on-line computerized routing and scheduling optimizer. Interfaces, 13(6):4–23.Campbell, A. M. y Savelsbergh, M. W. (2004). A decomposition approach for the inventory-routing problem. Transportation science, 38(4):488–502.Casas, X. (2020). Comercio electronico en la cuarentena: la venta online creci ´ o un 84 % pero los ´ env´ıos demoran hasta 10 d´ıas.Chandra, S., Srivastava, R. K., y Agarwal, Y. (2013). Multi-product maritime inventory routing with optional cargoes: An application to outbound automotive logistics. Journal of Advances in Management Research.Christiansen, M., Fagerholt, K., Flatberg, T., Haugen, Ø., Kloster, O., y Lund, E. H. (2011). Maritime inventory routing with multiple products: A case study from the cement industry. European Journal of Operational Research, 208(1):86–94.Coelho, L. C., Cordeau, J.-F., y Laporte, G. (2014). Heuristics for dynamic and stochastic inventory-routing. Computers & Operations Research, 52:55–67.Coelho, L. C. y Laporte, G. (2013). The exact solution of several classes of inventory-routing problems. Computers & Operations Research, 40(2):558–565.Dantzig, G. B. y Ramser, J. H. (1959). The truck dispatching problem. Management science, 6(1):80–91.Departamento Nacional de Planeacion, . (2018). Encuesta nacional log ´ ´ıstica 2018.Escobar, J. W. (2017). Supply chain optimization with variable demand by considering financial criteria and scenarios. Revista Facultad de Ingenier´ıa, 26(44):23–34.Flood, M. M. (1956). The traveling-salesman problem. Operations research, 4(1):61–75.Florindo, M. A. S. (2019). Gestao integrada das rotas de entrega e invent ˜ ario para um produto ´ . PhD thesis.Gaur, V. y Fisher, M. L. (2004). A periodic inventory routing problem at a supermarket chain. Operations Research, 52(6):813–822.Guerrero Rueda, W. J. et al. (2013). Modelos y metodos de optimizaci ´ on para el problema de ´ localizacion y ruteo de inventarios ´ . PhD thesis, Uniandes.Hemmati, A., Hvattum, L. M., Christiansen, M., y Laporte, G. (2016). An iterative two-phase hybrid matheuristic for a multi-product short sea inventory-routing problem. European Journal of Operational Research, 252(3):775–788.Hemmelmayr, V. C., Doerner, K. F., y Hartl, R. F. (2009). A variable neighborhood search heuristic for periodic routing problems. European Journal of Operational Research, 195(3):791–802.Jaimes, W. A., D´ıaz, C. F., y Serna, M. D. A. (2011). Modelos log´ısticos para la optimizacion del ´ transporte de racimos de fruto fresco de palma de aceite en colombia. Ciencia e Ingenier´ıa Neogranadina, 21(1):89–114.Kheiri, A. y Zografos, K. (2019). Modelling and solving the combined inventory routing problem with risk consideration. In Proceedings of the Genetic and Evolutionary Computation Conference Companion, pages 57–58Mirzaei, S. y Seifi, A. (2015). Considering lost sale in inventory routing problems for perishable goods. Computers & Industrial Engineering, 87:213–227.Ocampo, E. M. T. (2016). Solucion del problema de localizaci ´ on y ruteo usando un modelo ´ matematico flexible y considerando efectos ambientales ´ . PhD thesis, Universidad Tecnologica ´ de Pereira. Facultad de Ingenier´ıas Electrica . . . .Oppen, J., Løkketangen, A., y Desrosiers, J. (2010). Solving a rich vehicle routing and inventory problem using column generation. Computers & Operations Research, 37(7):1308–1317.Ponsot, E. (2008). El estudio de inventarios en la cadena de suministros: una mirada desde el subdesarrollo. Actualidad Contable FACES, 11(17):82–94.Popovic, D., Vidovi ´ c, M., y Radivojevi ´ c, G. (2012). Variable neighborhood search heuristic for ´ the inventory routing problem in fuel delivery. Expert Systems with Applications, 39(18):13390–13398.Raa, B. y Aghezzaf, E.-H. (2009). A practical solution approach for the cyclic inventory routing problem. European Journal of Operational Research, 192(2):429–441.Riveros, D. P. B. y Silva, P. P. B. (2008). Importancia de la administracion log ´ ´ıstica. Scientia Et Technica, 1(38).Rubio, P. A. V. (2020). En la primera semana de aislamiento, la penetracion del comercio digital ´ registro un alza de 100 %.Song, J.-H. y Furman, K. C. (2013). A maritime inventory routing problem: Practical approach. Computers & Operations Research, 40(3):657–665.Stacey, J., Natarajarathinam, M., y Sox, C. (2007). The storage constrained, inbound inventory routing problem. International Journal of Physical Distribution & Logistics Management.Torres, M. M. (2012). Log´ıstica y costos. Ediciones D´ıaz de Santos.Toth, P. y Vigo, D. (2014). Vehicle routing: problems, methods, and applications. SIAM.Vidal, T., Laporte, G., y Matl, P. (2019). A concise guide to existing and emerging vehicle routing problem variants. European Journal of Operational Research.Vivanco Navarro, V. I. (2013). Aplicacion de heur ´ ´ısticas para el inventory routing problemsPublicationORIGINALTRABAJO DE GRADO.pdfTRABAJO DE GRADO.pdfapplication/pdf4215360https://dspace7-utp.metabuscador.org/bitstreams/49c9250e-611f-468c-b170-83f2cff37308/downloadcd5f15b0be854bdd7b1ffb04992d6d91MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-814828https://dspace7-utp.metabuscador.org/bitstreams/08806b59-a36f-4f7a-aa47-49d920f90086/download2f9959eaf5b71fae44bbf9ec84150c7aMD52TEXTTRABAJO DE GRADO.pdf.txtTRABAJO DE GRADO.pdf.txtExtracted texttext/plain124060https://dspace7-utp.metabuscador.org/bitstreams/41a8ad43-3567-4eb2-9125-c52171ae42d9/download17953a22075df7f964c3f08293cffa53MD53THUMBNAILTRABAJO DE GRADO.pdf.jpgTRABAJO DE GRADO.pdf.jpgGenerated Thumbnailimage/jpeg5879https://dspace7-utp.metabuscador.org/bitstreams/2e197a7d-5012-45f1-9b1f-1ffc918a3dd1/download3077e4630baef8910519bd58e36a3528MD5411059/14323oai:dspace7-utp.metabuscador.org:11059/143232024-09-05 17:08:54.323https://creativecommons.org/licenses/by-nc-nd/4.0/Manifiesto (Manifestamos) en este documento la voluntad de autorizar a la Biblioteca Jorge Roa Martínez de la Universidad Tecnológica de Pereira la publicación en el Repositorio institucional (http://biblioteca.utp.edu.co), la versión electrónica de la OBRA titulada: ________________________________________________________________________________________________ ________________________________________________________________________________________________ ________________________________________________________________________________________________ La Universidad Tecnológica de Pereira, entidad académica sin ánimo de lucro, queda por lo tanto facultada para ejercer plenamente la autorización anteriormente descrita en su actividad ordinaria de investigación, docencia y publicación. La autorización otorgada se ajusta a lo que establece la Ley 23 de 1982. Con todo, en mi (nuestra) condición de autor (es) me (nos) reservo (reservamos) los derechos morales de la OBRA antes citada con arreglo al artículo 30 deopen.accesshttps://dspace7-utp.metabuscador.orgRepositorio de la Universidad Tecnológica de Pereirabdigital@metabiblioteca.comTEEgT0JSQSAoVEFMIFkgQ09NTyBTRSBERUZJTkUgTcOBUyBBREVMQU5URSkgU0UgT1RPUkdBIEJBSk8gTE9TIFRFUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgUMOaQkxJQ0EgREUgQ1JFQVRJVkUgQ09NTU9OUyAo4oCcTFBDQ+KAnSBPIOKAnExJQ0VOQ0lB4oCdKS4gTEEgT0JSQSBFU1TDgSBQUk9URUdJREEgUE9SIERFUkVDSE9TIERFIEFVVE9SIFkvVSBPVFJBUyBMRVlFUyBBUExJQ0FCTEVTLiBRVUVEQSBQUk9ISUJJRE8gQ1VBTFFVSUVSIFVTTyBRVUUgU0UgSEFHQSBERSBMQSBPQlJBIFFVRSBOTyBDVUVOVEUgQ09OIExBIEFVVE9SSVpBQ0nDk04gUEVSVElORU5URSBERSBDT05GT1JNSURBRCBDT04gTE9TIFTDiVJNSU5PUyBERSBFU1RBIExJQ0VOQ0lBIFkgREUgTEEgTEVZIERFIERFUkVDSE8gREUgQVVUT1IuCgpNRURJQU5URSBFTCBFSkVSQ0lDSU8gREUgQ1VBTFFVSUVSQSBERSBMT1MgREVSRUNIT1MgUVVFIFNFIE9UT1JHQU4gRU4gRVNUQSBMSUNFTkNJQSwgVVNURUQgQUNFUFRBIFkgQUNVRVJEQSBRVUVEQVIgT0JMSUdBRE8gRU4gTE9TIFRFUk1JTk9TIFFVRSBTRSBTRcORQUxBTiBFTiBFTExBLiBFTCBMSUNFTkNJQU5URSBDT05DRURFIEEgVVNURUQgTE9TIERFUkVDSE9TIENPTlRFTklET1MgRU4gRVNUQSBMSUNFTkNJQSBDT05ESUNJT05BRE9TIEEgTEEgQUNFUFRBQ0nDk04gREUgU1VTIFRFUk1JTk9TIFkgQ09ORElDSU9ORVMuCjEuIERlZmluaWNpb25lcwoKYS4JT2JyYSBDb2xlY3RpdmEgZXMgdW5hIG9icmEsIHRhbCBjb21vIHVuYSBwdWJsaWNhY2nDs24gcGVyacOzZGljYSwgdW5hIGFudG9sb2fDrWEsIG8gdW5hIGVuY2ljbG9wZWRpYSwgZW4gbGEgcXVlIGxhIG9icmEgZW4gc3UgdG90YWxpZGFkLCBzaW4gbW9kaWZpY2FjacOzbiBhbGd1bmEsIGp1bnRvIGNvbiB1biBncnVwbyBkZSBvdHJhcyBjb250cmlidWNpb25lcyBxdWUgY29uc3RpdHV5ZW4gb2JyYXMgc2VwYXJhZGFzIGUgaW5kZXBlbmRpZW50ZXMgZW4gc8OtIG1pc21hcywgc2UgaW50ZWdyYW4gZW4gdW4gdG9kbyBjb2xlY3Rpdm8uIFVuYSBPYnJhIHF1ZSBjb25zdGl0dXllIHVuYSBvYnJhIGNvbGVjdGl2YSBubyBzZSBjb25zaWRlcmFyw6EgdW5hIE9icmEgRGVyaXZhZGEgKGNvbW8gc2UgZGVmaW5lIGFiYWpvKSBwYXJhIGxvcyBwcm9ww7NzaXRvcyBkZSBlc3RhIGxpY2VuY2lhLiBhcXVlbGxhIHByb2R1Y2lkYSBwb3IgdW4gZ3J1cG8gZGUgYXV0b3JlcywgZW4gcXVlIGxhIE9icmEgc2UgZW5jdWVudHJhIHNpbiBtb2RpZmljYWNpb25lcywganVudG8gY29uIHVuYSBjaWVydGEgY2FudGlkYWQgZGUgb3RyYXMgY29udHJpYnVjaW9uZXMsIHF1ZSBjb25zdGl0dXllbiBlbiBzw60gbWlzbW9zIHRyYWJham9zIHNlcGFyYWRvcyBlIGluZGVwZW5kaWVudGVzLCBxdWUgc29uIGludGVncmFkb3MgYWwgdG9kbyBjb2xlY3Rpdm8sIHRhbGVzIGNvbW8gcHVibGljYWNpb25lcyBwZXJpw7NkaWNhcywgYW50b2xvZ8OtYXMgbyBlbmNpY2xvcGVkaWFzLgoKYi4JT2JyYSBEZXJpdmFkYSBzaWduaWZpY2EgdW5hIG9icmEgYmFzYWRhIGVuIGxhIG9icmEgb2JqZXRvIGRlIGVzdGEgbGljZW5jaWEgbyBlbiDDqXN0YSB5IG90cmFzIG9icmFzIHByZWV4aXN0ZW50ZXMsIHRhbGVzIGNvbW8gdHJhZHVjY2lvbmVzLCBhcnJlZ2xvcyBtdXNpY2FsZXMsIGRyYW1hdGl6YWNpb25lcywg4oCcZmljY2lvbmFsaXphY2lvbmVz4oCdLCB2ZXJzaW9uZXMgcGFyYSBjaW5lLCDigJxncmFiYWNpb25lcyBkZSBzb25pZG/igJ0sIHJlcHJvZHVjY2lvbmVzIGRlIGFydGUsIHJlc8O6bWVuZXMsIGNvbmRlbnNhY2lvbmVzLCBvIGN1YWxxdWllciBvdHJhIGVuIGxhIHF1ZSBsYSBvYnJhIHB1ZWRhIHNlciB0cmFuc2Zvcm1hZGEsIGNhbWJpYWRhIG8gYWRhcHRhZGEsIGV4Y2VwdG8gYXF1ZWxsYXMgcXVlIGNvbnN0aXR1eWFuIHVuYSBvYnJhIGNvbGVjdGl2YSwgbGFzIHF1ZSBubyBzZXLDoW4gY29uc2lkZXJhZGFzIHVuYSBvYnJhIGRlcml2YWRhIHBhcmEgZWZlY3RvcyBkZSBlc3RhIGxpY2VuY2lhLiAoUGFyYSBldml0YXIgZHVkYXMsIGVuIGVsIGNhc28gZGUgcXVlIGxhIE9icmEgc2VhIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbCBvIHVuYSBncmFiYWNpw7NuIHNvbm9yYSwgcGFyYSBsb3MgZWZlY3RvcyBkZSBlc3RhIExpY2VuY2lhIGxhIHNpbmNyb25pemFjacOzbiB0ZW1wb3JhbCBkZSBsYSBPYnJhIGNvbiB1bmEgaW1hZ2VuIGVuIG1vdmltaWVudG8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIHBhcmEgbG9zIGZpbmVzIGRlIGVzdGEgbGljZW5jaWEpLgoKYy4JTGljZW5jaWFudGUsIGVzIGVsIGluZGl2aWR1byBvIGxhIGVudGlkYWQgdGl0dWxhciBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgcXVlIG9mcmVjZSBsYSBPYnJhIGVuIGNvbmZvcm1pZGFkIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4KCmQuCUF1dG9yIG9yaWdpbmFsLCBlcyBlbCBpbmRpdmlkdW8gcXVlIGNyZcOzIGxhIE9icmEuCgplLglPYnJhLCBlcyBhcXVlbGxhIG9icmEgc3VzY2VwdGlibGUgZGUgcHJvdGVjY2nDs24gcG9yIGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IgeSBxdWUgZXMgb2ZyZWNpZGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhCgpmLglVc3RlZCwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCBxdWUgZWplcmNpdGEgbG9zIGRlcmVjaG9zIG90b3JnYWRvcyBhbCBhbXBhcm8gZGUgZXN0YSBMaWNlbmNpYSB5IHF1ZSBjb24gYW50ZXJpb3JpZGFkIG5vIGhhIHZpb2xhZG8gbGFzIGNvbmRpY2lvbmVzIGRlIGxhIG1pc21hIHJlc3BlY3RvIGEgbGEgT2JyYSwgbyBxdWUgaGF5YSBvYnRlbmlkbyBhdXRvcml6YWNpw7NuIGV4cHJlc2EgcG9yIHBhcnRlIGRlbCBMaWNlbmNpYW50ZSBwYXJhIGVqZXJjZXIgbG9zIGRlcmVjaG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHBlc2UgYSB1bmEgdmlvbGFjacOzbiBhbnRlcmlvci4KCjIuIERlcmVjaG9zIGRlIFVzb3MgSG9ucmFkb3MgeSBleGNlcGNpb25lcyBMZWdhbGVzLgpOYWRhIGVuIGVzdGEgTGljZW5jaWEgcG9kcsOhIHNlciBpbnRlcnByZXRhZG8gY29tbyB1bmEgZGlzbWludWNpw7NuLCBsaW1pdGFjacOzbiBvIHJlc3RyaWNjacOzbiBkZSBsb3MgZGVyZWNob3MgZGVyaXZhZG9zIGRlbCB1c28gaG9ucmFkbyB5IG90cmFzIGxpbWl0YWNpb25lcyBvIGV4Y2VwY2lvbmVzIGEgbG9zIGRlcmVjaG9zIGRlbCBhdXRvciBiYWpvIGVsIHLDqWdpbWVuIGxlZ2FsIHZpZ2VudGUgbyBkZXJpdmFkbyBkZSBjdWFscXVpZXIgb3RyYSBub3JtYSBxdWUgc2UgbGUgYXBsaXF1ZS4KCjMuIENvbmNlc2nDs24gZGUgbGEgTGljZW5jaWEuCkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246CgphLglSZXByb2R1Y2lyIGxhIE9icmEsIGluY29ycG9yYXIgbGEgT2JyYSBlbiB1bmEgbyBtw6FzIE9icmFzIENvbGVjdGl2YXMsIHkgcmVwcm9kdWNpciBsYSBPYnJhIGluY29ycG9yYWRhIGVuIGxhcyBPYnJhcyBDb2xlY3RpdmFzLgoKYi4JRGlzdHJpYnVpciBjb3BpYXMgbyBmb25vZ3JhbWFzIGRlIGxhcyBPYnJhcywgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYSwgaW5jbHV5w6luZG9sYXMgY29tbyBpbmNvcnBvcmFkYXMgZW4gT2JyYXMgQ29sZWN0aXZhcywgc2Vnw7puIGNvcnJlc3BvbmRhLgoKYy4JRGlzdHJpYnVpciBjb3BpYXMgZGUgbGFzIE9icmFzIERlcml2YWRhcyBxdWUgc2UgZ2VuZXJlbiwgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4KTG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuIFRvZG9zIGxvcyBkZXJlY2hvcyBubyBvdG9yZ2Fkb3MgZXhwcmVzYW1lbnRlIHBvciBlbCBMaWNlbmNpYW50ZSBxdWVkYW4gcG9yIGVzdGUgbWVkaW8gcmVzZXJ2YWRvcywgaW5jbHV5ZW5kbyBwZXJvIHNpbiBsaW1pdGFyc2UgYSBhcXVlbGxvcyBxdWUgc2UgbWVuY2lvbmFuIGVuIGxhcyBzZWNjaW9uZXMgNChkKSB5IDQoZSkuCgo0LiBSZXN0cmljY2lvbmVzLgpMYSBsaWNlbmNpYSBvdG9yZ2FkYSBlbiBsYSBhbnRlcmlvciBTZWNjacOzbiAzIGVzdMOhIGV4cHJlc2FtZW50ZSBzdWpldGEgeSBsaW1pdGFkYSBwb3IgbGFzIHNpZ3VpZW50ZXMgcmVzdHJpY2Npb25lczoKCmEuCVVzdGVkIHB1ZWRlIGRpc3RyaWJ1aXIsIGV4aGliaXIgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXIgcMO6YmxpY2FtZW50ZSwgbyBwb25lciBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIHPDs2xvIGJham8gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIHkgVXN0ZWQgZGViZSBpbmNsdWlyIHVuYSBjb3BpYSBkZSBlc3RhIGxpY2VuY2lhIG8gZGVsIElkZW50aWZpY2Fkb3IgVW5pdmVyc2FsIGRlIFJlY3Vyc29zIGRlIGxhIG1pc21hIGNvbiBjYWRhIGNvcGlhIGRlIGxhIE9icmEgcXVlIGRpc3RyaWJ1eWEsIGV4aGliYSBww7pibGljYW1lbnRlLCBlamVjdXRlIHDDumJsaWNhbWVudGUgbyBwb25nYSBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4gTm8gZXMgcG9zaWJsZSBvZnJlY2VyIG8gaW1wb25lciBuaW5ndW5hIGNvbmRpY2nDs24gc29icmUgbGEgT2JyYSBxdWUgYWx0ZXJlIG8gbGltaXRlIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIG8gZWwgZWplcmNpY2lvIGRlIGxvcyBkZXJlY2hvcyBkZSBsb3MgZGVzdGluYXRhcmlvcyBvdG9yZ2Fkb3MgZW4gZXN0ZSBkb2N1bWVudG8uIE5vIGVzIHBvc2libGUgc3VibGljZW5jaWFyIGxhIE9icmEuIFVzdGVkIGRlYmUgbWFudGVuZXIgaW50YWN0b3MgdG9kb3MgbG9zIGF2aXNvcyBxdWUgaGFnYW4gcmVmZXJlbmNpYSBhIGVzdGEgTGljZW5jaWEgeSBhIGxhIGNsw6F1c3VsYSBkZSBsaW1pdGFjacOzbiBkZSBnYXJhbnTDrWFzLiBVc3RlZCBubyBwdWVkZSBkaXN0cmlidWlyLCBleGhpYmlyIHDDumJsaWNhbWVudGUsIGVqZWN1dGFyIHDDumJsaWNhbWVudGUsIG8gcG9uZXIgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBjb24gYWxndW5hIG1lZGlkYSB0ZWNub2zDs2dpY2EgcXVlIGNvbnRyb2xlIGVsIGFjY2VzbyBvIGxhIHV0aWxpemFjacOzbiBkZSBlbGxhIGRlIHVuYSBmb3JtYSBxdWUgc2VhIGluY29uc2lzdGVudGUgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBMbyBhbnRlcmlvciBzZSBhcGxpY2EgYSBsYSBPYnJhIGluY29ycG9yYWRhIGEgdW5hIE9icmEgQ29sZWN0aXZhLCBwZXJvIGVzdG8gbm8gZXhpZ2UgcXVlIGxhIE9icmEgQ29sZWN0aXZhIGFwYXJ0ZSBkZSBsYSBvYnJhIG1pc21hIHF1ZWRlIHN1amV0YSBhIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBTaSBVc3RlZCBjcmVhIHVuYSBPYnJhIENvbGVjdGl2YSwgcHJldmlvIGF2aXNvIGRlIGN1YWxxdWllciBMaWNlbmNpYW50ZSBkZWJlLCBlbiBsYSBtZWRpZGEgZGUgbG8gcG9zaWJsZSwgZWxpbWluYXIgZGUgbGEgT2JyYSBDb2xlY3RpdmEgY3VhbHF1aWVyIHJlZmVyZW5jaWEgYSBkaWNobyBMaWNlbmNpYW50ZSBvIGFsIEF1dG9yIE9yaWdpbmFsLCBzZWfDum4gbG8gc29saWNpdGFkbyBwb3IgZWwgTGljZW5jaWFudGUgeSBjb25mb3JtZSBsbyBleGlnZSBsYSBjbMOhdXN1bGEgNChjKS4KCmIuCVVzdGVkIG5vIHB1ZWRlIGVqZXJjZXIgbmluZ3VubyBkZSBsb3MgZGVyZWNob3MgcXVlIGxlIGhhbiBzaWRvIG90b3JnYWRvcyBlbiBsYSBTZWNjacOzbiAzIHByZWNlZGVudGUgZGUgbW9kbyBxdWUgZXN0w6luIHByaW5jaXBhbG1lbnRlIGRlc3RpbmFkb3MgbyBkaXJlY3RhbWVudGUgZGlyaWdpZG9zIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLiBFbCBpbnRlcmNhbWJpbyBkZSBsYSBPYnJhIHBvciBvdHJhcyBvYnJhcyBwcm90ZWdpZGFzIHBvciBkZXJlY2hvcyBkZSBhdXRvciwgeWEgc2VhIGEgdHJhdsOpcyBkZSB1biBzaXN0ZW1hIHBhcmEgY29tcGFydGlyIGFyY2hpdm9zIGRpZ2l0YWxlcyAoZGlnaXRhbCBmaWxlLXNoYXJpbmcpIG8gZGUgY3VhbHF1aWVyIG90cmEgbWFuZXJhIG5vIHNlcsOhIGNvbnNpZGVyYWRvIGNvbW8gZXN0YXIgZGVzdGluYWRvIHByaW5jaXBhbG1lbnRlIG8gZGlyaWdpZG8gZGlyZWN0YW1lbnRlIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLCBzaWVtcHJlIHF1ZSBubyBzZSByZWFsaWNlIHVuIHBhZ28gbWVkaWFudGUgdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIGVuIHJlbGFjacOzbiBjb24gZWwgaW50ZXJjYW1iaW8gZGUgb2JyYXMgcHJvdGVnaWRhcyBwb3IgZWwgZGVyZWNobyBkZSBhdXRvci4KCmMuCVNpIHVzdGVkIGRpc3RyaWJ1eWUsIGV4aGliZSBww7pibGljYW1lbnRlLCBlamVjdXRhIHDDumJsaWNhbWVudGUgbyBlamVjdXRhIHDDumJsaWNhbWVudGUgZW4gZm9ybWEgZGlnaXRhbCBsYSBPYnJhIG8gY3VhbHF1aWVyIE9icmEgRGVyaXZhZGEgdSBPYnJhIENvbGVjdGl2YSwgVXN0ZWQgZGViZSBtYW50ZW5lciBpbnRhY3RhIHRvZGEgbGEgaW5mb3JtYWNpw7NuIGRlIGRlcmVjaG8gZGUgYXV0b3IgZGUgbGEgT2JyYSB5IHByb3BvcmNpb25hciwgZGUgZm9ybWEgcmF6b25hYmxlIHNlZ8O6biBlbCBtZWRpbyBvIG1hbmVyYSBxdWUgVXN0ZWQgZXN0w6kgdXRpbGl6YW5kbzogKGkpIGVsIG5vbWJyZSBkZWwgQXV0b3IgT3JpZ2luYWwgc2kgZXN0w6EgcHJvdmlzdG8gKG8gc2V1ZMOzbmltbywgc2kgZnVlcmUgYXBsaWNhYmxlKSwgeS9vIChpaSkgZWwgbm9tYnJlIGRlIGxhIHBhcnRlIG8gbGFzIHBhcnRlcyBxdWUgZWwgQXV0b3IgT3JpZ2luYWwgeS9vIGVsIExpY2VuY2lhbnRlIGh1YmllcmVuIGRlc2lnbmFkbyBwYXJhIGxhIGF0cmlidWNpw7NuICh2LmcuLCB1biBpbnN0aXR1dG8gcGF0cm9jaW5hZG9yLCBlZGl0b3JpYWwsIHB1YmxpY2FjacOzbikgZW4gbGEgaW5mb3JtYWNpw7NuIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZWwgTGljZW5jaWFudGUsIHTDqXJtaW5vcyBkZSBzZXJ2aWNpb3MgbyBkZSBvdHJhcyBmb3JtYXMgcmF6b25hYmxlczsgZWwgdMOtdHVsbyBkZSBsYSBPYnJhIHNpIGVzdMOhIHByb3Zpc3RvOyBlbiBsYSBtZWRpZGEgZGUgbG8gcmF6b25hYmxlbWVudGUgZmFjdGlibGUgeSwgc2kgZXN0w6EgcHJvdmlzdG8sIGVsIElkZW50aWZpY2Fkb3IgVW5pZm9ybWUgZGUgUmVjdXJzb3MgKFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcikgcXVlIGVsIExpY2VuY2lhbnRlIGVzcGVjaWZpY2EgcGFyYSBzZXIgYXNvY2lhZG8gY29uIGxhIE9icmEsIHNhbHZvIHF1ZSB0YWwgVVJJIG5vIHNlIHJlZmllcmEgYSBsYSBub3RhIHNvYnJlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBvIGEgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIGxpY2VuY2lhbWllbnRvIGRlIGxhIE9icmE7IHkgZW4gZWwgY2FzbyBkZSB1bmEgT2JyYSBEZXJpdmFkYSwgYXRyaWJ1aXIgZWwgY3LDqWRpdG8gaWRlbnRpZmljYW5kbyBlbCB1c28gZGUgbGEgT2JyYSBlbiBsYSBPYnJhIERlcml2YWRhICh2LmcuLCAiVHJhZHVjY2nDs24gRnJhbmNlc2EgZGUgbGEgT2JyYSBkZWwgQXV0b3IgT3JpZ2luYWwsIiBvICJHdWnDs24gQ2luZW1hdG9ncsOhZmljbyBiYXNhZG8gZW4gbGEgT2JyYSBvcmlnaW5hbCBkZWwgQXV0b3IgT3JpZ2luYWwiKS4gVGFsIGNyw6lkaXRvIHB1ZWRlIHNlciBpbXBsZW1lbnRhZG8gZGUgY3VhbHF1aWVyIGZvcm1hIHJhem9uYWJsZTsgZW4gZWwgY2Fzbywgc2luIGVtYmFyZ28sIGRlIE9icmFzIERlcml2YWRhcyB1IE9icmFzIENvbGVjdGl2YXMsIHRhbCBjcsOpZGl0byBhcGFyZWNlcsOhLCBjb21vIG3DrW5pbW8sIGRvbmRlIGFwYXJlY2UgZWwgY3LDqWRpdG8gZGUgY3VhbHF1aWVyIG90cm8gYXV0b3IgY29tcGFyYWJsZSB5IGRlIHVuYSBtYW5lcmEsIGFsIG1lbm9zLCB0YW4gZGVzdGFjYWRhIGNvbW8gZWwgY3LDqWRpdG8gZGUgb3RybyBhdXRvciBjb21wYXJhYmxlLgoKZC4JUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBlcyB1bmEgY29tcG9zaWNpw7NuIG11c2ljYWw6CgppLglSZWdhbMOtYXMgcG9yIGludGVycHJldGFjacOzbiB5IGVqZWN1Y2nDs24gYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgeSBkZSByZWNvbGVjdGFyLCBzZWEgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgU0FZQ08pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbyBXZWJjYXN0KSBsaWNlbmNpYWRhIGJham8gbGljZW5jaWFzIGdlbmVyYWxlcywgc2kgbGEgaW50ZXJwcmV0YWNpw7NuIG8gZWplY3VjacOzbiBkZSBsYSBvYnJhIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBvcmllbnRhZGEgcG9yIG8gZGlyaWdpZGEgYSBsYSBvYnRlbmNpw7NuIGRlIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgoKaWkuCVJlZ2Fsw61hcyBwb3IgRm9ub2dyYW1hcy4gRWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSByZWNvbGVjdGFyLCBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBsb3MgY29uc2FncmFkb3MgcG9yIGxhIFNBWUNPKSwgdW5hIGFnZW5jaWEgZGUgZGVyZWNob3MgbXVzaWNhbGVzIG8gYWxnw7puIGFnZW50ZSBkZXNpZ25hZG8sIGxhcyByZWdhbMOtYXMgcG9yIGN1YWxxdWllciBmb25vZ3JhbWEgcXVlIFVzdGVkIGNyZWUgYSBwYXJ0aXIgZGUgbGEgb2JyYSAo4oCcdmVyc2nDs24gY292ZXLigJ0pIHkgZGlzdHJpYnV5YSwgZW4gbG9zIHTDqXJtaW5vcyBkZWwgcsOpZ2ltZW4gZGUgZGVyZWNob3MgZGUgYXV0b3IsIHNpIGxhIGNyZWFjacOzbiBvIGRpc3RyaWJ1Y2nDs24gZGUgZXNhIHZlcnNpw7NuIGNvdmVyIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkZXN0aW5hZGEgbyBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgplLglHZXN0acOzbiBkZSBEZXJlY2hvcyBkZSBBdXRvciBzb2JyZSBJbnRlcnByZXRhY2lvbmVzIHkgRWplY3VjaW9uZXMgRGlnaXRhbGVzIChXZWJDYXN0aW5nKS4gUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBzZWEgdW4gZm9ub2dyYW1hLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpIHkgZGUgcmVjb2xlY3RhciwgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgQUNJTlBSTyksIGxhcyByZWdhbMOtYXMgcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbywgd2ViY2FzdCksIHN1amV0YSBhIGxhcyBkaXNwb3NpY2lvbmVzIGFwbGljYWJsZXMgZGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IsIHNpIGVzdGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgo1LiBSZXByZXNlbnRhY2lvbmVzLCBHYXJhbnTDrWFzIHkgTGltaXRhY2lvbmVzIGRlIFJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTEFTIFBBUlRFUyBMTyBBQ09SREFSQU4gREUgT1RSQSBGT1JNQSBQT1IgRVNDUklUTywgRUwgTElDRU5DSUFOVEUgT0ZSRUNFIExBIE9CUkEgKEVOIEVMIEVTVEFETyBFTiBFTCBRVUUgU0UgRU5DVUVOVFJBKSDigJxUQUwgQ1VBTOKAnSwgU0lOIEJSSU5EQVIgR0FSQU5Uw41BUyBERSBDTEFTRSBBTEdVTkEgUkVTUEVDVE8gREUgTEEgT0JSQSwgWUEgU0VBIEVYUFJFU0EsIElNUEzDjUNJVEEsIExFR0FMIE8gQ1VBTFFVSUVSQSBPVFJBLCBJTkNMVVlFTkRPLCBTSU4gTElNSVRBUlNFIEEgRUxMQVMsIEdBUkFOVMONQVMgREUgVElUVUxBUklEQUQsIENPTUVSQ0lBQklMSURBRCwgQURBUFRBQklMSURBRCBPIEFERUNVQUNJw5NOIEEgUFJPUMOTU0lUTyBERVRFUk1JTkFETywgQVVTRU5DSUEgREUgSU5GUkFDQ0nDk04sIERFIEFVU0VOQ0lBIERFIERFRkVDVE9TIExBVEVOVEVTIE8gREUgT1RSTyBUSVBPLCBPIExBIFBSRVNFTkNJQSBPIEFVU0VOQ0lBIERFIEVSUk9SRVMsIFNFQU4gTyBOTyBERVNDVUJSSUJMRVMgKFBVRURBTiBPIE5PIFNFUiBFU1RPUyBERVNDVUJJRVJUT1MpLiBBTEdVTkFTIEpVUklTRElDQ0lPTkVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgR0FSQU5Uw41BUyBJTVBMw41DSVRBUywgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjYuIExpbWl0YWNpw7NuIGRlIHJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTE8gRVhJSkEgRVhQUkVTQU1FTlRFIExBIExFWSBBUExJQ0FCTEUsIEVMIExJQ0VOQ0lBTlRFIE5PIFNFUsOBIFJFU1BPTlNBQkxFIEFOVEUgVVNURUQgUE9SIERBw5FPIEFMR1VOTywgU0VBIFBPUiBSRVNQT05TQUJJTElEQUQgRVhUUkFDT05UUkFDVFVBTCwgUFJFQ09OVFJBQ1RVQUwgTyBDT05UUkFDVFVBTCwgT0JKRVRJVkEgTyBTVUJKRVRJVkEsIFNFIFRSQVRFIERFIERBw5FPUyBNT1JBTEVTIE8gUEFUUklNT05JQUxFUywgRElSRUNUT1MgTyBJTkRJUkVDVE9TLCBQUkVWSVNUT1MgTyBJTVBSRVZJU1RPUyBQUk9EVUNJRE9TIFBPUiBFTCBVU08gREUgRVNUQSBMSUNFTkNJQSBPIERFIExBIE9CUkEsIEFVTiBDVUFORE8gRUwgTElDRU5DSUFOVEUgSEFZQSBTSURPIEFEVkVSVElETyBERSBMQSBQT1NJQklMSURBRCBERSBESUNIT1MgREHDkU9TLiBBTEdVTkFTIExFWUVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgQ0lFUlRBIFJFU1BPTlNBQklMSURBRCwgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjcuIFTDqXJtaW5vLgoKYS4JRXN0YSBMaWNlbmNpYSB5IGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgZW4gdmlydHVkIGRlIGVsbGEgdGVybWluYXLDoW4gYXV0b23DoXRpY2FtZW50ZSBzaSBVc3RlZCBpbmZyaW5nZSBhbGd1bmEgY29uZGljacOzbiBlc3RhYmxlY2lkYSBlbiBlbGxhLiBTaW4gZW1iYXJnbywgbG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgcXVlIGhhbiByZWNpYmlkbyBPYnJhcyBEZXJpdmFkYXMgbyBDb2xlY3RpdmFzIGRlIFVzdGVkIGRlIGNvbmZvcm1pZGFkIGNvbiBlc3RhIExpY2VuY2lhLCBubyB2ZXLDoW4gdGVybWluYWRhcyBzdXMgbGljZW5jaWFzLCBzaWVtcHJlIHF1ZSBlc3RvcyBpbmRpdmlkdW9zIG8gZW50aWRhZGVzIHNpZ2FuIGN1bXBsaWVuZG8gw61udGVncmFtZW50ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YXMgbGljZW5jaWFzLiBMYXMgU2VjY2lvbmVzIDEsIDIsIDUsIDYsIDcsIHkgOCBzdWJzaXN0aXLDoW4gYSBjdWFscXVpZXIgdGVybWluYWNpw7NuIGRlIGVzdGEgTGljZW5jaWEuCgpiLglTdWpldGEgYSBsYXMgY29uZGljaW9uZXMgeSB0w6lybWlub3MgYW50ZXJpb3JlcywgbGEgbGljZW5jaWEgb3RvcmdhZGEgYXF1w60gZXMgcGVycGV0dWEgKGR1cmFudGUgZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGRlIGxhIG9icmEpLiBObyBvYnN0YW50ZSBsbyBhbnRlcmlvciwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGEgcHVibGljYXIgeS9vIGVzdHJlbmFyIGxhIE9icmEgYmFqbyBjb25kaWNpb25lcyBkZSBsaWNlbmNpYSBkaWZlcmVudGVzIG8gYSBkZWphciBkZSBkaXN0cmlidWlybGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIExpY2VuY2lhIGVuIGN1YWxxdWllciBtb21lbnRvOyBlbiBlbCBlbnRlbmRpZG8sIHNpbiBlbWJhcmdvLCBxdWUgZXNhIGVsZWNjacOzbiBubyBzZXJ2aXLDoSBwYXJhIHJldm9jYXIgZXN0YSBsaWNlbmNpYSBvIHF1ZSBkZWJhIHNlciBvdG9yZ2FkYSAsIGJham8gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhKSwgeSBlc3RhIGxpY2VuY2lhIGNvbnRpbnVhcsOhIGVuIHBsZW5vIHZpZ29yIHkgZWZlY3RvIGEgbWVub3MgcXVlIHNlYSB0ZXJtaW5hZGEgY29tbyBzZSBleHByZXNhIGF0csOhcy4gTGEgTGljZW5jaWEgcmV2b2NhZGEgY29udGludWFyw6Egc2llbmRvIHBsZW5hbWVudGUgdmlnZW50ZSB5IGVmZWN0aXZhIHNpIG5vIHNlIGxlIGRhIHTDqXJtaW5vIGVuIGxhcyBjb25kaWNpb25lcyBpbmRpY2FkYXMgYW50ZXJpb3JtZW50ZS4KCjguIFZhcmlvcy4KCmEuCUNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuCgpiLglTaSBhbGd1bmEgZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgcmVzdWx0YSBpbnZhbGlkYWRhIG8gbm8gZXhpZ2libGUsIHNlZ8O6biBsYSBsZWdpc2xhY2nDs24gdmlnZW50ZSwgZXN0byBubyBhZmVjdGFyw6EgbmkgbGEgdmFsaWRleiBuaSBsYSBhcGxpY2FiaWxpZGFkIGRlbCByZXN0byBkZSBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIHksIHNpbiBhY2Npw7NuIGFkaWNpb25hbCBwb3IgcGFydGUgZGUgbG9zIHN1amV0b3MgZGUgZXN0ZSBhY3VlcmRvLCBhcXXDqWxsYSBzZSBlbnRlbmRlcsOhIHJlZm9ybWFkYSBsbyBtw61uaW1vIG5lY2VzYXJpbyBwYXJhIGhhY2VyIHF1ZSBkaWNoYSBkaXNwb3NpY2nDs24gc2VhIHbDoWxpZGEgeSBleGlnaWJsZS4KCmMuCU5pbmfDum4gdMOpcm1pbm8gbyBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSBzZSBlc3RpbWFyw6EgcmVudW5jaWFkYSB5IG5pbmd1bmEgdmlvbGFjacOzbiBkZSBlbGxhIHNlcsOhIGNvbnNlbnRpZGEgYSBtZW5vcyBxdWUgZXNhIHJlbnVuY2lhIG8gY29uc2VudGltaWVudG8gc2VhIG90b3JnYWRvIHBvciBlc2NyaXRvIHkgZmlybWFkbyBwb3IgbGEgcGFydGUgcXVlIHJlbnVuY2llIG8gY29uc2llbnRhLgoKZC4JRXN0YSBMaWNlbmNpYSByZWZsZWphIGVsIGFjdWVyZG8gcGxlbm8gZW50cmUgbGFzIHBhcnRlcyByZXNwZWN0byBhIGxhIE9icmEgYXF1w60gbGljZW5jaWFkYS4gTm8gaGF5IGFycmVnbG9zLCBhY3VlcmRvcyBvIGRlY2xhcmFjaW9uZXMgcmVzcGVjdG8gYSBsYSBPYnJhIHF1ZSBubyBlc3TDqW4gZXNwZWNpZmljYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gRWwgTGljZW5jaWFudGUgbm8gc2UgdmVyw6EgbGltaXRhZG8gcG9yIG5pbmd1bmEgZGlzcG9zaWNpw7NuIGFkaWNpb25hbCBxdWUgcHVlZGEgc3VyZ2lyIGVuIGFsZ3VuYSBjb211bmljYWNpw7NuIGVtYW5hZGEgZGUgVXN0ZWQuIEVzdGEgTGljZW5jaWEgbm8gcHVlZGUgc2VyIG1vZGlmaWNhZGEgc2luIGVsIGNvbnNlbnRpbWllbnRvIG11dHVvIHBvciBlc2NyaXRvIGRlbCBMaWNlbmNpYW50ZSB5IFVzdGVkLgo=