Prototipo arquitectónico para aplicaciones de alta concurrencia basado en el modelo de actores con la Aplicación de Akka Toolkit
Con el propósito de analizar soluciones alternativas a los problemas de concurrencia y la alta demanda de los usuarios sobre las aplicaciones actuales, en el presente documento se realiza un análisis del modelo de actores, a partir de la construcción de un prototipo arquitectónico que se preocupa, a...
- Autores:
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2016
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/7344
- Acceso en línea:
- http://hdl.handle.net/11349/7344
- Palabra clave:
- Actores
Concurrencia
Akka
Scala
Paraleismo
Reactivo
Ingeniería Telemática - Tesis y disertaciones académicas
Desarrollo de prototipos
Desarrollo de programas para computador
Arquitectura de computadores
Actors
Concurrence
Akka
Scala
Parallelism
Reagent
- Rights
- License
- Atribución-NoComercial-SinDerivadas 4.0 Internacional
id |
UDISTRITA2_ead4206eb8c5436b8a53614a84bd7e5b |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/7344 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Prototipo arquitectónico para aplicaciones de alta concurrencia basado en el modelo de actores con la Aplicación de Akka Toolkit |
dc.title.titleenglish.spa.fl_str_mv |
Architectural prototype for high concurrency applications based on the actor model with the Akka Toolkit Application |
title |
Prototipo arquitectónico para aplicaciones de alta concurrencia basado en el modelo de actores con la Aplicación de Akka Toolkit |
spellingShingle |
Prototipo arquitectónico para aplicaciones de alta concurrencia basado en el modelo de actores con la Aplicación de Akka Toolkit Actores Concurrencia Akka Scala Paraleismo Reactivo Ingeniería Telemática - Tesis y disertaciones académicas Desarrollo de prototipos Desarrollo de programas para computador Arquitectura de computadores Actors Concurrence Akka Scala Parallelism Reagent |
title_short |
Prototipo arquitectónico para aplicaciones de alta concurrencia basado en el modelo de actores con la Aplicación de Akka Toolkit |
title_full |
Prototipo arquitectónico para aplicaciones de alta concurrencia basado en el modelo de actores con la Aplicación de Akka Toolkit |
title_fullStr |
Prototipo arquitectónico para aplicaciones de alta concurrencia basado en el modelo de actores con la Aplicación de Akka Toolkit |
title_full_unstemmed |
Prototipo arquitectónico para aplicaciones de alta concurrencia basado en el modelo de actores con la Aplicación de Akka Toolkit |
title_sort |
Prototipo arquitectónico para aplicaciones de alta concurrencia basado en el modelo de actores con la Aplicación de Akka Toolkit |
dc.contributor.advisor.spa.fl_str_mv |
Leguizamón Páez, Miguel Ángel |
dc.subject.spa.fl_str_mv |
Actores Concurrencia Akka Scala Paraleismo Reactivo |
topic |
Actores Concurrencia Akka Scala Paraleismo Reactivo Ingeniería Telemática - Tesis y disertaciones académicas Desarrollo de prototipos Desarrollo de programas para computador Arquitectura de computadores Actors Concurrence Akka Scala Parallelism Reagent |
dc.subject.lemb.spa.fl_str_mv |
Ingeniería Telemática - Tesis y disertaciones académicas Desarrollo de prototipos Desarrollo de programas para computador Arquitectura de computadores |
dc.subject.keyword.spa.fl_str_mv |
Actors Concurrence Akka Scala Parallelism Reagent |
description |
Con el propósito de analizar soluciones alternativas a los problemas de concurrencia y la alta demanda de los usuarios sobre las aplicaciones actuales, en el presente documento se realiza un análisis del modelo de actores, a partir de la construcción de un prototipo arquitectónico que se preocupa, además, por los elementos descritos por el manifiesto reactivo: responsividad, resiliencia, elasticidad y orientación a mensajes. Bajo esos paradigmas se ejecuta este proyecto. En el documento se presenta la elaboración del diseño, el desarrollo y las pruebas de rendimiento en búsqueda de concluir si la propuesta constituye una solución adecuada. |
publishDate |
2016 |
dc.date.created.spa.fl_str_mv |
2016-05-25 |
dc.date.accessioned.none.fl_str_mv |
2017-12-26T20:19:04Z |
dc.date.available.none.fl_str_mv |
2017-12-26T20:19:04Z |
dc.type.degree.spa.fl_str_mv |
Monografía |
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/7344 |
url |
http://hdl.handle.net/11349/7344 |
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/7344/6/Monta%c3%b1ezBravoSim%c3%b3nAndr%c3%a9s2016.pdf.jpg http://repository.udistrital.edu.co/bitstream/11349/7344/5/license.txt http://repository.udistrital.edu.co/bitstream/11349/7344/2/license_url http://repository.udistrital.edu.co/bitstream/11349/7344/3/license_text http://repository.udistrital.edu.co/bitstream/11349/7344/4/license_rdf http://repository.udistrital.edu.co/bitstream/11349/7344/1/Monta%c3%b1ezBravoSim%c3%b3nAndr%c3%a9s2016.pdf |
bitstream.checksum.fl_str_mv |
7c01ef3fb645d4ce53ecfd3b692c0ff0 b204d61d4cc8bf0ee3a2b0e84c5755dd 6f1da3ff281999354d4abd56d1551468 f81fe598ccf9f3c0f94cbad90118c128 5f21d45308ffc58e8d263280cb61c64d 7bad04717fe589c445ad2fc5d9601ec7 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Institucional Universidad Distrital - RIUD |
repository.mail.fl_str_mv |
repositorio@udistrital.edu.co |
_version_ |
1818102542792392704 |
spelling |
Leguizamón Páez, Miguel ÁngelMontañez Bravo, Simón Andrés2017-12-26T20:19:04Z2017-12-26T20:19:04Z2016-05-25http://hdl.handle.net/11349/7344Con el propósito de analizar soluciones alternativas a los problemas de concurrencia y la alta demanda de los usuarios sobre las aplicaciones actuales, en el presente documento se realiza un análisis del modelo de actores, a partir de la construcción de un prototipo arquitectónico que se preocupa, además, por los elementos descritos por el manifiesto reactivo: responsividad, resiliencia, elasticidad y orientación a mensajes. Bajo esos paradigmas se ejecuta este proyecto. En el documento se presenta la elaboración del diseño, el desarrollo y las pruebas de rendimiento en búsqueda de concluir si la propuesta constituye una solución adecuada.In order to analyze alternative solutions to the problems of concurrency and high user demand for current applications, herein an analysis model of actors is made, from the construction of an architectural prototype that cares, also by the elements described by The Reactive Manifesto: responsiveness, resilience, elasticity and messages driven. This report elaborate the work out of design, the development and the performance testing, in search to conclude if the proposal constitutes an adequate solution.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_abf2ActoresConcurrenciaAkkaScalaParaleismoReactivoIngeniería Telemática - Tesis y disertaciones académicasDesarrollo de prototiposDesarrollo de programas para computadorArquitectura de computadoresActorsConcurrenceAkkaScalaParallelismReagentPrototipo arquitectónico para aplicaciones de alta concurrencia basado en el modelo de actores con la Aplicación de Akka ToolkitArchitectural prototype for high concurrency applications based on the actor model with the Akka Toolkit ApplicationMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILMontañezBravoSimónAndrés2016.pdf.jpgMontañezBravoSimónAndrés2016.pdf.jpgIM Thumbnailimage/jpeg5138http://repository.udistrital.edu.co/bitstream/11349/7344/6/Monta%c3%b1ezBravoSim%c3%b3nAndr%c3%a9s2016.pdf.jpg7c01ef3fb645d4ce53ecfd3b692c0ff0MD56open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-85896http://repository.udistrital.edu.co/bitstream/11349/7344/5/license.txtb204d61d4cc8bf0ee3a2b0e84c5755ddMD55open accessCC-LICENSElicense_urllicense_urltext/plain; charset=utf-846http://repository.udistrital.edu.co/bitstream/11349/7344/2/license_url6f1da3ff281999354d4abd56d1551468MD52open accesslicense_textlicense_texttext/html; charset=utf-822226http://repository.udistrital.edu.co/bitstream/11349/7344/3/license_textf81fe598ccf9f3c0f94cbad90118c128MD53open accesslicense_rdflicense_rdfapplication/rdf+xml; charset=utf-821889http://repository.udistrital.edu.co/bitstream/11349/7344/4/license_rdf5f21d45308ffc58e8d263280cb61c64dMD54open accessORIGINALMontañezBravoSimónAndrés2016.pdfMontañezBravoSimónAndrés2016.pdfTrabajo de Gradoapplication/pdf12199260http://repository.udistrital.edu.co/bitstream/11349/7344/1/Monta%c3%b1ezBravoSim%c3%b3nAndr%c3%a9s2016.pdf7bad04717fe589c445ad2fc5d9601ec7MD51open access11349/7344oai:repository.udistrital.edu.co:11349/73442023-06-13 14:22:38.534open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyAgREUgQ09OVEVOSURPUyBFTiBFTCBSRVBPU0lUT1JJTyBJTlNUSVRVQ0lPTkFMIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTApUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gIHBhcmEgcHVibGljYWNpw7NuIGRlIG9icmFzIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgUklVRC4KCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCAgY29uZmllcm8gKGVyaW1vcykgYSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB1bmEgbGljZW5jaWEgcGFyYSB1c28gIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSAgaW50ZWdyYXLDoSAgZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBhY3VlcmRvIGEgbGFzIHNpZ3VpZW50ZXMgcmVnbGFzLCAgbGFzIGN1YWxlcyBkZWNsYXJvIChhbW9zKSBjb25vY2VyIHkgYWNlcHRhcjoKCmEpIEVzdGFyw6EgdmlnZW50ZSBhIHBhcnRpciBkZSBsYSBmZWNoYSAgZW4gcXVlIHNlIGluY2x1eWEgIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgeSBoYXN0YSAgcG9yIHVuIHBsYXpvIGRlICBkaWV6ICgxMCkgIEHDsW9zLCAgcHJvcnJvZ2FibGUgIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyAgbGEgY3VhbCBwb2Ryw6EgICBkYXJzZSAgcG9yIHRlcm1pbmFkYSAgcHJldmlhICBzb2xpY2l0dWQgICBhIGxhIFVuaXZlcnNpZGFkIHBvciBlc2NyaXRvIGNvbiB1bmEgYW50ZWxhY2nDs24gZGUgZG9zICgyKSBtZXNlcyBhbnRlcyBkZWwgdmVuY2ltaWVudG8gZGVsIHBsYXpvICBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLiAgCgpiKSBMYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBwb2Ryw6EgIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSAgcG9yIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwsICBMYSBVbml2ZXJzaWRhZCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsICBkb2N1bWVudG8gYXBhcmV6Y2EgcmVmZXJlbmNpYWRvIGVuIG1vdG9yZXMgZGUgYsO6c3F1ZWRhIG8gcmVwb3NpdG9yaW9zICBkaWZlcmVudGVzIGFsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwsIHVuYSB2ZXogZWwob3MpIGF1dG9yKGVzKSAgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUmVwb3NpdG9yaW8gZGUgbGEgVW5pdmVyc2lkYWQsIGRhZG8gcXVlICBsYSBtaXNtYSBzZXLDoSBwdWJsaWNhZGEgZW4gIEludGVybmV0LiAKCmMpIExhIGF1dG9yaXphY2nDs24gc2UgaGFjZSBhIHTDrXR1bG8gZ3JhdHVpdG8sIHBvciBsbyB0YW50bywgbG9zIGF1dG9yZXMgcmVudW5jaWFuIGEgcmVjaWJpciBiZW5lZmljaW8gYWxndW5vIHBvciBsYSBwdWJsaWNhY2nDs24sIGRpc3RyaWJ1Y2nDs24sIGNvbXVuaWNhY2nDs24gIHDDumJsaWNhIHkgY3VhbHF1aWVyIG90cm8gdXNvIHF1ZSBzZSBoYWdhIGVuIGxvcyB0w6lybWlub3MgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBkZSBsYSBsaWNlbmNpYSAgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKSBMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgc29uICBvYnJhKHMpIG9yaWdpbmFsKGVzKSBzb2JyZSBsYSAgY3VhbChlcykgIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zICBkZXJlY2hvcyBkZSBhdXRvciwgYXN1bWVuIHRvdGFsIHJlc3BvbnNhYmlsaWRhZCBwb3IgZWwgY29udGVuaWRvIGRlIHN1IG9icmEgYW50ZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IGFudGUgdGVyY2Vyb3MuIEVuIHRvZG8gY2FzbyBsYSBVbml2ZXJzaWRhZCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkgTGEgIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHBvZHLDoSAgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyDDrW5kaWNlcyB5IGJ1c2NhZG9yZXMgcXVlIGVzdGltZW4gbmVjZXNhcmlvcyBwYXJhIG1heGltaXphciBsYSB2aXNpYmlsaWRhZCBlbCB1c28geSBlbCBpbXBhY3RvIGRlIGxhIHByb2R1Y2Npw7NuIGNpZW50w61maWNhLCBhcnTDrXN0aWNhIHkgYWNhZMOpbWljYSBlbiBsYSBjb211bmlkYWQgbG9jYWwsIG5hY2lvbmFsIG8gaW50ZXJuYWNpb25hbC4gCgpmKSBMYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBwb2Ryw6EgY29udmVydGlyIGxhIG9icmEgIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluICBkZSBzdSBwcmVzZXJ2YWNpw7NuIGVuIGVsIHRpZW1wbyBxdWUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBsYSBkZSBzdXMgcHLDs3Jyb2dhcy4KQ29uIGJhc2UgZW4gbG8gYW50ZXJpb3IgYXV0b3JpesOzIGxhIHB1YmxpY2FjacOzbiB5IGNvbnN1bHRhIGRlIGxhIG9icmEgIHRpdHVsYWRhIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCiBBIGZhdm9yIGRlbCAgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5ICBkZSBzdXMgdXN1YXJpb3MsICAgY3V5byhzKSAgYXV0b3IoZXMpIHNvbjogCkF1dG9yCUFwZWxsaWRvcwlOb21icmVzCjEJCQoyCQkKMwkJCgphKSBBdXRvcml6byBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGF1dG9yaXphZG9zIGVuIGxvcyBsaXRlcmFsZXMgYW50ZXJpb3JlcywgIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgZW4gbGFzIOKAnENvbmRpY2lvbmVzIGRlIHVzbyBkZSBlc3RyaWN0byBjdW1wbGltaWVudG/igJ0gZGUgbG9zIHJlY3Vyc29zIHB1YmxpY2Fkb3MgZW4gUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBSSVVELCBjdXlvIHRleHRvIGNvbXBsZXRvIHNlIHB1ZWRlIGNvbnN1bHRhciBlbiBodHRwOi8vcmVwb3NpdG9yeS51ZGlzdHJpdGFsLmVkdS5jby8KCmIpIENvbm96Y28geSBhY2VwdG8gcXVlIG90b3JnbyB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIG9idGVuaWRvIHVuYSBjb3BpYS4KCmMpICBNYW5pZmllc3RvIG1pIHRvdGFsIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSB1c28geSBwdWJsaWNhY2nDs24gZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBxdWUgc2UgZGVzY3JpYmVuIHkgZXhwbGljYW4gZW4gZWwgcHJlc2VudGUgZG9jdW1lbnRvLgoKZykgUXVlIGNvbm96Y28gICBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyByZWxhdGl2byBhIHByb3BpZWRhZCAgaW50ZWxlY3R1YWwgcmVndWxhZGEgcG9yIGVsIEFjdWVyZG8gMDA0IGRlIDIwMTIgZGVsIENTVSwgQWN1ZXJkbyAwMjMgZGUgMjAxMiBkZWwgQ1NVIHNvYnJlIFBvbMOtdGljYSBFZGl0b3JpYWwsIEFjdWVyZG8gMDI2ICBkZWwgMzEgZGUganVsaW8gZGUgMjAxMiBzb2JyZSBlbCBwcm9jZWRpbWllbnRvIHBhcmEgbGEgcHVibGljYWNpw7NuIGRlIHRlc2lzIGRlIHBvc3RncmFkbyBkZSBsb3MgZXN0dWRpYW50ZXMgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsICBBY3VlcmRvIDAzMCBkZWwgMDMgZGUgZGljaWVtYnJlIGRlIDIwMTMgcG9yIG1lZGlvIGRlbCBjdWFsIHNlIGNyZWEgZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0by4gRXN0b3MgZG9jdW1lbnRvcyBwb2Ryw6FuIHNlciBjb25zdWx0YWRvcyB5IGRlc2NhcmdhZG9zIGVuIGVsIHBvcnRhbCB3ZWIgZGUgbGEgYmlibGlvdGVjYSBodHRwOi8vc2lzdGVtYWRlYmlibGlvdGVjYXMudWRpc3RyaXRhbC5lZHUuY28vICAKClNJIEVMIERPQ1VNRU5UTyBTRSBCQVNBIEVOIFVOIFRSQUJBSk8gUVVFIEhBIFNJRE8gUEFUUk9DSU5BRE8gTyBBUE9ZQURPIFBPUiBVTkEgQUdFTkNJQSBPIFVOQSBPUkdBTklaQUNJw5NOLCBDT04gRVhDRVBDScOTTiBERSBMQSBVTklWRVJTSURBRCBESVNUUklUQUwgRlJBTkNJU0NPIEpPU0UgREUgQ0FMREFTLCBMT1MgQVVUT1JFUyBHQVJBTlRJWkFOIFFVRSBTRSBIQSBDVU1QTElETyBDT04gTE9TIApERVJFQ0hPUyBZIE9CTElHQUNJT05FUyBSRVFVRVJJRE9TIFBPUiBFTCBSRVNQRUNUSVZPIENPTlRSQVRPIE8gQUNVRVJETy4KRW4gY29uc3RhbmNpYSBkZSBsbyBhbnRlcmlvciwgZmlybW8gKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50byBhIGxvcyAKCkZJUk1BIERFIExPUyBUSVRVTEFSRVMgREUgREVSRUNIT1MgREUgQVVUT1IKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIEF1dG9yIChlcyk6CkF1dG9yCUNvcnJlbyBFbGVjdHLDs25pY28gCjEJCjIJCjMJCgpOb3RhOiBFbiBjYXNvIHF1ZSBubyBlc3TDqSBkZSBhY3VlcmRvIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEsIGp1c3RpZmlxdWUgbG9zIG1vdGl2b3MgcG9yIGxvcyBjdWFsZXMgZWwgZG9jdW1lbnRvIHkgc3VzIGFuZXhvcyBubyBwdWVkZW4gc2VyIHB1YmxpY2Fkb3MgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBSSVVECg== |