CardioResyncApp: Un aplicativo móvil para recolectar datos de investigación en Cardiología

Objetivo diseñar y desarrollar un aplicativo móvil, innovador y útil que facilite el registro, la extracción y el análisis de datos en cardiología, y que permita la realización de investigaciones de alta calidad en pacientes con insuficiencia cardiaca llevados a terapia de resincronización. Metodolo...

Full description

Autores:
Olaya, Alejandro
Bohórquez, Hernán David
Barrios, Alix Rocío
Tipo de recurso:
Article of journal
Fecha de publicación:
2020
Institución:
Fundación Universitaria de Ciencias de la Salud - FUCS
Repositorio:
Repositorio Digital Institucional ReDi
Idioma:
eng
spa
OAI Identifier:
oai:repositorio.fucsalud.edu.co:001/1832
Acceso en línea:
https://repositorio.fucsalud.edu.co/handle/001/1832
Palabra clave:
Recolección de datos
Programas informáticos
Registros electrónicos de salud
Cardiología
Investigación
Insuficiencia cardíaca
Terapia de resincronización cardíaca
Pronóstico
Rights
openAccess
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
id FUCS2_9be941aebce392537b0e38cf8a7be702
oai_identifier_str oai:repositorio.fucsalud.edu.co:001/1832
network_acronym_str FUCS2
network_name_str Repositorio Digital Institucional ReDi
repository_id_str
dc.title.spa.fl_str_mv CardioResyncApp: Un aplicativo móvil para recolectar datos de investigación en Cardiología
dc.title.translated.none.fl_str_mv CardioResyncApp: A mobile phone application for recording research data in Cardiology
title CardioResyncApp: Un aplicativo móvil para recolectar datos de investigación en Cardiología
spellingShingle CardioResyncApp: Un aplicativo móvil para recolectar datos de investigación en Cardiología
Recolección de datos
Programas informáticos
Registros electrónicos de salud
Cardiología
Investigación
Insuficiencia cardíaca
Terapia de resincronización cardíaca
Pronóstico
title_short CardioResyncApp: Un aplicativo móvil para recolectar datos de investigación en Cardiología
title_full CardioResyncApp: Un aplicativo móvil para recolectar datos de investigación en Cardiología
title_fullStr CardioResyncApp: Un aplicativo móvil para recolectar datos de investigación en Cardiología
title_full_unstemmed CardioResyncApp: Un aplicativo móvil para recolectar datos de investigación en Cardiología
title_sort CardioResyncApp: Un aplicativo móvil para recolectar datos de investigación en Cardiología
dc.creator.fl_str_mv Olaya, Alejandro
Bohórquez, Hernán David
Barrios, Alix Rocío
dc.contributor.author.none.fl_str_mv Olaya, Alejandro
Bohórquez, Hernán David
Barrios, Alix Rocío
dc.subject.proposal.spa.fl_str_mv Recolección de datos
Programas informáticos
Registros electrónicos de salud
Cardiología
Investigación
Insuficiencia cardíaca
Terapia de resincronización cardíaca
Pronóstico
topic Recolección de datos
Programas informáticos
Registros electrónicos de salud
Cardiología
Investigación
Insuficiencia cardíaca
Terapia de resincronización cardíaca
Pronóstico
description Objetivo diseñar y desarrollar un aplicativo móvil, innovador y útil que facilite el registro, la extracción y el análisis de datos en cardiología, y que permita la realización de investigaciones de alta calidad en pacientes con insuficiencia cardiaca llevados a terapia de resincronización. Metodología se utilizó el marco de trabajo Scrum, ya que ofrece características de agilidad necesarias para la definición de requerimientos en un entorno colaborativo y en equipo; se realizaron entregas parciales de un producto final, lo cual facilitó la rapidez en el desarrollo de la aplicación. CardioResyncApp es una aplicación móvil que estará disponible en las dos plataformas móviles más importantes: App Store y Google Play. Resultado se diseñó y desarrolló un aplicativo móvil, innovador, especializado en la recolección de datos para estudios de investigación en cardiología referentes a insuficiencia cardiaca y terapia de resincronización. Conclusiones CardioResyncApp es un aplicativo móvil, ágil, fácil de usar, que revolucionará la recolección de datos en Colombia, para investigación en cardiología. No tendrá limitaciones geográficas para la recolección de datos ya que se encuentra disponible en las plataformas móviles más populares, como IOS y Android, lo cual facilitará la realización de estudios multicéntricos en Colombia, aproximándonos a la realidad de la enfermedad en las diversas poblaciones a pesar de las variaciones sociodemográficas.
publishDate 2020
dc.date.issued.none.fl_str_mv 2020-09-10
dc.date.accessioned.none.fl_str_mv 2021-10-05T18:47:48Z
dc.date.available.none.fl_str_mv 2021-10-05T18:47:48Z
dc.type.spa.fl_str_mv Artículo de revista
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_2df8fbb1
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_6501
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/article
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/WP
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
format http://purl.org/coar/resource_type/c_6501
status_str publishedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.fucsalud.edu.co/handle/001/1832
url https://repositorio.fucsalud.edu.co/handle/001/1832
dc.language.iso.spa.fl_str_mv eng
spa
language eng
spa
dc.relation.ispartof.none.fl_str_mv Revista Colombiana de Cardiología ISSN:0120-5633 Vol.27 Núm.4 (2020)
dc.relation.citationendpage.spa.fl_str_mv 275
dc.relation.citationissue.spa.fl_str_mv 4
dc.relation.citationstartpage.spa.fl_str_mv 270
dc.relation.citationvolume.spa.fl_str_mv 27
dc.relation.ispartofjournal.spa.fl_str_mv Revista Colombiana de Cardiología
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.spa.fl_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
dc.rights.uri.spa.fl_str_mv https://creativecommons.org/licenses/by-nd/4.0/
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
rights_invalid_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
https://creativecommons.org/licenses/by-nd/4.0/
http://purl.org/coar/access_right/c_abf2
dc.format.extent.spa.fl_str_mv 6 p.
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Sociedad Colombiana de Cardiología y Cirugía Cardiovascular
dc.publisher.place.spa.fl_str_mv Colombia
dc.source.spa.fl_str_mv https://www.elsevier.es/es-revista-revista-colombiana-cardiologia-203-articulo-cardioresyncapp-un-aplicativo-movil-recolectar-S0120563320300474
institution Fundación Universitaria de Ciencias de la Salud - FUCS
bitstream.url.fl_str_mv https://repositorio.fucsalud.edu.co/bitstreams/698c4633-a205-4443-b75a-56de82fbe037/download
https://repositorio.fucsalud.edu.co/bitstreams/2feaff6c-8a8a-4796-8c75-f0e633a43b6a/download
https://repositorio.fucsalud.edu.co/bitstreams/2d68bc59-5b21-42ae-9226-c328115a4d41/download
https://repositorio.fucsalud.edu.co/bitstreams/d7b73a99-c922-418a-a9c7-6b3b5c29666d/download
bitstream.checksum.fl_str_mv b0042e0eb8151c48db2e3744f61e433b
f6cfdd0a0be8a7a8b575d6cd88a94402
68b329da9893e34099c7d8ad5cb9c940
e39193e9aca016eae49aa0663dc0a84e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Digital de la Fundación Universitaria de Ciencias de la Salud
repository.mail.fl_str_mv redi@fucsalud.edu.co
_version_ 1808413851938455552
spelling Olaya, Alejandro3a53f3a2e61f78e64dea0ca84c4629feBohórquez, Hernán Davidf4095acb8fd4cbcd618719d798f0cc0bBarrios, Alix Rocíof764ba370d9f3a08eefbcdb5dbee4f5a2021-10-05T18:47:48Z2020-09-102021-10-05T18:47:48ZSociedad Colombiana de Cardiología y Cirugía CardiovascularColombiaObjetivo diseñar y desarrollar un aplicativo móvil, innovador y útil que facilite el registro, la extracción y el análisis de datos en cardiología, y que permita la realización de investigaciones de alta calidad en pacientes con insuficiencia cardiaca llevados a terapia de resincronización. Metodología se utilizó el marco de trabajo Scrum, ya que ofrece características de agilidad necesarias para la definición de requerimientos en un entorno colaborativo y en equipo; se realizaron entregas parciales de un producto final, lo cual facilitó la rapidez en el desarrollo de la aplicación. CardioResyncApp es una aplicación móvil que estará disponible en las dos plataformas móviles más importantes: App Store y Google Play. Resultado se diseñó y desarrolló un aplicativo móvil, innovador, especializado en la recolección de datos para estudios de investigación en cardiología referentes a insuficiencia cardiaca y terapia de resincronización. Conclusiones CardioResyncApp es un aplicativo móvil, ágil, fácil de usar, que revolucionará la recolección de datos en Colombia, para investigación en cardiología. No tendrá limitaciones geográficas para la recolección de datos ya que se encuentra disponible en las plataformas móviles más populares, como IOS y Android, lo cual facilitará la realización de estudios multicéntricos en Colombia, aproximándonos a la realidad de la enfermedad en las diversas poblaciones a pesar de las variaciones sociodemográficas.Objective The aim of this study is to design and develop a new and useful mobile application that facilitates the recording, extraction and analysis of data in cardiology, and can help in the carrying out of high quality research on patients with heart failure receiving resynchronisation therapy. Methodology Scrum development technology was used, since it offers the dynamic features necessary to define the requirements in collaborative and team environment. Partial deliveries will be made of a final product, which will help to speed up the development of the application. CardioResyncApp is a mobile phone application that will be available on the two most important mobile platforms: App Store and Google Play. Results A novel mobile application was designed and developed to collect data for research studies in cardiology as regards heart failure and resynchronisation therapy. Conclusions CardioResyncApp is a dynamic, easy to use, mobile application what will revolutionise data collection in Colombia for cardiology research. It will have no geographic limitations for the collection of data, since it is available on the most popular mobile platforms such as IOS and Android, which will help in the conducting of multicentre studies in Colombia, and approaching the reality of the disease in the various populations despite the sociodemographic variations.https://www.elsevier.es/es-revista-revista-colombiana-cardiologia-203-articulo-cardioresyncapp-un-aplicativo-movil-recolectar-S01205633203004746 p.application/pdfCardioResyncApp: Un aplicativo móvil para recolectar datos de investigación en CardiologíaCardioResyncApp: A mobile phone application for recording research data in CardiologyArtículo de revistahttp://purl.org/coar/resource_type/c_6501http://purl.org/coar/resource_type/c_2df8fbb1info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionTexthttps://purl.org/redcol/resource_type/WPhttp://purl.org/coar/version/c_970fb48d4fbd8a85https://repositorio.fucsalud.edu.co/handle/001/1832engspaRevista Colombiana de Cardiología ISSN:0120-5633 Vol.27 Núm.4 (2020)275427027Revista Colombiana de Cardiologíainfo:eu-repo/semantics/openAccessAtribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)https://creativecommons.org/licenses/by-nd/4.0/http://purl.org/coar/access_right/c_abf2Recolección de datosProgramas informáticosRegistros electrónicos de saludCardiologíaInvestigaciónInsuficiencia cardíacaTerapia de resincronización cardíacaPronósticoPublicationORIGINALCardioResyncApp. Un aplicativo móvil para recolectar.pdfCardioResyncApp. Un aplicativo móvil para recolectar.pdfArtículoapplication/pdf655237https://repositorio.fucsalud.edu.co/bitstreams/698c4633-a205-4443-b75a-56de82fbe037/downloadb0042e0eb8151c48db2e3744f61e433bMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-815424https://repositorio.fucsalud.edu.co/bitstreams/2feaff6c-8a8a-4796-8c75-f0e633a43b6a/downloadf6cfdd0a0be8a7a8b575d6cd88a94402MD52TEXTCardioResyncApp. Un aplicativo móvil para recolectar.pdf.txtCardioResyncApp. Un aplicativo móvil para recolectar.pdf.txtExtracted texttext/plain1https://repositorio.fucsalud.edu.co/bitstreams/2d68bc59-5b21-42ae-9226-c328115a4d41/download68b329da9893e34099c7d8ad5cb9c940MD53THUMBNAILCardioResyncApp. Un aplicativo móvil para recolectar.pdf.jpgCardioResyncApp. Un aplicativo móvil para recolectar.pdf.jpgGenerated Thumbnailimage/jpeg13998https://repositorio.fucsalud.edu.co/bitstreams/d7b73a99-c922-418a-a9c7-6b3b5c29666d/downloade39193e9aca016eae49aa0663dc0a84eMD54001/1832oai:repositorio.fucsalud.edu.co:001/18322024-02-02 13:05:45.27https://creativecommons.org/licenses/by-nd/4.0/open.accesshttps://repositorio.fucsalud.edu.coRepositorio Digital de la Fundación Universitaria de Ciencias de la Saludredi@fucsalud.edu.coQ09ORElDSU9ORVMgTEVHQUxFUyBERSBVU08gREVMIFBPUlRBTCBXRUIKd3d3LmZ1Y3NhbHVkLmVkdS5jbwogCkVsIFBvcnRhbCBXZWIgd3d3LmZ1Y3NhbHVkLmVkdS5jbyBoYSBzaWRvIGRpc2XDsWFkbyBwYXJhIGZhY2lsaXRhciBhbCB2aXNpdGFudGUsIGludGVyZXNhZG8sIGVzdHVkaWFudGUsIGRvY2VudGUsIGFkbWluaXN0cmF0aXZvIHkvbyB1c3VhcmlvIGVuIGdlbmVyYWwsIGVsIGFjY2VzbyBhIGxhIGluZm9ybWFjacOzbiBkZSBsYSBJbnN0aXR1Y2nDs24geSBhIHN1cyBzZXJ2aWNpb3MgZW4gbMOtbmVhLCBwb3IgbG8gY3VhbCBlc3RlIHNpdGlvIHdlYiB0aWVuZSBjb21vIGZ1bmNpw7NuIHByaW5jaXBhbCBwcm92ZWVyIGluZm9ybWFjacOzbiB5IHNlcnZpY2lvcywgYXPDrSBjb21vIGRpdnVsZ2FyIHkgcHJvbW92ZXIgbGFzIGFjdGl2aWRhZGVzIGFjYWTDqW1pY2FzLCBjaWVudMOtZmljYXMsIGN1bHR1cmFsZXMgeSBjb21lcmNpYWxlcyBkZSBsYSBGVUNTLCBwb3IgdGFudG8gbGEgYWNlcHRhY2nDs24gZGUgZXN0YXMgY29uZGljaW9uZXMgZGUgdXNvLCBzb24gb2JsaWdhdG9yaWFzIGUgaW5kaXNwZW5zYWJsZXMgcGFyYSBxdWUgZWwgdXN1YXJpbyB1dGlsaWNlIGVsIHNpdGlvLgogCkxhcyBwcmVzZW50ZXMgY29uZGljaW9uZXMgZGUgdXNvLCByZWd1bGFuIGxhIHV0aWxpemFjacOzbiBkZSBsYSBww6FnaW5hIHdlYiB3d3cuZnVjc2FsdWQuZWR1LmNvLgogClNlw7FvciB1c3VhcmlvLCBwb3IgZmF2b3IgbGVhIGRldGFsbGFkYSB5IGN1aWRhZG9zYW1lbnRlIGVzdGUgZG9jdW1lbnRvIGp1bnRvIGNvbiBsYXMgcG9sw610aWNhcyBkZSBwcml2YWNpZGFkIHkgcHJvdGVjY2nDs24gZGUgZGF0b3MsIGFudGVzIGRlIGluaWNpYXIgc3UgbmF2ZWdhY2nDs24uClNpIFVzdGVkIG5vIHNlIGVuY3VlbnRyYSBjb25mb3JtZSBjb24gbG9zIHTDqXJtaW5vcyBkZSB1c28gZGUgbGEgcMOhZ2luYSB3ZWIgbyBjdWFscXVpZXIgb3RyYSBkaXNwb3NpY2nDs24sIHBvciBmYXZvciBhYnN0ZW5nYXNlIGRlIGluZ3Jlc2FyIHkvbyB1dGlsaXphciBlc3RlIHNpdGlvIGRlIGN1YWxxdWllciBmb3JtYS4KIApBbCBhY2NlZGVyIGEgZXN0ZSBwb3J0YWwsIHN1cyBzaXRpb3MgeSB0b2RhcyBsYXMgcMOhZ2luYXMgcXVlIGxvIGNvbmZvcm1hbiwgc2UgZW50aWVuZGUgcXVlIFVzdGVkIGhhIGxlw61kbywgZW50ZW5kaWRvIHkgYWNlcHRhZG8gdG9kb3MgbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGV4cHVlc3RvcyBlbiBlc3RlIGRvY3VtZW50bywgZGUgbGEgbWlzbWEgbWFuZXJhIGNvbW8gc2kgaHViaWVyYSBmaXJtYWRvIHVuIGFjdWVyZG8gZXNjcml0bywgZW50ZW5kaWVuZG8gZW4gdG9kbyBjYXNvIHF1ZSBzdSBwb3NpY2nDs24gZW4gZWwgYWN1ZXJkbyBzZXLDoSBpZGVudGlmaWNhZGEgZW4gdG9kbyBlc3RlIGRvY3VtZW50byBjb21vIOKAnGVsIFVzdWFyaW/igJ0uCiAKTGEgRlVDUyBwb2Ryw6EgbW9kaWZpY2FyIGxvcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBkZSBlc3RlIGRvY3VtZW50byBlbiBjdWFscXVpZXIgbW9tZW50bywgeSBlc3RhcyBtb2RpZmljYWNpb25lcyB0ZW5kcsOhbiB2YWxpZGV6IGRlc2RlIGVsIG1vbWVudG8gZW4gcXVlIHNlYW4gcHVibGljYWRhcyBlbiBlbCBzaXRpbyB3ZWIuCiAKMS4gQXNwZWN0b3MgZ2VuZXJhbGVzOgogCmEuIExhIGluZm9ybWFjacOzbiBjb250ZW5pZGEgZW4gZXN0ZSBwb3J0YWwgd2ViIChlbiBhZGVsYW50ZSBjb250ZW5pZG9zKSBkZWJlcsOhIHNlciB1dGlsaXphZGEgw7puaWNhbWVudGUgY29uIGZpbmVzIHBlcnNvbmFsZXMsIHBvciBsbyB0YW50byBlbCBVc3VhcmlvIG5vIHBvZHLDoSBkaXN0cmlidWlyLCBtb2RpZmljYXIsIHRyYW5zbWl0aXIsIGNvcGlhciwgYWxtYWNlbmFyLCBjb2RpZmljYXIsIGVudmlhciBvIHVzYXIgZXN0b3MgY29udGVuaWRvcyBwYXJhIHByb3DDs3NpdG9zIGNvbWVyY2lhbGVzIHUgb3Ryb3MgcXVlIGltcGxpcXVlbiBleHBsb3RhY2nDs24gZWNvbsOzbWljYSwgc2Fsdm8gcHJldmlhIGF1dG9yaXphY2nDs24gZXNjcml0YWxhIEZVQ1MuCiAKYi4gU2UgZW50ZW5kZXLDoSBxdWUgZWwgVXN1YXJpbyBoYSBsZcOtZG8sIGVudGVuZGlkbyB5IGFjZXB0YWRvIHRvZG9zIGxvcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBleHB1ZXN0b3MgZW4gZXN0ZSBkb2N1bWVudG8gZW4gbG9zIHNpZ3VpZW50ZXMgY2Fzb3M6CiAKQ29uc3VsdGEgZGUgY3VhbHF1aWVyIGNvbnRlbmlkbyBpbmNvcnBvcmFkbyBlbiBlbCBzaXRpbyB3ZWIuCkVudmnDsyBkZSBkYXRvcyBlbiBsb3MgZm9ybXVsYXJpb3MgZGUgcmVnaXN0cm8gZGVsIHNpdGlvIHdlYi4KTGEgdXRpbGl6YWNpw7NuIGRlIGN1YWxxdWllcmEgZGUgbG9zIHNlcnZpY2lvcyBkaXNwb25pYmxlcyBlbiBlbCBzaXRpbyB3ZWIuCkxhIGRlc2NhcmdhIGRlIGNvbnRlbmlkb3MgaW5jb3Jwb3JhZG9zIGVuIGVsIHNpdGlvIHdlYi4KTGEgbmF2ZWdhY2nDs24gZW4gZWwgc2l0aW8gd2ViIGRlIGN1YWxxdWllciBtYW5lcmEgY29ub2NpZGEgbyBwb3IgY29ub2Nlci4KIApjLiBFbCBVc3VhcmlvIHBvZHLDoSBuYXZlZ2FyIGxpYnJlIHkgZ3JhdHVpdGFtZW50ZSBhIHRyYXbDqXMgZGUgZXN0ZSBzaXRpby4KIApkLiBFbCBVc3VhcmlvIHNvbG8gcG9kcsOhIGRlc2NhcmdhciBjb250ZW5pZG9zIGRlbCBtaXNtbywgY3VhbmRvIGVsIHNpdGlvIGV4cHJlc2FtZW50ZSBsbyBhdXRvcmljZS4KIAplLiBQb2Ryw6FuIGV4aXN0aXIgYWxndW5vcyBjYXNvcyBlbiBsb3MgY3VhbGVzIHNlIGNvbmRpY2lvbmUgZWwgc2VydmljaW8gZW4gbMOtbmVhLCBhbCBwcmV2aW8gY3VtcGxpbWllbnRvIGRlbCBkaWxpZ2VuY2lhbWllbnRvIGRlIGZvcm11bGFyaW9zIHkvbyBwYWdvIHBvciBsYSBwcmVzdGFjacOzbiBkZWwgc2VydmljaW8uCiAKZi4gRWwgdXN1YXJpbyBhY2VwdGEgY29ub2NlciB5IGN1bXBsaXIgdG9kYXMgbGFzIGxleWVzIHkgbm9ybWFzIG5hY2lvbmFsZXMsIGNvbXVuaXRhcmlhcyBlIGludGVybmFjaW9uYWxlcyByZWxhY2lvbmFkYXMgY29uIHN1cyBvYmxpZ2FjaW9uZXMgeSBkZWJlcmVzIGJham8gZWwgcHJlc2VudGUgZG9jdW1lbnRvIGRlIGNvbmRpY2lvbmVzIGxlZ2FsZXMgZGUgdXNvLgogCjIuIEluZm9ybWFjacOzbiBkZSByZWdpc3RybzoKIApMb3Mgc2lndWllbnRlcyBzb24gbG9zIGxpbmVhbWllbnRvcyBkZSBudWVzdHJhcyBjb25kaWNpb25lcyBkZSB1c28gZW4gY3VhbnRvIGFsIHJlY2F1ZG8sIGFjY2VzbyB5IHVzbyBkZSBsYSBpbmZvcm1hY2nDs24gZGUgcmVnaXN0cm8gcXVlIHN1bWluaXN0cmEgZWwgdXN1YXJpbyBhIHRyYXbDqXMgZGVsIHNpdGlvIHdlYi4KIApMYSBGVUNTIHByb3RlZ2Vyw6EgbG9zIGRhdG9zIG8gY3VhbHF1aWVyIGluZm9ybWFjacOzbiBwZXJzb25hbCBxdWUgZWwgdXN1YXJpbyBwcm9wb3JjaW9uZSBhbCBtb21lbnRvIGVuIHF1ZSBoYWNlIHVzbyBkZSBlc3RlIHNpdGlvd2VieSwgZXN0b3Mgc2UgdXRpbGl6YXLDoW4gZXhjbHVzaXZhbWVudGUgcGFyYSBjdW1wbGlyIGNvbiBsb3MgcHJvcMOzc2l0b3MgZGUgc3Ugc2l0aW8gd2ViIHkgc3UgdXNvIGVzIGVsIGVzdGFibGVjaWRvIGVuIGVsIHByZXNlbnRlIGRvY3VtZW50by4KRWwgdXN1YXJpbyBxdWUgcHJvcG9yY2lvbmUgc3VzIGRhdG9zIGVuIGVzdGUgc2l0aW8gd2ViIG8gYSB0cmF2w6lzIGRlIMOpbCwgZXhwcmVzYW1lbnRlIGF1dG9yaXphIGEgbGEgRlVDUyBwYXJhIHJlYWxpemFyIHN1IHRyYXRhbWllbnRvIHNlYSBvIG5vIGF1dG9tYXRpemFkbyB5IHBhcmEgdXNhcmxvcyBjb25mb3JtZSBhIGxvIGV4cHJlc2FkbyBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8sIGRlIGFjdWVyZG8gY29uIGxhIHBvbMOtdGljYSBpbnRlcm5hIGRlIHByb3RlY2Npw7NuIGRlIGRhdG9zLgpFbCBVc3VhcmlvIGVudGllbmRlIHkgYWNlcHRhIHF1ZSBsYSBGVUNTIHBvZHLDoSBlZmVjdHVhciBlbCB0cmF0YW1pZW50byBkZSBsb3MgZGF0b3MgZGVsIHVzdWFyaW8sIGRlIG1hbmVyYSBkaXJlY3RhIG8gYSB0cmF2w6lzIGRlIHRlcmNlcm9zIGV4cHJlc2FtZW50ZSBkZXNpZ25hZG9zIHBvciBlbGxhLCBxdWllbmVzIGFjdHVhcsOhbiBjb21vIGVuY2FyZ2Fkb3MgZGVsIHRyYXRhbWllbnRvIGRlIHN1IGluZm9ybWFjacOzbiBwZXJzb25hbCwgY29uIGxhcyBvYmxpZ2FjaW9uZXMgcXVlIGxhIGxleSBjb250ZW1wbGUuCkxhIGluZm9ybWFjacOzbiBkZSByZWdpc3RybyBxdWUgc2UgbGUgc29saWNpdGEgYWwgdXN1YXJpbyBlcyBsYSBtw61uaW1hIHBhcmEgZGFyIGN1bXBsaW1pZW50byBhIGxhIHBvbMOtdGljYSBkZSB0cmF0YW1pZW50byB5IHByb3RlY2Npw7NuIGRlIGRhdG9zIHBlcnNvbmFsZXMgZGUgbGEgRlVDUyB5IGFsYXMgbm9ybWFzIGxlZ2FsZXMgdmlnZW50ZXMgZW4gQ29sb21iaWEuCkVuIGVsIHByb2Nlc28gZGUgcmVnaXN0cm8sIHNlIGxlIGFkdmVydGlyw6EgYWwgdXN1YXJpbyBjb24gdW4gYXN0ZXJpc2NvICgqKSBxdcOpIGluZm9ybWFjacOzbiBkZWJlIHNlciBzdW1pbmlzdHJhZGEgb2JsaWdhdG9yaWFtZW50ZSB5IGN1w6FsIGVzIG9wY2lvbmFsLgpFbCB1c3VhcmlvIGRlIGVzdGUgc2l0aW8gd2ViIGVudGllbmRlIHkgYWNlcHRhIHF1ZSBzdXMgZGF0b3MgcGVyc29uYWxlcyBzZSByZWNvcGlsYW4gY29uIGVsIGZpbiBkZSBwcm9jdXJhcmxlIHVuIHNlcnZpY2lvIGVmaWNpZW50ZSB5IHBlcnNvbmFsaXphZG8sIHkgcXVlIHBvZHLDoW4gc2VyIHVzYWRvcyBjb24gZmluZXMgYWNhZMOpbWljb3MsIGludmVzdGlnYXRpdm9zIHkgY29tZXJjaWFsZXMsIHBvciBsbyBjdWFsIGF1dG9yaXphIGV4cHJlc2FtZW50ZSBxdWUgc2VhbiB1c2Fkb3MgcGFyYSByZW1pdGlyIGluZm9ybWFjacOzbiBkZSBzdXMgcHJvZ3JhbWFzIGFjYWTDqW1pY29zIGZvcm1hbGVzIGUgaW5mb3JtYWxlcywgcGFyYSBkYXIgY3VtcGxpbWllbnRvIGEgc3VzIG9ibGlnYWNpb25lcyBjb250cmFjdHVhbGVzIG8gbGVnYWxlcywgcGFyYSBldmFsdWFyIGxhIGNhbGlkYWQgZGVsIHNlcnZpY2lvLCBhc8OtIGNvbW8gcGFyYSByZW1pdGlyIGluZm9ybWFjacOzbiBkZSBzdXMgcHJveWVjdG9zLCBwbGFuZXMgeSBkZW3DoXMgaW5mb3JtYWNpw7NuIGluc3RpdHVjaW9uYWwgZGUgbGEgRlVDUy4gRW4gdG9kbyBjYXNvLCBlc3RhIGluZm9ybWFjacOzbiBzZXLDoSB1dGlsaXphZGEgZW4gZGVzYXJyb2xsbyBkZSBsYXMgZnVuY2lvbmVzIHByb3BpYXMgZGUgbGEgRlVDUy4KMy4gRGl2dWxnYWNpw7NuIGRlIGxhIGluZm9ybWFjacOzbiBkZSByZWdpc3RybzoKIApMYSBpbmZvcm1hY2nDs24gZGUgcmVnaXN0cm8gZGUgY2FkYSB1c3VhcmlvIGVzIGNvbmZpZGVuY2lhbCwgeSBubyBzZSBjb21wYXJ0aXLDoSBjb24gb3RyYXMgcGVyc29uYXMgbyBlbnRpZGFkZXMsIHNhbHZvIGN1YW5kbyBsYSBGVUNTIGNvbnNpZGVyZSBxdWUgc2UgcHJlc2VudGVuIGxvcyBzaWd1aWVudGVzIGNhc29zOgogCkN1YW5kbyBsYSBhdXRvcml6YWNpw7NuIGRlbCB0aXR1bGFyIG5vIHNlYSBvYmxpZ2F0b3JpYSAoTnVtZXJhbCA4LiDigJxBdXRvcml6YWNpw7NuIGRlbCBUaXR1bGFy4oCdIOKAkyBQb2zDrXRpY2EgZGUgVHJhdGFtaWVudG8geSBQcm90ZWNjacOzbiBkZSBEYXRvcyBQZXJzb25hbGVzIGRlIGxhIEZVQ1MpClBvciBsYSBleGlzdGVuY2lhIGRlIHVuIG1hbmRhdG8gbGVnYWwsIGRlYmVyIGVzdGF0dXRhcmlvIG8ganVkaWNpYWwgcXVlIG9ibGlndWUgYSBzdW1pbmlzdHJhcmxhLgpDdWFscXVpZXIgb3RyYSBleGNlcGNpw7NuIGRlZmluaWRhIGVuIGxhcyBsZXllcyBhcGxpY2FibGVzCkVuIHRvZG8gY2FzbywgZWwgVXN1YXJpbyBlbnRpZW5kZSB5IGFjZXB0YSBxdWUgc3VzIGRhdG9zIHBlcnNvbmFsZXMgZXZlbnR1YWxtZW50ZSBzZSBjb21wYXJ0aXLDoW4gY29uIG90cmFzIGVudGlkYWRlcyB1IG9yZ2FuaXphY2lvbmVzIHByaXZhZGFzIG8gZXN0YXRhbGVzLCBjb24gZWwgZmluIGRlIGN1bXBsaXIgY29uIGxvcyBkZWJlcmVzIHkgb2JsaWdhY2lvbmVzIHF1ZSBsZWdhbG1lbnRlIHRpZW5lIGNvbW8gSW5zdGl0dWNpw7NuIGRlIEVkdWNhY2nDs24gU3VwZXJpb3IuCiAKNC4gT2JsaWdhY2lvbmVzIHkgZGViZXJlcyBkZWwgdXN1YXJpbzoKIApFbCB1c3VhcmlvIGVzdMOhIGRlIGFjdWVyZG8gZW4gcHJvcG9yY2lvbmFyIGEgbGEgRlVDUywgaW5mb3JtYWNpw7NuIHZlcmRhZGVyYSwgcHJlY2lzYSwgYWN0dWFsaXphZGEgeSBjb21wbGV0YSwgc2Vnw7puIHNlIGluZGlxdWUgZW4gZWwgZm9ybXVsYXJpbyBkZSByZWdpc3Ryby4gSWd1YWxtZW50ZSwgZWwgdXN1YXJpbyBlc3TDoSBkZSBhY3VlcmRvIGVuIGNvbGFib3JhciBjb24gbGEgRlVDUywgcGFyYSBtYW50ZW5lciBlc3RhIGluZm9ybWFjacOzbiBhY3R1YWxpemFkYSB5IGNvbXBsZXRhLgogCkVsIHVzdWFyaW8gc2Ugb2JsaWdhIGEgbm8gcmVwcm9kdWNpciwgZHVwbGljYXIsIGNvcGlhciwgdmVuZGVyLCByZXZlbmRlciBvIGV4cGxvdGFyIHBhcmEgZmluZXMgY29tZXJjaWFsZXMsIGN1YWxxdWllciBzZWNjacOzbiBkZWwgc2VydmljaW8sIHVzbyBvIGFjY2VzbyBhbCBtaXNtby4gVGFudG8gZWwgc2VydmljaW8gY29tbyB0ZXJjZXJvcyBwb2Ryw6FuIHByb3BvcmNpb25hciB2w61uY3Vsb3MgYSBvdHJvcyBzaXRpb3MgbyByZWN1cnNvcyBkZSBsYSByZWQgbXVuZGlhbC4gRGViaWRvIGEgcXVlIGxhIEZVQ1Mgbm8gdGllbmUgY29udHJvbCBhbGd1bm8gc29icmUgZGljaG9zIHNpdGlvcyBvIHJlY3Vyc29zLCBlbCB1c3VhcmlvIHJlY29ub2NlIHkgYWNlcHRhIHF1ZSBsYSBGVUNTIG5vIHNlcsOhIHJlc3BvbnNhYmxlIHBvciBsYSBkaXNwb25pYmlsaWRhZCBkZSBsb3Mgc2l0aW9zIG8gcmVjdXJzb3MgZXh0ZXJub3MgbmkgcG9yIGN1YWxxdWllciBjb250ZW5pZG8sIHB1YmxpY2lkYWQsIHByb2R1Y3Rvcywgc2VydmljaW9zIHUgb3RybyB0aXBvIGRlIG1hdGVyaWFsIGNvbnRlbmlkbyDDsyBhIGRpc3Bvc2ljacOzbiBlbiB0YWxlcyBzaXRpb3MgbyByZWN1cnNvcy4KIApFbCB1c3VhcmlvIHJlY29ub2NlIHkgYWNlcHRhIHF1ZSBsYSBGVUNTIG5vIHNlcsOhIHJlc3BvbnNhYmxlLCBkaXJlY3RhIG8gaW5kaXJlY3RhbWVudGUsIHBvciBjdWFscXVpZXIgZGHDsW8gbyBwZXJqdWljaW8gY2F1c2FkbyBvIHF1ZSBzZSBwcmVzdW1hIHF1ZSBzZWEgY2F1c2FkbyBwb3IgdGFsZXMgY29udGVuaWRvcywgcHJvZHVjdG9zIG8gc2VydmljaW9zIGRpc3BvbmlibGVzIGVuIGRpY2hvcyBzaXRpb3MgbyByZWN1cnNvcyBleHRlcm5vcywgbyBwb3IgbGEgdXRpbGl6YWNpw7NuIG8gY29uZmlhbnphIGRlcG9zaXRhZGEgcG9yIGVsIHVzdWFyaW8gZW4gdGFsZXMgY29udGVuaWRvcywgcHJvZHVjdG9zIG8gc2VydmljaW9zLgogCkVsIHVzdWFyaW8gc2Ugb2JsaWdhIGEgTk8gdXRpbGl6YXIgZWwgcG9ydGFsIHdlYiBuaSBlc3RlIFNlcnZpY2lvIGNvbiBlbCBmaW4gZGU6CiAKUG9uZXIgYSBkaXNwb3NpY2nDs24gZGUgbG9zIGRlbcOhcywgZW52aWFyIHBvciBlLW1haWwgbywgZGUgY3VhbHF1aWVyIG1vZG8sIHRyYW5zbWl0aXIgY29udGVuaWRvcyBpbGVnYWxlcywgZGHDsWlub3MsIG1vbGVzdG9zLCBhbWVuYXphZG9yZXMsIGFidXNpdm9zLCB0b3J0dW9zb3MsIGRpZmFtYXRvcmlvcywgdnVsZ2FyZXMsIG9ic2Nlbm9zLCBpbnZhc29yZXMgZGUgbGEgaW50aW1pZGFkIGRlIHRlcmNlcm9zLCBvZGlvc29zLCB4ZW7Ds2ZvYm9zLCByYWNpc3RhcywgaWxlZ2FsZXMgbywgZGUgYWxnw7puIG1vZG8sIGluYWNlcHRhYmxlczsKSGFjZXJzZSBwYXNhciBvIGZpbmdpciBzZXIgY3VhbHF1aWVyIG90cmEgcGVyc29uYSBvIGVudGlkYWQsIGluY2x1eWVuZG8sIHNpbiBsaW1pdGFjacOzbiwgdW4gcmVwcmVzZW50YW50ZSBkZSBsYSBGVUNTLCBmdW5kYWRvciwgZ3XDrWEgbyBhbmZpdHJpw7NuIGRlIGZvcnVtcywgbyBkZSBjdWFscXVpZXIgb3RybyBtb2RvIG1lbnRpciBvIGZpbmdpciBzb2JyZSBzdSByZWxhY2nDs24gY29uIGN1YWxxdWllciBvdHJhIHBlcnNvbmEgbyBhZmlsaWFjacOzbiBhIGN1YWxxdWllciBlbnRpZGFkOwpQb25lciBhIGRpc3Bvc2ljacOzbiBkZSBsb3MgZGVtw6FzIHVzdWFyaW9zLCBlbnZpYXIgcG9yIGUtbWFpbCBvLCBkZSBhbGfDum4gbW9kbyB0cmFuc21pdGlyLCBjdWFscXVpZXIgY29udGVuaWRvIHF1ZSwgZGUgYWN1ZXJkbyBjb24gbGFzIGxleWVzIGFwbGljYWJsZXMgbyByZWxhY2lvbmVzIGNvbnRyYWN0dWFsZXMgZXhpc3RlbnRlcywgZWwgdXN1YXJpbyBubyBlc3TDoSBhdXRvcml6YWRvIGEgdHJhbnNtaXRpciAodGFsZXMgY29tbyBpbmZvcm1hY2nDs24gcHJpdmlsZWdpYWRhLCBpbmZvcm1hY2nDs24gcHJvdGVnaWRhIHBvciBkZXJlY2hvcyBkZSBwcm9waWVkYWQgaW5kdXN0cmlhbCBvIGludGVsZWN0dWFsIG8gaW5mb3JtYWNpw7NuIHNvYnJlIGxhIGN1YWwgdGllbmUgdW4gZGViZXIgZGUgY29uZmlkZW5jaWFsaWRhZCkuClBvbmVyIGEgZGlzcG9zaWNpw7NuIGRlIGxvcyBkZW3DoXMgdXN1YXJpb3MsIGVudmlhciBwb3IgZS1tYWlsIG8sIGRlIGFsZ8O6biBtb2RvLCB0cmFuc21pdGlyIGNvbnRlbmlkbyBhbGd1bm8gc3VzY2VwdGlibGUgZGUgaW5mcmluZ2lyIHBhdGVudGVzLCBtYXJjYXMsIHNlY3JldG9zIGNvbWVyY2lhbGVzLCBkZXJlY2hvcyBkZSBhdXRvciB1IG90cm9zIGRlcmVjaG9zIGRlIHRlcmNlcm9zICgiRGVyZWNob3MiKTsKUG9uZXIgYSBkaXNwb3NpY2nDs24gZGUgbG9zIGRlbcOhcyB1c3VhcmlvcywgZW52aWFyIHBvciBlLW1haWwgbywgZGUgYWxnw7puIG1vZG8sIHRyYW5zbWl0aXIgcHVibGljaWRhZCBubyBzb2xpY2l0YWRhIG8gYXV0b3JpemFkYSwgbWF0ZXJpYWwgcHVibGljaXRhcmlvLCAiY29ycmVvIGJhc3VyYSIsICJjYXJ0YXMgZW4gY2FkZW5hIiwgImVzdHJ1Y3R1cmFzIHBpcmFtaWRhbGVzIiwgbyBjdWFscXVpZXIgb3RyYSBmb3JtYSBkZSBzb2xpY2l0dWQ7ClBvbmVyIGEgZGlzcG9zaWNpw7NuIGRlIGxvcyBkZW3DoXMgdXN1YXJpb3MsIGVudmlhciBwb3IgZS1tYWlsIG8sIGRlIGFsZ8O6biBtb2RvLCB0cmFuc21pdGlyIG1hdGVyaWFsIGFsZ3VubyBxdWUgc2VhIHBvcnRhZG9yIGRlIHZpcnVzIG8gY3VhbHF1aWVyIG90cm8gY8OzZGlnbyBpbmZvcm3DoXRpY28sIGFyY2hpdm9zIG8gcHJvZ3JhbWFzIGRpc2XDsWFkb3MgcGFyYSBpbnRlcnJ1bXBpciwgZGVzdHJ1aXIgbyBsaW1pdGFyIGVsIGZ1bmNpb25hbWllbnRvIGRlIGN1YWxxdWllciBzb2Z0d2FyZSwgaGFyZHdhcmUgbyBlcXVpcG8gZGUgdGVsZWNvbXVuaWNhY2lvbmVzOwpQb25lciBhIGRpc3Bvc2ljacOzbiBkZSBsb3MgZGVtw6FzIHVzdWFyaW9zLCBlbnZpYXIgcG9yIGUtbWFpbCBvLCBkZSBhbGfDum4gbW9kbyB0cmFuc21pdGlyLCBjdWFscXVpZXIgY29udGVuaWRvIHF1ZSwgZGUgYWN1ZXJkbyBjb24gbGFzIGxleWVzIGFwbGljYWJsZXMsIHNlYSBkZSBjYXLDoWN0ZXIgaWxlZ2FsIG8gaW1wbGlxdWUsIGF5dWRlIG8gY29hZHl1dmUgbGEgY29taXNpw7NuIGRlIGNvbmR1Y3RhcyBkZWxpY3R1YWxlcyBvIGlsZWdhbGVzIGRlIGN1YWxxdWllciBtYW5lcmEuCkludGVycnVtcGlyIGVsIGN1cnNvIG5vcm1hbCBkZSBsYXMgY29udmVyc2FjaW9uZXMsIHByb3ZvY2FyIHF1ZSBsYSBwYW50YWxsYSBkZWwgb3JkZW5hZG9yIGFkcXVpZXJhIG1heW9yIHZlbG9jaWRhZCBkZSBsYSBub3JtYWwgY29uIGxhIHF1ZSBsb3MgdXN1YXJpb3MgcHVlZGVuIHBhcnRpY2lwYXIgZW4gZWwgU2VydmljaW8sIG8gZGUgYWxnw7puIG1vZG8gYWN0dWFyIGRlIG1hbmVyYSBxdWUgYWZlY3RlIGRlIGZvcm1hIG5lZ2F0aXZhIGEgbGEgcG9zaWJpbGlkYWQgZGUgY29tdW5pY2Fyc2UgZW4gdGllbXBvIHJlYWw7CkludGVyZmVyaXIgbyBpbnRlcnJ1bXBpciBlbCBTZXJ2aWNpbywgc2Vydmlkb3JlcyBvIHJlZGVzIGNvbmVjdGFkb3MgYWwgU2VydmljaW8sIG8gaW5jdW1wbGlyIGxvcyByZXF1aXNpdG9zLCBwcm9jZWRpbWllbnRvcyB5IHJlZ3VsYWNpb25lcyBkZSBsYSBwb2zDrXRpY2EgZGUgcmVkZXMgY29uZWN0YWRhcyBhbCBzZXJ2aWNpby4KNS4gTGltaXRhY2lvbmVzIGRlIGxhIFJlc3BvbnNhYmlsaWRhZDoKIApDb24gdG9kYSBsYSBleHRlbnNpw7NuIHBlcm1pdGlkYSBwb3IgbGFzIGxleWVzIG5hY2lvbmFsZXMgYXBsaWNhYmxlcywgbGEgRlVDUyBubyBhc3VtZSByZXNwb25zYWJpbGlkYWQgY29udHJhY3R1YWwgbyBleHRyYWNvbnRyYWN0dWFsIGFsZ3VuYSBkZSBsb3MgZGHDsW9zIHkgcGVyanVpY2lvcyBkaXJlY3RvcywgaW5kaXJlY3RvcywgaW5jaWRlbnRhbGVzLCBlc3BlY2lhbGVzIG8gZW1lcmdlbnRlcyAoaW5jbHVzbyBzaSBsYSBGdW5kYWNpw7NuIFVuaXZlcnNpdGFyaWEgZGUgQ2llbmNpYXMgZGUgbGEgU2FsdWQgaHViaWVyYSBzaWRvIGFkdmVydGlkbyBkZSBsYSBwb3NpYmlsaWRhZCBkZSBsb3MgbWlzbW9zKSBxdWUgdHJhaWdhbiBjYXVzYSBkZWw6IGVsIHVzbyBvIGRlIGxhIGltcG9zaWJpbGlkYWQgZGUgdXNhciBlbCBzZXJ2aWNpbzsgZWwgZGVsIGFjY2VzbyBubyBhdXRvcml6YWRvIMOzIGFsdGVyYWNpw7NuIGRlIHN1cyB0cmFuc21pc2lvbmVzIGRlIGRhdG9zOyBlbCBkZWNsYXJhY2lvbmVzIGRlIGNvbmR1Y3RhIGRlIHRlcmNlcm9zIGEgdHJhdsOpcyBkZWwgc2VydmljaW8uCiAKRWwgdXN1YXJpbyBhY3VlcmRhIGFkZW3DoXMgcXVlIGxhIEZ1bmRhY2nDs24gVW5pdmVyc2l0YXJpYSBkZSBDaWVuY2lhcyBkZSBsYSBTYWx1ZCBubyBzZXLDoSByZXNwb25zYWJsZSBkZSBuaW5nw7puIGRhw7FvIG8gcGVyanVpY2lvIGRlcml2YWRvIGRlIGxhIGludGVycnVwY2nDs24sIHN1c3BlbnNpw7NuIG8gdGVybWluYWNpw7NuIGRlbCBzZXJ2aWNpbywgaW5jbHV5ZW5kbywgcGVybyBubyBsaW1pdMOhbmRvc2UsIGEgZGHDsW9zLCBsdWNybyBjZXNhbnRlLCB1c28sIGRhdG9zIHUgb3Ryb3MgYmllbmVzIGludGFuZ2libGVzLCBvIHBlcmp1aWNpb3MgZGlyZWN0b3MsIGluZGlyZWN0b3MsIGluY2lkZW50YWxlcywgZXNwZWNpYWxlcywgY29uc2VjdWVudGVzLCBvIGVqZW1wbGFyZXMsIHlhIHNlYSBxdWUgdGFsIGludGVycnVwY2nDs24sIHN1c3BlbnNpw7NuIG8gdGVybWluYWNpw7NuIHNlYSBqdXN0aWZpY2FkYSBvIG5vLCBuZWdsaWdlbnRlIMOzIGludGVuY2lvbmFsLCBhZHZlcnRpZGEgw7MgaW5hZHZlcnRpZGEuCiAKTGEgRlVDUywgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGEgcmV0aXJhciBzaW4gcHJldmlhIG5vdGlmaWNhY2nDs24gYSBjdWFscXVpZXIgdXN1YXJpbyBxdWUgc2UgY29uc2lkZXJlIG9mZW5zaXZvIGVuIGxhcyBjb252ZXJzYWNpb25lcyBvIGRpw6Fsb2dvcyBkZSBsb3MgdXN1YXJpb3MgbyB2aXNpdGFudGVzIGRlbCBzaXRpbyB3ZWIgZW4gZm9yb3MgbyBjaGF0cy4KIApMYSBGVUNTIG5vIGVzIHJlc3BvbnNhYmxlIGNvbiByZXNwZWN0byBhIGxhIHByaXZhY2lkYWQgZGUgbGEgaW5mb3JtYWNpw7NuIHBlcnNvbmFsIHF1ZSBlbCB1c3VhcmlvIGRpdnVsZ3VlIG8gcmVtaXRhIGVuIGZvcm9zLCBzZXNpb25lcyBkZSBjaGF0IGRlbCBzaXRpbyB3ZWIsIGVuIGNvcnJlb3MgZWxlY3Ryw7NuaWNvcyBvIGVuIGN1YWxxdWllciBvdHJvIHNpdGlvIHdlYi4gRWwgdXN1YXJpbyBlcyBleGNsdXNpdm8gcmVzcG9uc2FibGUgZGUgbGEgcHJpdmFjaWRhZCB5IGN1c3RvZGlhIGRlIGN1YWxxdWllciBkYXRvIHBlcnNvbmFsIHF1ZSBlbnRyZWd1ZSBhIHVuYSBwZXJzb25hIG8gZW1wcmVzYSBkaWZlcmVudGUgRlVDUy4KIAo2LiBEZXJlY2hvcyBkZSBQcm9waWVkYWQgSW50ZWxlY3R1YWw6CiAKRWwgVXN1YXJpbyByZWNvbm9jZSB5IGFjZXB0YSBxdWUgZWwgc2VydmljaW8geSBjdWFscXVpZXIgc29mdHdhcmUgdXNhZG8gZW4gcmVsYWNpw7NuIGNvbiBlbCBzZXJ2aWNpbyBxdWUgY29udGllbmUgaW5mb3JtYWNpw7NuIGNvbmZpZGVuY2lhbCB5IGRlIHByb3BpZWRhZCBhamVuYSBwcm90ZWdpZGEgcG9yIGxhIGxlZ2lzbGFjacOzbiBkZSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgeSBvdHJhcyBkaXNwb3NpY2lvbmVzIGxlZ2FsZXMuIEFkZW3DoXMgZWwgdXN1YXJpbyByZWNvbm9jZSB5IGFjZXB0YSBxdWUgZWwgY29udGVuaWRvIGluY2x1eWVuZG8sIHBlcm8gbm8gbGltaXTDoW5kb3NlLCB0ZXh0b3MsIHByb2dyYW1hcyAoYXBwbGV0cyksIGZvdG9ncmFmw61hcywgZ3LDoWZpY29zLCB2aWRlb3MgdSBvdHJvIG1hdGVyaWFsIGNvbnRlbmlkbyBlbiBlbCBzZXJ2aWNpbywgYXPDrSBjb21vIHRhbWJpw6luIGluZm9ybWFjaW9uZXMgZGl2dWxnYWRhcyBhbCB1c3VhcmlvIGEgdHJhdsOpcyBkZWwgc2VydmljaW8sIGVzdMOhIHByb3RlZ2lkbyBwb3IgZGVyZWNob3MgZGUgYXV0b3IsIG1hcmNhcyBjb21lcmNpYWxlcywgcGF0ZW50ZXMgeSBvdHJvcyBkZXJlY2hvcyBkZSBwcm9waWVkYWQgaW50ZWxlY3R1YWwsIGRlIGFjdWVyZG8gY29uIGxhIGxlZ2lzbGFjacOzbiBjb2xvbWJpYW5hLCBjb211bml0YXJpYSBlIGludGVybmFjaW9uYWwgYXBsaWNhYmxlLgogCkVsIFVzdWFyaW8gcmVjb25vY2UgeSBhY3VlcmRhIHF1ZSBzb2xhbWVudGUgcG9kcsOhIHV0aWxpemFyIHRhbGVzIG1hdGVyaWFsZXMgZSBpbmZvcm1hY2lvbmVzIHNlZ8O6biBsbyBleHByZXNhbWVudGUgYXV0b3JpemFkbyBwb3IgbGEgRlVDUywgeSBubyBwb2Ryw6EgY29waWFyLCByZXByb2R1Y2lyLCB0cmFuc21pdGlyLCBkaXN0cmlidWlyIG8gY3JlYXIgb2JyYXMgZGVyaXZhZGFzIGEgcGFydGlyIGRlIHRhbGVzIG1hdGVyaWFsZXMgbyBpbmZvcm1hY2lvbmVzIHNpbiBsYSBleHByZXNhIGF1dG9yaXphY2nDs24gZGVsIHJlc3BlY3Rpdm8gcHJvcGlldGFyaW8uCiAKRWwgVXN1YXJpbyBzZSBvYmxpZ2EgYSBubyBtb2RpZmljYXIgZWwgc29mdHdhcmUgaW52b2x1Y3JhZG8gZW4gZWwgcG9ydGFsIHdlYiBkZSBuaW5ndW5hIG1hbmVyYSwgbyB1dGlsaXphciB2ZXJzaW9uZXMgZGUgc29mdHdhcmUgbW9kaWZpY2FkYXMgY29uIGVsIGZpbiwgZW50cmUgb3Ryb3MsIGRlIG9idGVuZXIgYWNjZXNvIG5vIGF1dG9yaXphZG8gYWwgU2VydmljaW8uIEVsIFVzdWFyaW8gc2Ugb2JsaWdhIGEgbm8gYWNjZWRlciBhbCBTZXJ2aWNpbyBwb3Igb3Ryb3MgbWVkaW9zIHF1ZSBubyBzZWFuIGEgdHJhdsOpcyBkZSBsYSBpbnRlcmZheiBxdWUgbGEgRlVDUyBwcm9wb3JjaW9uYSBwYXJhIGFjY2VkZXIgYWwgU2VydmljaW8uCiAKNy4gR2FyYW50w61hIExpbWl0YWRhOgogCkVsIHVzbyBkZWwgc2VydmljaW8gc2Vyw6EgYmFqbyBleGNsdXNpdm8gcmllc2dvIHkgcmVzcG9uc2FiaWxpZGFkIGRlbCB1c3VhcmlvLiBFbCBzZXJ2aWNpbyBlcyBzdW1pbmlzdHJhZG8gZ3JhdHVpdGFtZW50ZSB5IGRlcGVuZGUgZGUgbGEgZnVuY2lvbmFsaWRhZCBkZSB2YXJpb3MgZmFjdG9yZXMsIGNvbW8gbGEgaW50ZXJhY2Npw7NuIGRlIHNlcnZpZG9yZXMgeSBzZXJ2aWNpb3MgZGUgdGVsZWNvbXVuaWNhY2lvbmVzIGRlIHRlcmNlcm9zLCBsYSBhZGVjdWFjacOzbiBkZSBsb3MgZXF1aXBvcyBkZSB1c3VhcmlvIHkgZGVzdGluYXRhcmlvIGRlbCBtZW5zYWplLiBDb25zaWRlcmFuZG8gdGFsZXMgZmFjdG9yZXMsIGxhIEZVQ1MgZW1wbGVhcsOhIHN1cyBtZWpvcmVzIGVzZnVlcnpvcyBwYXJhIHF1ZSBsb3MgbWVuc2FqZXMgZGUgZS1tYWlsIGVudmlhZG9zIGEgdHJhdsOpcyBkZWwgc2VydmljaW8sIHNlYW4gcmVjaWJpZG9zIHBvciBlbCBkZXN0aW5hdGFyaW8gZW4gZm9ybWEgY29ycmVjdGEgeSBzaW4gaW50ZXJmZXJlbmNpYXMuIFNpbiBlbWJhcmdvLCBwb3IgZXN0YXMgbWlzbWFzIHJhem9uZXMsIGxhIEZVQ1Mgbm8gcHVlZGUgZ2FyYW50aXphciBxdWUgbG9zIG1lbnNhamVzIHNlcsOhbiBlbnRyZWdhZG9zIGFsIGRlc3RpbmF0YXJpbyBjb3JyZWN0bywgZW4gdW4gcGxhem8gYWRlY3VhZG8sIG8gbm8gc3Vmcmlyw6FuIGV4dHJhdsOtbywgZGl2dWxnYWNpw7NuIG8gdmlvbGFjacOzbiBwb3IgcGFydGVzIGRlIHRlcmNlcm9zIG5vIGF1dG9yaXphZG9zLCBjb21vIHBvciBlamVtcGxvcyAiaGFja2VycyIuCiAKU2UgYWNvbnNlamEgYWwgdXN1YXJpbyBubyBjb25maWFyIGV4Y2x1c2l2YW1lbnRlIGVuIGVsIHNlcnZpY2lvIHBhcmEgZW52aWFyIGluZm9ybWFjaW9uZXMgaW1wb3J0YW50ZXMgbyBjb25maWRlbmNpYWxlcyB5IGxhIEZ1bmRhY2nDs24gVW5pdmVyc2l0YXJpYSBkZSBDaWVuY2lhcyBkZSBsYSBTYWx1ZCBubyBzZSByZXNwb25zYWJpbGl6YXLDoSBwb3IgbmluZ3VuYSBmYWxsYSByZXN1bHRhbnRlIGRlbCBlbnbDrW8gZGUgbWVuc2FqZXMgcG9yIHBhcnRlIGRlbCB1c3VhcmlvLgogCkxhIEZVQ1Mgbm8gZ2FyYW50aXphIHF1ZSBlbCBzZXJ2aWNpbyBzZSBwcmVzdGFyw6EgZGUgbWFuZXJhIGluaW50ZXJydW1waWRhLCBzZWd1cmEgbyBsaWJyZSBkZSBlcnJvci4gTGEgRlVDUyB0YW1wb2NvIG90b3JnYSBuaW5ndW5hIGdhcmFudMOtYSBlbiBjdWFudG8gYSBsb3MgcmVzdWx0YWRvcyBxdWUgc2UgcHVlZGFuIG9idGVuZXIgZGVsIHVzbyBkZWwgc2VydmljaW8sIG5pIHF1ZSBsb3MgZGVmZWN0b3MgZW4gbG9zIHByb2dyYW1hcyBzZXLDoW4gY29ycmVnaWRvcy4KIApFbCB1c3VhcmlvIHJlY29ub2NlIHkgYWN1ZXJkYSBxdWUgY3VhbHF1aWVyIG1hdGVyaWFsIHkvbyBpbmZvcm1hY2nDs24gb2J0ZW5pZGEgYSB0cmF2w6lzIGRlbCBzZXJ2aWNpbyBvIGRlIHN1IHV0aWxpemFjacOzbiwgZXN0YXLDoSBzdWpldGEgYSBzdSBlbnRlcm8gY3JpdGVyaW8geSByaWVzZ287IHkgcXVlIHNlcsOhIGVsIMO6bmljbyByZXNwb25zYWJsZSBkZSBjdWFscXVpZXIgZGHDsW8gb2N1cnJpZG8gZW4gc3UgY29tcHV0YWRvcmEgbyBww6lyZGlkYSBkZSBkYXRvcyBxdWUgcHVlZGEgcmVzdWx0YXIgZGUgcmVjaWJpciB0YWwgbWF0ZXJpYWwuCiAKTm90YTogc2kgcmVjaWJlIHVuIG1lbnNhamUgZGUgY29ycmVvIGVsZWN0csOzbmljbyBubyBzb2xpY2l0YWRvLCBvIGN1YWxxdWllciBtZW5zYWplIGFtZW5hemFkb3IgdSBvZmVuc2l2bywgbyBjb25zaWRlcmEgcXVlIG90cm8gdXN1YXJpbyBvIGN1YWxxdWllciBwZXJzb25hIGxlIGVzdMOhIHZ1bG5lcmFuZG8gdW4gZGVyZWNobyBjb25mb3JtZSBhIGVzdGUgZG9jdW1lbnRvLCByZW3DrXRhbm9zIHVuYSBjb3BpYSBjb21wbGV0YSB5IHNpbiBtb2RpZmljYXIgZGVsIG1lbnNhamUgZGUgY29ycmVvIGVsZWN0csOzbmljbyBjb24gbG9zIGVuY2FiZXphZG9zIGNvbXBsZXRvcyBhIGxhIHNpZ3VpZW50ZSBkaXJlY2Npw7NuIGVsZWN0csOzbmljYTogeWx0b3JvQGZ1Y3NhbHVkLmVkdS5jbwoKTGFzIHByZWd1bnRhcyBxdWUgZWwgdXN1YXJpbyBvIGN1YWxxdWllciBwZXJzb25hIGRlc2VlIHJlYWxpemFyIHNvYnJlIGxvIGV4cHJlc2FkbyBlbiBlc3RlIGRvY3VtZW50bywgbGFzIHB1ZWRlIGZvcm11bGFyIGEgbGEgc2lndWllbnRlIGRpcmVjY2nDs24gZWxlY3Ryw7NuaWNhOiB5bHRvcm9AZnVjc2FsdWQuZWR1LmNvCg==