Elaboración de un recurso computacional para la enseñanza del algoritmo cuántico de Grover

En el marco actual en el que se da la educación y la importancia de buscar estrategias efectivas para la enseñanza, se realiza un software educativo elaborado para la enseñanza del algoritmo de Grover. La computación cuántica es una rama importante y de gran interés, con numerosos algoritmos, y entr...

Full description

Autores:
Martin Rojas, Daniel Mauricio
Tipo de recurso:
Fecha de publicación:
2024
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/42593
Acceso en línea:
http://hdl.handle.net/11349/42593
Palabra clave:
Computación
Educación
Física
Tecnología
Licenciatura en Física -- Tesis y disertaciones académicas
Educación en computación cuántica
Desarrollo de software educativo
Enseñanza del algoritmo de Grover
Computation
Education
Physics
Technology
Rights
License
Restringido (Solo Referencia)
id UDISTRITA2_b314d3c72bcfbf0952c8ee6a185d3eea
oai_identifier_str oai:repository.udistrital.edu.co:11349/42593
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv Elaboración de un recurso computacional para la enseñanza del algoritmo cuántico de Grover
dc.title.titleenglish.none.fl_str_mv Development of a computational resource for teaching Grover's quantum algorithm
title Elaboración de un recurso computacional para la enseñanza del algoritmo cuántico de Grover
spellingShingle Elaboración de un recurso computacional para la enseñanza del algoritmo cuántico de Grover
Computación
Educación
Física
Tecnología
Licenciatura en Física -- Tesis y disertaciones académicas
Educación en computación cuántica
Desarrollo de software educativo
Enseñanza del algoritmo de Grover
Computation
Education
Physics
Technology
title_short Elaboración de un recurso computacional para la enseñanza del algoritmo cuántico de Grover
title_full Elaboración de un recurso computacional para la enseñanza del algoritmo cuántico de Grover
title_fullStr Elaboración de un recurso computacional para la enseñanza del algoritmo cuántico de Grover
title_full_unstemmed Elaboración de un recurso computacional para la enseñanza del algoritmo cuántico de Grover
title_sort Elaboración de un recurso computacional para la enseñanza del algoritmo cuántico de Grover
dc.creator.fl_str_mv Martin Rojas, Daniel Mauricio
dc.contributor.advisor.none.fl_str_mv Salamanca Bernal, Julián Andrés
dc.contributor.author.none.fl_str_mv Martin Rojas, Daniel Mauricio
dc.contributor.orcid.none.fl_str_mv Salamanca Bernal, Julián Andrés [0000-0001-8378-4215]
dc.subject.none.fl_str_mv Computación
Educación
Física
Tecnología
topic Computación
Educación
Física
Tecnología
Licenciatura en Física -- Tesis y disertaciones académicas
Educación en computación cuántica
Desarrollo de software educativo
Enseñanza del algoritmo de Grover
Computation
Education
Physics
Technology
dc.subject.lemb.none.fl_str_mv Licenciatura en Física -- Tesis y disertaciones académicas
Educación en computación cuántica
Desarrollo de software educativo
Enseñanza del algoritmo de Grover
dc.subject.keyword.none.fl_str_mv Computation
Education
Physics
Technology
description En el marco actual en el que se da la educación y la importancia de buscar estrategias efectivas para la enseñanza, se realiza un software educativo elaborado para la enseñanza del algoritmo de Grover. La computación cuántica es una rama importante y de gran interés, con numerosos algoritmos, y entre estos uno de los más mencionados es el algoritmo de Grover. Al ser un algoritmo cuántico, se entiende que su comprensión no sea sencilla debido a la complejidad de esta disciplina. Por esta razón se ha realizado una interfaz gráfica de usuario para la enseñanza de este. Esta herramienta tecnológica está diseñada para ayudar tanto al docente como al estudiante, optimizando el esfuerzo y el tiempo necesarios para el aprendizaje de este algoritmo. El software en cuestión cuenta con diferentes conceptualizaciones importantes y una simulación que muestra el desarrollo del algoritmo paso a paso mediante diferentes visualizaciones y múltiples casos. Además, ha sido evaluado como un software de alta calidad, obteniendo una calificación de ‘muy alto’. En el trabajo correspondiente se detalla sobre el proceso de desarrollo de la interfaz realizada y demás detalles importantes de su creación.
publishDate 2024
dc.date.accessioned.none.fl_str_mv 2024-10-30T18:03:45Z
dc.date.available.none.fl_str_mv 2024-10-30T18:03:45Z
dc.date.created.none.fl_str_mv 2024-08-08
dc.type.none.fl_str_mv bachelorThesis
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.degree.none.fl_str_mv Investigación-Innovación
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/42593
url http://hdl.handle.net/11349/42593
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv Barroso, R., Oliveros, Y., Álvarez, Y., Coello, J., & Lenía, G. (2012). Metodología ágil Crystal Clear. Un caso de estudio. Serie Científica de la Universidad de las Ciencias Informáticas, 5 (2). https://dialnet.unirioja.es/servlet/articulo? codigo=8590095
Boyer, M., Brassard, G., Høyer, P., & Tapp, A. (1998). Tight Bounds on Quantum Searching. Fortschritte der Physik, 46 (4–5), 493-505. https://doi.org/10.1002/ (sici)1521-3978(199806)46:4/5<493::aid-prop493>3.0.co;2-p
Brun, R., & Rademakers, F. (1997). ROOT — An object oriented data analysis framework [New Computing Techniques in Physics Research V]. Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment, 389 (1), 81-86. https://doi.org/https://doi.org/10.1016/S0168-9002(97)00048-X
Castro, S., Guzmán, B., & Casado, D. (2007). LAS TIC EN LOS PROCESOS DE ENSEÑANZA Y APRENDIZAJE. Laurus, 13, 213-234.
Fojcik, M., Fojcik, M. K., Høyland, S.-O., & Hoem, J. (2022). CHALLENGES IN TEACHING PROGRAMMING. Education and New Developments 2022 – Volume I. https://api.semanticscholar.org/CorpusID:250974543
Griffiths, D. J. (2005). Introduction to Quantum Mechanics (2.a ed.). Pearson.
Grover, L. K. (1996). A fast quantum mechanical algorithm for database search. Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, 212-219. https://doi.org/10.1145/237814.237866
Nielsen, M., & Chuang, I. (2010). Quantum Computation and Quantum Information (10th Anniversary).
Pittenger, A. O. (2000). An Introduction to Quantum Computing Algorithms (J. C. Cherniavsky, Ed.).
Preskill, J. (2018). Quantum Computing in the NISQ era and beyond. Quantum, 2, 79. https://doi.org/10.22331/q-2018-08-06-79
Sakurai, J., & Napolitano, J. (2011). Modern Quantum Mechanics (2.a ed.). Addison- Wesley.
Singh, C., & Marshman, E. (2015). Review of student difficulties in upper-level quantum mechanics. Physical Review Special Topics - Physics Education Research, 11 (2). https://doi.org/10.1103/physrevstper.11.020117
Sutor, R. (2019). Dancing with Qubits. Packt.
Vargas, A., & Salamanca, J. (2015). ROOTlets, Interfaces Gráficas en ROOT: Un recurso educativo para la enseñanza de la Física: Alfabetización Científica y Tecnológica. Editorial Académica Española.
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_16ec
dc.rights.acceso.none.fl_str_mv Restringido (Solo Referencia)
rights_invalid_str_mv Restringido (Solo Referencia)
http://purl.org/coar/access_right/c_16ec
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/c6f24bf3-7772-4c21-aec7-cc05fb33045a/download
https://repository.udistrital.edu.co/bitstreams/c6ade20d-06b5-40cd-b53c-35bca74bada3/download
https://repository.udistrital.edu.co/bitstreams/e5bf0d59-7140-42f4-b1cb-27dcdda1f217/download
https://repository.udistrital.edu.co/bitstreams/55a2d69e-7a4e-4976-8691-cf4216001edf/download
https://repository.udistrital.edu.co/bitstreams/81f7d620-8477-4b08-80bc-74e81c652523/download
bitstream.checksum.fl_str_mv 5abc9f485965f36074ddb85b236b781d
e019320abf8520c5ed474ac6b9465b1d
997daf6c648c962d566d7b082dac908d
e4022481c5503b3f1284710324516a34
fb54c30c1f789c136b75a6650ecdf5ba
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1828165655660068864
spelling Salamanca Bernal, Julián AndrésMartin Rojas, Daniel MauricioSalamanca Bernal, Julián Andrés [0000-0001-8378-4215]2024-10-30T18:03:45Z2024-10-30T18:03:45Z2024-08-08http://hdl.handle.net/11349/42593En el marco actual en el que se da la educación y la importancia de buscar estrategias efectivas para la enseñanza, se realiza un software educativo elaborado para la enseñanza del algoritmo de Grover. La computación cuántica es una rama importante y de gran interés, con numerosos algoritmos, y entre estos uno de los más mencionados es el algoritmo de Grover. Al ser un algoritmo cuántico, se entiende que su comprensión no sea sencilla debido a la complejidad de esta disciplina. Por esta razón se ha realizado una interfaz gráfica de usuario para la enseñanza de este. Esta herramienta tecnológica está diseñada para ayudar tanto al docente como al estudiante, optimizando el esfuerzo y el tiempo necesarios para el aprendizaje de este algoritmo. El software en cuestión cuenta con diferentes conceptualizaciones importantes y una simulación que muestra el desarrollo del algoritmo paso a paso mediante diferentes visualizaciones y múltiples casos. Además, ha sido evaluado como un software de alta calidad, obteniendo una calificación de ‘muy alto’. En el trabajo correspondiente se detalla sobre el proceso de desarrollo de la interfaz realizada y demás detalles importantes de su creación.In the current educational context and the importance of searching effective teaching strategies, an educational software has been made for the Grover’s algorithm teaching. Quantum computation is an important field of huge interest, with numerous algorithms, among which Grover’s algorithm is one of the most mentioned. As a quantum algorithm, it is understandable that its comprehension is not easy due to the complexity of this discipline. For this reason, a graphical user interface for its teaching was made. This technological tool is designed to help both the teacher and the student, optimizing the effort and the time required for the learning of the algorithm. The software includes different important conceptualizations and a simulation showing the step by step development of the algorithm through different visualizations and multiple cases. Additionally, it has been evaluated as a high-quality software, obtaining a ‘very high’ rating. This work details about the development process of the interface and other important aspects of its creation.spaComputaciónEducaciónFísicaTecnologíaLicenciatura en Física -- Tesis y disertaciones académicasEducación en computación cuánticaDesarrollo de software educativoEnseñanza del algoritmo de GroverComputationEducationPhysicsTechnologyElaboración de un recurso computacional para la enseñanza del algoritmo cuántico de GroverDevelopment of a computational resource for teaching Grover's quantum algorithmbachelorThesisInvestigación-Innovacióninfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fRestringido (Solo Referencia)http://purl.org/coar/access_right/c_16ecBarroso, R., Oliveros, Y., Álvarez, Y., Coello, J., & Lenía, G. (2012). Metodología ágil Crystal Clear. Un caso de estudio. Serie Científica de la Universidad de las Ciencias Informáticas, 5 (2). https://dialnet.unirioja.es/servlet/articulo? codigo=8590095Boyer, M., Brassard, G., Høyer, P., & Tapp, A. (1998). Tight Bounds on Quantum Searching. Fortschritte der Physik, 46 (4–5), 493-505. https://doi.org/10.1002/ (sici)1521-3978(199806)46:4/5<493::aid-prop493>3.0.co;2-pBrun, R., & Rademakers, F. (1997). ROOT — An object oriented data analysis framework [New Computing Techniques in Physics Research V]. Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment, 389 (1), 81-86. https://doi.org/https://doi.org/10.1016/S0168-9002(97)00048-XCastro, S., Guzmán, B., & Casado, D. (2007). LAS TIC EN LOS PROCESOS DE ENSEÑANZA Y APRENDIZAJE. Laurus, 13, 213-234.Fojcik, M., Fojcik, M. K., Høyland, S.-O., & Hoem, J. (2022). CHALLENGES IN TEACHING PROGRAMMING. Education and New Developments 2022 – Volume I. https://api.semanticscholar.org/CorpusID:250974543Griffiths, D. J. (2005). Introduction to Quantum Mechanics (2.a ed.). Pearson.Grover, L. K. (1996). A fast quantum mechanical algorithm for database search. Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, 212-219. https://doi.org/10.1145/237814.237866Nielsen, M., & Chuang, I. (2010). Quantum Computation and Quantum Information (10th Anniversary).Pittenger, A. O. (2000). An Introduction to Quantum Computing Algorithms (J. C. Cherniavsky, Ed.).Preskill, J. (2018). Quantum Computing in the NISQ era and beyond. Quantum, 2, 79. https://doi.org/10.22331/q-2018-08-06-79Sakurai, J., & Napolitano, J. (2011). Modern Quantum Mechanics (2.a ed.). Addison- Wesley.Singh, C., & Marshman, E. (2015). Review of student difficulties in upper-level quantum mechanics. Physical Review Special Topics - Physics Education Research, 11 (2). https://doi.org/10.1103/physrevstper.11.020117Sutor, R. (2019). Dancing with Qubits. Packt.Vargas, A., & Salamanca, J. (2015). ROOTlets, Interfaces Gráficas en ROOT: Un recurso educativo para la enseñanza de la Física: Alfabetización Científica y Tecnológica. Editorial Académica Española.ORIGINALMartinRojasDanielMauricio2024.pdfMartinRojasDanielMauricio2024.pdfapplication/pdf2971279https://repository.udistrital.edu.co/bitstreams/c6f24bf3-7772-4c21-aec7-cc05fb33045a/download5abc9f485965f36074ddb85b236b781dMD51Licencia de uso y publicación.pdfLicencia de uso y publicación.pdfapplication/pdf1958955https://repository.udistrital.edu.co/bitstreams/c6ade20d-06b5-40cd-b53c-35bca74bada3/downloade019320abf8520c5ed474ac6b9465b1dMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/e5bf0d59-7140-42f4-b1cb-27dcdda1f217/download997daf6c648c962d566d7b082dac908dMD53THUMBNAILMartinRojasDanielMauricio2024.pdf.jpgMartinRojasDanielMauricio2024.pdf.jpgIM Thumbnailimage/jpeg6245https://repository.udistrital.edu.co/bitstreams/55a2d69e-7a4e-4976-8691-cf4216001edf/downloade4022481c5503b3f1284710324516a34MD54Licencia de uso y publicación.pdf.jpgLicencia de uso y publicación.pdf.jpgIM Thumbnailimage/jpeg10699https://repository.udistrital.edu.co/bitstreams/81f7d620-8477-4b08-80bc-74e81c652523/downloadfb54c30c1f789c136b75a6650ecdf5baMD5511349/42593oai:repository.udistrital.edu.co:11349/425932024-12-16 01:06:08.44open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK