Towards Real-Time Semantics for a Distributed Event-Based MOP Language

This paper investigates rewriting logic as a suitable means to model the semantics of distributed and concurrent systems implemented using Monitoring Oriented Programming (MOP) frameworks. MOP tools close the gap between specification and implementation, allowing several formal specifications and co...

Full description

Autores:
Sanabria, Mateo
Garzón Alfonso, Wilmer
Benavides Navarro, Luis Daniel
Tipo de recurso:
Book
Fecha de publicación:
2018
Institución:
Escuela Colombiana de Ingeniería Julio Garavito
Repositorio:
Repositorio Institucional ECI
Idioma:
eng
OAI Identifier:
oai:repositorio.escuelaing.edu.co:001/1800
Acceso en línea:
https://repositorio.escuelaing.edu.co/handle/001/1800
Palabra clave:
Semántica de sistemas
Reestructura lógica
Programación orientada a eventos
Lenguaje de programación
REAL-T
Rewriting logic
Semantics
Distributed programming
Event oriented programming
Explicit time management
Rights
closedAccess
License
© Springer Nature Switzerland AG 2018
id ESCUELAIG2_29183c5fcfc9b4a6ac0358bd4d3f9a14
oai_identifier_str oai:repositorio.escuelaing.edu.co:001/1800
network_acronym_str ESCUELAIG2
network_name_str Repositorio Institucional ECI
repository_id_str
dc.title.eng.fl_str_mv Towards Real-Time Semantics for a Distributed Event-Based MOP Language
title Towards Real-Time Semantics for a Distributed Event-Based MOP Language
spellingShingle Towards Real-Time Semantics for a Distributed Event-Based MOP Language
Semántica de sistemas
Reestructura lógica
Programación orientada a eventos
Lenguaje de programación
REAL-T
Rewriting logic
Semantics
Distributed programming
Event oriented programming
Explicit time management
title_short Towards Real-Time Semantics for a Distributed Event-Based MOP Language
title_full Towards Real-Time Semantics for a Distributed Event-Based MOP Language
title_fullStr Towards Real-Time Semantics for a Distributed Event-Based MOP Language
title_full_unstemmed Towards Real-Time Semantics for a Distributed Event-Based MOP Language
title_sort Towards Real-Time Semantics for a Distributed Event-Based MOP Language
dc.creator.fl_str_mv Sanabria, Mateo
Garzón Alfonso, Wilmer
Benavides Navarro, Luis Daniel
dc.contributor.author.none.fl_str_mv Sanabria, Mateo
Garzón Alfonso, Wilmer
Benavides Navarro, Luis Daniel
dc.contributor.researchgroup.spa.fl_str_mv Informática
dc.subject.armarc.spa.fl_str_mv Semántica de sistemas
Reestructura lógica
Programación orientada a eventos
Lenguaje de programación
topic Semántica de sistemas
Reestructura lógica
Programación orientada a eventos
Lenguaje de programación
REAL-T
Rewriting logic
Semantics
Distributed programming
Event oriented programming
Explicit time management
dc.subject.armarc.eng.fl_str_mv REAL-T
dc.subject.proposal.eng.fl_str_mv Rewriting logic
Semantics
Distributed programming
Event oriented programming
Explicit time management
description This paper investigates rewriting logic as a suitable means to model the semantics of distributed and concurrent systems implemented using Monitoring Oriented Programming (MOP) frameworks. MOP tools close the gap between specification and implementation, allowing several formal specifications and concrete implementations to be combined into a single executing system. To address real-time monitoring of modern distributed applications, we recently proposed REAL-T, a reactive event-based distributed programming language with explicit support for distributions and time manipulation. REAL-T allows programmers to instrument distributed applications to monitor and enforce specific behavior. It also supports requirements of modern reactive applications (responsiveness, resiliency, elasticity and asynchronous communication). The REAL-T programming model is very flexible, making the semantic specifications very challenging.
publishDate 2018
dc.date.issued.none.fl_str_mv 2018
dc.date.accessioned.none.fl_str_mv 2021-11-04T20:38:04Z
dc.date.available.none.fl_str_mv 2021-11-04T20:38:04Z
dc.type.spa.fl_str_mv Artículo de revista
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_3248
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_2f33
dc.type.content.spa.fl_str_mv Text
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bookPart
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/CAP_LIB
format http://purl.org/coar/resource_type/c_2f33
status_str publishedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.escuelaing.edu.co/handle/001/1800
url https://repositorio.escuelaing.edu.co/handle/001/1800
dc.language.iso.spa.fl_str_mv eng
language eng
dc.relation.ispartofseries.none.fl_str_mv International Conference on Model and Data Engineering;MEDI 2018: New Trends in Model and Data Engineering
dc.relation.citationendpage.spa.fl_str_mv 243
dc.relation.citationstartpage.spa.fl_str_mv 231
dc.relation.indexed.spa.fl_str_mv N/A
dc.relation.ispartofbook.eng.fl_str_mv Communications in Computer and Information Science
dc.relation.references.spa.fl_str_mv Agha, G.: Concurrent object-oriented programming. Commun. ACM 33(9), 125–141 (1990)
Basu, A., Bensalem, S., Bozga, M., Bourgos, P., Sifakis, J.: Rigorous system design: the BIP approach. In: Kotásek, Z., Bouda, J., Černá, I., Sekanina, L., Vojnar, T., Antoš, D. (eds.) MEMICS 2011. LNCS, vol. 7119, pp. 1–19. Springer, Heidelberg (2012).
Benavides Navarro, L.D., Douence, R., Núñez, A., Südholt, M.: LTS-based semantics and property analysis of distributed aspects and invasive patterns. In: Leuven, K.U. (ed.) Workshop on Aspects, Dependencies and Interactions. Technical Report, Belgium, vol. CW 517, pp. 36–45, July 2008.
Benavides Navarro, L.D., Douence, R., Südholt, M.: Debugging and testing middleware with aspect-based control-flow and causal patterns. In: Issarny, V., Schantz, R. (eds.) Middleware 2008. LNCS, vol. 5346, pp. 183–202. Springer, Heidelberg (2008).
Benavides Navarro, L.D., et al.: REAL-T: time modularization in reactive distributed applications. In: Serrano, C.J., Martínez-Santos, J. (eds.) CCC 2018. CCIS, vol. 885, pp. 113–127. Springer, Cham (2018).
Bensalem, S., Bozga, M., Delahaye, B., Jegourel, C., Legay, A., Nouri, A.: Statistical model checking QoS properties of systems with SBIP. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012. LNCS, vol. 7609, pp. 327–341. Springer, Heidelberg (2012).
Bhat, G., Cleaveland, R., Lüttgen, G.: A practical approach to implementing real-time semantics. Ann. Softw. Eng. 7(1), 127–155 (1999)
Charron-Bost, B., Mattern, F., Tel, G.: Synchronous, asynchronous, and causally ordered communication. Distrib. Comput. 9(4), 173–191 (1996).
Chen, F., Roşu, G.: MOP: an efficient and generic runtime verification framework. In: ACM SIGPLAN Notices, vol. 42, pp. 569–588. ACM (2007)
Clavel, M., et al.: The maude 2.0 system. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 76–87. Springer, Heidelberg (2003).
Fisher, M.: An Introduction to Practical Formal Methods Using Temporal Logic. Wiley, Hoboken (2011)
Fontana, P., Cleaveland, R.: A menagerie of timed automata. ACM Comput. Surv. 46(3), 40:1–40:56 (2014).
Furia, C.A., Mandrioli, D., Morzenti, A., Rossi, M.: Modeling time in computing: a taxonomy and a comparative survey. ACM Comput. Surv. 42(2), 6:1–6:59 (2010)
Haydar, M., Boroday, S., Petrenko, A., Sahraoui, H.: Propositional scopes in linear temporal logic. In: Proceedings of the 5th International Conference on Novelles Technologies de la Repartition (NOTERE 2005) (2005)
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)
Le Lann, G.: Distributed systems-towards a formal approach. In: IFIP Congress, Toronto, vol. 7, pp. 155–160 (1977)
Magee, J., Kramer, J.: Concurrency: State Models and Java Programs, 2nd edn. Wiley, Hoboken (2006)
Mallet, F.: Clock constraint specification language: specifying clock constraints with UML/MARTE. Innov. Syst. Softw. Eng. 4(3), 309–314 (2008).
Mattern, F., et al.: Virtual time and global states of distributed systems. Parallel Distrib. Algorithms 1(23), 215–226 (1989)
Meredith, P.O., Jin, D., Griffith, D., Chen, F., Roşu, G.: An overview of the mop runtime verification framework. Int. J. Softw. Tools Technol. Transfer 14(3), 249–289 (2012)
Meseguer, J.: Twenty years of rewriting logic. J. Log. Algebr. Program. 81(7), 721–781 (2012).
Roşu, G.: From rewriting logic, to programming language semantics, to program verification. In: Martí-Oliet, N., Ölveczky, P.C., Talcott, C. (eds.) Logic, Rewriting, and Concurrency. LNCS, vol. 9200, pp. 598–616. Springer, Cham (2015).
Spiliopoulou, E.: Concurrent and distributed functional systems. Ph.D. thesis, University of Bristol (2000)
Tabareau, N.: A theory of distributed aspects. In: Proceedings of the 9th International Conference on Aspect-Oriented Software Development, AOSD 2010, pp. 133–144. ACM, New York (2010).
dc.rights.eng.fl_str_mv © Springer Nature Switzerland AG 2018
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_14cb
dc.rights.uri.spa.fl_str_mv https://creativecommons.org/licenses/by/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/closedAccess
dc.rights.creativecommons.spa.fl_str_mv Atribución 4.0 Internacional (CC BY 4.0)
rights_invalid_str_mv © Springer Nature Switzerland AG 2018
https://creativecommons.org/licenses/by/4.0/
Atribución 4.0 Internacional (CC BY 4.0)
http://purl.org/coar/access_right/c_14cb
eu_rights_str_mv closedAccess
dc.format.extent.spa.fl_str_mv 13 páginas.
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Springer Nature
dc.publisher.place.spa.fl_str_mv Switzerland.
institution Escuela Colombiana de Ingeniería Julio Garavito
bitstream.url.fl_str_mv https://repositorio.escuelaing.edu.co/bitstream/001/1800/5/Towards%20Real-Time%20Semantics%20for%20a%20Distributed%20Event-Based%20MOP%20Language.pdf.txt
https://repositorio.escuelaing.edu.co/bitstream/001/1800/4/Towards%20Real-Time%20Semantics%20for%20a%20Distributed%20Event-Based%20MOP%20Language.png
https://repositorio.escuelaing.edu.co/bitstream/001/1800/6/Towards%20Real-Time%20Semantics%20for%20a%20Distributed%20Event-Based%20MOP%20Language.pdf.jpg
https://repositorio.escuelaing.edu.co/bitstream/001/1800/3/Towards%20Real-Time%20Semantics%20for%20a%20Distributed%20Event-Based%20MOP%20Language.pdf
https://repositorio.escuelaing.edu.co/bitstream/001/1800/2/license.txt
bitstream.checksum.fl_str_mv c1b4e3f589121c045530a85c1be8615b
c58869f39e27694d4c502d9b7f81e439
c07d7201517c9f810e1c25298d3342d6
21cc7b9000d6a87968d075c2733aa83f
5a7ca94c2e5326ee169f979d71d0f06e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Escuela Colombiana de Ingeniería Julio Garavito
repository.mail.fl_str_mv repositorio.eci@escuelaing.edu.co
_version_ 1814355595581456384
spelling Sanabria, Mateo7ce70020c113039fb221b87674cf694c600Garzón Alfonso, Wilmer1b470f3b03f18fae654a543b5af7a944600Benavides Navarro, Luis Daniel6fb8a207341d8b2f068df4c441aa67dd600Informática2021-11-04T20:38:04Z2021-11-04T20:38:04Z2018https://repositorio.escuelaing.edu.co/handle/001/1800This paper investigates rewriting logic as a suitable means to model the semantics of distributed and concurrent systems implemented using Monitoring Oriented Programming (MOP) frameworks. MOP tools close the gap between specification and implementation, allowing several formal specifications and concrete implementations to be combined into a single executing system. To address real-time monitoring of modern distributed applications, we recently proposed REAL-T, a reactive event-based distributed programming language with explicit support for distributions and time manipulation. REAL-T allows programmers to instrument distributed applications to monitor and enforce specific behavior. It also supports requirements of modern reactive applications (responsiveness, resiliency, elasticity and asynchronous communication). The REAL-T programming model is very flexible, making the semantic specifications very challenging.Este artículo investiga la lógica de reescritura como un medio adecuado para modelar la semántica de sistemas distribuidos y concurrentes implementados utilizando marcos de Programación Orientada a Monitoreo (MOP). Las herramientas MOP cierran la brecha entre la especificación y la implementación, lo que permite combinar varias especificaciones formales e implementaciones concretas en un solo sistema de ejecución. Para abordar el monitoreo en tiempo real de las aplicaciones distribuidas modernas, recientemente propusimos REAL-T, un lenguaje de programación distribuido basado en eventos reactivos con soporte explícito para distribuciones y manipulación del tiempo. REAL-T permite a los programadores instrumentar aplicaciones distribuidas para monitorear y hacer cumplir un comportamiento específico. También es compatible con los requisitos de las aplicaciones reactivas modernas (capacidad de respuesta, resiliencia, elasticidad y comunicación asíncrona). El modelo de programación REAL-T es muy flexible, lo que hace que las especificaciones semánticas sean muy desafiantes.13 páginas.application/pdfengSpringer NatureSwitzerland.International Conference on Model and Data Engineering;MEDI 2018: New Trends in Model and Data Engineering243231N/ACommunications in Computer and Information ScienceAgha, G.: Concurrent object-oriented programming. Commun. ACM 33(9), 125–141 (1990)Basu, A., Bensalem, S., Bozga, M., Bourgos, P., Sifakis, J.: Rigorous system design: the BIP approach. In: Kotásek, Z., Bouda, J., Černá, I., Sekanina, L., Vojnar, T., Antoš, D. (eds.) MEMICS 2011. LNCS, vol. 7119, pp. 1–19. Springer, Heidelberg (2012).Benavides Navarro, L.D., Douence, R., Núñez, A., Südholt, M.: LTS-based semantics and property analysis of distributed aspects and invasive patterns. In: Leuven, K.U. (ed.) Workshop on Aspects, Dependencies and Interactions. Technical Report, Belgium, vol. CW 517, pp. 36–45, July 2008.Benavides Navarro, L.D., Douence, R., Südholt, M.: Debugging and testing middleware with aspect-based control-flow and causal patterns. In: Issarny, V., Schantz, R. (eds.) Middleware 2008. LNCS, vol. 5346, pp. 183–202. Springer, Heidelberg (2008).Benavides Navarro, L.D., et al.: REAL-T: time modularization in reactive distributed applications. In: Serrano, C.J., Martínez-Santos, J. (eds.) CCC 2018. CCIS, vol. 885, pp. 113–127. Springer, Cham (2018).Bensalem, S., Bozga, M., Delahaye, B., Jegourel, C., Legay, A., Nouri, A.: Statistical model checking QoS properties of systems with SBIP. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012. LNCS, vol. 7609, pp. 327–341. Springer, Heidelberg (2012).Bhat, G., Cleaveland, R., Lüttgen, G.: A practical approach to implementing real-time semantics. Ann. Softw. Eng. 7(1), 127–155 (1999)Charron-Bost, B., Mattern, F., Tel, G.: Synchronous, asynchronous, and causally ordered communication. Distrib. Comput. 9(4), 173–191 (1996).Chen, F., Roşu, G.: MOP: an efficient and generic runtime verification framework. In: ACM SIGPLAN Notices, vol. 42, pp. 569–588. ACM (2007)Clavel, M., et al.: The maude 2.0 system. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 76–87. Springer, Heidelberg (2003).Fisher, M.: An Introduction to Practical Formal Methods Using Temporal Logic. Wiley, Hoboken (2011)Fontana, P., Cleaveland, R.: A menagerie of timed automata. ACM Comput. Surv. 46(3), 40:1–40:56 (2014).Furia, C.A., Mandrioli, D., Morzenti, A., Rossi, M.: Modeling time in computing: a taxonomy and a comparative survey. ACM Comput. Surv. 42(2), 6:1–6:59 (2010)Haydar, M., Boroday, S., Petrenko, A., Sahraoui, H.: Propositional scopes in linear temporal logic. In: Proceedings of the 5th International Conference on Novelles Technologies de la Repartition (NOTERE 2005) (2005)Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)Le Lann, G.: Distributed systems-towards a formal approach. In: IFIP Congress, Toronto, vol. 7, pp. 155–160 (1977)Magee, J., Kramer, J.: Concurrency: State Models and Java Programs, 2nd edn. Wiley, Hoboken (2006)Mallet, F.: Clock constraint specification language: specifying clock constraints with UML/MARTE. Innov. Syst. Softw. Eng. 4(3), 309–314 (2008).Mattern, F., et al.: Virtual time and global states of distributed systems. Parallel Distrib. Algorithms 1(23), 215–226 (1989)Meredith, P.O., Jin, D., Griffith, D., Chen, F., Roşu, G.: An overview of the mop runtime verification framework. Int. J. Softw. Tools Technol. Transfer 14(3), 249–289 (2012)Meseguer, J.: Twenty years of rewriting logic. J. Log. Algebr. Program. 81(7), 721–781 (2012).Roşu, G.: From rewriting logic, to programming language semantics, to program verification. In: Martí-Oliet, N., Ölveczky, P.C., Talcott, C. (eds.) Logic, Rewriting, and Concurrency. LNCS, vol. 9200, pp. 598–616. Springer, Cham (2015).Spiliopoulou, E.: Concurrent and distributed functional systems. Ph.D. thesis, University of Bristol (2000)Tabareau, N.: A theory of distributed aspects. In: Proceedings of the 9th International Conference on Aspect-Oriented Software Development, AOSD 2010, pp. 133–144. ACM, New York (2010).© Springer Nature Switzerland AG 2018https://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/closedAccessAtribución 4.0 Internacional (CC BY 4.0)http://purl.org/coar/access_right/c_14cbTowards Real-Time Semantics for a Distributed Event-Based MOP LanguageArtículo de revistainfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_2f33http://purl.org/coar/resource_type/c_3248Textinfo:eu-repo/semantics/bookParthttps://purl.org/redcol/resource_type/CAP_LIBhttp://purl.org/coar/version/c_970fb48d4fbd8a85Semántica de sistemasReestructura lógicaProgramación orientada a eventosLenguaje de programaciónREAL-TRewriting logicSemanticsDistributed programmingEvent oriented programmingExplicit time managementTEXTTowards Real-Time Semantics for a Distributed Event-Based MOP Language.pdf.txtTowards Real-Time Semantics for a Distributed Event-Based MOP Language.pdf.txtExtracted texttext/plain28103https://repositorio.escuelaing.edu.co/bitstream/001/1800/5/Towards%20Real-Time%20Semantics%20for%20a%20Distributed%20Event-Based%20MOP%20Language.pdf.txtc1b4e3f589121c045530a85c1be8615bMD55metadata only accessTHUMBNAILTowards Real-Time Semantics for a Distributed Event-Based MOP Language.pngTowards Real-Time Semantics for a Distributed Event-Based MOP Language.pngimage/png95722https://repositorio.escuelaing.edu.co/bitstream/001/1800/4/Towards%20Real-Time%20Semantics%20for%20a%20Distributed%20Event-Based%20MOP%20Language.pngc58869f39e27694d4c502d9b7f81e439MD54open accessTowards Real-Time Semantics for a Distributed Event-Based MOP Language.pdf.jpgTowards Real-Time Semantics for a Distributed Event-Based MOP Language.pdf.jpgGenerated Thumbnailimage/jpeg11944https://repositorio.escuelaing.edu.co/bitstream/001/1800/6/Towards%20Real-Time%20Semantics%20for%20a%20Distributed%20Event-Based%20MOP%20Language.pdf.jpgc07d7201517c9f810e1c25298d3342d6MD56metadata only accessORIGINALTowards Real-Time Semantics for a Distributed Event-Based MOP Language.pdfTowards Real-Time Semantics for a Distributed Event-Based MOP Language.pdfArtículo de revistaapplication/pdf1376471https://repositorio.escuelaing.edu.co/bitstream/001/1800/3/Towards%20Real-Time%20Semantics%20for%20a%20Distributed%20Event-Based%20MOP%20Language.pdf21cc7b9000d6a87968d075c2733aa83fMD53metadata only accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81881https://repositorio.escuelaing.edu.co/bitstream/001/1800/2/license.txt5a7ca94c2e5326ee169f979d71d0f06eMD52open access001/1800oai:repositorio.escuelaing.edu.co:001/18002022-11-24 03:01:26.816metadata only accessRepositorio Escuela Colombiana de Ingeniería Julio Garavitorepositorio.eci@escuelaing.edu.coU0kgVVNURUQgSEFDRSBQQVJURSBERUwgR1JVUE8gREUgUEFSRVMgRVZBTFVBRE9SRVMgREUgTEEgQ09MRUNDScOTTiAiUEVFUiBSRVZJRVciLCBPTUlUQSBFU1RBIExJQ0VOQ0lBLgoKQXV0b3Jpem8gYSBsYSBFc2N1ZWxhIENvbG9tYmlhbmEgZGUgSW5nZW5pZXLDrWEgSnVsaW8gR2FyYXZpdG8gcGFyYSBwdWJsaWNhciBlbCB0cmFiYWpvIGRlIGdyYWRvLCBhcnTDrWN1bG8sIHZpZGVvLCAKY29uZmVyZW5jaWEsIGxpYnJvLCBpbWFnZW4sIGZvdG9ncmFmw61hLCBhdWRpbywgcHJlc2VudGFjacOzbiB1IG90cm8gKGVuICAgIGFkZWxhbnRlIGRvY3VtZW50bykgcXVlIGVuIGxhIGZlY2hhIAplbnRyZWdvIGVuIGZvcm1hdG8gZGlnaXRhbCwgeSBsZSBwZXJtaXRvIGRlIGZvcm1hIGluZGVmaW5pZGEgcXVlIGxvIHB1YmxpcXVlIGVuIGVsIHJlcG9zaXRvcmlvIGluc3RpdHVjaW9uYWwsIAplbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgbGEgTGV5IDQ0IGRlIDE5OTMsIHkgZGVtw6FzIGxleWVzIHkganVyaXNwcnVkZW5jaWEgdmlnZW50ZQphbCByZXNwZWN0bywgcGFyYSBmaW5lcyBlZHVjYXRpdm9zIHkgbm8gbHVjcmF0aXZvcy4gRXN0YSBhdXRvcml6YWNpw7NuIGVzIHbDoWxpZGEgcGFyYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlIAp1c28gc29icmUgbGEgb2JyYSBlbiBmb3JtYXRvIGRpZ2l0YWwsIGVsZWN0csOzbmljbywgdmlydHVhbDsgeSBwYXJhIHVzb3MgZW4gcmVkZXMsIGludGVybmV0LCBleHRyYW5ldCwgeSBjdWFscXVpZXIgCmZvcm1hdG8gbyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyLgpFbiBtaSBjYWxpZGFkIGRlIGF1dG9yLCBleHByZXNvIHF1ZSBlbCBkb2N1bWVudG8gb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwgeSBsbyBlbGFib3LDqSBzaW4gCnF1ZWJyYW50YXIgbmkgc3VwbGFudGFyIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvcy4gUG9yIGxvIHRhbnRvLCBlcyBkZSBtaSBleGNsdXNpdmEgYXV0b3LDrWEgeSwgZW4gY29uc2VjdWVuY2lhLCAKdGVuZ28gbGEgdGl0dWxhcmlkYWQgc29icmUgw6lsLiBFbiBjYXNvIGRlIHF1ZWphIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyByZWZlcmVudGUgYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgCmVsIGRvY3VtZW50byBlbiBjdWVzdGnDs24sIGFzdW1pcsOpIGxhIHJlc3BvbnNhYmlsaWRhZCB0b3RhbCB5IHNhbGRyw6kgZW4gZGVmZW5zYSBkZSBsb3MgZGVyZWNob3MgYXF1w60gYXV0b3JpemFkb3MuIEVzdG8gCnNpZ25pZmljYSBxdWUsIHBhcmEgdG9kb3MgbG9zIGVmZWN0b3MsIGxhIEVzY3VlbGEgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KVG9kYSBwZXJzb25hIHF1ZSBjb25zdWx0ZSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIEVzY3VlbGEsIGVsIENhdMOhbG9nbyBlbiBsw61uZWEgdSBvdHJvIG1lZGlvIGVsZWN0csOzbmljbywgCnBvZHLDoSBjb3BpYXIgYXBhcnRlcyBkZWwgdGV4dG8sIGNvbiBlbCBjb21wcm9taXNvIGRlIGNpdGFyIHNpZW1wcmUgbGEgZnVlbnRlLCBsYSBjdWFsIGluY2x1eWUgZWwgdMOtdHVsbyBkZWwgdHJhYmFqbyB5IGVsIAphdXRvci5Fc3RhIGF1dG9yaXphY2nDs24gbm8gaW1wbGljYSByZW51bmNpYSBhIGxhIGZhY3VsdGFkIHF1ZSB0ZW5nbyBkZSBwdWJsaWNhciB0b3RhbCBvIHBhcmNpYWxtZW50ZSBsYSBvYnJhIGVuIG90cm9zIAptZWRpb3MuRXN0YSBhdXRvcml6YWNpw7NuIGVzdMOhIHJlc3BhbGRhZGEgcG9yIGxhcyBmaXJtYXMgZGVsIChsb3MpIGF1dG9yKGVzKSBkZWwgZG9jdW1lbnRvLiAKU8OtIGF1dG9yaXpvIChhbWJvcykK