Descomposición de componentes front-end de tipo web mediante estrategias de desacoplamiento en arquitecturas de microservicios
ilustraciones, graficas, tablas
- Autores:
-
Orjuela Velandia, Cristian Camilo
- Tipo de recurso:
- Fecha de publicación:
- 2022
- Institución:
- Universidad Nacional de Colombia
- Repositorio:
- Universidad Nacional de Colombia
- Idioma:
- spa
- OAI Identifier:
- oai:repositorio.unal.edu.co:unal/82762
- Palabra clave:
- 000 - Ciencias de la computación, información y obras generales::003 - Sistemas
Software engineering
Computer programming
Component software
Ingeniería de software
Programación (Computadores electrónicos)
Programas para computador basado en componentes
Front-End
Cohesión
Microfrontend
Arquitectura de software
Descomposición arquitectónica
Arquitectura de microservicios
Front-End
Cohesion
Microfrontend
Software architecture
Software system
Architectural decomposition
Microservices architecture
- Rights
- openAccess
- License
- Atribución-NoComercial 4.0 Internacional
id |
UNACIONAL2_89579dba5cf3e4f12a22a1eb0565597e |
---|---|
oai_identifier_str |
oai:repositorio.unal.edu.co:unal/82762 |
network_acronym_str |
UNACIONAL2 |
network_name_str |
Universidad Nacional de Colombia |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Descomposición de componentes front-end de tipo web mediante estrategias de desacoplamiento en arquitecturas de microservicios |
dc.title.translated.eng.fl_str_mv |
Web-Type Front-End Components Decomposition using Decoupling Strategies in Microservices Architectures |
title |
Descomposición de componentes front-end de tipo web mediante estrategias de desacoplamiento en arquitecturas de microservicios |
spellingShingle |
Descomposición de componentes front-end de tipo web mediante estrategias de desacoplamiento en arquitecturas de microservicios 000 - Ciencias de la computación, información y obras generales::003 - Sistemas Software engineering Computer programming Component software Ingeniería de software Programación (Computadores electrónicos) Programas para computador basado en componentes Front-End Cohesión Microfrontend Arquitectura de software Descomposición arquitectónica Arquitectura de microservicios Front-End Cohesion Microfrontend Software architecture Software system Architectural decomposition Microservices architecture |
title_short |
Descomposición de componentes front-end de tipo web mediante estrategias de desacoplamiento en arquitecturas de microservicios |
title_full |
Descomposición de componentes front-end de tipo web mediante estrategias de desacoplamiento en arquitecturas de microservicios |
title_fullStr |
Descomposición de componentes front-end de tipo web mediante estrategias de desacoplamiento en arquitecturas de microservicios |
title_full_unstemmed |
Descomposición de componentes front-end de tipo web mediante estrategias de desacoplamiento en arquitecturas de microservicios |
title_sort |
Descomposición de componentes front-end de tipo web mediante estrategias de desacoplamiento en arquitecturas de microservicios |
dc.creator.fl_str_mv |
Orjuela Velandia, Cristian Camilo |
dc.contributor.advisor.spa.fl_str_mv |
Vergara Vargas, Jeisson Andrés |
dc.contributor.author.spa.fl_str_mv |
Orjuela Velandia, Cristian Camilo |
dc.contributor.referee.spa.fl_str_mv |
Umaña Acosta, Henry Roberto |
dc.contributor.researchgroup.spa.fl_str_mv |
Colectivo de Investigación en Ingeniería de Software Colswe |
dc.subject.ddc.spa.fl_str_mv |
000 - Ciencias de la computación, información y obras generales::003 - Sistemas |
topic |
000 - Ciencias de la computación, información y obras generales::003 - Sistemas Software engineering Computer programming Component software Ingeniería de software Programación (Computadores electrónicos) Programas para computador basado en componentes Front-End Cohesión Microfrontend Arquitectura de software Descomposición arquitectónica Arquitectura de microservicios Front-End Cohesion Microfrontend Software architecture Software system Architectural decomposition Microservices architecture |
dc.subject.lemb.eng.fl_str_mv |
Software engineering Computer programming Component software |
dc.subject.lemb.spa.fl_str_mv |
Ingeniería de software Programación (Computadores electrónicos) Programas para computador basado en componentes |
dc.subject.proposal.spa.fl_str_mv |
Front-End Cohesión Microfrontend Arquitectura de software Descomposición arquitectónica Arquitectura de microservicios |
dc.subject.proposal.eng.fl_str_mv |
Front-End Cohesion Microfrontend Software architecture Software system Architectural decomposition Microservices architecture |
description |
ilustraciones, graficas, tablas |
publishDate |
2022 |
dc.date.accessioned.none.fl_str_mv |
2022-11-25T13:32:11Z |
dc.date.available.none.fl_str_mv |
2022-11-25T13:32:11Z |
dc.date.issued.none.fl_str_mv |
2022-11-24 |
dc.type.spa.fl_str_mv |
Trabajo de grado - Maestría |
dc.type.driver.spa.fl_str_mv |
info:eu-repo/semantics/masterThesis |
dc.type.version.spa.fl_str_mv |
info:eu-repo/semantics/acceptedVersion |
dc.type.content.spa.fl_str_mv |
Text |
dc.type.redcol.spa.fl_str_mv |
http://purl.org/redcol/resource_type/TM |
status_str |
acceptedVersion |
dc.identifier.uri.none.fl_str_mv |
https://repositorio.unal.edu.co/handle/unal/82762 |
dc.identifier.instname.spa.fl_str_mv |
Universidad Nacional de Colombia |
dc.identifier.reponame.spa.fl_str_mv |
Repositorio Institucional Universidad Nacional de Colombia |
dc.identifier.repourl.spa.fl_str_mv |
https://repositorio.unal.edu.co/ |
url |
https://repositorio.unal.edu.co/handle/unal/82762 https://repositorio.unal.edu.co/ |
identifier_str_mv |
Universidad Nacional de Colombia Repositorio Institucional Universidad Nacional de Colombia |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.relation.references.spa.fl_str_mv |
ABDULLAH, Hanin M. ; ZEKI, Ahmed M.: Frontend and backend web technologies in social networking sites: Facebook as an example. In: Proceedings - 3rd International Conference on Advanced Computer Science Applications and Technologies, ACSAT 2014, Institute of Electrical and Electronics Engineers Inc., apr 2014. – ISBN 9781479918454, S. 85–89 AL-DEBAGY, Omar ; MARTINEK, Peter: A Comparative Review of Microservices and Monolithic Architectures. In: 2018 IEEE 18th International Symposium on Computational Intelligence and Informatics (CINTI), 2018, S. 000149–000154 ALKHALID, Abdulaziz ; LUNG, Chung H. ; AJILA, Samuel: Software architecture decomposition using adaptive K-nearest neighbor algorithm. In: Canadian Conference on Electrical and Computer Engineering, 2013. – ISBN 9781479900329 ALKHALID, Abdulaziz ; LUNG, Chung H. ; LIU, Duo ; AJILA, Samuel: Software architecture decomposition using clustering techniques. In: Proceedings - International Computer Software and Applications Conference, IEEE Computer Society, 2013. – ISBN 9780769549866, S. 806–811 ARAL, Atakan ; OVATMAN, Tolga: Utilization of Method Graphs to Measure Cohesion in Object Oriented Software. In: 2013 IEEE 37th Annual Computer Software and Applications Conference Workshops, 2013, S. 505–510 CAVALCANTE, Everton ; BATISTA, Thais ; OQUENDO, Flavio: Supporting Dynamic Software Architectures: From Architectural Description to Implementation. In: Proceedings - 12th Working IEEE/IFIP Conference on Software Architecture, WICSA 2015, Institute of Electrical and Electronics Engineers Inc., jul 2015. – ISBN 9781479919222, S. 31–40 CLEMENTS, P ; OTHERS: Documenting Software Architectures: Views and Beyond. SEI Series in Software Engineering. (2002), Nr. 6, S. 740–741. ISBN 0321552687 ELSHAFEI, Sherif ; MENSHAWI, Mahmoud: A case study on a systematic approach for developing a user interface software for programming intensive software tools. In: Canadian Conference on Electrical and Computer Engineering Bd. 2015-June, Institute of Electrical and Electronics Engineers Inc., jun 2015. – ISSN 08407789, S. 132–139 FRANCO, Joao M. ; BARBOSA, Raul ; ZENHA-RELA, Mário: Reliability analysis of software architecture evolution. In: Proceedings - 6th Latin-American Symposium on Dependable Computing, LADC 2013, 2013. – ISBN 9780769549620, S. 11–20 FUNK, Mathias ; HOYER, Philip ; LINK, Stefan: Model-driven instrumentation of graphical user interfaces. In: Proceedings of the 2nd International Conferences on Advances in Computer-Human Interactions, ACHI 2009, 2009. – ISBN 9780769535296, S. 19–25 HUSEIN, Sukainah ; OXLEY, Alan: A Coupling and Cohesion Metrics Suite for ObjectOriented Software. In: 2009 International Conference on Computer Technology and Development Bd. 1, 2009, S. 421–425 HARMS, Holger ; ROGOWSKI, Collin ; LO IACONO, Luigi: Guidelines for adopting frontend architectures and patterns in microservices-based systems. In: Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering Bd. Part F1301, Association for Computing Machinery, aug 2017. – ISBN 9781450351058, S. 902–907 KIRĞIL, Elif Nur H. ; AYYILDIZ, Tülin E.: Analysis of Lack of Cohesion in Methods (LCOM): A Case Study. In: 2021 2nd International Informatics and Software Engineering Conference (IISEC), 2021, S. 1–4 MCC SMITH, J. ; STOTTS, D.: Elemental design patterns: A formal semantics for composition of OO software architecture. In: Proceedings - 27th Annual NASA Goddard / IEEE Software Engineering Workshop, SEW 2002, Institute of Electrical and Electronics Engineers Inc., 2003. – ISBN 0769518559, S. 183–190 RICHARDS, Mark ; AMERICA, United S. (Hrsg.): Software Architecture Understanding Common Architecture Patterns Patterns and When to Use Them. O’Reilly M. United States of America : O’Reilly Media, Inc, 2015. – 97 S. http://dx.doi.org/10.1002/he.18. http://dx. doi.org/10.1002/he.18. – ISBN 9781491924242 SAADATI, Mahdi ; MOTAMENI, Homayoon: Measuring Cohesion and Coupling of ObjectOriented Systems. In: Journal of Mathematics and Computer Science. Islamic Azad University, Sari, Iran (2013), Nr. 1, S. 1–9 VAKALI, Athena ; KOROSOGLOU, Paschalis ; DAOGLOU, Pavlos: A multi-layer software architecture framework for adaptive real-time analytics. In: Proceedings - 2016 IEEE International Conference on Big Data, Big Data 2016, Institute of Electrical and Electronics Engineers Inc., 2016. – ISBN 9781467390040, S. 2425–2430 TIBERMACINE, Chouki ; SADOU, Salah ; TON THAT, Minh T. ; DONY, Christophe: Software architecture constraint reuse-by-composition. In: Future Generation Computer Systems 61 (2016), aug, S. 37–53. http://dx.doi.org/10.1016/j.future.2016.02.006. – DOI 10.1016/j.future.2016.02.006. – ISSN 0167739X |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.license.spa.fl_str_mv |
Atribución-NoComercial 4.0 Internacional |
dc.rights.uri.spa.fl_str_mv |
http://creativecommons.org/licenses/by-nc/4.0/ |
dc.rights.accessrights.spa.fl_str_mv |
info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Atribución-NoComercial 4.0 Internacional http://creativecommons.org/licenses/by-nc/4.0/ http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.extent.spa.fl_str_mv |
xi, 62 páginas |
dc.format.mimetype.spa.fl_str_mv |
application/pdf |
dc.publisher.spa.fl_str_mv |
Universidad Nacional de Colombia |
dc.publisher.program.spa.fl_str_mv |
Bogotá - Ingeniería - Maestría en Ingeniería - Ingeniería de Sistemas y Computación |
dc.publisher.faculty.spa.fl_str_mv |
Facultad de Ingeniería |
dc.publisher.place.spa.fl_str_mv |
Bogotá, Colombia |
dc.publisher.branch.spa.fl_str_mv |
Universidad Nacional de Colombia - Sede Bogotá |
institution |
Universidad Nacional de Colombia |
bitstream.url.fl_str_mv |
https://repositorio.unal.edu.co/bitstream/unal/82762/1/license.txt https://repositorio.unal.edu.co/bitstream/unal/82762/2/1032488727.2022.pdf https://repositorio.unal.edu.co/bitstream/unal/82762/3/1032488727.2022.pdf.jpg |
bitstream.checksum.fl_str_mv |
eb34b1cf90b7e1103fc9dfd26be24b4a f9e9fde41f72b25ab92b66fdf4edcabf ca5ffb10217ea695cf267848b50e4f83 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Institucional Universidad Nacional de Colombia |
repository.mail.fl_str_mv |
repositorio_nal@unal.edu.co |
_version_ |
1814089368274468864 |
spelling |
Atribución-NoComercial 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Vergara Vargas, Jeisson Andrése36e80f3ba8ca71c28c125ee53b3c214600Orjuela Velandia, Cristian Camilo428e01cd904c5a78b3e5727622942375Umaña Acosta, Henry RobertoColectivo de Investigación en Ingeniería de Software Colswe2022-11-25T13:32:11Z2022-11-25T13:32:11Z2022-11-24https://repositorio.unal.edu.co/handle/unal/82762Universidad Nacional de ColombiaRepositorio Institucional Universidad Nacional de Colombiahttps://repositorio.unal.edu.co/ilustraciones, graficas, tablasLa fabricación de software es un proceso que ha tomado mucha importancia en la industria desde hace algunos años, puesto que la gran mayoría de sistemas de información han ido migrando su proceso operacional a mecanismos tecnológicos. Sin embargo, el crecimiento acelerado de estas estructuras ha provocado inconvenientes en toda su fase de desarrollo. Por este motivo, resulta fundamental encontrar estrategias de descomposición de software, particularmente en los componentes de Front-End, que ayuden a mitigar estos problemas y que mejoren las características inherentes de las aplicaciones. En consecuencia, el trabajo final tiene como objetivo aplicar una estrategia de desacoplamiento basada en el patrón arquitectónico de microservicios con el fin de realizar una evaluación de la cohesión entre sus componentes resultantes. Para esto, se presenta un contexto general sobre la descomposición arquitectónica y los componentes de software, así como una definición de conceptos que permiten comprender la idea, luego se detallan algunos mecanismos que se han empleado para descomponer componentes de software, se presenta la implementación de referencia que se construyó basada en una de las industrias que más utiliza el software en la actualidad, como lo es el área financiera, y finalmente, se aplica el método de descomposición junto con su respectivo análisis. (Texto tomado de la fuente).Software building is a process that has become a significant concern in the industry for some years since most information systems have been migrating their operational approach to technological mechanisms. Nevertheless, the exponential growth of these structures has brought some issues throughout their development stage. For this reason, it is important to find software decomposition strategies, especially in Front-End components, that help us to mitigate these problems and improve the intrinsic characteristics of applications. Therefore, the following thesis aims to apply a decoupling strategy based on the microservices architectural pattern in order to perform an evaluation of the cohesion between its resulting components. To make this possible, a general context about the architectural decomposition and software components is presented, as well as a definition of concepts that allow an understanding of the idea. Then, some tools used to decompose software components are detailed, in addition to building the reference implementation, which is based on one of the industries that most use software, such as the financial sector. To conclude, the decomposition method is applied along with its corresponding analysis.MaestríaMagíster en Ingeniería - Ingeniería de Sistemas y ComputaciónArquitectura de softwarexi, 62 páginasapplication/pdfspaUniversidad Nacional de ColombiaBogotá - Ingeniería - Maestría en Ingeniería - Ingeniería de Sistemas y ComputaciónFacultad de IngenieríaBogotá, ColombiaUniversidad Nacional de Colombia - Sede Bogotá000 - Ciencias de la computación, información y obras generales::003 - SistemasSoftware engineeringComputer programmingComponent softwareIngeniería de softwareProgramación (Computadores electrónicos)Programas para computador basado en componentesFront-EndCohesiónMicrofrontendArquitectura de softwareDescomposición arquitectónicaArquitectura de microserviciosFront-EndCohesionMicrofrontendSoftware architectureSoftware systemArchitectural decompositionMicroservices architectureDescomposición de componentes front-end de tipo web mediante estrategias de desacoplamiento en arquitecturas de microserviciosWeb-Type Front-End Components Decomposition using Decoupling Strategies in Microservices ArchitecturesTrabajo de grado - Maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTexthttp://purl.org/redcol/resource_type/TMABDULLAH, Hanin M. ; ZEKI, Ahmed M.: Frontend and backend web technologies in social networking sites: Facebook as an example. In: Proceedings - 3rd International Conference on Advanced Computer Science Applications and Technologies, ACSAT 2014, Institute of Electrical and Electronics Engineers Inc., apr 2014. – ISBN 9781479918454, S. 85–89AL-DEBAGY, Omar ; MARTINEK, Peter: A Comparative Review of Microservices and Monolithic Architectures. In: 2018 IEEE 18th International Symposium on Computational Intelligence and Informatics (CINTI), 2018, S. 000149–000154ALKHALID, Abdulaziz ; LUNG, Chung H. ; AJILA, Samuel: Software architecture decomposition using adaptive K-nearest neighbor algorithm. In: Canadian Conference on Electrical and Computer Engineering, 2013. – ISBN 9781479900329ALKHALID, Abdulaziz ; LUNG, Chung H. ; LIU, Duo ; AJILA, Samuel: Software architecture decomposition using clustering techniques. In: Proceedings - International Computer Software and Applications Conference, IEEE Computer Society, 2013. – ISBN 9780769549866, S. 806–811ARAL, Atakan ; OVATMAN, Tolga: Utilization of Method Graphs to Measure Cohesion in Object Oriented Software. In: 2013 IEEE 37th Annual Computer Software and Applications Conference Workshops, 2013, S. 505–510CAVALCANTE, Everton ; BATISTA, Thais ; OQUENDO, Flavio: Supporting Dynamic Software Architectures: From Architectural Description to Implementation. In: Proceedings - 12th Working IEEE/IFIP Conference on Software Architecture, WICSA 2015, Institute of Electrical and Electronics Engineers Inc., jul 2015. – ISBN 9781479919222, S. 31–40CLEMENTS, P ; OTHERS: Documenting Software Architectures: Views and Beyond. SEI Series in Software Engineering. (2002), Nr. 6, S. 740–741. ISBN 0321552687ELSHAFEI, Sherif ; MENSHAWI, Mahmoud: A case study on a systematic approach for developing a user interface software for programming intensive software tools. In: Canadian Conference on Electrical and Computer Engineering Bd. 2015-June, Institute of Electrical and Electronics Engineers Inc., jun 2015. – ISSN 08407789, S. 132–139FRANCO, Joao M. ; BARBOSA, Raul ; ZENHA-RELA, Mário: Reliability analysis of software architecture evolution. In: Proceedings - 6th Latin-American Symposium on Dependable Computing, LADC 2013, 2013. – ISBN 9780769549620, S. 11–20FUNK, Mathias ; HOYER, Philip ; LINK, Stefan: Model-driven instrumentation of graphical user interfaces. In: Proceedings of the 2nd International Conferences on Advances in Computer-Human Interactions, ACHI 2009, 2009. – ISBN 9780769535296, S. 19–25HUSEIN, Sukainah ; OXLEY, Alan: A Coupling and Cohesion Metrics Suite for ObjectOriented Software. In: 2009 International Conference on Computer Technology and Development Bd. 1, 2009, S. 421–425HARMS, Holger ; ROGOWSKI, Collin ; LO IACONO, Luigi: Guidelines for adopting frontend architectures and patterns in microservices-based systems. In: Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering Bd. Part F1301, Association for Computing Machinery, aug 2017. – ISBN 9781450351058, S. 902–907KIRĞIL, Elif Nur H. ; AYYILDIZ, Tülin E.: Analysis of Lack of Cohesion in Methods (LCOM): A Case Study. In: 2021 2nd International Informatics and Software Engineering Conference (IISEC), 2021, S. 1–4MCC SMITH, J. ; STOTTS, D.: Elemental design patterns: A formal semantics for composition of OO software architecture. In: Proceedings - 27th Annual NASA Goddard / IEEE Software Engineering Workshop, SEW 2002, Institute of Electrical and Electronics Engineers Inc., 2003. – ISBN 0769518559, S. 183–190RICHARDS, Mark ; AMERICA, United S. (Hrsg.): Software Architecture Understanding Common Architecture Patterns Patterns and When to Use Them. O’Reilly M. United States of America : O’Reilly Media, Inc, 2015. – 97 S. http://dx.doi.org/10.1002/he.18. http://dx. doi.org/10.1002/he.18. – ISBN 9781491924242SAADATI, Mahdi ; MOTAMENI, Homayoon: Measuring Cohesion and Coupling of ObjectOriented Systems. In: Journal of Mathematics and Computer Science. Islamic Azad University, Sari, Iran (2013), Nr. 1, S. 1–9VAKALI, Athena ; KOROSOGLOU, Paschalis ; DAOGLOU, Pavlos: A multi-layer software architecture framework for adaptive real-time analytics. In: Proceedings - 2016 IEEE International Conference on Big Data, Big Data 2016, Institute of Electrical and Electronics Engineers Inc., 2016. – ISBN 9781467390040, S. 2425–2430TIBERMACINE, Chouki ; SADOU, Salah ; TON THAT, Minh T. ; DONY, Christophe: Software architecture constraint reuse-by-composition. In: Future Generation Computer Systems 61 (2016), aug, S. 37–53. http://dx.doi.org/10.1016/j.future.2016.02.006. – DOI 10.1016/j.future.2016.02.006. – ISSN 0167739XAdministradoresEstudiantesGrupos comunitariosInvestigadoresMaestrosPúblico generalLICENSElicense.txtlicense.txttext/plain; charset=utf-85879https://repositorio.unal.edu.co/bitstream/unal/82762/1/license.txteb34b1cf90b7e1103fc9dfd26be24b4aMD51ORIGINAL1032488727.2022.pdf1032488727.2022.pdfTesis de Maestría en Ingeniería - Ingeniería de Sistemas y Computaciónapplication/pdf1395699https://repositorio.unal.edu.co/bitstream/unal/82762/2/1032488727.2022.pdff9e9fde41f72b25ab92b66fdf4edcabfMD52THUMBNAIL1032488727.2022.pdf.jpg1032488727.2022.pdf.jpgGenerated Thumbnailimage/jpeg4838https://repositorio.unal.edu.co/bitstream/unal/82762/3/1032488727.2022.pdf.jpgca5ffb10217ea695cf267848b50e4f83MD53unal/82762oai:repositorio.unal.edu.co:unal/827622023-08-11 23:04:00.857Repositorio Institucional Universidad Nacional de Colombiarepositorio_nal@unal.edu.coUEFSVEUgMS4gVMOJUk1JTk9TIERFIExBIExJQ0VOQ0lBIFBBUkEgUFVCTElDQUNJw5NOIERFIE9CUkFTIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgVU5BTC4KCkxvcyBhdXRvcmVzIHkvbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIHBhdHJpbW9uaWFsZXMgZGUgYXV0b3IsIGNvbmZpZXJlbiBhIGxhIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIENvbG9tYmlhIHVuYSBsaWNlbmNpYSBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgc2UgaW50ZWdyYSBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsLCBiYWpvIGxvcyBzaWd1aWVudGVzIHTDqXJtaW5vczoKCgphKQlMb3MgYXV0b3JlcyB5L28gbG9zIHRpdHVsYXJlcyBkZSBsb3MgZGVyZWNob3MgcGF0cmltb25pYWxlcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGNvbmZpZXJlbiBhIGxhIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIENvbG9tYmlhIHVuYSBsaWNlbmNpYSBubyBleGNsdXNpdmEgcGFyYSByZWFsaXphciBsb3Mgc2lndWllbnRlcyBhY3RvcyBzb2JyZSBsYSBvYnJhOiBpKSByZXByb2R1Y2lyIGxhIG9icmEgZGUgbWFuZXJhIGRpZ2l0YWwsIHBlcm1hbmVudGUgbyB0ZW1wb3JhbCwgaW5jbHV5ZW5kbyBlbCBhbG1hY2VuYW1pZW50byBlbGVjdHLDs25pY28sIGFzw60gY29tbyBjb252ZXJ0aXIgZWwgZG9jdW1lbnRvIGVuIGVsIGN1YWwgc2UgZW5jdWVudHJhIGNvbnRlbmlkYSBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBleGlzdGVudGUgYSBsYSBmZWNoYSBkZSBsYSBzdXNjcmlwY2nDs24gZGUgbGEgcHJlc2VudGUgbGljZW5jaWEsIHkgaWkpIGNvbXVuaWNhciBhbCBww7pibGljbyBsYSBvYnJhIHBvciBjdWFscXVpZXIgbWVkaW8gbyBwcm9jZWRpbWllbnRvLCBlbiBtZWRpb3MgYWzDoW1icmljb3MgbyBpbmFsw6FtYnJpY29zLCBpbmNsdXllbmRvIGxhIHB1ZXN0YSBhIGRpc3Bvc2ljacOzbiBlbiBhY2Nlc28gYWJpZXJ0by4gQWRpY2lvbmFsIGEgbG8gYW50ZXJpb3IsIGVsIGF1dG9yIHkvbyB0aXR1bGFyIGF1dG9yaXphIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgcGFyYSBxdWUsIGVuIGxhIHJlcHJvZHVjY2nDs24geSBjb211bmljYWNpw7NuIGFsIHDDumJsaWNvIHF1ZSBsYSBVbml2ZXJzaWRhZCByZWFsaWNlIHNvYnJlIGxhIG9icmEsIGhhZ2EgbWVuY2nDs24gZGUgbWFuZXJhIGV4cHJlc2EgYWwgdGlwbyBkZSBsaWNlbmNpYSBDcmVhdGl2ZSBDb21tb25zIGJham8gbGEgY3VhbCBlbCBhdXRvciB5L28gdGl0dWxhciBkZXNlYSBvZnJlY2VyIHN1IG9icmEgYSBsb3MgdGVyY2Vyb3MgcXVlIGFjY2VkYW4gYSBkaWNoYSBvYnJhIGEgdHJhdsOpcyBkZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCwgY3VhbmRvIHNlYSBlbCBjYXNvLiBFbCBhdXRvciB5L28gdGl0dWxhciBkZSBsb3MgZGVyZWNob3MgcGF0cmltb25pYWxlcyBkZSBhdXRvciBwb2Ryw6EgZGFyIHBvciB0ZXJtaW5hZGEgbGEgcHJlc2VudGUgbGljZW5jaWEgbWVkaWFudGUgc29saWNpdHVkIGVsZXZhZGEgYSBsYSBEaXJlY2Npw7NuIE5hY2lvbmFsIGRlIEJpYmxpb3RlY2FzIGRlIGxhIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIENvbG9tYmlhLiAKCmIpIAlMb3MgYXV0b3JlcyB5L28gdGl0dWxhcmVzIGRlIGxvcyBkZXJlY2hvcyBwYXRyaW1vbmlhbGVzIGRlIGF1dG9yIHNvYnJlIGxhIG9icmEgY29uZmllcmVuIGxhIGxpY2VuY2lhIHNlw7FhbGFkYSBlbiBlbCBsaXRlcmFsIGEpIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8gcG9yIGVsIHRpZW1wbyBkZSBwcm90ZWNjacOzbiBkZSBsYSBvYnJhIGVuIHRvZG9zIGxvcyBwYcOtc2VzIGRlbCBtdW5kbywgZXN0byBlcywgc2luIGxpbWl0YWNpw7NuIHRlcnJpdG9yaWFsIGFsZ3VuYS4KCmMpCUxvcyBhdXRvcmVzIHkvbyB0aXR1bGFyZXMgZGUgZGVyZWNob3MgcGF0cmltb25pYWxlcyBkZSBhdXRvciBtYW5pZmllc3RhbiBlc3RhciBkZSBhY3VlcmRvIGNvbiBxdWUgbGEgcHJlc2VudGUgbGljZW5jaWEgc2Ugb3RvcmdhIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCByZW51bmNpYW4gYSByZWNpYmlyIGN1YWxxdWllciByZXRyaWJ1Y2nDs24gZWNvbsOzbWljYSBvIGVtb2x1bWVudG8gYWxndW5vIHBvciBsYSBwdWJsaWNhY2nDs24sIGRpc3RyaWJ1Y2nDs24sIGNvbXVuaWNhY2nDs24gcMO6YmxpY2EgeSBjdWFscXVpZXIgb3RybyB1c28gcXVlIHNlIGhhZ2EgZW4gbG9zIHTDqXJtaW5vcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGRlIGxhIGxpY2VuY2lhIENyZWF0aXZlIENvbW1vbnMgY29uIHF1ZSBzZSBwdWJsaWNhLgoKZCkJUXVpZW5lcyBmaXJtYW4gZWwgcHJlc2VudGUgZG9jdW1lbnRvIGRlY2xhcmFuIHF1ZSBwYXJhIGxhIGNyZWFjacOzbiBkZSBsYSBvYnJhLCBubyBzZSBoYW4gdnVsbmVyYWRvIGxvcyBkZXJlY2hvcyBkZSBwcm9waWVkYWQgaW50ZWxlY3R1YWwsIGluZHVzdHJpYWwsIG1vcmFsZXMgeSBwYXRyaW1vbmlhbGVzIGRlIHRlcmNlcm9zLiBEZSBvdHJhIHBhcnRlLCAgcmVjb25vY2VuIHF1ZSBsYSBVbml2ZXJzaWRhZCBOYWNpb25hbCBkZSBDb2xvbWJpYSBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlIHkgc2UgZW5jdWVudHJhIGV4ZW50YSBkZSBjdWxwYSBlbiBjYXNvIGRlIHByZXNlbnRhcnNlIGFsZ8O6biB0aXBvIGRlIHJlY2xhbWFjacOzbiBlbiBtYXRlcmlhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIG8gcHJvcGllZGFkIGludGVsZWN0dWFsIGVuIGdlbmVyYWwuIFBvciBsbyB0YW50bywgbG9zIGZpcm1hbnRlcyAgYWNlcHRhbiBxdWUgY29tbyB0aXR1bGFyZXMgw7puaWNvcyBkZSBsb3MgZGVyZWNob3MgcGF0cmltb25pYWxlcyBkZSBhdXRvciwgYXN1bWlyw6FuIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIGNpdmlsLCBhZG1pbmlzdHJhdGl2YSB5L28gcGVuYWwgcXVlIHB1ZWRhIGRlcml2YXJzZSBkZSBsYSBwdWJsaWNhY2nDs24gZGUgbGEgb2JyYS4gIAoKZikJQXV0b3JpemFuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyBhZ3JlZ2Fkb3JlcyBkZSBjb250ZW5pZG9zLCBidXNjYWRvcmVzIGFjYWTDqW1pY29zLCBtZXRhYnVzY2Fkb3Jlcywgw61uZGljZXMgeSBkZW3DoXMgbWVkaW9zIHF1ZSBzZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBwcm9tb3ZlciBlbCBhY2Nlc28geSBjb25zdWx0YSBkZSBsYSBtaXNtYS4gCgpnKQlFbiBlbCBjYXNvIGRlIGxhcyB0ZXNpcyBjcmVhZGFzIHBhcmEgb3B0YXIgZG9ibGUgdGl0dWxhY2nDs24sIGxvcyBmaXJtYW50ZXMgc2Vyw6FuIGxvcyByZXNwb25zYWJsZXMgZGUgY29tdW5pY2FyIGEgbGFzIGluc3RpdHVjaW9uZXMgbmFjaW9uYWxlcyBvIGV4dHJhbmplcmFzIGVuIGNvbnZlbmlvLCBsYXMgbGljZW5jaWFzIGRlIGFjY2VzbyBhYmllcnRvIENyZWF0aXZlIENvbW1vbnMgeSBhdXRvcml6YWNpb25lcyBhc2lnbmFkYXMgYSBzdSBvYnJhIHBhcmEgbGEgcHVibGljYWNpw7NuIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgVU5BTCBkZSBhY3VlcmRvIGNvbiBsYXMgZGlyZWN0cmljZXMgZGUgbGEgUG9sw610aWNhIEdlbmVyYWwgZGUgbGEgQmlibGlvdGVjYSBEaWdpdGFsLgoKCmgpCVNlIGF1dG9yaXphIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgY29tbyByZXNwb25zYWJsZSBkZWwgdHJhdGFtaWVudG8gZGUgZGF0b3MgcGVyc29uYWxlcywgZGUgYWN1ZXJkbyBjb24gbGEgbGV5IDE1ODEgZGUgMjAxMiBlbnRlbmRpZW5kbyBxdWUgc2UgZW5jdWVudHJhbiBiYWpvIG1lZGlkYXMgcXVlIGdhcmFudGl6YW4gbGEgc2VndXJpZGFkLCBjb25maWRlbmNpYWxpZGFkIGUgaW50ZWdyaWRhZCwgeSBzdSB0cmF0YW1pZW50byB0aWVuZSB1bmEgZmluYWxpZGFkIGhpc3TDs3JpY2EsIGVzdGFkw61zdGljYSBvIGNpZW50w61maWNhIHNlZ8O6biBsbyBkaXNwdWVzdG8gZW4gbGEgUG9sw610aWNhIGRlIFRyYXRhbWllbnRvIGRlIERhdG9zIFBlcnNvbmFsZXMuCgoKClBBUlRFIDIuIEFVVE9SSVpBQ0nDk04gUEFSQSBQVUJMSUNBUiBZIFBFUk1JVElSIExBIENPTlNVTFRBIFkgVVNPIERFIE9CUkFTIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgVU5BTC4KClNlIGF1dG9yaXphIGxhIHB1YmxpY2FjacOzbiBlbGVjdHLDs25pY2EsIGNvbnN1bHRhIHkgdXNvIGRlIGxhIG9icmEgcG9yIHBhcnRlIGRlIGxhIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIENvbG9tYmlhIHkgZGUgc3VzIHVzdWFyaW9zIGRlIGxhIHNpZ3VpZW50ZSBtYW5lcmE6CgphLglDb25jZWRvIGxpY2VuY2lhIGVuIGxvcyB0w6lybWlub3Mgc2XDsWFsYWRvcyBlbiBsYSBwYXJ0ZSAxIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8sIGNvbiBlbCBvYmpldGl2byBkZSBxdWUgbGEgb2JyYSBlbnRyZWdhZGEgc2VhIHB1YmxpY2FkYSBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIENvbG9tYmlhIHkgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGVuIGFjY2VzbyBhYmllcnRvIHBhcmEgc3UgY29uc3VsdGEgcG9yIGxvcyB1c3VhcmlvcyBkZSBsYSBVbml2ZXJzaWRhZCBOYWNpb25hbCBkZSBDb2xvbWJpYSAgYSB0cmF2w6lzIGRlIGludGVybmV0LgoKCgpQQVJURSAzIEFVVE9SSVpBQ0nDk04gREUgVFJBVEFNSUVOVE8gREUgREFUT1MgUEVSU09OQUxFUy4KCkxhIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIENvbG9tYmlhLCBjb21vIHJlc3BvbnNhYmxlIGRlbCBUcmF0YW1pZW50byBkZSBEYXRvcyBQZXJzb25hbGVzLCBpbmZvcm1hIHF1ZSBsb3MgZGF0b3MgZGUgY2Fyw6FjdGVyIHBlcnNvbmFsIHJlY29sZWN0YWRvcyBtZWRpYW50ZSBlc3RlIGZvcm11bGFyaW8sIHNlIGVuY3VlbnRyYW4gYmFqbyBtZWRpZGFzIHF1ZSBnYXJhbnRpemFuIGxhIHNlZ3VyaWRhZCwgY29uZmlkZW5jaWFsaWRhZCBlIGludGVncmlkYWQgeSBzdSB0cmF0YW1pZW50byBzZSByZWFsaXphIGRlIGFjdWVyZG8gYWwgY3VtcGxpbWllbnRvIG5vcm1hdGl2byBkZSBsYSBMZXkgMTU4MSBkZSAyMDEyIHkgZGUgbGEgUG9sw610aWNhIGRlIFRyYXRhbWllbnRvIGRlIERhdG9zIFBlcnNvbmFsZXMgZGUgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEuIFB1ZWRlIGVqZXJjZXIgc3VzIGRlcmVjaG9zIGNvbW8gdGl0dWxhciBhIGNvbm9jZXIsIGFjdHVhbGl6YXIsIHJlY3RpZmljYXIgeSByZXZvY2FyIGxhcyBhdXRvcml6YWNpb25lcyBkYWRhcyBhIGxhcyBmaW5hbGlkYWRlcyBhcGxpY2FibGVzIGEgdHJhdsOpcyBkZSBsb3MgY2FuYWxlcyBkaXNwdWVzdG9zIHkgZGlzcG9uaWJsZXMgZW4gd3d3LnVuYWwuZWR1LmNvIG8gZS1tYWlsOiBwcm90ZWNkYXRvc19uYUB1bmFsLmVkdS5jbyIKClRlbmllbmRvIGVuIGN1ZW50YSBsbyBhbnRlcmlvciwgYXV0b3Jpem8gZGUgbWFuZXJhIHZvbHVudGFyaWEsIHByZXZpYSwgZXhwbMOtY2l0YSwgaW5mb3JtYWRhIGUgaW5lcXXDrXZvY2EgYSBsYSBVbml2ZXJzaWRhZCBOYWNpb25hbCBkZSBDb2xvbWJpYSBhIHRyYXRhciBsb3MgZGF0b3MgcGVyc29uYWxlcyBkZSBhY3VlcmRvIGNvbiBsYXMgZmluYWxpZGFkZXMgZXNwZWPDrWZpY2FzIHBhcmEgZWwgZGVzYXJyb2xsbyB5IGVqZXJjaWNpbyBkZSBsYXMgZnVuY2lvbmVzIG1pc2lvbmFsZXMgZGUgZG9jZW5jaWEsIGludmVzdGlnYWNpw7NuIHkgZXh0ZW5zacOzbiwgYXPDrSBjb21vIGxhcyByZWxhY2lvbmVzIGFjYWTDqW1pY2FzLCBsYWJvcmFsZXMsIGNvbnRyYWN0dWFsZXMgeSB0b2RhcyBsYXMgZGVtw6FzIHJlbGFjaW9uYWRhcyBjb24gZWwgb2JqZXRvIHNvY2lhbCBkZSBsYSBVbml2ZXJzaWRhZC4gCgo= |