Enseñanza del algoritmo de Shor por medio de una interfaz gráfica

En la formación de futuros profesionales en ciencia e ingeniería por medio de la educación STEAM (Science, Technology, Enginnering, Arts and Mathematics) y la alfabetización científica y Tecnológica (ACyT) se hace fundamental el uso, dominio y creación de software educativo que enfatice en el proces...

Full description

Autores:
García Cárdenas , Andrés Felipe
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2025
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/94188
Acceso en línea:
http://hdl.handle.net/11349/94188
Palabra clave:
Tecnología
Computación cuántica
Algoritmos cuánticos
Recurso educativo computacional
Interfaz gráfica
Alfabetización científica
Licenciatura en Física -- Tesis y disertaciones académicas
Technology
Quantum computing
Quantum Algorithms
Computational educational resource
Graphic interface
Scientific literacy
Rights
License
Restringido (Solo Referencia)
id UDISTRITA2_600c1772787b6bb848a3ed1249ff6586
oai_identifier_str oai:repository.udistrital.edu.co:11349/94188
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv Enseñanza del algoritmo de Shor por medio de una interfaz gráfica
dc.title.alternative.none.fl_str_mv Enseñanza del algoritmo de Shor por medio de una interfaz gráfica
dc.title.titleenglish.none.fl_str_mv Teaching Shor's algorithm through a graphical interface
title Enseñanza del algoritmo de Shor por medio de una interfaz gráfica
spellingShingle Enseñanza del algoritmo de Shor por medio de una interfaz gráfica
Tecnología
Computación cuántica
Algoritmos cuánticos
Recurso educativo computacional
Interfaz gráfica
Alfabetización científica
Licenciatura en Física -- Tesis y disertaciones académicas
Technology
Quantum computing
Quantum Algorithms
Computational educational resource
Graphic interface
Scientific literacy
title_short Enseñanza del algoritmo de Shor por medio de una interfaz gráfica
title_full Enseñanza del algoritmo de Shor por medio de una interfaz gráfica
title_fullStr Enseñanza del algoritmo de Shor por medio de una interfaz gráfica
title_full_unstemmed Enseñanza del algoritmo de Shor por medio de una interfaz gráfica
title_sort Enseñanza del algoritmo de Shor por medio de una interfaz gráfica
dc.creator.fl_str_mv García Cárdenas , Andrés Felipe
dc.contributor.advisor.none.fl_str_mv Salamanca Bernal , Julián Andrés
dc.contributor.author.none.fl_str_mv García Cárdenas , Andrés Felipe
dc.contributor.orcid.none.fl_str_mv Salamanca Bernal , Julián Andrés [0000-0001-8378-4215]
dc.subject.none.fl_str_mv Tecnología
Computación cuántica
Algoritmos cuánticos
Recurso educativo computacional
Interfaz gráfica
Alfabetización científica
topic Tecnología
Computación cuántica
Algoritmos cuánticos
Recurso educativo computacional
Interfaz gráfica
Alfabetización científica
Licenciatura en Física -- Tesis y disertaciones académicas
Technology
Quantum computing
Quantum Algorithms
Computational educational resource
Graphic interface
Scientific literacy
dc.subject.lemb.none.fl_str_mv Licenciatura en Física -- Tesis y disertaciones académicas
dc.subject.keyword.none.fl_str_mv Technology
Quantum computing
Quantum Algorithms
Computational educational resource
Graphic interface
Scientific literacy
description En la formación de futuros profesionales en ciencia e ingeniería por medio de la educación STEAM (Science, Technology, Enginnering, Arts and Mathematics) y la alfabetización científica y Tecnológica (ACyT) se hace fundamental el uso, dominio y creación de software educativo que enfatice en el proceso de enseñanza y aprendizaje de una forma más clara, simple y sencilla. El algoritmo de Shor presenta en su implementación una revolución en los sistemas de criptografía actuales, mezclando conceptos clásicos y cuánticos junto con la estructura computacional (circuito) durante su plementación y funcionamiento; por este motivo, lo hacen uno de los algoritmos computacionales más difíciles de comprender y estudiar, además, la bibliografía no es suficiente, debido a que se presentan escasos ejemplos que permitan apreciar el desarrollo del algoritmo de Shor. Con esto en mente, el grupo de física e informática FISINFOR de la Universidad Distrital Francisco José de Caldas desarrolla un nuevo recurso educativo-computacional en busca de reducir el tiempo necesario de aprendizaje y enseñanza del algoritmo de Shor con la creación del software llamado Software Education Quantum Shor Algorithm (abreviado como SEQSA). SEQSA cumple con las directrices enmarcadas en la Norma ISO 9126 y el modelo de evaluación de software educativo del Instituto Latinoamericano de la Comunicación Educativa en la Unidad de Investigación y Modelos Educativos. De igual forma, se aplican los estándares establecidos por el Departamento Administrativo de Ciencia, Tecnología e Innovación (COLCIENCIAS) según lo dispuesto en la resolución 000284-2004 como métricas de evaluación de calidad del software para realizar su inscripción.
publishDate 2025
dc.date.accessioned.none.fl_str_mv 2025-03-26T16:37:44Z
dc.date.available.none.fl_str_mv 2025-03-26T16:37:44Z
dc.date.created.none.fl_str_mv 2025-02-15
dc.type.none.fl_str_mv bachelorThesis
dc.type.degree.none.fl_str_mv Investigación-Innovación
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.none.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/94188
url http://hdl.handle.net/11349/94188
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv Sakurai, j, j. Napolitano, Jim. Modern Quantum Mechanics. 3era edición. Cambridge, University Press. Philadelphia.
Moret, Vicente. Principios fundamentales de computación cuántica. Universidad de A coruña. Departamento de computación. Facultad de informática
Portugal, Rentato. Algoritmos Cuánticos Básicos. 2022. Full Researcher at the National Laboratory of Scientific Computing.
Cano, Juan. Algunas variantes del algoritmo cuántico de shor. 2022. Universitad de Barcelona.
Bogino, Santiago. Implementación numérica del algoritmo de factorización de Shor. Universidad Nacional de Córdoba. Argentina.
García, Andrés. Manual Técnico: Documentación de uso manejo, desarrollo y evaluación Software Educational Quantum Shor Algorithm (SoftEduQSA). 2025.
Hernández, A. M. V., & Salamanca, J. (2015). ROOTlets, Interfaces gráficas de usuario en ROOT: un recurso educativo para la enseñanza de la física. EAE.
Benjumea, D. (2018). Elementos y conceptos de computación cuántica. Universidad de Sevilla.
Brun, R., & Rademakers, F. (1997). ROOT - An Object Oriented Data Analysis Frame- work [Versión 6.28, desarrollado en CERN].
Burton, D. (1976). Elementary Number Theory. University of New Hampshire.
Cánovas, J. (s.f.). Aritmética modular. Departamento de matemática aplicada y estadística.
Feynman, R. (1981). Simulating physics with computers. Journal of Theoretical Physics.
Nielsen, I., Michael. Chuang. (2000). Quantum Computation and Quantum Information. CAMBRIDGE UNIVERSITY PRESS.
Shor, P. (1996). Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. IEEE Computer Society Press.
Vega, J. Cesar. Ramirez. (2017). Computación cuántica: Implementación de los algoritmos de Shor y Grover en el computador cuántico de IBM. Escuela Colombiana de Ingeniería Julio Garavito.
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
dc.format.mimetype.none.fl_str_mv pdf
dc.publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/9a83ffcd-b217-4e14-8483-ecc78d0263a0/download
https://repository.udistrital.edu.co/bitstreams/fb89a748-fde3-4a80-b386-c25aa2c8ee04/download
https://repository.udistrital.edu.co/bitstreams/ebeaeade-c705-4eb7-a01f-012c0e80ebb6/download
https://repository.udistrital.edu.co/bitstreams/dc018093-8b97-4236-8735-be63a763fb43/download
https://repository.udistrital.edu.co/bitstreams/b2027556-0b38-470a-9c5c-a730327a8867/download
bitstream.checksum.fl_str_mv 8298bc8291587dea32038cddbf533d4b
e6120861ff790873f1e031b61f407920
997daf6c648c962d566d7b082dac908d
ac06ca23151edb293ba6509c744db31d
0a62ec10425ee6bf5de6a26fff936e43
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_ 1837006810978975744
spelling Salamanca Bernal , Julián AndrésGarcía Cárdenas , Andrés FelipeSalamanca Bernal , Julián Andrés [0000-0001-8378-4215]2025-03-26T16:37:44Z2025-03-26T16:37:44Z2025-02-15http://hdl.handle.net/11349/94188En la formación de futuros profesionales en ciencia e ingeniería por medio de la educación STEAM (Science, Technology, Enginnering, Arts and Mathematics) y la alfabetización científica y Tecnológica (ACyT) se hace fundamental el uso, dominio y creación de software educativo que enfatice en el proceso de enseñanza y aprendizaje de una forma más clara, simple y sencilla. El algoritmo de Shor presenta en su implementación una revolución en los sistemas de criptografía actuales, mezclando conceptos clásicos y cuánticos junto con la estructura computacional (circuito) durante su plementación y funcionamiento; por este motivo, lo hacen uno de los algoritmos computacionales más difíciles de comprender y estudiar, además, la bibliografía no es suficiente, debido a que se presentan escasos ejemplos que permitan apreciar el desarrollo del algoritmo de Shor. Con esto en mente, el grupo de física e informática FISINFOR de la Universidad Distrital Francisco José de Caldas desarrolla un nuevo recurso educativo-computacional en busca de reducir el tiempo necesario de aprendizaje y enseñanza del algoritmo de Shor con la creación del software llamado Software Education Quantum Shor Algorithm (abreviado como SEQSA). SEQSA cumple con las directrices enmarcadas en la Norma ISO 9126 y el modelo de evaluación de software educativo del Instituto Latinoamericano de la Comunicación Educativa en la Unidad de Investigación y Modelos Educativos. De igual forma, se aplican los estándares establecidos por el Departamento Administrativo de Ciencia, Tecnología e Innovación (COLCIENCIAS) según lo dispuesto en la resolución 000284-2004 como métricas de evaluación de calidad del software para realizar su inscripción.In the training of future professionals in science and engineering through STEAM (Science, Technology, Engineering, Arts and Mathematics) education and scientific and technological literacy (STL), the use, mastery and creation of educational software that emphasizes the teaching and learning process in a clearer, simpler and easier way is essential. Shor's algorithm presents in its implementation a revolution in current cryptography systems, mixing classical and quantum concepts together with the computational structure (circuit) during its implementation and operation; for this reason, it makes it one of the most difficult computational algorithms to understand and study, in addition, the bibliography is not sufficient, because there are few examples that allow to appreciate the development of Shor's algorithm. With this in mind, the physics and computer science group FISINFOR of the Francisco José de Caldas District University has developed a new educational-computational resource in order to reduce the time required for learning and teaching Shor's algorithm with the creation of the software called Software Education Quantum Shor Algorithm (abbreviated as SEQSA). SEQSA complies with the guidelines framed in the ISO 9126 Standard and the educational software evaluation model of the Latin American Institute of Educational Communication in the Educational Research and Models Unit. Likewise, the standards established by the Administrative Department of Science, Technology and Innovation (COLCIENCIAS) are applied as established in resolution 000284-2004 as software quality evaluation metrics for its registration.pdfspaUniversidad Distrital Francisco José de CaldasTecnologíaComputación cuánticaAlgoritmos cuánticosRecurso educativo computacionalInterfaz gráficaAlfabetización científicaLicenciatura en Física -- Tesis y disertaciones académicasTechnologyQuantum computingQuantum AlgorithmsComputational educational resourceGraphic interfaceScientific literacyEnseñanza del algoritmo de Shor por medio de una interfaz gráficaEnseñanza del algoritmo de Shor por medio de una interfaz gráficaTeaching Shor's algorithm through a graphical interfacebachelorThesisInvestigación-Innovacióninfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fRestringido (Solo Referencia)http://purl.org/coar/access_right/c_16ecSakurai, j, j. Napolitano, Jim. Modern Quantum Mechanics. 3era edición. Cambridge, University Press. Philadelphia.Moret, Vicente. Principios fundamentales de computación cuántica. Universidad de A coruña. Departamento de computación. Facultad de informáticaPortugal, Rentato. Algoritmos Cuánticos Básicos. 2022. Full Researcher at the National Laboratory of Scientific Computing.Cano, Juan. Algunas variantes del algoritmo cuántico de shor. 2022. Universitad de Barcelona.Bogino, Santiago. Implementación numérica del algoritmo de factorización de Shor. Universidad Nacional de Córdoba. Argentina.García, Andrés. Manual Técnico: Documentación de uso manejo, desarrollo y evaluación Software Educational Quantum Shor Algorithm (SoftEduQSA). 2025.Hernández, A. M. V., & Salamanca, J. (2015). ROOTlets, Interfaces gráficas de usuario en ROOT: un recurso educativo para la enseñanza de la física. EAE.Benjumea, D. (2018). Elementos y conceptos de computación cuántica. Universidad de Sevilla.Brun, R., & Rademakers, F. (1997). ROOT - An Object Oriented Data Analysis Frame- work [Versión 6.28, desarrollado en CERN].Burton, D. (1976). Elementary Number Theory. University of New Hampshire.Cánovas, J. (s.f.). Aritmética modular. Departamento de matemática aplicada y estadística.Feynman, R. (1981). Simulating physics with computers. Journal of Theoretical Physics.Nielsen, I., Michael. Chuang. (2000). Quantum Computation and Quantum Information. CAMBRIDGE UNIVERSITY PRESS.Shor, P. (1996). Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. IEEE Computer Society Press.Vega, J. Cesar. Ramirez. (2017). Computación cuántica: Implementación de los algoritmos de Shor y Grover en el computador cuántico de IBM. Escuela Colombiana de Ingeniería Julio Garavito.ORIGINALGarciaCardenasAndresFelipe2025.pdfGarciaCardenasAndresFelipe2025.pdfapplication/pdf34180531https://repository.udistrital.edu.co/bitstreams/9a83ffcd-b217-4e14-8483-ecc78d0263a0/download8298bc8291587dea32038cddbf533d4bMD52Formato de Uso y Licencia de Publicación.pdfFormato de Uso y Licencia de Publicación.pdfapplication/pdf3197924https://repository.udistrital.edu.co/bitstreams/fb89a748-fde3-4a80-b386-c25aa2c8ee04/downloade6120861ff790873f1e031b61f407920MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/ebeaeade-c705-4eb7-a01f-012c0e80ebb6/download997daf6c648c962d566d7b082dac908dMD53THUMBNAILGarciaCardenasAndresFelipe2025.pdf.jpgGarciaCardenasAndresFelipe2025.pdf.jpgIM Thumbnailimage/jpeg5919https://repository.udistrital.edu.co/bitstreams/dc018093-8b97-4236-8735-be63a763fb43/downloadac06ca23151edb293ba6509c744db31dMD55Formato de Uso y Licencia de Publicación.pdf.jpgFormato de Uso y Licencia de Publicación.pdf.jpgIM Thumbnailimage/jpeg13131https://repository.udistrital.edu.co/bitstreams/b2027556-0b38-470a-9c5c-a730327a8867/download0a62ec10425ee6bf5de6a26fff936e43MD5411349/94188oai:repository.udistrital.edu.co:11349/941882025-03-27 12:55:35.039restrictedhttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK