Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático
ilustraciones, diagramas
- Autores:
-
Tamayo Palomino, Andrés David
- Tipo de recurso:
- Fecha de publicación:
- 2021
- Institución:
- Universidad Nacional de Colombia
- Repositorio:
- Universidad Nacional de Colombia
- Idioma:
- spa
- OAI Identifier:
- oai:repositorio.unal.edu.co:unal/80671
- Palabra clave:
- 000 - Ciencias de la computación, información y obras generales::003 - Sistemas
000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación
Artificial intelligence
Inteligencia artificial
MLOps
DataOps
Trading
Deep Learning
Comercio
Aprendizaje profundo
- Rights
- openAccess
- License
- Atribución-CompartirIgual 4.0 Internacional
id |
UNACIONAL2_d0438ddeb80a15224880e49cc5cc7a05 |
---|---|
oai_identifier_str |
oai:repositorio.unal.edu.co:unal/80671 |
network_acronym_str |
UNACIONAL2 |
network_name_str |
Universidad Nacional de Colombia |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático |
dc.title.translated.eng.fl_str_mv |
Methodological approach for integration of methodologies DataOps and MLOps applied to automatic trading |
title |
Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático |
spellingShingle |
Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático 000 - Ciencias de la computación, información y obras generales::003 - Sistemas 000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación Artificial intelligence Inteligencia artificial MLOps DataOps Trading Deep Learning Comercio Aprendizaje profundo |
title_short |
Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático |
title_full |
Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático |
title_fullStr |
Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático |
title_full_unstemmed |
Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático |
title_sort |
Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático |
dc.creator.fl_str_mv |
Tamayo Palomino, Andrés David |
dc.contributor.advisor.none.fl_str_mv |
Velásquez Henao, Juan David |
dc.contributor.author.none.fl_str_mv |
Tamayo Palomino, Andrés David |
dc.subject.ddc.spa.fl_str_mv |
000 - Ciencias de la computación, información y obras generales::003 - Sistemas 000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación |
topic |
000 - Ciencias de la computación, información y obras generales::003 - Sistemas 000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación Artificial intelligence Inteligencia artificial MLOps DataOps Trading Deep Learning Comercio Aprendizaje profundo |
dc.subject.lemb.eng.fl_str_mv |
Artificial intelligence |
dc.subject.lemb.spa.fl_str_mv |
Inteligencia artificial |
dc.subject.proposal.eng.fl_str_mv |
MLOps DataOps Trading Deep Learning |
dc.subject.proposal.spa.fl_str_mv |
Comercio Aprendizaje profundo |
description |
ilustraciones, diagramas |
publishDate |
2021 |
dc.date.accessioned.none.fl_str_mv |
2021-11-09T16:20:35Z |
dc.date.available.none.fl_str_mv |
2021-11-09T16:20:35Z |
dc.date.issued.none.fl_str_mv |
2021-09-20 |
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/80671 |
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/80671 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 |
kdnuggets, «What main methodology are you using for your analytics, data mining, or data science projects?,» 2014. [En línea]. Available: https://www.kdnuggets.com/polls/2014/analytics-data-mining-data-sciencemethodology.html H. Atwal, Practical DataOps: Delivering Agile Data Science at Scale, Apress, 2020. M.Treveil y D. Team, Introducing Mlops: How to Scale Machine Learning in the Enterprise, oreilly, 2020 G. H. D. G. E. D. T. P. D. Sculley, «Hidden Technical Debt in Machine Learning Systems,» Advances in Neural Information Processing Systems, 2015. G. S. d. Nascimento y A. A. D. Oliveira, «An Agile Knowledge Discovery in Databases Software Process,» ICDKE , 2012. M. Taifi, Clean Machine Learning Code, leanpub, 2020. What is the Team Data Science Process?, 2020. [En línea]. Available: https://docs.microsoft.com/en-us/azure/architecture/data-science-process/overview. 2020 state of enterprise machine learning, «algorithmia,» 2020. [En línea]. Available: https://info.algorithmia.com/hubfs/2019/Whitepapers/The-State-of-Enterprise-ML2020/Algorithmia_2020_State_of_Enterprise_ML.pdf?utm_campaign=The%20Batch &utm_source=hs_email&utm_medium=email&utm_content=80984419&_hsenc=p2A Nqtz--sz-e2gfqUeDvVSmjsXfvwOnLHB2Z. valohai, «valohai.com,» [En línea]. Available: https://valohai.com/mlops/ Valohai, Practical MLOPS, 2020. C. Bergh, G. Benghiat y E. Strod, The DataOps Cookbook, vol. 2, 2019. C. Ebert, G. Gallardo, J. Hernantes y N. Serrano, «DevOps,» IEEE, 2016. «Qué es DataOps y MLOps?,» 2020. [En línea]. Available: https://anllogui.medium.com/qu%C3%A9-es-dataops-y-mlops-e07ef8281416 A.Burkov, Machine Learning Engineering, True Positive Inc, 2020. R. Dash y P. Dash, «A Hybrid Stock Trading Framework Integrating Technical Analysis with Machine Learning Techniques,» ScienceDirect, 2016. S. Jansen, Machine Learning for Algorithmic Trading, vol. 2, Packt Publishing, 2020. B. Huang, Y. Huan, L. Da, L. Zheng y Z. Zou, «Automated trading systems statistical and machine learning methods and hardware implementation: a survey,,» ResearchGate, 2018 M. Dempster y V.Leemans, «An automated FX trading system using adaptive reinforcement learning,,» ScienceDirect, 2006. Figure Eight, «Data Scientist Report 2018,» 2018 Google, «MLOps: Continuous delivery and automation pipelines in machine learning,» 2020. [En línea]. Available: https://cloud.google.com/architecture/mlopscontinuous-delivery-and-automation-pipelines-in-machine-learning. |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.license.spa.fl_str_mv |
Atribución-CompartirIgual 4.0 Internacional |
dc.rights.uri.spa.fl_str_mv |
http://creativecommons.org/licenses/by-sa/4.0/ |
dc.rights.accessrights.spa.fl_str_mv |
info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Atribución-CompartirIgual 4.0 Internacional http://creativecommons.org/licenses/by-sa/4.0/ http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.extent.spa.fl_str_mv |
xviii, 89 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 |
Medellín - Minas - Maestría en Ingeniería - Analítica |
dc.publisher.department.spa.fl_str_mv |
Departamento de la Computación y la Decisión |
dc.publisher.faculty.spa.fl_str_mv |
Facultad de Minas |
dc.publisher.place.spa.fl_str_mv |
Medellín, Colombia |
dc.publisher.branch.spa.fl_str_mv |
Universidad Nacional de Colombia - Sede Medellín |
institution |
Universidad Nacional de Colombia |
bitstream.url.fl_str_mv |
https://repositorio.unal.edu.co/bitstream/unal/80671/1/license.txt https://repositorio.unal.edu.co/bitstream/unal/80671/3/1036663108.2021.pdf https://repositorio.unal.edu.co/bitstream/unal/80671/4/1036663108.2021.pdf.jpg |
bitstream.checksum.fl_str_mv |
8153f7789df02f0a4c9e079953658ab2 a6e1e1b8c14089bbd78fdbeb41bf11d1 5aa5caabaab7cb7e4407b066ac0036d7 |
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_ |
1814089633130086400 |
spelling |
Atribución-CompartirIgual 4.0 Internacionalhttp://creativecommons.org/licenses/by-sa/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Velásquez Henao, Juan David7b16d4a5377f0f1b1f90d3c8c6fd9f8bTamayo Palomino, Andrés David5b4b646ef401772a560bb17fa923879e2021-11-09T16:20:35Z2021-11-09T16:20:35Z2021-09-20https://repositorio.unal.edu.co/handle/unal/80671Universidad Nacional de ColombiaRepositorio Institucional Universidad Nacional de Colombiahttps://repositorio.unal.edu.co/ilustraciones, diagramasLas metodologías tradicionales usadas para el desarrollo de aplicaciones de ciencia de datos dan cabida a una gran deuda técnica en su proceso desarrollo que termina por ocasionar el fracaso de muchos proyectos. Para mitigar dicha deuda, se plantea una integración entre los enfoques de DataOps y MLOps, en donde se definen los beneficios, pasos y principios a seguir en la construcción de una aplicación enmarcada bajo esta integración propuesta. Posterior a ello se comparan dos aplicaciones de trading automático usando Deep learning, una de ella es desarrollada bajo las metodologías tradicionales y otra bajo la integración de los enfoques de MLOps y DataOps. Se concluye que la integración de ambos enfoques resulta altamente provechosa, permitiendo suplir las falencias de las metodologías tradicionales y las deficiencias de cada uno de los enfoques usados de forma independiente. (Texto tomado de la fuente)The traditional methodologies used for the development of data science applications give place to a great technical debt in their development process that ends up causing the failure of many projects. To mitigate this debt, an integration between DataOps and MLOps approaches is proposed, where the benefits, steps and principles to be followed in the construction of an application framed under this proposed integration are defined. Subsequently, two automatic trading applications using Deep learning are compared, one of them is developed under traditional methodologies and the other one under the integration of MLOps and DataOps approaches. It is concluded that the integration of both approaches is highly useful, allowing to supply the shortcomings of the traditional methodologies and the deficiencies of each of the approaches used independently.MaestríaMagíster en Ingeniería - AnalíticaAnalíticaÁrea Curricular de Ingeniería de Sistemas e Informáticaxviii, 89 páginasapplication/pdfspaUniversidad Nacional de ColombiaMedellín - Minas - Maestría en Ingeniería - AnalíticaDepartamento de la Computación y la DecisiónFacultad de MinasMedellín, ColombiaUniversidad Nacional de Colombia - Sede Medellín000 - Ciencias de la computación, información y obras generales::003 - Sistemas000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computaciónArtificial intelligenceInteligencia artificialMLOpsDataOpsTradingDeep LearningComercioAprendizaje profundoAproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automáticoMethodological approach for integration of methodologies DataOps and MLOps applied to automatic tradingTrabajo de grado - Maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTexthttp://purl.org/redcol/resource_type/TMkdnuggets, «What main methodology are you using for your analytics, data mining, or data science projects?,» 2014. [En línea]. Available: https://www.kdnuggets.com/polls/2014/analytics-data-mining-data-sciencemethodology.htmlH. Atwal, Practical DataOps: Delivering Agile Data Science at Scale, Apress, 2020.M.Treveil y D. Team, Introducing Mlops: How to Scale Machine Learning in the Enterprise, oreilly, 2020G. H. D. G. E. D. T. P. D. Sculley, «Hidden Technical Debt in Machine Learning Systems,» Advances in Neural Information Processing Systems, 2015.G. S. d. Nascimento y A. A. D. Oliveira, «An Agile Knowledge Discovery in Databases Software Process,» ICDKE , 2012.M. Taifi, Clean Machine Learning Code, leanpub, 2020.What is the Team Data Science Process?, 2020. [En línea]. Available: https://docs.microsoft.com/en-us/azure/architecture/data-science-process/overview.2020 state of enterprise machine learning, «algorithmia,» 2020. [En línea]. Available: https://info.algorithmia.com/hubfs/2019/Whitepapers/The-State-of-Enterprise-ML2020/Algorithmia_2020_State_of_Enterprise_ML.pdf?utm_campaign=The%20Batch &utm_source=hs_email&utm_medium=email&utm_content=80984419&_hsenc=p2A Nqtz--sz-e2gfqUeDvVSmjsXfvwOnLHB2Z.valohai, «valohai.com,» [En línea]. Available: https://valohai.com/mlops/Valohai, Practical MLOPS, 2020.C. Bergh, G. Benghiat y E. Strod, The DataOps Cookbook, vol. 2, 2019.C. Ebert, G. Gallardo, J. Hernantes y N. Serrano, «DevOps,» IEEE, 2016.«Qué es DataOps y MLOps?,» 2020. [En línea]. Available: https://anllogui.medium.com/qu%C3%A9-es-dataops-y-mlops-e07ef8281416A.Burkov, Machine Learning Engineering, True Positive Inc, 2020.R. Dash y P. Dash, «A Hybrid Stock Trading Framework Integrating Technical Analysis with Machine Learning Techniques,» ScienceDirect, 2016.S. Jansen, Machine Learning for Algorithmic Trading, vol. 2, Packt Publishing, 2020.B. Huang, Y. Huan, L. Da, L. Zheng y Z. Zou, «Automated trading systems statistical and machine learning methods and hardware implementation: a survey,,» ResearchGate, 2018M. Dempster y V.Leemans, «An automated FX trading system using adaptive reinforcement learning,,» ScienceDirect, 2006.Figure Eight, «Data Scientist Report 2018,» 2018Google, «MLOps: Continuous delivery and automation pipelines in machine learning,» 2020. [En línea]. Available: https://cloud.google.com/architecture/mlopscontinuous-delivery-and-automation-pipelines-in-machine-learning.InvestigadoresMaestrosLICENSElicense.txtlicense.txttext/plain; charset=utf-84074https://repositorio.unal.edu.co/bitstream/unal/80671/1/license.txt8153f7789df02f0a4c9e079953658ab2MD51ORIGINAL1036663108.2021.pdf1036663108.2021.pdfTesis de Maestría en Ingeniería - Analíticaapplication/pdf4555454https://repositorio.unal.edu.co/bitstream/unal/80671/3/1036663108.2021.pdfa6e1e1b8c14089bbd78fdbeb41bf11d1MD53THUMBNAIL1036663108.2021.pdf.jpg1036663108.2021.pdf.jpgGenerated Thumbnailimage/jpeg5263https://repositorio.unal.edu.co/bitstream/unal/80671/4/1036663108.2021.pdf.jpg5aa5caabaab7cb7e4407b066ac0036d7MD54unal/80671oai:repositorio.unal.edu.co:unal/806712023-10-25 10:24:52.48Repositorio Institucional Universidad Nacional de Colombiarepositorio_nal@unal.edu.coUExBTlRJTExBIERFUMOTU0lUTwoKQ29tbyBlZGl0b3IgZGUgZXN0ZSDDrXRlbSwgdXN0ZWQgcHVlZGUgbW92ZXJsbyBhIHJldmlzacOzbiBzaW4gYW50ZXMgcmVzb2x2ZXIgbG9zIHByb2JsZW1hcyBpZGVudGlmaWNhZG9zLCBkZSBsbyBjb250cmFyaW8sIGhhZ2EgY2xpYyBlbiBHdWFyZGFyIHBhcmEgZ3VhcmRhciBlbCDDrXRlbSB5IHNvbHVjaW9uYXIgZXN0b3MgcHJvYmxlbWFzIG1hcyB0YXJkZS4KClBhcmEgdHJhYmFqb3MgZGVwb3NpdGFkb3MgcG9yIHN1IHByb3BpbyBhdXRvcjoKIApBbCBhdXRvYXJjaGl2YXIgZXN0ZSBncnVwbyBkZSBhcmNoaXZvcyBkaWdpdGFsZXMgeSBzdXMgbWV0YWRhdG9zLCB5byBnYXJhbnRpem8gYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBVbmFsIGVsIGRlcmVjaG8gYSBhbG1hY2VuYXJsb3MgeSBtYW50ZW5lcmxvcyBkaXNwb25pYmxlcyBlbiBsw61uZWEgZGUgbWFuZXJhIGdyYXR1aXRhLiBEZWNsYXJvIHF1ZSBsYSBvYnJhIGVzIGRlIG1pIHByb3BpZWRhZCBpbnRlbGVjdHVhbCB5IHF1ZSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIFVuYWwgbm8gYXN1bWUgbmluZ3VuYSByZXNwb25zYWJpbGlkYWQgc2kgaGF5IGFsZ3VuYSB2aW9sYWNpw7NuIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGFsIGRpc3RyaWJ1aXIgZXN0b3MgYXJjaGl2b3MgeSBtZXRhZGF0b3MuIChTZSByZWNvbWllbmRhIGEgdG9kb3MgbG9zIGF1dG9yZXMgYSBpbmRpY2FyIHN1cyBkZXJlY2hvcyBkZSBhdXRvciBlbiBsYSBww6FnaW5hIGRlIHTDrXR1bG8gZGUgc3UgZG9jdW1lbnRvLikgRGUgbGEgbWlzbWEgbWFuZXJhLCBhY2VwdG8gbG9zIHTDqXJtaW5vcyBkZSBsYSBzaWd1aWVudGUgbGljZW5jaWE6IExvcyBhdXRvcmVzIG8gdGl0dWxhcmVzIGRlbCBkZXJlY2hvIGRlIGF1dG9yIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8gY29uZmllcmVuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgdW5hIGxpY2VuY2lhIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBzZSBpbnRlZ3JhIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwsIHF1ZSBzZSBhanVzdGEgYSBsYXMgc2lndWllbnRlcyBjYXJhY3RlcsOtc3RpY2FzOiBhKSBFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWUgZW4gZWwgcmVwb3NpdG9yaW8sIHF1ZSBzZXLDoW4gcHJvcnJvZ2FibGVzIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gcGF0cmltb25pYWwgZGVsIGF1dG9yLiBFbCBhdXRvciBwb2Ryw6EgZGFyIHBvciB0ZXJtaW5hZGEgbGEgbGljZW5jaWEgc29saWNpdMOhbmRvbG8gYSBsYSBVbml2ZXJzaWRhZC4gYikgTG9zIGF1dG9yZXMgYXV0b3JpemFuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgcGFyYSBwdWJsaWNhciBsYSBvYnJhIGVuIGVsIGZvcm1hdG8gcXVlIGVsIHJlcG9zaXRvcmlvIGxvIHJlcXVpZXJhIChpbXByZXNvLCBkaWdpdGFsLCBlbGVjdHLDs25pY28gbyBjdWFscXVpZXIgb3RybyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSB5IGNvbm9jZW4gcXVlIGRhZG8gcXVlIHNlIHB1YmxpY2EgZW4gSW50ZXJuZXQgcG9yIGVzdGUgaGVjaG8gY2lyY3VsYSBjb24gYWxjYW5jZSBtdW5kaWFsLiBjKSBMb3MgYXV0b3JlcyBhY2VwdGFuIHF1ZSBsYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIHJlbnVuY2lhbiBhIHJlY2liaXIgZW1vbHVtZW50byBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgQ3JlYXRpdmUgQ29tbW9ucyBjb24gcXVlIHNlIHB1YmxpY2EuIGQpIExvcyBhdXRvcmVzIG1hbmlmaWVzdGFuIHF1ZSBzZSB0cmF0YSBkZSB1bmEgb2JyYSBvcmlnaW5hbCBzb2JyZSBsYSBxdWUgdGllbmVuIGxvcyBkZXJlY2hvcyBxdWUgYXV0b3JpemFuIHkgcXVlIHNvbiBlbGxvcyBxdWllbmVzIGFzdW1lbiB0b3RhbCByZXNwb25zYWJpbGlkYWQgcG9yIGVsIGNvbnRlbmlkbyBkZSBzdSBvYnJhIGFudGUgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgeSBhbnRlIHRlcmNlcm9zLiBFbiB0b2RvIGNhc28gbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uIGUpIExvcyBhdXRvcmVzIGF1dG9yaXphbiBhIGxhIFVuaXZlcnNpZGFkIHBhcmEgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyBhZ3JlZ2Fkb3JlcywgaW5kaWNlc3MgeSBidXNjYWRvcmVzIHF1ZSBzZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBwcm9tb3ZlciBzdSBkaWZ1c2nDs24uIGYpIExvcyBhdXRvcmVzIGFjZXB0YW4gcXVlIGxhIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIENvbG9tYmlhIHB1ZWRhIGNvbnZlcnRpciBlbCBkb2N1bWVudG8gYSBjdWFscXVpZXIgbWVkaW8gbyBmb3JtYXRvIHBhcmEgcHJvcMOzc2l0b3MgZGUgcHJlc2VydmFjacOzbiBkaWdpdGFsLiBTSSBFTCBET0NVTUVOVE8gU0UgQkFTQSBFTiBVTiBUUkFCQUpPIFFVRSBIQSBTSURPIFBBVFJPQ0lOQURPIE8gQVBPWUFETyBQT1IgVU5BIEFHRU5DSUEgTyBVTkEgT1JHQU5JWkFDScOTTiwgQ09OIEVYQ0VQQ0nDk04gREUgTEEgVU5JVkVSU0lEQUQgTkFDSU9OQUwgREUgQ09MT01CSUEsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MgREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uIAoKUGFyYSB0cmFiYWpvcyBkZXBvc2l0YWRvcyBwb3Igb3RyYXMgcGVyc29uYXMgZGlzdGludGFzIGEgc3UgYXV0b3I6IAoKRGVjbGFybyBxdWUgZWwgZ3J1cG8gZGUgYXJjaGl2b3MgZGlnaXRhbGVzIHkgbWV0YWRhdG9zIGFzb2NpYWRvcyBxdWUgZXN0b3kgYXJjaGl2YW5kbyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIFVOKSBlcyBkZSBkb21pbmlvIHDDumJsaWNvLiBTaSBubyBmdWVzZSBlbCBjYXNvLCBhY2VwdG8gdG9kYSBsYSByZXNwb25zYWJpbGlkYWQgcG9yIGN1YWxxdWllciBpbmZyYWNjacOzbiBkZSBkZXJlY2hvcyBkZSBhdXRvciBxdWUgY29ubGxldmUgbGEgZGlzdHJpYnVjacOzbiBkZSBlc3RvcyBhcmNoaXZvcyB5IG1ldGFkYXRvcy4KTk9UQTogU0kgTEEgVEVTSVMgQSBQVUJMSUNBUiBBRFFVSVJJw5MgQ09NUFJPTUlTT1MgREUgQ09ORklERU5DSUFMSURBRCBFTiBFTCBERVNBUlJPTExPIE8gUEFSVEVTIERFTCBET0NVTUVOVE8uIFNJR0EgTEEgRElSRUNUUklaIERFIExBIFJFU09MVUNJw5NOIDAyMyBERSAyMDE1LCBQT1IgTEEgQ1VBTCBTRSBFU1RBQkxFQ0UgRUwgUFJPQ0VESU1JRU5UTyBQQVJBIExBIFBVQkxJQ0FDScOTTiBERSBURVNJUyBERSBNQUVTVFLDjUEgWSBET0NUT1JBRE8gREUgTE9TIEVTVFVESUFOVEVTIERFIExBIFVOSVZFUlNJREFEIE5BQ0lPTkFMIERFIENPTE9NQklBIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgVU4sIEVYUEVESURBIFBPUiBMQSBTRUNSRVRBUsONQSBHRU5FUkFMLiAqTEEgVEVTSVMgQSBQVUJMSUNBUiBERUJFIFNFUiBMQSBWRVJTScOTTiBGSU5BTCBBUFJPQkFEQS4gCgpBbCBoYWNlciBjbGljIGVuIGVsIHNpZ3VpZW50ZSBib3TDs24sIHVzdGVkIGluZGljYSBxdWUgZXN0w6EgZGUgYWN1ZXJkbyBjb24gZXN0b3MgdMOpcm1pbm9zLiBTaSB0aWVuZSBhbGd1bmEgZHVkYSBzb2JyZSBsYSBsaWNlbmNpYSwgcG9yIGZhdm9yLCBjb250YWN0ZSBjb24gZWwgYWRtaW5pc3RyYWRvciBkZWwgc2lzdGVtYS4KClVOSVZFUlNJREFEIE5BQ0lPTkFMIERFIENPTE9NQklBIC0gw5psdGltYSBtb2RpZmljYWNpw7NuIDE5LzEwLzIwMjEK |