REAL-T: Time Modularization in Reactive Distributed Applications
In this paper, we propose REAL-T, a distributed event-based language with explicit support for time manipulation. The language introduces automata for operational time manipulation, causality constructs and Linear Temporal Logic for declarative time predicates, and a distributed-time aware event mod...
- Autores:
-
Benavides Navarro, Luis Daniel
Pimienta, Camilo
Sanabria, Mateo
Díaz, Daniel
Garzón, Wilmer
Mello, Wilson
Arboleda, Hugo
- Tipo de recurso:
- Part of 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/1801
- Acceso en línea:
- https://repositorio.escuelaing.edu.co/handle/001/1801
- Palabra clave:
- Programación distribuida
Programación orientada a eventos
Lenguaje de programación
Distributed programming
Event oriented programming
Explicit and implicit time management
- Rights
- closedAccess
- License
- © Springer Nature Switzerland AG 2018
id |
ESCUELAIG2_95c201c0e96cfe6b88c4868b84c98920 |
---|---|
oai_identifier_str |
oai:repositorio.escuelaing.edu.co:001/1801 |
network_acronym_str |
ESCUELAIG2 |
network_name_str |
Repositorio Institucional ECI |
repository_id_str |
|
dc.title.eng.fl_str_mv |
REAL-T: Time Modularization in Reactive Distributed Applications |
title |
REAL-T: Time Modularization in Reactive Distributed Applications |
spellingShingle |
REAL-T: Time Modularization in Reactive Distributed Applications Programación distribuida Programación orientada a eventos Lenguaje de programación Distributed programming Event oriented programming Explicit and implicit time management |
title_short |
REAL-T: Time Modularization in Reactive Distributed Applications |
title_full |
REAL-T: Time Modularization in Reactive Distributed Applications |
title_fullStr |
REAL-T: Time Modularization in Reactive Distributed Applications |
title_full_unstemmed |
REAL-T: Time Modularization in Reactive Distributed Applications |
title_sort |
REAL-T: Time Modularization in Reactive Distributed Applications |
dc.creator.fl_str_mv |
Benavides Navarro, Luis Daniel Pimienta, Camilo Sanabria, Mateo Díaz, Daniel Garzón, Wilmer Mello, Wilson Arboleda, Hugo |
dc.contributor.author.none.fl_str_mv |
Benavides Navarro, Luis Daniel Pimienta, Camilo Sanabria, Mateo Díaz, Daniel Garzón, Wilmer Mello, Wilson Arboleda, Hugo |
dc.contributor.researchgroup.spa.fl_str_mv |
Informática |
dc.subject.armarc.spa.fl_str_mv |
Programación distribuida Programación orientada a eventos Lenguaje de programación |
topic |
Programación distribuida Programación orientada a eventos Lenguaje de programación Distributed programming Event oriented programming Explicit and implicit time management |
dc.subject.proposal.eng.fl_str_mv |
Distributed programming Event oriented programming Explicit and implicit time management |
description |
In this paper, we propose REAL-T, a distributed event-based language with explicit support for time manipulation. The language introduces automata for operational time manipulation, causality constructs and Linear Temporal Logic for declarative time predicates, and a distributed-time aware event model. We have developed a compiler for the language and a dynamic run-time framework. To validate the proposal we study detection of complex patterns of security vulnerabilities in IoT scenarios. |
publishDate |
2018 |
dc.date.issued.none.fl_str_mv |
2018 |
dc.date.accessioned.none.fl_str_mv |
2021-11-04T21:43:12Z |
dc.date.available.none.fl_str_mv |
2021-11-04T21:43:12Z |
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.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_3248 |
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 |
http://purl.org/redcol/resource_type/ART |
format |
http://purl.org/coar/resource_type/c_3248 |
status_str |
publishedVersion |
dc.identifier.isbn.none.fl_str_mv |
978-3-319-98998-3 |
dc.identifier.uri.none.fl_str_mv |
https://repositorio.escuelaing.edu.co/handle/001/1801 |
identifier_str_mv |
978-3-319-98998-3 |
url |
https://repositorio.escuelaing.edu.co/handle/001/1801 |
dc.language.iso.spa.fl_str_mv |
eng |
language |
eng |
dc.relation.ispartofseries.none.fl_str_mv |
CCIS;Vol. 885 |
dc.relation.citationendpage.spa.fl_str_mv |
127 |
dc.relation.citationstartpage.spa.fl_str_mv |
113 |
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 |
Baier, C., Katoen, J.P.: Principles of Model Checking. MIT press, Cambridge (2008) Ban, B., Grinovero, S.: JGroups (2011) Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Program monitoring with LTL in EAGLE. In: 18th International Parallel and Distributed Processing Symposium 2004, April 2004 Bellini, P., Mattolini, R., Nesi, P.: Temporal logics for real-time system specification. ACM Comput. Surv. 32(1), 12–42 (2000) Benavides Navarro, L.D., Barrera, A., Garcés, K., Arboleda, H.: Detecting and coordinating complex patterns of distributed events with KETAL. Electron. Notes Theor. Comput. Sci. 281, 127–141 (2011) 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). Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for c#. ACM Trans. Program. Lang. Syst. 26(5), 769–804 (2004) Büchi, J.R.: Symposium on decision problems on a decision method in restricted second order arithmetic. Stud. Log. Found. Math. 44, 1–11 (1966) Chen, F., Roşu, G.: Java-MOP: a monitoring oriented programming environment for Java. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 546–550. Springer, Heidelberg (2005). Chen, F., Roşu, G.: MOP: an efficient and generic runtime verification framework. In: ACM SIGPLAN Notices, vol. 42. ACM (2007) Fisher, M.: An Introduction to Practical Formal Methods Using Temporal Logic. Wiley, Hoboken (2011) Furia, C.A., Mandrioli, D., Morzenti, A., Rossi, M.: Modeling time in computing: a taxonomy and a comparative survey. ACM Comput. Surv. 42(2), 1–59 (2010) Giannakopoulou, D., Lerda, F.: From states to transitions: improving translation of LTL formulae to Büchi automata. In: Peled, D.A., Vardi, M.Y. (eds.) FORTE 2002. LNCS, vol. 2529, pp. 308–326. Springer, Heidelberg (2002). Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987). 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) Kiczales, G., et al.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997). Konur, S.: A survey on temporal logics for specifying and verifying real-time systems. Front. Comput. Sci. 7(3), 370–403 (2013) Kröger, F., Merz, S.: Temporal Logic and State Systems. Springer, Berlin (2008). Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978) Lee, I., Lee, K.: The internet of things (IoT): applications, investments, and challenges for enterprises. Bus. Horiz. 58(4), 431–440 (2015) 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. Transf. 14(3), 249–289 (2012) Møller, A.: dk.brics.automaton – finite-state automata and regular expressions for Java (2017). Naldurg, P., Sen, K., Thati, P.: A temporal logic based framework for intrusion detection. In: de Frutos-Escrig, D., Núñez, M. (eds.) FORTE 2004. LNCS, vol. 3235, pp. 359–376. Springer, Heidelberg (2004). Ousterhout, J.: Why threads are a bad idea (for most purposes). In: Invited talk Given at USENIX Technical Conference (1996). Petri, C.A.: Fundamentals of a theory of asynchronous information flow. In: IFIP Congress (1962) van Renesse, R., Birman, K.P., Maffeis, S.: Horus: a flexible group communication system. Commun. ACM 39(4), 76–83 (1996) Robiah, Y., Rahayu, S.S., Shahrin, S., Faizal, M., Zaki, M.M., Marliza, R.: New multi-step worm attack model. arXiv preprint arXiv:1001.3477 (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 |
15 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/1801/7/REAL-T%20Time%20Modularization%20in%20Reactive%20Distributed%20Applications.png https://repositorio.escuelaing.edu.co/bitstream/001/1801/9/REAL-T%20Time%20Modularization%20in%20Reactive%20Distributed%20Applications.pdf.jpg https://repositorio.escuelaing.edu.co/bitstream/001/1801/6/REAL-T%20Time%20Modularization%20in%20Reactive%20Distributed%20Applications.pdf https://repositorio.escuelaing.edu.co/bitstream/001/1801/2/license.txt https://repositorio.escuelaing.edu.co/bitstream/001/1801/3/Springer.pdf.txt https://repositorio.escuelaing.edu.co/bitstream/001/1801/5/REAL-T%3a%20Time%20Modularization%20in%20Reactive%20Distributed%20Applications.pdf.txt https://repositorio.escuelaing.edu.co/bitstream/001/1801/8/REAL-T%20Time%20Modularization%20in%20Reactive%20Distributed%20Applications.pdf.txt |
bitstream.checksum.fl_str_mv |
210c5a37b08732ad7a4389ef10585d2f 4eb4265191440f142c6271e9c3fd45c2 579127024b96f7592199efc7ed0f1fa9 5a7ca94c2e5326ee169f979d71d0f06e d784fa8b6d98d27699781bd9a7cf19f0 d784fa8b6d98d27699781bd9a7cf19f0 678987cdb61b67b2717ed32f0dc7ef9f |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 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_ |
1814355597502447616 |
spelling |
Benavides Navarro, Luis Daniel6fb8a207341d8b2f068df4c441aa67dd600Pimienta, Camiloedee336840ceb732be273e88017718c5600Sanabria, Mateo7ce70020c113039fb221b87674cf694c600Díaz, Daniel1f25d140d104722cf16f9d82f4d8475a600Garzón, Wilmer6b04a33a7db33dd5cc3491063fc48a95600Mello, Wilson58d8a9958969e14da20a4efa9a9ffee4600Arboleda, Hugof8462780e6dbe96346932fa9632d2bf3600Informática2021-11-04T21:43:12Z2021-11-04T21:43:12Z2018978-3-319-98998-3https://repositorio.escuelaing.edu.co/handle/001/1801In this paper, we propose REAL-T, a distributed event-based language with explicit support for time manipulation. The language introduces automata for operational time manipulation, causality constructs and Linear Temporal Logic for declarative time predicates, and a distributed-time aware event model. We have developed a compiler for the language and a dynamic run-time framework. To validate the proposal we study detection of complex patterns of security vulnerabilities in IoT scenarios.En este artículo, proponemos REAL-T, un lenguaje basado en eventos distribuidos con soporte explícito para la manipulación del tiempo. El lenguaje introduce autómatas para la manipulación operativa del tiempo, construcciones de causalidad y lógica temporal lineal para predicados de tiempo declarativos y un modelo de eventos consciente del tiempo distribuido. Hemos desarrollado un compilador para el lenguaje y un marco dinámico de tiempo de ejecución. Para validar la propuesta estudiamos la detección de patrones complejos de vulnerabilidades de seguridad en escenarios IoT.15 páginas.application/pdfengSpringer NatureSwitzerland.CCIS;Vol. 885127113N/ACommunications in Computer and Information ScienceBaier, C., Katoen, J.P.: Principles of Model Checking. MIT press, Cambridge (2008)Ban, B., Grinovero, S.: JGroups (2011)Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Program monitoring with LTL in EAGLE. In: 18th International Parallel and Distributed Processing Symposium 2004, April 2004Bellini, P., Mattolini, R., Nesi, P.: Temporal logics for real-time system specification. ACM Comput. Surv. 32(1), 12–42 (2000)Benavides Navarro, L.D., Barrera, A., Garcés, K., Arboleda, H.: Detecting and coordinating complex patterns of distributed events with KETAL. Electron. Notes Theor. Comput. Sci. 281, 127–141 (2011)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).Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for c#. ACM Trans. Program. Lang. Syst. 26(5), 769–804 (2004)Büchi, J.R.: Symposium on decision problems on a decision method in restricted second order arithmetic. Stud. Log. Found. Math. 44, 1–11 (1966)Chen, F., Roşu, G.: Java-MOP: a monitoring oriented programming environment for Java. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 546–550. Springer, Heidelberg (2005).Chen, F., Roşu, G.: MOP: an efficient and generic runtime verification framework. In: ACM SIGPLAN Notices, vol. 42. ACM (2007)Fisher, M.: An Introduction to Practical Formal Methods Using Temporal Logic. Wiley, Hoboken (2011)Furia, C.A., Mandrioli, D., Morzenti, A., Rossi, M.: Modeling time in computing: a taxonomy and a comparative survey. ACM Comput. Surv. 42(2), 1–59 (2010)Giannakopoulou, D., Lerda, F.: From states to transitions: improving translation of LTL formulae to Büchi automata. In: Peled, D.A., Vardi, M.Y. (eds.) FORTE 2002. LNCS, vol. 2529, pp. 308–326. Springer, Heidelberg (2002).Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987).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)Kiczales, G., et al.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997).Konur, S.: A survey on temporal logics for specifying and verifying real-time systems. Front. Comput. Sci. 7(3), 370–403 (2013)Kröger, F., Merz, S.: Temporal Logic and State Systems. Springer, Berlin (2008).Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)Lee, I., Lee, K.: The internet of things (IoT): applications, investments, and challenges for enterprises. Bus. Horiz. 58(4), 431–440 (2015)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. Transf. 14(3), 249–289 (2012)Møller, A.: dk.brics.automaton – finite-state automata and regular expressions for Java (2017).Naldurg, P., Sen, K., Thati, P.: A temporal logic based framework for intrusion detection. In: de Frutos-Escrig, D., Núñez, M. (eds.) FORTE 2004. LNCS, vol. 3235, pp. 359–376. Springer, Heidelberg (2004).Ousterhout, J.: Why threads are a bad idea (for most purposes). In: Invited talk Given at USENIX Technical Conference (1996).Petri, C.A.: Fundamentals of a theory of asynchronous information flow. In: IFIP Congress (1962)van Renesse, R., Birman, K.P., Maffeis, S.: Horus: a flexible group communication system. Commun. ACM 39(4), 76–83 (1996)Robiah, Y., Rahayu, S.S., Shahrin, S., Faizal, M., Zaki, M.M., Marliza, R.: New multi-step worm attack model. arXiv preprint arXiv:1001.3477 (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_14cbREAL-T: Time Modularization in Reactive Distributed ApplicationsArtículo de revistainfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_3248http://purl.org/coar/resource_type/c_2df8fbb1Textinfo:eu-repo/semantics/bookParthttp://purl.org/redcol/resource_type/ARThttp://purl.org/coar/version/c_970fb48d4fbd8a85Programación distribuidaProgramación orientada a eventosLenguaje de programaciónDistributed programmingEvent oriented programmingExplicit and implicit time managementTHUMBNAILREAL-T Time Modularization in Reactive Distributed Applications.pngREAL-T Time Modularization in Reactive Distributed Applications.pngimage/png95717https://repositorio.escuelaing.edu.co/bitstream/001/1801/7/REAL-T%20Time%20Modularization%20in%20Reactive%20Distributed%20Applications.png210c5a37b08732ad7a4389ef10585d2fMD57open accessREAL-T Time Modularization in Reactive Distributed Applications.pdf.jpgREAL-T Time Modularization in Reactive Distributed Applications.pdf.jpgGenerated Thumbnailimage/jpeg12243https://repositorio.escuelaing.edu.co/bitstream/001/1801/9/REAL-T%20Time%20Modularization%20in%20Reactive%20Distributed%20Applications.pdf.jpg4eb4265191440f142c6271e9c3fd45c2MD59metadata only accessORIGINALREAL-T Time Modularization in Reactive Distributed Applications.pdfREAL-T Time Modularization in Reactive Distributed Applications.pdfArtículo de revistaapplication/pdf889433https://repositorio.escuelaing.edu.co/bitstream/001/1801/6/REAL-T%20Time%20Modularization%20in%20Reactive%20Distributed%20Applications.pdf579127024b96f7592199efc7ed0f1fa9MD56metadata only accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81881https://repositorio.escuelaing.edu.co/bitstream/001/1801/2/license.txt5a7ca94c2e5326ee169f979d71d0f06eMD52open accessTEXTSpringer.pdf.txtSpringer.pdf.txtExtracted texttext/plain2https://repositorio.escuelaing.edu.co/bitstream/001/1801/3/Springer.pdf.txtd784fa8b6d98d27699781bd9a7cf19f0MD53open accessREAL-T: Time Modularization in Reactive Distributed Applications.pdf.txtREAL-T: Time Modularization in Reactive Distributed Applications.pdf.txtExtracted texttext/plain2https://repositorio.escuelaing.edu.co/bitstream/001/1801/5/REAL-T%3a%20Time%20Modularization%20in%20Reactive%20Distributed%20Applications.pdf.txtd784fa8b6d98d27699781bd9a7cf19f0MD55metadata only accessREAL-T Time Modularization in Reactive Distributed Applications.pdf.txtREAL-T Time Modularization in Reactive Distributed Applications.pdf.txtExtracted texttext/plain37449https://repositorio.escuelaing.edu.co/bitstream/001/1801/8/REAL-T%20Time%20Modularization%20in%20Reactive%20Distributed%20Applications.pdf.txt678987cdb61b67b2717ed32f0dc7ef9fMD58metadata only access001/1801oai:repositorio.escuelaing.edu.co:001/18012022-11-24 03:01:28.103metadata only accessRepositorio Escuela Colombiana de Ingeniería Julio Garavitorepositorio.eci@escuelaing.edu.coU0kgVVNURUQgSEFDRSBQQVJURSBERUwgR1JVUE8gREUgUEFSRVMgRVZBTFVBRE9SRVMgREUgTEEgQ09MRUNDScOTTiAiUEVFUiBSRVZJRVciLCBPTUlUQSBFU1RBIExJQ0VOQ0lBLgoKQXV0b3Jpem8gYSBsYSBFc2N1ZWxhIENvbG9tYmlhbmEgZGUgSW5nZW5pZXLDrWEgSnVsaW8gR2FyYXZpdG8gcGFyYSBwdWJsaWNhciBlbCB0cmFiYWpvIGRlIGdyYWRvLCBhcnTDrWN1bG8sIHZpZGVvLCAKY29uZmVyZW5jaWEsIGxpYnJvLCBpbWFnZW4sIGZvdG9ncmFmw61hLCBhdWRpbywgcHJlc2VudGFjacOzbiB1IG90cm8gKGVuICAgIGFkZWxhbnRlIGRvY3VtZW50bykgcXVlIGVuIGxhIGZlY2hhIAplbnRyZWdvIGVuIGZvcm1hdG8gZGlnaXRhbCwgeSBsZSBwZXJtaXRvIGRlIGZvcm1hIGluZGVmaW5pZGEgcXVlIGxvIHB1YmxpcXVlIGVuIGVsIHJlcG9zaXRvcmlvIGluc3RpdHVjaW9uYWwsIAplbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgbGEgTGV5IDQ0IGRlIDE5OTMsIHkgZGVtw6FzIGxleWVzIHkganVyaXNwcnVkZW5jaWEgdmlnZW50ZQphbCByZXNwZWN0bywgcGFyYSBmaW5lcyBlZHVjYXRpdm9zIHkgbm8gbHVjcmF0aXZvcy4gRXN0YSBhdXRvcml6YWNpw7NuIGVzIHbDoWxpZGEgcGFyYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlIAp1c28gc29icmUgbGEgb2JyYSBlbiBmb3JtYXRvIGRpZ2l0YWwsIGVsZWN0csOzbmljbywgdmlydHVhbDsgeSBwYXJhIHVzb3MgZW4gcmVkZXMsIGludGVybmV0LCBleHRyYW5ldCwgeSBjdWFscXVpZXIgCmZvcm1hdG8gbyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyLgpFbiBtaSBjYWxpZGFkIGRlIGF1dG9yLCBleHByZXNvIHF1ZSBlbCBkb2N1bWVudG8gb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwgeSBsbyBlbGFib3LDqSBzaW4gCnF1ZWJyYW50YXIgbmkgc3VwbGFudGFyIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvcy4gUG9yIGxvIHRhbnRvLCBlcyBkZSBtaSBleGNsdXNpdmEgYXV0b3LDrWEgeSwgZW4gY29uc2VjdWVuY2lhLCAKdGVuZ28gbGEgdGl0dWxhcmlkYWQgc29icmUgw6lsLiBFbiBjYXNvIGRlIHF1ZWphIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyByZWZlcmVudGUgYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgCmVsIGRvY3VtZW50byBlbiBjdWVzdGnDs24sIGFzdW1pcsOpIGxhIHJlc3BvbnNhYmlsaWRhZCB0b3RhbCB5IHNhbGRyw6kgZW4gZGVmZW5zYSBkZSBsb3MgZGVyZWNob3MgYXF1w60gYXV0b3JpemFkb3MuIEVzdG8gCnNpZ25pZmljYSBxdWUsIHBhcmEgdG9kb3MgbG9zIGVmZWN0b3MsIGxhIEVzY3VlbGEgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KVG9kYSBwZXJzb25hIHF1ZSBjb25zdWx0ZSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIEVzY3VlbGEsIGVsIENhdMOhbG9nbyBlbiBsw61uZWEgdSBvdHJvIG1lZGlvIGVsZWN0csOzbmljbywgCnBvZHLDoSBjb3BpYXIgYXBhcnRlcyBkZWwgdGV4dG8sIGNvbiBlbCBjb21wcm9taXNvIGRlIGNpdGFyIHNpZW1wcmUgbGEgZnVlbnRlLCBsYSBjdWFsIGluY2x1eWUgZWwgdMOtdHVsbyBkZWwgdHJhYmFqbyB5IGVsIAphdXRvci5Fc3RhIGF1dG9yaXphY2nDs24gbm8gaW1wbGljYSByZW51bmNpYSBhIGxhIGZhY3VsdGFkIHF1ZSB0ZW5nbyBkZSBwdWJsaWNhciB0b3RhbCBvIHBhcmNpYWxtZW50ZSBsYSBvYnJhIGVuIG90cm9zIAptZWRpb3MuRXN0YSBhdXRvcml6YWNpw7NuIGVzdMOhIHJlc3BhbGRhZGEgcG9yIGxhcyBmaXJtYXMgZGVsIChsb3MpIGF1dG9yKGVzKSBkZWwgZG9jdW1lbnRvLiAKU8OtIGF1dG9yaXpvIChhbWJvcykK |