Trabajar con proyectos de RStudio no solo hace tus análisis más ordenados y reproducibles, también hacen tu vida más simple.

Al comienzo posiblemente tengan un script y uno o dos archivos con datos, pero es posible que rápidamente te encuentres con una docena de archivos con nombres parecidos pero que pertenecen a análisis totalmente distintos. Antes de que la cosa comience a complicarse te proponemos trabajar con proyectos.

¿Qué ventajas tiene?

Primer desafío: Crea un nuevo proyecto en RStudio

  1. Hacé click en el menú “Archivo” (“File”) y luego en “Nuevo Proyecto” (“New Project”).
  2. Hacé click en “Nueva Carpeta” (“New Directory”).
  3. Hacé click en “Nuevo Proyecto” (“New Project”).
  4. Escribí el nombre de la carpeta que alojará a tu proyecto, por ejemplo “mi_proyecto”
  5. Si aparece (y sabés usarlo), seleccioná “Crear un repositorio de git” (“Create a git repository”).
  6. Hacé click en “Crear Proyecto” (“Create Project”).

Si todo salió bien, ahora deberías tener una nueva carpeta que se llama mi_proyecto. Pero si bien es una carpeta común y corriente, le llamamos proyecto porque además contiene un archivo con el mismo nombre mi_proyecto.Rproj (o solo mi_proyecto si en tu computadora no ves la extensión de los archivos).

Abrir un proyecto

La manera más simple de abrir un proyecto es abriendo la carpeta que lo contiene y haciendo doble click sobre el archivo mi_proyecto.Rproj. Al hacer esto se abrirá RStudio y la sesión de R en la misma carpeta y, por defecto, cualquier archivo que quieras abrir o guardar lo hará en esa misma ubicación. Esto ayuda a mantener tu trabajo ordenado y que luego sea simple retomar o compartir lo que hiciste.

RStudio permite tener varios proyectos abiertos, y esto es posible porque justamente cada proyecto tiene su propia carpeta. Si en algún momento trabajas con proyectos en paralelo vas a poder hacerlo sin que el código o los resultados de un análisis interfieran con otro.

Segundo desafío: Abrí tu nuevo proyecto desde el explorador de archivos

  1. Cerrá RStudio
  2. Desde el explorador de archivos, buscá la carpeta donde creaste tu proyecto.
  3. Hacé doble click en el archivo que tiene el nombre de tu proyecto (y que termina con .Rproj) que encontrarás en esa carpeta.

¿Cómo se organiza?

No existe una “mejor” forma de organizar un proyecto pero acá van algunos principios generales que nos hacen la vida más simple::

Borrón y cuenta nueva… todos los días!

¿Cómo nos aseguramos de que el análisis sea realmente reproducible? Esta es una pregunta bastante amplia y hay muchas herramientas para resolver este problema. Por ahora nos vamos a concentrar en que al menos en tu computadora puedas repetir los cálculos o el análisis desde cero. Y además de organizar proyectos y no modificar los datos originales, ¿cómo podés asegurarte de que guardaste todo el código que estuviste escribiendo y usaste? La manera más directa es reiniciar la sesión de R y correr el código de nuevo, si da error o no devuelve lo que esperabas significa que te faltó guardar algún paso.

Tip: Podés reiniciar la sesión de R con el atajo Ctrl+Shif+F10

Esto puede pasar si por ejemplo leemos una base de datos en memoria pero no guardamos el código que lo hace. Mientras estemos trabajando, R tendrá esa base de datos en memoria y podremos hacer cálculos y gráficos. Por defecto además RStudio va a recordar las variables que estés usando mañana o pasado en un archivo oculto (.RData) a menos que le indiques lo contrario. Y si bien suena práctico volver a R al otro día y tener el análisis tal cual lo dejamos, esto puede significar que nunca nos demos cuenta que nos faltó guardar una línea de código clave en nuestro análisis.

Tercer desafío: Configurá RStudio

  1. Hacé click en el menú “Herramientas (“Tools”) y luego “Opciones globales” (“Global Options”).
  2. Destildá la opción “Recuperar .RData al inicio de la sesión” (“Restore .RData into workspace at startup”).
  3. Hacé click en “Aplicar” (“Apply”).
LS0tCnRpdGxlOiAiVHJhYmFqYXIgY29uIHByb3llY3RvcyBlbiBSU3R1ZGlvIgpvdXRwdXQ6IAogIGh0bWxfZG9jdW1lbnQ6CiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDogZmFsc2UKICAgIGhpZ2hsaWdodDogdGFuZ28gICAKLS0tCgoKVHJhYmFqYXIgY29uIHByb3llY3RvcyBkZSBSU3R1ZGlvIG5vIHNvbG8gaGFjZSB0dXMgYW7DoWxpc2lzIG3DoXMgb3JkZW5hZG9zIHkgcmVwcm9kdWNpYmxlcywgdGFtYmnDqW4gaGFjZW4gdHUgdmlkYSBtw6FzIHNpbXBsZS4gCgpBbCBjb21pZW56byBwb3NpYmxlbWVudGUgdGVuZ2FuIHVuIHNjcmlwdCB5IHVubyBvIGRvcyBhcmNoaXZvcyBjb24gZGF0b3MsIHBlcm8gZXMgcG9zaWJsZSBxdWUgcsOhcGlkYW1lbnRlIHRlIGVuY3VlbnRyZXMgY29uIHVuYSBkb2NlbmEgZGUgYXJjaGl2b3MgY29uIG5vbWJyZXMgcGFyZWNpZG9zIHBlcm8gcXVlIHBlcnRlbmVjZW4gYSBhbsOhbGlzaXMgdG90YWxtZW50ZSBkaXN0aW50b3MuIEFudGVzIGRlIHF1ZSBsYSBjb3NhIGNvbWllbmNlIGEgY29tcGxpY2Fyc2UgdGUgcHJvcG9uZW1vcyB0cmFiYWphciBjb24gcHJveWVjdG9zLiAgCgojIyMgwr9RdcOpIHZlbnRhamFzIHRpZW5lPwoKLSBUZSBwZXJtaXRlIOKAnWN1aWRhcuKAnSBsb3MgZGF0b3MgcXVlIHVzYXMgYWwgb3JkZW5hcm5vcyBlbiBjYXJwZXRhcyBxdWUgZGlmZXJlbmNpZW4gZW50cmUgbGEgdmVyc2nDs24gb3JpZ2luYWwgbyBjcnVkYSB5IGxvcyBkYXRvcyBsaW1waW9zIG8gbG9zIHJlc3VsdGFkb3MgZmluYWxlcy4gCi0gVGUgcGVybWl0ZSBjb21wYXJ0aXIgdHUgdHJhYmFqbyBmw6FjaWxtZW50ZSBjb24gb3RyYXMgcGVyc29uYXMuIFNvbG8gdGVuZHLDrWFzIHF1ZSBjb21wYXJ0aXIgbGEgY2FycGV0YSBkZWwgcHJveWVjdG8gc2FiaWVuZG8gcXVlIGluY2x1eWUgdG9kbyBsbyBuZWNlc2FyaW8gcGFyYSBxdWUgY3VhbHF1aWVyIHBlcnNvbmEgcmVwcm9kdXpjYSB0dSBhbsOhbGlzaXMuCi0gVGUgcGVybWl0ZSBwdWJsaWNhciBkZSBtYW5lcmEgb3JkZW5hZGEgdHUgY8OzZGlnbyBzaSB2YXMgYSBwcmVzZW50YXIgbyBwdWJsaWNhciB0dSB0cmFiYWpvLgotIFRlIHBlcm1pdGUgY29udGludWFyIGNvbiBsbyBxdWUgZXN0YWJhcyBoYWNpZW5kbyBoYWNlIHVuYSBzZW1hbmEgbyBoYWNlIHVuIG1lcyBjb21vIHNpIGVsIHRpZW1wbyBubyBodWJpZXJhIHBhc2Fkby4gRGUgYWxndW5hIG1hbmVyYSBlcyB1biByZWdhbG8gcGFyYSB0dSB5byBmdXR1cm8uCgo6Ojogey5hbGVydCAuYWxlcnQtaW5mb30KKipQcmltZXIgZGVzYWbDrW86IENyZWEgdW4gbnVldm8gcHJveWVjdG8gZW4gUlN0dWRpbyoqCgoxLiBIYWPDqSBjbGljayBlbiBlbCBtZW7DuiDigJxBcmNoaXZv4oCdICjigJxGaWxl4oCdKSB5IGx1ZWdvIGVuIOKAnE51ZXZvIFByb3llY3Rv4oCdICjigJxOZXcgUHJvamVjdOKAnSkuCjIuIEhhY8OpIGNsaWNrIGVuIOKAnE51ZXZhIENhcnBldGHigJ0gKOKAnE5ldyBEaXJlY3RvcnnigJ0pLgozLiBIYWPDqSBjbGljayBlbiDigJxOdWV2byBQcm95ZWN0b+KAnSAo4oCcTmV3IFByb2plY3TigJ0pLgo0LiBFc2NyaWLDrSBlbCBub21icmUgZGUgbGEgY2FycGV0YSBxdWUgYWxvamFyw6EgYSB0dSBwcm95ZWN0bywgcG9yIGVqZW1wbG8g4oCcbWlfcHJveWVjdG/igJ0KNS4gU2kgYXBhcmVjZSAoeSBzYWLDqXMgdXNhcmxvKSwgc2VsZWNjaW9uw6Eg4oCcQ3JlYXIgdW4gcmVwb3NpdG9yaW8gZGUgZ2l04oCdICjigJxDcmVhdGUgYSBnaXQgcmVwb3NpdG9yeeKAnSkuCjYuIEhhY8OpIGNsaWNrIGVuIOKAnENyZWFyIFByb3llY3Rv4oCdICjigJxDcmVhdGUgUHJvamVjdOKAnSkuCjo6OgoKU2kgdG9kbyBzYWxpw7MgYmllbiwgYWhvcmEgZGViZXLDrWFzIHRlbmVyIHVuYSBudWV2YSBjYXJwZXRhIHF1ZSBzZSBsbGFtYSAqbWlfcHJveWVjdG8qLiBQZXJvIHNpIGJpZW4gZXMgdW5hIGNhcnBldGEgY29tw7puIHkgY29ycmllbnRlLCBsZSBsbGFtYW1vcyBwcm95ZWN0byBwb3JxdWUgYWRlbcOhcyBjb250aWVuZSB1biBhcmNoaXZvIGNvbiBlbCBtaXNtbyBub21icmUgKm1pX3Byb3llY3RvLlJwcm9qKiAobyBzb2xvICptaV9wcm95ZWN0byogc2kgZW4gdHUgY29tcHV0YWRvcmEgbm8gdmVzIGxhIGV4dGVuc2nDs24gZGUgbG9zIGFyY2hpdm9zKS4gCgojIyMgQWJyaXIgdW4gcHJveWVjdG8KCkxhIG1hbmVyYSBtw6FzIHNpbXBsZSBkZSBhYnJpciB1biBwcm95ZWN0byBlcyBhYnJpZW5kbyBsYSBjYXJwZXRhIHF1ZSBsbyBjb250aWVuZSB5IGhhY2llbmRvIGRvYmxlIGNsaWNrIHNvYnJlIGVsIGFyY2hpdm8gKm1pX3Byb3llY3RvLlJwcm9qKi4gQWwgaGFjZXIgZXN0byBzZSBhYnJpcsOhIFJTdHVkaW8geSBsYSBzZXNpw7NuIGRlIFIgZW4gbGEgbWlzbWEgY2FycGV0YSB5LCBwb3IgZGVmZWN0bywgY3VhbHF1aWVyIGFyY2hpdm8gcXVlIHF1aWVyYXMgYWJyaXIgbyBndWFyZGFyIGxvIGhhcsOhIGVuIGVzYSBtaXNtYSB1YmljYWNpw7NuLiBFc3RvIGF5dWRhIGEgbWFudGVuZXIgdHUgdHJhYmFqbyBvcmRlbmFkbyB5IHF1ZSBsdWVnbyBzZWEgc2ltcGxlIHJldG9tYXIgbyBjb21wYXJ0aXIgbG8gcXVlIGhpY2lzdGUuIAoKUlN0dWRpbyBwZXJtaXRlIHRlbmVyIHZhcmlvcyBwcm95ZWN0b3MgYWJpZXJ0b3MsIHkgZXN0byBlcyBwb3NpYmxlIHBvcnF1ZSBqdXN0YW1lbnRlIGNhZGEgcHJveWVjdG8gdGllbmUgc3UgcHJvcGlhIGNhcnBldGEuIFNpIGVuIGFsZ8O6biBtb21lbnRvIHRyYWJhamFzIGNvbiBwcm95ZWN0b3MgZW4gcGFyYWxlbG8gdmFzIGEgcG9kZXIgaGFjZXJsbyBzaW4gcXVlIGVsIGPDs2RpZ28gbyBsb3MgcmVzdWx0YWRvcyBkZSB1biBhbsOhbGlzaXMgaW50ZXJmaWVyYW4gY29uIG90cm8uCgo6Ojogey5hbGVydCAuYWxlcnQtaW5mb30KKipTZWd1bmRvIGRlc2Fmw61vOiBBYnLDrSB0dSBudWV2byBwcm95ZWN0byBkZXNkZSBlbCBleHBsb3JhZG9yIGRlIGFyY2hpdm9zKioKCjEuIENlcnLDoSBSU3R1ZGlvCjIuIERlc2RlIGVsIGV4cGxvcmFkb3IgZGUgYXJjaGl2b3MsIGJ1c2PDoSBsYSBjYXJwZXRhIGRvbmRlIGNyZWFzdGUgdHUgcHJveWVjdG8uCjMuIEhhY8OpIGRvYmxlIGNsaWNrIGVuIGVsIGFyY2hpdm8gcXVlIHRpZW5lIGVsIG5vbWJyZSBkZSB0dSBwcm95ZWN0byAoeSBxdWUgdGVybWluYSBjb24gKi5ScHJvaiopIHF1ZSBlbmNvbnRyYXLDoXMgZW4gZXNhIGNhcnBldGEuCjo6OgoKIyMjIMK/Q8OzbW8gc2Ugb3JnYW5pemE/CgpObyBleGlzdGUgdW5hICJtZWpvciIgZm9ybWEgZGUgb3JnYW5pemFyIHVuIHByb3llY3RvIHBlcm8gYWPDoSB2YW4gYWxndW5vcyBwcmluY2lwaW9zIGdlbmVyYWxlcyBxdWUgbm9zIGhhY2VuIGxhIHZpZGEgbcOhcyBzaW1wbGU6OgoKKiAqKlRyYXRhciBsb3MgZGF0b3MgY29tbyBzw7NsbyBkZSBsZWN0dXJhKioKRXMgcG9zaWJsZSBxdWUgbGEgdG9tYSBkZSBsb3MgZGF0b3MgcXVlIHF1ZXLDqXMgYW5hbGl6YXIgdGUgaGF5YSBjb3N0YWRvIG11Y2hvIHRyYWJham8sIG8gdGUgaGF5YSBjb3N0YWRvIGNvbnNlZ3Vpcmxvcy4gVHJhYmFqYXIgY29uIGRhdG9zIGRlIGZvcm1hIGludGVyYWN0aXZhIChwb3IgZWplbXBsbywgZW4gRXhjZWwpIHRpZW5lIGxhIHZlbnRhamEgZGUgcGVybWl0aXJ0ZSBoYWNlciBhbGd1bm9zIGFuw6FsaXNpcyByw6FwaWRhbWVudGUgcGVybyBhbCBtaXNtbyB0aWVtcG8gdGllbmUgbGEgZGVzdmVudGFqYSBkZSBxdWUgZXNvcyBkYXRvcyBwdWVkZW4gc2VyIG1vZGlmaWNhZG9zIGbDoWNpbG1lbnRlLiBFc3RvIHNpZ25pZmljYSBxdWUgYSB2ZWNlcyBubyBjb25vemNhcyBkZSBsYSBwcm9jZWRlbmNpYSBkZSBsb3MgZGF0b3MsIG8gbm8gcmVjdWVyZGVzIGNvbW8gbG9zIG1vZGlmaWNhc3RlIGRlc2RlIHF1ZSBsb3Mgb2J0dXZpc3RlLiBQb3IgbG8gdGFudG8sIGVzIHVuYSBidWVuYSBpZGVhIHRyYXRhciBsb3MgZGF0b3MgY29tbyAic8OzbG8gZGUgbGVjdHVyYSIgeSBudW5jYSBtb2RpZmljYXIgbG9zIGFyY2hpdm9zIG9yaWdpbmFsZXMuCiogKipMaW1waWV6YSBkZSBkYXRvcyoqCkVuIG11Y2hvcyBjYXNvcyB0dXMgZGF0b3MgZXN0YXLDoW4gInN1Y2lvcyIsIG5lY2VzaXRhcsOhbiB1biBwcmVwcm9jZXNhbWllbnRvIGltcG9ydGFudGUgcGFyYSBvcmdhbml6YXJsb3MgZW4gdW4gZm9ybWF0byBxdWUgIFIgKG8gY3VhbHF1aWVyIG90cm8gbGVuZ3VhamUgZGUgcHJvZ3JhbWFjacOzbikgcHVlZGEgYW5hbGl6YWRvcyBmw6FjaWxtZW50ZS4gRXN0YSB0YXJlYSBzZSBkZW5vbWluYSBhIHZlY2VzICJhbWFzYWRvIiBvICJtYXN0aWNhZG8gZGUgZGF0b3MiLiBFcyB1bmEgYnVlbmEgY29zdHVtYnJlIGd1YXJkYXIgZWwgY8OzZGlnbyBxdWUgdGUgcGVybWl0acOzIGxpbXBpYXIgZXN0b3MgZGF0b3MgcG9yIHNpIGxvcyB2b2x2aWVyYXMgYSBuZWNlc2l0YXIuIFRhbWJpw6luIGVzIHJlY29tZW5kYWJsZSBndWFyZGFyIGVzYSB2ZXJzacOzbiBkZSBsb3MgZGF0b3MgbGltcGlvcywgZGUgInPDs2xvIGxlY3R1cmEiLCBwYXJhIHF1ZSBwdWVkYXMgdXNhcmxvcyBlbiB0dSBhbsOhbGlzaXMgc2luIG5lY2VzaWRhZCBkZSByZXBldGlyIGNhZGEgdmV6IHRvZG8gZWwgcHJvY2VzbyBkZSBsaW1waWV6YSBkZSBsb3MgZGF0b3MuCiogKipUcmF0YXIgbGFzIHNhbGlkYXMgbyByZXN1bHRhZG9zIGdlbmVyYWRvcyBjb21vIGRlc2NhcnRhYmxlcyoqCkN1YWxxdWllciByZXN1bHRhZG8gKGdyw6FmaWNvcywgdGFibGFzLCB2YWxvcmVzKSBkZWJlIHBvZGVyIHJlcGV0aXJzZSBvIHJlaGFjZXJzZSBhIHBhcnRpciBkZWwgY8OzZGlnbyBndWFyZGFkby4gU2kgYmllbiBsYXMgcHJ1ZWJhcyByw6FwaWRhcyBwYXJhICp2ZXIgc2kgZWwgY8OzZGlnbyBmdW5jaW9uYSogc2UgcHVlZGVuIGhhY2VyIGVuIGxhIGNvbnNvbGEsIGVzIGltcG9ydGFudGUgZ3VhcmRhciBlbCBjw7NkaWdvIHF1ZSBnZW5lcmEgbG9zIHJlc3VsdGFkb3MgeSBhc2VndXJhcm5vcyBkZSBxdWUgc2VhbiByZXByb2R1Y2libGVzLiBBw7puIG1lam9yLCBzaSBvcmdhbml6YXMgZXNvcyByZXN1bHRhZG9zIGVuIGRpc3RpbnRhcyBzdWItY2FycGV0YXMsIGx1ZWdvIHRlbmRyw6FzIHRvZG8gYcO6biBtw6FzIG9yZGVuYWRvLgoKIyMjIEJvcnLDs24geSBjdWVudGEgbnVldmEuLi4gdG9kb3MgbG9zIGTDrWFzIQoKwr9Dw7NtbyBub3MgYXNlZ3VyYW1vcyBkZSBxdWUgZWwgYW7DoWxpc2lzIHNlYSByZWFsbWVudGUgcmVwcm9kdWNpYmxlPyBFc3RhIGVzIHVuYSBwcmVndW50YSBiYXN0YW50ZSBhbXBsaWEgeSBoYXkgbXVjaGFzIGhlcnJhbWllbnRhcyBwYXJhIHJlc29sdmVyIGVzdGUgcHJvYmxlbWEuIFBvciBhaG9yYSBub3MgdmFtb3MgYSBjb25jZW50cmFyIGVuIHF1ZSBhbCBtZW5vcyBlbiB0dSBjb21wdXRhZG9yYSBwdWVkYXMgcmVwZXRpciBsb3MgY8OhbGN1bG9zIG8gZWwgYW7DoWxpc2lzIGRlc2RlIGNlcm8uIFkgYWRlbcOhcyBkZSBvcmdhbml6YXIgcHJveWVjdG9zIHkgbm8gbW9kaWZpY2FyIGxvcyBkYXRvcyBvcmlnaW5hbGVzLCDCv2PDs21vIHBvZMOpcyBhc2VndXJhcnRlIGRlIHF1ZSBndWFyZGFzdGUgdG9kbyBlbCBjw7NkaWdvIHF1ZSBlc3R1dmlzdGUgZXNjcmliaWVuZG8geSB1c2FzdGU/IExhIG1hbmVyYSBtw6FzIGRpcmVjdGEgZXMgcmVpbmljaWFyIGxhIHNlc2nDs24gZGUgUiB5IGNvcnJlciBlbCBjw7NkaWdvIGRlIG51ZXZvLCBzaSBkYSBlcnJvciBvIG5vIGRldnVlbHZlIGxvIHF1ZSBlc3BlcmFiYXMgc2lnbmlmaWNhIHF1ZSB0ZSBmYWx0w7MgZ3VhcmRhciBhbGfDum4gcGFzby4gCgo6Ojp7LmFsZXJ0IC5hbGVydC1zdWNjZXNzfQpUaXA6IFBvZMOpcyByZWluaWNpYXIgbGEgc2VzacOzbiBkZSBSIGNvbiBlbCBhdGFqbyBgQ3RybCtTaGlmK0YxMGAKOjo6CgpFc3RvIHB1ZWRlIHBhc2FyIHNpIHBvciBlamVtcGxvIGxlZW1vcyB1bmEgYmFzZSBkZSBkYXRvcyBlbiBtZW1vcmlhIHBlcm8gbm8gZ3VhcmRhbW9zIGVsIGPDs2RpZ28gcXVlIGxvIGhhY2UuIE1pZW50cmFzIGVzdGVtb3MgdHJhYmFqYW5kbywgUiB0ZW5kcsOhIGVzYSBiYXNlIGRlIGRhdG9zIGVuIG1lbW9yaWEgeSBwb2RyZW1vcyBoYWNlciBjw6FsY3Vsb3MgeSBncsOhZmljb3MuIFBvciBkZWZlY3RvIGFkZW3DoXMgUlN0dWRpbyB2YSBhIHJlY29yZGFyIGxhcyB2YXJpYWJsZXMgcXVlIGVzdMOpcyB1c2FuZG8gbWHDsWFuYSBvIHBhc2FkbyBlbiB1biBhcmNoaXZvIG9jdWx0byAoLlJEYXRhKSBhIG1lbm9zIHF1ZSBsZSBpbmRpcXVlcyBsbyBjb250cmFyaW8uIFkgc2kgYmllbiBzdWVuYSBwcsOhY3RpY28gdm9sdmVyIGEgUiBhbCBvdHJvIGTDrWEgeSB0ZW5lciBlbCBhbsOhbGlzaXMgdGFsIGN1YWwgbG8gZGVqYW1vcywgZXN0byBwdWVkZSBzaWduaWZpY2FyIHF1ZSBudW5jYSBub3MgZGVtb3MgY3VlbnRhIHF1ZSBub3MgZmFsdMOzIGd1YXJkYXIgdW5hIGzDrW5lYSBkZSBjw7NkaWdvIGNsYXZlIGVuIG51ZXN0cm8gYW7DoWxpc2lzLgoKCjo6OiB7LmFsZXJ0IC5hbGVydC1pbmZvfQoqKlRlcmNlciBkZXNhZsOtbzogQ29uZmlndXLDoSBSU3R1ZGlvKiogCgoxLiBIYWPDqSBjbGljayBlbiBlbCBtZW7DuiDigJxIZXJyYW1pZW50YXMgKOKAnFRvb2xz4oCdKSB5IGx1ZWdvIOKAnE9wY2lvbmVzIGdsb2JhbGVz4oCdICjigJxHbG9iYWwgT3B0aW9uc+KAnSkuCjIuIERlc3RpbGTDoSBsYSBvcGNpw7NuIOKAnFJlY3VwZXJhciAuUkRhdGEgYWwgaW5pY2lvIGRlIGxhIHNlc2nDs27igJ0gKOKAnFJlc3RvcmUgLlJEYXRhIGludG8gd29ya3NwYWNlIGF0IHN0YXJ0dXDigJ0pLgozLiBIYWPDqSBjbGljayBlbiDigJxBcGxpY2Fy4oCdICjigJxBcHBseeKAnSkuCjo6OgoKPGRpdiBjbGFzcz0iYnRuLWdyb3VwIiByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0iTmF2ZWdhY2nDs24iPgogIDxhIGhyZWY9ICIwMS1pbnRyb2R1Y2Npb24uaHRtbCIgY2xhc3MgPSAiYnRuIGJ0bi1wcmltYXJ5Ij5BbnRlcmlvcjwvYT4KICA8YSBocmVmPSAiMDMtcmVwb3J0ZXMtSS5odG1sIiBjbGFzcyA9ICJidG4gYnRuLXByaW1hcnkiPlNpZ3VpZW50ZTwvYT4KPC9kaXY+