Rewriting Logic Semantics of a Plan Execution Language
The Plan Execution Interchange Language (PLEXIL) is a synchronous language developed by NASA to support autonomous spacecraft operations. In this paper, we propose a rewriting logic semantics of PLEXIL in Maude, a high-performance logical engine. The rewriting logic semantics is by itself a formal i...
- Autores:
-
Dowek, Gilles
Muñoz, César
Rocha, Camilo
- Tipo de recurso:
- Article of journal
- Fecha de publicación:
- 2010
- Institución:
- Escuela Colombiana de Ingeniería Julio Garavito
- Repositorio:
- Repositorio Institucional ECI
- Idioma:
- eng
- OAI Identifier:
- oai:repositorio.escuelaing.edu.co:001/1902
- Acceso en línea:
- https://repositorio.escuelaing.edu.co/handle/001/1902
- Palabra clave:
- Lenguajes de programación
Lógica en Ciencias de la Computación
Programming Languages
Logic in Computer Science
- Rights
- openAccess
- License
- c G. Dowek & C. Munoz & C. Rocha
id |
ESCUELAIG2_7af1cbec076e61b56d8d66d8c6349d40 |
---|---|
oai_identifier_str |
oai:repositorio.escuelaing.edu.co:001/1902 |
network_acronym_str |
ESCUELAIG2 |
network_name_str |
Repositorio Institucional ECI |
repository_id_str |
|
dc.title.eng.fl_str_mv |
Rewriting Logic Semantics of a Plan Execution Language |
title |
Rewriting Logic Semantics of a Plan Execution Language |
spellingShingle |
Rewriting Logic Semantics of a Plan Execution Language Lenguajes de programación Lógica en Ciencias de la Computación Programming Languages Logic in Computer Science |
title_short |
Rewriting Logic Semantics of a Plan Execution Language |
title_full |
Rewriting Logic Semantics of a Plan Execution Language |
title_fullStr |
Rewriting Logic Semantics of a Plan Execution Language |
title_full_unstemmed |
Rewriting Logic Semantics of a Plan Execution Language |
title_sort |
Rewriting Logic Semantics of a Plan Execution Language |
dc.creator.fl_str_mv |
Dowek, Gilles Muñoz, César Rocha, Camilo |
dc.contributor.author.none.fl_str_mv |
Dowek, Gilles Muñoz, César Rocha, Camilo |
dc.contributor.researchgroup.spa.fl_str_mv |
Informática |
dc.subject.armarc.spa.fl_str_mv |
Lenguajes de programación Lógica en Ciencias de la Computación |
topic |
Lenguajes de programación Lógica en Ciencias de la Computación Programming Languages Logic in Computer Science |
dc.subject.proposal.eng.fl_str_mv |
Programming Languages Logic in Computer Science |
description |
The Plan Execution Interchange Language (PLEXIL) is a synchronous language developed by NASA to support autonomous spacecraft operations. In this paper, we propose a rewriting logic semantics of PLEXIL in Maude, a high-performance logical engine. The rewriting logic semantics is by itself a formal interpreter of the language and can be used as a semantic benchmark for the implementation of PLEXIL executives. The implementation in Maude has the additional benefit of making available to PLEXIL designers and developers all the formal analysis and verification tools provided by Maude. The formalization of the PLEXIL semantics in rewriting logic poses an interesting challenge due to the synchronous nature of the language and the prioritized rules defining its semantics. To overcome this difficulty, we propose a general procedure for simulating synchronous set relations in rewriting logic that is sound and, for deterministic relations, complete. We also report on two issues at the design level of the original PLEXIL semantics that were identified with the help of the executable specification in Maude. |
publishDate |
2010 |
dc.date.issued.none.fl_str_mv |
2010 |
dc.date.accessioned.none.fl_str_mv |
2021-12-03T20:54:01Z |
dc.date.available.none.fl_str_mv |
2021-12-03T20:54:01Z |
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_6501 |
dc.type.content.spa.fl_str_mv |
Text |
dc.type.driver.spa.fl_str_mv |
info:eu-repo/semantics/article |
dc.type.redcol.spa.fl_str_mv |
http://purl.org/redcol/resource_type/ART |
format |
http://purl.org/coar/resource_type/c_6501 |
status_str |
publishedVersion |
dc.identifier.uri.none.fl_str_mv |
https://repositorio.escuelaing.edu.co/handle/001/1902 |
url |
https://repositorio.escuelaing.edu.co/handle/001/1902 |
dc.language.iso.spa.fl_str_mv |
eng |
language |
eng |
dc.relation.citationendpage.spa.fl_str_mv |
91 |
dc.relation.citationstartpage.spa.fl_str_mv |
77 |
dc.relation.citationvolume.spa.fl_str_mv |
18 |
dc.relation.indexed.spa.fl_str_mv |
N/A |
dc.relation.ispartofjournal.eng.fl_str_mv |
Electronic Proceedings in Theoretical Computer Science |
dc.relation.references.spa.fl_str_mv |
M. AlTurki & J. Meseguer (2008): Reduction Semantics and Formal Analysis of Orc Programs. Electr. Notes Theor. Comput. Sci. 200(3), pp. 25–41. G. Berry (2000): The Foundations of Esterel. In: Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, Cambridge, MA, USA, pp. 425–454. R. Bruni & J. Meseguer (2006): Semantic foundations for generalized rewrite theories. Theor. Comput. Sci. 360(1-3), pp. 386–414. Available at http://dx.doi.org/10.1016/j.tcs.2006.04.012. P. Caspi, D. Pilaud, N. Halbwachs & J. A. Plaice (1987): LUSTRE: a declarative language for real-time programming. In: POPL ’87: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages. ACM, New York, NY, USA, pp. 178–188. M. Clavel, F. Duran, S. Eker, J. Meseguer, P. Lincoln, N. Mart ´ ´ı-Oliet & C. Talcott (2007): All About Maude - A High-Performance Logical Framework. Springer LNCS Vol. 4350, 1st edition. N. Dershowitz & J. P. Jouannaud (1990): Rewrite Systems. In: Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics (B). The MIT Press, pp. 243–320. G. Dowek, C. Munoz & C. P ˜ as˘ areanu (2007): ˘ A Formal Analysis Framework for PLEXIL. In: Proceedings of 3rd Workshop on Planning and Plan Execution for Real-World Systems. pp. 45–51. G. Dowek, C. Munoz & C. P ˜ as˘ areanu (2008): ˘ A Small-Step Semantics OF PLEXIL. Technical Report 2008- 11, National Institute of Aerospace, Hampton, VA. T. Estlin, A. Jonsson, C. P ´ as˘ areanu, R. Simmons, K. Tso & V. Verna (2006): ˘ Plan Execution Interchange Language (PLEXIL). Technical Memorandum TM-2006-213483, NASA. D. Lucanu (2009): Strategy-Based Rewrite Semantics for Membrane Systems Preserves Maximal Concurrency of Evolution Rule Actions. Electr. Notes Theor. Comput. Sci. 237, pp. 107–125. J. Meseguer (1992): Conditional Rewriting Logic as a Unified Model of Concurrency. Theoretical Computer Science 96(1), pp. 73–155. J. Meseguer & G. Rosu (2007): The rewriting logic semantics project. Theor. Comput. Sci. 373(3), pp. 213–237. Available at http://dx.doi.org/10.1016/j.tcs.2006.12.018. S. Owre, J. Rushby & N. Shankar (1992): PVS: A Prototype Verification System. In: Deepak Kapur, editor: 11th International Conference on Automated Deduction (CADE), Lecture Notes in Artificial Intelligence 607. Springer-Verlag, Saratoga, NY, pp. 748–752. G. D. Plotkin (2004): A structural approach to operational semantics. J. Log. Alg. Prog. 60-61, pp. 17–139. C. Rocha, C. Munoz & H. Cadavid (2009): ˜ A Graphical Environment for the Semantic Validation of a Plan Execution Language. IEEE International Conference on Space Mission Challenges for Information Technology 0, pp. 201–207. T. Serbanuta, G. Rosu & J. Meseguer (2009): A rewriting logic approach to operational semantics. Inf. Comput. 207(2), pp. 305–340. T. Serbanuta, G. Stefanescu & G. Rosu (2008): Defining and Executing P Systems with Structured Data in K. In: David W. Corne, Pierluigi Frisco, Gheorghe Paun, Grzegorz Rozenberg & Arto Salomaa, editors: Workshop on Membrane Computing, Lecture Notes in Computer Science 5391. Springer, pp. 374–393. O. Tardieu (2007): A deterministic logical semantics for pure Esterel. ACM Trans. Program. Lang. Syst. 29(2), p. 8. A. Verdejo & N. Mart´ı-Oliet (2006): Executable structural operational semantics in Maude. J. Log. Algebr. Program. 67(1-2), pp. 226–293. V. Verna, A. Jonsson, C. P ´ as˘ areanu & M. Latauro (2006): ˘ Universal Executive and PLEXIL: Engine and Language for Robust Spacecraft Control and Operations. In: Proceedings of the American Institute of Aeronautics and Astronautics Space Conference. P. Viry (2002): Equational rules for rewriting logic. Theoretical Computer Science 285, pp. 487–517. |
dc.rights.eng.fl_str_mv |
c G. Dowek & C. Munoz & C. Rocha |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
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/openAccess |
dc.rights.creativecommons.spa.fl_str_mv |
Atribución 4.0 Internacional (CC BY 4.0) |
rights_invalid_str_mv |
c G. Dowek & C. Munoz & C. Rocha https://creativecommons.org/licenses/by/4.0/ Atribución 4.0 Internacional (CC BY 4.0) http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.extent.spa.fl_str_mv |
15 páginas. |
dc.format.mimetype.spa.fl_str_mv |
application/pdf |
dc.publisher.place.spa.fl_str_mv |
E.E.U.U. |
dc.source.spa.fl_str_mv |
https://arxiv.org/abs/1002.2872 |
institution |
Escuela Colombiana de Ingeniería Julio Garavito |
bitstream.url.fl_str_mv |
https://repositorio.escuelaing.edu.co/bitstream/001/1902/1/Rewriting%20Logic%20Semantics%20of%20a%20Plan%20Execution%20Language%20%e2%88%97.pdf https://repositorio.escuelaing.edu.co/bitstream/001/1902/2/license.txt https://repositorio.escuelaing.edu.co/bitstream/001/1902/3/Rewriting%20Logic%20Semantics%20of%20a%20Plan%20Execution%20Language%20%e2%88%97.pdf.txt https://repositorio.escuelaing.edu.co/bitstream/001/1902/4/Rewriting%20Logic%20Semantics%20of%20a%20Plan%20Execution%20Language%20%e2%88%97.pdf.jpg |
bitstream.checksum.fl_str_mv |
1aba4849620e8fcbd3fb62317db1f1e3 5a7ca94c2e5326ee169f979d71d0f06e 15295e7166e734afe54099909e38e082 3412ec2f31765c3720865f24b81837cb |
bitstream.checksumAlgorithm.fl_str_mv |
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_ |
1814355610006716416 |
spelling |
Dowek, Gilles76d5ba62f6773dccda4db68e64e2b416600Muñoz, César70953c4ce36fbd95e2df915d4688e3b1600Rocha, Camiloebfd407af468605647a49186059da397600Informática2021-12-03T20:54:01Z2021-12-03T20:54:01Z2010https://repositorio.escuelaing.edu.co/handle/001/1902The Plan Execution Interchange Language (PLEXIL) is a synchronous language developed by NASA to support autonomous spacecraft operations. In this paper, we propose a rewriting logic semantics of PLEXIL in Maude, a high-performance logical engine. The rewriting logic semantics is by itself a formal interpreter of the language and can be used as a semantic benchmark for the implementation of PLEXIL executives. The implementation in Maude has the additional benefit of making available to PLEXIL designers and developers all the formal analysis and verification tools provided by Maude. The formalization of the PLEXIL semantics in rewriting logic poses an interesting challenge due to the synchronous nature of the language and the prioritized rules defining its semantics. To overcome this difficulty, we propose a general procedure for simulating synchronous set relations in rewriting logic that is sound and, for deterministic relations, complete. We also report on two issues at the design level of the original PLEXIL semantics that were identified with the help of the executable specification in Maude.El lenguaje de intercambio de ejecución de planes (PLEXIL) es un lenguaje sincrónico desarrollado por la NASA para respaldar las operaciones de naves espaciales autónomas. En este artículo, proponemos una reescritura de la semántica lógica de PLEXIL en Maude, un motor lógico de alto rendimiento. La semántica de reescritura lógica es por sí misma un intérprete formal del lenguaje y puede ser utilizada como referencia semántica para la implementación de ejecutivos de PLEXIL. La implementación en Maude tiene el beneficio adicional de poner a disposición de los diseñadores y desarrolladores de PLEXIL todas las herramientas formales de análisis y verificación proporcionadas por Maude. La formalización de la semántica de PLEXIL en la reescritura lógica plantea un interesante desafío debido a la naturaleza sincrónica del lenguaje y las reglas priorizadas que definen su semántica. Para superar esta dificultad, proponemos un procedimiento general para simular relaciones de conjuntos síncronos en la reescritura de la lógica que es sólida y, para las relaciones deterministas, completa. También informamos sobre dos problemas a nivel de diseño de la semántica PLEXIL original que se identificaron con la ayuda de la especificación ejecutable en Maude.15 páginas.application/pdfengc G. Dowek & C. Munoz & C. Rochahttps://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccessAtribución 4.0 Internacional (CC BY 4.0)http://purl.org/coar/access_right/c_abf2https://arxiv.org/abs/1002.2872Rewriting Logic Semantics of a Plan Execution LanguageArtículo de revistainfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501http://purl.org/coar/resource_type/c_2df8fbb1Textinfo:eu-repo/semantics/articlehttp://purl.org/redcol/resource_type/ARThttp://purl.org/coar/version/c_970fb48d4fbd8a85E.E.U.U.917718N/AElectronic Proceedings in Theoretical Computer ScienceM. AlTurki & J. Meseguer (2008): Reduction Semantics and Formal Analysis of Orc Programs. Electr. Notes Theor. Comput. Sci. 200(3), pp. 25–41.G. Berry (2000): The Foundations of Esterel. In: Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, Cambridge, MA, USA, pp. 425–454.R. Bruni & J. Meseguer (2006): Semantic foundations for generalized rewrite theories. Theor. Comput. Sci. 360(1-3), pp. 386–414. Available at http://dx.doi.org/10.1016/j.tcs.2006.04.012.P. Caspi, D. Pilaud, N. Halbwachs & J. A. Plaice (1987): LUSTRE: a declarative language for real-time programming. In: POPL ’87: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages. ACM, New York, NY, USA, pp. 178–188.M. Clavel, F. Duran, S. Eker, J. Meseguer, P. Lincoln, N. Mart ´ ´ı-Oliet & C. Talcott (2007): All About Maude - A High-Performance Logical Framework. Springer LNCS Vol. 4350, 1st edition.N. Dershowitz & J. P. Jouannaud (1990): Rewrite Systems. In: Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics (B). The MIT Press, pp. 243–320.G. Dowek, C. Munoz & C. P ˜ as˘ areanu (2007): ˘ A Formal Analysis Framework for PLEXIL. In: Proceedings of 3rd Workshop on Planning and Plan Execution for Real-World Systems. pp. 45–51.G. Dowek, C. Munoz & C. P ˜ as˘ areanu (2008): ˘ A Small-Step Semantics OF PLEXIL. Technical Report 2008- 11, National Institute of Aerospace, Hampton, VA.T. Estlin, A. Jonsson, C. P ´ as˘ areanu, R. Simmons, K. Tso & V. Verna (2006): ˘ Plan Execution Interchange Language (PLEXIL). Technical Memorandum TM-2006-213483, NASA.D. Lucanu (2009): Strategy-Based Rewrite Semantics for Membrane Systems Preserves Maximal Concurrency of Evolution Rule Actions. Electr. Notes Theor. Comput. Sci. 237, pp. 107–125.J. Meseguer (1992): Conditional Rewriting Logic as a Unified Model of Concurrency. Theoretical Computer Science 96(1), pp. 73–155.J. Meseguer & G. Rosu (2007): The rewriting logic semantics project. Theor. Comput. Sci. 373(3), pp. 213–237. Available at http://dx.doi.org/10.1016/j.tcs.2006.12.018.S. Owre, J. Rushby & N. Shankar (1992): PVS: A Prototype Verification System. In: Deepak Kapur, editor: 11th International Conference on Automated Deduction (CADE), Lecture Notes in Artificial Intelligence 607. Springer-Verlag, Saratoga, NY, pp. 748–752.G. D. Plotkin (2004): A structural approach to operational semantics. J. Log. Alg. Prog. 60-61, pp. 17–139.C. Rocha, C. Munoz & H. Cadavid (2009): ˜ A Graphical Environment for the Semantic Validation of a Plan Execution Language. IEEE International Conference on Space Mission Challenges for Information Technology 0, pp. 201–207.T. Serbanuta, G. Rosu & J. Meseguer (2009): A rewriting logic approach to operational semantics. Inf. Comput. 207(2), pp. 305–340.T. Serbanuta, G. Stefanescu & G. Rosu (2008): Defining and Executing P Systems with Structured Data in K. In: David W. Corne, Pierluigi Frisco, Gheorghe Paun, Grzegorz Rozenberg & Arto Salomaa, editors: Workshop on Membrane Computing, Lecture Notes in Computer Science 5391. Springer, pp. 374–393.O. Tardieu (2007): A deterministic logical semantics for pure Esterel. ACM Trans. Program. Lang. Syst. 29(2), p. 8.A. Verdejo & N. Mart´ı-Oliet (2006): Executable structural operational semantics in Maude. J. Log. Algebr. Program. 67(1-2), pp. 226–293.V. Verna, A. Jonsson, C. P ´ as˘ areanu & M. Latauro (2006): ˘ Universal Executive and PLEXIL: Engine and Language for Robust Spacecraft Control and Operations. In: Proceedings of the American Institute of Aeronautics and Astronautics Space Conference.P. Viry (2002): Equational rules for rewriting logic. Theoretical Computer Science 285, pp. 487–517.Lenguajes de programaciónLógica en Ciencias de la ComputaciónProgramming LanguagesLogic in Computer ScienceORIGINALRewriting Logic Semantics of a Plan Execution Language ∗.pdfRewriting Logic Semantics of a Plan Execution Language ∗.pdfArtículo principal.application/pdf280691https://repositorio.escuelaing.edu.co/bitstream/001/1902/1/Rewriting%20Logic%20Semantics%20of%20a%20Plan%20Execution%20Language%20%e2%88%97.pdf1aba4849620e8fcbd3fb62317db1f1e3MD51metadata only accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81881https://repositorio.escuelaing.edu.co/bitstream/001/1902/2/license.txt5a7ca94c2e5326ee169f979d71d0f06eMD52open accessTEXTRewriting Logic Semantics of a Plan Execution Language ∗.pdf.txtRewriting Logic Semantics of a Plan Execution Language ∗.pdf.txtExtracted texttext/plain52711https://repositorio.escuelaing.edu.co/bitstream/001/1902/3/Rewriting%20Logic%20Semantics%20of%20a%20Plan%20Execution%20Language%20%e2%88%97.pdf.txt15295e7166e734afe54099909e38e082MD53open accessTHUMBNAILRewriting Logic Semantics of a Plan Execution Language ∗.pdf.jpgRewriting Logic Semantics of a Plan Execution Language ∗.pdf.jpgGenerated Thumbnailimage/jpeg13384https://repositorio.escuelaing.edu.co/bitstream/001/1902/4/Rewriting%20Logic%20Semantics%20of%20a%20Plan%20Execution%20Language%20%e2%88%97.pdf.jpg3412ec2f31765c3720865f24b81837cbMD54open access001/1902oai:repositorio.escuelaing.edu.co:001/19022022-07-01 14:58:08.879metadata only accessRepositorio Escuela Colombiana de Ingeniería Julio Garavitorepositorio.eci@escuelaing.edu.coU0kgVVNURUQgSEFDRSBQQVJURSBERUwgR1JVUE8gREUgUEFSRVMgRVZBTFVBRE9SRVMgREUgTEEgQ09MRUNDScOTTiAiUEVFUiBSRVZJRVciLCBPTUlUQSBFU1RBIExJQ0VOQ0lBLgoKQXV0b3Jpem8gYSBsYSBFc2N1ZWxhIENvbG9tYmlhbmEgZGUgSW5nZW5pZXLDrWEgSnVsaW8gR2FyYXZpdG8gcGFyYSBwdWJsaWNhciBlbCB0cmFiYWpvIGRlIGdyYWRvLCBhcnTDrWN1bG8sIHZpZGVvLCAKY29uZmVyZW5jaWEsIGxpYnJvLCBpbWFnZW4sIGZvdG9ncmFmw61hLCBhdWRpbywgcHJlc2VudGFjacOzbiB1IG90cm8gKGVuICAgIGFkZWxhbnRlIGRvY3VtZW50bykgcXVlIGVuIGxhIGZlY2hhIAplbnRyZWdvIGVuIGZvcm1hdG8gZGlnaXRhbCwgeSBsZSBwZXJtaXRvIGRlIGZvcm1hIGluZGVmaW5pZGEgcXVlIGxvIHB1YmxpcXVlIGVuIGVsIHJlcG9zaXRvcmlvIGluc3RpdHVjaW9uYWwsIAplbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgbGEgTGV5IDQ0IGRlIDE5OTMsIHkgZGVtw6FzIGxleWVzIHkganVyaXNwcnVkZW5jaWEgdmlnZW50ZQphbCByZXNwZWN0bywgcGFyYSBmaW5lcyBlZHVjYXRpdm9zIHkgbm8gbHVjcmF0aXZvcy4gRXN0YSBhdXRvcml6YWNpw7NuIGVzIHbDoWxpZGEgcGFyYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlIAp1c28gc29icmUgbGEgb2JyYSBlbiBmb3JtYXRvIGRpZ2l0YWwsIGVsZWN0csOzbmljbywgdmlydHVhbDsgeSBwYXJhIHVzb3MgZW4gcmVkZXMsIGludGVybmV0LCBleHRyYW5ldCwgeSBjdWFscXVpZXIgCmZvcm1hdG8gbyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyLgpFbiBtaSBjYWxpZGFkIGRlIGF1dG9yLCBleHByZXNvIHF1ZSBlbCBkb2N1bWVudG8gb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwgeSBsbyBlbGFib3LDqSBzaW4gCnF1ZWJyYW50YXIgbmkgc3VwbGFudGFyIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvcy4gUG9yIGxvIHRhbnRvLCBlcyBkZSBtaSBleGNsdXNpdmEgYXV0b3LDrWEgeSwgZW4gY29uc2VjdWVuY2lhLCAKdGVuZ28gbGEgdGl0dWxhcmlkYWQgc29icmUgw6lsLiBFbiBjYXNvIGRlIHF1ZWphIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyByZWZlcmVudGUgYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgCmVsIGRvY3VtZW50byBlbiBjdWVzdGnDs24sIGFzdW1pcsOpIGxhIHJlc3BvbnNhYmlsaWRhZCB0b3RhbCB5IHNhbGRyw6kgZW4gZGVmZW5zYSBkZSBsb3MgZGVyZWNob3MgYXF1w60gYXV0b3JpemFkb3MuIEVzdG8gCnNpZ25pZmljYSBxdWUsIHBhcmEgdG9kb3MgbG9zIGVmZWN0b3MsIGxhIEVzY3VlbGEgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KVG9kYSBwZXJzb25hIHF1ZSBjb25zdWx0ZSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIEVzY3VlbGEsIGVsIENhdMOhbG9nbyBlbiBsw61uZWEgdSBvdHJvIG1lZGlvIGVsZWN0csOzbmljbywgCnBvZHLDoSBjb3BpYXIgYXBhcnRlcyBkZWwgdGV4dG8sIGNvbiBlbCBjb21wcm9taXNvIGRlIGNpdGFyIHNpZW1wcmUgbGEgZnVlbnRlLCBsYSBjdWFsIGluY2x1eWUgZWwgdMOtdHVsbyBkZWwgdHJhYmFqbyB5IGVsIAphdXRvci5Fc3RhIGF1dG9yaXphY2nDs24gbm8gaW1wbGljYSByZW51bmNpYSBhIGxhIGZhY3VsdGFkIHF1ZSB0ZW5nbyBkZSBwdWJsaWNhciB0b3RhbCBvIHBhcmNpYWxtZW50ZSBsYSBvYnJhIGVuIG90cm9zIAptZWRpb3MuRXN0YSBhdXRvcml6YWNpw7NuIGVzdMOhIHJlc3BhbGRhZGEgcG9yIGxhcyBmaXJtYXMgZGVsIChsb3MpIGF1dG9yKGVzKSBkZWwgZG9jdW1lbnRvLiAKU8OtIGF1dG9yaXpvIChhbWJvcykK |