• PORTADA
    • Últimas noticias
    • España
      • Andalucía
      • Aragón
      • Canarias
      • Castilla y León
      • Castilla-La Mancha
      • Cataluña
      • Comunidad Valenciana
      • Madrid
      • Galicia
      • País Vasco
    • OKBaleares
    • Navarra.com
    • Opinión
    • Investigación
    • Economía
      • Empresas
      • Consumo
      • Empleo
    • Sociedad
    • Metabolic
    • Talent24H
    • Techy
    • Diario Madridista
      • Últimas noticias
      • Real Madrid
    • Deportes
      • Fútbol
      • Atlético de Madrid
      • Barcelona
      • Champions League
      • Tenis
      • Fórmula 1
    • Mundial 2026
    • Sucesos
    • Internacional
    • Cool
      • Actualidad
      • Belleza
      • Casa Real
      • Famosos
      • Moda
      • Lifestyle
      • Televisión
    • HappyFM
    • Cine y Series
    • OKMotor
    • OKSalud
    • OKGreen
    • Curiosidades
    • ESPECIALES
      • Recetas
      • ¿Cómo se hace?
      • Religión
      • Mascotas
      • Bebés
      • Tecnología
      • Naturaleza
      • Educación
      • Historia
      • Ciencia
      • Listas
      • Gastronomía
      • Historia
      • Horóscopo
    • OKPlanes
    • OKCLUB
    • OkShopping
    • Lotería
    • SER PADRES
    • MIA REVISTA
    • Muy interesante
Destacados:
  • Final del Mundial 2030
  • Altercados Ceuta
  • Ábalos UNED
  • Cristina Pardo Óscar Puente
  • Sánchez Elche
  • Vox Ley de Nietos
  • Ayuso Sánchez
  • Condenas corrupción
  • Menas Formentera
  • Final Mundial 2030
  • Trump elecciones
  • García Ortiz
  • Ayudas Navarra
  • Casetas inmigrantes Ceuta
  • Ley de Nietos
  • Ayuso ayudas maternidad
  • Viñeta Puebla
  • Entradas F1 Madrid
  • Mapa circuito de MADRING
  • Horario GP de España de F1
  • Horario GP San Marino
  • Últimas noticias
Más

    El sitio de los inconformistas

    10 Sep 2026
    Actualizado 15:12 CET
    INICIAR SESIÓN
    Es Noticia
    • ABOGADO LABORALISTA sobre dos bajas en el mismo año
    • Piden poner media taza de este líquido en el INODORO
    • La reflexión de JOHN LENNON sobre la amistad
    • Española de 27 años trabajando de albañil en AUSTRALIA
    • PELÍCULA niños de los 90
    • Si tu perro ESTORNUDA no está ENFERMO
    • Reflexión de PITÁGORAS, filósofo y matemático
    • Situación real de la PLAYA de El Trampolin
    • La cita de MARÍA ZAMBRANO
    • Cómo pagar con BIZUM en las tiendas de ESPAÑA
    • Una española que trabaja de ALBAÑIL en AUSTRALIA
    • Los nombres para NIÑAS de los años 60 que está de moda
    • Para qué sirve meter un rollo de PAPEL HIGIÉNICO en la nevera
    • AMANCIO ORTEGA sobre su PATRIMONIO
    • Guardar el agua del AIRE ACONDICIONADO
    • RUTINA de Mick Jagger para estar en forma
    • Reflexión de PAULO COELHO

    Okdiario

    • España
    • Economía
    • Deportes
    • Diario Madridista
    • Investigación
    • Cool
    • Opinión
    • Sociedad
    • Lotería de Navidad
    • Directo
    • Última hora de la actualidad política en directo hoy
    • CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCkuICovCi5ibGstdXR0dW97bWF4LWlubGluZS1zaXplOjk2MHB4O21hcmdpbjowIGF1dG87Y29udGFpbmVyLXR5cGU6aW5saW5lLXNpemU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTBweDt9Ci5ibGstdXR0dW8gYXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjppbmhlcml0fQouYmxrLXV0dHVvIC5wYWdle2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDoxNXB4fQouYmxrLXV0dHVvIC5wYWdlIC5jb2x1bW57b3JkZXI6MX0KLmJsay11dHR1byAucGFnZSAubGVhZHtvcmRlcjoyfQovKiA4NjBweCB5IG5vIDQ3NXB4OiBjb24gbGEgY29sdW1uYSBmaWphICgyMjBweCArIDIwcHggZGUgZ2FwID0gMjQwcHgpLAogICBjdWFscXVpZXIgYW5jaG8gZGUgaWZyYW1lIHBvciBkZWJham8gZGUgfjg2MHB4IGRlamEgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgKDFmcikgY2FkYSB2ZXogY29uIG1lbm9zIGVzcGFjaW8gaGFzdGEgY29sYXBzYXIgYSAwcHggZGUgYW5jaG8gYW50ZXMgZGUKICAgbGxlZ2FyIGEgdW4gYnJlYWtwb2ludCB0YW4gYmFqbyBjb21vIDQ3NXB4ICYjODIxMjsgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgZGlyZWN0YW1lbnRlIGRlc2FwYXJlY2UgZW4gZXNhIGZyYW5qYSBpbnRlcm1lZGlhIChuaSAiZGVzayIgY29tcGxldG8gbmkKICAgIm3zdmlsIiBlc3RyZWNobykuIENvbiA4NjBweCBzZSBwYXNhIGEgdW5hIHNvbGEgY29sdW1uYSBhcGlsYWRhIGFudGVzIGRlCiAgIHF1ZSBlc28gcHVlZGEgb2N1cnJpci4KICAgRXN0ZSBicmVha3BvaW50IHNlIG9taXRlIHBvciBjb21wbGV0byBtaWVudHJhcyBsYSBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkKICAgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldyk6IHBlbnNhZG8gcGFyYSBjdWFuZG8gZWwgbfNkdWxvIGxsZXZhIHN1CiAgIGNvbHVtbmEgYSA5NjBweCwgZGVqYSBkZSB0ZW5lciBzZW50aWRvIGVuIHVuYSBleHBvcnRhY2nzbiBkZSBzb2xvIGxhCiAgIG5vdGljaWEgcHJpbmNpcGFsIGEgdW4gYW5jaG8gZmlqbyBlbGVnaWRvIGEgbWFubyAmIzgyMTI7IGxvcyBhbmNob3Mgc2ltdWxhZG9zCiAgICg2MTMvNDYwLzMwN3B4KSBlc3ThbiBUT0RPUyBwb3IgZGViYWpvIGRlIDg2MHB4LCBhc+0gcXVlIHNpbiBlc3RlIGdhdGluZwogICBlbCBIVE1MIGV4cG9ydGFkbyBjYWVy7WEgc2llbXByZSBhIGxhIHRpcG9ncmFm7WEgIk3zdmlsIiAoY29uICFpbXBvcnRhbnQpCiAgIHNlYSBjdWFsIHNlYSBsYSBxdWUgZWwgdXN1YXJpbyBjb25maWd1cvMgZW4gIkRlc2siIHBhcmEgZXNhIHNpbXVsYWNp824sCiAgIGRhbmRvIGxhIGZhbHNhIHNlbnNhY2nzbiBkZSBxdWUgdW5hIGNvbmZpZ3VyYWNp824gInBpc2EiIGEgb3RyYS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsKICAuYmxrLXV0dHVve2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjA7fQogIC5ibGstdXR0dW8gLnBhZ2V7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0KICAuYmxrLXV0dHVvIC5wYWdlIC5zdGFjay10aXRsZSB7Zm9udC1zaXplOjE4cHg7IGxpbmUtaGVpZ2h0OiAxLjJlbTt9CiAgLmJsay11dHR1byAucGFnZSAuc3RhY2stYXV0aG9yIHttYXJnaW4tdG9wOiAxMHB4O30KICAuYmxrLXV0dHVvIC5sZWFkLW1lZGlhLmlzLWlmcmFtZXtibG9jay1zaXplOjQwMHB4ICFpbXBvcnRhbnQ7fQogIC5ibGstdXR0dW8gLmxlYWQtbWVkaWF7YXNwZWN0LXJhdGlvOjQvMyAhaW1wb3J0YW50O30KICAuYmxrLXV0dHVvIC5wYWdlIC5sZWFke29yZGVyOjF9CiAgLmJsay11dHR1byAucGFnZSAuY29sdW1ue29yZGVyOjJ9CiAgLyogUG9yIGRlYmFqbyBkZWwgYnJlYWtwb2ludCwgZWwgbGVhZC1ib2R5IHNpZW1wcmUgdnVlbHZlIGEgaXIgZGViYWpvIGRlbAogICAgIGxlYWQtbWVkaWEgKG5vIGhheSBzaXRpbyBwYXJhIGVsIGxheW91dCBsYWRvIGEgbGFkbykuICovCiAgLmJsay11dHR1byAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCwKICAuYmxrLXV0dHVvIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YXNwZWN0LXJhdGlvOmF1dG87fQogIC5ibGstdXR0dW8gLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtbWVkaWEsCiAgLmJsay11dHR1byAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDoxIDEgYXV0bzt9CiAgLmJsay11dHR1byAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAogIC5ibGstdXR0dW8gLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDoxIDEgYXV0bztpbmxpbmUtc2l6ZTo5MCU7bWFyZ2luOi0zMHB4IGF1dG8gMDtibG9jay1zaXplOmF1dG87YWxpZ24tc2VsZjphdXRvO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmc6MTBweDt9CiAgLmJsay11dHR1byAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b257bGVmdDoxMHB4O3JpZ2h0OmF1dG87fQogIC5ibGstdXR0dW8gLnBhZ2UgLmNvbHVtbi1pdGVte2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQogIC5ibGstdXR0dW8gLnBhZ2UgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxLjE1O2NvbG9yOiMyYzNlNTM7bWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O30KICAuYmxrLXV0dHVvIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0yMSAubGVmdC10aXRsZXtmb250LXNpemU6MjFweCAhaW1wb3J0YW50O30KICAuYmxrLXV0dHVvIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0xOCAubGVmdC10aXRsZXtmb250LXNpemU6MThweCAhaW1wb3J0YW50O30KICAuYmxrLXV0dHVvIC5wYWdlIC5sZWZ0LXBsYXl7CiAgICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogICAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogICAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7CiAgfQogIC5ibGstdXR0dW8gLnBhZ2UgLmxlZnQtcGxheTo6YmVmb3JlewogICAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4OwogIH0KfQovKiBUaXBvZ3JhZu1hICJN83ZpbCIgKGFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vdGl0dWxhcmVzIGFuaW1hZG9zKSBjb24gU1UKICAgUFJPUElPIGJyZWFrcG9pbnQgKDQ4MHB4KSwgc2VwYXJhZG8gZGVsIGRlIGFycmliYSAoODYwcHgsIHNvbG8gcGFyYSBhcGlsYXIKICAgbGEgcmVqaWxsYSBjb2x1bW5hK25vdGljaWEpOiB1biBjb250ZW5lZG9yIHJlYWwgZGUgbWVub3MgZGUgODYwcHggZXMgbXV5CiAgIGhhYml0dWFsIChwLmVqLiB1bmEgY29sdW1uYSBkZSBhcnTtY3VsbyBkZSB+NzAwcHgpIHkgTk8gZXMgdW4gbfN2aWwgJiM4MjEyOyBjb24KICAgdW4g+m5pY28gYnJlYWtwb2ludCBjb21wYXJ0aWRvLCBsYSB0aXBvZ3JhZu1hICJEZXNrIiBxdWUgY29uZmlndXJhIGVsCiAgIHVzdWFyaW8gbm8gbGxlZ2FiYSBhIHZlcnNlIG51bmNhIGVuIGVzZSBjYXNvLCBjYXllbmRvIHNpZW1wcmUgYSBsb3MgdmFsb3JlcwogICBwb3IgZGVmZWN0byBkZSAiTfN2aWwiIHNpbiBxdWUgbmFkaWUgbG8gaHViaWVyYSBwZWRpZG8uIDQ4MHB4IHPtIHNlCiAgIGNvcnJlc3BvbmRlIGNvbiB1biBhbmNobyBkZSBt83ZpbCByZWFsIChsYSB2aXN0YSAiTfN2aWwiIGRlbCBwcm9waW8gZ2VzdG9yCiAgIHNpbXVsYSAzNzVweCkuIElndWFsIHF1ZSBlbCBicmVha3BvaW50IGRlIGFycmliYSwgc2Ugb21pdGUgZHVyYW50ZSBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGRlIGxhIG5vdGljaWEgcHJpbmNpcGFsICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay11dHR1byAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMwMEE3RkYgIWltcG9ydGFudDt9CiAgLmJsay11dHR1byAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4xICFpbXBvcnRhbnQ7Y29sb3I6IzAwQTdGRiAhaW1wb3J0YW50O30KICAuYmxrLXV0dHVvIC5sZWFkLXRpdGxle2ZvbnQtc2l6ZToxLjdyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIC5ibGstdXR0dW8gLmxlYWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay11dHR1byAubGVhZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay11dHR1byAubGVhZC1raWNrZXItZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay11dHR1byAubGVhZC1raWNrZXItbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstdXR0dW8gLmxlYWQtc3VidGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay11dHR1byAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay11dHR1byAubGVhZC1hbmltLWhlYWRsaW5lc3tmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIAogIC5ibGstdXR0dW8gLnJlbGF0ZWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay11dHR1byAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9Cn0KLmJsay11dHR1byAubGVhZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay11dHR1byAubGVhZC1tZWRpYXtwb3NpdGlvbjpyZWxhdGl2ZTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVufQovKiBNZWRpYSBtZWRpYW50ZSBpZnJhbWU6IGFsdG8gZmlqbyBlbiBw7XhlbGVzIGVuIHZleiBkZSBsYSBwcm9wb3JjafNuIGRlCiAgIGFycmliYSAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgc3RhdGUubGVhZC5pZnJhbWVIZWlnaHQpICYjODIxMjsgZWwKICAgdmFsb3IgZGUgTfN2aWwgc2Ugc29icmVzY3JpYmUgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8sIGlndWFsIHF1ZSBlbAogICByZXN0byBkZSBvdmVycmlkZXMgcmVzcG9uc2l2ZSBkZSBlc3RlIEhUTUwgZXhwb3J0YWRvLiAqLwouYmxrLXV0dHVvIC5sZWFkLW1lZGlhLmlzLWlmcmFtZXthc3BlY3QtcmF0aW86bm9uZTtibG9jay1zaXplOjY0MHB4O30KLmJsay11dHR1byAubGVhZC1tZWRpYSBpbWcsCi5ibGstdXR0dW8gLmxlYWQtbWVkaWEgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQovKiBDYXJydXNlbCBkZSBmb3RvcyBkZSBmb25kbyBjb24gZWZlY3RvIEtlbiBCdXJucyAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLgogICBMYSBkdXJhY2nzbiBkZSBsYXMgYW5pbWFjaW9uZXMgKDZzKSBjb2luY2lkZSBjb24KICAgTEVBRF9DQVJPVVNFTF9JTlRFUlZBTCwgcXVlIHRhbWJp6W4gZ29iaWVybmEgZWwgc2NyaXB0IGRlIHJvdGFjafNuCiAgIChidWlsZExlYWRDYXJvdXNlbFNjcmlwdCkgYfFhZGlkbyBhbCBmaW5hbCBkZWwgSFRNTCBleHBvcnRhZG8uICovCi5ibGstdXR0dW8gLmxlYWQtY2Fyb3VzZWx7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLXV0dHVvIC5sZWFkLWNhcm91c2VsLXNsaWRle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAxLjVzIGVhc2U7fQouYmxrLXV0dHVvIC5sZWFkLWNhcm91c2VsLXNsaWRlLmlzLWFjdGl2ZXtvcGFjaXR5OjE7ei1pbmRleDoxO30KLmJsay11dHR1byAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO30KLmJsay11dHR1byAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQob2RkKSBpbWd7YW5pbWF0aW9uOmJsay11dHR1by1rZW5idXJucy1hIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KLmJsay11dHR1byAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQoZXZlbikgaW1ne2FuaW1hdGlvbjpibGstdXR0dW8ta2VuYnVybnMtYiA2cyBlYXNlLWluLW91dCBmb3J3YXJkczt9CkBrZXlmcmFtZXMgYmxrLXV0dHVvLWtlbmJ1cm5zLWF7IGZyb217dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gdG97dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSgtNCUsLTMlKTt9IH0KQGtleWZyYW1lcyBibGstdXR0dW8ta2VuYnVybnMtYnsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKDQlLDMlKTt9IH0KLyogQ29uIHVuYSD6bmljYSBmb3RvIChzaW4gcm90YWNp824gcG9zaWJsZSkgc2UgYXBsaWNhIHVuIHpvb20gaW4vb3V0IGVuCiAgIGJ1Y2xlIGluZmluaXRvIGVuIHZleiBkZWwgcmVjb3JyaWRvIPpuaWNvIChmb3J3YXJkcykgZGUgYXJyaWJhLiAqLwouYmxrLXV0dHVvIC5sZWFkLWNhcm91c2VsLmlzLXNpbmdsZSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7YW5pbWF0aW9uOmJsay11dHR1by1rZW5idXJucy1sb29wIDE0cyBlYXNlLWluLW91dCBpbmZpbml0ZTt9CkBrZXlmcmFtZXMgYmxrLXV0dHVvLWtlbmJ1cm5zLWxvb3B7IDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IDUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gMTAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB9Ci8qIENvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcyAoZGVzbGl6YWRvcikgJiM4MjEyOyB2ZXIgZWwgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay11dHR1byAubGVhZC1jb21wYXJle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3RvdWNoLWFjdGlvbjpub25lO3otaW5kZXg6Mjt9Ci5ibGstdXR0dW8gLmxlYWQtY29tcGFyZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7ZGlzcGxheTpibG9jazt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1kcmFnOm5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstdXR0dW8gLmxlYWQtY29tcGFyZS1iZWZvcmV7Y2xpcC1wYXRoOmluc2V0KDAgNTAlIDAgMCk7d2lsbC1jaGFuZ2U6Y2xpcC1wYXRoO30KLmJsay11dHR1byAubGVhZC1jb21wYXJlLXJhbmdle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7bWFyZ2luOjA7b3BhY2l0eTowO2N1cnNvcjpldy1yZXNpemU7fQouYmxrLXV0dHVvIC5sZWFkLWNvbXBhcmUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6NTAlO2lubGluZS1zaXplOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjI7fQouYmxrLXV0dHVvIC5sZWFkLWNvbXBhcmUtaGFuZGxlOjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7aW5saW5lLXNpemU6MnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwuMjUpO30KLmJsay11dHR1byAubGVhZC1jb21wYXJlLWhhbmRsZTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6LTE1cHg7aW5saW5lLXNpemU6MzBweDtibG9jay1zaXplOjMwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmIHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJz48ZyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J004IDYgTDQgMTAgTDggMTQnLz48cGF0aCBkPSdNMTIgNiBMMTYgMTAgTDEyIDE0Jy8+PC9nPjwvc3ZnPiIpIGNlbnRlci8xNnB4IDE2cHggbm8tcmVwZWF0O2JveC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsLjI1KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjI1KTt9Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBNaXNtbyB6LWluZGV4OjIgcXVlCiAgIC5sZWFkLWNvbXBhcmUsIHBvciBlbCBtaXNtbyBtb3Rpdm8gKGdhbmFybGUgYSAubGVhZC1saW5rKS4gKi8KLmJsay11dHR1byAubGVhZC1pZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7ei1pbmRleDoyO30KLmJsay11dHR1byAubGVhZC1pZnJhbWUgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGstdXR0dW8gLmxlYWQtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay11dHR1byAubGVhZC1ib2R5e3BhZGRpbmc6MHB4IDIwcHggMjBweCAyMHB4OztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgYWxpZ24taXRlbXM6Y2VudGVyOyBwb3NpdGlvbjpyZWxhdGl2ZTsgei1pbmRleDo2OyBwb2ludGVyLWV2ZW50czpub25lOyBpbmxpbmUtc2l6ZTo5NSU7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDphdXRvOyBtYXJnaW4tdG9wOi0zMHB4OyBiYWNrZ3JvdW5kOiMwRTExMUE7IGZsZXg6MSAxIGF1dG87fQovKiBBbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL2F1dG9yIGNlbnRyYWRvcyBlbiB2ZXJ0aWNhbCBkZW50cm8gZGVsIGFsdG8KICAgc29icmFudGUgYmFqbyBsYSBjYXRlZ29y7WEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay11dHR1byAubGVhZC1ib2R5LW1haW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtpbmxpbmUtc2l6ZToxMDAlO2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowO30KLyogQXBhcmllbmNpYSBuZWdhdGl2YSAocG9yIGRlZmVjdG8pIHZzLiBwb3NpdGl2YSBkZSBsYSBjYWphIGRlIHRpdHVsYXIgJiM4MjEyOyB2ZXIKICAgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay11dHR1byAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLWJvZHl7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTt9Ci5ibGstdXR0dW8gLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC10aXRsZSwKLmJsay11dHR1byAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5hdXRob3ItbGFiZWx7Y29sb3I6IzBFMTExQTt9Ci8qIFBvc2ljafNuIGRlbCBsZWFkLWJvZHkgcmVzcGVjdG8gYWwgbGVhZC1tZWRpYSAoJ2xlZnQnLydyaWdodCcpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstdXR0dW8gLmxlYWQubGVhZC1ib2R5LWxlZnQsCi5ibGstdXR0dW8gLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOnJvdzthc3BlY3QtcmF0aW86Mi45NjI5NjI5NjI5NjI5NjM7fQouYmxrLXV0dHVvIC5sZWFkLmxlYWQtYm9keS1sZWZ0e2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO30KLmJsay11dHR1byAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKLmJsay11dHR1byAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDowIDAgNjAlO30KLmJsay11dHR1byAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAouYmxrLXV0dHVvIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MCAwIGNhbGMoNDAlICsgMzBweCk7aW5saW5lLXNpemU6YXV0bzttYXJnaW4tdG9wOjA7YmxvY2stc2l6ZTpjYWxjKDEwMCUgLSA0MnB4KTthbGlnbi1zZWxmOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDt9Ci5ibGstdXR0dW8gLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotMzBweDt9Ci5ibGstdXR0dW8gLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXJpZ2h0OjA7fQovKiBQb3NpY2nzbiAnYm90dG9tLWZ1bGwnIGRlbCBsZWFkLWJvZHkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gaW5saW5lLXNpemUKICAgZW4gdmV6IGRlIHdpZHRoIHBvciBlbCBtaXNtbyBtb3Rpdm8gcXVlIGVsIHJlc3RvIGRlIGVzdGUgYmxvcXVlIChldml0YXIKICAgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbCB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MKICAgZGlyZWN0YW1lbnRlKS4gKi8KLmJsay11dHR1byAubGVhZC5sZWFkLWJvZHktYm90dG9tLWZ1bGwgLmxlYWQtYm9keXsKICBpbmxpbmUtc2l6ZToxMDAlOwogIG1hcmdpbjowOwogIHBhZGRpbmctdG9wOjMwcHg7CiAgcGFkZGluZy1ib3R0b206MzBweDsKICBib3JkZXI6bm9uZTsKfQovKiBFdGlxdWV0YSBkZSBleGNsdXNpdmEgKG8gdGV4dG8gcGVyc29uYWxpemFkbykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay11dHR1byAubGVhZC1leGNsdXNpdmUtdGFne3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDt6LWluZGV4OjM7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtsZXR0ZXItc3BhY2luZzowLjVweDtwYWRkaW5nOjJweCA4cHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwb2ludGVyLWV2ZW50czpub25lO30KLyogU2VsZWN0b3IgY29uIDMgY2xhc2VzICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKCIubGVhZC1tZWRpYSBpbWciIHRhbWJp6W4KICAgbWF0Y2hlYSBlc3RlIDxpbWc+IHkgbGUgZ2FuYWJhIGVuIGVzcGVjaWZpY2lkYWQpLiAqLwouYmxrLXV0dHVvIC5sZWFkLWV4Y2x1c2l2ZS10YWcgLmxlYWQtZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXV0dHVvIC5sZWFkLWNhdHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06c2tld1koLTZkZWcpO21hcmdpbi10b3A6LTE1cHg7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay11dHR1byAubGVhZC1raWNrZXIsIC5ibGstdXR0dW8gLmxlYWQtc3VidGl0bGV7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO3RleHQtdHJhbnNmb3JtOm5vbmU7bWFyZ2luOjA7Cn0KLmJsay11dHR1byAubGVhZC1raWNrZXJ7Zm9udC13ZWlnaHQ6NzAwO30KLmJsay11dHR1byAubGVhZC1zdWJ0aXRsZXtmb250LXdlaWdodDo2MDA7fQovKiBUYW1h8W8vaW50ZXJsaW5lYWRvL2NvbG9yIGRlIGFudGV07XR1bG8geSBzdWJ07XR1bG8gZW4gRGVzayAodmFsb3JlcyBwb3IKICAgZGVmZWN0byBkZWwgYmxvcXVlOyBlbCBvdmVycmlkZSBkZSBN83ZpbCB2YSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywKICAgeWEgcXVlIGVsIEhUTUwgZXhwb3J0YWRvIGVzIHJlc3BvbnNpdmUgeSBubyBkZXBlbmRlIGRlIHF16SB2aXN0YSB0dXZpZXJhcwogICBzZWxlY2Npb25hZGEgZW4gZWwgZ2VzdG9yIGFsIGV4cG9ydGFyL2NvcGlhcikuICovCi5ibGstdXR0dW8gLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjNyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiMwMEE3RkY7fQouYmxrLXV0dHVvIC5sZWFkLXN1YnRpdGxle2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiMwMEE3RkY7fQovKiB0ZXh0LXdyYXA6YmFsYW5jZSAmIzgyMTI7IG1pc21vIGNyaXRlcmlvIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlbCBnZXN0b3IgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIGVzYSByZWdsYSk6IHJlcGFydGUgbGFzCiAgIGztbmVhcyBkZWwgdGl0dWxhciBkZSBmb3JtYSBt4XMgdW5pZm9ybWUgZGVudHJvIGRlIGNhZGEgZGlzcG9zaXRpdm8sIHNpbgogICBwcmV0ZW5kZXIgaWd1YWxhciBlbCBu+m1lcm8gZGUgbO1uZWFzIGVudHJlIHBsYXRhZm9ybWFzIGRpc3RpbnRhcy4gKi8KLmJsay11dHR1byAubGVhZC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjE7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt0ZXh0LXdyYXA6YmFsYW5jZTt9Ci8qIFRpdHVsYXIgY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGEgKHZlciBidWlsZFNjb3BlZEhUTUwpOgogICBzZSBnZW5lcmFuIGxvcyBkb3MgdGV4dG9zIChEZXNrL03zdmlsKSB5IGFxde0gc2UgbXVlc3RyYSBzb2xvIHVubyBzZWf6biBlbAogICBhbmNobyByZWFsIGRlbCBjb250ZW5lZG9yICYjODIxMjsgZWwgbWlzbW8gbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIHlhIHVzYSBlbAogICByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8gcGFyYSBhZGFwdGFyc2Ugc2luIGRlcGVuZGVyIGRlIEpTLiAqLwouYmxrLXV0dHVvIC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBBbnRldO10dWxvL3N1YnTtdHVsbyBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YTogbWlzbW8KICAgbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgKHZlciBhcnJpYmEpLiAqLwouYmxrLXV0dHVvIC5sZWFkLWtpY2tlci1tb2JpbGUsIC5ibGstdXR0dW8gLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIFRpdHVsYXIgZGUgbm90aWNpYSByZWxhY2lvbmFkYSAoY29sdW1uYSkgY29uIHRleHRvIHByb3BpbyBlbiBN83ZpbCAodmVyCiAgIGl0ZW0udGl0bGVNb2JpbGUgZW4gYnVpbGRDb2x1bW5JdGVtVGl0bGVIVE1MKTogbWlzbW8gbWVjYW5pc21vIGRlCiAgIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgcHJpbmNpcGFsIGRlIGFycmliYS4gKi8KLmJsay11dHR1byAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLmJsay11dHR1byAuYXV0aG9yLWxhYmVse2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpyaWdodDtkaXNwbGF5OmJsb2NrfQouYmxrLXV0dHVvIC5jb2x1bW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47fQouYmxrLXV0dHVvIC5jb2x1bW4taXRlbXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLXV0dHVvIC50aHVtYntwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzo0LzM7YmFja2dyb3VuZDojZWVlO292ZXJmbG93OmhpZGRlbn0KLmJsay11dHR1byAudGh1bWIgaW1nLAouYmxrLXV0dHVvIC50aHVtYiB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci5ibGstdXR0dW8gLnRodW1iIC5wbGF5LXNxdWFyZSwKLmJsay11dHR1byAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmV7CiAgcG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTo1cHg7IGxlZnQ6NXB4OwogIGlubGluZS1zaXplOjI1cHg7YmxvY2stc2l6ZToyNXB4O2JvcmRlci1yYWRpdXM6MnB4O2Rpc3BsYXk6aW5saW5lLWdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjE4KTsKICBjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cywgdHJhbnNmb3JtIC4xMnM7CiAgei1pbmRleDoyOyBhbmltYXRpb246YmxrLXV0dHVvLWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstdXR0dW8gLnRodW1iIC5wbGF5LXNxdWFyZTo6YmVmb3JlLAouYmxrLXV0dHVvIC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo2cHggc29saWQgI2ZmZjtib3JkZXItdG9wOjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjVweCBzb2xpZCB0cmFuc3BhcmVudDsKICBtYXJnaW4tbGVmdDoycHg7Cn0KLmJsay11dHR1byAudGh1bWIgLnBsYXktc3F1YXJlOmhvdmVyLAouYmxrLXV0dHVvIC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTpob3ZlcnsgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuODUpOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTsgfQouYmxrLXV0dHVvIC5zdGFjay10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjEuMTVlbTttYXJnaW46MDtjb2xvcjojMmMzZTUzO30KLmJsay11dHR1byAuc3RhY2stYXV0aG9ye2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjtjb2xvcjojODI4NTk1O2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxMXB4O2xldHRlci1zcGFjaW5nOjA7dGV4dC1hbGlnbjpyaWdodDt9Ci8qIFNpbiBlc3RhIHJlZ2xhIGVsIGF1dG9yIHF1ZWRhIHBlZ2FkbyBqdXN0byBkZWJham8gZGVsIHRpdHVsYXIgZW4gdmV6IGRlCiAgIGFiYWpvIGRlIGxhIHRhcmpldGE6IC5tb2Qtc3RhY2sgbmVjZXNpdGEgc2VyIGZsZXgtY29sdW1uIGNvbgogICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiBwYXJhIHF1ZSBlbCBodWVjbyBzb2JyYW50ZSAoY3VhbmRvIGxhCiAgIHRhcmpldGEgY3JlY2UgbeFzIHF1ZSBzdSBjb250ZW5pZG8sIHZlciAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spCiAgIG3hcyBhYmFqbykgZW1wdWplIGVsIGF1dG9yIGhhY2lhIGVsIGJvcmRlIGluZmVyaW9yLiAqLwouYmxrLXV0dHVvIC5tb2Qtc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtmbGV4OjEgMSBhdXRvO30KLyogRXN0aWxvICJmb3RvIHBlcXVl8WEgKyB0aXR1bGFyIjogZm90byA0OjMgYSBsYSBpenF1aWVyZGEsIHRleHRvIGEgbGEgZGVyZWNoYS4gKi8KLmJsay11dHR1byAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLWxlZnR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxMTBweCAxZnI7Z2FwOjEwcHg7fQovKiBFc3RpbG8gInNvbG8gdGV4dG8iIChwb3IgZGVmZWN0byk6IGVsIGF1dG9yIHNlIHBvc2ljaW9uYSBlbiBhYnNvbHV0bywKICAgYW5jbGFkbyBhIGxhIGVzcXVpbmEgaW5mZXJpb3IgZGVyZWNoYSBkZSBsYSB0YXJqZXRhIChpZ3VhbCBxdWUgZWwgcGxheSBkZQogICBsYXMgbWluaWF0dXJhcyksIGVuIHZleiBkZSBkZXBlbmRlciBkZSBxdWUgZWwgYmxvcXVlIGRlIHRleHRvIHRlbmdhIGh1ZWNvCiAgIGRlIHNvYnJhIHBhcmEgZW1wdWphcmxvIGFiYWpvIGNvbiBmbGV4Ym94ICYjODIxMjsgY29uIHTtdHVsb3MgZGUgMi0zIGztbmVhcyBlc2UKICAgaHVlY28gbm8gZXhpc3RlIHkgZWwgYXV0b3IgbnVuY2EgbGxlZ2FiYSBhIGJhamFyLiBwYWRkaW5nLWJvdHRvbSBlbgogICBsZWZ0LWJvZHkgcmVzZXJ2YSBlbCBlc3BhY2lvIHBhcmEgcXVlIGVsIHTtdHVsbyBubyBzZSBzb2xhcGUgY29uIOlsLiAqLwouYmxrLXV0dHVvIC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAubGVmdC1ib2R5e3BhZGRpbmctYm90dG9tOjMzcHg7fQouYmxrLXV0dHVvIC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAuc3RhY2stYXV0aG9ye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7Ym90dG9tOjEwcHg7bWFyZ2luLXRvcDowO30KLmJsay11dHR1byAubGVmdC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjEuMTU7Y29sb3I6IzJjM2U1MzttYXJnaW46MDt0ZXh0LWFsaWduOmxlZnQ7fQouYmxrLXV0dHVvIC5sZWZ0LXBsYXl7CiAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjMDBhN2ZmOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206IDRweDsKfQouYmxrLXV0dHVvIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4Owp9Ci5ibGstdXR0dW8gLnJlbGF0ZWQtbGl2ZS10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkY1MDUwOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkY1MDUwOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXV0dHVvIC5yZWxhdGVkLWVkaXRvcmlhbC10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkFCMTIxOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkFCMTIxOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXV0dHVvIC5wbGF5LWJ1dHRvbnsKICAvKiBBbmNoby9hbHRvIGZpam9zIGVuIHZleiBkZSBhc3BlY3QtcmF0aW86MS8xICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoZWwKICAgICBj4WxjdWxvIGRlICJzaHJpbmstdG8tZml0IiBwYXJhIHVuIDxidXR0b24+IGVuIGFic29sdXRvIHNpbiB0YW1h8W8KICAgICBleHBs7WNpdG8gbm8gZXMgZmlhYmxlIGVudHJlIG1vdG9yZXM7IGVuIFdlYktpdC9pT1MgZGFiYSB1biByZWN04W5ndWxvCiAgICAgdmVydGljYWwgZXN0cmVjaO1zaW1vIGVuIHZleiBkZSB1biBjdWFkcmFkbykuICovCiAgYXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOwogIHBvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDsKICBpbmxpbmUtc2l6ZTozNHB4O2Jsb2NrLXNpemU6MzRweDsKICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4OwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyk7CiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC40Mik7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjNweDsKICBjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7YW5pbWF0aW9uOmJsay11dHR1by1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLXV0dHVvIC5wbGF5LWJ1dHRvbiAucGxheS1pY29uewogIGlubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjtib3JkZXItdG9wOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDsKfQouYmxrLXV0dHVvIC5wbGF5LWJ1dHRvbiAucGxheS10ZXh0e2Rpc3BsYXk6bm9uZTt9Ci8qIEVuIGVsIG1vZG8gJ2xlZnQnIGVsIFBsYXkgcGFzYSBhIGxhIGVzcXVpbmEgc3VwZXJpb3IgZGVyZWNoYSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXV0dHVvIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5wbGF5LWJ1dHRvbntsZWZ0OmF1dG87cmlnaHQ6MTBweDt9CgovKiBUaXR1bGFyZXMgYW5pbWFkb3MgKGNhcGEgYWx0ZXJuYXRpdmEgc29icmUgbGVhZC1tZWRpYSkgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYQogICBoZXJyYW1pZW50YS4gQ2FkYSB0aXR1bGFyIHRpZW5lIHN1IHByb3BpYSBwb3NpY2nzbiAoY2xhc2UgcG9zLSosIHZlcgogICBidWlsZFNjb3BlZEhUTUwpIHkgc2UgcmV2ZWxhIGztbmVhIHBvciBs7W5lYSAodW5hIHZleiBtZWRpZGFzIHN1cyBs7W5lYXMKICAgcmVhbGVzIHBvciBlbCBzY3JpcHQgc3RhbmRhbG9uZSwgdmVyIGJ1aWxkQW5pbUhlYWRsaW5lc1NjcmlwdCkgY29uIHVuYQogICBjYWphIGRlIGZvbmRvIGRldHLhcyBkZSBjYWRhIGztbmVhIHkgdW4gZmFkZSBkZSBvcGFjaWRhZCBlbnRyZSB0aXR1bGFyZXMuICovCi5ibGstdXR0dW8gLmxlYWQtYW5pbS1oZWFkbGluZXN7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB6LWluZGV4OjQ7CiAgcG9pbnRlci1ldmVudHM6bm9uZTsKfQouYmxrLXV0dHVvIC5sZWFkLWFuaW0taGVhZGxpbmV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDoxNXB4OwogIG9wYWNpdHk6MDsKfQouYmxrLXV0dHVvIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBib3R0b206NjBweDsgfQouYmxrLXV0dHVvIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0eyB0b3A6NjBweDsgfQouYmxrLXV0dHVvIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLXV0dHVvIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay11dHR1byAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGstdXR0dW8gLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBsZWZ0OmF1dG87IHJpZ2h0OjE1cHg7IH0KLmJsay11dHR1byAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHR7IHRvcDo2MHB4OyB9Ci5ibGstdXR0dW8gLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLXV0dHVvIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjYwcHg7IH0KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdXR0dW8gLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnQsCi5ibGstdXR0dW8gLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnQsCi5ibGstdXR0dW8gLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGxlZnQ6NDBweDsgfQouYmxrLXV0dHVvIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGstdXR0dW8gLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay11dHR1byAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci5ibGstdXR0dW8gLmxlYWQtYW5pbS1oZWFkbGluZS5pcy1hY3RpdmV7IG9wYWNpdHk6MTsgfQouYmxrLXV0dHVvIC5sZWFkLWFuaW0tbGluZXsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBkaXNwbGF5OnRhYmxlOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjsKICBmb250LXdlaWdodDo5MDA7CiAgY29sb3I6I2ZmZjsKICBwYWRkaW5nOjJweCA4cHg7CiAgY2xpcC1wYXRoOmluc2V0KDAgMTAwJSAwIDApOwogIG9wYWNpdHk6MTsKICB0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlOwp9Ci5ibGstdXR0dW8gLmxlYWQtYW5pbS1saW5lLmlzLWhpZGluZ3sgb3BhY2l0eTowOyB9Ci8qIFNvbGFwZSBkZSAxcHggZW50ZXJhIGVudHJlIGztbmVhcyBwYXJhIGNlcnJhciBlbCBoaWxvIGRlIHN1Yi1w7XhlbCBxdWUKICAgcHVlZGUgcXVlZGFyIGVudHJlIHN1cyBjYWphcyBkZSBmb25kbyAocmVkb25kZW8gZGUgYWx0dXJhcyBmcmFjY2lvbmFyaWFzKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstdXR0dW8gLmxlYWQtYW5pbS1saW5lICsgLmxlYWQtYW5pbS1saW5lewogIG1hcmdpbi10b3A6LTFweDsKfQouYmxrLXV0dHVvIC5sZWFkLWFuaW0tbGluZTpmaXJzdC1jaGlsZHsgcGFkZGluZy10b3A6NnB4OyB9Ci5ibGstdXR0dW8gLmxlYWQtYW5pbS1saW5lOmxhc3QtY2hpbGR7IHBhZGRpbmctYm90dG9tOjZweDsgfQouYmxrLXV0dHVvIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstdXR0dW8gLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay11dHR1byAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHQgLmxlYWQtYW5pbS1saW5leyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6MDsgfQouYmxrLXV0dHVvIC5sZWFkLWFuaW0taGVhZGxpbmVzLmlzLXBvc2l0aXZlIC5sZWFkLWFuaW0tbGluZXsgY29sb3I6IzBFMTExQTsgfQouYmxrLXV0dHVvIC5sZWFkLWFuaW0tbGluZS1iZ3sgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7IHotaW5kZXg6LTE7IH0KLmJsay11dHR1byAubGVhZC1hbmltLWxpbmUtdGV4dHsgcG9zaXRpb246cmVsYXRpdmU7IH0KQGtleWZyYW1lcyBibGstdXR0dW8tYW5pbS1saW5lLXJldmVhbHsgdG97IGNsaXAtcGF0aDppbnNldCgwIDAgMCAwKTsgfSB9CgovKiBBbmNob3Igb3ZlcmxheSBmb3IgZnVsbCBjbGlja2FibGUgbGVhZCAqLwouYmxrLXV0dHVvIC5sZWFkLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjF9CgovKiBIb3ZlciBvcGFjaXR5IGFuaW1hdGlvbiAqLwouYmxrLXV0dHVvIC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAouYmxrLXV0dHVvIC5jb2x1bW4taXRlbTpob3ZlcntvcGFjaXR5Oi44fQovKiBGb3RvIHByaW5jaXBhbCAoZmFsbGJhY2svc2luZ2xlKSBvIGNhcnJ1c2VsIGRlIGZvdG9zOiBvcGFjaWRhZCAwLjkgYWwKICAgcGFzYXIgZWwgcmF0824gcG9yIGxhIHRhcmpldGEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4KICAgbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGEgdu1kZW8gbmkgYWwKICAgY29tcGFyYWRvciBhbnRlcy9kZXNwdelzLiAqLwouYmxrLXV0dHVvIC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLXV0dHVvIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay11dHR1byAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKLmJsay11dHR1byAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6Ljk7fQovKiBFbiBlbCBhbmNobyBt83ZpbCAobWlzbW8gQGNvbnRhaW5lciBxdWUgZWwgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvKSBubwogICBhcGxpY2EgZXN0YSBhbmltYWNp824gZGUgb3BhY2lkYWQgc29icmUgbGEgbm90aWNpYSBwcmluY2lwYWw6IHZhIERFU1BVyVMKICAgZGUgbGEgcmVnbGEgZ2VuZXJhbCBkZSBhcnJpYmEgKG1pc21hIGVzcGVjaWZpY2lkYWQpIHBhcmEgcG9kZXIgZ2FuYXJsZS4KICAgT21pdGlkbywgaWd1YWwgcXVlIGVsIGJsb3F1ZSBkZSB0aXBvZ3JhZu1hIGRlIGFycmliYSwgbWllbnRyYXMgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstdXR0dW8gLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCiAgLmJsay11dHR1byAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKICAuYmxrLXV0dHVvIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eToxO30KfQoKLyogQW5pbWFjafNuIGNvbXBhcnRpZGEgcGxheSBwcmluY2lwYWwgKyBjdWFkcmFkb3MgcGxheSBhcGlsYWRhcyAqLwpAa2V5ZnJhbWVzIGJsay11dHR1by1ibGlua3sKICAwJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpfQogIDUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSl9Cn0KLyogQ2FiZWNlcmEgKi8KLmJsay11dHR1byAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxMHB4IDAgMzJweH0KLmJsay11dHR1byAuZm5kLWxpbmVhe2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTo1cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOi0xOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzM30KLmJsay11dHR1byAuc2VjdGlvbi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NHB4IDEzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUxMTFBO3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTtmb250LXNpemU6NDJweDtjb2xvcjojMEUxMTFBO30KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsuYmxrLXV0dHVvIC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MCAxMHB4fX0KLyogQ2FiZWNlcmEgJiM4MjEyOyBEaXNl8W8gMiAodGl0dWxhciArIGNhcnJ1c2VsIGRlIGxvZ290aXBvcykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay11dHR1byAuaGVhZGVyMntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoyMHB4O3BhZGRpbmctYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzBFMTExQTt9Ci8qIGFsaWduLXNlbGY6ZmxleC1lbmQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSAxNXB4IGRlIGxhIGztbmVhIHNlcGFyYWRvcmEKICAgZW4gRGVzayAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MKICAgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXV0dHVvIC5oZWFkZXIyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtmbGV4OjEgMSA1MCU7bWluLWlubGluZS1zaXplOjA7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci5ibGstdXR0dW8gLmhlYWRlcjItdGFnc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleDowIDAgYXV0bzt9Ci8qIE1pc21vIHRhbWHxby90aXBvZ3JhZu1hIHF1ZSAubGVhZC1leGNsdXNpdmUtdGFnIChsYSBkZSBsYSBub3RpY2lhCiAgIHByaW5jaXBhbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZQogICBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay11dHR1byAuaGVhZGVyMi1jYXQtdGFnLAouYmxrLXV0dHVvIC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6LjhlbTtsZXR0ZXItc3BhY2luZzouNXB4O3BhZGRpbmc6MnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7fQouYmxrLXV0dHVvIC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay11dHR1byAuaGVhZGVyMi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZTozNnB4O2xpbmUtaGVpZ2h0OjEuMDU7Y29sb3I6IzBFMTExQTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWluLWlubGluZS1zaXplOjA7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO30KLyogU2VwYXJhY2nzbiBkZSAxMHB4IGVudHJlIGVsIHRleHRvIGRlIHBhdHJvY2luaW8geSBlbCBsb2dvIGVuIERlc2sgJiM4MjEyOyBlbgogICBN83ZpbCBzaWd1ZSBzaW4gc2VwYXJhY2nzbiAoZ2FwOjAsIHZlciBAY29udGFpbmVyIG3hcyBhYmFqbykuICovCi5ibGstdXR0dW8gLmhlYWRlcjItbG9nb3Mtd3JhcHtmbGV4OjAgMCBhdXRvO21heC1pbmxpbmUtc2l6ZTo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7fQovKiBFdGlxdWV0YSBvcGNpb25hbCBqdW50byBhbCBjYXJydXNlbCBkZSBsb2dvcyAocC5lai4gIlBhdHJvY2luYWRvIHBvcjoiKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXV0dHVvIC5oZWFkZXIyLWxvZ29zLWxhYmVse2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjY3O3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ibGstdXR0dW8gLmhlYWRlcjItbG9nb3N7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTYwcHg7YmxvY2stc2l6ZTo1MHB4O2ZsZXgtc2hyaW5rOjA7fQouYmxrLXV0dHVvIC5oZWFkZXIyLWxvZ29zIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO21heC1pbmxpbmUtc2l6ZToxMDAlO21heC1ibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb250YWluO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UtaW4tb3V0O30KLmJsay11dHR1byAuaGVhZGVyMi1sb2dvcyBpbWcuaXMtYWN0aXZle29wYWNpdHk6MTt9Ci8qIElndWFsIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsOiBwb3IgZGViYWpvIGRlIGVzdGUgYW5jaG8gc2UKICAgaW50ZW50YSBwcmltZXJvIDEgU09MQSBGSUxBIChldGlxdWV0YXMrdGl0dWxhciBqdW50byBhbCBsb2dvLCBpZ3VhbCBxdWUKICAgZW4gRGVzaywgYSB0YW1h8W8gcmVkdWNpZG8pLiBFbCBibG9xdWUgZGUgbG9nb3MgbWFudGllbmUgU0lFTVBSRSBzdQogICBkaXNwb3NpY2nzbiBlbiBjb2x1bW5hIChldGlxdWV0YSBkZSBwYXRyb2NpbmlvIGVuY2ltYSBkZWwgbG9nbywKICAgYWxpbmVhZG9zIGEgbGEgZGVyZWNoYSwgc2luIHNlcGFyYWNp824pIHRhbnRvIGVuIGVzdGEgZmlsYSD6bmljYSBjb21vIGVuCiAgIGVsIHJlc2d1YXJkbyBkZSBhYmFqby4gU2kgZWwgdGl0dWxhciwgc3VtYWRvIGFsIGFuY2hvIGRlIGxhcyBldGlxdWV0YXMKICAgYWN0aXZhcyAoY2F0ZWdvcu1hIHkvbyBleGNsdXNpdmEsIHNpIGxhcyBoYXkpLCBzdXBlcmEgZWwgNTUlIGRlbCBhbmNobwogICB0b3RhbCBkZSBsYSBjYWJlY2VyYSAoY2FkYSB1bm8gbWVkaWRvIGEgdW5hIHNvbGEgbO1uZWEpLCBlbCBzY3JpcHQKICAgc3RhbmRhbG9uZSBh8WFkaWRvIGFsIGZpbmFsIGRlIGVzdGUgSFRNTCAodmVyCiAgIGJ1aWxkSGVhZGVyMlN0YWNraW5nU2NyaXB0KCkpIGxvIGRldGVjdGEgbWlkaWVuZG8gc3UgYW5jaG8gbmF0dXJhbAogICB5IGHxYWRlIGxhIGNsYXNlICJoZWFkZXIyLXN0YWNrZWQiOiBlbCBibG9xdWUgZGUKICAgbG9nb3Mgc3ViZSBlbnRvbmNlcyBhIHN1IHByb3BpYSBmaWxhIChhbGluZWFkbyBhIGxhIGRlcmVjaGEpIHkKICAgdGl0dWxhcitldGlxdWV0YXMgYmFqYW4gYSBsYSBmaWxhIGRlIGFiYWpvLCBhIGFuY2hvIGNvbXBsZXRvICYjODIxMjsgbWlzbW8KICAgbGF5b3V0IGRlIDIgZmlsYXMgcXVlIGhhYu1hIGFudGVzIHNpZW1wcmUgcG9yIGRlYmFqbyBkZSBlc3RlIGJyZWFrcG9pbnQsCiAgIGFob3JhIHNvbG8gY29tbyByZXNndWFyZG8uIERlbnRybyBkZSBlc2UgcmVzZ3VhcmRvLCBjb24gZXRpcXVldGEocykgZWwKICAgdGl0dWxhciBwYXNhIGFkZW3hcyBhIHN1IFBST1BJQSBmaWxhIGEgYW5jaG8gY29tcGxldG8sIGRlYmFqbyBkZSBsYSBmaWxhIGRlIGV0aXF1ZXRhcyAodmVyCiAgICIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnQiIG3hcyBhYmFqbykuIEVsIGxvZ28gc2UgcmVkdWNlIHVuIDIwJQogICAoMTYweDUwICYjODU5NDsgMTI4eDQwKS4KICAgYWxpZ24tc2VsZjpmbGV4LWVuZCBlbiBoZWFkZXIyLWxlZnQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSBsb3MgMTBweAogICBkZWwgcGFkZGluZy1ib3R0b20gcmVzcGVjdG8gYSBsYSBs7W5lYSBzZXBhcmFkb3JhICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlCiAgIGVuIERlc2sgKHZlciBoZWFkZXIyLWxlZnQgbeFzIGFycmliYSk6IHNpbiBlc3RvLCBhbCBzZXIgZWwgYmxvcXVlIGRlCiAgIGxvZ29zIG3hcyBhbHRvIHF1ZSBlbCB0aXR1bGFyLCBlbCBjZW50cmFkbyB2ZXJ0aWNhbCBkZWwgcm93IGRlamFiYSB1bgogICBodWVjbyBtYXlvciBlbnRyZSBlbCB0aXR1bGFyIHkgbGEgbO1uZWEuIEVsIGJsb3F1ZSBkZSBsb2dvcyBzaWd1ZQogICBjZW50cmFkbyAoc2luIGVzZSBvdmVycmlkZSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay11dHR1byAuaGVhZGVyMntmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O30KICAuYmxrLXV0dHVvIC5oZWFkZXIyLWxlZnR7b3JkZXI6MTthbGlnbi1zZWxmOmZsZXgtZW5kO30KICAuYmxrLXV0dHVvIC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MjthbGlnbi1zZWxmOmNlbnRlcjttYXgtaW5saW5lLXNpemU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC5ibGstdXR0dW8gLmhlYWRlcjItbG9nb3N7aW5saW5lLXNpemU6MTI4cHg7YmxvY2stc2l6ZTo0MHB4O30KICAuYmxrLXV0dHVvIC5oZWFkZXIyLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KICAuYmxrLXV0dHVvIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9CiAgLmJsay11dHR1byAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdHtvcmRlcjoyO2FsaWduLXNlbGY6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NXB4O30KICAuYmxrLXV0dHVvIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjE7bWF4LWlubGluZS1zaXplOjEwMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC8qIFJlc2d1YXJkbyBpbnRlcm1lZGlvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YTogc29sbyBlbCB0aXR1bGFyIGJhamEgYSBzdQogICAgIHByb3BpYSBmaWxhIGEgYW5jaG8gY29tcGxldG8gY3VhbmRvIGxhcyBldGlxdWV0YXMgU80gY2FiZW4ganVudG8gYWwKICAgICBsb2dvIHBlcm8gZWwgdGl0dWxhciBuby4gaGVhZGVyMi1sZWZ0IHBhc2EgZGUgZmlsYSBhIGNvbHVtbmEKICAgICAoZXRpcXVldGFzIGFycmliYSwgdGl0dWxhciBkZWJham8pIHkgcmVjdXBlcmEgYWxpZ24tc2VsZjphdXRvIHBhcmEKICAgICBjZW50cmFyc2UgdmVydGljYWxtZW50ZSBjb250cmEgZWwgbG9nbyAoYWxpZ24tc2VsZjpjZW50ZXIgZGUgbGEgcmVnbGEKICAgICBiYXNlIGRlIC5oZWFkZXIyLWxvZ29zLXdyYXAsIGFycmliYSksIGlndWFsIHF1ZSBlbiBlbCByZXN0byBkZSBlc3RhZG9zLiAqLwogIC5ibGstdXR0dW8gLmhlYWRlcjIuaGVhZGVyMi10aXRsZS1iZWxvdyAuaGVhZGVyMi1sZWZ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6YXV0bztnYXA6NXB4O30KfQoKLyogRXN0aWxvICJmb3RvIGdyYW5kZSArIHRpdHVsYXIiOiBmb3RvIDE2OjkgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbyAmIzgyMTI7IGVsZWdpYmxlCiAgIHBvciBub3RpY2lhIGRlc2RlIGVsIGdlc3Rvci4gTm8gc2UgcmVzdHJpbmdlIGNvbiBAY29udGFpbmVyIHBvcnF1ZQogICAuY29sdW1uLWl0ZW0geWEgZXMgYmxvY2sgcG9yIGRlZmVjdG8gKGVsIHRodW1iIHkgZWwgdGV4dG8gc2UgYXBpbGFuIHNvbG9zCiAgIHNpbiBt4XMgYWp1c3RlKSwgYXPtIHF1ZSBlbCBkaXNl8W8gZnVuY2lvbmEgaWd1YWwgZGUgYmllbiBlbiBjdWFscXVpZXIKICAgYW5jaG8sIERlc2sgbyBN83ZpbC4gKi8KLmJsay11dHR1byAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay11dHR1byAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLXV0dHVvIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXdlaWdodDo5MDA7fQovKiBFbiBN83ZpbCBlbCB0aXR1bGFyIGRlIGVzdGUgZGlzZfFvIHNlIG11ZXN0cmEgbeFzIGdyYW5kZSAoMS41cmVtIGVuIHZleiBkZQogICBsb3MgMS4ycmVtIGRlIERlc2spICYjODIxMjsgbWlzbWEgZXNwZWNpZmljaWRhZCAoMyBjbGFzZXMpIHF1ZSBsYSByZWdsYSBkZQogICBhcnJpYmE7IGFsIGlyIERFU1BVyVMgZW4gZWwgQ1NTIGdhbmEgcG9yIG9yZGVuIGRlIGNhc2NhZGEuIFNlIHVzYSBlbAogICBicmVha3BvaW50IGRlIDQ4MHB4IChlbCBkZSB0aXBvZ3JhZu1hIGVuIGVzdGEgYXBwLCBubyBlbCBkZSA4NjBweCBxdWUgYXF17QogICBzb2xvIGdvYmllcm5hIGVsIGFwaWxhZG8gZGUgY29sdW1uYXMpIHBhcmEgcXVlIGNvaW5jaWRhIGNvbiBlbCByZXN0byBkZQogICBjYW1iaW9zIGRlIHRleHRvL3RhbWHxbyBwb3IgdmlzdGEuIE5vIGFmZWN0YSBhbCByZXNndWFyZG8gZGUgMiBjb2x1bW5hcyBlbgogICBt83ZpbCAobW9iLWdyaWQpLCBt4XMgZXNwZWPtZmljbyAoMThweCwgdmVyIG3hcyBhcnJpYmEpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstdXR0dW8gLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjEuNXJlbTt9Cn0KLyogRXN0aWxvICJCbG9xdWUgbWVkaWEiICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdXR0dW8gLm1lZGlhLWJsb2NrLW1lZGlhe2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOmF1dG87fQouYmxrLXV0dHVvIC5tZWRpYS1ibG9jay13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXV0dHVvIC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLXV0dHVvIC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay11dHR1byAuY29sdW1uLWl0ZW0ubGF5b3V0LW1lZGlhLWJsb2Nre2JvcmRlcjpub25lO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2Jsb2NrLXNpemU6YXV0bztmbGV4OjAgMCBhdXRvO30KLmJsay11dHR1byAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spe2ZsZXg6MSAxIGF1dG87fQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0iYmxrLXV0dHVvIj4KICAKICA8bWFpbiBjbGFzcz0icGFnZSI+CiAgICAKICAgIDxhcnRpY2xlIGNsYXNzPSJsZWFkIGxlYWQtYm9keS1yaWdodCI+CiAgICAgIDxkaXYgY2xhc3M9ImxlYWQtbWVkaWEiPgogICAgICAgIDxpbWcgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvbGEtcHJlc2lkZW50YS1kZWwtc3VwcmVtby1hdmlzYS1xdWUtbG9zLWF0YXF1ZXMtZGVsLWdvYmllcm5vLWEtbG9zLWp1ZWNlcy1zb24tdW5hLXByZXNpb24tZGUtZXh0cmFvcmRpbmFyaWEtZ3JhdmVkYWQtMjAyNjA5MTAtMTE0MjM4LTNjN2VkZS5qcGciIGFsdD0iTGEgcHJlc2lkZW50YSBkZWwgU3VwcmVtbyBhdmlzYSBxdWUgbG9zIGF0YXF1ZXMgZGVsIEdvYmllcm5vIGEgbG9zIGp1ZWNlcyBzb24gdW5hICZxdW90O3ByZXNp824mcXVvdDsgZGUgJnF1b3Q7ZXh0cmFvcmRpbmFyaWEgZ3JhdmVkYWQmcXVvdDsiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtb3ZlcmxheSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiYSgxNCwxNywyNiwwLjAwKTsiPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZDojMDBBN0ZGOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMEE3RkYiPkVTUEHRQTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHktbWFpbiI+CiAgICAgICAgICAKICAgICAgICAgIDxoMiBjbGFzcz0ibGVhZC10aXRsZSI+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtZGVzayI+TGEgcHJlc2lkZW50YSBkZWwgU3VwcmVtbyBhdmlzYSBxdWUgbG9zIGF0YXF1ZXMgZGVsIEdvYmllcm5vIGEgbG9zIGp1ZWNlcyBzb24gdW5hICZxdW90O3ByZXNp824mcXVvdDsgZGUgJnF1b3Q7ZXh0cmFvcmRpbmFyaWEgZ3JhdmVkYWQmcXVvdDs8L3NwYW4+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtbW9iaWxlIj5MYSBwcmVzaWRlbnRhIGRlbCBTdXByZW1vIGF2aXNhIHF1ZSBsb3MgYXRhcXVlcyBkZWwgR29iaWVybm8gYSBsb3MganVlY2VzIHNvbiB1bmEgJnF1b3Q7cHJlc2nzbiZxdW90OyBkZSAmcXVvdDtleHRyYW9yZGluYXJpYSBncmF2ZWRhZCZxdW90Ozwvc3Bhbj48L2gyPgogICAgICAgICAgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aG9yLWxhYmVsIj5GZXJu4W4gR29ueuFsZXo8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YSBjbGFzcz0ibGVhZC1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BhbmEvcHJlc2lkZW50YS1kZWwtc3VwcmVtby1hbGVydGEtcmV5LXF1ZS1hY3VzYXItanVlY2VzLWFjdHVhci1wb2xpdGljYS1leHRyYW9yZGluYXJpYS1ncmF2ZWRhZC0yMDI2Mzg0NSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJMYSBwcmVzaWRlbnRhIGRlbCBTdXByZW1vIGF2aXNhIHF1ZSBsb3MgYXRhcXVlcyBkZWwgR29iaWVybm8gYSBsb3MganVlY2VzIHNvbiB1bmEgJnF1b3Q7cHJlc2nzbiZxdW90OyBkZSAmcXVvdDtleHRyYW9yZGluYXJpYSBncmF2ZWRhZCZxdW90OyIgYXJpYS1sYWJlbD0iTGEgcHJlc2lkZW50YSBkZWwgU3VwcmVtbyBhdmlzYSBxdWUgbG9zIGF0YXF1ZXMgZGVsIEdvYmllcm5vIGEgbG9zIGp1ZWNlcyBzb24gdW5hICZxdW90O3ByZXNp824mcXVvdDsgZGUgJnF1b3Q7ZXh0cmFvcmRpbmFyaWEgZ3JhdmVkYWQmcXVvdDsiPjwvYT4KICAgIDwvYXJ0aWNsZT4KICA8L21haW4+CjwvZGl2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgdmFyIGFydGljbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmxrLXV0dHVvIC5sZWFkJyk7CiAgaWYgKCFhcnRpY2xlKSByZXR1cm47CiAgdmFyIG1haW4gPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLWJvZHktbWFpbicpOwogIHZhciB0aXRsZUVsID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC10aXRsZScpOwogIGlmICghbWFpbiB8fCAhdGl0bGVFbCkgcmV0dXJuOwogIHZhciBiYXNlRm9udFNpemVQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aXRsZUVsKS5mb250U2l6ZSkgfHwgMDsKICBpZiAoIWJhc2VGb250U2l6ZVB4KSByZXR1cm47CiAgdmFyIE1BWF9TQ0FMRSA9IDEuODsKICB2YXIgTUlOX1NDQUxFID0gMC41OwogIHZhciBNQVhfRk9OVF9QWCA9IDY0OyAvLyB+NHJlbSBjb24gbGEgYmFzZSBoYWJpdHVhbCBkZSAxNnB4IChtaXNtbyB0b3BlIHF1ZSBmaXRMZWFkVGl0bGVUb0JveCgpIGVuIGVsIGdlc3RvcikKICBmdW5jdGlvbiBmaXQoKXsKICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBiYXNlRm9udFNpemVQeCArICdweCc7CiAgICB2YXIgYXZhaWxhYmxlSGVpZ2h0ID0gbWFpbi5jbGllbnRIZWlnaHQ7CiAgICBpZiAoIWF2YWlsYWJsZUhlaWdodCkgcmV0dXJuOwogICAgLy8gVmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gZml0TGVhZFRpdGxlVG9Cb3goKSBkZWwgZ2VzdG9yOgogICAgLy8gbWFpbi5zY3JvbGxIZWlnaHQgbnVuY2EgYmFqYSBkZSBjbGllbnRIZWlnaHQgYXVucXVlIGVsIGNvbnRlbmlkbyByZWFsCiAgICAvLyBvY3VwZSBtZW5vcywgYXPtIHF1ZSBubyBzaXJ2ZSBwYXJhIGRldGVjdGFyIGN14W50byBzb2JyYSBvIGZhbHRhIGNvbgogICAgLy8gZWwgdGl0dWxhciBhY3R1YWwgJiM4MjEyOyBzZSBzdW1hIGVuIHN1IGx1Z2FyIGVsIGFsdG8gcmVhbCBkZSBjYWRhIGhpam8KICAgIC8vIFZJU0lCTEUgZGVsIGJsb3F1ZSwgc2Fsdm8gZWwgcHJvcGlvIHRpdHVsYXIsIG3hcyBlbCBodWVjbyAoImdhcCIpCiAgICAvLyBlbnRyZSBlbGxvczsgbm8gY2FtYmlhIGNvbiBlbCB0YW1h8W8gZGVsIHRpdHVsYXIsIGFz7SBxdWUgc2UgbWlkZSB1bmEKICAgIC8vIHNvbGEgdmV6LCBhbnRlcyBkZSBsYSBi+nNxdWVkYSBiaW5hcmlhLgogICAgdmFyIGdhcFB4ID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLnJvd0dhcCkgfHwgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLmdhcCkgfHwgMDsKICAgIHZhciB2aXNpYmxlQ2hpbGRyZW4gPSBbXS5zbGljZS5jYWxsKG1haW4uY2hpbGRyZW4pLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoYykuZGlzcGxheSAhPT0gJ25vbmUnOyB9KTsKICAgIHZhciBvdGhlcnNIZWlnaHQgPSB2aXNpYmxlQ2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gYyAhPT0gdGl0bGVFbDsgfSkucmVkdWNlKGZ1bmN0aW9uKHN1bSwgYyl7IHJldHVybiBzdW0gKyBjLm9mZnNldEhlaWdodDsgfSwgMCkKICAgICAgKyBnYXBQeCAqIE1hdGgubWF4KDAsIHZpc2libGVDaGlsZHJlbi5sZW5ndGggLSAxKTsKICAgIHZhciBhdmFpbGFibGVGb3JUaXRsZSA9IE1hdGgubWF4KDAsIGF2YWlsYWJsZUhlaWdodCAtIG90aGVyc0hlaWdodCk7CiAgICBpZiAoIWF2YWlsYWJsZUZvclRpdGxlKSByZXR1cm47CiAgICBmdW5jdGlvbiBoZWlnaHRBdFNjYWxlKHNjYWxlKXsKICAgICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IE1hdGgubWluKGJhc2VGb250U2l6ZVB4ICogc2NhbGUsIE1BWF9GT05UX1BYKSArICdweCc7CiAgICAgIHJldHVybiB0aXRsZUVsLm9mZnNldEhlaWdodDsKICAgIH0KICAgIHZhciBsbyA9IE1JTl9TQ0FMRSwgaGkgPSBNQVhfU0NBTEU7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDg7IGkrKyl7CiAgICAgIHZhciBtaWQgPSAobG8gKyBoaSkgLyAyOwogICAgICBpZiAoaGVpZ2h0QXRTY2FsZShtaWQpIDw9IGF2YWlsYWJsZUZvclRpdGxlKSBsbyA9IG1pZDsgZWxzZSBoaSA9IG1pZDsKICAgIH0KICAgIGhlaWdodEF0U2NhbGUobG8pOwogIH0KICBmaXQoKTsKICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkpeyBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKGZpdCk7IH0KICBpZiAod2luZG93LlJlc2l6ZU9ic2VydmVyKXsgbmV3IFJlc2l6ZU9ic2VydmVyKGZpdCkub2JzZXJ2ZShhcnRpY2xlKTsgfQogIGVsc2UgeyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZml0KTsgfQp9KSgpOwo8L3NjcmlwdD4=
      CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCkuICovCi5ibGstNmxranp7bWF4LWlubGluZS1zaXplOjk2MHB4O21hcmdpbjowIGF1dG87Y29udGFpbmVyLXR5cGU6aW5saW5lLXNpemU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTBweDt9Ci5ibGstNmxranogYXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjppbmhlcml0fQouYmxrLTZsa2p6IC5wYWdle2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDoxNXB4fQouYmxrLTZsa2p6IC5wYWdlIC5jb2x1bW57b3JkZXI6MX0KLmJsay02bGtqeiAucGFnZSAubGVhZHtvcmRlcjoyfQovKiA4NjBweCB5IG5vIDQ3NXB4OiBjb24gbGEgY29sdW1uYSBmaWphICgyMjBweCArIDIwcHggZGUgZ2FwID0gMjQwcHgpLAogICBjdWFscXVpZXIgYW5jaG8gZGUgaWZyYW1lIHBvciBkZWJham8gZGUgfjg2MHB4IGRlamEgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgKDFmcikgY2FkYSB2ZXogY29uIG1lbm9zIGVzcGFjaW8gaGFzdGEgY29sYXBzYXIgYSAwcHggZGUgYW5jaG8gYW50ZXMgZGUKICAgbGxlZ2FyIGEgdW4gYnJlYWtwb2ludCB0YW4gYmFqbyBjb21vIDQ3NXB4ICYjODIxMjsgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgZGlyZWN0YW1lbnRlIGRlc2FwYXJlY2UgZW4gZXNhIGZyYW5qYSBpbnRlcm1lZGlhIChuaSAiZGVzayIgY29tcGxldG8gbmkKICAgIm3zdmlsIiBlc3RyZWNobykuIENvbiA4NjBweCBzZSBwYXNhIGEgdW5hIHNvbGEgY29sdW1uYSBhcGlsYWRhIGFudGVzIGRlCiAgIHF1ZSBlc28gcHVlZGEgb2N1cnJpci4KICAgRXN0ZSBicmVha3BvaW50IHNlIG9taXRlIHBvciBjb21wbGV0byBtaWVudHJhcyBsYSBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkKICAgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldyk6IHBlbnNhZG8gcGFyYSBjdWFuZG8gZWwgbfNkdWxvIGxsZXZhIHN1CiAgIGNvbHVtbmEgYSA5NjBweCwgZGVqYSBkZSB0ZW5lciBzZW50aWRvIGVuIHVuYSBleHBvcnRhY2nzbiBkZSBzb2xvIGxhCiAgIG5vdGljaWEgcHJpbmNpcGFsIGEgdW4gYW5jaG8gZmlqbyBlbGVnaWRvIGEgbWFubyAmIzgyMTI7IGxvcyBhbmNob3Mgc2ltdWxhZG9zCiAgICg2MTMvNDYwLzMwN3B4KSBlc3ThbiBUT0RPUyBwb3IgZGViYWpvIGRlIDg2MHB4LCBhc+0gcXVlIHNpbiBlc3RlIGdhdGluZwogICBlbCBIVE1MIGV4cG9ydGFkbyBjYWVy7WEgc2llbXByZSBhIGxhIHRpcG9ncmFm7WEgIk3zdmlsIiAoY29uICFpbXBvcnRhbnQpCiAgIHNlYSBjdWFsIHNlYSBsYSBxdWUgZWwgdXN1YXJpbyBjb25maWd1cvMgZW4gIkRlc2siIHBhcmEgZXNhIHNpbXVsYWNp824sCiAgIGRhbmRvIGxhIGZhbHNhIHNlbnNhY2nzbiBkZSBxdWUgdW5hIGNvbmZpZ3VyYWNp824gInBpc2EiIGEgb3RyYS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsKICAuYmxrLTZsa2p6e2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjA7fQogIC5ibGstNmxranogLnBhZ2V7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0KICAuYmxrLTZsa2p6IC5wYWdlIC5zdGFjay10aXRsZSB7Zm9udC1zaXplOjE4cHg7IGxpbmUtaGVpZ2h0OiAxLjJlbTt9CiAgLmJsay02bGtqeiAucGFnZSAuc3RhY2stYXV0aG9yIHttYXJnaW4tdG9wOiAxMHB4O30KICAuYmxrLTZsa2p6IC5sZWFkLW1lZGlhLmlzLWlmcmFtZXtibG9jay1zaXplOjQwMHB4ICFpbXBvcnRhbnQ7fQogIC5ibGstNmxranogLmxlYWQtbWVkaWF7YXNwZWN0LXJhdGlvOjQvMyAhaW1wb3J0YW50O30KICAuYmxrLTZsa2p6IC5wYWdlIC5sZWFke29yZGVyOjF9CiAgLmJsay02bGtqeiAucGFnZSAuY29sdW1ue29yZGVyOjJ9CiAgLyogUG9yIGRlYmFqbyBkZWwgYnJlYWtwb2ludCwgZWwgbGVhZC1ib2R5IHNpZW1wcmUgdnVlbHZlIGEgaXIgZGViYWpvIGRlbAogICAgIGxlYWQtbWVkaWEgKG5vIGhheSBzaXRpbyBwYXJhIGVsIGxheW91dCBsYWRvIGEgbGFkbykuICovCiAgLmJsay02bGtqeiAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCwKICAuYmxrLTZsa2p6IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YXNwZWN0LXJhdGlvOmF1dG87fQogIC5ibGstNmxranogLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtbWVkaWEsCiAgLmJsay02bGtqeiAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDoxIDEgYXV0bzt9CiAgLmJsay02bGtqeiAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAogIC5ibGstNmxranogLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDoxIDEgYXV0bztpbmxpbmUtc2l6ZTo5MCU7bWFyZ2luOi0zMHB4IGF1dG8gMDtibG9jay1zaXplOmF1dG87YWxpZ24tc2VsZjphdXRvO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmc6MTBweDt9CiAgLmJsay02bGtqeiAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b257bGVmdDoxMHB4O3JpZ2h0OmF1dG87fQogIC5ibGstNmxranogLnBhZ2UgLmNvbHVtbi1pdGVte2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQogIC5ibGstNmxranogLnBhZ2UgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxLjE1O2NvbG9yOiMyYzNlNTM7bWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O30KICAuYmxrLTZsa2p6IC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0yMSAubGVmdC10aXRsZXtmb250LXNpemU6MjFweCAhaW1wb3J0YW50O30KICAuYmxrLTZsa2p6IC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0xOCAubGVmdC10aXRsZXtmb250LXNpemU6MThweCAhaW1wb3J0YW50O30KICAuYmxrLTZsa2p6IC5wYWdlIC5sZWZ0LXBsYXl7CiAgICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogICAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogICAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7CiAgfQogIC5ibGstNmxranogLnBhZ2UgLmxlZnQtcGxheTo6YmVmb3JlewogICAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4OwogIH0KfQovKiBUaXBvZ3JhZu1hICJN83ZpbCIgKGFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vdGl0dWxhcmVzIGFuaW1hZG9zKSBjb24gU1UKICAgUFJPUElPIGJyZWFrcG9pbnQgKDQ4MHB4KSwgc2VwYXJhZG8gZGVsIGRlIGFycmliYSAoODYwcHgsIHNvbG8gcGFyYSBhcGlsYXIKICAgbGEgcmVqaWxsYSBjb2x1bW5hK25vdGljaWEpOiB1biBjb250ZW5lZG9yIHJlYWwgZGUgbWVub3MgZGUgODYwcHggZXMgbXV5CiAgIGhhYml0dWFsIChwLmVqLiB1bmEgY29sdW1uYSBkZSBhcnTtY3VsbyBkZSB+NzAwcHgpIHkgTk8gZXMgdW4gbfN2aWwgJiM4MjEyOyBjb24KICAgdW4g+m5pY28gYnJlYWtwb2ludCBjb21wYXJ0aWRvLCBsYSB0aXBvZ3JhZu1hICJEZXNrIiBxdWUgY29uZmlndXJhIGVsCiAgIHVzdWFyaW8gbm8gbGxlZ2FiYSBhIHZlcnNlIG51bmNhIGVuIGVzZSBjYXNvLCBjYXllbmRvIHNpZW1wcmUgYSBsb3MgdmFsb3JlcwogICBwb3IgZGVmZWN0byBkZSAiTfN2aWwiIHNpbiBxdWUgbmFkaWUgbG8gaHViaWVyYSBwZWRpZG8uIDQ4MHB4IHPtIHNlCiAgIGNvcnJlc3BvbmRlIGNvbiB1biBhbmNobyBkZSBt83ZpbCByZWFsIChsYSB2aXN0YSAiTfN2aWwiIGRlbCBwcm9waW8gZ2VzdG9yCiAgIHNpbXVsYSAzNzVweCkuIElndWFsIHF1ZSBlbCBicmVha3BvaW50IGRlIGFycmliYSwgc2Ugb21pdGUgZHVyYW50ZSBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGRlIGxhIG5vdGljaWEgcHJpbmNpcGFsICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay02bGtqeiAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMwMEE3RkYgIWltcG9ydGFudDt9CiAgLmJsay02bGtqeiAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4xICFpbXBvcnRhbnQ7Y29sb3I6IzAwQTdGRiAhaW1wb3J0YW50O30KICAuYmxrLTZsa2p6IC5sZWFkLXRpdGxle2ZvbnQtc2l6ZToxLjdyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIC5ibGstNmxranogLmxlYWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay02bGtqeiAubGVhZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay02bGtqeiAubGVhZC1raWNrZXItZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay02bGtqeiAubGVhZC1raWNrZXItbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstNmxranogLmxlYWQtc3VidGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay02bGtqeiAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay02bGtqeiAubGVhZC1hbmltLWhlYWRsaW5lc3tmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIAogIC5ibGstNmxranogLnJlbGF0ZWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay02bGtqeiAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9Cn0KLmJsay02bGtqeiAubGVhZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay02bGtqeiAubGVhZC1tZWRpYXtwb3NpdGlvbjpyZWxhdGl2ZTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVufQovKiBNZWRpYSBtZWRpYW50ZSBpZnJhbWU6IGFsdG8gZmlqbyBlbiBw7XhlbGVzIGVuIHZleiBkZSBsYSBwcm9wb3JjafNuIGRlCiAgIGFycmliYSAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgc3RhdGUubGVhZC5pZnJhbWVIZWlnaHQpICYjODIxMjsgZWwKICAgdmFsb3IgZGUgTfN2aWwgc2Ugc29icmVzY3JpYmUgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8sIGlndWFsIHF1ZSBlbAogICByZXN0byBkZSBvdmVycmlkZXMgcmVzcG9uc2l2ZSBkZSBlc3RlIEhUTUwgZXhwb3J0YWRvLiAqLwouYmxrLTZsa2p6IC5sZWFkLW1lZGlhLmlzLWlmcmFtZXthc3BlY3QtcmF0aW86bm9uZTtibG9jay1zaXplOjY0MHB4O30KLmJsay02bGtqeiAubGVhZC1tZWRpYSBpbWcsCi5ibGstNmxranogLmxlYWQtbWVkaWEgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQovKiBDYXJydXNlbCBkZSBmb3RvcyBkZSBmb25kbyBjb24gZWZlY3RvIEtlbiBCdXJucyAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLgogICBMYSBkdXJhY2nzbiBkZSBsYXMgYW5pbWFjaW9uZXMgKDZzKSBjb2luY2lkZSBjb24KICAgTEVBRF9DQVJPVVNFTF9JTlRFUlZBTCwgcXVlIHRhbWJp6W4gZ29iaWVybmEgZWwgc2NyaXB0IGRlIHJvdGFjafNuCiAgIChidWlsZExlYWRDYXJvdXNlbFNjcmlwdCkgYfFhZGlkbyBhbCBmaW5hbCBkZWwgSFRNTCBleHBvcnRhZG8uICovCi5ibGstNmxranogLmxlYWQtY2Fyb3VzZWx7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLTZsa2p6IC5sZWFkLWNhcm91c2VsLXNsaWRle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAxLjVzIGVhc2U7fQouYmxrLTZsa2p6IC5sZWFkLWNhcm91c2VsLXNsaWRlLmlzLWFjdGl2ZXtvcGFjaXR5OjE7ei1pbmRleDoxO30KLmJsay02bGtqeiAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO30KLmJsay02bGtqeiAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQob2RkKSBpbWd7YW5pbWF0aW9uOmJsay02bGtqei1rZW5idXJucy1hIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KLmJsay02bGtqeiAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQoZXZlbikgaW1ne2FuaW1hdGlvbjpibGstNmxranota2VuYnVybnMtYiA2cyBlYXNlLWluLW91dCBmb3J3YXJkczt9CkBrZXlmcmFtZXMgYmxrLTZsa2p6LWtlbmJ1cm5zLWF7IGZyb217dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gdG97dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSgtNCUsLTMlKTt9IH0KQGtleWZyYW1lcyBibGstNmxranota2VuYnVybnMtYnsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKDQlLDMlKTt9IH0KLyogQ29uIHVuYSD6bmljYSBmb3RvIChzaW4gcm90YWNp824gcG9zaWJsZSkgc2UgYXBsaWNhIHVuIHpvb20gaW4vb3V0IGVuCiAgIGJ1Y2xlIGluZmluaXRvIGVuIHZleiBkZWwgcmVjb3JyaWRvIPpuaWNvIChmb3J3YXJkcykgZGUgYXJyaWJhLiAqLwouYmxrLTZsa2p6IC5sZWFkLWNhcm91c2VsLmlzLXNpbmdsZSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7YW5pbWF0aW9uOmJsay02bGtqei1rZW5idXJucy1sb29wIDE0cyBlYXNlLWluLW91dCBpbmZpbml0ZTt9CkBrZXlmcmFtZXMgYmxrLTZsa2p6LWtlbmJ1cm5zLWxvb3B7IDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IDUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gMTAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB9Ci8qIENvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcyAoZGVzbGl6YWRvcikgJiM4MjEyOyB2ZXIgZWwgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay02bGtqeiAubGVhZC1jb21wYXJle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3RvdWNoLWFjdGlvbjpub25lO3otaW5kZXg6Mjt9Ci5ibGstNmxranogLmxlYWQtY29tcGFyZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7ZGlzcGxheTpibG9jazt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1kcmFnOm5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstNmxranogLmxlYWQtY29tcGFyZS1iZWZvcmV7Y2xpcC1wYXRoOmluc2V0KDAgNTAlIDAgMCk7d2lsbC1jaGFuZ2U6Y2xpcC1wYXRoO30KLmJsay02bGtqeiAubGVhZC1jb21wYXJlLXJhbmdle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7bWFyZ2luOjA7b3BhY2l0eTowO2N1cnNvcjpldy1yZXNpemU7fQouYmxrLTZsa2p6IC5sZWFkLWNvbXBhcmUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6NTAlO2lubGluZS1zaXplOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjI7fQouYmxrLTZsa2p6IC5sZWFkLWNvbXBhcmUtaGFuZGxlOjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7aW5saW5lLXNpemU6MnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwuMjUpO30KLmJsay02bGtqeiAubGVhZC1jb21wYXJlLWhhbmRsZTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6LTE1cHg7aW5saW5lLXNpemU6MzBweDtibG9jay1zaXplOjMwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmIHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJz48ZyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J004IDYgTDQgMTAgTDggMTQnLz48cGF0aCBkPSdNMTIgNiBMMTYgMTAgTDEyIDE0Jy8+PC9nPjwvc3ZnPiIpIGNlbnRlci8xNnB4IDE2cHggbm8tcmVwZWF0O2JveC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsLjI1KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjI1KTt9Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBNaXNtbyB6LWluZGV4OjIgcXVlCiAgIC5sZWFkLWNvbXBhcmUsIHBvciBlbCBtaXNtbyBtb3Rpdm8gKGdhbmFybGUgYSAubGVhZC1saW5rKS4gKi8KLmJsay02bGtqeiAubGVhZC1pZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7ei1pbmRleDoyO30KLmJsay02bGtqeiAubGVhZC1pZnJhbWUgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGstNmxranogLmxlYWQtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay02bGtqeiAubGVhZC1ib2R5e3BhZGRpbmc6MHB4IDIwcHggMjBweCAyMHB4OztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgYWxpZ24taXRlbXM6Y2VudGVyOyBwb3NpdGlvbjpyZWxhdGl2ZTsgei1pbmRleDo2OyBwb2ludGVyLWV2ZW50czpub25lOyBpbmxpbmUtc2l6ZTo5NSU7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDphdXRvOyBtYXJnaW4tdG9wOi0zMHB4OyBiYWNrZ3JvdW5kOiMwRTExMUE7IGZsZXg6MSAxIGF1dG87fQovKiBBbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL2F1dG9yIGNlbnRyYWRvcyBlbiB2ZXJ0aWNhbCBkZW50cm8gZGVsIGFsdG8KICAgc29icmFudGUgYmFqbyBsYSBjYXRlZ29y7WEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay02bGtqeiAubGVhZC1ib2R5LW1haW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtpbmxpbmUtc2l6ZToxMDAlO2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowO30KLyogQXBhcmllbmNpYSBuZWdhdGl2YSAocG9yIGRlZmVjdG8pIHZzLiBwb3NpdGl2YSBkZSBsYSBjYWphIGRlIHRpdHVsYXIgJiM4MjEyOyB2ZXIKICAgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay02bGtqeiAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLWJvZHl7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTt9Ci5ibGstNmxranogLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC10aXRsZSwKLmJsay02bGtqeiAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5hdXRob3ItbGFiZWx7Y29sb3I6IzBFMTExQTt9Ci8qIFBvc2ljafNuIGRlbCBsZWFkLWJvZHkgcmVzcGVjdG8gYWwgbGVhZC1tZWRpYSAoJ2xlZnQnLydyaWdodCcpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstNmxranogLmxlYWQubGVhZC1ib2R5LWxlZnQsCi5ibGstNmxranogLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOnJvdzthc3BlY3QtcmF0aW86Mi45NjI5NjI5NjI5NjI5NjM7fQouYmxrLTZsa2p6IC5sZWFkLmxlYWQtYm9keS1sZWZ0e2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO30KLmJsay02bGtqeiAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKLmJsay02bGtqeiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDowIDAgNjAlO30KLmJsay02bGtqeiAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAouYmxrLTZsa2p6IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MCAwIGNhbGMoNDAlICsgMzBweCk7aW5saW5lLXNpemU6YXV0bzttYXJnaW4tdG9wOjA7YmxvY2stc2l6ZTpjYWxjKDEwMCUgLSA0MnB4KTthbGlnbi1zZWxmOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDt9Ci5ibGstNmxranogLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotMzBweDt9Ci5ibGstNmxranogLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXJpZ2h0OjA7fQovKiBQb3NpY2nzbiAnYm90dG9tLWZ1bGwnIGRlbCBsZWFkLWJvZHkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gaW5saW5lLXNpemUKICAgZW4gdmV6IGRlIHdpZHRoIHBvciBlbCBtaXNtbyBtb3Rpdm8gcXVlIGVsIHJlc3RvIGRlIGVzdGUgYmxvcXVlIChldml0YXIKICAgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbCB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MKICAgZGlyZWN0YW1lbnRlKS4gKi8KLmJsay02bGtqeiAubGVhZC5sZWFkLWJvZHktYm90dG9tLWZ1bGwgLmxlYWQtYm9keXsKICBpbmxpbmUtc2l6ZToxMDAlOwogIG1hcmdpbjowOwogIHBhZGRpbmctdG9wOjMwcHg7CiAgcGFkZGluZy1ib3R0b206MzBweDsKICBib3JkZXI6bm9uZTsKfQovKiBFdGlxdWV0YSBkZSBleGNsdXNpdmEgKG8gdGV4dG8gcGVyc29uYWxpemFkbykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay02bGtqeiAubGVhZC1leGNsdXNpdmUtdGFne3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDt6LWluZGV4OjM7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtsZXR0ZXItc3BhY2luZzowLjVweDtwYWRkaW5nOjJweCA4cHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwb2ludGVyLWV2ZW50czpub25lO30KLyogU2VsZWN0b3IgY29uIDMgY2xhc2VzICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKCIubGVhZC1tZWRpYSBpbWciIHRhbWJp6W4KICAgbWF0Y2hlYSBlc3RlIDxpbWc+IHkgbGUgZ2FuYWJhIGVuIGVzcGVjaWZpY2lkYWQpLiAqLwouYmxrLTZsa2p6IC5sZWFkLWV4Y2x1c2l2ZS10YWcgLmxlYWQtZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLTZsa2p6IC5sZWFkLWNhdHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06c2tld1koLTZkZWcpO21hcmdpbi10b3A6LTE1cHg7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay02bGtqeiAubGVhZC1raWNrZXIsIC5ibGstNmxranogLmxlYWQtc3VidGl0bGV7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO3RleHQtdHJhbnNmb3JtOm5vbmU7bWFyZ2luOjA7Cn0KLmJsay02bGtqeiAubGVhZC1raWNrZXJ7Zm9udC13ZWlnaHQ6NzAwO30KLmJsay02bGtqeiAubGVhZC1zdWJ0aXRsZXtmb250LXdlaWdodDo2MDA7fQovKiBUYW1h8W8vaW50ZXJsaW5lYWRvL2NvbG9yIGRlIGFudGV07XR1bG8geSBzdWJ07XR1bG8gZW4gRGVzayAodmFsb3JlcyBwb3IKICAgZGVmZWN0byBkZWwgYmxvcXVlOyBlbCBvdmVycmlkZSBkZSBN83ZpbCB2YSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywKICAgeWEgcXVlIGVsIEhUTUwgZXhwb3J0YWRvIGVzIHJlc3BvbnNpdmUgeSBubyBkZXBlbmRlIGRlIHF16SB2aXN0YSB0dXZpZXJhcwogICBzZWxlY2Npb25hZGEgZW4gZWwgZ2VzdG9yIGFsIGV4cG9ydGFyL2NvcGlhcikuICovCi5ibGstNmxranogLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjNyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiMwMEE3RkY7fQouYmxrLTZsa2p6IC5sZWFkLXN1YnRpdGxle2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiMwMEE3RkY7fQovKiB0ZXh0LXdyYXA6YmFsYW5jZSAmIzgyMTI7IG1pc21vIGNyaXRlcmlvIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlbCBnZXN0b3IgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIGVzYSByZWdsYSk6IHJlcGFydGUgbGFzCiAgIGztbmVhcyBkZWwgdGl0dWxhciBkZSBmb3JtYSBt4XMgdW5pZm9ybWUgZGVudHJvIGRlIGNhZGEgZGlzcG9zaXRpdm8sIHNpbgogICBwcmV0ZW5kZXIgaWd1YWxhciBlbCBu+m1lcm8gZGUgbO1uZWFzIGVudHJlIHBsYXRhZm9ybWFzIGRpc3RpbnRhcy4gKi8KLmJsay02bGtqeiAubGVhZC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjE7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt0ZXh0LXdyYXA6YmFsYW5jZTt9Ci8qIFRpdHVsYXIgY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGEgKHZlciBidWlsZFNjb3BlZEhUTUwpOgogICBzZSBnZW5lcmFuIGxvcyBkb3MgdGV4dG9zIChEZXNrL03zdmlsKSB5IGFxde0gc2UgbXVlc3RyYSBzb2xvIHVubyBzZWf6biBlbAogICBhbmNobyByZWFsIGRlbCBjb250ZW5lZG9yICYjODIxMjsgZWwgbWlzbW8gbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIHlhIHVzYSBlbAogICByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8gcGFyYSBhZGFwdGFyc2Ugc2luIGRlcGVuZGVyIGRlIEpTLiAqLwouYmxrLTZsa2p6IC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBBbnRldO10dWxvL3N1YnTtdHVsbyBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YTogbWlzbW8KICAgbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgKHZlciBhcnJpYmEpLiAqLwouYmxrLTZsa2p6IC5sZWFkLWtpY2tlci1tb2JpbGUsIC5ibGstNmxranogLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIFRpdHVsYXIgZGUgbm90aWNpYSByZWxhY2lvbmFkYSAoY29sdW1uYSkgY29uIHRleHRvIHByb3BpbyBlbiBN83ZpbCAodmVyCiAgIGl0ZW0udGl0bGVNb2JpbGUgZW4gYnVpbGRDb2x1bW5JdGVtVGl0bGVIVE1MKTogbWlzbW8gbWVjYW5pc21vIGRlCiAgIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgcHJpbmNpcGFsIGRlIGFycmliYS4gKi8KLmJsay02bGtqeiAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLmJsay02bGtqeiAuYXV0aG9yLWxhYmVse2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpyaWdodDtkaXNwbGF5OmJsb2NrfQouYmxrLTZsa2p6IC5jb2x1bW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47fQouYmxrLTZsa2p6IC5jb2x1bW4taXRlbXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLTZsa2p6IC50aHVtYntwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzo0LzM7YmFja2dyb3VuZDojZWVlO292ZXJmbG93OmhpZGRlbn0KLmJsay02bGtqeiAudGh1bWIgaW1nLAouYmxrLTZsa2p6IC50aHVtYiB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci5ibGstNmxranogLnRodW1iIC5wbGF5LXNxdWFyZSwKLmJsay02bGtqeiAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmV7CiAgcG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTo1cHg7IGxlZnQ6NXB4OwogIGlubGluZS1zaXplOjI1cHg7YmxvY2stc2l6ZToyNXB4O2JvcmRlci1yYWRpdXM6MnB4O2Rpc3BsYXk6aW5saW5lLWdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjE4KTsKICBjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cywgdHJhbnNmb3JtIC4xMnM7CiAgei1pbmRleDoyOyBhbmltYXRpb246YmxrLTZsa2p6LWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstNmxranogLnRodW1iIC5wbGF5LXNxdWFyZTo6YmVmb3JlLAouYmxrLTZsa2p6IC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo2cHggc29saWQgI2ZmZjtib3JkZXItdG9wOjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjVweCBzb2xpZCB0cmFuc3BhcmVudDsKICBtYXJnaW4tbGVmdDoycHg7Cn0KLmJsay02bGtqeiAudGh1bWIgLnBsYXktc3F1YXJlOmhvdmVyLAouYmxrLTZsa2p6IC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTpob3ZlcnsgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuODUpOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTsgfQouYmxrLTZsa2p6IC5zdGFjay10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjEuMTVlbTttYXJnaW46MDtjb2xvcjojMmMzZTUzO30KLmJsay02bGtqeiAuc3RhY2stYXV0aG9ye2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjtjb2xvcjojODI4NTk1O2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxMXB4O2xldHRlci1zcGFjaW5nOjA7dGV4dC1hbGlnbjpyaWdodDt9Ci8qIFNpbiBlc3RhIHJlZ2xhIGVsIGF1dG9yIHF1ZWRhIHBlZ2FkbyBqdXN0byBkZWJham8gZGVsIHRpdHVsYXIgZW4gdmV6IGRlCiAgIGFiYWpvIGRlIGxhIHRhcmpldGE6IC5tb2Qtc3RhY2sgbmVjZXNpdGEgc2VyIGZsZXgtY29sdW1uIGNvbgogICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiBwYXJhIHF1ZSBlbCBodWVjbyBzb2JyYW50ZSAoY3VhbmRvIGxhCiAgIHRhcmpldGEgY3JlY2UgbeFzIHF1ZSBzdSBjb250ZW5pZG8sIHZlciAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spCiAgIG3hcyBhYmFqbykgZW1wdWplIGVsIGF1dG9yIGhhY2lhIGVsIGJvcmRlIGluZmVyaW9yLiAqLwouYmxrLTZsa2p6IC5tb2Qtc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtmbGV4OjEgMSBhdXRvO30KLyogRXN0aWxvICJmb3RvIHBlcXVl8WEgKyB0aXR1bGFyIjogZm90byA0OjMgYSBsYSBpenF1aWVyZGEsIHRleHRvIGEgbGEgZGVyZWNoYS4gKi8KLmJsay02bGtqeiAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLWxlZnR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxMTBweCAxZnI7Z2FwOjEwcHg7fQovKiBFc3RpbG8gInNvbG8gdGV4dG8iIChwb3IgZGVmZWN0byk6IGVsIGF1dG9yIHNlIHBvc2ljaW9uYSBlbiBhYnNvbHV0bywKICAgYW5jbGFkbyBhIGxhIGVzcXVpbmEgaW5mZXJpb3IgZGVyZWNoYSBkZSBsYSB0YXJqZXRhIChpZ3VhbCBxdWUgZWwgcGxheSBkZQogICBsYXMgbWluaWF0dXJhcyksIGVuIHZleiBkZSBkZXBlbmRlciBkZSBxdWUgZWwgYmxvcXVlIGRlIHRleHRvIHRlbmdhIGh1ZWNvCiAgIGRlIHNvYnJhIHBhcmEgZW1wdWphcmxvIGFiYWpvIGNvbiBmbGV4Ym94ICYjODIxMjsgY29uIHTtdHVsb3MgZGUgMi0zIGztbmVhcyBlc2UKICAgaHVlY28gbm8gZXhpc3RlIHkgZWwgYXV0b3IgbnVuY2EgbGxlZ2FiYSBhIGJhamFyLiBwYWRkaW5nLWJvdHRvbSBlbgogICBsZWZ0LWJvZHkgcmVzZXJ2YSBlbCBlc3BhY2lvIHBhcmEgcXVlIGVsIHTtdHVsbyBubyBzZSBzb2xhcGUgY29uIOlsLiAqLwouYmxrLTZsa2p6IC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAubGVmdC1ib2R5e3BhZGRpbmctYm90dG9tOjMzcHg7fQouYmxrLTZsa2p6IC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAuc3RhY2stYXV0aG9ye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7Ym90dG9tOjEwcHg7bWFyZ2luLXRvcDowO30KLmJsay02bGtqeiAubGVmdC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjEuMTU7Y29sb3I6IzJjM2U1MzttYXJnaW46MDt0ZXh0LWFsaWduOmxlZnQ7fQouYmxrLTZsa2p6IC5sZWZ0LXBsYXl7CiAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjMDBhN2ZmOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206IDRweDsKfQouYmxrLTZsa2p6IC5sZWZ0LXBsYXk6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4Owp9Ci5ibGstNmxranogLnJlbGF0ZWQtbGl2ZS10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkY1MDUwOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkY1MDUwOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLTZsa2p6IC5yZWxhdGVkLWVkaXRvcmlhbC10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkFCMTIxOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkFCMTIxOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLTZsa2p6IC5wbGF5LWJ1dHRvbnsKICAvKiBBbmNoby9hbHRvIGZpam9zIGVuIHZleiBkZSBhc3BlY3QtcmF0aW86MS8xICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoZWwKICAgICBj4WxjdWxvIGRlICJzaHJpbmstdG8tZml0IiBwYXJhIHVuIDxidXR0b24+IGVuIGFic29sdXRvIHNpbiB0YW1h8W8KICAgICBleHBs7WNpdG8gbm8gZXMgZmlhYmxlIGVudHJlIG1vdG9yZXM7IGVuIFdlYktpdC9pT1MgZGFiYSB1biByZWN04W5ndWxvCiAgICAgdmVydGljYWwgZXN0cmVjaO1zaW1vIGVuIHZleiBkZSB1biBjdWFkcmFkbykuICovCiAgYXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOwogIHBvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDsKICBpbmxpbmUtc2l6ZTozNHB4O2Jsb2NrLXNpemU6MzRweDsKICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4OwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyk7CiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC40Mik7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjNweDsKICBjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7YW5pbWF0aW9uOmJsay02bGtqei1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLTZsa2p6IC5wbGF5LWJ1dHRvbiAucGxheS1pY29uewogIGlubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjtib3JkZXItdG9wOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDsKfQouYmxrLTZsa2p6IC5wbGF5LWJ1dHRvbiAucGxheS10ZXh0e2Rpc3BsYXk6bm9uZTt9Ci8qIEVuIGVsIG1vZG8gJ2xlZnQnIGVsIFBsYXkgcGFzYSBhIGxhIGVzcXVpbmEgc3VwZXJpb3IgZGVyZWNoYSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLTZsa2p6IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5wbGF5LWJ1dHRvbntsZWZ0OmF1dG87cmlnaHQ6MTBweDt9CgovKiBUaXR1bGFyZXMgYW5pbWFkb3MgKGNhcGEgYWx0ZXJuYXRpdmEgc29icmUgbGVhZC1tZWRpYSkgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYQogICBoZXJyYW1pZW50YS4gQ2FkYSB0aXR1bGFyIHRpZW5lIHN1IHByb3BpYSBwb3NpY2nzbiAoY2xhc2UgcG9zLSosIHZlcgogICBidWlsZFNjb3BlZEhUTUwpIHkgc2UgcmV2ZWxhIGztbmVhIHBvciBs7W5lYSAodW5hIHZleiBtZWRpZGFzIHN1cyBs7W5lYXMKICAgcmVhbGVzIHBvciBlbCBzY3JpcHQgc3RhbmRhbG9uZSwgdmVyIGJ1aWxkQW5pbUhlYWRsaW5lc1NjcmlwdCkgY29uIHVuYQogICBjYWphIGRlIGZvbmRvIGRldHLhcyBkZSBjYWRhIGztbmVhIHkgdW4gZmFkZSBkZSBvcGFjaWRhZCBlbnRyZSB0aXR1bGFyZXMuICovCi5ibGstNmxranogLmxlYWQtYW5pbS1oZWFkbGluZXN7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB6LWluZGV4OjQ7CiAgcG9pbnRlci1ldmVudHM6bm9uZTsKfQouYmxrLTZsa2p6IC5sZWFkLWFuaW0taGVhZGxpbmV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDoxNXB4OwogIG9wYWNpdHk6MDsKfQouYmxrLTZsa2p6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBib3R0b206NjBweDsgfQouYmxrLTZsa2p6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0eyB0b3A6NjBweDsgfQouYmxrLTZsa2p6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLTZsa2p6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay02bGtqeiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGstNmxranogLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBsZWZ0OmF1dG87IHJpZ2h0OjE1cHg7IH0KLmJsay02bGtqeiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHR7IHRvcDo2MHB4OyB9Ci5ibGstNmxranogLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLTZsa2p6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjYwcHg7IH0KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstNmxranogLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnQsCi5ibGstNmxranogLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnQsCi5ibGstNmxranogLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGxlZnQ6NDBweDsgfQouYmxrLTZsa2p6IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGstNmxranogLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay02bGtqeiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci5ibGstNmxranogLmxlYWQtYW5pbS1oZWFkbGluZS5pcy1hY3RpdmV7IG9wYWNpdHk6MTsgfQouYmxrLTZsa2p6IC5sZWFkLWFuaW0tbGluZXsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBkaXNwbGF5OnRhYmxlOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjsKICBmb250LXdlaWdodDo5MDA7CiAgY29sb3I6I2ZmZjsKICBwYWRkaW5nOjJweCA4cHg7CiAgY2xpcC1wYXRoOmluc2V0KDAgMTAwJSAwIDApOwogIG9wYWNpdHk6MTsKICB0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlOwp9Ci5ibGstNmxranogLmxlYWQtYW5pbS1saW5lLmlzLWhpZGluZ3sgb3BhY2l0eTowOyB9Ci8qIFNvbGFwZSBkZSAxcHggZW50ZXJhIGVudHJlIGztbmVhcyBwYXJhIGNlcnJhciBlbCBoaWxvIGRlIHN1Yi1w7XhlbCBxdWUKICAgcHVlZGUgcXVlZGFyIGVudHJlIHN1cyBjYWphcyBkZSBmb25kbyAocmVkb25kZW8gZGUgYWx0dXJhcyBmcmFjY2lvbmFyaWFzKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstNmxranogLmxlYWQtYW5pbS1saW5lICsgLmxlYWQtYW5pbS1saW5lewogIG1hcmdpbi10b3A6LTFweDsKfQouYmxrLTZsa2p6IC5sZWFkLWFuaW0tbGluZTpmaXJzdC1jaGlsZHsgcGFkZGluZy10b3A6NnB4OyB9Ci5ibGstNmxranogLmxlYWQtYW5pbS1saW5lOmxhc3QtY2hpbGR7IHBhZGRpbmctYm90dG9tOjZweDsgfQouYmxrLTZsa2p6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstNmxranogLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay02bGtqeiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHQgLmxlYWQtYW5pbS1saW5leyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6MDsgfQouYmxrLTZsa2p6IC5sZWFkLWFuaW0taGVhZGxpbmVzLmlzLXBvc2l0aXZlIC5sZWFkLWFuaW0tbGluZXsgY29sb3I6IzBFMTExQTsgfQouYmxrLTZsa2p6IC5sZWFkLWFuaW0tbGluZS1iZ3sgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7IHotaW5kZXg6LTE7IH0KLmJsay02bGtqeiAubGVhZC1hbmltLWxpbmUtdGV4dHsgcG9zaXRpb246cmVsYXRpdmU7IH0KQGtleWZyYW1lcyBibGstNmxranotYW5pbS1saW5lLXJldmVhbHsgdG97IGNsaXAtcGF0aDppbnNldCgwIDAgMCAwKTsgfSB9CgovKiBBbmNob3Igb3ZlcmxheSBmb3IgZnVsbCBjbGlja2FibGUgbGVhZCAqLwouYmxrLTZsa2p6IC5sZWFkLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjF9CgovKiBIb3ZlciBvcGFjaXR5IGFuaW1hdGlvbiAqLwouYmxrLTZsa2p6IC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAouYmxrLTZsa2p6IC5jb2x1bW4taXRlbTpob3ZlcntvcGFjaXR5Oi44fQovKiBGb3RvIHByaW5jaXBhbCAoZmFsbGJhY2svc2luZ2xlKSBvIGNhcnJ1c2VsIGRlIGZvdG9zOiBvcGFjaWRhZCAwLjkgYWwKICAgcGFzYXIgZWwgcmF0824gcG9yIGxhIHRhcmpldGEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4KICAgbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGEgdu1kZW8gbmkgYWwKICAgY29tcGFyYWRvciBhbnRlcy9kZXNwdelzLiAqLwouYmxrLTZsa2p6IC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLTZsa2p6IC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay02bGtqeiAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKLmJsay02bGtqeiAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6Ljk7fQovKiBFbiBlbCBhbmNobyBt83ZpbCAobWlzbW8gQGNvbnRhaW5lciBxdWUgZWwgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvKSBubwogICBhcGxpY2EgZXN0YSBhbmltYWNp824gZGUgb3BhY2lkYWQgc29icmUgbGEgbm90aWNpYSBwcmluY2lwYWw6IHZhIERFU1BVyVMKICAgZGUgbGEgcmVnbGEgZ2VuZXJhbCBkZSBhcnJpYmEgKG1pc21hIGVzcGVjaWZpY2lkYWQpIHBhcmEgcG9kZXIgZ2FuYXJsZS4KICAgT21pdGlkbywgaWd1YWwgcXVlIGVsIGJsb3F1ZSBkZSB0aXBvZ3JhZu1hIGRlIGFycmliYSwgbWllbnRyYXMgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstNmxranogLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCiAgLmJsay02bGtqeiAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKICAuYmxrLTZsa2p6IC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eToxO30KfQoKLyogQW5pbWFjafNuIGNvbXBhcnRpZGEgcGxheSBwcmluY2lwYWwgKyBjdWFkcmFkb3MgcGxheSBhcGlsYWRhcyAqLwpAa2V5ZnJhbWVzIGJsay02bGtqei1ibGlua3sKICAwJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpfQogIDUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSl9Cn0KLyogQ2FiZWNlcmEgKi8KLmJsay02bGtqeiAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxMHB4IDAgMzJweH0KLmJsay02bGtqeiAuZm5kLWxpbmVhe2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTo1cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOi0xOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzM30KLmJsay02bGtqeiAuc2VjdGlvbi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NHB4IDEzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUxMTFBO3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTtmb250LXNpemU6NDJweDtjb2xvcjojMEUxMTFBO30KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsuYmxrLTZsa2p6IC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MCAxMHB4fX0KLyogQ2FiZWNlcmEgJiM4MjEyOyBEaXNl8W8gMiAodGl0dWxhciArIGNhcnJ1c2VsIGRlIGxvZ290aXBvcykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay02bGtqeiAuaGVhZGVyMntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoyMHB4O3BhZGRpbmctYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzBFMTExQTt9Ci8qIGFsaWduLXNlbGY6ZmxleC1lbmQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSAxNXB4IGRlIGxhIGztbmVhIHNlcGFyYWRvcmEKICAgZW4gRGVzayAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MKICAgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTZsa2p6IC5oZWFkZXIyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtmbGV4OjEgMSA1MCU7bWluLWlubGluZS1zaXplOjA7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci5ibGstNmxranogLmhlYWRlcjItdGFnc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleDowIDAgYXV0bzt9Ci8qIE1pc21vIHRhbWHxby90aXBvZ3JhZu1hIHF1ZSAubGVhZC1leGNsdXNpdmUtdGFnIChsYSBkZSBsYSBub3RpY2lhCiAgIHByaW5jaXBhbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZQogICBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay02bGtqeiAuaGVhZGVyMi1jYXQtdGFnLAouYmxrLTZsa2p6IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6LjhlbTtsZXR0ZXItc3BhY2luZzouNXB4O3BhZGRpbmc6MnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7fQouYmxrLTZsa2p6IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay02bGtqeiAuaGVhZGVyMi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZTozNnB4O2xpbmUtaGVpZ2h0OjEuMDU7Y29sb3I6IzBFMTExQTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWluLWlubGluZS1zaXplOjA7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO30KLyogU2VwYXJhY2nzbiBkZSAxMHB4IGVudHJlIGVsIHRleHRvIGRlIHBhdHJvY2luaW8geSBlbCBsb2dvIGVuIERlc2sgJiM4MjEyOyBlbgogICBN83ZpbCBzaWd1ZSBzaW4gc2VwYXJhY2nzbiAoZ2FwOjAsIHZlciBAY29udGFpbmVyIG3hcyBhYmFqbykuICovCi5ibGstNmxranogLmhlYWRlcjItbG9nb3Mtd3JhcHtmbGV4OjAgMCBhdXRvO21heC1pbmxpbmUtc2l6ZTo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7fQovKiBFdGlxdWV0YSBvcGNpb25hbCBqdW50byBhbCBjYXJydXNlbCBkZSBsb2dvcyAocC5lai4gIlBhdHJvY2luYWRvIHBvcjoiKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTZsa2p6IC5oZWFkZXIyLWxvZ29zLWxhYmVse2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjY3O3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ibGstNmxranogLmhlYWRlcjItbG9nb3N7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTYwcHg7YmxvY2stc2l6ZTo1MHB4O2ZsZXgtc2hyaW5rOjA7fQouYmxrLTZsa2p6IC5oZWFkZXIyLWxvZ29zIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO21heC1pbmxpbmUtc2l6ZToxMDAlO21heC1ibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb250YWluO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UtaW4tb3V0O30KLmJsay02bGtqeiAuaGVhZGVyMi1sb2dvcyBpbWcuaXMtYWN0aXZle29wYWNpdHk6MTt9Ci8qIElndWFsIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsOiBwb3IgZGViYWpvIGRlIGVzdGUgYW5jaG8gc2UKICAgaW50ZW50YSBwcmltZXJvIDEgU09MQSBGSUxBIChldGlxdWV0YXMrdGl0dWxhciBqdW50byBhbCBsb2dvLCBpZ3VhbCBxdWUKICAgZW4gRGVzaywgYSB0YW1h8W8gcmVkdWNpZG8pLiBFbCBibG9xdWUgZGUgbG9nb3MgbWFudGllbmUgU0lFTVBSRSBzdQogICBkaXNwb3NpY2nzbiBlbiBjb2x1bW5hIChldGlxdWV0YSBkZSBwYXRyb2NpbmlvIGVuY2ltYSBkZWwgbG9nbywKICAgYWxpbmVhZG9zIGEgbGEgZGVyZWNoYSwgc2luIHNlcGFyYWNp824pIHRhbnRvIGVuIGVzdGEgZmlsYSD6bmljYSBjb21vIGVuCiAgIGVsIHJlc2d1YXJkbyBkZSBhYmFqby4gU2kgZWwgdGl0dWxhciwgc3VtYWRvIGFsIGFuY2hvIGRlIGxhcyBldGlxdWV0YXMKICAgYWN0aXZhcyAoY2F0ZWdvcu1hIHkvbyBleGNsdXNpdmEsIHNpIGxhcyBoYXkpLCBzdXBlcmEgZWwgNTUlIGRlbCBhbmNobwogICB0b3RhbCBkZSBsYSBjYWJlY2VyYSAoY2FkYSB1bm8gbWVkaWRvIGEgdW5hIHNvbGEgbO1uZWEpLCBlbCBzY3JpcHQKICAgc3RhbmRhbG9uZSBh8WFkaWRvIGFsIGZpbmFsIGRlIGVzdGUgSFRNTCAodmVyCiAgIGJ1aWxkSGVhZGVyMlN0YWNraW5nU2NyaXB0KCkpIGxvIGRldGVjdGEgbWlkaWVuZG8gc3UgYW5jaG8gbmF0dXJhbAogICB5IGHxYWRlIGxhIGNsYXNlICJoZWFkZXIyLXN0YWNrZWQiOiBlbCBibG9xdWUgZGUKICAgbG9nb3Mgc3ViZSBlbnRvbmNlcyBhIHN1IHByb3BpYSBmaWxhIChhbGluZWFkbyBhIGxhIGRlcmVjaGEpIHkKICAgdGl0dWxhcitldGlxdWV0YXMgYmFqYW4gYSBsYSBmaWxhIGRlIGFiYWpvLCBhIGFuY2hvIGNvbXBsZXRvICYjODIxMjsgbWlzbW8KICAgbGF5b3V0IGRlIDIgZmlsYXMgcXVlIGhhYu1hIGFudGVzIHNpZW1wcmUgcG9yIGRlYmFqbyBkZSBlc3RlIGJyZWFrcG9pbnQsCiAgIGFob3JhIHNvbG8gY29tbyByZXNndWFyZG8uIERlbnRybyBkZSBlc2UgcmVzZ3VhcmRvLCBjb24gZXRpcXVldGEocykgZWwKICAgdGl0dWxhciBwYXNhIGFkZW3hcyBhIHN1IFBST1BJQSBmaWxhIGEgYW5jaG8gY29tcGxldG8sIGRlYmFqbyBkZSBsYSBmaWxhIGRlIGV0aXF1ZXRhcyAodmVyCiAgICIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnQiIG3hcyBhYmFqbykuIEVsIGxvZ28gc2UgcmVkdWNlIHVuIDIwJQogICAoMTYweDUwICYjODU5NDsgMTI4eDQwKS4KICAgYWxpZ24tc2VsZjpmbGV4LWVuZCBlbiBoZWFkZXIyLWxlZnQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSBsb3MgMTBweAogICBkZWwgcGFkZGluZy1ib3R0b20gcmVzcGVjdG8gYSBsYSBs7W5lYSBzZXBhcmFkb3JhICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlCiAgIGVuIERlc2sgKHZlciBoZWFkZXIyLWxlZnQgbeFzIGFycmliYSk6IHNpbiBlc3RvLCBhbCBzZXIgZWwgYmxvcXVlIGRlCiAgIGxvZ29zIG3hcyBhbHRvIHF1ZSBlbCB0aXR1bGFyLCBlbCBjZW50cmFkbyB2ZXJ0aWNhbCBkZWwgcm93IGRlamFiYSB1bgogICBodWVjbyBtYXlvciBlbnRyZSBlbCB0aXR1bGFyIHkgbGEgbO1uZWEuIEVsIGJsb3F1ZSBkZSBsb2dvcyBzaWd1ZQogICBjZW50cmFkbyAoc2luIGVzZSBvdmVycmlkZSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay02bGtqeiAuaGVhZGVyMntmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O30KICAuYmxrLTZsa2p6IC5oZWFkZXIyLWxlZnR7b3JkZXI6MTthbGlnbi1zZWxmOmZsZXgtZW5kO30KICAuYmxrLTZsa2p6IC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MjthbGlnbi1zZWxmOmNlbnRlcjttYXgtaW5saW5lLXNpemU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC5ibGstNmxranogLmhlYWRlcjItbG9nb3N7aW5saW5lLXNpemU6MTI4cHg7YmxvY2stc2l6ZTo0MHB4O30KICAuYmxrLTZsa2p6IC5oZWFkZXIyLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KICAuYmxrLTZsa2p6IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9CiAgLmJsay02bGtqeiAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdHtvcmRlcjoyO2FsaWduLXNlbGY6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NXB4O30KICAuYmxrLTZsa2p6IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjE7bWF4LWlubGluZS1zaXplOjEwMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC8qIFJlc2d1YXJkbyBpbnRlcm1lZGlvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YTogc29sbyBlbCB0aXR1bGFyIGJhamEgYSBzdQogICAgIHByb3BpYSBmaWxhIGEgYW5jaG8gY29tcGxldG8gY3VhbmRvIGxhcyBldGlxdWV0YXMgU80gY2FiZW4ganVudG8gYWwKICAgICBsb2dvIHBlcm8gZWwgdGl0dWxhciBuby4gaGVhZGVyMi1sZWZ0IHBhc2EgZGUgZmlsYSBhIGNvbHVtbmEKICAgICAoZXRpcXVldGFzIGFycmliYSwgdGl0dWxhciBkZWJham8pIHkgcmVjdXBlcmEgYWxpZ24tc2VsZjphdXRvIHBhcmEKICAgICBjZW50cmFyc2UgdmVydGljYWxtZW50ZSBjb250cmEgZWwgbG9nbyAoYWxpZ24tc2VsZjpjZW50ZXIgZGUgbGEgcmVnbGEKICAgICBiYXNlIGRlIC5oZWFkZXIyLWxvZ29zLXdyYXAsIGFycmliYSksIGlndWFsIHF1ZSBlbiBlbCByZXN0byBkZSBlc3RhZG9zLiAqLwogIC5ibGstNmxranogLmhlYWRlcjIuaGVhZGVyMi10aXRsZS1iZWxvdyAuaGVhZGVyMi1sZWZ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6YXV0bztnYXA6NXB4O30KfQoKLyogRXN0aWxvICJmb3RvIGdyYW5kZSArIHRpdHVsYXIiOiBmb3RvIDE2OjkgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbyAmIzgyMTI7IGVsZWdpYmxlCiAgIHBvciBub3RpY2lhIGRlc2RlIGVsIGdlc3Rvci4gTm8gc2UgcmVzdHJpbmdlIGNvbiBAY29udGFpbmVyIHBvcnF1ZQogICAuY29sdW1uLWl0ZW0geWEgZXMgYmxvY2sgcG9yIGRlZmVjdG8gKGVsIHRodW1iIHkgZWwgdGV4dG8gc2UgYXBpbGFuIHNvbG9zCiAgIHNpbiBt4XMgYWp1c3RlKSwgYXPtIHF1ZSBlbCBkaXNl8W8gZnVuY2lvbmEgaWd1YWwgZGUgYmllbiBlbiBjdWFscXVpZXIKICAgYW5jaG8sIERlc2sgbyBN83ZpbC4gKi8KLmJsay02bGtqeiAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay02bGtqeiAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLTZsa2p6IC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXdlaWdodDo5MDA7fQovKiBFbiBN83ZpbCBlbCB0aXR1bGFyIGRlIGVzdGUgZGlzZfFvIHNlIG11ZXN0cmEgbeFzIGdyYW5kZSAoMS41cmVtIGVuIHZleiBkZQogICBsb3MgMS4ycmVtIGRlIERlc2spICYjODIxMjsgbWlzbWEgZXNwZWNpZmljaWRhZCAoMyBjbGFzZXMpIHF1ZSBsYSByZWdsYSBkZQogICBhcnJpYmE7IGFsIGlyIERFU1BVyVMgZW4gZWwgQ1NTIGdhbmEgcG9yIG9yZGVuIGRlIGNhc2NhZGEuIFNlIHVzYSBlbAogICBicmVha3BvaW50IGRlIDQ4MHB4IChlbCBkZSB0aXBvZ3JhZu1hIGVuIGVzdGEgYXBwLCBubyBlbCBkZSA4NjBweCBxdWUgYXF17QogICBzb2xvIGdvYmllcm5hIGVsIGFwaWxhZG8gZGUgY29sdW1uYXMpIHBhcmEgcXVlIGNvaW5jaWRhIGNvbiBlbCByZXN0byBkZQogICBjYW1iaW9zIGRlIHRleHRvL3RhbWHxbyBwb3IgdmlzdGEuIE5vIGFmZWN0YSBhbCByZXNndWFyZG8gZGUgMiBjb2x1bW5hcyBlbgogICBt83ZpbCAobW9iLWdyaWQpLCBt4XMgZXNwZWPtZmljbyAoMThweCwgdmVyIG3hcyBhcnJpYmEpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstNmxranogLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjEuNXJlbTt9Cn0KLyogRXN0aWxvICJCbG9xdWUgbWVkaWEiICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstNmxranogLm1lZGlhLWJsb2NrLW1lZGlhe2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOmF1dG87fQouYmxrLTZsa2p6IC5tZWRpYS1ibG9jay13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7fQouYmxrLTZsa2p6IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLTZsa2p6IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay02bGtqeiAuY29sdW1uLWl0ZW0ubGF5b3V0LW1lZGlhLWJsb2Nre2JvcmRlcjpub25lO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2Jsb2NrLXNpemU6YXV0bztmbGV4OjAgMCBhdXRvO30KLmJsay02bGtqeiAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spe2ZsZXg6MSAxIGF1dG87fQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0iYmxrLTZsa2p6Ij4KICAKICA8bWFpbiBjbGFzcz0icGFnZSI+CiAgICAKICAgIDxhcnRpY2xlIGNsYXNzPSJsZWFkIGxlYWQtYm9keS1yaWdodCI+CiAgICAgIDxkaXYgY2xhc3M9ImxlYWQtbWVkaWEiPgogICAgICAgIDxpbWcgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvbGEtcHJlc2lkZW50YS1kZWwtc3VwcmVtby1hdmlzYS1xdWUtbG9zLWF0YXF1ZXMtZGVsLWdvYmllcm5vLWEtbG9zLWp1ZWNlcy1zb24tdW5hLXByZXNpb24tZGUtZXh0cmFvcmRpbmFyaWEtZ3JhdmVkYWQtMjAyNjA5MTAtMTE0MjM4LTNjN2VkZS5qcGciIGFsdD0iTGEgcHJlc2lkZW50YSBkZWwgU3VwcmVtbyBhdmlzYSBxdWUgbG9zIGF0YXF1ZXMgZGVsIEdvYmllcm5vIGEgbG9zIGp1ZWNlcyBzb24gdW5hICZxdW90O3ByZXNp824mcXVvdDsgZGUgJnF1b3Q7ZXh0cmFvcmRpbmFyaWEgZ3JhdmVkYWQmcXVvdDsiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtb3ZlcmxheSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiYSgxNCwxNywyNiwwLjAwKTsiPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZDojMDBBN0ZGOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMEE3RkYiPkVTUEHRQTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHktbWFpbiI+CiAgICAgICAgICAKICAgICAgICAgIDxoMiBjbGFzcz0ibGVhZC10aXRsZSI+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtZGVzayI+TGEgcHJlc2lkZW50YSBkZWwgU3VwcmVtbyBhdmlzYSBxdWUgbG9zIGF0YXF1ZXMgZGVsIEdvYmllcm5vIGEgbG9zIGp1ZWNlcyBzb24gdW5hICZxdW90O3ByZXNp824mcXVvdDsgZGUgJnF1b3Q7ZXh0cmFvcmRpbmFyaWEgZ3JhdmVkYWQmcXVvdDs8L3NwYW4+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtbW9iaWxlIj5MYSBwcmVzaWRlbnRhIGRlbCBTdXByZW1vIGF2aXNhIHF1ZSBsb3MgYXRhcXVlcyBkZWwgR29iaWVybm8gYSBsb3MganVlY2VzIHNvbiB1bmEgJnF1b3Q7cHJlc2nzbiZxdW90OyBkZSAmcXVvdDtleHRyYW9yZGluYXJpYSBncmF2ZWRhZCZxdW90Ozwvc3Bhbj48L2gyPgogICAgICAgICAgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aG9yLWxhYmVsIj5GZXJu4W4gR29ueuFsZXo8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YSBjbGFzcz0ibGVhZC1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BhbmEvcHJlc2lkZW50YS1kZWwtc3VwcmVtby1hbGVydGEtcmV5LXF1ZS1hY3VzYXItanVlY2VzLWFjdHVhci1wb2xpdGljYS1leHRyYW9yZGluYXJpYS1ncmF2ZWRhZC0yMDI2Mzg0NSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJMYSBwcmVzaWRlbnRhIGRlbCBTdXByZW1vIGF2aXNhIHF1ZSBsb3MgYXRhcXVlcyBkZWwgR29iaWVybm8gYSBsb3MganVlY2VzIHNvbiB1bmEgJnF1b3Q7cHJlc2nzbiZxdW90OyBkZSAmcXVvdDtleHRyYW9yZGluYXJpYSBncmF2ZWRhZCZxdW90OyIgYXJpYS1sYWJlbD0iTGEgcHJlc2lkZW50YSBkZWwgU3VwcmVtbyBhdmlzYSBxdWUgbG9zIGF0YXF1ZXMgZGVsIEdvYmllcm5vIGEgbG9zIGp1ZWNlcyBzb24gdW5hICZxdW90O3ByZXNp824mcXVvdDsgZGUgJnF1b3Q7ZXh0cmFvcmRpbmFyaWEgZ3JhdmVkYWQmcXVvdDsiPjwvYT4KICAgIDwvYXJ0aWNsZT4KICA8L21haW4+CjwvZGl2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgdmFyIGFydGljbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmxrLTZsa2p6IC5sZWFkJyk7CiAgaWYgKCFhcnRpY2xlKSByZXR1cm47CiAgdmFyIG1haW4gPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLWJvZHktbWFpbicpOwogIHZhciB0aXRsZUVsID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC10aXRsZScpOwogIGlmICghbWFpbiB8fCAhdGl0bGVFbCkgcmV0dXJuOwogIHZhciBiYXNlRm9udFNpemVQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aXRsZUVsKS5mb250U2l6ZSkgfHwgMDsKICBpZiAoIWJhc2VGb250U2l6ZVB4KSByZXR1cm47CiAgdmFyIE1BWF9TQ0FMRSA9IDEuODsKICB2YXIgTUlOX1NDQUxFID0gMC41OwogIHZhciBNQVhfRk9OVF9QWCA9IDY0OyAvLyB+NHJlbSBjb24gbGEgYmFzZSBoYWJpdHVhbCBkZSAxNnB4IChtaXNtbyB0b3BlIHF1ZSBmaXRMZWFkVGl0bGVUb0JveCgpIGVuIGVsIGdlc3RvcikKICBmdW5jdGlvbiBmaXQoKXsKICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBiYXNlRm9udFNpemVQeCArICdweCc7CiAgICB2YXIgYXZhaWxhYmxlSGVpZ2h0ID0gbWFpbi5jbGllbnRIZWlnaHQ7CiAgICBpZiAoIWF2YWlsYWJsZUhlaWdodCkgcmV0dXJuOwogICAgLy8gVmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gZml0TGVhZFRpdGxlVG9Cb3goKSBkZWwgZ2VzdG9yOgogICAgLy8gbWFpbi5zY3JvbGxIZWlnaHQgbnVuY2EgYmFqYSBkZSBjbGllbnRIZWlnaHQgYXVucXVlIGVsIGNvbnRlbmlkbyByZWFsCiAgICAvLyBvY3VwZSBtZW5vcywgYXPtIHF1ZSBubyBzaXJ2ZSBwYXJhIGRldGVjdGFyIGN14W50byBzb2JyYSBvIGZhbHRhIGNvbgogICAgLy8gZWwgdGl0dWxhciBhY3R1YWwgJiM4MjEyOyBzZSBzdW1hIGVuIHN1IGx1Z2FyIGVsIGFsdG8gcmVhbCBkZSBjYWRhIGhpam8KICAgIC8vIFZJU0lCTEUgZGVsIGJsb3F1ZSwgc2Fsdm8gZWwgcHJvcGlvIHRpdHVsYXIsIG3hcyBlbCBodWVjbyAoImdhcCIpCiAgICAvLyBlbnRyZSBlbGxvczsgbm8gY2FtYmlhIGNvbiBlbCB0YW1h8W8gZGVsIHRpdHVsYXIsIGFz7SBxdWUgc2UgbWlkZSB1bmEKICAgIC8vIHNvbGEgdmV6LCBhbnRlcyBkZSBsYSBi+nNxdWVkYSBiaW5hcmlhLgogICAgdmFyIGdhcFB4ID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLnJvd0dhcCkgfHwgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLmdhcCkgfHwgMDsKICAgIHZhciB2aXNpYmxlQ2hpbGRyZW4gPSBbXS5zbGljZS5jYWxsKG1haW4uY2hpbGRyZW4pLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoYykuZGlzcGxheSAhPT0gJ25vbmUnOyB9KTsKICAgIHZhciBvdGhlcnNIZWlnaHQgPSB2aXNpYmxlQ2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gYyAhPT0gdGl0bGVFbDsgfSkucmVkdWNlKGZ1bmN0aW9uKHN1bSwgYyl7IHJldHVybiBzdW0gKyBjLm9mZnNldEhlaWdodDsgfSwgMCkKICAgICAgKyBnYXBQeCAqIE1hdGgubWF4KDAsIHZpc2libGVDaGlsZHJlbi5sZW5ndGggLSAxKTsKICAgIHZhciBhdmFpbGFibGVGb3JUaXRsZSA9IE1hdGgubWF4KDAsIGF2YWlsYWJsZUhlaWdodCAtIG90aGVyc0hlaWdodCk7CiAgICBpZiAoIWF2YWlsYWJsZUZvclRpdGxlKSByZXR1cm47CiAgICBmdW5jdGlvbiBoZWlnaHRBdFNjYWxlKHNjYWxlKXsKICAgICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IE1hdGgubWluKGJhc2VGb250U2l6ZVB4ICogc2NhbGUsIE1BWF9GT05UX1BYKSArICdweCc7CiAgICAgIHJldHVybiB0aXRsZUVsLm9mZnNldEhlaWdodDsKICAgIH0KICAgIHZhciBsbyA9IE1JTl9TQ0FMRSwgaGkgPSBNQVhfU0NBTEU7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDg7IGkrKyl7CiAgICAgIHZhciBtaWQgPSAobG8gKyBoaSkgLyAyOwogICAgICBpZiAoaGVpZ2h0QXRTY2FsZShtaWQpIDw9IGF2YWlsYWJsZUZvclRpdGxlKSBsbyA9IG1pZDsgZWxzZSBoaSA9IG1pZDsKICAgIH0KICAgIGhlaWdodEF0U2NhbGUobG8pOwogIH0KICBmaXQoKTsKICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkpeyBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKGZpdCk7IH0KICBpZiAod2luZG93LlJlc2l6ZU9ic2VydmVyKXsgbmV3IFJlc2l6ZU9ic2VydmVyKGZpdCkub2JzZXJ2ZShhcnRpY2xlKTsgfQogIGVsc2UgeyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZml0KTsgfQp9KSgpOwo8L3NjcmlwdD4=
    • La Fiscalía alerta de una oleada de rebajas de pena para condenados por corrupción por el atasco en los juzgados
        • España
        • España

      La Fiscalía alerta de una oleada de rebajas de pena para condenados por corrupción por el atasco en los juzgados

      La Fiscalía ha alertado en su memoria anual de que las dilaciones en los tribunales continúan erosionando la respuesta penal en dos ámbitos especialmente sensibles: las macrocausas de corrupción y los procedimientos por accidentes de trabajo. El Ministerio Público ha calificado esta situación como "una de las lacras que dañan la eficacia y la propia credibilidad de la Administración de Justicia".
      • Fernán González
      • 2026-09-10 13:09
    • El Gobierno tiene a los policías en Ceuta durmiendo en camas mugrientas mientras a los ilegales se las pone nuevas
        • España
        • España

      El Gobierno tiene a los policías en Ceuta durmiendo en camas mugrientas mientras a los ilegales se las pone nuevas

      • Rosalina Moreno
      • 2026-09-10 14:43
    • CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCkuICovCi5ibGstNTVwM3F7bWF4LWlubGluZS1zaXplOjk2MHB4O21hcmdpbjowIGF1dG87Y29udGFpbmVyLXR5cGU6aW5saW5lLXNpemU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTBweDt9Ci5ibGstNTVwM3EgYXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjppbmhlcml0fQouYmxrLTU1cDNxIC5wYWdle2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDMwMHB4O2dhcDoxNXB4fQouYmxrLTU1cDNxIC5wYWdlIC5jb2x1bW57b3JkZXI6M30KLmJsay01NXAzcSAucGFnZSAubGVhZHtvcmRlcjoyfQovKiA4NjBweCB5IG5vIDQ3NXB4OiBjb24gbGEgY29sdW1uYSBmaWphICgyMjBweCArIDIwcHggZGUgZ2FwID0gMjQwcHgpLAogICBjdWFscXVpZXIgYW5jaG8gZGUgaWZyYW1lIHBvciBkZWJham8gZGUgfjg2MHB4IGRlamEgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgKDFmcikgY2FkYSB2ZXogY29uIG1lbm9zIGVzcGFjaW8gaGFzdGEgY29sYXBzYXIgYSAwcHggZGUgYW5jaG8gYW50ZXMgZGUKICAgbGxlZ2FyIGEgdW4gYnJlYWtwb2ludCB0YW4gYmFqbyBjb21vIDQ3NXB4ICYjODIxMjsgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgZGlyZWN0YW1lbnRlIGRlc2FwYXJlY2UgZW4gZXNhIGZyYW5qYSBpbnRlcm1lZGlhIChuaSAiZGVzayIgY29tcGxldG8gbmkKICAgIm3zdmlsIiBlc3RyZWNobykuIENvbiA4NjBweCBzZSBwYXNhIGEgdW5hIHNvbGEgY29sdW1uYSBhcGlsYWRhIGFudGVzIGRlCiAgIHF1ZSBlc28gcHVlZGEgb2N1cnJpci4KICAgRXN0ZSBicmVha3BvaW50IHNlIG9taXRlIHBvciBjb21wbGV0byBtaWVudHJhcyBsYSBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkKICAgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldyk6IHBlbnNhZG8gcGFyYSBjdWFuZG8gZWwgbfNkdWxvIGxsZXZhIHN1CiAgIGNvbHVtbmEgYSA5NjBweCwgZGVqYSBkZSB0ZW5lciBzZW50aWRvIGVuIHVuYSBleHBvcnRhY2nzbiBkZSBzb2xvIGxhCiAgIG5vdGljaWEgcHJpbmNpcGFsIGEgdW4gYW5jaG8gZmlqbyBlbGVnaWRvIGEgbWFubyAmIzgyMTI7IGxvcyBhbmNob3Mgc2ltdWxhZG9zCiAgICg2MTMvNDYwLzMwN3B4KSBlc3ThbiBUT0RPUyBwb3IgZGViYWpvIGRlIDg2MHB4LCBhc+0gcXVlIHNpbiBlc3RlIGdhdGluZwogICBlbCBIVE1MIGV4cG9ydGFkbyBjYWVy7WEgc2llbXByZSBhIGxhIHRpcG9ncmFm7WEgIk3zdmlsIiAoY29uICFpbXBvcnRhbnQpCiAgIHNlYSBjdWFsIHNlYSBsYSBxdWUgZWwgdXN1YXJpbyBjb25maWd1cvMgZW4gIkRlc2siIHBhcmEgZXNhIHNpbXVsYWNp824sCiAgIGRhbmRvIGxhIGZhbHNhIHNlbnNhY2nzbiBkZSBxdWUgdW5hIGNvbmZpZ3VyYWNp824gInBpc2EiIGEgb3RyYS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsKICAuYmxrLTU1cDNxe2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjA7fQogIC5ibGstNTVwM3EgLnBhZ2V7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0KICAuYmxrLTU1cDNxIC5wYWdlIC5zdGFjay10aXRsZSB7Zm9udC1zaXplOjE4cHg7IGxpbmUtaGVpZ2h0OiAxLjJlbTt9CiAgLmJsay01NXAzcSAucGFnZSAuc3RhY2stYXV0aG9yIHttYXJnaW4tdG9wOiAxMHB4O30KICAuYmxrLTU1cDNxIC5sZWFkLW1lZGlhLmlzLWlmcmFtZXtibG9jay1zaXplOjQwMHB4ICFpbXBvcnRhbnQ7fQogIC5ibGstNTVwM3EgLmxlYWQtbWVkaWF7YXNwZWN0LXJhdGlvOjE2LzkgIWltcG9ydGFudDt9CiAgLmJsay01NXAzcSAucGFnZSAubGVhZHtvcmRlcjoxfQogIC5ibGstNTVwM3EgLnBhZ2UgLmNvbHVtbntvcmRlcjoyfQogIC8qIFBvciBkZWJham8gZGVsIGJyZWFrcG9pbnQsIGVsIGxlYWQtYm9keSBzaWVtcHJlIHZ1ZWx2ZSBhIGlyIGRlYmFqbyBkZWwKICAgICBsZWFkLW1lZGlhIChubyBoYXkgc2l0aW8gcGFyYSBlbCBsYXlvdXQgbGFkbyBhIGxhZG8pLiAqLwogIC5ibGstNTVwM3EgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQsCiAgLmJsay01NXAzcSAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FzcGVjdC1yYXRpbzphdXRvO30KICAuYmxrLTU1cDNxIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAogIC5ibGstNTVwM3EgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLW1lZGlhe2ZsZXg6MSAxIGF1dG87fQogIC5ibGstNTVwM3EgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keSwKICAuYmxrLTU1cDNxIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MSAxIGF1dG87aW5saW5lLXNpemU6OTAlO21hcmdpbjotMzBweCBhdXRvIDA7YmxvY2stc2l6ZTphdXRvO2FsaWduLXNlbGY6YXV0bztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nOjEwcHg7fQogIC5ibGstNTVwM3EgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9ue2xlZnQ6MTBweDtyaWdodDphdXRvO30KICAuYmxrLTU1cDNxIC5wYWdlIC5jb2x1bW4taXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLTU1cDNxIC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay01NXAzcSAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMjEgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjIxcHggIWltcG9ydGFudDt9CiAgLmJsay01NXAzcSAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMTggLmxlZnQtdGl0bGV7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDt9CiAgLmJsay01NXAzcSAucGFnZSAubGVmdC1wbGF5ewogICAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICAgIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4OwogIH0KICAuYmxrLTU1cDNxIC5wYWdlIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKICB9Cn0KLyogVGlwb2dyYWbtYSAiTfN2aWwiIChhbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL3RpdHVsYXJlcyBhbmltYWRvcykgY29uIFNVCiAgIFBST1BJTyBicmVha3BvaW50ICg0ODBweCksIHNlcGFyYWRvIGRlbCBkZSBhcnJpYmEgKDg2MHB4LCBzb2xvIHBhcmEgYXBpbGFyCiAgIGxhIHJlamlsbGEgY29sdW1uYStub3RpY2lhKTogdW4gY29udGVuZWRvciByZWFsIGRlIG1lbm9zIGRlIDg2MHB4IGVzIG11eQogICBoYWJpdHVhbCAocC5lai4gdW5hIGNvbHVtbmEgZGUgYXJ07WN1bG8gZGUgfjcwMHB4KSB5IE5PIGVzIHVuIG3zdmlsICYjODIxMjsgY29uCiAgIHVuIPpuaWNvIGJyZWFrcG9pbnQgY29tcGFydGlkbywgbGEgdGlwb2dyYWbtYSAiRGVzayIgcXVlIGNvbmZpZ3VyYSBlbAogICB1c3VhcmlvIG5vIGxsZWdhYmEgYSB2ZXJzZSBudW5jYSBlbiBlc2UgY2FzbywgY2F5ZW5kbyBzaWVtcHJlIGEgbG9zIHZhbG9yZXMKICAgcG9yIGRlZmVjdG8gZGUgIk3zdmlsIiBzaW4gcXVlIG5hZGllIGxvIGh1YmllcmEgcGVkaWRvLiA0ODBweCBz7SBzZQogICBjb3JyZXNwb25kZSBjb24gdW4gYW5jaG8gZGUgbfN2aWwgcmVhbCAobGEgdmlzdGEgIk3zdmlsIiBkZWwgcHJvcGlvIGdlc3RvcgogICBzaW11bGEgMzc1cHgpLiBJZ3VhbCBxdWUgZWwgYnJlYWtwb2ludCBkZSBhcnJpYmEsIHNlIG9taXRlIGR1cmFudGUgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBkZSBsYSBub3RpY2lhIHByaW5jaXBhbCAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstNTVwM3EgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDtjb2xvcjojMDBBN0ZGICFpbXBvcnRhbnQ7fQogIC5ibGstNTVwM3EgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMwMEE3RkYgIWltcG9ydGFudDt9CiAgLmJsay01NXAzcSAubGVhZC10aXRsZXtmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIC5ibGstNTVwM3EgLmxlYWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay01NXAzcSAubGVhZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay01NXAzcSAubGVhZC1raWNrZXItZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay01NXAzcSAubGVhZC1raWNrZXItbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstNTVwM3EgLmxlYWQtc3VidGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay01NXAzcSAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay01NXAzcSAubGVhZC1hbmltLWhlYWRsaW5lc3tmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIAogIC5ibGstNTVwM3EgLnJlbGF0ZWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay01NXAzcSAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9Cn0KLmJsay01NXAzcSAubGVhZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay01NXAzcSAubGVhZC1tZWRpYXtwb3NpdGlvbjpyZWxhdGl2ZTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVufQovKiBNZWRpYSBtZWRpYW50ZSBpZnJhbWU6IGFsdG8gZmlqbyBlbiBw7XhlbGVzIGVuIHZleiBkZSBsYSBwcm9wb3JjafNuIGRlCiAgIGFycmliYSAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgc3RhdGUubGVhZC5pZnJhbWVIZWlnaHQpICYjODIxMjsgZWwKICAgdmFsb3IgZGUgTfN2aWwgc2Ugc29icmVzY3JpYmUgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8sIGlndWFsIHF1ZSBlbAogICByZXN0byBkZSBvdmVycmlkZXMgcmVzcG9uc2l2ZSBkZSBlc3RlIEhUTUwgZXhwb3J0YWRvLiAqLwouYmxrLTU1cDNxIC5sZWFkLW1lZGlhLmlzLWlmcmFtZXthc3BlY3QtcmF0aW86bm9uZTtibG9jay1zaXplOjY0MHB4O30KLmJsay01NXAzcSAubGVhZC1tZWRpYSBpbWcsCi5ibGstNTVwM3EgLmxlYWQtbWVkaWEgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQovKiBDYXJydXNlbCBkZSBmb3RvcyBkZSBmb25kbyBjb24gZWZlY3RvIEtlbiBCdXJucyAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLgogICBMYSBkdXJhY2nzbiBkZSBsYXMgYW5pbWFjaW9uZXMgKDZzKSBjb2luY2lkZSBjb24KICAgTEVBRF9DQVJPVVNFTF9JTlRFUlZBTCwgcXVlIHRhbWJp6W4gZ29iaWVybmEgZWwgc2NyaXB0IGRlIHJvdGFjafNuCiAgIChidWlsZExlYWRDYXJvdXNlbFNjcmlwdCkgYfFhZGlkbyBhbCBmaW5hbCBkZWwgSFRNTCBleHBvcnRhZG8uICovCi5ibGstNTVwM3EgLmxlYWQtY2Fyb3VzZWx7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLTU1cDNxIC5sZWFkLWNhcm91c2VsLXNsaWRle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAxLjVzIGVhc2U7fQouYmxrLTU1cDNxIC5sZWFkLWNhcm91c2VsLXNsaWRlLmlzLWFjdGl2ZXtvcGFjaXR5OjE7ei1pbmRleDoxO30KLmJsay01NXAzcSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO30KLmJsay01NXAzcSAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQob2RkKSBpbWd7YW5pbWF0aW9uOmJsay01NXAzcS1rZW5idXJucy1hIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KLmJsay01NXAzcSAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQoZXZlbikgaW1ne2FuaW1hdGlvbjpibGstNTVwM3Eta2VuYnVybnMtYiA2cyBlYXNlLWluLW91dCBmb3J3YXJkczt9CkBrZXlmcmFtZXMgYmxrLTU1cDNxLWtlbmJ1cm5zLWF7IGZyb217dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gdG97dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSgtNCUsLTMlKTt9IH0KQGtleWZyYW1lcyBibGstNTVwM3Eta2VuYnVybnMtYnsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKDQlLDMlKTt9IH0KLyogQ29uIHVuYSD6bmljYSBmb3RvIChzaW4gcm90YWNp824gcG9zaWJsZSkgc2UgYXBsaWNhIHVuIHpvb20gaW4vb3V0IGVuCiAgIGJ1Y2xlIGluZmluaXRvIGVuIHZleiBkZWwgcmVjb3JyaWRvIPpuaWNvIChmb3J3YXJkcykgZGUgYXJyaWJhLiAqLwouYmxrLTU1cDNxIC5sZWFkLWNhcm91c2VsLmlzLXNpbmdsZSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7YW5pbWF0aW9uOmJsay01NXAzcS1rZW5idXJucy1sb29wIDE0cyBlYXNlLWluLW91dCBpbmZpbml0ZTt9CkBrZXlmcmFtZXMgYmxrLTU1cDNxLWtlbmJ1cm5zLWxvb3B7IDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IDUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gMTAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB9Ci8qIENvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcyAoZGVzbGl6YWRvcikgJiM4MjEyOyB2ZXIgZWwgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay01NXAzcSAubGVhZC1jb21wYXJle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3RvdWNoLWFjdGlvbjpub25lO3otaW5kZXg6Mjt9Ci5ibGstNTVwM3EgLmxlYWQtY29tcGFyZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7ZGlzcGxheTpibG9jazt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1kcmFnOm5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstNTVwM3EgLmxlYWQtY29tcGFyZS1iZWZvcmV7Y2xpcC1wYXRoOmluc2V0KDAgNTAlIDAgMCk7d2lsbC1jaGFuZ2U6Y2xpcC1wYXRoO30KLmJsay01NXAzcSAubGVhZC1jb21wYXJlLXJhbmdle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7bWFyZ2luOjA7b3BhY2l0eTowO2N1cnNvcjpldy1yZXNpemU7fQouYmxrLTU1cDNxIC5sZWFkLWNvbXBhcmUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6NTAlO2lubGluZS1zaXplOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjI7fQouYmxrLTU1cDNxIC5sZWFkLWNvbXBhcmUtaGFuZGxlOjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7aW5saW5lLXNpemU6MnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwuMjUpO30KLmJsay01NXAzcSAubGVhZC1jb21wYXJlLWhhbmRsZTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6LTE1cHg7aW5saW5lLXNpemU6MzBweDtibG9jay1zaXplOjMwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmIHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJz48ZyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J004IDYgTDQgMTAgTDggMTQnLz48cGF0aCBkPSdNMTIgNiBMMTYgMTAgTDEyIDE0Jy8+PC9nPjwvc3ZnPiIpIGNlbnRlci8xNnB4IDE2cHggbm8tcmVwZWF0O2JveC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsLjI1KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjI1KTt9Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBNaXNtbyB6LWluZGV4OjIgcXVlCiAgIC5sZWFkLWNvbXBhcmUsIHBvciBlbCBtaXNtbyBtb3Rpdm8gKGdhbmFybGUgYSAubGVhZC1saW5rKS4gKi8KLmJsay01NXAzcSAubGVhZC1pZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7ei1pbmRleDoyO30KLmJsay01NXAzcSAubGVhZC1pZnJhbWUgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGstNTVwM3EgLmxlYWQtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay01NXAzcSAubGVhZC1ib2R5e3BhZGRpbmc6MHB4IDIwcHggMjBweCAyMHB4OztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgYWxpZ24taXRlbXM6Y2VudGVyOyBwb3NpdGlvbjpyZWxhdGl2ZTsgei1pbmRleDo2OyBwb2ludGVyLWV2ZW50czpub25lOyBpbmxpbmUtc2l6ZTo5NSU7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDphdXRvOyBtYXJnaW4tdG9wOi0zMHB4OyBiYWNrZ3JvdW5kOiMwRTExMUE7IGZsZXg6MSAxIGF1dG87fQovKiBBbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL2F1dG9yIGNlbnRyYWRvcyBlbiB2ZXJ0aWNhbCBkZW50cm8gZGVsIGFsdG8KICAgc29icmFudGUgYmFqbyBsYSBjYXRlZ29y7WEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay01NXAzcSAubGVhZC1ib2R5LW1haW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtpbmxpbmUtc2l6ZToxMDAlO2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowO30KLyogQXBhcmllbmNpYSBuZWdhdGl2YSAocG9yIGRlZmVjdG8pIHZzLiBwb3NpdGl2YSBkZSBsYSBjYWphIGRlIHRpdHVsYXIgJiM4MjEyOyB2ZXIKICAgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay01NXAzcSAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLWJvZHl7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTt9Ci5ibGstNTVwM3EgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC10aXRsZSwKLmJsay01NXAzcSAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5hdXRob3ItbGFiZWx7Y29sb3I6IzBFMTExQTt9Ci8qIFBvc2ljafNuIGRlbCBsZWFkLWJvZHkgcmVzcGVjdG8gYWwgbGVhZC1tZWRpYSAoJ2xlZnQnLydyaWdodCcpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstNTVwM3EgLmxlYWQubGVhZC1ib2R5LWxlZnQsCi5ibGstNTVwM3EgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOnJvdzthc3BlY3QtcmF0aW86Mi45NjI5NjI5NjI5NjI5NjM7fQouYmxrLTU1cDNxIC5sZWFkLmxlYWQtYm9keS1sZWZ0e2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO30KLmJsay01NXAzcSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKLmJsay01NXAzcSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDowIDAgNjAlO30KLmJsay01NXAzcSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAouYmxrLTU1cDNxIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MCAwIGNhbGMoNDAlICsgMzBweCk7aW5saW5lLXNpemU6YXV0bzttYXJnaW4tdG9wOjA7YmxvY2stc2l6ZTpjYWxjKDEwMCUgLSA0MnB4KTthbGlnbi1zZWxmOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDt9Ci5ibGstNTVwM3EgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotMzBweDt9Ci5ibGstNTVwM3EgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXJpZ2h0OjA7fQovKiBQb3NpY2nzbiAnYm90dG9tLWZ1bGwnIGRlbCBsZWFkLWJvZHkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gaW5saW5lLXNpemUKICAgZW4gdmV6IGRlIHdpZHRoIHBvciBlbCBtaXNtbyBtb3Rpdm8gcXVlIGVsIHJlc3RvIGRlIGVzdGUgYmxvcXVlIChldml0YXIKICAgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbCB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MKICAgZGlyZWN0YW1lbnRlKS4gKi8KLmJsay01NXAzcSAubGVhZC5sZWFkLWJvZHktYm90dG9tLWZ1bGwgLmxlYWQtYm9keXsKICBpbmxpbmUtc2l6ZToxMDAlOwogIG1hcmdpbjowOwogIHBhZGRpbmctdG9wOjMwcHg7CiAgcGFkZGluZy1ib3R0b206MzBweDsKICBib3JkZXI6bm9uZTsKfQovKiBFdGlxdWV0YSBkZSBleGNsdXNpdmEgKG8gdGV4dG8gcGVyc29uYWxpemFkbykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay01NXAzcSAubGVhZC1leGNsdXNpdmUtdGFne3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDt6LWluZGV4OjM7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtsZXR0ZXItc3BhY2luZzowLjVweDtwYWRkaW5nOjJweCA4cHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwb2ludGVyLWV2ZW50czpub25lO30KLyogU2VsZWN0b3IgY29uIDMgY2xhc2VzICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKCIubGVhZC1tZWRpYSBpbWciIHRhbWJp6W4KICAgbWF0Y2hlYSBlc3RlIDxpbWc+IHkgbGUgZ2FuYWJhIGVuIGVzcGVjaWZpY2lkYWQpLiAqLwouYmxrLTU1cDNxIC5sZWFkLWV4Y2x1c2l2ZS10YWcgLmxlYWQtZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLTU1cDNxIC5sZWFkLWNhdHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06c2tld1koLTZkZWcpO21hcmdpbi10b3A6LTE1cHg7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay01NXAzcSAubGVhZC1raWNrZXIsIC5ibGstNTVwM3EgLmxlYWQtc3VidGl0bGV7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO3RleHQtdHJhbnNmb3JtOm5vbmU7bWFyZ2luOjA7Cn0KLmJsay01NXAzcSAubGVhZC1raWNrZXJ7Zm9udC13ZWlnaHQ6NzAwO30KLmJsay01NXAzcSAubGVhZC1zdWJ0aXRsZXtmb250LXdlaWdodDo2MDA7fQovKiBUYW1h8W8vaW50ZXJsaW5lYWRvL2NvbG9yIGRlIGFudGV07XR1bG8geSBzdWJ07XR1bG8gZW4gRGVzayAodmFsb3JlcyBwb3IKICAgZGVmZWN0byBkZWwgYmxvcXVlOyBlbCBvdmVycmlkZSBkZSBN83ZpbCB2YSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywKICAgeWEgcXVlIGVsIEhUTUwgZXhwb3J0YWRvIGVzIHJlc3BvbnNpdmUgeSBubyBkZXBlbmRlIGRlIHF16SB2aXN0YSB0dXZpZXJhcwogICBzZWxlY2Npb25hZGEgZW4gZWwgZ2VzdG9yIGFsIGV4cG9ydGFyL2NvcGlhcikuICovCi5ibGstNTVwM3EgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiMwMEE3RkY7fQouYmxrLTU1cDNxIC5sZWFkLXN1YnRpdGxle2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiMwMEE3RkY7fQovKiB0ZXh0LXdyYXA6YmFsYW5jZSAmIzgyMTI7IG1pc21vIGNyaXRlcmlvIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlbCBnZXN0b3IgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIGVzYSByZWdsYSk6IHJlcGFydGUgbGFzCiAgIGztbmVhcyBkZWwgdGl0dWxhciBkZSBmb3JtYSBt4XMgdW5pZm9ybWUgZGVudHJvIGRlIGNhZGEgZGlzcG9zaXRpdm8sIHNpbgogICBwcmV0ZW5kZXIgaWd1YWxhciBlbCBu+m1lcm8gZGUgbO1uZWFzIGVudHJlIHBsYXRhZm9ybWFzIGRpc3RpbnRhcy4gKi8KLmJsay01NXAzcSAubGVhZC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZToyLjJyZW07bGluZS1oZWlnaHQ6MS4wMjttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO3RleHQtd3JhcDpiYWxhbmNlO30KLyogVGl0dWxhciBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YSAodmVyIGJ1aWxkU2NvcGVkSFRNTCk6CiAgIHNlIGdlbmVyYW4gbG9zIGRvcyB0ZXh0b3MgKERlc2svTfN2aWwpIHkgYXF17SBzZSBtdWVzdHJhIHNvbG8gdW5vIHNlZ/puIGVsCiAgIGFuY2hvIHJlYWwgZGVsIGNvbnRlbmVkb3IgJiM4MjEyOyBlbCBtaXNtbyBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgeWEgdXNhIGVsCiAgIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbyBwYXJhIGFkYXB0YXJzZSBzaW4gZGVwZW5kZXIgZGUgSlMuICovCi5ibGstNTVwM3EgLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIEFudGV07XR1bG8vc3VidO10dWxvIGNvbiBzYWx0b3MgZGUgbO1uZWEgaW5kZXBlbmRpZW50ZXMgcG9yIHZpc3RhOiBtaXNtbwogICBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciAodmVyIGFycmliYSkuICovCi5ibGstNTVwM3EgLmxlYWQta2lja2VyLW1vYmlsZSwgLmJsay01NXAzcSAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLyogVGl0dWxhciBkZSBub3RpY2lhIHJlbGFjaW9uYWRhIChjb2x1bW5hKSBjb24gdGV4dG8gcHJvcGlvIGVuIE3zdmlsICh2ZXIKICAgaXRlbS50aXRsZU1vYmlsZSBlbiBidWlsZENvbHVtbkl0ZW1UaXRsZUhUTUwpOiBtaXNtbyBtZWNhbmlzbW8gZGUKICAgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciBwcmluY2lwYWwgZGUgYXJyaWJhLiAqLwouYmxrLTU1cDNxIC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQouYmxrLTU1cDNxIC5hdXRob3ItbGFiZWx7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOnJpZ2h0O2Rpc3BsYXk6YmxvY2t9Ci5ibGstNTVwM3EgLmNvbHVtbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjt9Ci5ibGstNTVwM3EgLmNvbHVtbi1pdGVte2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO3BhZGRpbmc6MTBweDtiYWNrZ3JvdW5kOiNmZmY7YmxvY2stc2l6ZTpzdHJldGNoO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGstNTVwM3EgLnRodW1ie3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjQvMztiYWNrZ3JvdW5kOiNlZWU7b3ZlcmZsb3c6aGlkZGVufQouYmxrLTU1cDNxIC50aHVtYiBpbWcsCi5ibGstNTVwM3EgLnRodW1iIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KLmJsay01NXAzcSAudGh1bWIgLnBsYXktc3F1YXJlLAouYmxrLTU1cDNxIC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOjVweDsgbGVmdDo1cHg7CiAgaW5saW5lLXNpemU6MjVweDtibG9jay1zaXplOjI1cHg7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7CiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTgpOwogIGN1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLCB0cmFuc2Zvcm0gLjEyczsKICB6LWluZGV4OjI7IGFuaW1hdGlvbjpibGstNTVwM3EtYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJsay01NXAzcSAudGh1bWIgLnBsYXktc3F1YXJlOjpiZWZvcmUsCi5ibGstNTVwM3EgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOjpiZWZvcmV7CiAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIG1hcmdpbi1sZWZ0OjJweDsKfQouYmxrLTU1cDNxIC50aHVtYiAucGxheS1zcXVhcmU6aG92ZXIsCi5ibGstNTVwM3EgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOmhvdmVyeyBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC44NSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOyB9Ci5ibGstNTVwM3EgLnN0YWNrLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE3cHg7bGluZS1oZWlnaHQ6MS4xNWVtO21hcmdpbjowO2NvbG9yOiMyYzNlNTM7fQouYmxrLTU1cDNxIC5zdGFjay1hdXRob3J7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1ib29rIixzYW5zLXNlcmlmO2NvbG9yOiM4Mjg1OTU7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOHJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjExcHg7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LWFsaWduOnJpZ2h0O30KLyogU2luIGVzdGEgcmVnbGEgZWwgYXV0b3IgcXVlZGEgcGVnYWRvIGp1c3RvIGRlYmFqbyBkZWwgdGl0dWxhciBlbiB2ZXogZGUKICAgYWJham8gZGUgbGEgdGFyamV0YTogLm1vZC1zdGFjayBuZWNlc2l0YSBzZXIgZmxleC1jb2x1bW4gY29uCiAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIHBhcmEgcXVlIGVsIGh1ZWNvIHNvYnJhbnRlIChjdWFuZG8gbGEKICAgdGFyamV0YSBjcmVjZSBt4XMgcXVlIHN1IGNvbnRlbmlkbywgdmVyIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jaykKICAgbeFzIGFiYWpvKSBlbXB1amUgZWwgYXV0b3IgaGFjaWEgZWwgYm9yZGUgaW5mZXJpb3IuICovCi5ibGstNTVwM3EgLm1vZC1zdGFja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZsZXg6MSAxIGF1dG87fQovKiBFc3RpbG8gImZvdG8gcGVxdWXxYSArIHRpdHVsYXIiOiBmb3RvIDQ6MyBhIGxhIGl6cXVpZXJkYSwgdGV4dG8gYSBsYSBkZXJlY2hhLiAqLwouYmxrLTU1cDNxIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tbGVmdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjExMHB4IDFmcjtnYXA6MTBweDt9Ci8qIEVzdGlsbyAic29sbyB0ZXh0byIgKHBvciBkZWZlY3RvKTogZWwgYXV0b3Igc2UgcG9zaWNpb25hIGVuIGFic29sdXRvLAogICBhbmNsYWRvIGEgbGEgZXNxdWluYSBpbmZlcmlvciBkZXJlY2hhIGRlIGxhIHRhcmpldGEgKGlndWFsIHF1ZSBlbCBwbGF5IGRlCiAgIGxhcyBtaW5pYXR1cmFzKSwgZW4gdmV6IGRlIGRlcGVuZGVyIGRlIHF1ZSBlbCBibG9xdWUgZGUgdGV4dG8gdGVuZ2EgaHVlY28KICAgZGUgc29icmEgcGFyYSBlbXB1amFybG8gYWJham8gY29uIGZsZXhib3ggJiM4MjEyOyBjb24gdO10dWxvcyBkZSAyLTMgbO1uZWFzIGVzZQogICBodWVjbyBubyBleGlzdGUgeSBlbCBhdXRvciBudW5jYSBsbGVnYWJhIGEgYmFqYXIuIHBhZGRpbmctYm90dG9tIGVuCiAgIGxlZnQtYm9keSByZXNlcnZhIGVsIGVzcGFjaW8gcGFyYSBxdWUgZWwgdO10dWxvIG5vIHNlIHNvbGFwZSBjb24g6WwuICovCi5ibGstNTVwM3EgLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5sZWZ0LWJvZHl7cGFkZGluZy1ib3R0b206MzNweDt9Ci5ibGstNTVwM3EgLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5zdGFjay1hdXRob3J7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDtib3R0b206MTBweDttYXJnaW4tdG9wOjA7fQouYmxrLTU1cDNxIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9Ci5ibGstNTVwM3EgLmxlZnQtcGxheXsKICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7CiAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTogNHB4Owp9Ci5ibGstNTVwM3EgLmxlZnQtcGxheTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo0cHggc29saWQgIzAwYTdmZjtib3JkZXItdG9wOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDoxcHg7Cn0KLmJsay01NXAzcSAucmVsYXRlZC1saXZlLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGRjUwNTA7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGRjUwNTA7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstNTVwM3EgLnJlbGF0ZWQtZWRpdG9yaWFsLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGQUIxMjE7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGQUIxMjE7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstNTVwM3EgLnBsYXktYnV0dG9uewogIC8qIEFuY2hvL2FsdG8gZmlqb3MgZW4gdmV6IGRlIGFzcGVjdC1yYXRpbzoxLzEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhIChlbAogICAgIGPhbGN1bG8gZGUgInNocmluay10by1maXQiIHBhcmEgdW4gPGJ1dHRvbj4gZW4gYWJzb2x1dG8gc2luIHRhbWHxbwogICAgIGV4cGztY2l0byBubyBlcyBmaWFibGUgZW50cmUgbW90b3JlczsgZW4gV2ViS2l0L2lPUyBkYWJhIHVuIHJlY3Thbmd1bG8KICAgICB2ZXJ0aWNhbCBlc3RyZWNo7XNpbW8gZW4gdmV6IGRlIHVuIGN1YWRyYWRvKS4gKi8KICBhcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7CiAgcG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4OwogIGlubGluZS1zaXplOjM0cHg7YmxvY2stc2l6ZTozNHB4OwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjEwcHggMTBweCAxMHB4IDEycHg7CiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTsKICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQyKTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4OwogIGN1cnNvcjpwb2ludGVyO3otaW5kZXg6MjthbmltYXRpb246YmxrLTU1cDNxLWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstNTVwM3EgLnBsYXktYnV0dG9uIC5wbGF5LWljb257CiAgaW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6MTBweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci5ibGstNTVwM3EgLnBsYXktYnV0dG9uIC5wbGF5LXRleHR7ZGlzcGxheTpub25lO30KLyogRW4gZWwgbW9kbyAnbGVmdCcgZWwgUGxheSBwYXNhIGEgbGEgZXNxdWluYSBzdXBlcmlvciBkZXJlY2hhICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstNTVwM3EgLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9ue2xlZnQ6YXV0bztyaWdodDoxMHB4O30KCi8qIFRpdHVsYXJlcyBhbmltYWRvcyAoY2FwYSBhbHRlcm5hdGl2YSBzb2JyZSBsZWFkLW1lZGlhKSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhCiAgIGhlcnJhbWllbnRhLiBDYWRhIHRpdHVsYXIgdGllbmUgc3UgcHJvcGlhIHBvc2ljafNuIChjbGFzZSBwb3MtKiwgdmVyCiAgIGJ1aWxkU2NvcGVkSFRNTCkgeSBzZSByZXZlbGEgbO1uZWEgcG9yIGztbmVhICh1bmEgdmV6IG1lZGlkYXMgc3VzIGztbmVhcwogICByZWFsZXMgcG9yIGVsIHNjcmlwdCBzdGFuZGFsb25lLCB2ZXIgYnVpbGRBbmltSGVhZGxpbmVzU2NyaXB0KSBjb24gdW5hCiAgIGNhamEgZGUgZm9uZG8gZGV0cuFzIGRlIGNhZGEgbO1uZWEgeSB1biBmYWRlIGRlIG9wYWNpZGFkIGVudHJlIHRpdHVsYXJlcy4gKi8KLmJsay01NXAzcSAubGVhZC1hbmltLWhlYWRsaW5lc3sKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBpbnNldDowOwogIHotaW5kZXg6NDsKICBwb2ludGVyLWV2ZW50czpub25lOwp9Ci5ibGstNTVwM3EgLmxlYWQtYW5pbS1oZWFkbGluZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBsZWZ0OjE1cHg7CiAgb3BhY2l0eTowOwp9Ci5ibGstNTVwM3EgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGJvdHRvbTo2MHB4OyB9Ci5ibGstNTVwM3EgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnR7IHRvcDo2MHB4OyB9Ci5ibGstNTVwM3EgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstNTVwM3EgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0LAouYmxrLTU1cDNxIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay01NXAzcSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IGxlZnQ6YXV0bzsgcmlnaHQ6MTVweDsgfQouYmxrLTU1cDNxIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodHsgdG9wOjYwcHg7IH0KLmJsay01NXAzcSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstNTVwM3EgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NjBweDsgfQovKiBDb24gZWwgdGV4dG8gKGxlYWQtYm9keSkgYSBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhLCBlc2UgYmxvcXVlIHNvbGFwYQogICAzMHB4IGRlbCBsYWRvIGRlIGxhIGZvdG8vdu1kZW8gcGVnYWRvIGEg6WwgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay01NXAzcSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtbGVmdCwKLmJsay01NXAzcSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtbGVmdCwKLmJsay01NXAzcSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tbGVmdHsgbGVmdDo0MHB4OyB9Ci5ibGstNTVwM3EgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay01NXAzcSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0LAouYmxrLTU1cDNxIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IHJpZ2h0OjQwcHg7IH0KLmJsay01NXAzcSAubGVhZC1hbmltLWhlYWRsaW5lLmlzLWFjdGl2ZXsgb3BhY2l0eToxOyB9Ci5ibGstNTVwM3EgLmxlYWQtYW5pbS1saW5lewogIHBvc2l0aW9uOnJlbGF0aXZlOwogIGRpc3BsYXk6dGFibGU7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmOwogIGZvbnQtd2VpZ2h0OjkwMDsKICBjb2xvcjojZmZmOwogIHBhZGRpbmc6MnB4IDhweDsKICBjbGlwLXBhdGg6aW5zZXQoMCAxMDAlIDAgMCk7CiAgb3BhY2l0eToxOwogIHRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGVhc2U7Cn0KLmJsay01NXAzcSAubGVhZC1hbmltLWxpbmUuaXMtaGlkaW5neyBvcGFjaXR5OjA7IH0KLyogU29sYXBlIGRlIDFweCBlbnRlcmEgZW50cmUgbO1uZWFzIHBhcmEgY2VycmFyIGVsIGhpbG8gZGUgc3ViLXDteGVsIHF1ZQogICBwdWVkZSBxdWVkYXIgZW50cmUgc3VzIGNhamFzIGRlIGZvbmRvIChyZWRvbmRlbyBkZSBhbHR1cmFzIGZyYWNjaW9uYXJpYXMpICYjODIxMjsKICAgdmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay01NXAzcSAubGVhZC1hbmltLWxpbmUgKyAubGVhZC1hbmltLWxpbmV7CiAgbWFyZ2luLXRvcDotMXB4Owp9Ci5ibGstNTVwM3EgLmxlYWQtYW5pbS1saW5lOmZpcnN0LWNoaWxkeyBwYWRkaW5nLXRvcDo2cHg7IH0KLmJsay01NXAzcSAubGVhZC1hbmltLWxpbmU6bGFzdC1jaGlsZHsgcGFkZGluZy1ib3R0b206NnB4OyB9Ci5ibGstNTVwM3EgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay01NXAzcSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQgLmxlYWQtYW5pbS1saW5lLAouYmxrLTU1cDNxIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodCAubGVhZC1hbmltLWxpbmV7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDowOyB9Ci5ibGstNTVwM3EgLmxlYWQtYW5pbS1oZWFkbGluZXMuaXMtcG9zaXRpdmUgLmxlYWQtYW5pbS1saW5leyBjb2xvcjojMEUxMTFBOyB9Ci5ibGstNTVwM3EgLmxlYWQtYW5pbS1saW5lLWJneyBwb3NpdGlvbjphYnNvbHV0ZTsgaW5zZXQ6MDsgei1pbmRleDotMTsgfQouYmxrLTU1cDNxIC5sZWFkLWFuaW0tbGluZS10ZXh0eyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQpAa2V5ZnJhbWVzIGJsay01NXAzcS1hbmltLWxpbmUtcmV2ZWFseyB0b3sgY2xpcC1wYXRoOmluc2V0KDAgMCAwIDApOyB9IH0KCi8qIEFuY2hvciBvdmVybGF5IGZvciBmdWxsIGNsaWNrYWJsZSBsZWFkICovCi5ibGstNTVwM3EgLmxlYWQtbGlua3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MX0KCi8qIEhvdmVyIG9wYWNpdHkgYW5pbWF0aW9uICovCi5ibGstNTVwM3EgLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCi5ibGstNTVwM3EgLmNvbHVtbi1pdGVtOmhvdmVye29wYWNpdHk6Ljh9Ci8qIEZvdG8gcHJpbmNpcGFsIChmYWxsYmFjay9zaW5nbGUpIG8gY2FycnVzZWwgZGUgZm90b3M6IG9wYWNpZGFkIDAuOSBhbAogICBwYXNhciBlbCByYXTzbiBwb3IgbGEgdGFyamV0YSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbgogICBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgYSB27WRlbyBuaSBhbAogICBjb21wYXJhZG9yIGFudGVzL2Rlc3B16XMuICovCi5ibGstNTVwM3EgLmxlYWQtbWVkaWEgPiBpbWcsCi5ibGstNTVwM3EgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLTU1cDNxIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLTU1cDNxIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eTouOTt9Ci8qIEVuIGVsIGFuY2hvIG3zdmlsIChtaXNtbyBAY29udGFpbmVyIHF1ZSBlbCByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8pIG5vCiAgIGFwbGljYSBlc3RhIGFuaW1hY2nzbiBkZSBvcGFjaWRhZCBzb2JyZSBsYSBub3RpY2lhIHByaW5jaXBhbDogdmEgREVTUFXJUwogICBkZSBsYSByZWdsYSBnZW5lcmFsIGRlIGFycmliYSAobWlzbWEgZXNwZWNpZmljaWRhZCkgcGFyYSBwb2RlciBnYW5hcmxlLgogICBPbWl0aWRvLCBpZ3VhbCBxdWUgZWwgYmxvcXVlIGRlIHRpcG9ncmFm7WEgZGUgYXJyaWJhLCBtaWVudHJhcyBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7CiAgLmJsay01NXAzcSAubGVhZDpob3ZlciAubGVhZC10aXRsZSwKICAuYmxrLTU1cDNxIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gaW1nLAogIC5ibGstNTVwM3EgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHtvcGFjaXR5OjE7fQp9CgovKiBBbmltYWNp824gY29tcGFydGlkYSBwbGF5IHByaW5jaXBhbCArIGN1YWRyYWRvcyBwbGF5IGFwaWxhZGFzICovCkBrZXlmcmFtZXMgYmxrLTU1cDNxLWJsaW5rewogIDAlLDEwMCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNyl9CiAgNTAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDE2NSwyNTUsMC45KX0KfQovKiBDYWJlY2VyYSAqLwouYmxrLTU1cDNxIC5iZy1zZWN0aW9uLXRpdGxle2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjEwcHggMCAzMnB4fQouYmxrLTU1cDNxIC5mbmQtbGluZWF7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjVweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO21hcmdpbi10b3A6LTE4cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgIzMzMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMzMzfQouYmxrLTU1cDNxIC5zZWN0aW9uLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuMjtsZXR0ZXItc3BhY2luZzotMXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzo0cHggMTNweDtib3JkZXI6MXB4IHNvbGlkICMwRTExMUE7dHJhbnNmb3JtOnJvdGF0ZVgoNWRlZykgcm90YXRlWSgtMjVkZWcpIHNrZXdYKDBkZWcpO2ZvbnQtc2l6ZTo0MnB4O2NvbG9yOiMwRTExMUE7fQpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpey5ibGstNTVwM3EgLnNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOjI3cHg7cGFkZGluZzowIDEwcHh9fQovKiBDYWJlY2VyYSAmIzgyMTI7IERpc2XxbyAyICh0aXR1bGFyICsgY2FycnVzZWwgZGUgbG9nb3RpcG9zKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTU1cDNxIC5oZWFkZXIye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjIwcHg7cGFkZGluZy1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMEUxMTFBO30KLyogYWxpZ24tc2VsZjpmbGV4LWVuZCBmaWphIGVsIHRpdHVsYXIgU0lFTVBSRSBhIDE1cHggZGUgbGEgbO1uZWEgc2VwYXJhZG9yYQogICBlbiBEZXNrICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcwogICBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstNTVwM3EgLmhlYWRlcjItbGVmdHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2ZsZXg6MSAxIDUwJTttaW4taW5saW5lLXNpemU6MDthbGlnbi1zZWxmOmZsZXgtZW5kO30KLmJsay01NXAzcSAuaGVhZGVyMi10YWdze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmbGV4OjAgMCBhdXRvO30KLyogTWlzbW8gdGFtYfFvL3RpcG9ncmFm7WEgcXVlIC5sZWFkLWV4Y2x1c2l2ZS10YWcgKGxhIGRlIGxhIG5vdGljaWEKICAgcHJpbmNpcGFsKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlCiAgIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTU1cDNxIC5oZWFkZXIyLWNhdC10YWcsCi5ibGstNTVwM3EgLmhlYWRlcjItZXhjbHVzaXZlLXRhZ3thbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZTouOGVtO2xldHRlci1zcGFjaW5nOi41cHg7cGFkZGluZzoycHggOHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt9Ci5ibGstNTVwM3EgLmhlYWRlcjItZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLTU1cDNxIC5oZWFkZXIyLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjM2cHg7bGluZS1oZWlnaHQ6MS4wNTtjb2xvcjojMEUxMTFBO21hcmdpbjowO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttaW4taW5saW5lLXNpemU6MDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7fQovKiBTZXBhcmFjafNuIGRlIDEwcHggZW50cmUgZWwgdGV4dG8gZGUgcGF0cm9jaW5pbyB5IGVsIGxvZ28gZW4gRGVzayAmIzgyMTI7IGVuCiAgIE3zdmlsIHNpZ3VlIHNpbiBzZXBhcmFjafNuIChnYXA6MCwgdmVyIEBjb250YWluZXIgbeFzIGFiYWpvKS4gKi8KLmJsay01NXAzcSAuaGVhZGVyMi1sb2dvcy13cmFwe2ZsZXg6MCAwIGF1dG87bWF4LWlubGluZS1zaXplOjUwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDt9Ci8qIEV0aXF1ZXRhIG9wY2lvbmFsIGp1bnRvIGFsIGNhcnJ1c2VsIGRlIGxvZ29zIChwLmVqLiAiUGF0cm9jaW5hZG8gcG9yOiIpICYjODIxMjsKICAgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstNTVwM3EgLmhlYWRlcjItbG9nb3MtbGFiZWx7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM2Njc7d2hpdGUtc3BhY2U6bm93cmFwO30KLmJsay01NXAzcSAuaGVhZGVyMi1sb2dvc3twb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxNjBweDtibG9jay1zaXplOjUwcHg7ZmxleC1zaHJpbms6MDt9Ci5ibGstNTVwM3EgLmhlYWRlcjItbG9nb3MgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7bWFyZ2luOmF1dG87bWF4LWlubGluZS1zaXplOjEwMCU7bWF4LWJsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuN3MgZWFzZS1pbi1vdXQ7fQouYmxrLTU1cDNxIC5oZWFkZXIyLWxvZ29zIGltZy5pcy1hY3RpdmV7b3BhY2l0eToxO30KLyogSWd1YWwgcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWw6IHBvciBkZWJham8gZGUgZXN0ZSBhbmNobyBzZQogICBpbnRlbnRhIHByaW1lcm8gMSBTT0xBIEZJTEEgKGV0aXF1ZXRhcyt0aXR1bGFyIGp1bnRvIGFsIGxvZ28sIGlndWFsIHF1ZQogICBlbiBEZXNrLCBhIHRhbWHxbyByZWR1Y2lkbykuIEVsIGJsb3F1ZSBkZSBsb2dvcyBtYW50aWVuZSBTSUVNUFJFIHN1CiAgIGRpc3Bvc2ljafNuIGVuIGNvbHVtbmEgKGV0aXF1ZXRhIGRlIHBhdHJvY2luaW8gZW5jaW1hIGRlbCBsb2dvLAogICBhbGluZWFkb3MgYSBsYSBkZXJlY2hhLCBzaW4gc2VwYXJhY2nzbikgdGFudG8gZW4gZXN0YSBmaWxhIPpuaWNhIGNvbW8gZW4KICAgZWwgcmVzZ3VhcmRvIGRlIGFiYWpvLiBTaSBlbCB0aXR1bGFyLCBzdW1hZG8gYWwgYW5jaG8gZGUgbGFzIGV0aXF1ZXRhcwogICBhY3RpdmFzIChjYXRlZ29y7WEgeS9vIGV4Y2x1c2l2YSwgc2kgbGFzIGhheSksIHN1cGVyYSBlbCA1NSUgZGVsIGFuY2hvCiAgIHRvdGFsIGRlIGxhIGNhYmVjZXJhIChjYWRhIHVubyBtZWRpZG8gYSB1bmEgc29sYSBs7W5lYSksIGVsIHNjcmlwdAogICBzdGFuZGFsb25lIGHxYWRpZG8gYWwgZmluYWwgZGUgZXN0ZSBIVE1MICh2ZXIKICAgYnVpbGRIZWFkZXIyU3RhY2tpbmdTY3JpcHQoKSkgbG8gZGV0ZWN0YSBtaWRpZW5kbyBzdSBhbmNobyBuYXR1cmFsCiAgIHkgYfFhZGUgbGEgY2xhc2UgImhlYWRlcjItc3RhY2tlZCI6IGVsIGJsb3F1ZSBkZQogICBsb2dvcyBzdWJlIGVudG9uY2VzIGEgc3UgcHJvcGlhIGZpbGEgKGFsaW5lYWRvIGEgbGEgZGVyZWNoYSkgeQogICB0aXR1bGFyK2V0aXF1ZXRhcyBiYWphbiBhIGxhIGZpbGEgZGUgYWJham8sIGEgYW5jaG8gY29tcGxldG8gJiM4MjEyOyBtaXNtbwogICBsYXlvdXQgZGUgMiBmaWxhcyBxdWUgaGFi7WEgYW50ZXMgc2llbXByZSBwb3IgZGViYWpvIGRlIGVzdGUgYnJlYWtwb2ludCwKICAgYWhvcmEgc29sbyBjb21vIHJlc2d1YXJkby4gRGVudHJvIGRlIGVzZSByZXNndWFyZG8sIGNvbiBldGlxdWV0YShzKSBlbAogICB0aXR1bGFyIHBhc2EgYWRlbeFzIGEgc3UgUFJPUElBIGZpbGEgYSBhbmNobyBjb21wbGV0bywgZGViYWpvIGRlIGxhIGZpbGEgZGUgZXRpcXVldGFzICh2ZXIKICAgIi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdCIgbeFzIGFiYWpvKS4gRWwgbG9nbyBzZSByZWR1Y2UgdW4gMjAlCiAgICgxNjB4NTAgJiM4NTk0OyAxMjh4NDApLgogICBhbGlnbi1zZWxmOmZsZXgtZW5kIGVuIGhlYWRlcjItbGVmdCBmaWphIGVsIHRpdHVsYXIgU0lFTVBSRSBhIGxvcyAxMHB4CiAgIGRlbCBwYWRkaW5nLWJvdHRvbSByZXNwZWN0byBhIGxhIGztbmVhIHNlcGFyYWRvcmEgJiM4MjEyOyBtaXNtbyBjcml0ZXJpbyBxdWUKICAgZW4gRGVzayAodmVyIGhlYWRlcjItbGVmdCBt4XMgYXJyaWJhKTogc2luIGVzdG8sIGFsIHNlciBlbCBibG9xdWUgZGUKICAgbG9nb3MgbeFzIGFsdG8gcXVlIGVsIHRpdHVsYXIsIGVsIGNlbnRyYWRvIHZlcnRpY2FsIGRlbCByb3cgZGVqYWJhIHVuCiAgIGh1ZWNvIG1heW9yIGVudHJlIGVsIHRpdHVsYXIgeSBsYSBs7W5lYS4gRWwgYmxvcXVlIGRlIGxvZ29zIHNpZ3VlCiAgIGNlbnRyYWRvIChzaW4gZXNlIG92ZXJyaWRlKS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjQ4MHB4KXsKICAuYmxrLTU1cDNxIC5oZWFkZXIye2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4O3BhZGRpbmctYm90dG9tOjEwcHg7fQogIC5ibGstNTVwM3EgLmhlYWRlcjItbGVmdHtvcmRlcjoxO2FsaWduLXNlbGY6ZmxleC1lbmQ7fQogIC5ibGstNTVwM3EgLmhlYWRlcjItbG9nb3Mtd3JhcHtvcmRlcjoyO2FsaWduLXNlbGY6Y2VudGVyO21heC1pbmxpbmUtc2l6ZTpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MDt9CiAgLmJsay01NXAzcSAuaGVhZGVyMi1sb2dvc3tpbmxpbmUtc2l6ZToxMjhweDtibG9jay1zaXplOjQwcHg7fQogIC5ibGstNTVwM3EgLmhlYWRlcjItdGl0bGV7Zm9udC1zaXplOjI3cHg7fQogIC5ibGstNTVwM3EgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2Vke2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O30KICAuYmxrLTU1cDNxIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sZWZ0e29yZGVyOjI7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2dhcDo1cHg7fQogIC5ibGstNTVwM3EgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MTttYXgtaW5saW5lLXNpemU6MTAwJTthbGlnbi1zZWxmOmZsZXgtZW5kO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MDt9CiAgLyogUmVzZ3VhcmRvIGludGVybWVkaW8gJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhOiBzb2xvIGVsIHRpdHVsYXIgYmFqYSBhIHN1CiAgICAgcHJvcGlhIGZpbGEgYSBhbmNobyBjb21wbGV0byBjdWFuZG8gbGFzIGV0aXF1ZXRhcyBTzSBjYWJlbiBqdW50byBhbAogICAgIGxvZ28gcGVybyBlbCB0aXR1bGFyIG5vLiBoZWFkZXIyLWxlZnQgcGFzYSBkZSBmaWxhIGEgY29sdW1uYQogICAgIChldGlxdWV0YXMgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbykgeSByZWN1cGVyYSBhbGlnbi1zZWxmOmF1dG8gcGFyYQogICAgIGNlbnRyYXJzZSB2ZXJ0aWNhbG1lbnRlIGNvbnRyYSBlbCBsb2dvIChhbGlnbi1zZWxmOmNlbnRlciBkZSBsYSByZWdsYQogICAgIGJhc2UgZGUgLmhlYWRlcjItbG9nb3Mtd3JhcCwgYXJyaWJhKSwgaWd1YWwgcXVlIGVuIGVsIHJlc3RvIGRlIGVzdGFkb3MuICovCiAgLmJsay01NXAzcSAuaGVhZGVyMi5oZWFkZXIyLXRpdGxlLWJlbG93IC5oZWFkZXIyLWxlZnR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7YWxpZ24tc2VsZjphdXRvO2dhcDo1cHg7fQp9CgovKiBFc3RpbG8gImZvdG8gZ3JhbmRlICsgdGl0dWxhciI6IGZvdG8gMTY6OSBhcnJpYmEsIHRpdHVsYXIgZGViYWpvICYjODIxMjsgZWxlZ2libGUKICAgcG9yIG5vdGljaWEgZGVzZGUgZWwgZ2VzdG9yLiBObyBzZSByZXN0cmluZ2UgY29uIEBjb250YWluZXIgcG9ycXVlCiAgIC5jb2x1bW4taXRlbSB5YSBlcyBibG9jayBwb3IgZGVmZWN0byAoZWwgdGh1bWIgeSBlbCB0ZXh0byBzZSBhcGlsYW4gc29sb3MKICAgc2luIG3hcyBhanVzdGUpLCBhc+0gcXVlIGVsIGRpc2XxbyBmdW5jaW9uYSBpZ3VhbCBkZSBiaWVuIGVuIGN1YWxxdWllcgogICBhbmNobywgRGVzayBvIE3zdmlsLiAqLwouYmxrLTU1cDNxIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9we2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLTU1cDNxIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC50aHVtYntpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O21hcmdpbi1ib3R0b206MTBweDt9Ci5ibGstNTVwM3EgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS4yZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjkwMDt9Ci8qIEVuIE3zdmlsIGVsIHRpdHVsYXIgZGUgZXN0ZSBkaXNl8W8gc2UgbXVlc3RyYSBt4XMgZ3JhbmRlICgxLjVyZW0gZW4gdmV6IGRlCiAgIGxvcyAxLjJyZW0gZGUgRGVzaykgJiM4MjEyOyBtaXNtYSBlc3BlY2lmaWNpZGFkICgzIGNsYXNlcykgcXVlIGxhIHJlZ2xhIGRlCiAgIGFycmliYTsgYWwgaXIgREVTUFXJUyBlbiBlbCBDU1MgZ2FuYSBwb3Igb3JkZW4gZGUgY2FzY2FkYS4gU2UgdXNhIGVsCiAgIGJyZWFrcG9pbnQgZGUgNDgwcHggKGVsIGRlIHRpcG9ncmFm7WEgZW4gZXN0YSBhcHAsIG5vIGVsIGRlIDg2MHB4IHF1ZSBhcXXtCiAgIHNvbG8gZ29iaWVybmEgZWwgYXBpbGFkbyBkZSBjb2x1bW5hcykgcGFyYSBxdWUgY29pbmNpZGEgY29uIGVsIHJlc3RvIGRlCiAgIGNhbWJpb3MgZGUgdGV4dG8vdGFtYfFvIHBvciB2aXN0YS4gTm8gYWZlY3RhIGFsIHJlc2d1YXJkbyBkZSAyIGNvbHVtbmFzIGVuCiAgIG3zdmlsIChtb2ItZ3JpZCksIG3hcyBlc3BlY+1maWNvICgxOHB4LCB2ZXIgbeFzIGFycmliYSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay01NXAzcSAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAubGVmdC10aXRsZXtmb250LXNpemU6MS41cmVtO30KfQovKiBFc3RpbG8gIkJsb3F1ZSBtZWRpYSIgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay01NXAzcSAubWVkaWEtYmxvY2stbWVkaWF7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6YXV0bzt9Ci5ibGstNTVwM3EgLm1lZGlhLWJsb2NrLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazt9Ci5ibGstNTVwM3EgLm1lZGlhLWJsb2NrLWlmcmFtZS13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjE2Lzk7YmFja2dyb3VuZDojMDAwO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstNTVwM3EgLm1lZGlhLWJsb2NrLWlmcmFtZS13cmFwIGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQouYmxrLTU1cDNxIC5jb2x1bW4taXRlbS5sYXlvdXQtbWVkaWEtYmxvY2t7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7YmxvY2stc2l6ZTphdXRvO2ZsZXg6MCAwIGF1dG87fQouYmxrLTU1cDNxIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jayl7ZmxleDoxIDEgYXV0bzt9Cjwvc3R5bGU+Cgo8ZGl2IGNsYXNzPSJibGstNTVwM3EiPgogIDxkaXYgY2xhc3M9ImJnLXNlY3Rpb24tdGl0bGUiPgogICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5EZWJhdGUgZGVsIGVzdGFkbyBkZSBsYSBSZWdp8248L2gyPgogICAgPHNwYW4gY2xhc3M9ImZuZC1saW5lYSI+PC9zcGFuPgogIDwvZGl2PgogIDxtYWluIGNsYXNzPSJwYWdlIj4KICAgIDxhc2lkZSBjbGFzcz0iY29sdW1uIj4KICAgICAgCiAgICA8YSBjbGFzcz0iY29sdW1uLWl0ZW0gbGF5b3V0LXBob3RvLXRvcCIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwYW5hL2F5dXNvLXNvYnJlLXNhbmNoZXotcXVlLWxsYW1hLXNpLW1pc21vLXBlcnJvLXNpLXRpZW5lLWR1ZW5vLWNvbW8tdG9kb3MtcGVycm9zLXF1ZS1kdWVybWVuLXBhbGFjaW8tMjAyNjM1MDQiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiB0aXRsZT0iQXl1c28gc29icmUgU+FuY2hlejogJnF1b3Q7RWwgcXVlIHNlIGxsYW1hIGEgc+0gbWlzbW8gcGVycm8gc+0gdGllbmUgZHVl8W8sIGNvbW8gdG9kb3MgbG9zIHBlcnJvcyBxdWUgZHVlcm1lbiBlbiB1biBwYWxhY2lvJnF1b3Q7Ij4KICAgICAgPGRpdiBjbGFzcz0idGh1bWIiIHN0eWxlPSJhc3BlY3QtcmF0aW86MTYvOTsiPjxpbWcgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvYXl1c28tc29icmUtc2FuY2hlei1lbC1xdWUtc2UtbGxhbWEtYS1zaS1taXNtby1wZXJyby1zaS10aWVuZS1kdWVuby1jb21vLXRvZG9zLWxvcy1wZXJyb3MtcXVlLWR1ZXJtZW4tZW4tdW4tcGFsYWNpby0yMDI2MDkxMC0xMjE1MTAtMjQ0NGY1LmpwZyIgYWx0PSJBeXVzbyBzb2JyZSBT4W5jaGV6OiAmcXVvdDtFbCBxdWUgc2UgbGxhbWEgYSBz7SBtaXNtbyBwZXJybyBz7SB0aWVuZSBkdWXxbywgY29tbyB0b2RvcyBsb3MgcGVycm9zIHF1ZSBkdWVybWVuIGVuIHVuIHBhbGFjaW8mcXVvdDsiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+PGJ1dHRvbiBjbGFzcz0icGxheS1zcXVhcmUiIGFyaWEtbGFiZWw9IlJlcHJvZHVjaXIiPjwvYnV0dG9uPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJtb2Qtc3RhY2siPgogICAgICAgIDxoNCBjbGFzcz0ibGVmdC10aXRsZSI+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtZGVzayI+QXl1c28gc29icmUgU+FuY2hlejogJnF1b3Q7RWwgcXVlIHNlIGxsYW1hIGEgc+0gbWlzbW8gcGVycm8gc+0gdGllbmUgZHVl8W8sIGNvbW8gdG9kb3MgbG9zIHBlcnJvcyBxdWUgZHVlcm1lbiBlbiB1biBwYWxhY2lvJnF1b3Q7PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWxhdGVkLXRpdGxlLW1vYmlsZSI+QXl1c28gc29icmUgU+FuY2hlejogJnF1b3Q7RWwgcXVlIHNlIGxsYW1hIGEgc+0gbWlzbW8gcGVycm8gc+0gdGllbmUgZHVl8W8sIGNvbW8gdG9kb3MgbG9zIHBlcnJvcyBxdWUgZHVlcm1lbiBlbiB1biBwYWxhY2lvJnF1b3Q7PC9zcGFuPjwvaDQ+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RhY2stYXV0aG9yIj5Sb2RyaWdvIFZpbGxhcjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvYT4KCiAgICA8YSBjbGFzcz0iY29sdW1uLWl0ZW0gbGF5b3V0LXRpdGxlLW9ubHkgdGl0bGUtb25seS1tb2JpbGUtMTgiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL21hZHJpZC9heXVzby1hdWd1cmEtc2FuY2hlei1yZWNvcnJpZG8tanVkaWNpYWwtaW5mb3JtZXMtcXVlLWluY3VscGFuLWludmFzaW9uLWNldXRhLTIwMjYzNTI0IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IkxhIHByZXNpZGVudGEgbWFkcmlsZfFhIGF1Z3VyYSBhIFPhbmNoZXogdW4gJnF1b3Q7cmVjb3JyaWRvIGp1ZGljaWFsJnF1b3Q7IHRyYXMgbG9zIGluZm9ybWVzIHB1YmxpY2Fkb3MgIHF1ZSBsZSAmcXVvdDtpbmN1bHBhbiZxdW90OyBwb3IgbGEgaW52YXNp824gbWFycm9xde0gZW4gQ2V1dGEiPgogICAgICA8ZGl2IGNsYXNzPSJsZWZ0LWJvZHkiPgogICAgICA8aDQgY2xhc3M9ImxlZnQtdGl0bGUiIHN0eWxlPSJmb250LXNpemU6MThweDsiPjxidXR0b24gY2xhc3M9ImxlZnQtcGxheSIgYXJpYS1sYWJlbD0iUmVwcm9kdWNpciI+PC9idXR0b24+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtZGVzayI+TGEgcHJlc2lkZW50YSBtYWRyaWxl8WEgYXVndXJhIGEgU+FuY2hleiB1biAmcXVvdDtyZWNvcnJpZG8ganVkaWNpYWwmcXVvdDsgdHJhcyBsb3MgaW5mb3JtZXMgcHVibGljYWRvcyAgcXVlIGxlICZxdW90O2luY3VscGFuJnF1b3Q7IHBvciBsYSBpbnZhc2nzbiBtYXJyb3F17SBlbiBDZXV0YTwvc3Bhbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1tb2JpbGUiPkxhIHByZXNpZGVudGEgbWFkcmlsZfFhIGF1Z3VyYSBhIFPhbmNoZXogdW4gJnF1b3Q7cmVjb3JyaWRvIGp1ZGljaWFsJnF1b3Q7IHRyYXMgbG9zIGluZm9ybWVzIHF1ZSBsZSAmcXVvdDtpbmN1bHBhbiZxdW90OyBwb3IgbGEgaW52YXNp824gbWFycm9xde0gZW4gQ2V1dGE8L3NwYW4+PC9oND4KICAgICAgPGRpdiBjbGFzcz0ic3RhY2stYXV0aG9yIj5QYWJsbyBSb21lcm8tU2FsYXphcjwvZGl2PgogICAgPC9kaXY+CiAgICA8L2E+CgogICAgPGEgY2xhc3M9ImNvbHVtbi1pdGVtIGxheW91dC1waG90by1sZWZ0IiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9tYWRyaWQvbWFzLXZpdmllbmRhcy1heXVkYXMtbWF0ZXJuaWRhZC1vdHJhcy05OC1tZWRpZGFzLWFudW5jaWFkYXMtYXl1c28tZGViYXRlLXJlZ2lvbi0yMDI2NDc2NiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJN4XMgdml2aWVuZGFzLCBheXVkYXMgYSBsYSBtYXRlcm5pZGFkIHkgbGFzIG90cmFzIDk4IG1lZGlkYXMgYW51bmNpYWRhcyBwb3IgQXl1c28gIj4KICAgICAgPGRpdiBjbGFzcz0idGh1bWIiPjxpbWcgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvaW1nLTIwMjYwOTEwLTEyNTUyNC0yMDQ2MzEuanBnIiBhbHQ9Ik3hcyB2aXZpZW5kYXMsIGF5dWRhcyBhIGxhIG1hdGVybmlkYWQgeSBsYXMgb3RyYXMgOTggbWVkaWRhcyBhbnVuY2lhZGFzIHBvciBBeXVzbyAiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtb2Qtc3RhY2siPgogICAgICA8aDQgY2xhc3M9InN0YWNrLXRpdGxlIj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1kZXNrIj5N4XMgdml2aWVuZGFzLCBheXVkYXMgYSBsYSBtYXRlcm5pZGFkIHkgbGFzIG90cmFzIDk4IG1lZGlkYXMgYW51bmNpYWRhcyBwb3IgQXl1c28gPC9zcGFuPjxzcGFuIGNsYXNzPSJyZWxhdGVkLXRpdGxlLW1vYmlsZSI+TeFzIHZpdmllbmRhcywgYXl1ZGFzIGEgbGEgbWF0ZXJuaWRhZCB5IGxhcyBvdHJhcyA5OCBtZWRpZGFzIGFudW5jaWFkYXMgcG9yIEF5dXNvIDwvc3Bhbj48L2g0PgogICAgICAKICAgIDwvZGl2PgogICAgPC9hPgogICAgPC9hc2lkZT4KICAgIDxhcnRpY2xlIGNsYXNzPSJsZWFkIj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1tZWRpYSI+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9heXVzby1mZWxpY2l0YS1hbC1ldGFycmEtcGFyb3QtcG9yLXN1LWxpYmVydGFkLXRyYXMtODItYXNlc2luYXRvcy1ncmFjaWFzLWEtbG9zLWNhbWJhbGFjaGVzLWRlLXNhbmNoZXotMjAyNjA5MTAtMTIxNDE3LWZkZjg5NS5qcGciIGFsdD0iQXl1c28gJiMzOTtmZWxpY2l0YSYjMzk7IGFsIGV0YXJyYSBQYXJvdCBwb3Igc3UgbGliZXJ0YWQgdHJhcyA4MiBhc2VzaW5hdG9zICZxdW90O2dyYWNpYXMgYSBsb3MgY2FtYmFsYWNoZXMgZGUgU+FuY2hleiZxdW90OyIgbG9hZGluZz0iZWFnZXIiIGZldGNocHJpb3JpdHk9ImhpZ2giIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVhZC1vdmVybGF5IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE0LDE3LDI2LDAuMDApOyI+PC9kaXY+CiAgICAgICAgCiAgICAgICAgPGJ1dHRvbiBjbGFzcz0icGxheS1idXR0b24iIGFyaWEtaGlkZGVuPSJ0cnVlIj48ZGl2IGNsYXNzPSJwbGF5LWljb24iPjwvZGl2PjxzcGFuIGNsYXNzPSJwbGF5LXRleHQiPlBsYXk8L3NwYW4+PC9idXR0b24+CiAgICAgICAgCiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHkiIHN0eWxlPSJiYWNrZ3JvdW5kOiMwMEE3RkY7Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGVhZC1jYXQiIHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzAwQTdGRiI+RVNQQdFBPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtYm9keS1tYWluIj4KICAgICAgICAgIAogICAgICAgICAgPGgyIGNsYXNzPSJsZWFkLXRpdGxlIj48c3BhbiBjbGFzcz0ibGVhZC10aXRsZS1kZXNrIj5BeXVzbyAmIzM5O2ZlbGljaXRhJiMzOTsgYWwgZXRhcnJhIFBhcm90IHBvciBzdSBsaWJlcnRhZCB0cmFzIDgyIGFzZXNpbmF0b3MgJnF1b3Q7Z3JhY2lhcyBhIGxvcyBjYW1iYWxhY2hlcyBkZSBT4W5jaGV6JnF1b3Q7PC9zcGFuPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLW1vYmlsZSI+QXl1c28gJiMzOTtmZWxpY2l0YSYjMzk7IGFsIGV0YXJyYSBQYXJvdCBwb3Igc3UgbGliZXJ0YWQgdHJhcyA4MiBhc2VzaW5hdG9zICZxdW90O2dyYWNpYXMgYSBsb3MgY2FtYmFsYWNoZXMgZGUgU+FuY2hleiZxdW90Ozwvc3Bhbj48L2gyPgogICAgICAgICAgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aG9yLWxhYmVsIj5OYWNobyBBdGFuZXM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YSBjbGFzcz0ibGVhZC1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9tYWRyaWQvYXl1c28tZmVsaWNpdGEtZXRhcnJhLXBhcm90LWxpYmVydGFkLTgyLWFzZXNpbmF0b3MtZ3JhY2lhcy1jYW1iYWxhY2hlcy1zYW5jaGV6LTIwMjY0MjA0IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IkF5dXNvICYjMzk7ZmVsaWNpdGEmIzM5OyBhbCBldGFycmEgUGFyb3QgcG9yIHN1IGxpYmVydGFkIHRyYXMgODIgYXNlc2luYXRvcyAmcXVvdDtncmFjaWFzIGEgbG9zIGNhbWJhbGFjaGVzIGRlIFPhbmNoZXomcXVvdDsiIGFyaWEtbGFiZWw9IkF5dXNvICYjMzk7ZmVsaWNpdGEmIzM5OyBhbCBldGFycmEgUGFyb3QgcG9yIHN1IGxpYmVydGFkIHRyYXMgODIgYXNlc2luYXRvcyAmcXVvdDtncmFjaWFzIGEgbG9zIGNhbWJhbGFjaGVzIGRlIFPhbmNoZXomcXVvdDsiPjwvYT4KICAgIDwvYXJ0aWNsZT4KICA8L21haW4+CjwvZGl2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgdmFyIGFydGljbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmxrLTU1cDNxIC5sZWFkJyk7CiAgaWYgKCFhcnRpY2xlKSByZXR1cm47CiAgdmFyIG1haW4gPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLWJvZHktbWFpbicpOwogIHZhciB0aXRsZUVsID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC10aXRsZScpOwogIGlmICghbWFpbiB8fCAhdGl0bGVFbCkgcmV0dXJuOwogIHZhciBiYXNlRm9udFNpemVQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aXRsZUVsKS5mb250U2l6ZSkgfHwgMDsKICBpZiAoIWJhc2VGb250U2l6ZVB4KSByZXR1cm47CiAgdmFyIE1BWF9TQ0FMRSA9IDEuODsKICB2YXIgTUlOX1NDQUxFID0gMC41OwogIHZhciBNQVhfRk9OVF9QWCA9IDY0OyAvLyB+NHJlbSBjb24gbGEgYmFzZSBoYWJpdHVhbCBkZSAxNnB4IChtaXNtbyB0b3BlIHF1ZSBmaXRMZWFkVGl0bGVUb0JveCgpIGVuIGVsIGdlc3RvcikKICBmdW5jdGlvbiBmaXQoKXsKICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBiYXNlRm9udFNpemVQeCArICdweCc7CiAgICB2YXIgYXZhaWxhYmxlSGVpZ2h0ID0gbWFpbi5jbGllbnRIZWlnaHQ7CiAgICBpZiAoIWF2YWlsYWJsZUhlaWdodCkgcmV0dXJuOwogICAgLy8gVmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gZml0TGVhZFRpdGxlVG9Cb3goKSBkZWwgZ2VzdG9yOgogICAgLy8gbWFpbi5zY3JvbGxIZWlnaHQgbnVuY2EgYmFqYSBkZSBjbGllbnRIZWlnaHQgYXVucXVlIGVsIGNvbnRlbmlkbyByZWFsCiAgICAvLyBvY3VwZSBtZW5vcywgYXPtIHF1ZSBubyBzaXJ2ZSBwYXJhIGRldGVjdGFyIGN14W50byBzb2JyYSBvIGZhbHRhIGNvbgogICAgLy8gZWwgdGl0dWxhciBhY3R1YWwgJiM4MjEyOyBzZSBzdW1hIGVuIHN1IGx1Z2FyIGVsIGFsdG8gcmVhbCBkZSBjYWRhIGhpam8KICAgIC8vIFZJU0lCTEUgZGVsIGJsb3F1ZSwgc2Fsdm8gZWwgcHJvcGlvIHRpdHVsYXIsIG3hcyBlbCBodWVjbyAoImdhcCIpCiAgICAvLyBlbnRyZSBlbGxvczsgbm8gY2FtYmlhIGNvbiBlbCB0YW1h8W8gZGVsIHRpdHVsYXIsIGFz7SBxdWUgc2UgbWlkZSB1bmEKICAgIC8vIHNvbGEgdmV6LCBhbnRlcyBkZSBsYSBi+nNxdWVkYSBiaW5hcmlhLgogICAgdmFyIGdhcFB4ID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLnJvd0dhcCkgfHwgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLmdhcCkgfHwgMDsKICAgIHZhciB2aXNpYmxlQ2hpbGRyZW4gPSBbXS5zbGljZS5jYWxsKG1haW4uY2hpbGRyZW4pLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoYykuZGlzcGxheSAhPT0gJ25vbmUnOyB9KTsKICAgIHZhciBvdGhlcnNIZWlnaHQgPSB2aXNpYmxlQ2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gYyAhPT0gdGl0bGVFbDsgfSkucmVkdWNlKGZ1bmN0aW9uKHN1bSwgYyl7IHJldHVybiBzdW0gKyBjLm9mZnNldEhlaWdodDsgfSwgMCkKICAgICAgKyBnYXBQeCAqIE1hdGgubWF4KDAsIHZpc2libGVDaGlsZHJlbi5sZW5ndGggLSAxKTsKICAgIHZhciBhdmFpbGFibGVGb3JUaXRsZSA9IE1hdGgubWF4KDAsIGF2YWlsYWJsZUhlaWdodCAtIG90aGVyc0hlaWdodCk7CiAgICBpZiAoIWF2YWlsYWJsZUZvclRpdGxlKSByZXR1cm47CiAgICBmdW5jdGlvbiBoZWlnaHRBdFNjYWxlKHNjYWxlKXsKICAgICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IE1hdGgubWluKGJhc2VGb250U2l6ZVB4ICogc2NhbGUsIE1BWF9GT05UX1BYKSArICdweCc7CiAgICAgIHJldHVybiB0aXRsZUVsLm9mZnNldEhlaWdodDsKICAgIH0KICAgIHZhciBsbyA9IE1JTl9TQ0FMRSwgaGkgPSBNQVhfU0NBTEU7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDg7IGkrKyl7CiAgICAgIHZhciBtaWQgPSAobG8gKyBoaSkgLyAyOwogICAgICBpZiAoaGVpZ2h0QXRTY2FsZShtaWQpIDw9IGF2YWlsYWJsZUZvclRpdGxlKSBsbyA9IG1pZDsgZWxzZSBoaSA9IG1pZDsKICAgIH0KICAgIGhlaWdodEF0U2NhbGUobG8pOwogIH0KICBmaXQoKTsKICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkpeyBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKGZpdCk7IH0KICBpZiAod2luZG93LlJlc2l6ZU9ic2VydmVyKXsgbmV3IFJlc2l6ZU9ic2VydmVyKGZpdCkub2JzZXJ2ZShhcnRpY2xlKTsgfQogIGVsc2UgeyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZml0KTsgfQp9KSgpOwo8L3NjcmlwdD4=
      CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCkuICovCi5ibGstdzZ6Yzl7bWF4LWlubGluZS1zaXplOjk2MHB4O21hcmdpbjowIGF1dG87Y29udGFpbmVyLXR5cGU6aW5saW5lLXNpemU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTBweDt9Ci5ibGstdzZ6YzkgYXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjppbmhlcml0fQouYmxrLXc2emM5IC5wYWdle2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDMwMHB4O2dhcDoxNXB4fQouYmxrLXc2emM5IC5wYWdlIC5jb2x1bW57b3JkZXI6M30KLmJsay13NnpjOSAucGFnZSAubGVhZHtvcmRlcjoyfQovKiA4NjBweCB5IG5vIDQ3NXB4OiBjb24gbGEgY29sdW1uYSBmaWphICgyMjBweCArIDIwcHggZGUgZ2FwID0gMjQwcHgpLAogICBjdWFscXVpZXIgYW5jaG8gZGUgaWZyYW1lIHBvciBkZWJham8gZGUgfjg2MHB4IGRlamEgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgKDFmcikgY2FkYSB2ZXogY29uIG1lbm9zIGVzcGFjaW8gaGFzdGEgY29sYXBzYXIgYSAwcHggZGUgYW5jaG8gYW50ZXMgZGUKICAgbGxlZ2FyIGEgdW4gYnJlYWtwb2ludCB0YW4gYmFqbyBjb21vIDQ3NXB4ICYjODIxMjsgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgZGlyZWN0YW1lbnRlIGRlc2FwYXJlY2UgZW4gZXNhIGZyYW5qYSBpbnRlcm1lZGlhIChuaSAiZGVzayIgY29tcGxldG8gbmkKICAgIm3zdmlsIiBlc3RyZWNobykuIENvbiA4NjBweCBzZSBwYXNhIGEgdW5hIHNvbGEgY29sdW1uYSBhcGlsYWRhIGFudGVzIGRlCiAgIHF1ZSBlc28gcHVlZGEgb2N1cnJpci4KICAgRXN0ZSBicmVha3BvaW50IHNlIG9taXRlIHBvciBjb21wbGV0byBtaWVudHJhcyBsYSBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkKICAgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldyk6IHBlbnNhZG8gcGFyYSBjdWFuZG8gZWwgbfNkdWxvIGxsZXZhIHN1CiAgIGNvbHVtbmEgYSA5NjBweCwgZGVqYSBkZSB0ZW5lciBzZW50aWRvIGVuIHVuYSBleHBvcnRhY2nzbiBkZSBzb2xvIGxhCiAgIG5vdGljaWEgcHJpbmNpcGFsIGEgdW4gYW5jaG8gZmlqbyBlbGVnaWRvIGEgbWFubyAmIzgyMTI7IGxvcyBhbmNob3Mgc2ltdWxhZG9zCiAgICg2MTMvNDYwLzMwN3B4KSBlc3ThbiBUT0RPUyBwb3IgZGViYWpvIGRlIDg2MHB4LCBhc+0gcXVlIHNpbiBlc3RlIGdhdGluZwogICBlbCBIVE1MIGV4cG9ydGFkbyBjYWVy7WEgc2llbXByZSBhIGxhIHRpcG9ncmFm7WEgIk3zdmlsIiAoY29uICFpbXBvcnRhbnQpCiAgIHNlYSBjdWFsIHNlYSBsYSBxdWUgZWwgdXN1YXJpbyBjb25maWd1cvMgZW4gIkRlc2siIHBhcmEgZXNhIHNpbXVsYWNp824sCiAgIGRhbmRvIGxhIGZhbHNhIHNlbnNhY2nzbiBkZSBxdWUgdW5hIGNvbmZpZ3VyYWNp824gInBpc2EiIGEgb3RyYS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsKICAuYmxrLXc2emM5e2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjA7fQogIC5ibGstdzZ6YzkgLnBhZ2V7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0KICAuYmxrLXc2emM5IC5wYWdlIC5zdGFjay10aXRsZSB7Zm9udC1zaXplOjE4cHg7IGxpbmUtaGVpZ2h0OiAxLjJlbTt9CiAgLmJsay13NnpjOSAucGFnZSAuc3RhY2stYXV0aG9yIHttYXJnaW4tdG9wOiAxMHB4O30KICAuYmxrLXc2emM5IC5sZWFkLW1lZGlhLmlzLWlmcmFtZXtibG9jay1zaXplOjQwMHB4ICFpbXBvcnRhbnQ7fQogIC5ibGstdzZ6YzkgLmxlYWQtbWVkaWF7YXNwZWN0LXJhdGlvOjE2LzkgIWltcG9ydGFudDt9CiAgLmJsay13NnpjOSAucGFnZSAubGVhZHtvcmRlcjoxfQogIC5ibGstdzZ6YzkgLnBhZ2UgLmNvbHVtbntvcmRlcjoyfQogIC8qIFBvciBkZWJham8gZGVsIGJyZWFrcG9pbnQsIGVsIGxlYWQtYm9keSBzaWVtcHJlIHZ1ZWx2ZSBhIGlyIGRlYmFqbyBkZWwKICAgICBsZWFkLW1lZGlhIChubyBoYXkgc2l0aW8gcGFyYSBlbCBsYXlvdXQgbGFkbyBhIGxhZG8pLiAqLwogIC5ibGstdzZ6YzkgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQsCiAgLmJsay13NnpjOSAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FzcGVjdC1yYXRpbzphdXRvO30KICAuYmxrLXc2emM5IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAogIC5ibGstdzZ6YzkgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLW1lZGlhe2ZsZXg6MSAxIGF1dG87fQogIC5ibGstdzZ6YzkgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keSwKICAuYmxrLXc2emM5IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MSAxIGF1dG87aW5saW5lLXNpemU6OTAlO21hcmdpbjotMzBweCBhdXRvIDA7YmxvY2stc2l6ZTphdXRvO2FsaWduLXNlbGY6YXV0bztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nOjEwcHg7fQogIC5ibGstdzZ6YzkgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9ue2xlZnQ6MTBweDtyaWdodDphdXRvO30KICAuYmxrLXc2emM5IC5wYWdlIC5jb2x1bW4taXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLXc2emM5IC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay13NnpjOSAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMjEgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjIxcHggIWltcG9ydGFudDt9CiAgLmJsay13NnpjOSAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMTggLmxlZnQtdGl0bGV7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDt9CiAgLmJsay13NnpjOSAucGFnZSAubGVmdC1wbGF5ewogICAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICAgIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4OwogIH0KICAuYmxrLXc2emM5IC5wYWdlIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKICB9Cn0KLyogVGlwb2dyYWbtYSAiTfN2aWwiIChhbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL3RpdHVsYXJlcyBhbmltYWRvcykgY29uIFNVCiAgIFBST1BJTyBicmVha3BvaW50ICg0ODBweCksIHNlcGFyYWRvIGRlbCBkZSBhcnJpYmEgKDg2MHB4LCBzb2xvIHBhcmEgYXBpbGFyCiAgIGxhIHJlamlsbGEgY29sdW1uYStub3RpY2lhKTogdW4gY29udGVuZWRvciByZWFsIGRlIG1lbm9zIGRlIDg2MHB4IGVzIG11eQogICBoYWJpdHVhbCAocC5lai4gdW5hIGNvbHVtbmEgZGUgYXJ07WN1bG8gZGUgfjcwMHB4KSB5IE5PIGVzIHVuIG3zdmlsICYjODIxMjsgY29uCiAgIHVuIPpuaWNvIGJyZWFrcG9pbnQgY29tcGFydGlkbywgbGEgdGlwb2dyYWbtYSAiRGVzayIgcXVlIGNvbmZpZ3VyYSBlbAogICB1c3VhcmlvIG5vIGxsZWdhYmEgYSB2ZXJzZSBudW5jYSBlbiBlc2UgY2FzbywgY2F5ZW5kbyBzaWVtcHJlIGEgbG9zIHZhbG9yZXMKICAgcG9yIGRlZmVjdG8gZGUgIk3zdmlsIiBzaW4gcXVlIG5hZGllIGxvIGh1YmllcmEgcGVkaWRvLiA0ODBweCBz7SBzZQogICBjb3JyZXNwb25kZSBjb24gdW4gYW5jaG8gZGUgbfN2aWwgcmVhbCAobGEgdmlzdGEgIk3zdmlsIiBkZWwgcHJvcGlvIGdlc3RvcgogICBzaW11bGEgMzc1cHgpLiBJZ3VhbCBxdWUgZWwgYnJlYWtwb2ludCBkZSBhcnJpYmEsIHNlIG9taXRlIGR1cmFudGUgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBkZSBsYSBub3RpY2lhIHByaW5jaXBhbCAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstdzZ6YzkgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDtjb2xvcjojMDBBN0ZGICFpbXBvcnRhbnQ7fQogIC5ibGstdzZ6YzkgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMwMEE3RkYgIWltcG9ydGFudDt9CiAgLmJsay13NnpjOSAubGVhZC10aXRsZXtmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIC5ibGstdzZ6YzkgLmxlYWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay13NnpjOSAubGVhZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay13NnpjOSAubGVhZC1raWNrZXItZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay13NnpjOSAubGVhZC1raWNrZXItbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstdzZ6YzkgLmxlYWQtc3VidGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay13NnpjOSAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay13NnpjOSAubGVhZC1hbmltLWhlYWRsaW5lc3tmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIAogIC5ibGstdzZ6YzkgLnJlbGF0ZWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay13NnpjOSAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9Cn0KLmJsay13NnpjOSAubGVhZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay13NnpjOSAubGVhZC1tZWRpYXtwb3NpdGlvbjpyZWxhdGl2ZTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVufQovKiBNZWRpYSBtZWRpYW50ZSBpZnJhbWU6IGFsdG8gZmlqbyBlbiBw7XhlbGVzIGVuIHZleiBkZSBsYSBwcm9wb3JjafNuIGRlCiAgIGFycmliYSAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgc3RhdGUubGVhZC5pZnJhbWVIZWlnaHQpICYjODIxMjsgZWwKICAgdmFsb3IgZGUgTfN2aWwgc2Ugc29icmVzY3JpYmUgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8sIGlndWFsIHF1ZSBlbAogICByZXN0byBkZSBvdmVycmlkZXMgcmVzcG9uc2l2ZSBkZSBlc3RlIEhUTUwgZXhwb3J0YWRvLiAqLwouYmxrLXc2emM5IC5sZWFkLW1lZGlhLmlzLWlmcmFtZXthc3BlY3QtcmF0aW86bm9uZTtibG9jay1zaXplOjY0MHB4O30KLmJsay13NnpjOSAubGVhZC1tZWRpYSBpbWcsCi5ibGstdzZ6YzkgLmxlYWQtbWVkaWEgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQovKiBDYXJydXNlbCBkZSBmb3RvcyBkZSBmb25kbyBjb24gZWZlY3RvIEtlbiBCdXJucyAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLgogICBMYSBkdXJhY2nzbiBkZSBsYXMgYW5pbWFjaW9uZXMgKDZzKSBjb2luY2lkZSBjb24KICAgTEVBRF9DQVJPVVNFTF9JTlRFUlZBTCwgcXVlIHRhbWJp6W4gZ29iaWVybmEgZWwgc2NyaXB0IGRlIHJvdGFjafNuCiAgIChidWlsZExlYWRDYXJvdXNlbFNjcmlwdCkgYfFhZGlkbyBhbCBmaW5hbCBkZWwgSFRNTCBleHBvcnRhZG8uICovCi5ibGstdzZ6YzkgLmxlYWQtY2Fyb3VzZWx7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLXc2emM5IC5sZWFkLWNhcm91c2VsLXNsaWRle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAxLjVzIGVhc2U7fQouYmxrLXc2emM5IC5sZWFkLWNhcm91c2VsLXNsaWRlLmlzLWFjdGl2ZXtvcGFjaXR5OjE7ei1pbmRleDoxO30KLmJsay13NnpjOSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO30KLmJsay13NnpjOSAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQob2RkKSBpbWd7YW5pbWF0aW9uOmJsay13NnpjOS1rZW5idXJucy1hIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KLmJsay13NnpjOSAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQoZXZlbikgaW1ne2FuaW1hdGlvbjpibGstdzZ6Yzkta2VuYnVybnMtYiA2cyBlYXNlLWluLW91dCBmb3J3YXJkczt9CkBrZXlmcmFtZXMgYmxrLXc2emM5LWtlbmJ1cm5zLWF7IGZyb217dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gdG97dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSgtNCUsLTMlKTt9IH0KQGtleWZyYW1lcyBibGstdzZ6Yzkta2VuYnVybnMtYnsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKDQlLDMlKTt9IH0KLyogQ29uIHVuYSD6bmljYSBmb3RvIChzaW4gcm90YWNp824gcG9zaWJsZSkgc2UgYXBsaWNhIHVuIHpvb20gaW4vb3V0IGVuCiAgIGJ1Y2xlIGluZmluaXRvIGVuIHZleiBkZWwgcmVjb3JyaWRvIPpuaWNvIChmb3J3YXJkcykgZGUgYXJyaWJhLiAqLwouYmxrLXc2emM5IC5sZWFkLWNhcm91c2VsLmlzLXNpbmdsZSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7YW5pbWF0aW9uOmJsay13NnpjOS1rZW5idXJucy1sb29wIDE0cyBlYXNlLWluLW91dCBpbmZpbml0ZTt9CkBrZXlmcmFtZXMgYmxrLXc2emM5LWtlbmJ1cm5zLWxvb3B7IDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IDUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gMTAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB9Ci8qIENvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcyAoZGVzbGl6YWRvcikgJiM4MjEyOyB2ZXIgZWwgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay13NnpjOSAubGVhZC1jb21wYXJle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3RvdWNoLWFjdGlvbjpub25lO3otaW5kZXg6Mjt9Ci5ibGstdzZ6YzkgLmxlYWQtY29tcGFyZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7ZGlzcGxheTpibG9jazt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1kcmFnOm5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstdzZ6YzkgLmxlYWQtY29tcGFyZS1iZWZvcmV7Y2xpcC1wYXRoOmluc2V0KDAgNTAlIDAgMCk7d2lsbC1jaGFuZ2U6Y2xpcC1wYXRoO30KLmJsay13NnpjOSAubGVhZC1jb21wYXJlLXJhbmdle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7bWFyZ2luOjA7b3BhY2l0eTowO2N1cnNvcjpldy1yZXNpemU7fQouYmxrLXc2emM5IC5sZWFkLWNvbXBhcmUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6NTAlO2lubGluZS1zaXplOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjI7fQouYmxrLXc2emM5IC5sZWFkLWNvbXBhcmUtaGFuZGxlOjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7aW5saW5lLXNpemU6MnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwuMjUpO30KLmJsay13NnpjOSAubGVhZC1jb21wYXJlLWhhbmRsZTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6LTE1cHg7aW5saW5lLXNpemU6MzBweDtibG9jay1zaXplOjMwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmIHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJz48ZyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J004IDYgTDQgMTAgTDggMTQnLz48cGF0aCBkPSdNMTIgNiBMMTYgMTAgTDEyIDE0Jy8+PC9nPjwvc3ZnPiIpIGNlbnRlci8xNnB4IDE2cHggbm8tcmVwZWF0O2JveC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsLjI1KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjI1KTt9Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBNaXNtbyB6LWluZGV4OjIgcXVlCiAgIC5sZWFkLWNvbXBhcmUsIHBvciBlbCBtaXNtbyBtb3Rpdm8gKGdhbmFybGUgYSAubGVhZC1saW5rKS4gKi8KLmJsay13NnpjOSAubGVhZC1pZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7ei1pbmRleDoyO30KLmJsay13NnpjOSAubGVhZC1pZnJhbWUgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGstdzZ6YzkgLmxlYWQtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay13NnpjOSAubGVhZC1ib2R5e3BhZGRpbmc6MHB4IDIwcHggMjBweCAyMHB4OztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgYWxpZ24taXRlbXM6Y2VudGVyOyBwb3NpdGlvbjpyZWxhdGl2ZTsgei1pbmRleDo2OyBwb2ludGVyLWV2ZW50czpub25lOyBpbmxpbmUtc2l6ZTo5NSU7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDphdXRvOyBtYXJnaW4tdG9wOi0zMHB4OyBiYWNrZ3JvdW5kOiMwRTExMUE7IGZsZXg6MSAxIGF1dG87fQovKiBBbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL2F1dG9yIGNlbnRyYWRvcyBlbiB2ZXJ0aWNhbCBkZW50cm8gZGVsIGFsdG8KICAgc29icmFudGUgYmFqbyBsYSBjYXRlZ29y7WEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay13NnpjOSAubGVhZC1ib2R5LW1haW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtpbmxpbmUtc2l6ZToxMDAlO2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowO30KLyogQXBhcmllbmNpYSBuZWdhdGl2YSAocG9yIGRlZmVjdG8pIHZzLiBwb3NpdGl2YSBkZSBsYSBjYWphIGRlIHRpdHVsYXIgJiM4MjEyOyB2ZXIKICAgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay13NnpjOSAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLWJvZHl7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTt9Ci5ibGstdzZ6YzkgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC10aXRsZSwKLmJsay13NnpjOSAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5hdXRob3ItbGFiZWx7Y29sb3I6IzBFMTExQTt9Ci8qIFBvc2ljafNuIGRlbCBsZWFkLWJvZHkgcmVzcGVjdG8gYWwgbGVhZC1tZWRpYSAoJ2xlZnQnLydyaWdodCcpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstdzZ6YzkgLmxlYWQubGVhZC1ib2R5LWxlZnQsCi5ibGstdzZ6YzkgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOnJvdzthc3BlY3QtcmF0aW86Mi45NjI5NjI5NjI5NjI5NjM7fQouYmxrLXc2emM5IC5sZWFkLmxlYWQtYm9keS1sZWZ0e2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO30KLmJsay13NnpjOSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKLmJsay13NnpjOSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDowIDAgNjAlO30KLmJsay13NnpjOSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAouYmxrLXc2emM5IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MCAwIGNhbGMoNDAlICsgMzBweCk7aW5saW5lLXNpemU6YXV0bzttYXJnaW4tdG9wOjA7YmxvY2stc2l6ZTpjYWxjKDEwMCUgLSA0MnB4KTthbGlnbi1zZWxmOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDt9Ci5ibGstdzZ6YzkgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotMzBweDt9Ci5ibGstdzZ6YzkgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXJpZ2h0OjA7fQovKiBQb3NpY2nzbiAnYm90dG9tLWZ1bGwnIGRlbCBsZWFkLWJvZHkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gaW5saW5lLXNpemUKICAgZW4gdmV6IGRlIHdpZHRoIHBvciBlbCBtaXNtbyBtb3Rpdm8gcXVlIGVsIHJlc3RvIGRlIGVzdGUgYmxvcXVlIChldml0YXIKICAgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbCB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MKICAgZGlyZWN0YW1lbnRlKS4gKi8KLmJsay13NnpjOSAubGVhZC5sZWFkLWJvZHktYm90dG9tLWZ1bGwgLmxlYWQtYm9keXsKICBpbmxpbmUtc2l6ZToxMDAlOwogIG1hcmdpbjowOwogIHBhZGRpbmctdG9wOjMwcHg7CiAgcGFkZGluZy1ib3R0b206MzBweDsKICBib3JkZXI6bm9uZTsKfQovKiBFdGlxdWV0YSBkZSBleGNsdXNpdmEgKG8gdGV4dG8gcGVyc29uYWxpemFkbykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay13NnpjOSAubGVhZC1leGNsdXNpdmUtdGFne3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDt6LWluZGV4OjM7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtsZXR0ZXItc3BhY2luZzowLjVweDtwYWRkaW5nOjJweCA4cHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwb2ludGVyLWV2ZW50czpub25lO30KLyogU2VsZWN0b3IgY29uIDMgY2xhc2VzICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKCIubGVhZC1tZWRpYSBpbWciIHRhbWJp6W4KICAgbWF0Y2hlYSBlc3RlIDxpbWc+IHkgbGUgZ2FuYWJhIGVuIGVzcGVjaWZpY2lkYWQpLiAqLwouYmxrLXc2emM5IC5sZWFkLWV4Y2x1c2l2ZS10YWcgLmxlYWQtZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXc2emM5IC5sZWFkLWNhdHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06c2tld1koLTZkZWcpO21hcmdpbi10b3A6LTE1cHg7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay13NnpjOSAubGVhZC1raWNrZXIsIC5ibGstdzZ6YzkgLmxlYWQtc3VidGl0bGV7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO3RleHQtdHJhbnNmb3JtOm5vbmU7bWFyZ2luOjA7Cn0KLmJsay13NnpjOSAubGVhZC1raWNrZXJ7Zm9udC13ZWlnaHQ6NzAwO30KLmJsay13NnpjOSAubGVhZC1zdWJ0aXRsZXtmb250LXdlaWdodDo2MDA7fQovKiBUYW1h8W8vaW50ZXJsaW5lYWRvL2NvbG9yIGRlIGFudGV07XR1bG8geSBzdWJ07XR1bG8gZW4gRGVzayAodmFsb3JlcyBwb3IKICAgZGVmZWN0byBkZWwgYmxvcXVlOyBlbCBvdmVycmlkZSBkZSBN83ZpbCB2YSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywKICAgeWEgcXVlIGVsIEhUTUwgZXhwb3J0YWRvIGVzIHJlc3BvbnNpdmUgeSBubyBkZXBlbmRlIGRlIHF16SB2aXN0YSB0dXZpZXJhcwogICBzZWxlY2Npb25hZGEgZW4gZWwgZ2VzdG9yIGFsIGV4cG9ydGFyL2NvcGlhcikuICovCi5ibGstdzZ6YzkgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiMwMEE3RkY7fQouYmxrLXc2emM5IC5sZWFkLXN1YnRpdGxle2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiMwMEE3RkY7fQovKiB0ZXh0LXdyYXA6YmFsYW5jZSAmIzgyMTI7IG1pc21vIGNyaXRlcmlvIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlbCBnZXN0b3IgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIGVzYSByZWdsYSk6IHJlcGFydGUgbGFzCiAgIGztbmVhcyBkZWwgdGl0dWxhciBkZSBmb3JtYSBt4XMgdW5pZm9ybWUgZGVudHJvIGRlIGNhZGEgZGlzcG9zaXRpdm8sIHNpbgogICBwcmV0ZW5kZXIgaWd1YWxhciBlbCBu+m1lcm8gZGUgbO1uZWFzIGVudHJlIHBsYXRhZm9ybWFzIGRpc3RpbnRhcy4gKi8KLmJsay13NnpjOSAubGVhZC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjEuMDI7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt0ZXh0LXdyYXA6YmFsYW5jZTt9Ci8qIFRpdHVsYXIgY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGEgKHZlciBidWlsZFNjb3BlZEhUTUwpOgogICBzZSBnZW5lcmFuIGxvcyBkb3MgdGV4dG9zIChEZXNrL03zdmlsKSB5IGFxde0gc2UgbXVlc3RyYSBzb2xvIHVubyBzZWf6biBlbAogICBhbmNobyByZWFsIGRlbCBjb250ZW5lZG9yICYjODIxMjsgZWwgbWlzbW8gbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIHlhIHVzYSBlbAogICByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8gcGFyYSBhZGFwdGFyc2Ugc2luIGRlcGVuZGVyIGRlIEpTLiAqLwouYmxrLXc2emM5IC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBBbnRldO10dWxvL3N1YnTtdHVsbyBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YTogbWlzbW8KICAgbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgKHZlciBhcnJpYmEpLiAqLwouYmxrLXc2emM5IC5sZWFkLWtpY2tlci1tb2JpbGUsIC5ibGstdzZ6YzkgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIFRpdHVsYXIgZGUgbm90aWNpYSByZWxhY2lvbmFkYSAoY29sdW1uYSkgY29uIHRleHRvIHByb3BpbyBlbiBN83ZpbCAodmVyCiAgIGl0ZW0udGl0bGVNb2JpbGUgZW4gYnVpbGRDb2x1bW5JdGVtVGl0bGVIVE1MKTogbWlzbW8gbWVjYW5pc21vIGRlCiAgIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgcHJpbmNpcGFsIGRlIGFycmliYS4gKi8KLmJsay13NnpjOSAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLmJsay13NnpjOSAuYXV0aG9yLWxhYmVse2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpyaWdodDtkaXNwbGF5OmJsb2NrfQouYmxrLXc2emM5IC5jb2x1bW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47fQouYmxrLXc2emM5IC5jb2x1bW4taXRlbXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLXc2emM5IC50aHVtYntwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzo0LzM7YmFja2dyb3VuZDojZWVlO292ZXJmbG93OmhpZGRlbn0KLmJsay13NnpjOSAudGh1bWIgaW1nLAouYmxrLXc2emM5IC50aHVtYiB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci5ibGstdzZ6YzkgLnRodW1iIC5wbGF5LXNxdWFyZSwKLmJsay13NnpjOSAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmV7CiAgcG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTo1cHg7IGxlZnQ6NXB4OwogIGlubGluZS1zaXplOjI1cHg7YmxvY2stc2l6ZToyNXB4O2JvcmRlci1yYWRpdXM6MnB4O2Rpc3BsYXk6aW5saW5lLWdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjE4KTsKICBjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cywgdHJhbnNmb3JtIC4xMnM7CiAgei1pbmRleDoyOyBhbmltYXRpb246YmxrLXc2emM5LWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstdzZ6YzkgLnRodW1iIC5wbGF5LXNxdWFyZTo6YmVmb3JlLAouYmxrLXc2emM5IC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo2cHggc29saWQgI2ZmZjtib3JkZXItdG9wOjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjVweCBzb2xpZCB0cmFuc3BhcmVudDsKICBtYXJnaW4tbGVmdDoycHg7Cn0KLmJsay13NnpjOSAudGh1bWIgLnBsYXktc3F1YXJlOmhvdmVyLAouYmxrLXc2emM5IC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTpob3ZlcnsgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuODUpOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTsgfQouYmxrLXc2emM5IC5zdGFjay10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjEuMTVlbTttYXJnaW46MDtjb2xvcjojMmMzZTUzO30KLmJsay13NnpjOSAuc3RhY2stYXV0aG9ye2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjtjb2xvcjojODI4NTk1O2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxMXB4O2xldHRlci1zcGFjaW5nOjA7dGV4dC1hbGlnbjpyaWdodDt9Ci8qIFNpbiBlc3RhIHJlZ2xhIGVsIGF1dG9yIHF1ZWRhIHBlZ2FkbyBqdXN0byBkZWJham8gZGVsIHRpdHVsYXIgZW4gdmV6IGRlCiAgIGFiYWpvIGRlIGxhIHRhcmpldGE6IC5tb2Qtc3RhY2sgbmVjZXNpdGEgc2VyIGZsZXgtY29sdW1uIGNvbgogICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiBwYXJhIHF1ZSBlbCBodWVjbyBzb2JyYW50ZSAoY3VhbmRvIGxhCiAgIHRhcmpldGEgY3JlY2UgbeFzIHF1ZSBzdSBjb250ZW5pZG8sIHZlciAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spCiAgIG3hcyBhYmFqbykgZW1wdWplIGVsIGF1dG9yIGhhY2lhIGVsIGJvcmRlIGluZmVyaW9yLiAqLwouYmxrLXc2emM5IC5tb2Qtc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtmbGV4OjEgMSBhdXRvO30KLyogRXN0aWxvICJmb3RvIHBlcXVl8WEgKyB0aXR1bGFyIjogZm90byA0OjMgYSBsYSBpenF1aWVyZGEsIHRleHRvIGEgbGEgZGVyZWNoYS4gKi8KLmJsay13NnpjOSAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLWxlZnR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxMTBweCAxZnI7Z2FwOjEwcHg7fQovKiBFc3RpbG8gInNvbG8gdGV4dG8iIChwb3IgZGVmZWN0byk6IGVsIGF1dG9yIHNlIHBvc2ljaW9uYSBlbiBhYnNvbHV0bywKICAgYW5jbGFkbyBhIGxhIGVzcXVpbmEgaW5mZXJpb3IgZGVyZWNoYSBkZSBsYSB0YXJqZXRhIChpZ3VhbCBxdWUgZWwgcGxheSBkZQogICBsYXMgbWluaWF0dXJhcyksIGVuIHZleiBkZSBkZXBlbmRlciBkZSBxdWUgZWwgYmxvcXVlIGRlIHRleHRvIHRlbmdhIGh1ZWNvCiAgIGRlIHNvYnJhIHBhcmEgZW1wdWphcmxvIGFiYWpvIGNvbiBmbGV4Ym94ICYjODIxMjsgY29uIHTtdHVsb3MgZGUgMi0zIGztbmVhcyBlc2UKICAgaHVlY28gbm8gZXhpc3RlIHkgZWwgYXV0b3IgbnVuY2EgbGxlZ2FiYSBhIGJhamFyLiBwYWRkaW5nLWJvdHRvbSBlbgogICBsZWZ0LWJvZHkgcmVzZXJ2YSBlbCBlc3BhY2lvIHBhcmEgcXVlIGVsIHTtdHVsbyBubyBzZSBzb2xhcGUgY29uIOlsLiAqLwouYmxrLXc2emM5IC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAubGVmdC1ib2R5e3BhZGRpbmctYm90dG9tOjMzcHg7fQouYmxrLXc2emM5IC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAuc3RhY2stYXV0aG9ye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7Ym90dG9tOjEwcHg7bWFyZ2luLXRvcDowO30KLmJsay13NnpjOSAubGVmdC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjEuMTU7Y29sb3I6IzJjM2U1MzttYXJnaW46MDt0ZXh0LWFsaWduOmxlZnQ7fQouYmxrLXc2emM5IC5sZWZ0LXBsYXl7CiAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjMDBhN2ZmOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206IDRweDsKfQouYmxrLXc2emM5IC5sZWZ0LXBsYXk6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4Owp9Ci5ibGstdzZ6YzkgLnJlbGF0ZWQtbGl2ZS10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkY1MDUwOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkY1MDUwOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXc2emM5IC5yZWxhdGVkLWVkaXRvcmlhbC10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkFCMTIxOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkFCMTIxOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXc2emM5IC5wbGF5LWJ1dHRvbnsKICAvKiBBbmNoby9hbHRvIGZpam9zIGVuIHZleiBkZSBhc3BlY3QtcmF0aW86MS8xICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoZWwKICAgICBj4WxjdWxvIGRlICJzaHJpbmstdG8tZml0IiBwYXJhIHVuIDxidXR0b24+IGVuIGFic29sdXRvIHNpbiB0YW1h8W8KICAgICBleHBs7WNpdG8gbm8gZXMgZmlhYmxlIGVudHJlIG1vdG9yZXM7IGVuIFdlYktpdC9pT1MgZGFiYSB1biByZWN04W5ndWxvCiAgICAgdmVydGljYWwgZXN0cmVjaO1zaW1vIGVuIHZleiBkZSB1biBjdWFkcmFkbykuICovCiAgYXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOwogIHBvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDsKICBpbmxpbmUtc2l6ZTozNHB4O2Jsb2NrLXNpemU6MzRweDsKICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4OwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyk7CiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC40Mik7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjNweDsKICBjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7YW5pbWF0aW9uOmJsay13NnpjOS1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLXc2emM5IC5wbGF5LWJ1dHRvbiAucGxheS1pY29uewogIGlubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjtib3JkZXItdG9wOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDsKfQouYmxrLXc2emM5IC5wbGF5LWJ1dHRvbiAucGxheS10ZXh0e2Rpc3BsYXk6bm9uZTt9Ci8qIEVuIGVsIG1vZG8gJ2xlZnQnIGVsIFBsYXkgcGFzYSBhIGxhIGVzcXVpbmEgc3VwZXJpb3IgZGVyZWNoYSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXc2emM5IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5wbGF5LWJ1dHRvbntsZWZ0OmF1dG87cmlnaHQ6MTBweDt9CgovKiBUaXR1bGFyZXMgYW5pbWFkb3MgKGNhcGEgYWx0ZXJuYXRpdmEgc29icmUgbGVhZC1tZWRpYSkgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYQogICBoZXJyYW1pZW50YS4gQ2FkYSB0aXR1bGFyIHRpZW5lIHN1IHByb3BpYSBwb3NpY2nzbiAoY2xhc2UgcG9zLSosIHZlcgogICBidWlsZFNjb3BlZEhUTUwpIHkgc2UgcmV2ZWxhIGztbmVhIHBvciBs7W5lYSAodW5hIHZleiBtZWRpZGFzIHN1cyBs7W5lYXMKICAgcmVhbGVzIHBvciBlbCBzY3JpcHQgc3RhbmRhbG9uZSwgdmVyIGJ1aWxkQW5pbUhlYWRsaW5lc1NjcmlwdCkgY29uIHVuYQogICBjYWphIGRlIGZvbmRvIGRldHLhcyBkZSBjYWRhIGztbmVhIHkgdW4gZmFkZSBkZSBvcGFjaWRhZCBlbnRyZSB0aXR1bGFyZXMuICovCi5ibGstdzZ6YzkgLmxlYWQtYW5pbS1oZWFkbGluZXN7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB6LWluZGV4OjQ7CiAgcG9pbnRlci1ldmVudHM6bm9uZTsKfQouYmxrLXc2emM5IC5sZWFkLWFuaW0taGVhZGxpbmV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDoxNXB4OwogIG9wYWNpdHk6MDsKfQouYmxrLXc2emM5IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBib3R0b206NjBweDsgfQouYmxrLXc2emM5IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0eyB0b3A6NjBweDsgfQouYmxrLXc2emM5IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLXc2emM5IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay13NnpjOSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGstdzZ6YzkgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBsZWZ0OmF1dG87IHJpZ2h0OjE1cHg7IH0KLmJsay13NnpjOSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHR7IHRvcDo2MHB4OyB9Ci5ibGstdzZ6YzkgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLXc2emM5IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjYwcHg7IH0KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdzZ6YzkgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnQsCi5ibGstdzZ6YzkgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnQsCi5ibGstdzZ6YzkgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGxlZnQ6NDBweDsgfQouYmxrLXc2emM5IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGstdzZ6YzkgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay13NnpjOSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci5ibGstdzZ6YzkgLmxlYWQtYW5pbS1oZWFkbGluZS5pcy1hY3RpdmV7IG9wYWNpdHk6MTsgfQouYmxrLXc2emM5IC5sZWFkLWFuaW0tbGluZXsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBkaXNwbGF5OnRhYmxlOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjsKICBmb250LXdlaWdodDo5MDA7CiAgY29sb3I6I2ZmZjsKICBwYWRkaW5nOjJweCA4cHg7CiAgY2xpcC1wYXRoOmluc2V0KDAgMTAwJSAwIDApOwogIG9wYWNpdHk6MTsKICB0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlOwp9Ci5ibGstdzZ6YzkgLmxlYWQtYW5pbS1saW5lLmlzLWhpZGluZ3sgb3BhY2l0eTowOyB9Ci8qIFNvbGFwZSBkZSAxcHggZW50ZXJhIGVudHJlIGztbmVhcyBwYXJhIGNlcnJhciBlbCBoaWxvIGRlIHN1Yi1w7XhlbCBxdWUKICAgcHVlZGUgcXVlZGFyIGVudHJlIHN1cyBjYWphcyBkZSBmb25kbyAocmVkb25kZW8gZGUgYWx0dXJhcyBmcmFjY2lvbmFyaWFzKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstdzZ6YzkgLmxlYWQtYW5pbS1saW5lICsgLmxlYWQtYW5pbS1saW5lewogIG1hcmdpbi10b3A6LTFweDsKfQouYmxrLXc2emM5IC5sZWFkLWFuaW0tbGluZTpmaXJzdC1jaGlsZHsgcGFkZGluZy10b3A6NnB4OyB9Ci5ibGstdzZ6YzkgLmxlYWQtYW5pbS1saW5lOmxhc3QtY2hpbGR7IHBhZGRpbmctYm90dG9tOjZweDsgfQouYmxrLXc2emM5IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstdzZ6YzkgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay13NnpjOSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHQgLmxlYWQtYW5pbS1saW5leyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6MDsgfQouYmxrLXc2emM5IC5sZWFkLWFuaW0taGVhZGxpbmVzLmlzLXBvc2l0aXZlIC5sZWFkLWFuaW0tbGluZXsgY29sb3I6IzBFMTExQTsgfQouYmxrLXc2emM5IC5sZWFkLWFuaW0tbGluZS1iZ3sgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7IHotaW5kZXg6LTE7IH0KLmJsay13NnpjOSAubGVhZC1hbmltLWxpbmUtdGV4dHsgcG9zaXRpb246cmVsYXRpdmU7IH0KQGtleWZyYW1lcyBibGstdzZ6YzktYW5pbS1saW5lLXJldmVhbHsgdG97IGNsaXAtcGF0aDppbnNldCgwIDAgMCAwKTsgfSB9CgovKiBBbmNob3Igb3ZlcmxheSBmb3IgZnVsbCBjbGlja2FibGUgbGVhZCAqLwouYmxrLXc2emM5IC5sZWFkLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjF9CgovKiBIb3ZlciBvcGFjaXR5IGFuaW1hdGlvbiAqLwouYmxrLXc2emM5IC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAouYmxrLXc2emM5IC5jb2x1bW4taXRlbTpob3ZlcntvcGFjaXR5Oi44fQovKiBGb3RvIHByaW5jaXBhbCAoZmFsbGJhY2svc2luZ2xlKSBvIGNhcnJ1c2VsIGRlIGZvdG9zOiBvcGFjaWRhZCAwLjkgYWwKICAgcGFzYXIgZWwgcmF0824gcG9yIGxhIHRhcmpldGEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4KICAgbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGEgdu1kZW8gbmkgYWwKICAgY29tcGFyYWRvciBhbnRlcy9kZXNwdelzLiAqLwouYmxrLXc2emM5IC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLXc2emM5IC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay13NnpjOSAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKLmJsay13NnpjOSAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6Ljk7fQovKiBFbiBlbCBhbmNobyBt83ZpbCAobWlzbW8gQGNvbnRhaW5lciBxdWUgZWwgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvKSBubwogICBhcGxpY2EgZXN0YSBhbmltYWNp824gZGUgb3BhY2lkYWQgc29icmUgbGEgbm90aWNpYSBwcmluY2lwYWw6IHZhIERFU1BVyVMKICAgZGUgbGEgcmVnbGEgZ2VuZXJhbCBkZSBhcnJpYmEgKG1pc21hIGVzcGVjaWZpY2lkYWQpIHBhcmEgcG9kZXIgZ2FuYXJsZS4KICAgT21pdGlkbywgaWd1YWwgcXVlIGVsIGJsb3F1ZSBkZSB0aXBvZ3JhZu1hIGRlIGFycmliYSwgbWllbnRyYXMgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstdzZ6YzkgLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCiAgLmJsay13NnpjOSAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKICAuYmxrLXc2emM5IC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eToxO30KfQoKLyogQW5pbWFjafNuIGNvbXBhcnRpZGEgcGxheSBwcmluY2lwYWwgKyBjdWFkcmFkb3MgcGxheSBhcGlsYWRhcyAqLwpAa2V5ZnJhbWVzIGJsay13NnpjOS1ibGlua3sKICAwJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpfQogIDUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSl9Cn0KLyogQ2FiZWNlcmEgKi8KLmJsay13NnpjOSAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxMHB4IDAgMzJweH0KLmJsay13NnpjOSAuZm5kLWxpbmVhe2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTo1cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOi0xOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzM30KLmJsay13NnpjOSAuc2VjdGlvbi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NHB4IDEzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUxMTFBO3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTtmb250LXNpemU6NDJweDtjb2xvcjojMEUxMTFBO30KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsuYmxrLXc2emM5IC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MCAxMHB4fX0KLyogQ2FiZWNlcmEgJiM4MjEyOyBEaXNl8W8gMiAodGl0dWxhciArIGNhcnJ1c2VsIGRlIGxvZ290aXBvcykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay13NnpjOSAuaGVhZGVyMntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoyMHB4O3BhZGRpbmctYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzBFMTExQTt9Ci8qIGFsaWduLXNlbGY6ZmxleC1lbmQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSAxNXB4IGRlIGxhIGztbmVhIHNlcGFyYWRvcmEKICAgZW4gRGVzayAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MKICAgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXc2emM5IC5oZWFkZXIyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtmbGV4OjEgMSA1MCU7bWluLWlubGluZS1zaXplOjA7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci5ibGstdzZ6YzkgLmhlYWRlcjItdGFnc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleDowIDAgYXV0bzt9Ci8qIE1pc21vIHRhbWHxby90aXBvZ3JhZu1hIHF1ZSAubGVhZC1leGNsdXNpdmUtdGFnIChsYSBkZSBsYSBub3RpY2lhCiAgIHByaW5jaXBhbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZQogICBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay13NnpjOSAuaGVhZGVyMi1jYXQtdGFnLAouYmxrLXc2emM5IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6LjhlbTtsZXR0ZXItc3BhY2luZzouNXB4O3BhZGRpbmc6MnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7fQouYmxrLXc2emM5IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay13NnpjOSAuaGVhZGVyMi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZTozNnB4O2xpbmUtaGVpZ2h0OjEuMDU7Y29sb3I6IzBFMTExQTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWluLWlubGluZS1zaXplOjA7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO30KLyogU2VwYXJhY2nzbiBkZSAxMHB4IGVudHJlIGVsIHRleHRvIGRlIHBhdHJvY2luaW8geSBlbCBsb2dvIGVuIERlc2sgJiM4MjEyOyBlbgogICBN83ZpbCBzaWd1ZSBzaW4gc2VwYXJhY2nzbiAoZ2FwOjAsIHZlciBAY29udGFpbmVyIG3hcyBhYmFqbykuICovCi5ibGstdzZ6YzkgLmhlYWRlcjItbG9nb3Mtd3JhcHtmbGV4OjAgMCBhdXRvO21heC1pbmxpbmUtc2l6ZTo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7fQovKiBFdGlxdWV0YSBvcGNpb25hbCBqdW50byBhbCBjYXJydXNlbCBkZSBsb2dvcyAocC5lai4gIlBhdHJvY2luYWRvIHBvcjoiKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXc2emM5IC5oZWFkZXIyLWxvZ29zLWxhYmVse2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjY3O3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ibGstdzZ6YzkgLmhlYWRlcjItbG9nb3N7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTYwcHg7YmxvY2stc2l6ZTo1MHB4O2ZsZXgtc2hyaW5rOjA7fQouYmxrLXc2emM5IC5oZWFkZXIyLWxvZ29zIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO21heC1pbmxpbmUtc2l6ZToxMDAlO21heC1ibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb250YWluO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UtaW4tb3V0O30KLmJsay13NnpjOSAuaGVhZGVyMi1sb2dvcyBpbWcuaXMtYWN0aXZle29wYWNpdHk6MTt9Ci8qIElndWFsIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsOiBwb3IgZGViYWpvIGRlIGVzdGUgYW5jaG8gc2UKICAgaW50ZW50YSBwcmltZXJvIDEgU09MQSBGSUxBIChldGlxdWV0YXMrdGl0dWxhciBqdW50byBhbCBsb2dvLCBpZ3VhbCBxdWUKICAgZW4gRGVzaywgYSB0YW1h8W8gcmVkdWNpZG8pLiBFbCBibG9xdWUgZGUgbG9nb3MgbWFudGllbmUgU0lFTVBSRSBzdQogICBkaXNwb3NpY2nzbiBlbiBjb2x1bW5hIChldGlxdWV0YSBkZSBwYXRyb2NpbmlvIGVuY2ltYSBkZWwgbG9nbywKICAgYWxpbmVhZG9zIGEgbGEgZGVyZWNoYSwgc2luIHNlcGFyYWNp824pIHRhbnRvIGVuIGVzdGEgZmlsYSD6bmljYSBjb21vIGVuCiAgIGVsIHJlc2d1YXJkbyBkZSBhYmFqby4gU2kgZWwgdGl0dWxhciwgc3VtYWRvIGFsIGFuY2hvIGRlIGxhcyBldGlxdWV0YXMKICAgYWN0aXZhcyAoY2F0ZWdvcu1hIHkvbyBleGNsdXNpdmEsIHNpIGxhcyBoYXkpLCBzdXBlcmEgZWwgNTUlIGRlbCBhbmNobwogICB0b3RhbCBkZSBsYSBjYWJlY2VyYSAoY2FkYSB1bm8gbWVkaWRvIGEgdW5hIHNvbGEgbO1uZWEpLCBlbCBzY3JpcHQKICAgc3RhbmRhbG9uZSBh8WFkaWRvIGFsIGZpbmFsIGRlIGVzdGUgSFRNTCAodmVyCiAgIGJ1aWxkSGVhZGVyMlN0YWNraW5nU2NyaXB0KCkpIGxvIGRldGVjdGEgbWlkaWVuZG8gc3UgYW5jaG8gbmF0dXJhbAogICB5IGHxYWRlIGxhIGNsYXNlICJoZWFkZXIyLXN0YWNrZWQiOiBlbCBibG9xdWUgZGUKICAgbG9nb3Mgc3ViZSBlbnRvbmNlcyBhIHN1IHByb3BpYSBmaWxhIChhbGluZWFkbyBhIGxhIGRlcmVjaGEpIHkKICAgdGl0dWxhcitldGlxdWV0YXMgYmFqYW4gYSBsYSBmaWxhIGRlIGFiYWpvLCBhIGFuY2hvIGNvbXBsZXRvICYjODIxMjsgbWlzbW8KICAgbGF5b3V0IGRlIDIgZmlsYXMgcXVlIGhhYu1hIGFudGVzIHNpZW1wcmUgcG9yIGRlYmFqbyBkZSBlc3RlIGJyZWFrcG9pbnQsCiAgIGFob3JhIHNvbG8gY29tbyByZXNndWFyZG8uIERlbnRybyBkZSBlc2UgcmVzZ3VhcmRvLCBjb24gZXRpcXVldGEocykgZWwKICAgdGl0dWxhciBwYXNhIGFkZW3hcyBhIHN1IFBST1BJQSBmaWxhIGEgYW5jaG8gY29tcGxldG8sIGRlYmFqbyBkZSBsYSBmaWxhIGRlIGV0aXF1ZXRhcyAodmVyCiAgICIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnQiIG3hcyBhYmFqbykuIEVsIGxvZ28gc2UgcmVkdWNlIHVuIDIwJQogICAoMTYweDUwICYjODU5NDsgMTI4eDQwKS4KICAgYWxpZ24tc2VsZjpmbGV4LWVuZCBlbiBoZWFkZXIyLWxlZnQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSBsb3MgMTBweAogICBkZWwgcGFkZGluZy1ib3R0b20gcmVzcGVjdG8gYSBsYSBs7W5lYSBzZXBhcmFkb3JhICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlCiAgIGVuIERlc2sgKHZlciBoZWFkZXIyLWxlZnQgbeFzIGFycmliYSk6IHNpbiBlc3RvLCBhbCBzZXIgZWwgYmxvcXVlIGRlCiAgIGxvZ29zIG3hcyBhbHRvIHF1ZSBlbCB0aXR1bGFyLCBlbCBjZW50cmFkbyB2ZXJ0aWNhbCBkZWwgcm93IGRlamFiYSB1bgogICBodWVjbyBtYXlvciBlbnRyZSBlbCB0aXR1bGFyIHkgbGEgbO1uZWEuIEVsIGJsb3F1ZSBkZSBsb2dvcyBzaWd1ZQogICBjZW50cmFkbyAoc2luIGVzZSBvdmVycmlkZSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay13NnpjOSAuaGVhZGVyMntmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O30KICAuYmxrLXc2emM5IC5oZWFkZXIyLWxlZnR7b3JkZXI6MTthbGlnbi1zZWxmOmZsZXgtZW5kO30KICAuYmxrLXc2emM5IC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MjthbGlnbi1zZWxmOmNlbnRlcjttYXgtaW5saW5lLXNpemU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC5ibGstdzZ6YzkgLmhlYWRlcjItbG9nb3N7aW5saW5lLXNpemU6MTI4cHg7YmxvY2stc2l6ZTo0MHB4O30KICAuYmxrLXc2emM5IC5oZWFkZXIyLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KICAuYmxrLXc2emM5IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9CiAgLmJsay13NnpjOSAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdHtvcmRlcjoyO2FsaWduLXNlbGY6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NXB4O30KICAuYmxrLXc2emM5IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjE7bWF4LWlubGluZS1zaXplOjEwMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC8qIFJlc2d1YXJkbyBpbnRlcm1lZGlvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YTogc29sbyBlbCB0aXR1bGFyIGJhamEgYSBzdQogICAgIHByb3BpYSBmaWxhIGEgYW5jaG8gY29tcGxldG8gY3VhbmRvIGxhcyBldGlxdWV0YXMgU80gY2FiZW4ganVudG8gYWwKICAgICBsb2dvIHBlcm8gZWwgdGl0dWxhciBuby4gaGVhZGVyMi1sZWZ0IHBhc2EgZGUgZmlsYSBhIGNvbHVtbmEKICAgICAoZXRpcXVldGFzIGFycmliYSwgdGl0dWxhciBkZWJham8pIHkgcmVjdXBlcmEgYWxpZ24tc2VsZjphdXRvIHBhcmEKICAgICBjZW50cmFyc2UgdmVydGljYWxtZW50ZSBjb250cmEgZWwgbG9nbyAoYWxpZ24tc2VsZjpjZW50ZXIgZGUgbGEgcmVnbGEKICAgICBiYXNlIGRlIC5oZWFkZXIyLWxvZ29zLXdyYXAsIGFycmliYSksIGlndWFsIHF1ZSBlbiBlbCByZXN0byBkZSBlc3RhZG9zLiAqLwogIC5ibGstdzZ6YzkgLmhlYWRlcjIuaGVhZGVyMi10aXRsZS1iZWxvdyAuaGVhZGVyMi1sZWZ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6YXV0bztnYXA6NXB4O30KfQoKLyogRXN0aWxvICJmb3RvIGdyYW5kZSArIHRpdHVsYXIiOiBmb3RvIDE2OjkgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbyAmIzgyMTI7IGVsZWdpYmxlCiAgIHBvciBub3RpY2lhIGRlc2RlIGVsIGdlc3Rvci4gTm8gc2UgcmVzdHJpbmdlIGNvbiBAY29udGFpbmVyIHBvcnF1ZQogICAuY29sdW1uLWl0ZW0geWEgZXMgYmxvY2sgcG9yIGRlZmVjdG8gKGVsIHRodW1iIHkgZWwgdGV4dG8gc2UgYXBpbGFuIHNvbG9zCiAgIHNpbiBt4XMgYWp1c3RlKSwgYXPtIHF1ZSBlbCBkaXNl8W8gZnVuY2lvbmEgaWd1YWwgZGUgYmllbiBlbiBjdWFscXVpZXIKICAgYW5jaG8sIERlc2sgbyBN83ZpbC4gKi8KLmJsay13NnpjOSAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay13NnpjOSAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLXc2emM5IC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXdlaWdodDo5MDA7fQovKiBFbiBN83ZpbCBlbCB0aXR1bGFyIGRlIGVzdGUgZGlzZfFvIHNlIG11ZXN0cmEgbeFzIGdyYW5kZSAoMS41cmVtIGVuIHZleiBkZQogICBsb3MgMS4ycmVtIGRlIERlc2spICYjODIxMjsgbWlzbWEgZXNwZWNpZmljaWRhZCAoMyBjbGFzZXMpIHF1ZSBsYSByZWdsYSBkZQogICBhcnJpYmE7IGFsIGlyIERFU1BVyVMgZW4gZWwgQ1NTIGdhbmEgcG9yIG9yZGVuIGRlIGNhc2NhZGEuIFNlIHVzYSBlbAogICBicmVha3BvaW50IGRlIDQ4MHB4IChlbCBkZSB0aXBvZ3JhZu1hIGVuIGVzdGEgYXBwLCBubyBlbCBkZSA4NjBweCBxdWUgYXF17QogICBzb2xvIGdvYmllcm5hIGVsIGFwaWxhZG8gZGUgY29sdW1uYXMpIHBhcmEgcXVlIGNvaW5jaWRhIGNvbiBlbCByZXN0byBkZQogICBjYW1iaW9zIGRlIHRleHRvL3RhbWHxbyBwb3IgdmlzdGEuIE5vIGFmZWN0YSBhbCByZXNndWFyZG8gZGUgMiBjb2x1bW5hcyBlbgogICBt83ZpbCAobW9iLWdyaWQpLCBt4XMgZXNwZWPtZmljbyAoMThweCwgdmVyIG3hcyBhcnJpYmEpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstdzZ6YzkgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjEuNXJlbTt9Cn0KLyogRXN0aWxvICJCbG9xdWUgbWVkaWEiICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdzZ6YzkgLm1lZGlhLWJsb2NrLW1lZGlhe2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOmF1dG87fQouYmxrLXc2emM5IC5tZWRpYS1ibG9jay13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXc2emM5IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLXc2emM5IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay13NnpjOSAuY29sdW1uLWl0ZW0ubGF5b3V0LW1lZGlhLWJsb2Nre2JvcmRlcjpub25lO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2Jsb2NrLXNpemU6YXV0bztmbGV4OjAgMCBhdXRvO30KLmJsay13NnpjOSAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spe2ZsZXg6MSAxIGF1dG87fQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0iYmxrLXc2emM5Ij4KICA8ZGl2IGNsYXNzPSJiZy1zZWN0aW9uLXRpdGxlIj4KICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+RGViYXRlIGRlbCBlc3RhZG8gZGUgbGEgUmVnafNuPC9oMj4KICAgIDxzcGFuIGNsYXNzPSJmbmQtbGluZWEiPjwvc3Bhbj4KICA8L2Rpdj4KICA8bWFpbiBjbGFzcz0icGFnZSI+CiAgICA8YXNpZGUgY2xhc3M9ImNvbHVtbiI+CiAgICAgIAogICAgPGEgY2xhc3M9ImNvbHVtbi1pdGVtIGxheW91dC1waG90by10b3AiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGFuYS9heXVzby1zb2JyZS1zYW5jaGV6LXF1ZS1sbGFtYS1zaS1taXNtby1wZXJyby1zaS10aWVuZS1kdWVuby1jb21vLXRvZG9zLXBlcnJvcy1xdWUtZHVlcm1lbi1wYWxhY2lvLTIwMjYzNTA0IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IkF5dXNvIHNvYnJlIFPhbmNoZXo6ICZxdW90O0VsIHF1ZSBzZSBsbGFtYSBhIHPtIG1pc21vIHBlcnJvIHPtIHRpZW5lIGR1ZfFvLCBjb21vIHRvZG9zIGxvcyBwZXJyb3MgcXVlIGR1ZXJtZW4gZW4gdW4gcGFsYWNpbyZxdW90OyI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1iIiBzdHlsZT0iYXNwZWN0LXJhdGlvOjE2Lzk7Ij48aW1nIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL2F5dXNvLXNvYnJlLXNhbmNoZXotZWwtcXVlLXNlLWxsYW1hLWEtc2ktbWlzbW8tcGVycm8tc2ktdGllbmUtZHVlbm8tY29tby10b2Rvcy1sb3MtcGVycm9zLXF1ZS1kdWVybWVuLWVuLXVuLXBhbGFjaW8tMjAyNjA5MTAtMTIxNTEwLTI0NDRmNS5qcGciIGFsdD0iQXl1c28gc29icmUgU+FuY2hlejogJnF1b3Q7RWwgcXVlIHNlIGxsYW1hIGEgc+0gbWlzbW8gcGVycm8gc+0gdGllbmUgZHVl8W8sIGNvbW8gdG9kb3MgbG9zIHBlcnJvcyBxdWUgZHVlcm1lbiBlbiB1biBwYWxhY2lvJnF1b3Q7IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPjxidXR0b24gY2xhc3M9InBsYXktc3F1YXJlIiBhcmlhLWxhYmVsPSJSZXByb2R1Y2lyIj48L2J1dHRvbj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibW9kLXN0YWNrIj4KICAgICAgICA8aDQgY2xhc3M9ImxlZnQtdGl0bGUiPjxzcGFuIGNsYXNzPSJyZWxhdGVkLXRpdGxlLWRlc2siPkF5dXNvIHNvYnJlIFPhbmNoZXo6ICZxdW90O0VsIHF1ZSBzZSBsbGFtYSBhIHPtIG1pc21vIHBlcnJvIHPtIHRpZW5lIGR1ZfFvLCBjb21vIHRvZG9zIGxvcyBwZXJyb3MgcXVlIGR1ZXJtZW4gZW4gdW4gcGFsYWNpbyZxdW90Ozwvc3Bhbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1tb2JpbGUiPkF5dXNvIHNvYnJlIFPhbmNoZXo6ICZxdW90O0VsIHF1ZSBzZSBsbGFtYSBhIHPtIG1pc21vIHBlcnJvIHPtIHRpZW5lIGR1ZfFvLCBjb21vIHRvZG9zIGxvcyBwZXJyb3MgcXVlIGR1ZXJtZW4gZW4gdW4gcGFsYWNpbyZxdW90Ozwvc3Bhbj48L2g0PgogICAgICAgIDxkaXYgY2xhc3M9InN0YWNrLWF1dGhvciI+Um9kcmlnbyBWaWxsYXI8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2E+CgogICAgPGEgY2xhc3M9ImNvbHVtbi1pdGVtIGxheW91dC10aXRsZS1vbmx5IHRpdGxlLW9ubHktbW9iaWxlLTE4IiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9tYWRyaWQvYXl1c28tYXVndXJhLXNhbmNoZXotcmVjb3JyaWRvLWp1ZGljaWFsLWluZm9ybWVzLXF1ZS1pbmN1bHBhbi1pbnZhc2lvbi1jZXV0YS0yMDI2MzUyNCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJMYSBwcmVzaWRlbnRhIG1hZHJpbGXxYSBhdWd1cmEgYSBT4W5jaGV6IHVuICZxdW90O3JlY29ycmlkbyBqdWRpY2lhbCZxdW90OyB0cmFzIGxvcyBpbmZvcm1lcyBwdWJsaWNhZG9zICBxdWUgbGUgJnF1b3Q7aW5jdWxwYW4mcXVvdDsgcG9yIGxhIGludmFzafNuIG1hcnJvcXXtIGVuIENldXRhIj4KICAgICAgPGRpdiBjbGFzcz0ibGVmdC1ib2R5Ij4KICAgICAgPGg0IGNsYXNzPSJsZWZ0LXRpdGxlIiBzdHlsZT0iZm9udC1zaXplOjE4cHg7Ij48YnV0dG9uIGNsYXNzPSJsZWZ0LXBsYXkiIGFyaWEtbGFiZWw9IlJlcHJvZHVjaXIiPjwvYnV0dG9uPjxzcGFuIGNsYXNzPSJyZWxhdGVkLXRpdGxlLWRlc2siPkxhIHByZXNpZGVudGEgbWFkcmlsZfFhIGF1Z3VyYSBhIFPhbmNoZXogdW4gJnF1b3Q7cmVjb3JyaWRvIGp1ZGljaWFsJnF1b3Q7IHRyYXMgbG9zIGluZm9ybWVzIHB1YmxpY2Fkb3MgIHF1ZSBsZSAmcXVvdDtpbmN1bHBhbiZxdW90OyBwb3IgbGEgaW52YXNp824gbWFycm9xde0gZW4gQ2V1dGE8L3NwYW4+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtbW9iaWxlIj5MYSBwcmVzaWRlbnRhIG1hZHJpbGXxYSBhdWd1cmEgYSBT4W5jaGV6IHVuICZxdW90O3JlY29ycmlkbyBqdWRpY2lhbCZxdW90OyB0cmFzIGxvcyBpbmZvcm1lcyBxdWUgbGUgJnF1b3Q7aW5jdWxwYW4mcXVvdDsgcG9yIGxhIGludmFzafNuIG1hcnJvcXXtIGVuIENldXRhPC9zcGFuPjwvaDQ+CiAgICAgIDxkaXYgY2xhc3M9InN0YWNrLWF1dGhvciI+UGFibG8gUm9tZXJvLVNhbGF6YXI8L2Rpdj4KICAgIDwvZGl2PgogICAgPC9hPgoKICAgIDxhIGNsYXNzPSJjb2x1bW4taXRlbSBsYXlvdXQtcGhvdG8tbGVmdCIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vbWFkcmlkL21hcy12aXZpZW5kYXMtYXl1ZGFzLW1hdGVybmlkYWQtb3RyYXMtOTgtbWVkaWRhcy1hbnVuY2lhZGFzLWF5dXNvLWRlYmF0ZS1yZWdpb24tMjAyNjQ3NjYiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiB0aXRsZT0iTeFzIHZpdmllbmRhcywgYXl1ZGFzIGEgbGEgbWF0ZXJuaWRhZCB5IGxhcyBvdHJhcyA5OCBtZWRpZGFzIGFudW5jaWFkYXMgcG9yIEF5dXNvICI+CiAgICAgIDxkaXYgY2xhc3M9InRodW1iIj48aW1nIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL2ltZy0yMDI2MDkxMC0xMjU1MjQtMjA0NjMxLmpwZyIgYWx0PSJN4XMgdml2aWVuZGFzLCBheXVkYXMgYSBsYSBtYXRlcm5pZGFkIHkgbGFzIG90cmFzIDk4IG1lZGlkYXMgYW51bmNpYWRhcyBwb3IgQXl1c28gIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ibW9kLXN0YWNrIj4KICAgICAgPGg0IGNsYXNzPSJzdGFjay10aXRsZSI+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtZGVzayI+TeFzIHZpdmllbmRhcywgYXl1ZGFzIGEgbGEgbWF0ZXJuaWRhZCB5IGxhcyBvdHJhcyA5OCBtZWRpZGFzIGFudW5jaWFkYXMgcG9yIEF5dXNvIDwvc3Bhbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1tb2JpbGUiPk3hcyB2aXZpZW5kYXMsIGF5dWRhcyBhIGxhIG1hdGVybmlkYWQgeSBsYXMgb3RyYXMgOTggbWVkaWRhcyBhbnVuY2lhZGFzIHBvciBBeXVzbyA8L3NwYW4+PC9oND4KICAgICAgCiAgICA8L2Rpdj4KICAgIDwvYT4KICAgIDwvYXNpZGU+CiAgICA8YXJ0aWNsZSBjbGFzcz0ibGVhZCI+CiAgICAgIDxkaXYgY2xhc3M9ImxlYWQtbWVkaWEiPgogICAgICAgIDxpbWcgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvYXl1c28tZmVsaWNpdGEtYWwtZXRhcnJhLXBhcm90LXBvci1zdS1saWJlcnRhZC10cmFzLTgyLWFzZXNpbmF0b3MtZ3JhY2lhcy1hLWxvcy1jYW1iYWxhY2hlcy1kZS1zYW5jaGV6LTIwMjYwOTEwLTEyMTQxNy1mZGY4OTUuanBnIiBhbHQ9IkF5dXNvICYjMzk7ZmVsaWNpdGEmIzM5OyBhbCBldGFycmEgUGFyb3QgcG9yIHN1IGxpYmVydGFkIHRyYXMgODIgYXNlc2luYXRvcyAmcXVvdDtncmFjaWFzIGEgbG9zIGNhbWJhbGFjaGVzIGRlIFPhbmNoZXomcXVvdDsiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtb3ZlcmxheSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiYSgxNCwxNywyNiwwLjAwKTsiPjwvZGl2PgogICAgICAgIAogICAgICAgIDxidXR0b24gY2xhc3M9InBsYXktYnV0dG9uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGRpdiBjbGFzcz0icGxheS1pY29uIj48L2Rpdj48c3BhbiBjbGFzcz0icGxheS10ZXh0Ij5QbGF5PC9zcGFuPjwvYnV0dG9uPgogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZDojMDBBN0ZGOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMEE3RkYiPkVTUEHRQTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHktbWFpbiI+CiAgICAgICAgICAKICAgICAgICAgIDxoMiBjbGFzcz0ibGVhZC10aXRsZSI+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtZGVzayI+QXl1c28gJiMzOTtmZWxpY2l0YSYjMzk7IGFsIGV0YXJyYSBQYXJvdCBwb3Igc3UgbGliZXJ0YWQgdHJhcyA4MiBhc2VzaW5hdG9zICZxdW90O2dyYWNpYXMgYSBsb3MgY2FtYmFsYWNoZXMgZGUgU+FuY2hleiZxdW90Ozwvc3Bhbj48c3BhbiBjbGFzcz0ibGVhZC10aXRsZS1tb2JpbGUiPkF5dXNvICYjMzk7ZmVsaWNpdGEmIzM5OyBhbCBldGFycmEgUGFyb3QgcG9yIHN1IGxpYmVydGFkIHRyYXMgODIgYXNlc2luYXRvcyAmcXVvdDtncmFjaWFzIGEgbG9zIGNhbWJhbGFjaGVzIGRlIFPhbmNoZXomcXVvdDs8L3NwYW4+PC9oMj4KICAgICAgICAgIAogICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGhvci1sYWJlbCI+TmFjaG8gQXRhbmVzPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGEgY2xhc3M9ImxlYWQtbGluayIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vbWFkcmlkL2F5dXNvLWZlbGljaXRhLWV0YXJyYS1wYXJvdC1saWJlcnRhZC04Mi1hc2VzaW5hdG9zLWdyYWNpYXMtY2FtYmFsYWNoZXMtc2FuY2hlei0yMDI2NDIwNCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJBeXVzbyAmIzM5O2ZlbGljaXRhJiMzOTsgYWwgZXRhcnJhIFBhcm90IHBvciBzdSBsaWJlcnRhZCB0cmFzIDgyIGFzZXNpbmF0b3MgJnF1b3Q7Z3JhY2lhcyBhIGxvcyBjYW1iYWxhY2hlcyBkZSBT4W5jaGV6JnF1b3Q7IiBhcmlhLWxhYmVsPSJBeXVzbyAmIzM5O2ZlbGljaXRhJiMzOTsgYWwgZXRhcnJhIFBhcm90IHBvciBzdSBsaWJlcnRhZCB0cmFzIDgyIGFzZXNpbmF0b3MgJnF1b3Q7Z3JhY2lhcyBhIGxvcyBjYW1iYWxhY2hlcyBkZSBT4W5jaGV6JnF1b3Q7Ij48L2E+CiAgICA8L2FydGljbGU+CiAgPC9tYWluPgo8L2Rpdj4KCjxzY3JpcHQ+CihmdW5jdGlvbigpewogIHZhciBhcnRpY2xlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJsay13NnpjOSAubGVhZCcpOwogIGlmICghYXJ0aWNsZSkgcmV0dXJuOwogIHZhciBtYWluID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC1ib2R5LW1haW4nKTsKICB2YXIgdGl0bGVFbCA9IGFydGljbGUucXVlcnlTZWxlY3RvcignLmxlYWQtdGl0bGUnKTsKICBpZiAoIW1haW4gfHwgIXRpdGxlRWwpIHJldHVybjsKICB2YXIgYmFzZUZvbnRTaXplUHggPSBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUodGl0bGVFbCkuZm9udFNpemUpIHx8IDA7CiAgaWYgKCFiYXNlRm9udFNpemVQeCkgcmV0dXJuOwogIHZhciBNQVhfU0NBTEUgPSAxLjg7CiAgdmFyIE1JTl9TQ0FMRSA9IDAuNTsKICB2YXIgTUFYX0ZPTlRfUFggPSA2NDsgLy8gfjRyZW0gY29uIGxhIGJhc2UgaGFiaXR1YWwgZGUgMTZweCAobWlzbW8gdG9wZSBxdWUgZml0TGVhZFRpdGxlVG9Cb3goKSBlbiBlbCBnZXN0b3IpCiAgZnVuY3Rpb24gZml0KCl7CiAgICB0aXRsZUVsLnN0eWxlLmZvbnRTaXplID0gYmFzZUZvbnRTaXplUHggKyAncHgnOwogICAgdmFyIGF2YWlsYWJsZUhlaWdodCA9IG1haW4uY2xpZW50SGVpZ2h0OwogICAgaWYgKCFhdmFpbGFibGVIZWlnaHQpIHJldHVybjsKICAgIC8vIFZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGZpdExlYWRUaXRsZVRvQm94KCkgZGVsIGdlc3RvcjoKICAgIC8vIG1haW4uc2Nyb2xsSGVpZ2h0IG51bmNhIGJhamEgZGUgY2xpZW50SGVpZ2h0IGF1bnF1ZSBlbCBjb250ZW5pZG8gcmVhbAogICAgLy8gb2N1cGUgbWVub3MsIGFz7SBxdWUgbm8gc2lydmUgcGFyYSBkZXRlY3RhciBjdeFudG8gc29icmEgbyBmYWx0YSBjb24KICAgIC8vIGVsIHRpdHVsYXIgYWN0dWFsICYjODIxMjsgc2Ugc3VtYSBlbiBzdSBsdWdhciBlbCBhbHRvIHJlYWwgZGUgY2FkYSBoaWpvCiAgICAvLyBWSVNJQkxFIGRlbCBibG9xdWUsIHNhbHZvIGVsIHByb3BpbyB0aXR1bGFyLCBt4XMgZWwgaHVlY28gKCJnYXAiKQogICAgLy8gZW50cmUgZWxsb3M7IG5vIGNhbWJpYSBjb24gZWwgdGFtYfFvIGRlbCB0aXR1bGFyLCBhc+0gcXVlIHNlIG1pZGUgdW5hCiAgICAvLyBzb2xhIHZleiwgYW50ZXMgZGUgbGEgYvpzcXVlZGEgYmluYXJpYS4KICAgIHZhciBnYXBQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShtYWluKS5yb3dHYXApIHx8IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShtYWluKS5nYXApIHx8IDA7CiAgICB2YXIgdmlzaWJsZUNoaWxkcmVuID0gW10uc2xpY2UuY2FsbChtYWluLmNoaWxkcmVuKS5maWx0ZXIoZnVuY3Rpb24oYyl7IHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGMpLmRpc3BsYXkgIT09ICdub25lJzsgfSk7CiAgICB2YXIgb3RoZXJzSGVpZ2h0ID0gdmlzaWJsZUNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGMgIT09IHRpdGxlRWw7IH0pLnJlZHVjZShmdW5jdGlvbihzdW0sIGMpeyByZXR1cm4gc3VtICsgYy5vZmZzZXRIZWlnaHQ7IH0sIDApCiAgICAgICsgZ2FwUHggKiBNYXRoLm1heCgwLCB2aXNpYmxlQ2hpbGRyZW4ubGVuZ3RoIC0gMSk7CiAgICB2YXIgYXZhaWxhYmxlRm9yVGl0bGUgPSBNYXRoLm1heCgwLCBhdmFpbGFibGVIZWlnaHQgLSBvdGhlcnNIZWlnaHQpOwogICAgaWYgKCFhdmFpbGFibGVGb3JUaXRsZSkgcmV0dXJuOwogICAgZnVuY3Rpb24gaGVpZ2h0QXRTY2FsZShzY2FsZSl7CiAgICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBNYXRoLm1pbihiYXNlRm9udFNpemVQeCAqIHNjYWxlLCBNQVhfRk9OVF9QWCkgKyAncHgnOwogICAgICByZXR1cm4gdGl0bGVFbC5vZmZzZXRIZWlnaHQ7CiAgICB9CiAgICB2YXIgbG8gPSBNSU5fU0NBTEUsIGhpID0gTUFYX1NDQUxFOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCA4OyBpKyspewogICAgICB2YXIgbWlkID0gKGxvICsgaGkpIC8gMjsKICAgICAgaWYgKGhlaWdodEF0U2NhbGUobWlkKSA8PSBhdmFpbGFibGVGb3JUaXRsZSkgbG8gPSBtaWQ7IGVsc2UgaGkgPSBtaWQ7CiAgICB9CiAgICBoZWlnaHRBdFNjYWxlKGxvKTsKICB9CiAgZml0KCk7CiAgaWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLnJlYWR5KXsgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbihmaXQpOyB9CiAgaWYgKHdpbmRvdy5SZXNpemVPYnNlcnZlcil7IG5ldyBSZXNpemVPYnNlcnZlcihmaXQpLm9ic2VydmUoYXJ0aWNsZSk7IH0KICBlbHNlIHsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZpdCk7IH0KfSkoKTsKPC9zY3JpcHQ+
    • Puente se queda en blanco sobre Ceuta y Cristina Pardo lo remata: ¿Usted se cree esto que me está diciendo?
        • España
        • España

      Puente se queda en blanco sobre Ceuta y Cristina Pardo lo remata: "¿Usted se cree esto que me está diciendo?"

      La periodista Cristina Pardo acorraló este miércoles al ministro de Transportes, Óscar Puente, durante una entrevista en la que le interrogó por la gestión del Gobierno sobre la avalancha migratoria en Ceuta y por la ausencia de Pedro Sánchez, que estuvo de vacaciones durante los momentos más críticos de la invasión. "¿Usted se cree esto que me está diciendo?", dijo la presentadora en respuesta a las justificaciones del dirigente socialista en La Mesa de Antena 3.
      • Rodrigo Villar
      • 2026-09-10 10:15
    • El Gobierno pone wifi gratis a los inmigrantes de Ceuta mediante un contrato de emergencia con Telefónica
    • La inseguridad subjetiva de Marlaska en Ceuta: ya van 27 agresiones sexuales y 54 robos con violencia
        • España
        • España

      La "inseguridad subjetiva" de Marlaska en Ceuta: ya van 27 agresiones sexuales y 54 robos con violencia

      • Ángel Moya
      • 2026-09-10 14:02
    • El presidente de la Federación de Marruecos y ministro del Gobierno dice que la final del Mundial 2030 será en Casablanca
        • Deportes
        • Deportes

      El presidente de la Federación de Marruecos dice que la final del Mundial 2030 será en Casablanca

      • Daniel Calle
      • 2026-09-10 12:13
    • Ábalos se matricula en la UNED para estudiar Derecho, empieza clases en octubre y pasará al módulo de estudiantes
    • Visto lo de Navarra, lo raro es que en Ceuta sólo entraran 80.000
    • Última hora de la entrada de inmigrantes a Ceuta y de la actualidad política, en directo | Marruecos ocultó al Gobierno y a la Guardia Civil la instalación de una nueva puerta
        • España
        • España
      • EN DIRECTO

      Sánchez y sus socios aprobarán hoy la ley para nacionalizar saharauis en plena invasión

      • Nacho Atanes
      • 2026-09-10 11:16
    • Título
        • Categoria
        • NAVARRA

      Una familia marroquí recibe 4.000 euros al mes de ayudas en Navarra sin trabajar: "Nos tratan bien"

      Más de 4.000 euros cada mes sin una sola nómina en casa. Es la economía de una familia residente en Pamplona cuyas cuentas ha podido comprobar este periódico. Los ingresos proceden de mecanismos públicos de protección y se complementan con ayudas que reducen de forma considerable los principales gastos del hogar. 
      • IGNACIO MURILLO
    • La Guardia Civil pidió un mes antes de la invasión medios marítimos y terrestres frente al incremento de llegadas a Ceuta
    • PGlmcmFtZSBoZWlnaHQ9JzI1MHB4JyB3aWR0aD0nMTAwJScgICBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9odG1sLzVxa2Mzby1jYXJydXNlbC1kaXJlY3Rvcy5waHA/bW9kZT1kZXNrIiAgIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIiBzdHlsZT0iYm9yZGVyOjA7ZGlzcGxheTpibG9jazttYXgtIj48L2lmcmFtZT4=
      PGlmcmFtZSBoZWlnaHQ9JzY1MHB4JyB3aWR0aD0nMTAwJScgICBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9odG1sLzVxa2Mzby1jYXJydXNlbC1kaXJlY3Rvcy5waHA/bW9kZT1tb2JpbGUiICAgZnJhbWVib3JkZXI9IjAiIHNjcm9sbGluZz0ibm8iIHN0eWxlPSJib3JkZXI6MDtkaXNwbGF5OmJsb2NrO21heC0iPjwvaWZyYW1lPg==
    • PHN0eWxlPgogIC5hcGVydHVyYS1oYWxmLWNmejh1aDFqIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KICBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCI7IHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOyB9CiAgQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS13aWRlIjsgc3JjOiB1cmwoImh0dHBzOi8vb2tkaWFyaW8uY29tL3dlYi90aGVtZXMvdjEwL2Nzcy9fZm9udHNfYW1wbGl0dWRlL0FtcGxpdHVkZSUyMEF1YmklMjBUYWIlMjBNZWRpdW0ub3RmIik7IH0KICBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICJhbXBsaXR1ZGUtYm9vayI7IHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwQm9vay5vdGYiKTsgfQoKICAvKiBSZWN1cGVyYSBlbCBjb21wb3J0YW1pZW50byBkZWwgcXVlIHPtIGZ1bmNpb25hICovCiAgLmFwZXJ0dXJhLWhhbGYtY2Z6OHVoMWogLmNvbnRlbmVkb3IgewogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7CiAgICB6LWluZGV4OiAwOwogICAgcGFkZGluZy1ib3R0b206IDIwcHg7CiAgICBmbG9hdDogaW5saW5lLWVuZDsgLyogPC0gSU1QT1JUQU5URSBlbiAxLzIgeSAyLzMgKi8KICB9CgogIC5hcGVydHVyYS1oYWxmLWNmejh1aDFqIC52aWRlby1jb250ZW5lZG9yIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiBhdXRvOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNFNEU0RTQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zaXRpb246IC4zczsKICB9CiAgLmFwZXJ0dXJhLWhhbGYtY2Z6OHVoMWogLmJhY2tncm91bmQtdmlkZW8geyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9CgogIC5hcGVydHVyYS1oYWxmLWNmejh1aDFqIC5wbGF5LWJ1dHRvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogMTBweDsKICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHBhZGRpbmc6IDEwcHggMjBweDsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC43KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC40Mik7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHotaW5kZXg6IDI7CiAgICBhbmltYXRpb246IGJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogIH0KICAuYXBlcnR1cmEtaGFsZi1jZno4dWgxaiAucGxheS1pY29uewogICAgd2lkdGg6MDsgaGVpZ2h0OjA7IGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjsgYm9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50OyBtYXJnaW4tcmlnaHQ6NXB4OwogIH0KICAuYXBlcnR1cmEtaGFsZi1jZno4dWgxaiAucGxheS10ZXh0eyBmb250LXNpemU6MTZweDsgZm9udC13ZWlnaHQ6Ym9sZCB9CiAgQGtleWZyYW1lcyBibGluayB7IDAlLDEwMCV7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpIH0gNTAleyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSkgfSB9CiAgLmFwZXJ0dXJhLWhhbGYtY2Z6OHVoMWogLnBsYXktYnV0dG9uOmhvdmVyeyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC45KSB9CgogIC8qIEHxYWRpZG8gaWd1YWwgcXVlIGVuIGxhIHZlcnNp824gcXVlIGZ1bmNpb25hICovCiAgLmFwZXJ0dXJhLWhhbGYtY2Z6OHVoMWogLmRlc2NyaXBjaW9uIHsgcGFkZGluZzogMCA0MHB4IDAgMjBweDsgfQoKICAuYXBlcnR1cmEtaGFsZi1jZno4dWgxaiAuZGVzY3JpcGNpb24gLmV0aXF1ZXRhcyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBwYWRkaW5nLWxlZnQ6IDBweDsKICB9CiAgLmFwZXJ0dXJhLWhhbGYtY2Z6OHVoMWogLmRlc2NyaXBjaW9uIC5ldGlxdWV0YSB7CiAgICBmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS13aWRlIixzYW5zLXNlcmlmOyBjb2xvcjojZmZmOyBmb250LXdlaWdodDo3MDA7IGZvbnQtc2l6ZToxMnB4OwogICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBkaXNwbGF5OmlubGluZS1mbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGJhY2tncm91bmQ6IzNlYTZkMTsgd2lkdGg6Zml0LWNvbnRlbnQ7IHBhZGRpbmc6NXB4IDEwcHg7IG1hcmdpbi1sZWZ0OjA7CiAgfQoKICAvKiBNaXNtYSBs82dpY2EgZGUgdmlzaWJpbGlkYWQgcXVlIGVsIGJ1ZW5vOiBzZSBvY3VsdGEgc2kgZXN04SB2YWPtbyAqLwogIC5hcGVydHVyYS1oYWxmLWNmejh1aDFqIC5kZXNjcmlwY2lvbiAuYnJlYWtpbmcgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6NnB4OyBjb2xvcjojZDAwMjFiOyBmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS13aWRlIixzYW5zLXNlcmlmOyBmb250LXdlaWdodDo3MDA7IGZvbnQtc2l6ZToxNHB4OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IH0KICAuYXBlcnR1cmEtaGFsZi1jZno4dWgxaiAuZGVzY3JpcGNpb24gLmJyZWFraW5nOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfQogIC5hcGVydHVyYS1oYWxmLWNmejh1aDFqIC5kZXNjcmlwY2lvbiAuYnJlYWtpbmcgLnJhZGFyIHsgd2lkdGg6MTBweDsgaGVpZ2h0OjEwcHg7IGJvcmRlci1yYWRpdXM6NTAlOyBiYWNrZ3JvdW5kOiNkMDAyMWI7IHBvc2l0aW9uOnJlbGF0aXZlOyBmbGV4OjAgMCAxMHB4OyB9CiAgLmFwZXJ0dXJhLWhhbGYtY2Z6OHVoMWogLmRlc2NyaXBjaW9uIC5icmVha2luZyAucmFkYXI6OmFmdGVyIHsgY29udGVudDoiIjsgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0Oi02cHg7IGJvcmRlcjoycHggc29saWQgcmdiYSgyMDgsMiwyNywuNDUpOyBib3JkZXItcmFkaXVzOjUwJTsgYW5pbWF0aW9uOnJhZGFyUHVsc2UgMS44cyBlYXNlLW91dCBpbmZpbml0ZTsgfQogIEBrZXlmcmFtZXMgcmFkYXJQdWxzZXsgMCV7IHRyYW5zZm9ybTpzY2FsZSguNyk7IG9wYWNpdHk6LjcgfSAxMDAleyB0cmFuc2Zvcm06c2NhbGUoMS42KTsgb3BhY2l0eTowIH0gfQoKICAuYXBlcnR1cmEtaGFsZi1jZno4dWgxaiAuZGVzY3JpcGNpb24gaDIgewogICAgZm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIixzYW5zLXNlcmlmOyBmb250LXNpemU6MS43cmVtICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGNvbG9yOiMzMzM7IG1hcmdpbjoxNXB4IDA7IHdoaXRlLXNwYWNlOnByZS1saW5lOyBmb250LXdlaWdodDo2MDA7CiAgfQogIC5hcGVydHVyYS1oYWxmLWNmejh1aDFqIC5kZXNjcmlwY2lvbiBwIHsKICAgIG1hcmdpbjowIDAgMjBweCAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOmp1c3RpZnk7IGZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjsgY29sb3I6IzMzMzsKICAgIGZvbnQtd2VpZ2h0OjIwMDsgZm9udC1zaXplOjEuMXJlbTsgbGluZS1oZWlnaHQ6MS4zZW07IHdoaXRlLXNwYWNlOnByZS1saW5lOwogIH0KICAuYXBlcnR1cmEtaGFsZi1jZno4dWgxaiAuZGVzY3JpcGNpb24gLmF1dG9yIHsKICAgIGZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjsgY29sb3I6IzMzMzsgZm9udC13ZWlnaHQ6MjAwOyBmb250LXNpemU6LjhlbTsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgdGV4dC1hbGlnbjpyaWdodDsgZGlzcGxheTpibG9jazsKICB9CgogIEBtZWRpYSAobWF4LXdpZHRoOjc2OHB4KXsKICAgIC5hcGVydHVyYS1oYWxmLWNmejh1aDFqIC5kZXNjcmlwY2lvbnsgcGFkZGluZzowIDIwcHggMCAyMHB4ICFpbXBvcnRhbnQ7IH0KICAgIC5hcGVydHVyYS1oYWxmLWNmejh1aDFqIC5wbGF5LWJ1dHRvbiB7IG1hcmdpbi10b3A6IDEwcHg7IH0KICB9Cjwvc3R5bGU+CjxkaXYgY2xhc3M9ImFwZXJ0dXJhLWhhbGYtY2Z6OHVoMWoiPgo8ZGl2IGNsYXNzPSJjb250ZW5lZG9yIj4KICAgICAgICA8YSBpZD0id3JhcExpbmsiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGFuYS9pbnZhc29yZXMtc2llbWJyYW4tdGVycm9yLXByaW5jaXBlLWluY2VuZGlhbi1jaW5jby1jb2NoZXMtdmFyaW9zLWNvbnRlbmVkb3Jlcy1mcmVudGUtY29sZWdpby0yMDI2MjI1OCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1jb250ZW5lZG9yIj4KICAgICAgICAgICAgPHZpZGVvIGNsYXNzPSJiYWNrZ3JvdW5kLXZpZGVvIiBhdXRvcGxheT0iIiBtdXRlZD0iIiBwbGF5c2lubGluZT0iIiBsb29wPSIiPgogICAgICAgICAgICAgIDxzb3VyY2UgaWQ9InZpZGVvU291cmNlIiBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy91cGxvYWRzJTJGbWVkaWEvWURSQVktR0lGLUlOQ0VORElPLU5PUk1BTC0yMDI2MDkxMC0xMTM4MTctMzBiOTI4Lm1wNCIgdHlwZT0idmlkZW8vbXA0Ij4KICAgICAgICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgdmlkZW8gdGFnLgogICAgICAgICAgICA8L3ZpZGVvPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJwbGF5LWJ1dHRvbiIgc3R5bGU9InJpZ2h0OiAxMHB4OyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxheS1pY29uIj48L2Rpdj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGxheS10ZXh0Ij5QbGF5PC9zcGFuPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3JpcGNpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJldGlxdWV0YXMiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJldGlxdWV0YSIgaWQ9ImV0aXF1ZXRhQ2hpcCI+RXNwYfFhPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJicmVha2luZyIgYXJpYS1saXZlPSJwb2xpdGUiPjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxoMiBpZD0iaDJQcmV2aWV3IiBzdHlsZT0iZm9udC1zaXplOiAxLjdyZW07Ij5Mb3MgaW52YXNvcmVzIHNpZW1icmFuIGVsIHRlcnJvciBlbiBDZXV0YTogcXVlbWFuIGNpbmNvIGNvY2hlcyB5IHZhcmlvcyBjb250ZW5lZG9yZXMgZnJlbnRlIGEgdW4gY29sZWdpbzwvaDI+CiAgICAgICAgICAgIDxwIGlkPSJwUHJldmlldyI+PC9wPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0b3IiIGlkPSJhdXRvclByZXZpZXciPk5hY2hvIEF0YW5lczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvYT4KICAgICAgPC9kaXY+CjwvZGl2Pg==
      PHN0eWxlPgogIC5hcGVydHVyYS1tb2JpbGUteXVmbWduZncgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQogIEBmb250LWZhY2UgeyBmb250LWZhbWlseTogImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIjsgc3JjOiB1cmwoImh0dHBzOi8vb2tkaWFyaW8uY29tL3dlYi90aGVtZXMvdjEwL2Nzcy9fZm9udHNfYW1wbGl0dWRlL0FtcGxpdHVkZSUyMEF1YmklMjBNZWRpdW0lMjBDbmQub3RmIik7IH0KICBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICJhbXBsaXR1ZGUtbWVkaXVtLXdpZGUiOyBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMFRhYiUyME1lZGl1bS5vdGYiKTsgfQogIEBmb250LWZhY2UgeyBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsgc3JjOiB1cmwoImh0dHBzOi8vb2tkaWFyaW8uY29tL3dlYi90aGVtZXMvdjEwL2Nzcy9fZm9udHNfYW1wbGl0dWRlL0FtcGxpdHVkZSUyMEF1YmklMjBCb29rLm90ZiIpOyB9CgogIC8qIFJlY3VwZXJhIGVsIGNvbXBvcnRhbWllbnRvIGRlbCBxdWUgc+0gZnVuY2lvbmEgKi8KICAuYXBlcnR1cmEtbW9iaWxlLXl1Zm1nbmZ3IC5jb250ZW5lZG9yIHsKICAgIHdpZHRoOiBhdXRvOwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOwogICAgei1pbmRleDogMDsKICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OwogICAgZmxvYXQ6IGlubGluZS1lbmQ7IC8qIDwtIElNUE9SVEFOVEUgZW4gMS8yIHkgMi8zICovCiAgfQoKICAuYXBlcnR1cmEtbW9iaWxlLXl1Zm1nbmZ3IC52aWRlby1jb250ZW5lZG9yIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiBhdXRvOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNFNEU0RTQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zaXRpb246IC4zczsKICB9CiAgLmFwZXJ0dXJhLW1vYmlsZS15dWZtZ25mdyAuYmFja2dyb3VuZC12aWRlbyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH0KCiAgLmFwZXJ0dXJhLW1vYmlsZS15dWZtZ25mdyAucGxheS1idXR0b24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDEwcHg7CiAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNyk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNDIpOwogICAgY29sb3I6ICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB6LWluZGV4OiAyOwogICAgYW5pbWF0aW9uOiBibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICB9CiAgLmFwZXJ0dXJhLW1vYmlsZS15dWZtZ25mdyAucGxheS1pY29uewogICAgd2lkdGg6MDsgaGVpZ2h0OjA7IGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjsgYm9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50OyBtYXJnaW4tcmlnaHQ6NXB4OwogIH0KICAuYXBlcnR1cmEtbW9iaWxlLXl1Zm1nbmZ3IC5wbGF5LXRleHR7IGZvbnQtc2l6ZToxNnB4OyBmb250LXdlaWdodDpib2xkIH0KICBAa2V5ZnJhbWVzIGJsaW5rIHsgMCUsMTAwJXsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNykgfSA1MCV7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDE2NSwyNTUsMC45KSB9IH0KICAuYXBlcnR1cmEtbW9iaWxlLXl1Zm1nbmZ3IC5wbGF5LWJ1dHRvbjpob3ZlcnsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuOSkgfQoKICAvKiBB8WFkaWRvIGlndWFsIHF1ZSBlbiBsYSB2ZXJzafNuIHF1ZSBmdW5jaW9uYSAqLwogIC5hcGVydHVyYS1tb2JpbGUteXVmbWduZncgLmRlc2NyaXBjaW9uIHsgcGFkZGluZzogMCA0MHB4IDAgMjBweDsgfQoKICAuYXBlcnR1cmEtbW9iaWxlLXl1Zm1nbmZ3IC5kZXNjcmlwY2lvbiAuZXRpcXVldGFzIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IHBhZGRpbmctbGVmdDogMHB4OwogIH0KICAuYXBlcnR1cmEtbW9iaWxlLXl1Zm1nbmZ3IC5kZXNjcmlwY2lvbiAuZXRpcXVldGEgewogICAgZm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0td2lkZSIsc2Fucy1zZXJpZjsgY29sb3I6I2ZmZjsgZm9udC13ZWlnaHQ6NzAwOyBmb250LXNpemU6MTJweDsKICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgZGlzcGxheTppbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBiYWNrZ3JvdW5kOiMzZWE2ZDE7IHdpZHRoOmZpdC1jb250ZW50OyBwYWRkaW5nOjVweCAxMHB4OyBtYXJnaW4tbGVmdDowOwogIH0KCiAgLyogTWlzbWEgbPNnaWNhIGRlIHZpc2liaWxpZGFkIHF1ZSBlbCBidWVubzogc2Ugb2N1bHRhIHNpIGVzdOEgdmFj7W8gKi8KICAuYXBlcnR1cmEtbW9iaWxlLXl1Zm1nbmZ3IC5kZXNjcmlwY2lvbiAuYnJlYWtpbmcgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6NnB4OyBjb2xvcjojZDAwMjFiOyBmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS13aWRlIixzYW5zLXNlcmlmOyBmb250LXdlaWdodDo3MDA7IGZvbnQtc2l6ZToxNHB4OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IH0KICAuYXBlcnR1cmEtbW9iaWxlLXl1Zm1nbmZ3IC5kZXNjcmlwY2lvbiAuYnJlYWtpbmc6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9CiAgLmFwZXJ0dXJhLW1vYmlsZS15dWZtZ25mdyAuZGVzY3JpcGNpb24gLmJyZWFraW5nIC5yYWRhciB7IHdpZHRoOjEwcHg7IGhlaWdodDoxMHB4OyBib3JkZXItcmFkaXVzOjUwJTsgYmFja2dyb3VuZDojZDAwMjFiOyBwb3NpdGlvbjpyZWxhdGl2ZTsgZmxleDowIDAgMTBweDsgfQogIC5hcGVydHVyYS1tb2JpbGUteXVmbWduZncgLmRlc2NyaXBjaW9uIC5icmVha2luZyAucmFkYXI6OmFmdGVyIHsgY29udGVudDoiIjsgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0Oi02cHg7IGJvcmRlcjoycHggc29saWQgcmdiYSgyMDgsMiwyNywuNDUpOyBib3JkZXItcmFkaXVzOjUwJTsgYW5pbWF0aW9uOnJhZGFyUHVsc2UgMS44cyBlYXNlLW91dCBpbmZpbml0ZTsgfQogIEBrZXlmcmFtZXMgcmFkYXJQdWxzZXsgMCV7IHRyYW5zZm9ybTpzY2FsZSguNyk7IG9wYWNpdHk6LjcgfSAxMDAleyB0cmFuc2Zvcm06c2NhbGUoMS42KTsgb3BhY2l0eTowIH0gfQoKICAuYXBlcnR1cmEtbW9iaWxlLXl1Zm1nbmZ3IC5kZXNjcmlwY2lvbiBoMiB7CiAgICBmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxLjVyZW0gIWltcG9ydGFudDsKICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgY29sb3I6IzMzMzsgbWFyZ2luOjE1cHggMDsgd2hpdGUtc3BhY2U6cHJlLWxpbmU7IGZvbnQtd2VpZ2h0OjYwMDsKICB9CiAgLmFwZXJ0dXJhLW1vYmlsZS15dWZtZ25mdyAuZGVzY3JpcGNpb24gcCB7CiAgICBtYXJnaW46MCAwIDIwcHggIWltcG9ydGFudDsgdGV4dC1hbGlnbjpqdXN0aWZ5OyBmb250LWZhbWlseToiYW1wbGl0dWRlLWJvb2siLHNhbnMtc2VyaWY7IGNvbG9yOiMzMzM7CiAgICBmb250LXdlaWdodDoyMDA7IGZvbnQtc2l6ZToxLjFyZW07IGxpbmUtaGVpZ2h0OjEuM2VtOyB3aGl0ZS1zcGFjZTpwcmUtbGluZTsKICB9CiAgLmFwZXJ0dXJhLW1vYmlsZS15dWZtZ25mdyAuZGVzY3JpcGNpb24gLmF1dG9yIHsKICAgIGZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjsgY29sb3I6IzMzMzsgZm9udC13ZWlnaHQ6MjAwOyBmb250LXNpemU6LjhlbTsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgdGV4dC1hbGlnbjpyaWdodDsgZGlzcGxheTpibG9jazsKICB9CgogIEBtZWRpYSAobWF4LXdpZHRoOjc2OHB4KXsKICAgIC5hcGVydHVyYS1tb2JpbGUteXVmbWduZncgLmRlc2NyaXBjaW9ueyBwYWRkaW5nOjAgMjBweCAwIDIwcHggIWltcG9ydGFudDsgfQogICAgLmFwZXJ0dXJhLW1vYmlsZS15dWZtZ25mdyAucGxheS1idXR0b24geyBtYXJnaW4tdG9wOiAxMHB4OyB9CiAgfQo8L3N0eWxlPgo8ZGl2IGNsYXNzPSJhcGVydHVyYS1tb2JpbGUteXVmbWduZnciPgo8ZGl2IGNsYXNzPSJjb250ZW5lZG9yIj4KICAgICAgICA8YSBpZD0id3JhcExpbmsiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGFuYS9pbnZhc29yZXMtc2llbWJyYW4tdGVycm9yLXByaW5jaXBlLWluY2VuZGlhbi1jaW5jby1jb2NoZXMtdmFyaW9zLWNvbnRlbmVkb3Jlcy1mcmVudGUtY29sZWdpby0yMDI2MjI1OCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1jb250ZW5lZG9yIj4KICAgICAgICAgICAgPHZpZGVvIGNsYXNzPSJiYWNrZ3JvdW5kLXZpZGVvIiBhdXRvcGxheT0iIiBtdXRlZD0iIiBwbGF5c2lubGluZT0iIiBsb29wPSIiPgogICAgICAgICAgICAgIDxzb3VyY2UgaWQ9InZpZGVvU291cmNlIiBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy91cGxvYWRzJTJGbWVkaWEvWURSQVktR0lGLUlOQ0VORElPLU5PUk1BTC0yMDI2MDkxMC0xMTM4MTctMzBiOTI4Lm1wNCIgdHlwZT0idmlkZW8vbXA0Ij4KICAgICAgICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgdmlkZW8gdGFnLgogICAgICAgICAgICA8L3ZpZGVvPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJwbGF5LWJ1dHRvbiIgc3R5bGU9InJpZ2h0OiAxMHB4OyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxheS1pY29uIj48L2Rpdj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGxheS10ZXh0Ij5QbGF5PC9zcGFuPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3JpcGNpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJldGlxdWV0YXMiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJldGlxdWV0YSIgaWQ9ImV0aXF1ZXRhQ2hpcCI+RXNwYfFhPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJicmVha2luZyIgYXJpYS1saXZlPSJwb2xpdGUiPjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxoMiBpZD0iaDJQcmV2aWV3IiBzdHlsZT0iZm9udC1zaXplOiAxLjdyZW07Ij5Mb3MgaW52YXNvcmVzIHNpZW1icmFuIGVsIHRlcnJvciBlbiBDZXV0YTogcXVlbWFuIGNpbmNvIGNvY2hlcyB5IHZhcmlvcyBjb250ZW5lZG9yZXMgZnJlbnRlIGEgdW4gY29sZWdpbzwvaDI+CiAgICAgICAgICAgIAogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0b3IiIGlkPSJhdXRvclByZXZpZXciPk5hY2hvIEF0YW5lczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvYT4KICAgICAgPC9kaXY+CjwvZGl2Pg==
    • Marruecos vigiló con un dron la visita del director de la Policía a la frontera del Tarajal
        • España
        • España

      Marruecos vigiló con un dron la visita del director de la Policía a la frontera del Tarajal

      • Rosalina Moreno
      • 2026-09-10 05:45
    • CiAgPHN0eWxlPgogIEBpbXBvcnQgdXJsKCdodHRwczovL3VzZS50eXBla2l0Lm5ldC9pcWExcWViLmNzcycpOwoKICAuYmlsZHMta3FhYWlqeGl7IGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTsgfQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVzaywKICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLW1vYntwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTllOWVjfQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVza3sKICAgIHdpZHRoOjEwMCU7bWF4LXdpZHRoOjk2MHB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDYwcHggMWZyO2dhcDoxMHB4O3BhZGRpbmc6MTBweDttaW4td2lkdGg6OTYwcHg7CiB9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIC5tZWRpYS13cmFwe3dpZHRoOjQ2MHB4fQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVzayAubWVkaWEsCiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLm1lZGlhewogICAgcG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTthc3BlY3QtcmF0aW86MTYvOTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMDAwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtpc29sYXRpb246aXNvbGF0ZTsKICB9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIC5tZWRpYXt3aWR0aDo0NjBweDtoZWlnaHQ6MjYwcHh9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIGltZywgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIHZpZGVvLAogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtbW9iIGltZywgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgdmlkZW97d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmluaGVyaXQ7ZGlzcGxheTpibG9ja30KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfQogIC5iaWxkcy1rcWFhaWp4aSAucGl4ZWxhdGVkLW1lZGlhe2ltYWdlLXJlbmRlcmluZzpwaXhlbGF0ZWQ7aW1hZ2UtcmVuZGVyaW5nOmNyaXNwLWVkZ2VzfQogIC5iaWxkcy1rcWFhaWp4aSAucGl4ZWwtcmlnaHQtd3JhcHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Om5vbmV9CiAgLmJpbGRzLWtxYWFpanhpIC5waXhlbC1yaWdodC1oYWxme3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NTAlO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn0KICAuYmlsZHMta3FhYWlqeGkgLnBpeGVsLXJpZ2h0LWhhbGYgaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6MjAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpyaWdodCBjZW50ZXI7ZGlzcGxheTpibG9jaztpbWFnZS1yZW5kZXJpbmc6cGl4ZWxhdGVkO2ltYWdlLXJlbmRlcmluZzpjcmlzcC1lZGdlc30KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWRlc2sgLnRleHQsCiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmNvbnRlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWRlc2sgLnRleHR7bWluLWhlaWdodDoyNjBweDtwYWRkaW5nOjAgMTBweH0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLW1vYnt3aWR0aDoxMDAlO3BhZGRpbmc6MTBweDtkaXNwbGF5Om5vbmV9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmNvbnRlbnR7cGFkZGluZzoxNnB4IDEwcHggMTBweH0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWRlc2sgLmNhdGVnb3J5LAogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtbW9iIC5jYXRlZ29yeXsKICAgIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTRweDtjb2xvcjojZmZmO2JhY2tncm91bmQ6dmFyKC0tY2F0KTtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjZweCAxMnB4IDVweDt3aWR0aDpmaXQtY29udGVudDt0cmFuc2Zvcm06c2tld1koLThkZWcpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICB9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmNhdGVnb3J5IHsgbWFyZ2luLXRvcDotMzBweDsgfQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVzayAuaGVhZGxpbmUsCiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmhlYWRsaW5le21hcmdpbjoyMHB4IDAgMDtjb2xvcjojMEUxMTFBO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO3dvcmQtYnJlYWs6YnJlYWstd29yZH0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWRlc2sgLmhlYWRsaW5le2ZvbnQtc2l6ZTo0MnB4O2xpbmUtaGVpZ2h0OjQycHh9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmhlYWRsaW5le2ZvbnQtc2l6ZTozNHB4O2xpbmUtaGVpZ2h0OjM0cHh9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIC5kZXNjLAogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtbW9iIC5kZXNje21hcmdpbjoxNXB4IDAgMDtjb2xvcjojMzgzQjQyO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjdweDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjEwMCV9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIC5hdXRob3IsCiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmF1dGhvcnttYXJnaW4tdG9wOjIwcHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiMzODNCNDI7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjMwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6YmxvY2t9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmF1dGhvciB7bWFyZ2luLXRvcDogMjBweDt9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmJvdHRvbS1saW5le2Rpc3BsYXk6dXBwZXJjYXNlO30KICAuYmlsZHMta3FhYWlqeGkgLnBsYXktYnRue3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo4cHggMTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNDIpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czo0cHg7Y3Vyc29yOnBvaW50ZXI7YW5pbWF0aW9uOmJpbGRzLWtxYWFpanhpLWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO3otaW5kZXg6Mn0KICAuYmlsZHMta3FhYWlqeGkgLnBsYXktYnRuIC5pY297d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItbGVmdDoxMHB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgdHJhbnNwYXJlbnR9CiAgLmJpbGRzLWtxYWFpanhpIC5wbGF5LWJ0biAudHh0e2ZvbnQtd2VpZ2h0OjcwMH0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLW1vYiAucGxheS1idG57bGVmdDphdXRvO3JpZ2h0OjEwcHg7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4fQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtbW9iIC5wbGF5LWJ0biAudHh0e2Rpc3BsYXk6bm9uZX0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtkaXNwbGF5OmJsb2NrO29wYWNpdHk6MDt6LWluZGV4OjN9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNre29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0fQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVzazpob3ZlcntvcGFjaXR5Oi45fQogIEBrZXlmcmFtZXMgYmlsZHMta3FhYWlqeGktYmxpbmt7MCUsMTAwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfTUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LC45KX19CiAgQGNvbnRhaW5lciAobWF4LXdpZHRoOiA0NzlweCl7CiAgICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWRlc2t7ZGlzcGxheTpub25lfQogICAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2J7ZGlzcGxheTpibG9ja30KICB9CiAgQHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplKXsKICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzkuOThweCl7CiAgICAgIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVza3tkaXNwbGF5Om5vbmV9CiAgICAgIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtbW9ie2Rpc3BsYXk6YmxvY2t9CiAgICB9CiAgfQogIDwvc3R5bGU+CjxzZWN0aW9uIGNsYXNzPSJiaWxkcy1rcWFhaWp4aSIgc3R5bGU9Ii0tY2F0OiNGRkVBNEQ7IC0tY2F0LWJnOnJnYmEoMjU1LCAyMzQsIDc3LCAwLjIpIj4KICAgIDxhcnRpY2xlIGNsYXNzPSJwaWVjZS1kZXNrIiBpdGVtc2NvcGU9IiIgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9OZXdzQXJ0aWNsZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtd3JhcCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSI+CiAgICAgICAgICAgIDxpbWcgZGVjb2Rpbmc9ImFzeW5jIiBhbHQ9IkRlIGN1YW5kbyBT4W5jaGV6IHNlIGNvbWnzIGEgT3J3ZWxsIiBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2ltZy8yMDI2LzA5LzA5LzEwLTA5LTIwMjYtc2FuY2hlei1lbnRyZXZpc3RhLW1hc2FqZS5qcGVnIiBsb2FkaW5nPSJsYXp5IiB3aWR0aD0iNDYwIiBpdGVtcHJvcD0iaW1hZ2UiPgogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5IiBpdGVtcHJvcD0iYXJ0aWNsZVNlY3Rpb24iIHN0eWxlPSJjb2xvcjogcmdiKDE0LCAxNywgMjYpOyI+TEEgVknRRVRBIERFIFBVRUJMQTwvc3Bhbj4KICAgICAgICAgIDxoMiBjbGFzcz0iaGVhZGxpbmUiIGlkPSJiaWxkcy1rcWFhaWp4aS1oZWFkbGluZSIgaXRlbXByb3A9ImhlYWRsaW5lIj5ERSBDVUFORE8gU8FOQ0hFWiBTRSBDT01J0yBBIE9SV0VMTDwvaDI+CiAgICAgICAgICAKICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgICAgIDxhIGNsYXNzPSJwaWVjZS1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9vcGluaW9uL2N1YW5kby1zYW5jaGV6LWNvbWlvLW9yd2VsbC0yMDI2MDc1NSIgaXRlbXByb3A9InVybCIgYXJpYS1sYWJlbGxlZGJ5PSJiaWxkcy1rcWFhaWp4aS1oZWFkbGluZSI+PC9hPgogICAgICA8L2FydGljbGU+CiAgICA8YXJ0aWNsZSBjbGFzcz0icGllY2UtbW9iIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEiPgogICAgICAgICAgPGltZyBkZWNvZGluZz0iYXN5bmMiIGFsdD0iRGUgY3VhbmRvIFPhbmNoZXogc2UgY29tafMgYSBPcndlbGwiIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vaW1nLzIwMjYvMDkvMDkvMTAtMDktMjAyNi1zYW5jaGV6LWVudHJldmlzdGEtbWFzYWplLmpwZWciIGxvYWRpbmc9ImxhenkiIHdpZHRoPSIzNzUiPgogICAgICAgICAgCiAgICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnkiIHN0eWxlPSJjb2xvcjogcmdiKDE0LCAxNywgMjYpOyI+TEEgVknRRVRBIERFIFBVRUJMQTwvc3Bhbj4KICAgICAgICAgIDxoMiBjbGFzcz0iaGVhZGxpbmUiPkRFIENVQU5ETyBTwU5DSEVaIFNFIENPTUnTIEEgT1JXRUxMPC9oMj4KICAgICAgICAgIAogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b20tbGluZSI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGEgY2xhc3M9InBpZWNlLWxpbmsiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL29waW5pb24vY3VhbmRvLXNhbmNoZXotY29taW8tb3J3ZWxsLTIwMjYwNzU1IiB0YWJpbmRleD0iLTEiPjwvYT4KICAgICAgPC9hcnRpY2xlPgogIDwvc2VjdGlvbj4=
      CiAgPHN0eWxlPgogIEBpbXBvcnQgdXJsKCdodHRwczovL3VzZS50eXBla2l0Lm5ldC9pcWExcWViLmNzcycpOwoKICAuYmlsZHMta3FhYWlqeGl7IGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTsgfQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVzaywKICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLW1vYntwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTllOWVjfQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVza3sKICAgIHdpZHRoOjEwMCU7bWF4LXdpZHRoOjk2MHB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDYwcHggMWZyO2dhcDoxMHB4O3BhZGRpbmc6MTBweDttaW4td2lkdGg6OTYwcHg7CiB9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIC5tZWRpYS13cmFwe3dpZHRoOjQ2MHB4fQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVzayAubWVkaWEsCiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLm1lZGlhewogICAgcG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTthc3BlY3QtcmF0aW86MTYvOTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMDAwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtpc29sYXRpb246aXNvbGF0ZTsKICB9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIC5tZWRpYXt3aWR0aDo0NjBweDtoZWlnaHQ6MjYwcHh9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIGltZywgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIHZpZGVvLAogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtbW9iIGltZywgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgdmlkZW97d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmluaGVyaXQ7ZGlzcGxheTpibG9ja30KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfQogIC5iaWxkcy1rcWFhaWp4aSAucGl4ZWxhdGVkLW1lZGlhe2ltYWdlLXJlbmRlcmluZzpwaXhlbGF0ZWQ7aW1hZ2UtcmVuZGVyaW5nOmNyaXNwLWVkZ2VzfQogIC5iaWxkcy1rcWFhaWp4aSAucGl4ZWwtcmlnaHQtd3JhcHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Om5vbmV9CiAgLmJpbGRzLWtxYWFpanhpIC5waXhlbC1yaWdodC1oYWxme3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NTAlO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn0KICAuYmlsZHMta3FhYWlqeGkgLnBpeGVsLXJpZ2h0LWhhbGYgaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6MjAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpyaWdodCBjZW50ZXI7ZGlzcGxheTpibG9jaztpbWFnZS1yZW5kZXJpbmc6cGl4ZWxhdGVkO2ltYWdlLXJlbmRlcmluZzpjcmlzcC1lZGdlc30KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWRlc2sgLnRleHQsCiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmNvbnRlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWRlc2sgLnRleHR7bWluLWhlaWdodDoyNjBweDtwYWRkaW5nOjAgMTBweH0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLW1vYnt3aWR0aDoxMDAlO3BhZGRpbmc6MTBweDtkaXNwbGF5Om5vbmV9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmNvbnRlbnR7cGFkZGluZzoxNnB4IDEwcHggMTBweH0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWRlc2sgLmNhdGVnb3J5LAogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtbW9iIC5jYXRlZ29yeXsKICAgIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTRweDtjb2xvcjojZmZmO2JhY2tncm91bmQ6dmFyKC0tY2F0KTtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjZweCAxMnB4IDVweDt3aWR0aDpmaXQtY29udGVudDt0cmFuc2Zvcm06c2tld1koLThkZWcpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICB9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmNhdGVnb3J5IHsgbWFyZ2luLXRvcDotMzBweDsgfQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVzayAuaGVhZGxpbmUsCiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmhlYWRsaW5le21hcmdpbjoyMHB4IDAgMDtjb2xvcjojMEUxMTFBO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO3dvcmQtYnJlYWs6YnJlYWstd29yZH0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWRlc2sgLmhlYWRsaW5le2ZvbnQtc2l6ZTo0MnB4O2xpbmUtaGVpZ2h0OjQycHh9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmhlYWRsaW5le2ZvbnQtc2l6ZTozNHB4O2xpbmUtaGVpZ2h0OjM0cHh9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIC5kZXNjLAogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtbW9iIC5kZXNje21hcmdpbjoxNXB4IDAgMDtjb2xvcjojMzgzQjQyO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjdweDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjEwMCV9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNrIC5hdXRob3IsCiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmF1dGhvcnttYXJnaW4tdG9wOjIwcHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiMzODNCNDI7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjMwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6YmxvY2t9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmF1dGhvciB7bWFyZ2luLXRvcDogMjBweDt9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2IgLmJvdHRvbS1saW5le2Rpc3BsYXk6dXBwZXJjYXNlO30KICAuYmlsZHMta3FhYWlqeGkgLnBsYXktYnRue3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo4cHggMTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNDIpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czo0cHg7Y3Vyc29yOnBvaW50ZXI7YW5pbWF0aW9uOmJpbGRzLWtxYWFpanhpLWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO3otaW5kZXg6Mn0KICAuYmlsZHMta3FhYWlqeGkgLnBsYXktYnRuIC5pY297d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItbGVmdDoxMHB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgdHJhbnNwYXJlbnR9CiAgLmJpbGRzLWtxYWFpanhpIC5wbGF5LWJ0biAudHh0e2ZvbnQtd2VpZ2h0OjcwMH0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLW1vYiAucGxheS1idG57bGVmdDphdXRvO3JpZ2h0OjEwcHg7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4fQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtbW9iIC5wbGF5LWJ0biAudHh0e2Rpc3BsYXk6bm9uZX0KICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtkaXNwbGF5OmJsb2NrO29wYWNpdHk6MDt6LWluZGV4OjN9CiAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1kZXNre29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0fQogIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVzazpob3ZlcntvcGFjaXR5Oi45fQogIEBrZXlmcmFtZXMgYmlsZHMta3FhYWlqeGktYmxpbmt7MCUsMTAwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfTUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LC45KX19CiAgQGNvbnRhaW5lciAobWF4LXdpZHRoOiA0NzlweCl7CiAgICAuYmlsZHMta3FhYWlqeGkgLnBpZWNlLWRlc2t7ZGlzcGxheTpub25lfQogICAgLmJpbGRzLWtxYWFpanhpIC5waWVjZS1tb2J7ZGlzcGxheTpibG9ja30KICB9CiAgQHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplKXsKICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzkuOThweCl7CiAgICAgIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtZGVza3tkaXNwbGF5Om5vbmV9CiAgICAgIC5iaWxkcy1rcWFhaWp4aSAucGllY2UtbW9ie2Rpc3BsYXk6YmxvY2t9CiAgICB9CiAgfQogIDwvc3R5bGU+CjxzZWN0aW9uIGNsYXNzPSJiaWxkcy1rcWFhaWp4aSIgc3R5bGU9Ii0tY2F0OiNGRkVBNEQ7IC0tY2F0LWJnOnJnYmEoMjU1LCAyMzQsIDc3LCAwLjIpIj4KICAgIDxhcnRpY2xlIGNsYXNzPSJwaWVjZS1kZXNrIiBpdGVtc2NvcGU9IiIgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9OZXdzQXJ0aWNsZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtd3JhcCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSI+CiAgICAgICAgICAgIDxpbWcgZGVjb2Rpbmc9ImFzeW5jIiBhbHQ9IkRlIGN1YW5kbyBT4W5jaGV6IHNlIGNvbWnzIGEgT3J3ZWxsIiBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2ltZy8yMDI2LzA5LzA5LzEwLTA5LTIwMjYtc2FuY2hlei1lbnRyZXZpc3RhLW1hc2FqZS5qcGVnIiBsb2FkaW5nPSJsYXp5IiB3aWR0aD0iNDYwIiBpdGVtcHJvcD0iaW1hZ2UiPgogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRleHQiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5IiBpdGVtcHJvcD0iYXJ0aWNsZVNlY3Rpb24iIHN0eWxlPSJjb2xvcjogcmdiKDE0LCAxNywgMjYpOyI+TEEgVknRRVRBIERFIFBVRUJMQTwvc3Bhbj4KICAgICAgICAgIDxoMiBjbGFzcz0iaGVhZGxpbmUiIGlkPSJiaWxkcy1rcWFhaWp4aS1oZWFkbGluZSIgaXRlbXByb3A9ImhlYWRsaW5lIj5ERSBDVUFORE8gU8FOQ0hFWiBTRSBDT01J0yBBIE9SV0VMTDwvaDI+CiAgICAgICAgICAKICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgICAgIDxhIGNsYXNzPSJwaWVjZS1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9vcGluaW9uL2N1YW5kby1zYW5jaGV6LWNvbWlvLW9yd2VsbC0yMDI2MDc1NSIgaXRlbXByb3A9InVybCIgYXJpYS1sYWJlbGxlZGJ5PSJiaWxkcy1rcWFhaWp4aS1oZWFkbGluZSI+PC9hPgogICAgICA8L2FydGljbGU+CiAgICA8YXJ0aWNsZSBjbGFzcz0icGllY2UtbW9iIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEiPgogICAgICAgICAgPGltZyBkZWNvZGluZz0iYXN5bmMiIGFsdD0iRGUgY3VhbmRvIFPhbmNoZXogc2UgY29tafMgYSBPcndlbGwiIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vaW1nLzIwMjYvMDkvMDkvMTAtMDktMjAyNi1zYW5jaGV6LWVudHJldmlzdGEtbWFzYWplLmpwZWciIGxvYWRpbmc9ImxhenkiIHdpZHRoPSIzNzUiPgogICAgICAgICAgCiAgICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnkiIHN0eWxlPSJjb2xvcjogcmdiKDE0LCAxNywgMjYpOyI+TEEgVknRRVRBIERFIFBVRUJMQTwvc3Bhbj4KICAgICAgICAgIDxoMiBjbGFzcz0iaGVhZGxpbmUiPkRFIENVQU5ETyBTwU5DSEVaIFNFIENPTUnTIEEgT1JXRUxMPC9oMj4KICAgICAgICAgIAogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b20tbGluZSI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGEgY2xhc3M9InBpZWNlLWxpbmsiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL29waW5pb24vY3VhbmRvLXNhbmNoZXotY29taW8tb3J3ZWxsLTIwMjYwNzU1IiB0YWJpbmRleD0iLTEiPjwvYT4KICAgICAgPC9hcnRpY2xlPgogIDwvc2VjdGlvbj4=
    • CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCkuICovCi5ibGstMWgwZm57bWF4LWlubGluZS1zaXplOjk2MHB4O21hcmdpbjowIGF1dG87Y29udGFpbmVyLXR5cGU6aW5saW5lLXNpemU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTBweDt9Ci5ibGstMWgwZm4gYXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjppbmhlcml0fQouYmxrLTFoMGZuIC5wYWdle2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDoxNXB4fQouYmxrLTFoMGZuIC5wYWdlIC5jb2x1bW57b3JkZXI6MX0KLmJsay0xaDBmbiAucGFnZSAubGVhZHtvcmRlcjoyfQovKiA4NjBweCB5IG5vIDQ3NXB4OiBjb24gbGEgY29sdW1uYSBmaWphICgyMjBweCArIDIwcHggZGUgZ2FwID0gMjQwcHgpLAogICBjdWFscXVpZXIgYW5jaG8gZGUgaWZyYW1lIHBvciBkZWJham8gZGUgfjg2MHB4IGRlamEgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgKDFmcikgY2FkYSB2ZXogY29uIG1lbm9zIGVzcGFjaW8gaGFzdGEgY29sYXBzYXIgYSAwcHggZGUgYW5jaG8gYW50ZXMgZGUKICAgbGxlZ2FyIGEgdW4gYnJlYWtwb2ludCB0YW4gYmFqbyBjb21vIDQ3NXB4ICYjODIxMjsgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgZGlyZWN0YW1lbnRlIGRlc2FwYXJlY2UgZW4gZXNhIGZyYW5qYSBpbnRlcm1lZGlhIChuaSAiZGVzayIgY29tcGxldG8gbmkKICAgIm3zdmlsIiBlc3RyZWNobykuIENvbiA4NjBweCBzZSBwYXNhIGEgdW5hIHNvbGEgY29sdW1uYSBhcGlsYWRhIGFudGVzIGRlCiAgIHF1ZSBlc28gcHVlZGEgb2N1cnJpci4KICAgRXN0ZSBicmVha3BvaW50IHNlIG9taXRlIHBvciBjb21wbGV0byBtaWVudHJhcyBsYSBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkKICAgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldyk6IHBlbnNhZG8gcGFyYSBjdWFuZG8gZWwgbfNkdWxvIGxsZXZhIHN1CiAgIGNvbHVtbmEgYSA5NjBweCwgZGVqYSBkZSB0ZW5lciBzZW50aWRvIGVuIHVuYSBleHBvcnRhY2nzbiBkZSBzb2xvIGxhCiAgIG5vdGljaWEgcHJpbmNpcGFsIGEgdW4gYW5jaG8gZmlqbyBlbGVnaWRvIGEgbWFubyAmIzgyMTI7IGxvcyBhbmNob3Mgc2ltdWxhZG9zCiAgICg2MTMvNDYwLzMwN3B4KSBlc3ThbiBUT0RPUyBwb3IgZGViYWpvIGRlIDg2MHB4LCBhc+0gcXVlIHNpbiBlc3RlIGdhdGluZwogICBlbCBIVE1MIGV4cG9ydGFkbyBjYWVy7WEgc2llbXByZSBhIGxhIHRpcG9ncmFm7WEgIk3zdmlsIiAoY29uICFpbXBvcnRhbnQpCiAgIHNlYSBjdWFsIHNlYSBsYSBxdWUgZWwgdXN1YXJpbyBjb25maWd1cvMgZW4gIkRlc2siIHBhcmEgZXNhIHNpbXVsYWNp824sCiAgIGRhbmRvIGxhIGZhbHNhIHNlbnNhY2nzbiBkZSBxdWUgdW5hIGNvbmZpZ3VyYWNp824gInBpc2EiIGEgb3RyYS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsKICAuYmxrLTFoMGZue2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjA7fQogIC5ibGstMWgwZm4gLnBhZ2V7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0KICAuYmxrLTFoMGZuIC5wYWdlIC5zdGFjay10aXRsZSB7Zm9udC1zaXplOjE4cHg7IGxpbmUtaGVpZ2h0OiAxLjJlbTt9CiAgLmJsay0xaDBmbiAucGFnZSAuc3RhY2stYXV0aG9yIHttYXJnaW4tdG9wOiAxMHB4O30KICAuYmxrLTFoMGZuIC5sZWFkLW1lZGlhLmlzLWlmcmFtZXtibG9jay1zaXplOjQwMHB4ICFpbXBvcnRhbnQ7fQogIC5ibGstMWgwZm4gLmxlYWQtbWVkaWF7YXNwZWN0LXJhdGlvOjQvMyAhaW1wb3J0YW50O30KICAuYmxrLTFoMGZuIC5wYWdlIC5sZWFke29yZGVyOjF9CiAgLmJsay0xaDBmbiAucGFnZSAuY29sdW1ue29yZGVyOjJ9CiAgLyogUG9yIGRlYmFqbyBkZWwgYnJlYWtwb2ludCwgZWwgbGVhZC1ib2R5IHNpZW1wcmUgdnVlbHZlIGEgaXIgZGViYWpvIGRlbAogICAgIGxlYWQtbWVkaWEgKG5vIGhheSBzaXRpbyBwYXJhIGVsIGxheW91dCBsYWRvIGEgbGFkbykuICovCiAgLmJsay0xaDBmbiAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCwKICAuYmxrLTFoMGZuIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YXNwZWN0LXJhdGlvOmF1dG87fQogIC5ibGstMWgwZm4gLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtbWVkaWEsCiAgLmJsay0xaDBmbiAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDoxIDEgYXV0bzt9CiAgLmJsay0xaDBmbiAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAogIC5ibGstMWgwZm4gLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDoxIDEgYXV0bztpbmxpbmUtc2l6ZTo5MCU7bWFyZ2luOi0zMHB4IGF1dG8gMDtibG9jay1zaXplOmF1dG87YWxpZ24tc2VsZjphdXRvO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmc6MTBweDt9CiAgLmJsay0xaDBmbiAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b257bGVmdDoxMHB4O3JpZ2h0OmF1dG87fQogIC5ibGstMWgwZm4gLnBhZ2UgLmNvbHVtbi1pdGVte2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQogIC5ibGstMWgwZm4gLnBhZ2UgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxLjE1O2NvbG9yOiMyYzNlNTM7bWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O30KICAuYmxrLTFoMGZuIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0yMSAubGVmdC10aXRsZXtmb250LXNpemU6MjFweCAhaW1wb3J0YW50O30KICAuYmxrLTFoMGZuIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0xOCAubGVmdC10aXRsZXtmb250LXNpemU6MThweCAhaW1wb3J0YW50O30KICAuYmxrLTFoMGZuIC5wYWdlIC5sZWZ0LXBsYXl7CiAgICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogICAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogICAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7CiAgfQogIC5ibGstMWgwZm4gLnBhZ2UgLmxlZnQtcGxheTo6YmVmb3JlewogICAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4OwogIH0KfQovKiBUaXBvZ3JhZu1hICJN83ZpbCIgKGFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vdGl0dWxhcmVzIGFuaW1hZG9zKSBjb24gU1UKICAgUFJPUElPIGJyZWFrcG9pbnQgKDQ4MHB4KSwgc2VwYXJhZG8gZGVsIGRlIGFycmliYSAoODYwcHgsIHNvbG8gcGFyYSBhcGlsYXIKICAgbGEgcmVqaWxsYSBjb2x1bW5hK25vdGljaWEpOiB1biBjb250ZW5lZG9yIHJlYWwgZGUgbWVub3MgZGUgODYwcHggZXMgbXV5CiAgIGhhYml0dWFsIChwLmVqLiB1bmEgY29sdW1uYSBkZSBhcnTtY3VsbyBkZSB+NzAwcHgpIHkgTk8gZXMgdW4gbfN2aWwgJiM4MjEyOyBjb24KICAgdW4g+m5pY28gYnJlYWtwb2ludCBjb21wYXJ0aWRvLCBsYSB0aXBvZ3JhZu1hICJEZXNrIiBxdWUgY29uZmlndXJhIGVsCiAgIHVzdWFyaW8gbm8gbGxlZ2FiYSBhIHZlcnNlIG51bmNhIGVuIGVzZSBjYXNvLCBjYXllbmRvIHNpZW1wcmUgYSBsb3MgdmFsb3JlcwogICBwb3IgZGVmZWN0byBkZSAiTfN2aWwiIHNpbiBxdWUgbmFkaWUgbG8gaHViaWVyYSBwZWRpZG8uIDQ4MHB4IHPtIHNlCiAgIGNvcnJlc3BvbmRlIGNvbiB1biBhbmNobyBkZSBt83ZpbCByZWFsIChsYSB2aXN0YSAiTfN2aWwiIGRlbCBwcm9waW8gZ2VzdG9yCiAgIHNpbXVsYSAzNzVweCkuIElndWFsIHF1ZSBlbCBicmVha3BvaW50IGRlIGFycmliYSwgc2Ugb21pdGUgZHVyYW50ZSBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGRlIGxhIG5vdGljaWEgcHJpbmNpcGFsICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay0xaDBmbiAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiNGRjUwNTAgIWltcG9ydGFudDt9CiAgLmJsay0xaDBmbiAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4xICFpbXBvcnRhbnQ7Y29sb3I6I0ZGNTA1MCAhaW1wb3J0YW50O30KICAuYmxrLTFoMGZuIC5sZWFkLXRpdGxle2ZvbnQtc2l6ZToxLjg3NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgLmJsay0xaDBmbiAubGVhZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLTFoMGZuIC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLTFoMGZuIC5sZWFkLWtpY2tlci1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLTFoMGZuIC5sZWFkLWtpY2tlci1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay0xaDBmbiAubGVhZC1zdWJ0aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLTFoMGZuIC5sZWFkLXN1YnRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLTFoMGZuIC5sZWFkLWFuaW0taGVhZGxpbmVze2ZvbnQtc2l6ZToxLjg3NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgCiAgLmJsay0xaDBmbiAucmVsYXRlZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLTFoMGZuIC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KfQouYmxrLTFoMGZuIC5sZWFke2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6I2ZmZjtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLTFoMGZuIC5sZWFkLW1lZGlhe3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW59Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZTogYWx0byBmaWpvIGVuIHDteGVsZXMgZW4gdmV6IGRlIGxhIHByb3BvcmNp824gZGUKICAgYXJyaWJhICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBzdGF0ZS5sZWFkLmlmcmFtZUhlaWdodCkgJiM4MjEyOyBlbAogICB2YWxvciBkZSBN83ZpbCBzZSBzb2JyZXNjcmliZSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywgaWd1YWwgcXVlIGVsCiAgIHJlc3RvIGRlIG92ZXJyaWRlcyByZXNwb25zaXZlIGRlIGVzdGUgSFRNTCBleHBvcnRhZG8uICovCi5ibGstMWgwZm4gLmxlYWQtbWVkaWEuaXMtaWZyYW1le2FzcGVjdC1yYXRpbzpub25lO2Jsb2NrLXNpemU6NjQwcHg7fQouYmxrLTFoMGZuIC5sZWFkLW1lZGlhIGltZywKLmJsay0xaDBmbiAubGVhZC1tZWRpYSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci8qIENhcnJ1c2VsIGRlIGZvdG9zIGRlIGZvbmRvIGNvbiBlZmVjdG8gS2VuIEJ1cm5zICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuCiAgIExhIGR1cmFjafNuIGRlIGxhcyBhbmltYWNpb25lcyAoNnMpIGNvaW5jaWRlIGNvbgogICBMRUFEX0NBUk9VU0VMX0lOVEVSVkFMLCBxdWUgdGFtYmnpbiBnb2JpZXJuYSBlbCBzY3JpcHQgZGUgcm90YWNp824KICAgKGJ1aWxkTGVhZENhcm91c2VsU2NyaXB0KSBh8WFkaWRvIGFsIGZpbmFsIGRlbCBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay0xaDBmbiAubGVhZC1jYXJvdXNlbHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstMWgwZm4gLmxlYWQtY2Fyb3VzZWwtc2xpZGV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEuNXMgZWFzZTt9Ci5ibGstMWgwZm4gLmxlYWQtY2Fyb3VzZWwtc2xpZGUuaXMtYWN0aXZle29wYWNpdHk6MTt6LWluZGV4OjE7fQouYmxrLTFoMGZuIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7fQouYmxrLTFoMGZuIC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChvZGQpIGltZ3thbmltYXRpb246YmxrLTFoMGZuLWtlbmJ1cm5zLWEgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQouYmxrLTFoMGZuIC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChldmVuKSBpbWd7YW5pbWF0aW9uOmJsay0xaDBmbi1rZW5idXJucy1iIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KQGtleWZyYW1lcyBibGstMWgwZm4ta2VuYnVybnMtYXsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gfQpAa2V5ZnJhbWVzIGJsay0xaDBmbi1rZW5idXJucy1ieyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoNCUsMyUpO30gfQovKiBDb24gdW5hIPpuaWNhIGZvdG8gKHNpbiByb3RhY2nzbiBwb3NpYmxlKSBzZSBhcGxpY2EgdW4gem9vbSBpbi9vdXQgZW4KICAgYnVjbGUgaW5maW5pdG8gZW4gdmV6IGRlbCByZWNvcnJpZG8g+m5pY28gKGZvcndhcmRzKSBkZSBhcnJpYmEuICovCi5ibGstMWgwZm4gLmxlYWQtY2Fyb3VzZWwuaXMtc2luZ2xlIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3thbmltYXRpb246YmxrLTFoMGZuLWtlbmJ1cm5zLWxvb3AgMTRzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KQGtleWZyYW1lcyBibGstMWgwZm4ta2VuYnVybnMtbG9vcHsgMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gNTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSAxMDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IH0KLyogQ29tcGFyYWRvciBhbnRlcy9kZXNwdelzIChkZXNsaXphZG9yKSAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTFoMGZuIC5sZWFkLWNvbXBhcmV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7dG91Y2gtYWN0aW9uOm5vbmU7ei1pbmRleDoyO30KLmJsay0xaDBmbiAubGVhZC1jb21wYXJlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtkaXNwbGF5OmJsb2NrO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLWRyYWc6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay0xaDBmbiAubGVhZC1jb21wYXJlLWJlZm9yZXtjbGlwLXBhdGg6aW5zZXQoMCA1MCUgMCAwKTt3aWxsLWNoYW5nZTpjbGlwLXBhdGg7fQouYmxrLTFoMGZuIC5sZWFkLWNvbXBhcmUtcmFuZ2V7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTttYXJnaW46MDtvcGFjaXR5OjA7Y3Vyc29yOmV3LXJlc2l6ZTt9Ci5ibGstMWgwZm4gLmxlYWQtY29tcGFyZS1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDo1MCU7aW5saW5lLXNpemU6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6Mjt9Ci5ibGstMWgwZm4gLmxlYWQtY29tcGFyZS1oYW5kbGU6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtpbmxpbmUtc2l6ZToycHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLC4yNSk7fQouYmxrLTFoMGZuIC5sZWFkLWNvbXBhcmUtaGFuZGxlOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDotMTVweDtpbmxpbmUtc2l6ZTozMHB4O2Jsb2NrLXNpemU6MzBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTggNiBMNCAxMCBMOCAxNCcvPjxwYXRoIGQ9J00xMiA2IEwxNiAxMCBMMTIgMTQnLz48L2c+PC9zdmc+IikgY2VudGVyLzE2cHggMTZweCBuby1yZXBlYXQ7Ym94LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwuMjUpO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMjUpO30KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE1pc21vIHotaW5kZXg6MiBxdWUKICAgLmxlYWQtY29tcGFyZSwgcG9yIGVsIG1pc21vIG1vdGl2byAoZ2FuYXJsZSBhIC5sZWFkLWxpbmspLiAqLwouYmxrLTFoMGZuIC5sZWFkLWlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt6LWluZGV4OjI7fQouYmxrLTFoMGZuIC5sZWFkLWlmcmFtZSBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay0xaDBmbiAubGVhZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLTFoMGZuIC5sZWFkLWJvZHl7cGFkZGluZzowcHggMjBweCAyMHB4IDIwcHg7O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7IHRleHQtYWxpZ246Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjY7IHBvaW50ZXItZXZlbnRzOm5vbmU7IGlubGluZS1zaXplOjk1JTsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OmF1dG87IG1hcmdpbi10b3A6LTMwcHg7IGJhY2tncm91bmQ6IzBFMTExQTsgZmxleDoxIDEgYXV0bzt9Ci8qIEFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vYXV0b3IgY2VudHJhZG9zIGVuIHZlcnRpY2FsIGRlbnRybyBkZWwgYWx0bwogICBzb2JyYW50ZSBiYWpvIGxhIGNhdGVnb3LtYSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLTFoMGZuIC5sZWFkLWJvZHktbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2lubGluZS1zaXplOjEwMCU7ZmxleDoxIDEgYXV0bzttaW4taGVpZ2h0OjA7fQovKiBBcGFyaWVuY2lhIG5lZ2F0aXZhIChwb3IgZGVmZWN0bykgdnMuIHBvc2l0aXZhIGRlIGxhIGNhamEgZGUgdGl0dWxhciAmIzgyMTI7IHZlcgogICBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLTFoMGZuIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtYm9keXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO30KLmJsay0xaDBmbiAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLXRpdGxlLAouYmxrLTFoMGZuIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmF1dGhvci1sYWJlbHtjb2xvcjojMEUxMTFBO30KLyogUG9zaWNp824gZGVsIGxlYWQtYm9keSByZXNwZWN0byBhbCBsZWFkLW1lZGlhICgnbGVmdCcvJ3JpZ2h0JykgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay0xaDBmbiAubGVhZC5sZWFkLWJvZHktbGVmdCwKLmJsay0xaDBmbiAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246cm93O2FzcGVjdC1yYXRpbzoyLjk2Mjk2Mjk2Mjk2Mjk2Mzt9Ci5ibGstMWgwZm4gLmxlYWQubGVhZC1ib2R5LWxlZnR7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7fQouYmxrLTFoMGZuIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAouYmxrLTFoMGZuIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjAgMCA2MCU7fQouYmxrLTFoMGZuIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCi5ibGstMWgwZm4gLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDowIDAgY2FsYyg0MCUgKyAzMHB4KTtpbmxpbmUtc2l6ZTphdXRvO21hcmdpbi10b3A6MDtibG9jay1zaXplOmNhbGMoMTAwJSAtIDQycHgpO2FsaWduLXNlbGY6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O30KLmJsay0xaDBmbiAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5e21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0Oi0zMHB4O30KLmJsay0xaDBmbiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDotMzBweDttYXJnaW4tcmlnaHQ6MDt9Ci8qIFBvc2ljafNuICdib3R0b20tZnVsbCcgZGVsIGxlYWQtYm9keSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBpbmxpbmUtc2l6ZQogICBlbiB2ZXogZGUgd2lkdGggcG9yIGVsIG1pc21vIG1vdGl2byBxdWUgZWwgcmVzdG8gZGUgZXN0ZSBibG9xdWUgKGV2aXRhcgogICBsYSBwYWxhYnJhICJ3aWR0aDoiIHF1ZSBlbCBDTVMgZGVsIHVzdWFyaW8gZWxpbWluYSBhbCBwZWdhciBIVE1ML0NTUwogICBkaXJlY3RhbWVudGUpLiAqLwouYmxrLTFoMGZuIC5sZWFkLmxlYWQtYm9keS1ib3R0b20tZnVsbCAubGVhZC1ib2R5ewogIGlubGluZS1zaXplOjEwMCU7CiAgbWFyZ2luOjA7CiAgcGFkZGluZy10b3A6MzBweDsKICBwYWRkaW5nLWJvdHRvbTozMHB4OwogIGJvcmRlcjpub25lOwp9Ci8qIEV0aXF1ZXRhIGRlIGV4Y2x1c2l2YSAobyB0ZXh0byBwZXJzb25hbGl6YWRvKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTFoMGZuIC5sZWFkLWV4Y2x1c2l2ZS10YWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4O3otaW5kZXg6MztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2xldHRlci1zcGFjaW5nOjAuNXB4O3BhZGRpbmc6MnB4IDhweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOi44ZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3BvaW50ZXItZXZlbnRzOm5vbmU7fQovKiBTZWxlY3RvciBjb24gMyBjbGFzZXMgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoIi5sZWFkLW1lZGlhIGltZyIgdGFtYmnpbgogICBtYXRjaGVhIGVzdGUgPGltZz4geSBsZSBnYW5hYmEgZW4gZXNwZWNpZmljaWRhZCkuICovCi5ibGstMWgwZm4gLmxlYWQtZXhjbHVzaXZlLXRhZyAubGVhZC1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGstMWgwZm4gLmxlYWQtY2F0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpza2V3WSgtNmRlZyk7bWFyZ2luLXRvcDotMTVweDttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLTFoMGZuIC5sZWFkLWtpY2tlciwgLmJsay0xaDBmbiAubGVhZC1zdWJ0aXRsZXsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7dGV4dC10cmFuc2Zvcm06bm9uZTttYXJnaW46MDsKfQouYmxrLTFoMGZuIC5sZWFkLWtpY2tlcntmb250LXdlaWdodDo3MDA7fQouYmxrLTFoMGZuIC5sZWFkLXN1YnRpdGxle2ZvbnQtd2VpZ2h0OjYwMDt9Ci8qIFRhbWHxby9pbnRlcmxpbmVhZG8vY29sb3IgZGUgYW50ZXTtdHVsbyB5IHN1YnTtdHVsbyBlbiBEZXNrICh2YWxvcmVzIHBvcgogICBkZWZlY3RvIGRlbCBibG9xdWU7IGVsIG92ZXJyaWRlIGRlIE3zdmlsIHZhIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFiYWpvLAogICB5YSBxdWUgZWwgSFRNTCBleHBvcnRhZG8gZXMgcmVzcG9uc2l2ZSB5IG5vIGRlcGVuZGUgZGUgcXXpIHZpc3RhIHR1dmllcmFzCiAgIHNlbGVjY2lvbmFkYSBlbiBlbCBnZXN0b3IgYWwgZXhwb3J0YXIvY29waWFyKS4gKi8KLmJsay0xaDBmbiAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6I0ZGNTA1MDt9Ci5ibGstMWgwZm4gLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6I0ZGNTA1MDt9Ci8qIHRleHQtd3JhcDpiYWxhbmNlICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGVsIGdlc3RvciAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgZXNhIHJlZ2xhKTogcmVwYXJ0ZSBsYXMKICAgbO1uZWFzIGRlbCB0aXR1bGFyIGRlIGZvcm1hIG3hcyB1bmlmb3JtZSBkZW50cm8gZGUgY2FkYSBkaXNwb3NpdGl2bywgc2luCiAgIHByZXRlbmRlciBpZ3VhbGFyIGVsIG76bWVybyBkZSBs7W5lYXMgZW50cmUgcGxhdGFmb3JtYXMgZGlzdGludGFzLiAqLwouYmxrLTFoMGZuIC5sZWFkLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6MTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO3RleHQtd3JhcDpiYWxhbmNlO30KLyogVGl0dWxhciBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YSAodmVyIGJ1aWxkU2NvcGVkSFRNTCk6CiAgIHNlIGdlbmVyYW4gbG9zIGRvcyB0ZXh0b3MgKERlc2svTfN2aWwpIHkgYXF17SBzZSBtdWVzdHJhIHNvbG8gdW5vIHNlZ/puIGVsCiAgIGFuY2hvIHJlYWwgZGVsIGNvbnRlbmVkb3IgJiM4MjEyOyBlbCBtaXNtbyBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgeWEgdXNhIGVsCiAgIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbyBwYXJhIGFkYXB0YXJzZSBzaW4gZGVwZW5kZXIgZGUgSlMuICovCi5ibGstMWgwZm4gLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIEFudGV07XR1bG8vc3VidO10dWxvIGNvbiBzYWx0b3MgZGUgbO1uZWEgaW5kZXBlbmRpZW50ZXMgcG9yIHZpc3RhOiBtaXNtbwogICBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciAodmVyIGFycmliYSkuICovCi5ibGstMWgwZm4gLmxlYWQta2lja2VyLW1vYmlsZSwgLmJsay0xaDBmbiAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLyogVGl0dWxhciBkZSBub3RpY2lhIHJlbGFjaW9uYWRhIChjb2x1bW5hKSBjb24gdGV4dG8gcHJvcGlvIGVuIE3zdmlsICh2ZXIKICAgaXRlbS50aXRsZU1vYmlsZSBlbiBidWlsZENvbHVtbkl0ZW1UaXRsZUhUTUwpOiBtaXNtbyBtZWNhbmlzbW8gZGUKICAgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciBwcmluY2lwYWwgZGUgYXJyaWJhLiAqLwouYmxrLTFoMGZuIC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQouYmxrLTFoMGZuIC5hdXRob3ItbGFiZWx7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOnJpZ2h0O2Rpc3BsYXk6YmxvY2t9Ci5ibGstMWgwZm4gLmNvbHVtbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjt9Ci5ibGstMWgwZm4gLmNvbHVtbi1pdGVte2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO3BhZGRpbmc6MTBweDtiYWNrZ3JvdW5kOiNmZmY7YmxvY2stc2l6ZTpzdHJldGNoO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGstMWgwZm4gLnRodW1ie3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjQvMztiYWNrZ3JvdW5kOiNlZWU7b3ZlcmZsb3c6aGlkZGVufQouYmxrLTFoMGZuIC50aHVtYiBpbWcsCi5ibGstMWgwZm4gLnRodW1iIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KLmJsay0xaDBmbiAudGh1bWIgLnBsYXktc3F1YXJlLAouYmxrLTFoMGZuIC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOjVweDsgbGVmdDo1cHg7CiAgaW5saW5lLXNpemU6MjVweDtibG9jay1zaXplOjI1cHg7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7CiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTgpOwogIGN1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLCB0cmFuc2Zvcm0gLjEyczsKICB6LWluZGV4OjI7IGFuaW1hdGlvbjpibGstMWgwZm4tYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJsay0xaDBmbiAudGh1bWIgLnBsYXktc3F1YXJlOjpiZWZvcmUsCi5ibGstMWgwZm4gLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOjpiZWZvcmV7CiAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIG1hcmdpbi1sZWZ0OjJweDsKfQouYmxrLTFoMGZuIC50aHVtYiAucGxheS1zcXVhcmU6aG92ZXIsCi5ibGstMWgwZm4gLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOmhvdmVyeyBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC44NSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOyB9Ci5ibGstMWgwZm4gLnN0YWNrLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE3cHg7bGluZS1oZWlnaHQ6MS4xNWVtO21hcmdpbjowO2NvbG9yOiMyYzNlNTM7fQouYmxrLTFoMGZuIC5zdGFjay1hdXRob3J7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1ib29rIixzYW5zLXNlcmlmO2NvbG9yOiM4Mjg1OTU7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOHJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjExcHg7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LWFsaWduOnJpZ2h0O30KLyogU2luIGVzdGEgcmVnbGEgZWwgYXV0b3IgcXVlZGEgcGVnYWRvIGp1c3RvIGRlYmFqbyBkZWwgdGl0dWxhciBlbiB2ZXogZGUKICAgYWJham8gZGUgbGEgdGFyamV0YTogLm1vZC1zdGFjayBuZWNlc2l0YSBzZXIgZmxleC1jb2x1bW4gY29uCiAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIHBhcmEgcXVlIGVsIGh1ZWNvIHNvYnJhbnRlIChjdWFuZG8gbGEKICAgdGFyamV0YSBjcmVjZSBt4XMgcXVlIHN1IGNvbnRlbmlkbywgdmVyIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jaykKICAgbeFzIGFiYWpvKSBlbXB1amUgZWwgYXV0b3IgaGFjaWEgZWwgYm9yZGUgaW5mZXJpb3IuICovCi5ibGstMWgwZm4gLm1vZC1zdGFja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZsZXg6MSAxIGF1dG87fQovKiBFc3RpbG8gImZvdG8gcGVxdWXxYSArIHRpdHVsYXIiOiBmb3RvIDQ6MyBhIGxhIGl6cXVpZXJkYSwgdGV4dG8gYSBsYSBkZXJlY2hhLiAqLwouYmxrLTFoMGZuIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tbGVmdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjExMHB4IDFmcjtnYXA6MTBweDt9Ci8qIEVzdGlsbyAic29sbyB0ZXh0byIgKHBvciBkZWZlY3RvKTogZWwgYXV0b3Igc2UgcG9zaWNpb25hIGVuIGFic29sdXRvLAogICBhbmNsYWRvIGEgbGEgZXNxdWluYSBpbmZlcmlvciBkZXJlY2hhIGRlIGxhIHRhcmpldGEgKGlndWFsIHF1ZSBlbCBwbGF5IGRlCiAgIGxhcyBtaW5pYXR1cmFzKSwgZW4gdmV6IGRlIGRlcGVuZGVyIGRlIHF1ZSBlbCBibG9xdWUgZGUgdGV4dG8gdGVuZ2EgaHVlY28KICAgZGUgc29icmEgcGFyYSBlbXB1amFybG8gYWJham8gY29uIGZsZXhib3ggJiM4MjEyOyBjb24gdO10dWxvcyBkZSAyLTMgbO1uZWFzIGVzZQogICBodWVjbyBubyBleGlzdGUgeSBlbCBhdXRvciBudW5jYSBsbGVnYWJhIGEgYmFqYXIuIHBhZGRpbmctYm90dG9tIGVuCiAgIGxlZnQtYm9keSByZXNlcnZhIGVsIGVzcGFjaW8gcGFyYSBxdWUgZWwgdO10dWxvIG5vIHNlIHNvbGFwZSBjb24g6WwuICovCi5ibGstMWgwZm4gLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5sZWZ0LWJvZHl7cGFkZGluZy1ib3R0b206MzNweDt9Ci5ibGstMWgwZm4gLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5zdGFjay1hdXRob3J7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDtib3R0b206MTBweDttYXJnaW4tdG9wOjA7fQouYmxrLTFoMGZuIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9Ci5ibGstMWgwZm4gLmxlZnQtcGxheXsKICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7CiAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTogNHB4Owp9Ci5ibGstMWgwZm4gLmxlZnQtcGxheTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo0cHggc29saWQgIzAwYTdmZjtib3JkZXItdG9wOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDoxcHg7Cn0KLmJsay0xaDBmbiAucmVsYXRlZC1saXZlLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGRjUwNTA7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGRjUwNTA7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstMWgwZm4gLnJlbGF0ZWQtZWRpdG9yaWFsLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGQUIxMjE7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGQUIxMjE7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstMWgwZm4gLnBsYXktYnV0dG9uewogIC8qIEFuY2hvL2FsdG8gZmlqb3MgZW4gdmV6IGRlIGFzcGVjdC1yYXRpbzoxLzEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhIChlbAogICAgIGPhbGN1bG8gZGUgInNocmluay10by1maXQiIHBhcmEgdW4gPGJ1dHRvbj4gZW4gYWJzb2x1dG8gc2luIHRhbWHxbwogICAgIGV4cGztY2l0byBubyBlcyBmaWFibGUgZW50cmUgbW90b3JlczsgZW4gV2ViS2l0L2lPUyBkYWJhIHVuIHJlY3Thbmd1bG8KICAgICB2ZXJ0aWNhbCBlc3RyZWNo7XNpbW8gZW4gdmV6IGRlIHVuIGN1YWRyYWRvKS4gKi8KICBhcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7CiAgcG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4OwogIGlubGluZS1zaXplOjM0cHg7YmxvY2stc2l6ZTozNHB4OwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjEwcHggMTBweCAxMHB4IDEycHg7CiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTsKICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQyKTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4OwogIGN1cnNvcjpwb2ludGVyO3otaW5kZXg6MjthbmltYXRpb246YmxrLTFoMGZuLWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstMWgwZm4gLnBsYXktYnV0dG9uIC5wbGF5LWljb257CiAgaW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6MTBweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci5ibGstMWgwZm4gLnBsYXktYnV0dG9uIC5wbGF5LXRleHR7ZGlzcGxheTpub25lO30KLyogRW4gZWwgbW9kbyAnbGVmdCcgZWwgUGxheSBwYXNhIGEgbGEgZXNxdWluYSBzdXBlcmlvciBkZXJlY2hhICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstMWgwZm4gLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9ue2xlZnQ6YXV0bztyaWdodDoxMHB4O30KCi8qIFRpdHVsYXJlcyBhbmltYWRvcyAoY2FwYSBhbHRlcm5hdGl2YSBzb2JyZSBsZWFkLW1lZGlhKSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhCiAgIGhlcnJhbWllbnRhLiBDYWRhIHRpdHVsYXIgdGllbmUgc3UgcHJvcGlhIHBvc2ljafNuIChjbGFzZSBwb3MtKiwgdmVyCiAgIGJ1aWxkU2NvcGVkSFRNTCkgeSBzZSByZXZlbGEgbO1uZWEgcG9yIGztbmVhICh1bmEgdmV6IG1lZGlkYXMgc3VzIGztbmVhcwogICByZWFsZXMgcG9yIGVsIHNjcmlwdCBzdGFuZGFsb25lLCB2ZXIgYnVpbGRBbmltSGVhZGxpbmVzU2NyaXB0KSBjb24gdW5hCiAgIGNhamEgZGUgZm9uZG8gZGV0cuFzIGRlIGNhZGEgbO1uZWEgeSB1biBmYWRlIGRlIG9wYWNpZGFkIGVudHJlIHRpdHVsYXJlcy4gKi8KLmJsay0xaDBmbiAubGVhZC1hbmltLWhlYWRsaW5lc3sKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBpbnNldDowOwogIHotaW5kZXg6NDsKICBwb2ludGVyLWV2ZW50czpub25lOwp9Ci5ibGstMWgwZm4gLmxlYWQtYW5pbS1oZWFkbGluZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBsZWZ0OjE1cHg7CiAgb3BhY2l0eTowOwp9Ci5ibGstMWgwZm4gLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGJvdHRvbTo2MHB4OyB9Ci5ibGstMWgwZm4gLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnR7IHRvcDo2MHB4OyB9Ci5ibGstMWgwZm4gLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstMWgwZm4gLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0LAouYmxrLTFoMGZuIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay0xaDBmbiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IGxlZnQ6YXV0bzsgcmlnaHQ6MTVweDsgfQouYmxrLTFoMGZuIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodHsgdG9wOjYwcHg7IH0KLmJsay0xaDBmbiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstMWgwZm4gLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NjBweDsgfQovKiBDb24gZWwgdGV4dG8gKGxlYWQtYm9keSkgYSBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhLCBlc2UgYmxvcXVlIHNvbGFwYQogICAzMHB4IGRlbCBsYWRvIGRlIGxhIGZvdG8vdu1kZW8gcGVnYWRvIGEg6WwgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay0xaDBmbiAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtbGVmdCwKLmJsay0xaDBmbiAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtbGVmdCwKLmJsay0xaDBmbiAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tbGVmdHsgbGVmdDo0MHB4OyB9Ci5ibGstMWgwZm4gLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay0xaDBmbiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0LAouYmxrLTFoMGZuIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IHJpZ2h0OjQwcHg7IH0KLmJsay0xaDBmbiAubGVhZC1hbmltLWhlYWRsaW5lLmlzLWFjdGl2ZXsgb3BhY2l0eToxOyB9Ci5ibGstMWgwZm4gLmxlYWQtYW5pbS1saW5lewogIHBvc2l0aW9uOnJlbGF0aXZlOwogIGRpc3BsYXk6dGFibGU7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmOwogIGZvbnQtd2VpZ2h0OjkwMDsKICBjb2xvcjojZmZmOwogIHBhZGRpbmc6MnB4IDhweDsKICBjbGlwLXBhdGg6aW5zZXQoMCAxMDAlIDAgMCk7CiAgb3BhY2l0eToxOwogIHRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGVhc2U7Cn0KLmJsay0xaDBmbiAubGVhZC1hbmltLWxpbmUuaXMtaGlkaW5neyBvcGFjaXR5OjA7IH0KLyogU29sYXBlIGRlIDFweCBlbnRlcmEgZW50cmUgbO1uZWFzIHBhcmEgY2VycmFyIGVsIGhpbG8gZGUgc3ViLXDteGVsIHF1ZQogICBwdWVkZSBxdWVkYXIgZW50cmUgc3VzIGNhamFzIGRlIGZvbmRvIChyZWRvbmRlbyBkZSBhbHR1cmFzIGZyYWNjaW9uYXJpYXMpICYjODIxMjsKICAgdmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay0xaDBmbiAubGVhZC1hbmltLWxpbmUgKyAubGVhZC1hbmltLWxpbmV7CiAgbWFyZ2luLXRvcDotMXB4Owp9Ci5ibGstMWgwZm4gLmxlYWQtYW5pbS1saW5lOmZpcnN0LWNoaWxkeyBwYWRkaW5nLXRvcDo2cHg7IH0KLmJsay0xaDBmbiAubGVhZC1hbmltLWxpbmU6bGFzdC1jaGlsZHsgcGFkZGluZy1ib3R0b206NnB4OyB9Ci5ibGstMWgwZm4gLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay0xaDBmbiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQgLmxlYWQtYW5pbS1saW5lLAouYmxrLTFoMGZuIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodCAubGVhZC1hbmltLWxpbmV7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDowOyB9Ci5ibGstMWgwZm4gLmxlYWQtYW5pbS1oZWFkbGluZXMuaXMtcG9zaXRpdmUgLmxlYWQtYW5pbS1saW5leyBjb2xvcjojMEUxMTFBOyB9Ci5ibGstMWgwZm4gLmxlYWQtYW5pbS1saW5lLWJneyBwb3NpdGlvbjphYnNvbHV0ZTsgaW5zZXQ6MDsgei1pbmRleDotMTsgfQouYmxrLTFoMGZuIC5sZWFkLWFuaW0tbGluZS10ZXh0eyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQpAa2V5ZnJhbWVzIGJsay0xaDBmbi1hbmltLWxpbmUtcmV2ZWFseyB0b3sgY2xpcC1wYXRoOmluc2V0KDAgMCAwIDApOyB9IH0KCi8qIEFuY2hvciBvdmVybGF5IGZvciBmdWxsIGNsaWNrYWJsZSBsZWFkICovCi5ibGstMWgwZm4gLmxlYWQtbGlua3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MX0KCi8qIEhvdmVyIG9wYWNpdHkgYW5pbWF0aW9uICovCi5ibGstMWgwZm4gLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCi5ibGstMWgwZm4gLmNvbHVtbi1pdGVtOmhvdmVye29wYWNpdHk6Ljh9Ci8qIEZvdG8gcHJpbmNpcGFsIChmYWxsYmFjay9zaW5nbGUpIG8gY2FycnVzZWwgZGUgZm90b3M6IG9wYWNpZGFkIDAuOSBhbAogICBwYXNhciBlbCByYXTzbiBwb3IgbGEgdGFyamV0YSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbgogICBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgYSB27WRlbyBuaSBhbAogICBjb21wYXJhZG9yIGFudGVzL2Rlc3B16XMuICovCi5ibGstMWgwZm4gLmxlYWQtbWVkaWEgPiBpbWcsCi5ibGstMWgwZm4gLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLTFoMGZuIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLTFoMGZuIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eTouOTt9Ci8qIEVuIGVsIGFuY2hvIG3zdmlsIChtaXNtbyBAY29udGFpbmVyIHF1ZSBlbCByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8pIG5vCiAgIGFwbGljYSBlc3RhIGFuaW1hY2nzbiBkZSBvcGFjaWRhZCBzb2JyZSBsYSBub3RpY2lhIHByaW5jaXBhbDogdmEgREVTUFXJUwogICBkZSBsYSByZWdsYSBnZW5lcmFsIGRlIGFycmliYSAobWlzbWEgZXNwZWNpZmljaWRhZCkgcGFyYSBwb2RlciBnYW5hcmxlLgogICBPbWl0aWRvLCBpZ3VhbCBxdWUgZWwgYmxvcXVlIGRlIHRpcG9ncmFm7WEgZGUgYXJyaWJhLCBtaWVudHJhcyBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7CiAgLmJsay0xaDBmbiAubGVhZDpob3ZlciAubGVhZC10aXRsZSwKICAuYmxrLTFoMGZuIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gaW1nLAogIC5ibGstMWgwZm4gLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHtvcGFjaXR5OjE7fQp9CgovKiBBbmltYWNp824gY29tcGFydGlkYSBwbGF5IHByaW5jaXBhbCArIGN1YWRyYWRvcyBwbGF5IGFwaWxhZGFzICovCkBrZXlmcmFtZXMgYmxrLTFoMGZuLWJsaW5rewogIDAlLDEwMCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNyl9CiAgNTAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDE2NSwyNTUsMC45KX0KfQovKiBDYWJlY2VyYSAqLwouYmxrLTFoMGZuIC5iZy1zZWN0aW9uLXRpdGxle2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjEwcHggMCAzMnB4fQouYmxrLTFoMGZuIC5mbmQtbGluZWF7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjVweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO21hcmdpbi10b3A6LTE4cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgIzMzMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMzMzfQouYmxrLTFoMGZuIC5zZWN0aW9uLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuMjtsZXR0ZXItc3BhY2luZzotMXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzo0cHggMTNweDtib3JkZXI6MXB4IHNvbGlkICMwRTExMUE7dHJhbnNmb3JtOnJvdGF0ZVgoNWRlZykgcm90YXRlWSgtMjVkZWcpIHNrZXdYKDBkZWcpO2ZvbnQtc2l6ZTo0MnB4O2NvbG9yOiMwRTExMUE7fQpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpey5ibGstMWgwZm4gLnNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOjI3cHg7cGFkZGluZzowIDEwcHh9fQovKiBDYWJlY2VyYSAmIzgyMTI7IERpc2XxbyAyICh0aXR1bGFyICsgY2FycnVzZWwgZGUgbG9nb3RpcG9zKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTFoMGZuIC5oZWFkZXIye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjIwcHg7cGFkZGluZy1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMEUxMTFBO30KLyogYWxpZ24tc2VsZjpmbGV4LWVuZCBmaWphIGVsIHRpdHVsYXIgU0lFTVBSRSBhIDE1cHggZGUgbGEgbO1uZWEgc2VwYXJhZG9yYQogICBlbiBEZXNrICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcwogICBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstMWgwZm4gLmhlYWRlcjItbGVmdHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2ZsZXg6MSAxIDUwJTttaW4taW5saW5lLXNpemU6MDthbGlnbi1zZWxmOmZsZXgtZW5kO30KLmJsay0xaDBmbiAuaGVhZGVyMi10YWdze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmbGV4OjAgMCBhdXRvO30KLyogTWlzbW8gdGFtYfFvL3RpcG9ncmFm7WEgcXVlIC5sZWFkLWV4Y2x1c2l2ZS10YWcgKGxhIGRlIGxhIG5vdGljaWEKICAgcHJpbmNpcGFsKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlCiAgIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTFoMGZuIC5oZWFkZXIyLWNhdC10YWcsCi5ibGstMWgwZm4gLmhlYWRlcjItZXhjbHVzaXZlLXRhZ3thbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZTouOGVtO2xldHRlci1zcGFjaW5nOi41cHg7cGFkZGluZzoycHggOHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt9Ci5ibGstMWgwZm4gLmhlYWRlcjItZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLTFoMGZuIC5oZWFkZXIyLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjM2cHg7bGluZS1oZWlnaHQ6MS4wNTtjb2xvcjojMEUxMTFBO21hcmdpbjowO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttaW4taW5saW5lLXNpemU6MDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7fQovKiBTZXBhcmFjafNuIGRlIDEwcHggZW50cmUgZWwgdGV4dG8gZGUgcGF0cm9jaW5pbyB5IGVsIGxvZ28gZW4gRGVzayAmIzgyMTI7IGVuCiAgIE3zdmlsIHNpZ3VlIHNpbiBzZXBhcmFjafNuIChnYXA6MCwgdmVyIEBjb250YWluZXIgbeFzIGFiYWpvKS4gKi8KLmJsay0xaDBmbiAuaGVhZGVyMi1sb2dvcy13cmFwe2ZsZXg6MCAwIGF1dG87bWF4LWlubGluZS1zaXplOjUwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDt9Ci8qIEV0aXF1ZXRhIG9wY2lvbmFsIGp1bnRvIGFsIGNhcnJ1c2VsIGRlIGxvZ29zIChwLmVqLiAiUGF0cm9jaW5hZG8gcG9yOiIpICYjODIxMjsKICAgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstMWgwZm4gLmhlYWRlcjItbG9nb3MtbGFiZWx7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM2Njc7d2hpdGUtc3BhY2U6bm93cmFwO30KLmJsay0xaDBmbiAuaGVhZGVyMi1sb2dvc3twb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxNjBweDtibG9jay1zaXplOjUwcHg7ZmxleC1zaHJpbms6MDt9Ci5ibGstMWgwZm4gLmhlYWRlcjItbG9nb3MgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7bWFyZ2luOmF1dG87bWF4LWlubGluZS1zaXplOjEwMCU7bWF4LWJsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuN3MgZWFzZS1pbi1vdXQ7fQouYmxrLTFoMGZuIC5oZWFkZXIyLWxvZ29zIGltZy5pcy1hY3RpdmV7b3BhY2l0eToxO30KLyogSWd1YWwgcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWw6IHBvciBkZWJham8gZGUgZXN0ZSBhbmNobyBzZQogICBpbnRlbnRhIHByaW1lcm8gMSBTT0xBIEZJTEEgKGV0aXF1ZXRhcyt0aXR1bGFyIGp1bnRvIGFsIGxvZ28sIGlndWFsIHF1ZQogICBlbiBEZXNrLCBhIHRhbWHxbyByZWR1Y2lkbykuIEVsIGJsb3F1ZSBkZSBsb2dvcyBtYW50aWVuZSBTSUVNUFJFIHN1CiAgIGRpc3Bvc2ljafNuIGVuIGNvbHVtbmEgKGV0aXF1ZXRhIGRlIHBhdHJvY2luaW8gZW5jaW1hIGRlbCBsb2dvLAogICBhbGluZWFkb3MgYSBsYSBkZXJlY2hhLCBzaW4gc2VwYXJhY2nzbikgdGFudG8gZW4gZXN0YSBmaWxhIPpuaWNhIGNvbW8gZW4KICAgZWwgcmVzZ3VhcmRvIGRlIGFiYWpvLiBTaSBlbCB0aXR1bGFyLCBzdW1hZG8gYWwgYW5jaG8gZGUgbGFzIGV0aXF1ZXRhcwogICBhY3RpdmFzIChjYXRlZ29y7WEgeS9vIGV4Y2x1c2l2YSwgc2kgbGFzIGhheSksIHN1cGVyYSBlbCA1NSUgZGVsIGFuY2hvCiAgIHRvdGFsIGRlIGxhIGNhYmVjZXJhIChjYWRhIHVubyBtZWRpZG8gYSB1bmEgc29sYSBs7W5lYSksIGVsIHNjcmlwdAogICBzdGFuZGFsb25lIGHxYWRpZG8gYWwgZmluYWwgZGUgZXN0ZSBIVE1MICh2ZXIKICAgYnVpbGRIZWFkZXIyU3RhY2tpbmdTY3JpcHQoKSkgbG8gZGV0ZWN0YSBtaWRpZW5kbyBzdSBhbmNobyBuYXR1cmFsCiAgIHkgYfFhZGUgbGEgY2xhc2UgImhlYWRlcjItc3RhY2tlZCI6IGVsIGJsb3F1ZSBkZQogICBsb2dvcyBzdWJlIGVudG9uY2VzIGEgc3UgcHJvcGlhIGZpbGEgKGFsaW5lYWRvIGEgbGEgZGVyZWNoYSkgeQogICB0aXR1bGFyK2V0aXF1ZXRhcyBiYWphbiBhIGxhIGZpbGEgZGUgYWJham8sIGEgYW5jaG8gY29tcGxldG8gJiM4MjEyOyBtaXNtbwogICBsYXlvdXQgZGUgMiBmaWxhcyBxdWUgaGFi7WEgYW50ZXMgc2llbXByZSBwb3IgZGViYWpvIGRlIGVzdGUgYnJlYWtwb2ludCwKICAgYWhvcmEgc29sbyBjb21vIHJlc2d1YXJkby4gRGVudHJvIGRlIGVzZSByZXNndWFyZG8sIGNvbiBldGlxdWV0YShzKSBlbAogICB0aXR1bGFyIHBhc2EgYWRlbeFzIGEgc3UgUFJPUElBIGZpbGEgYSBhbmNobyBjb21wbGV0bywgZGViYWpvIGRlIGxhIGZpbGEgZGUgZXRpcXVldGFzICh2ZXIKICAgIi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdCIgbeFzIGFiYWpvKS4gRWwgbG9nbyBzZSByZWR1Y2UgdW4gMjAlCiAgICgxNjB4NTAgJiM4NTk0OyAxMjh4NDApLgogICBhbGlnbi1zZWxmOmZsZXgtZW5kIGVuIGhlYWRlcjItbGVmdCBmaWphIGVsIHRpdHVsYXIgU0lFTVBSRSBhIGxvcyAxMHB4CiAgIGRlbCBwYWRkaW5nLWJvdHRvbSByZXNwZWN0byBhIGxhIGztbmVhIHNlcGFyYWRvcmEgJiM4MjEyOyBtaXNtbyBjcml0ZXJpbyBxdWUKICAgZW4gRGVzayAodmVyIGhlYWRlcjItbGVmdCBt4XMgYXJyaWJhKTogc2luIGVzdG8sIGFsIHNlciBlbCBibG9xdWUgZGUKICAgbG9nb3MgbeFzIGFsdG8gcXVlIGVsIHRpdHVsYXIsIGVsIGNlbnRyYWRvIHZlcnRpY2FsIGRlbCByb3cgZGVqYWJhIHVuCiAgIGh1ZWNvIG1heW9yIGVudHJlIGVsIHRpdHVsYXIgeSBsYSBs7W5lYS4gRWwgYmxvcXVlIGRlIGxvZ29zIHNpZ3VlCiAgIGNlbnRyYWRvIChzaW4gZXNlIG92ZXJyaWRlKS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjQ4MHB4KXsKICAuYmxrLTFoMGZuIC5oZWFkZXIye2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4O3BhZGRpbmctYm90dG9tOjEwcHg7fQogIC5ibGstMWgwZm4gLmhlYWRlcjItbGVmdHtvcmRlcjoxO2FsaWduLXNlbGY6ZmxleC1lbmQ7fQogIC5ibGstMWgwZm4gLmhlYWRlcjItbG9nb3Mtd3JhcHtvcmRlcjoyO2FsaWduLXNlbGY6Y2VudGVyO21heC1pbmxpbmUtc2l6ZTpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MDt9CiAgLmJsay0xaDBmbiAuaGVhZGVyMi1sb2dvc3tpbmxpbmUtc2l6ZToxMjhweDtibG9jay1zaXplOjQwcHg7fQogIC5ibGstMWgwZm4gLmhlYWRlcjItdGl0bGV7Zm9udC1zaXplOjI3cHg7fQogIC5ibGstMWgwZm4gLmhlYWRlcjIuaGVhZGVyMi1zdGFja2Vke2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O30KICAuYmxrLTFoMGZuIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sZWZ0e29yZGVyOjI7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2dhcDo1cHg7fQogIC5ibGstMWgwZm4gLmhlYWRlcjIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MTttYXgtaW5saW5lLXNpemU6MTAwJTthbGlnbi1zZWxmOmZsZXgtZW5kO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MDt9CiAgLyogUmVzZ3VhcmRvIGludGVybWVkaW8gJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhOiBzb2xvIGVsIHRpdHVsYXIgYmFqYSBhIHN1CiAgICAgcHJvcGlhIGZpbGEgYSBhbmNobyBjb21wbGV0byBjdWFuZG8gbGFzIGV0aXF1ZXRhcyBTzSBjYWJlbiBqdW50byBhbAogICAgIGxvZ28gcGVybyBlbCB0aXR1bGFyIG5vLiBoZWFkZXIyLWxlZnQgcGFzYSBkZSBmaWxhIGEgY29sdW1uYQogICAgIChldGlxdWV0YXMgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbykgeSByZWN1cGVyYSBhbGlnbi1zZWxmOmF1dG8gcGFyYQogICAgIGNlbnRyYXJzZSB2ZXJ0aWNhbG1lbnRlIGNvbnRyYSBlbCBsb2dvIChhbGlnbi1zZWxmOmNlbnRlciBkZSBsYSByZWdsYQogICAgIGJhc2UgZGUgLmhlYWRlcjItbG9nb3Mtd3JhcCwgYXJyaWJhKSwgaWd1YWwgcXVlIGVuIGVsIHJlc3RvIGRlIGVzdGFkb3MuICovCiAgLmJsay0xaDBmbiAuaGVhZGVyMi5oZWFkZXIyLXRpdGxlLWJlbG93IC5oZWFkZXIyLWxlZnR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7YWxpZ24tc2VsZjphdXRvO2dhcDo1cHg7fQp9CgovKiBFc3RpbG8gImZvdG8gZ3JhbmRlICsgdGl0dWxhciI6IGZvdG8gMTY6OSBhcnJpYmEsIHRpdHVsYXIgZGViYWpvICYjODIxMjsgZWxlZ2libGUKICAgcG9yIG5vdGljaWEgZGVzZGUgZWwgZ2VzdG9yLiBObyBzZSByZXN0cmluZ2UgY29uIEBjb250YWluZXIgcG9ycXVlCiAgIC5jb2x1bW4taXRlbSB5YSBlcyBibG9jayBwb3IgZGVmZWN0byAoZWwgdGh1bWIgeSBlbCB0ZXh0byBzZSBhcGlsYW4gc29sb3MKICAgc2luIG3hcyBhanVzdGUpLCBhc+0gcXVlIGVsIGRpc2XxbyBmdW5jaW9uYSBpZ3VhbCBkZSBiaWVuIGVuIGN1YWxxdWllcgogICBhbmNobywgRGVzayBvIE3zdmlsLiAqLwouYmxrLTFoMGZuIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9we2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLTFoMGZuIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC50aHVtYntpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O21hcmdpbi1ib3R0b206MTBweDt9Ci5ibGstMWgwZm4gLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS4yZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjkwMDt9Ci8qIEVuIE3zdmlsIGVsIHRpdHVsYXIgZGUgZXN0ZSBkaXNl8W8gc2UgbXVlc3RyYSBt4XMgZ3JhbmRlICgxLjVyZW0gZW4gdmV6IGRlCiAgIGxvcyAxLjJyZW0gZGUgRGVzaykgJiM4MjEyOyBtaXNtYSBlc3BlY2lmaWNpZGFkICgzIGNsYXNlcykgcXVlIGxhIHJlZ2xhIGRlCiAgIGFycmliYTsgYWwgaXIgREVTUFXJUyBlbiBlbCBDU1MgZ2FuYSBwb3Igb3JkZW4gZGUgY2FzY2FkYS4gU2UgdXNhIGVsCiAgIGJyZWFrcG9pbnQgZGUgNDgwcHggKGVsIGRlIHRpcG9ncmFm7WEgZW4gZXN0YSBhcHAsIG5vIGVsIGRlIDg2MHB4IHF1ZSBhcXXtCiAgIHNvbG8gZ29iaWVybmEgZWwgYXBpbGFkbyBkZSBjb2x1bW5hcykgcGFyYSBxdWUgY29pbmNpZGEgY29uIGVsIHJlc3RvIGRlCiAgIGNhbWJpb3MgZGUgdGV4dG8vdGFtYfFvIHBvciB2aXN0YS4gTm8gYWZlY3RhIGFsIHJlc2d1YXJkbyBkZSAyIGNvbHVtbmFzIGVuCiAgIG3zdmlsIChtb2ItZ3JpZCksIG3hcyBlc3BlY+1maWNvICgxOHB4LCB2ZXIgbeFzIGFycmliYSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay0xaDBmbiAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAubGVmdC10aXRsZXtmb250LXNpemU6MS41cmVtO30KfQovKiBFc3RpbG8gIkJsb3F1ZSBtZWRpYSIgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay0xaDBmbiAubWVkaWEtYmxvY2stbWVkaWF7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6YXV0bzt9Ci5ibGstMWgwZm4gLm1lZGlhLWJsb2NrLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazt9Ci5ibGstMWgwZm4gLm1lZGlhLWJsb2NrLWlmcmFtZS13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjE2Lzk7YmFja2dyb3VuZDojMDAwO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstMWgwZm4gLm1lZGlhLWJsb2NrLWlmcmFtZS13cmFwIGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQouYmxrLTFoMGZuIC5jb2x1bW4taXRlbS5sYXlvdXQtbWVkaWEtYmxvY2t7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7YmxvY2stc2l6ZTphdXRvO2ZsZXg6MCAwIGF1dG87fQouYmxrLTFoMGZuIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jayl7ZmxleDoxIDEgYXV0bzt9Cjwvc3R5bGU+Cgo8ZGl2IGNsYXNzPSJibGstMWgwZm4iPgogIAogIDxtYWluIGNsYXNzPSJwYWdlIj4KICAgIAogICAgPGFydGljbGUgY2xhc3M9ImxlYWQgbGVhZC1ib2R5LWxlZnQiPgogICAgICA8ZGl2IGNsYXNzPSJsZWFkLW1lZGlhIj4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL2VsLXdva2lzbW8tc2UtbGxldmEtcG9yLWRlbGFudGUtbGEtY2F0ZWRyYWwtZGUtc2FuLXBhYmxvLWVuLWxvbmRyZXMtY2VkZS1zdS1jdXB1bGEtYS11bmEtZGlzY290ZWNhLWhhc3RhLTIwMzAtMjAyNjA5MTAtMDk0NjM1LWFmMTk2Ni5qcGciIGFsdD0iRWwgJiMzOTt3b2tpc21vJiMzOTsgc2UgbGxldmEgcG9yIGRlbGFudGUgbGEgY2F0ZWRyYWwgZGUgU3QuIFBhdWwgZW4gTG9uZHJlczogY2VkZSBzdSBj+nB1bGEgYSB1bmEgZGlzY290ZWNhIGhhc3RhIDIwMzAiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtb3ZlcmxheSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiYSgxNCwxNywyNiwwLjAwKTsiPjwvZGl2PgogICAgICAgIAogICAgICAgIDxidXR0b24gY2xhc3M9InBsYXktYnV0dG9uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGRpdiBjbGFzcz0icGxheS1pY29uIj48L2Rpdj48c3BhbiBjbGFzcz0icGxheS10ZXh0Ij5QbGF5PC9zcGFuPjwvYnV0dG9uPgogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZDojRkY1MDUwOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojZmZmO2NvbG9yOiNGRjUwNTAiPklOVEVSTkFDSU9OQUw8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5LW1haW4iPgogICAgICAgICAgCiAgICAgICAgICA8aDIgY2xhc3M9ImxlYWQtdGl0bGUiPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLWRlc2siPkVsICYjMzk7d29raXNtbyYjMzk7IHNlIGxsZXZhIHBvciBkZWxhbnRlIGxhIGNhdGVkcmFsIGRlIFN0LiBQYXVsIGVuIExvbmRyZXM6IGNlZGUgc3UgY/pwdWxhIGEgdW5hIGRpc2NvdGVjYSBoYXN0YSAyMDMwPC9zcGFuPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLW1vYmlsZSI+RWwgJiMzOTt3b2tpc21vJiMzOTsgc2UgbGxldmEgcG9yIGRlbGFudGUgbGEgY2F0ZWRyYWwgZGUgU3QuIFBhdWwgZW4gTG9uZHJlczogY2VkZSBzdSBj+nB1bGEgYSB1bmEgZGlzY290ZWNhIGhhc3RhIDIwMzA8L3NwYW4+PC9oMj4KICAgICAgICAgIAogICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGhvci1sYWJlbCI+Q2FybG9zIEVzdGViYW48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YSBjbGFzcz0ibGVhZC1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9pbnRlcm5hY2lvbmFsL3dva2lzbW8tbGxldmEtZGVsYW50ZS1jYXRlZHJhbC1zYW4tcGFibG8tbG9uZHJlcy1jZWRlLWN1cHVsYS1kaXNjb3RlY2EtaGFzdGEtMjAzMC0yMDI2MjY4NSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJFbCAmIzM5O3dva2lzbW8mIzM5OyBzZSBsbGV2YSBwb3IgZGVsYW50ZSBsYSBjYXRlZHJhbCBkZSBTdC4gUGF1bCBlbiBMb25kcmVzOiBjZWRlIHN1IGP6cHVsYSBhIHVuYSBkaXNjb3RlY2EgaGFzdGEgMjAzMCIgYXJpYS1sYWJlbD0iRWwgJiMzOTt3b2tpc21vJiMzOTsgc2UgbGxldmEgcG9yIGRlbGFudGUgbGEgY2F0ZWRyYWwgZGUgU3QuIFBhdWwgZW4gTG9uZHJlczogY2VkZSBzdSBj+nB1bGEgYSB1bmEgZGlzY290ZWNhIGhhc3RhIDIwMzAiPjwvYT4KICAgIDwvYXJ0aWNsZT4KICA8L21haW4+CjwvZGl2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgdmFyIGFydGljbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmxrLTFoMGZuIC5sZWFkJyk7CiAgaWYgKCFhcnRpY2xlKSByZXR1cm47CiAgdmFyIG1haW4gPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLWJvZHktbWFpbicpOwogIHZhciB0aXRsZUVsID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC10aXRsZScpOwogIGlmICghbWFpbiB8fCAhdGl0bGVFbCkgcmV0dXJuOwogIHZhciBiYXNlRm9udFNpemVQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aXRsZUVsKS5mb250U2l6ZSkgfHwgMDsKICBpZiAoIWJhc2VGb250U2l6ZVB4KSByZXR1cm47CiAgdmFyIE1BWF9TQ0FMRSA9IDEuODsKICB2YXIgTUlOX1NDQUxFID0gMC41OwogIHZhciBNQVhfRk9OVF9QWCA9IDY0OyAvLyB+NHJlbSBjb24gbGEgYmFzZSBoYWJpdHVhbCBkZSAxNnB4IChtaXNtbyB0b3BlIHF1ZSBmaXRMZWFkVGl0bGVUb0JveCgpIGVuIGVsIGdlc3RvcikKICBmdW5jdGlvbiBmaXQoKXsKICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBiYXNlRm9udFNpemVQeCArICdweCc7CiAgICB2YXIgYXZhaWxhYmxlSGVpZ2h0ID0gbWFpbi5jbGllbnRIZWlnaHQ7CiAgICBpZiAoIWF2YWlsYWJsZUhlaWdodCkgcmV0dXJuOwogICAgLy8gVmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gZml0TGVhZFRpdGxlVG9Cb3goKSBkZWwgZ2VzdG9yOgogICAgLy8gbWFpbi5zY3JvbGxIZWlnaHQgbnVuY2EgYmFqYSBkZSBjbGllbnRIZWlnaHQgYXVucXVlIGVsIGNvbnRlbmlkbyByZWFsCiAgICAvLyBvY3VwZSBtZW5vcywgYXPtIHF1ZSBubyBzaXJ2ZSBwYXJhIGRldGVjdGFyIGN14W50byBzb2JyYSBvIGZhbHRhIGNvbgogICAgLy8gZWwgdGl0dWxhciBhY3R1YWwgJiM4MjEyOyBzZSBzdW1hIGVuIHN1IGx1Z2FyIGVsIGFsdG8gcmVhbCBkZSBjYWRhIGhpam8KICAgIC8vIFZJU0lCTEUgZGVsIGJsb3F1ZSwgc2Fsdm8gZWwgcHJvcGlvIHRpdHVsYXIsIG3hcyBlbCBodWVjbyAoImdhcCIpCiAgICAvLyBlbnRyZSBlbGxvczsgbm8gY2FtYmlhIGNvbiBlbCB0YW1h8W8gZGVsIHRpdHVsYXIsIGFz7SBxdWUgc2UgbWlkZSB1bmEKICAgIC8vIHNvbGEgdmV6LCBhbnRlcyBkZSBsYSBi+nNxdWVkYSBiaW5hcmlhLgogICAgdmFyIGdhcFB4ID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLnJvd0dhcCkgfHwgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLmdhcCkgfHwgMDsKICAgIHZhciB2aXNpYmxlQ2hpbGRyZW4gPSBbXS5zbGljZS5jYWxsKG1haW4uY2hpbGRyZW4pLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoYykuZGlzcGxheSAhPT0gJ25vbmUnOyB9KTsKICAgIHZhciBvdGhlcnNIZWlnaHQgPSB2aXNpYmxlQ2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gYyAhPT0gdGl0bGVFbDsgfSkucmVkdWNlKGZ1bmN0aW9uKHN1bSwgYyl7IHJldHVybiBzdW0gKyBjLm9mZnNldEhlaWdodDsgfSwgMCkKICAgICAgKyBnYXBQeCAqIE1hdGgubWF4KDAsIHZpc2libGVDaGlsZHJlbi5sZW5ndGggLSAxKTsKICAgIHZhciBhdmFpbGFibGVGb3JUaXRsZSA9IE1hdGgubWF4KDAsIGF2YWlsYWJsZUhlaWdodCAtIG90aGVyc0hlaWdodCk7CiAgICBpZiAoIWF2YWlsYWJsZUZvclRpdGxlKSByZXR1cm47CiAgICBmdW5jdGlvbiBoZWlnaHRBdFNjYWxlKHNjYWxlKXsKICAgICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IE1hdGgubWluKGJhc2VGb250U2l6ZVB4ICogc2NhbGUsIE1BWF9GT05UX1BYKSArICdweCc7CiAgICAgIHJldHVybiB0aXRsZUVsLm9mZnNldEhlaWdodDsKICAgIH0KICAgIHZhciBsbyA9IE1JTl9TQ0FMRSwgaGkgPSBNQVhfU0NBTEU7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDg7IGkrKyl7CiAgICAgIHZhciBtaWQgPSAobG8gKyBoaSkgLyAyOwogICAgICBpZiAoaGVpZ2h0QXRTY2FsZShtaWQpIDw9IGF2YWlsYWJsZUZvclRpdGxlKSBsbyA9IG1pZDsgZWxzZSBoaSA9IG1pZDsKICAgIH0KICAgIGhlaWdodEF0U2NhbGUobG8pOwogIH0KICBmaXQoKTsKICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkpeyBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKGZpdCk7IH0KICBpZiAod2luZG93LlJlc2l6ZU9ic2VydmVyKXsgbmV3IFJlc2l6ZU9ic2VydmVyKGZpdCkub2JzZXJ2ZShhcnRpY2xlKTsgfQogIGVsc2UgeyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZml0KTsgfQp9KSgpOwo8L3NjcmlwdD4=
      CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCkuICovCi5ibGstdmV2NmN7bWF4LWlubGluZS1zaXplOjk2MHB4O21hcmdpbjowIGF1dG87Y29udGFpbmVyLXR5cGU6aW5saW5lLXNpemU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTBweDt9Ci5ibGstdmV2NmMgYXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjppbmhlcml0fQouYmxrLXZldjZjIC5wYWdle2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDoxNXB4fQouYmxrLXZldjZjIC5wYWdlIC5jb2x1bW57b3JkZXI6MX0KLmJsay12ZXY2YyAucGFnZSAubGVhZHtvcmRlcjoyfQovKiA4NjBweCB5IG5vIDQ3NXB4OiBjb24gbGEgY29sdW1uYSBmaWphICgyMjBweCArIDIwcHggZGUgZ2FwID0gMjQwcHgpLAogICBjdWFscXVpZXIgYW5jaG8gZGUgaWZyYW1lIHBvciBkZWJham8gZGUgfjg2MHB4IGRlamEgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgKDFmcikgY2FkYSB2ZXogY29uIG1lbm9zIGVzcGFjaW8gaGFzdGEgY29sYXBzYXIgYSAwcHggZGUgYW5jaG8gYW50ZXMgZGUKICAgbGxlZ2FyIGEgdW4gYnJlYWtwb2ludCB0YW4gYmFqbyBjb21vIDQ3NXB4ICYjODIxMjsgbGEgbm90aWNpYSBwcmluY2lwYWwKICAgZGlyZWN0YW1lbnRlIGRlc2FwYXJlY2UgZW4gZXNhIGZyYW5qYSBpbnRlcm1lZGlhIChuaSAiZGVzayIgY29tcGxldG8gbmkKICAgIm3zdmlsIiBlc3RyZWNobykuIENvbiA4NjBweCBzZSBwYXNhIGEgdW5hIHNvbGEgY29sdW1uYSBhcGlsYWRhIGFudGVzIGRlCiAgIHF1ZSBlc28gcHVlZGEgb2N1cnJpci4KICAgRXN0ZSBicmVha3BvaW50IHNlIG9taXRlIHBvciBjb21wbGV0byBtaWVudHJhcyBsYSBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkKICAgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldyk6IHBlbnNhZG8gcGFyYSBjdWFuZG8gZWwgbfNkdWxvIGxsZXZhIHN1CiAgIGNvbHVtbmEgYSA5NjBweCwgZGVqYSBkZSB0ZW5lciBzZW50aWRvIGVuIHVuYSBleHBvcnRhY2nzbiBkZSBzb2xvIGxhCiAgIG5vdGljaWEgcHJpbmNpcGFsIGEgdW4gYW5jaG8gZmlqbyBlbGVnaWRvIGEgbWFubyAmIzgyMTI7IGxvcyBhbmNob3Mgc2ltdWxhZG9zCiAgICg2MTMvNDYwLzMwN3B4KSBlc3ThbiBUT0RPUyBwb3IgZGViYWpvIGRlIDg2MHB4LCBhc+0gcXVlIHNpbiBlc3RlIGdhdGluZwogICBlbCBIVE1MIGV4cG9ydGFkbyBjYWVy7WEgc2llbXByZSBhIGxhIHRpcG9ncmFm7WEgIk3zdmlsIiAoY29uICFpbXBvcnRhbnQpCiAgIHNlYSBjdWFsIHNlYSBsYSBxdWUgZWwgdXN1YXJpbyBjb25maWd1cvMgZW4gIkRlc2siIHBhcmEgZXNhIHNpbXVsYWNp824sCiAgIGRhbmRvIGxhIGZhbHNhIHNlbnNhY2nzbiBkZSBxdWUgdW5hIGNvbmZpZ3VyYWNp824gInBpc2EiIGEgb3RyYS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsKICAuYmxrLXZldjZje2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjA7fQogIC5ibGstdmV2NmMgLnBhZ2V7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0KICAuYmxrLXZldjZjIC5wYWdlIC5zdGFjay10aXRsZSB7Zm9udC1zaXplOjE4cHg7IGxpbmUtaGVpZ2h0OiAxLjJlbTt9CiAgLmJsay12ZXY2YyAucGFnZSAuc3RhY2stYXV0aG9yIHttYXJnaW4tdG9wOiAxMHB4O30KICAuYmxrLXZldjZjIC5sZWFkLW1lZGlhLmlzLWlmcmFtZXtibG9jay1zaXplOjQwMHB4ICFpbXBvcnRhbnQ7fQogIC5ibGstdmV2NmMgLmxlYWQtbWVkaWF7YXNwZWN0LXJhdGlvOjQvMyAhaW1wb3J0YW50O30KICAuYmxrLXZldjZjIC5wYWdlIC5sZWFke29yZGVyOjF9CiAgLmJsay12ZXY2YyAucGFnZSAuY29sdW1ue29yZGVyOjJ9CiAgLyogUG9yIGRlYmFqbyBkZWwgYnJlYWtwb2ludCwgZWwgbGVhZC1ib2R5IHNpZW1wcmUgdnVlbHZlIGEgaXIgZGViYWpvIGRlbAogICAgIGxlYWQtbWVkaWEgKG5vIGhheSBzaXRpbyBwYXJhIGVsIGxheW91dCBsYWRvIGEgbGFkbykuICovCiAgLmJsay12ZXY2YyAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCwKICAuYmxrLXZldjZjIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YXNwZWN0LXJhdGlvOmF1dG87fQogIC5ibGstdmV2NmMgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtbWVkaWEsCiAgLmJsay12ZXY2YyAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDoxIDEgYXV0bzt9CiAgLmJsay12ZXY2YyAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAogIC5ibGstdmV2NmMgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDoxIDEgYXV0bztpbmxpbmUtc2l6ZTo5MCU7bWFyZ2luOi0zMHB4IGF1dG8gMDtibG9jay1zaXplOmF1dG87YWxpZ24tc2VsZjphdXRvO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmc6MTBweDt9CiAgLmJsay12ZXY2YyAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b257bGVmdDoxMHB4O3JpZ2h0OmF1dG87fQogIC5ibGstdmV2NmMgLnBhZ2UgLmNvbHVtbi1pdGVte2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQogIC5ibGstdmV2NmMgLnBhZ2UgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxLjE1O2NvbG9yOiMyYzNlNTM7bWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O30KICAuYmxrLXZldjZjIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0yMSAubGVmdC10aXRsZXtmb250LXNpemU6MjFweCAhaW1wb3J0YW50O30KICAuYmxrLXZldjZjIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0xOCAubGVmdC10aXRsZXtmb250LXNpemU6MThweCAhaW1wb3J0YW50O30KICAuYmxrLXZldjZjIC5wYWdlIC5sZWZ0LXBsYXl7CiAgICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogICAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogICAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7CiAgfQogIC5ibGstdmV2NmMgLnBhZ2UgLmxlZnQtcGxheTo6YmVmb3JlewogICAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4OwogIH0KfQovKiBUaXBvZ3JhZu1hICJN83ZpbCIgKGFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vdGl0dWxhcmVzIGFuaW1hZG9zKSBjb24gU1UKICAgUFJPUElPIGJyZWFrcG9pbnQgKDQ4MHB4KSwgc2VwYXJhZG8gZGVsIGRlIGFycmliYSAoODYwcHgsIHNvbG8gcGFyYSBhcGlsYXIKICAgbGEgcmVqaWxsYSBjb2x1bW5hK25vdGljaWEpOiB1biBjb250ZW5lZG9yIHJlYWwgZGUgbWVub3MgZGUgODYwcHggZXMgbXV5CiAgIGhhYml0dWFsIChwLmVqLiB1bmEgY29sdW1uYSBkZSBhcnTtY3VsbyBkZSB+NzAwcHgpIHkgTk8gZXMgdW4gbfN2aWwgJiM4MjEyOyBjb24KICAgdW4g+m5pY28gYnJlYWtwb2ludCBjb21wYXJ0aWRvLCBsYSB0aXBvZ3JhZu1hICJEZXNrIiBxdWUgY29uZmlndXJhIGVsCiAgIHVzdWFyaW8gbm8gbGxlZ2FiYSBhIHZlcnNlIG51bmNhIGVuIGVzZSBjYXNvLCBjYXllbmRvIHNpZW1wcmUgYSBsb3MgdmFsb3JlcwogICBwb3IgZGVmZWN0byBkZSAiTfN2aWwiIHNpbiBxdWUgbmFkaWUgbG8gaHViaWVyYSBwZWRpZG8uIDQ4MHB4IHPtIHNlCiAgIGNvcnJlc3BvbmRlIGNvbiB1biBhbmNobyBkZSBt83ZpbCByZWFsIChsYSB2aXN0YSAiTfN2aWwiIGRlbCBwcm9waW8gZ2VzdG9yCiAgIHNpbXVsYSAzNzVweCkuIElndWFsIHF1ZSBlbCBicmVha3BvaW50IGRlIGFycmliYSwgc2Ugb21pdGUgZHVyYW50ZSBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGRlIGxhIG5vdGljaWEgcHJpbmNpcGFsICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay12ZXY2YyAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiNGRjUwNTAgIWltcG9ydGFudDt9CiAgLmJsay12ZXY2YyAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4xICFpbXBvcnRhbnQ7Y29sb3I6I0ZGNTA1MCAhaW1wb3J0YW50O30KICAuYmxrLXZldjZjIC5sZWFkLXRpdGxle2ZvbnQtc2l6ZToxLjg3NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgLmJsay12ZXY2YyAubGVhZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXZldjZjIC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLXZldjZjIC5sZWFkLWtpY2tlci1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXZldjZjIC5sZWFkLWtpY2tlci1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay12ZXY2YyAubGVhZC1zdWJ0aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXZldjZjIC5sZWFkLXN1YnRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLXZldjZjIC5sZWFkLWFuaW0taGVhZGxpbmVze2ZvbnQtc2l6ZToxLjg3NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgCiAgLmJsay12ZXY2YyAucmVsYXRlZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXZldjZjIC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KfQouYmxrLXZldjZjIC5sZWFke2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6I2ZmZjtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLXZldjZjIC5sZWFkLW1lZGlhe3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW59Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZTogYWx0byBmaWpvIGVuIHDteGVsZXMgZW4gdmV6IGRlIGxhIHByb3BvcmNp824gZGUKICAgYXJyaWJhICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBzdGF0ZS5sZWFkLmlmcmFtZUhlaWdodCkgJiM4MjEyOyBlbAogICB2YWxvciBkZSBN83ZpbCBzZSBzb2JyZXNjcmliZSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywgaWd1YWwgcXVlIGVsCiAgIHJlc3RvIGRlIG92ZXJyaWRlcyByZXNwb25zaXZlIGRlIGVzdGUgSFRNTCBleHBvcnRhZG8uICovCi5ibGstdmV2NmMgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2FzcGVjdC1yYXRpbzpub25lO2Jsb2NrLXNpemU6NjQwcHg7fQouYmxrLXZldjZjIC5sZWFkLW1lZGlhIGltZywKLmJsay12ZXY2YyAubGVhZC1tZWRpYSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci8qIENhcnJ1c2VsIGRlIGZvdG9zIGRlIGZvbmRvIGNvbiBlZmVjdG8gS2VuIEJ1cm5zICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuCiAgIExhIGR1cmFjafNuIGRlIGxhcyBhbmltYWNpb25lcyAoNnMpIGNvaW5jaWRlIGNvbgogICBMRUFEX0NBUk9VU0VMX0lOVEVSVkFMLCBxdWUgdGFtYmnpbiBnb2JpZXJuYSBlbCBzY3JpcHQgZGUgcm90YWNp824KICAgKGJ1aWxkTGVhZENhcm91c2VsU2NyaXB0KSBh8WFkaWRvIGFsIGZpbmFsIGRlbCBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay12ZXY2YyAubGVhZC1jYXJvdXNlbHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstdmV2NmMgLmxlYWQtY2Fyb3VzZWwtc2xpZGV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEuNXMgZWFzZTt9Ci5ibGstdmV2NmMgLmxlYWQtY2Fyb3VzZWwtc2xpZGUuaXMtYWN0aXZle29wYWNpdHk6MTt6LWluZGV4OjE7fQouYmxrLXZldjZjIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7fQouYmxrLXZldjZjIC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChvZGQpIGltZ3thbmltYXRpb246YmxrLXZldjZjLWtlbmJ1cm5zLWEgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQouYmxrLXZldjZjIC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChldmVuKSBpbWd7YW5pbWF0aW9uOmJsay12ZXY2Yy1rZW5idXJucy1iIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KQGtleWZyYW1lcyBibGstdmV2NmMta2VuYnVybnMtYXsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gfQpAa2V5ZnJhbWVzIGJsay12ZXY2Yy1rZW5idXJucy1ieyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoNCUsMyUpO30gfQovKiBDb24gdW5hIPpuaWNhIGZvdG8gKHNpbiByb3RhY2nzbiBwb3NpYmxlKSBzZSBhcGxpY2EgdW4gem9vbSBpbi9vdXQgZW4KICAgYnVjbGUgaW5maW5pdG8gZW4gdmV6IGRlbCByZWNvcnJpZG8g+m5pY28gKGZvcndhcmRzKSBkZSBhcnJpYmEuICovCi5ibGstdmV2NmMgLmxlYWQtY2Fyb3VzZWwuaXMtc2luZ2xlIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3thbmltYXRpb246YmxrLXZldjZjLWtlbmJ1cm5zLWxvb3AgMTRzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KQGtleWZyYW1lcyBibGstdmV2NmMta2VuYnVybnMtbG9vcHsgMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gNTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSAxMDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IH0KLyogQ29tcGFyYWRvciBhbnRlcy9kZXNwdelzIChkZXNsaXphZG9yKSAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXZldjZjIC5sZWFkLWNvbXBhcmV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7dG91Y2gtYWN0aW9uOm5vbmU7ei1pbmRleDoyO30KLmJsay12ZXY2YyAubGVhZC1jb21wYXJlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtkaXNwbGF5OmJsb2NrO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLWRyYWc6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay12ZXY2YyAubGVhZC1jb21wYXJlLWJlZm9yZXtjbGlwLXBhdGg6aW5zZXQoMCA1MCUgMCAwKTt3aWxsLWNoYW5nZTpjbGlwLXBhdGg7fQouYmxrLXZldjZjIC5sZWFkLWNvbXBhcmUtcmFuZ2V7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTttYXJnaW46MDtvcGFjaXR5OjA7Y3Vyc29yOmV3LXJlc2l6ZTt9Ci5ibGstdmV2NmMgLmxlYWQtY29tcGFyZS1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDo1MCU7aW5saW5lLXNpemU6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6Mjt9Ci5ibGstdmV2NmMgLmxlYWQtY29tcGFyZS1oYW5kbGU6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtpbmxpbmUtc2l6ZToycHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLC4yNSk7fQouYmxrLXZldjZjIC5sZWFkLWNvbXBhcmUtaGFuZGxlOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDotMTVweDtpbmxpbmUtc2l6ZTozMHB4O2Jsb2NrLXNpemU6MzBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTggNiBMNCAxMCBMOCAxNCcvPjxwYXRoIGQ9J00xMiA2IEwxNiAxMCBMMTIgMTQnLz48L2c+PC9zdmc+IikgY2VudGVyLzE2cHggMTZweCBuby1yZXBlYXQ7Ym94LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwuMjUpO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMjUpO30KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE1pc21vIHotaW5kZXg6MiBxdWUKICAgLmxlYWQtY29tcGFyZSwgcG9yIGVsIG1pc21vIG1vdGl2byAoZ2FuYXJsZSBhIC5sZWFkLWxpbmspLiAqLwouYmxrLXZldjZjIC5sZWFkLWlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt6LWluZGV4OjI7fQouYmxrLXZldjZjIC5sZWFkLWlmcmFtZSBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay12ZXY2YyAubGVhZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLXZldjZjIC5sZWFkLWJvZHl7cGFkZGluZzowcHggMjBweCAyMHB4IDIwcHg7O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7IHRleHQtYWxpZ246Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjY7IHBvaW50ZXItZXZlbnRzOm5vbmU7IGlubGluZS1zaXplOjk1JTsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OmF1dG87IG1hcmdpbi10b3A6LTMwcHg7IGJhY2tncm91bmQ6IzBFMTExQTsgZmxleDoxIDEgYXV0bzt9Ci8qIEFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vYXV0b3IgY2VudHJhZG9zIGVuIHZlcnRpY2FsIGRlbnRybyBkZWwgYWx0bwogICBzb2JyYW50ZSBiYWpvIGxhIGNhdGVnb3LtYSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXZldjZjIC5sZWFkLWJvZHktbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2lubGluZS1zaXplOjEwMCU7ZmxleDoxIDEgYXV0bzttaW4taGVpZ2h0OjA7fQovKiBBcGFyaWVuY2lhIG5lZ2F0aXZhIChwb3IgZGVmZWN0bykgdnMuIHBvc2l0aXZhIGRlIGxhIGNhamEgZGUgdGl0dWxhciAmIzgyMTI7IHZlcgogICBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXZldjZjIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtYm9keXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO30KLmJsay12ZXY2YyAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLXRpdGxlLAouYmxrLXZldjZjIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmF1dGhvci1sYWJlbHtjb2xvcjojMEUxMTFBO30KLyogUG9zaWNp824gZGVsIGxlYWQtYm9keSByZXNwZWN0byBhbCBsZWFkLW1lZGlhICgnbGVmdCcvJ3JpZ2h0JykgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay12ZXY2YyAubGVhZC5sZWFkLWJvZHktbGVmdCwKLmJsay12ZXY2YyAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246cm93O2FzcGVjdC1yYXRpbzoyLjk2Mjk2Mjk2Mjk2Mjk2Mzt9Ci5ibGstdmV2NmMgLmxlYWQubGVhZC1ib2R5LWxlZnR7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7fQouYmxrLXZldjZjIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAouYmxrLXZldjZjIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjAgMCA2MCU7fQouYmxrLXZldjZjIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCi5ibGstdmV2NmMgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDowIDAgY2FsYyg0MCUgKyAzMHB4KTtpbmxpbmUtc2l6ZTphdXRvO21hcmdpbi10b3A6MDtibG9jay1zaXplOmNhbGMoMTAwJSAtIDQycHgpO2FsaWduLXNlbGY6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O30KLmJsay12ZXY2YyAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5e21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0Oi0zMHB4O30KLmJsay12ZXY2YyAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDotMzBweDttYXJnaW4tcmlnaHQ6MDt9Ci8qIFBvc2ljafNuICdib3R0b20tZnVsbCcgZGVsIGxlYWQtYm9keSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBpbmxpbmUtc2l6ZQogICBlbiB2ZXogZGUgd2lkdGggcG9yIGVsIG1pc21vIG1vdGl2byBxdWUgZWwgcmVzdG8gZGUgZXN0ZSBibG9xdWUgKGV2aXRhcgogICBsYSBwYWxhYnJhICJ3aWR0aDoiIHF1ZSBlbCBDTVMgZGVsIHVzdWFyaW8gZWxpbWluYSBhbCBwZWdhciBIVE1ML0NTUwogICBkaXJlY3RhbWVudGUpLiAqLwouYmxrLXZldjZjIC5sZWFkLmxlYWQtYm9keS1ib3R0b20tZnVsbCAubGVhZC1ib2R5ewogIGlubGluZS1zaXplOjEwMCU7CiAgbWFyZ2luOjA7CiAgcGFkZGluZy10b3A6MzBweDsKICBwYWRkaW5nLWJvdHRvbTozMHB4OwogIGJvcmRlcjpub25lOwp9Ci8qIEV0aXF1ZXRhIGRlIGV4Y2x1c2l2YSAobyB0ZXh0byBwZXJzb25hbGl6YWRvKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXZldjZjIC5sZWFkLWV4Y2x1c2l2ZS10YWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4O3otaW5kZXg6MztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2xldHRlci1zcGFjaW5nOjAuNXB4O3BhZGRpbmc6MnB4IDhweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOi44ZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3BvaW50ZXItZXZlbnRzOm5vbmU7fQovKiBTZWxlY3RvciBjb24gMyBjbGFzZXMgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoIi5sZWFkLW1lZGlhIGltZyIgdGFtYmnpbgogICBtYXRjaGVhIGVzdGUgPGltZz4geSBsZSBnYW5hYmEgZW4gZXNwZWNpZmljaWRhZCkuICovCi5ibGstdmV2NmMgLmxlYWQtZXhjbHVzaXZlLXRhZyAubGVhZC1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGstdmV2NmMgLmxlYWQtY2F0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpza2V3WSgtNmRlZyk7bWFyZ2luLXRvcDotMTVweDttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLXZldjZjIC5sZWFkLWtpY2tlciwgLmJsay12ZXY2YyAubGVhZC1zdWJ0aXRsZXsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7dGV4dC10cmFuc2Zvcm06bm9uZTttYXJnaW46MDsKfQouYmxrLXZldjZjIC5sZWFkLWtpY2tlcntmb250LXdlaWdodDo3MDA7fQouYmxrLXZldjZjIC5sZWFkLXN1YnRpdGxle2ZvbnQtd2VpZ2h0OjYwMDt9Ci8qIFRhbWHxby9pbnRlcmxpbmVhZG8vY29sb3IgZGUgYW50ZXTtdHVsbyB5IHN1YnTtdHVsbyBlbiBEZXNrICh2YWxvcmVzIHBvcgogICBkZWZlY3RvIGRlbCBibG9xdWU7IGVsIG92ZXJyaWRlIGRlIE3zdmlsIHZhIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFiYWpvLAogICB5YSBxdWUgZWwgSFRNTCBleHBvcnRhZG8gZXMgcmVzcG9uc2l2ZSB5IG5vIGRlcGVuZGUgZGUgcXXpIHZpc3RhIHR1dmllcmFzCiAgIHNlbGVjY2lvbmFkYSBlbiBlbCBnZXN0b3IgYWwgZXhwb3J0YXIvY29waWFyKS4gKi8KLmJsay12ZXY2YyAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6I0ZGNTA1MDt9Ci5ibGstdmV2NmMgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6I0ZGNTA1MDt9Ci8qIHRleHQtd3JhcDpiYWxhbmNlICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGVsIGdlc3RvciAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgZXNhIHJlZ2xhKTogcmVwYXJ0ZSBsYXMKICAgbO1uZWFzIGRlbCB0aXR1bGFyIGRlIGZvcm1hIG3hcyB1bmlmb3JtZSBkZW50cm8gZGUgY2FkYSBkaXNwb3NpdGl2bywgc2luCiAgIHByZXRlbmRlciBpZ3VhbGFyIGVsIG76bWVybyBkZSBs7W5lYXMgZW50cmUgcGxhdGFmb3JtYXMgZGlzdGludGFzLiAqLwouYmxrLXZldjZjIC5sZWFkLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6MTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO3RleHQtd3JhcDpiYWxhbmNlO30KLyogVGl0dWxhciBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YSAodmVyIGJ1aWxkU2NvcGVkSFRNTCk6CiAgIHNlIGdlbmVyYW4gbG9zIGRvcyB0ZXh0b3MgKERlc2svTfN2aWwpIHkgYXF17SBzZSBtdWVzdHJhIHNvbG8gdW5vIHNlZ/puIGVsCiAgIGFuY2hvIHJlYWwgZGVsIGNvbnRlbmVkb3IgJiM4MjEyOyBlbCBtaXNtbyBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgeWEgdXNhIGVsCiAgIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbyBwYXJhIGFkYXB0YXJzZSBzaW4gZGVwZW5kZXIgZGUgSlMuICovCi5ibGstdmV2NmMgLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIEFudGV07XR1bG8vc3VidO10dWxvIGNvbiBzYWx0b3MgZGUgbO1uZWEgaW5kZXBlbmRpZW50ZXMgcG9yIHZpc3RhOiBtaXNtbwogICBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciAodmVyIGFycmliYSkuICovCi5ibGstdmV2NmMgLmxlYWQta2lja2VyLW1vYmlsZSwgLmJsay12ZXY2YyAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLyogVGl0dWxhciBkZSBub3RpY2lhIHJlbGFjaW9uYWRhIChjb2x1bW5hKSBjb24gdGV4dG8gcHJvcGlvIGVuIE3zdmlsICh2ZXIKICAgaXRlbS50aXRsZU1vYmlsZSBlbiBidWlsZENvbHVtbkl0ZW1UaXRsZUhUTUwpOiBtaXNtbyBtZWNhbmlzbW8gZGUKICAgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciBwcmluY2lwYWwgZGUgYXJyaWJhLiAqLwouYmxrLXZldjZjIC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQouYmxrLXZldjZjIC5hdXRob3ItbGFiZWx7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOnJpZ2h0O2Rpc3BsYXk6YmxvY2t9Ci5ibGstdmV2NmMgLmNvbHVtbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjt9Ci5ibGstdmV2NmMgLmNvbHVtbi1pdGVte2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO3BhZGRpbmc6MTBweDtiYWNrZ3JvdW5kOiNmZmY7YmxvY2stc2l6ZTpzdHJldGNoO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGstdmV2NmMgLnRodW1ie3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjQvMztiYWNrZ3JvdW5kOiNlZWU7b3ZlcmZsb3c6aGlkZGVufQouYmxrLXZldjZjIC50aHVtYiBpbWcsCi5ibGstdmV2NmMgLnRodW1iIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KLmJsay12ZXY2YyAudGh1bWIgLnBsYXktc3F1YXJlLAouYmxrLXZldjZjIC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOjVweDsgbGVmdDo1cHg7CiAgaW5saW5lLXNpemU6MjVweDtibG9jay1zaXplOjI1cHg7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7CiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTgpOwogIGN1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLCB0cmFuc2Zvcm0gLjEyczsKICB6LWluZGV4OjI7IGFuaW1hdGlvbjpibGstdmV2NmMtYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJsay12ZXY2YyAudGh1bWIgLnBsYXktc3F1YXJlOjpiZWZvcmUsCi5ibGstdmV2NmMgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOjpiZWZvcmV7CiAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIG1hcmdpbi1sZWZ0OjJweDsKfQouYmxrLXZldjZjIC50aHVtYiAucGxheS1zcXVhcmU6aG92ZXIsCi5ibGstdmV2NmMgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOmhvdmVyeyBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC44NSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOyB9Ci5ibGstdmV2NmMgLnN0YWNrLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE3cHg7bGluZS1oZWlnaHQ6MS4xNWVtO21hcmdpbjowO2NvbG9yOiMyYzNlNTM7fQouYmxrLXZldjZjIC5zdGFjay1hdXRob3J7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1ib29rIixzYW5zLXNlcmlmO2NvbG9yOiM4Mjg1OTU7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOHJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjExcHg7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LWFsaWduOnJpZ2h0O30KLyogU2luIGVzdGEgcmVnbGEgZWwgYXV0b3IgcXVlZGEgcGVnYWRvIGp1c3RvIGRlYmFqbyBkZWwgdGl0dWxhciBlbiB2ZXogZGUKICAgYWJham8gZGUgbGEgdGFyamV0YTogLm1vZC1zdGFjayBuZWNlc2l0YSBzZXIgZmxleC1jb2x1bW4gY29uCiAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIHBhcmEgcXVlIGVsIGh1ZWNvIHNvYnJhbnRlIChjdWFuZG8gbGEKICAgdGFyamV0YSBjcmVjZSBt4XMgcXVlIHN1IGNvbnRlbmlkbywgdmVyIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jaykKICAgbeFzIGFiYWpvKSBlbXB1amUgZWwgYXV0b3IgaGFjaWEgZWwgYm9yZGUgaW5mZXJpb3IuICovCi5ibGstdmV2NmMgLm1vZC1zdGFja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZsZXg6MSAxIGF1dG87fQovKiBFc3RpbG8gImZvdG8gcGVxdWXxYSArIHRpdHVsYXIiOiBmb3RvIDQ6MyBhIGxhIGl6cXVpZXJkYSwgdGV4dG8gYSBsYSBkZXJlY2hhLiAqLwouYmxrLXZldjZjIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tbGVmdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjExMHB4IDFmcjtnYXA6MTBweDt9Ci8qIEVzdGlsbyAic29sbyB0ZXh0byIgKHBvciBkZWZlY3RvKTogZWwgYXV0b3Igc2UgcG9zaWNpb25hIGVuIGFic29sdXRvLAogICBhbmNsYWRvIGEgbGEgZXNxdWluYSBpbmZlcmlvciBkZXJlY2hhIGRlIGxhIHRhcmpldGEgKGlndWFsIHF1ZSBlbCBwbGF5IGRlCiAgIGxhcyBtaW5pYXR1cmFzKSwgZW4gdmV6IGRlIGRlcGVuZGVyIGRlIHF1ZSBlbCBibG9xdWUgZGUgdGV4dG8gdGVuZ2EgaHVlY28KICAgZGUgc29icmEgcGFyYSBlbXB1amFybG8gYWJham8gY29uIGZsZXhib3ggJiM4MjEyOyBjb24gdO10dWxvcyBkZSAyLTMgbO1uZWFzIGVzZQogICBodWVjbyBubyBleGlzdGUgeSBlbCBhdXRvciBudW5jYSBsbGVnYWJhIGEgYmFqYXIuIHBhZGRpbmctYm90dG9tIGVuCiAgIGxlZnQtYm9keSByZXNlcnZhIGVsIGVzcGFjaW8gcGFyYSBxdWUgZWwgdO10dWxvIG5vIHNlIHNvbGFwZSBjb24g6WwuICovCi5ibGstdmV2NmMgLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5sZWZ0LWJvZHl7cGFkZGluZy1ib3R0b206MzNweDt9Ci5ibGstdmV2NmMgLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5zdGFjay1hdXRob3J7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDtib3R0b206MTBweDttYXJnaW4tdG9wOjA7fQouYmxrLXZldjZjIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9Ci5ibGstdmV2NmMgLmxlZnQtcGxheXsKICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7CiAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTogNHB4Owp9Ci5ibGstdmV2NmMgLmxlZnQtcGxheTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo0cHggc29saWQgIzAwYTdmZjtib3JkZXItdG9wOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDoxcHg7Cn0KLmJsay12ZXY2YyAucmVsYXRlZC1saXZlLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGRjUwNTA7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGRjUwNTA7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstdmV2NmMgLnJlbGF0ZWQtZWRpdG9yaWFsLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGQUIxMjE7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGQUIxMjE7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstdmV2NmMgLnBsYXktYnV0dG9uewogIC8qIEFuY2hvL2FsdG8gZmlqb3MgZW4gdmV6IGRlIGFzcGVjdC1yYXRpbzoxLzEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhIChlbAogICAgIGPhbGN1bG8gZGUgInNocmluay10by1maXQiIHBhcmEgdW4gPGJ1dHRvbj4gZW4gYWJzb2x1dG8gc2luIHRhbWHxbwogICAgIGV4cGztY2l0byBubyBlcyBmaWFibGUgZW50cmUgbW90b3JlczsgZW4gV2ViS2l0L2lPUyBkYWJhIHVuIHJlY3Thbmd1bG8KICAgICB2ZXJ0aWNhbCBlc3RyZWNo7XNpbW8gZW4gdmV6IGRlIHVuIGN1YWRyYWRvKS4gKi8KICBhcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7CiAgcG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4OwogIGlubGluZS1zaXplOjM0cHg7YmxvY2stc2l6ZTozNHB4OwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjEwcHggMTBweCAxMHB4IDEycHg7CiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTsKICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQyKTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4OwogIGN1cnNvcjpwb2ludGVyO3otaW5kZXg6MjthbmltYXRpb246YmxrLXZldjZjLWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstdmV2NmMgLnBsYXktYnV0dG9uIC5wbGF5LWljb257CiAgaW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6MTBweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci5ibGstdmV2NmMgLnBsYXktYnV0dG9uIC5wbGF5LXRleHR7ZGlzcGxheTpub25lO30KLyogRW4gZWwgbW9kbyAnbGVmdCcgZWwgUGxheSBwYXNhIGEgbGEgZXNxdWluYSBzdXBlcmlvciBkZXJlY2hhICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstdmV2NmMgLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9ue2xlZnQ6YXV0bztyaWdodDoxMHB4O30KCi8qIFRpdHVsYXJlcyBhbmltYWRvcyAoY2FwYSBhbHRlcm5hdGl2YSBzb2JyZSBsZWFkLW1lZGlhKSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhCiAgIGhlcnJhbWllbnRhLiBDYWRhIHRpdHVsYXIgdGllbmUgc3UgcHJvcGlhIHBvc2ljafNuIChjbGFzZSBwb3MtKiwgdmVyCiAgIGJ1aWxkU2NvcGVkSFRNTCkgeSBzZSByZXZlbGEgbO1uZWEgcG9yIGztbmVhICh1bmEgdmV6IG1lZGlkYXMgc3VzIGztbmVhcwogICByZWFsZXMgcG9yIGVsIHNjcmlwdCBzdGFuZGFsb25lLCB2ZXIgYnVpbGRBbmltSGVhZGxpbmVzU2NyaXB0KSBjb24gdW5hCiAgIGNhamEgZGUgZm9uZG8gZGV0cuFzIGRlIGNhZGEgbO1uZWEgeSB1biBmYWRlIGRlIG9wYWNpZGFkIGVudHJlIHRpdHVsYXJlcy4gKi8KLmJsay12ZXY2YyAubGVhZC1hbmltLWhlYWRsaW5lc3sKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBpbnNldDowOwogIHotaW5kZXg6NDsKICBwb2ludGVyLWV2ZW50czpub25lOwp9Ci5ibGstdmV2NmMgLmxlYWQtYW5pbS1oZWFkbGluZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBsZWZ0OjE1cHg7CiAgb3BhY2l0eTowOwp9Ci5ibGstdmV2NmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGJvdHRvbTo2MHB4OyB9Ci5ibGstdmV2NmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnR7IHRvcDo2MHB4OyB9Ci5ibGstdmV2NmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstdmV2NmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0LAouYmxrLXZldjZjIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay12ZXY2YyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IGxlZnQ6YXV0bzsgcmlnaHQ6MTVweDsgfQouYmxrLXZldjZjIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodHsgdG9wOjYwcHg7IH0KLmJsay12ZXY2YyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstdmV2NmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NjBweDsgfQovKiBDb24gZWwgdGV4dG8gKGxlYWQtYm9keSkgYSBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhLCBlc2UgYmxvcXVlIHNvbGFwYQogICAzMHB4IGRlbCBsYWRvIGRlIGxhIGZvdG8vdu1kZW8gcGVnYWRvIGEg6WwgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay12ZXY2YyAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtbGVmdCwKLmJsay12ZXY2YyAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtbGVmdCwKLmJsay12ZXY2YyAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tbGVmdHsgbGVmdDo0MHB4OyB9Ci5ibGstdmV2NmMgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay12ZXY2YyAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0LAouYmxrLXZldjZjIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IHJpZ2h0OjQwcHg7IH0KLmJsay12ZXY2YyAubGVhZC1hbmltLWhlYWRsaW5lLmlzLWFjdGl2ZXsgb3BhY2l0eToxOyB9Ci5ibGstdmV2NmMgLmxlYWQtYW5pbS1saW5lewogIHBvc2l0aW9uOnJlbGF0aXZlOwogIGRpc3BsYXk6dGFibGU7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmOwogIGZvbnQtd2VpZ2h0OjkwMDsKICBjb2xvcjojZmZmOwogIHBhZGRpbmc6MnB4IDhweDsKICBjbGlwLXBhdGg6aW5zZXQoMCAxMDAlIDAgMCk7CiAgb3BhY2l0eToxOwogIHRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGVhc2U7Cn0KLmJsay12ZXY2YyAubGVhZC1hbmltLWxpbmUuaXMtaGlkaW5neyBvcGFjaXR5OjA7IH0KLyogU29sYXBlIGRlIDFweCBlbnRlcmEgZW50cmUgbO1uZWFzIHBhcmEgY2VycmFyIGVsIGhpbG8gZGUgc3ViLXDteGVsIHF1ZQogICBwdWVkZSBxdWVkYXIgZW50cmUgc3VzIGNhamFzIGRlIGZvbmRvIChyZWRvbmRlbyBkZSBhbHR1cmFzIGZyYWNjaW9uYXJpYXMpICYjODIxMjsKICAgdmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay12ZXY2YyAubGVhZC1hbmltLWxpbmUgKyAubGVhZC1hbmltLWxpbmV7CiAgbWFyZ2luLXRvcDotMXB4Owp9Ci5ibGstdmV2NmMgLmxlYWQtYW5pbS1saW5lOmZpcnN0LWNoaWxkeyBwYWRkaW5nLXRvcDo2cHg7IH0KLmJsay12ZXY2YyAubGVhZC1hbmltLWxpbmU6bGFzdC1jaGlsZHsgcGFkZGluZy1ib3R0b206NnB4OyB9Ci5ibGstdmV2NmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay12ZXY2YyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQgLmxlYWQtYW5pbS1saW5lLAouYmxrLXZldjZjIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodCAubGVhZC1hbmltLWxpbmV7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDowOyB9Ci5ibGstdmV2NmMgLmxlYWQtYW5pbS1oZWFkbGluZXMuaXMtcG9zaXRpdmUgLmxlYWQtYW5pbS1saW5leyBjb2xvcjojMEUxMTFBOyB9Ci5ibGstdmV2NmMgLmxlYWQtYW5pbS1saW5lLWJneyBwb3NpdGlvbjphYnNvbHV0ZTsgaW5zZXQ6MDsgei1pbmRleDotMTsgfQouYmxrLXZldjZjIC5sZWFkLWFuaW0tbGluZS10ZXh0eyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQpAa2V5ZnJhbWVzIGJsay12ZXY2Yy1hbmltLWxpbmUtcmV2ZWFseyB0b3sgY2xpcC1wYXRoOmluc2V0KDAgMCAwIDApOyB9IH0KCi8qIEFuY2hvciBvdmVybGF5IGZvciBmdWxsIGNsaWNrYWJsZSBsZWFkICovCi5ibGstdmV2NmMgLmxlYWQtbGlua3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MX0KCi8qIEhvdmVyIG9wYWNpdHkgYW5pbWF0aW9uICovCi5ibGstdmV2NmMgLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCi5ibGstdmV2NmMgLmNvbHVtbi1pdGVtOmhvdmVye29wYWNpdHk6Ljh9Ci8qIEZvdG8gcHJpbmNpcGFsIChmYWxsYmFjay9zaW5nbGUpIG8gY2FycnVzZWwgZGUgZm90b3M6IG9wYWNpZGFkIDAuOSBhbAogICBwYXNhciBlbCByYXTzbiBwb3IgbGEgdGFyamV0YSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbgogICBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgYSB27WRlbyBuaSBhbAogICBjb21wYXJhZG9yIGFudGVzL2Rlc3B16XMuICovCi5ibGstdmV2NmMgLmxlYWQtbWVkaWEgPiBpbWcsCi5ibGstdmV2NmMgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLXZldjZjIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLXZldjZjIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eTouOTt9Ci8qIEVuIGVsIGFuY2hvIG3zdmlsIChtaXNtbyBAY29udGFpbmVyIHF1ZSBlbCByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8pIG5vCiAgIGFwbGljYSBlc3RhIGFuaW1hY2nzbiBkZSBvcGFjaWRhZCBzb2JyZSBsYSBub3RpY2lhIHByaW5jaXBhbDogdmEgREVTUFXJUwogICBkZSBsYSByZWdsYSBnZW5lcmFsIGRlIGFycmliYSAobWlzbWEgZXNwZWNpZmljaWRhZCkgcGFyYSBwb2RlciBnYW5hcmxlLgogICBPbWl0aWRvLCBpZ3VhbCBxdWUgZWwgYmxvcXVlIGRlIHRpcG9ncmFm7WEgZGUgYXJyaWJhLCBtaWVudHJhcyBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7CiAgLmJsay12ZXY2YyAubGVhZDpob3ZlciAubGVhZC10aXRsZSwKICAuYmxrLXZldjZjIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gaW1nLAogIC5ibGstdmV2NmMgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHtvcGFjaXR5OjE7fQp9CgovKiBBbmltYWNp824gY29tcGFydGlkYSBwbGF5IHByaW5jaXBhbCArIGN1YWRyYWRvcyBwbGF5IGFwaWxhZGFzICovCkBrZXlmcmFtZXMgYmxrLXZldjZjLWJsaW5rewogIDAlLDEwMCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNyl9CiAgNTAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDE2NSwyNTUsMC45KX0KfQovKiBDYWJlY2VyYSAqLwouYmxrLXZldjZjIC5iZy1zZWN0aW9uLXRpdGxle2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjEwcHggMCAzMnB4fQouYmxrLXZldjZjIC5mbmQtbGluZWF7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjVweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO21hcmdpbi10b3A6LTE4cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgIzMzMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMzMzfQouYmxrLXZldjZjIC5zZWN0aW9uLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuMjtsZXR0ZXItc3BhY2luZzotMXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzo0cHggMTNweDtib3JkZXI6MXB4IHNvbGlkICMwRTExMUE7dHJhbnNmb3JtOnJvdGF0ZVgoNWRlZykgcm90YXRlWSgtMjVkZWcpIHNrZXdYKDBkZWcpO2ZvbnQtc2l6ZTo0MnB4O2NvbG9yOiMwRTExMUE7fQpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpey5ibGstdmV2NmMgLnNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOjI3cHg7cGFkZGluZzowIDEwcHh9fQovKiBDYWJlY2VyYSAmIzgyMTI7IERpc2XxbyAyICh0aXR1bGFyICsgY2FycnVzZWwgZGUgbG9nb3RpcG9zKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXZldjZjIC5oZWFkZXIye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjIwcHg7cGFkZGluZy1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMEUxMTFBO30KLyogYWxpZ24tc2VsZjpmbGV4LWVuZCBmaWphIGVsIHRpdHVsYXIgU0lFTVBSRSBhIDE1cHggZGUgbGEgbO1uZWEgc2VwYXJhZG9yYQogICBlbiBEZXNrICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcwogICBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdmV2NmMgLmhlYWRlcjItbGVmdHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2ZsZXg6MSAxIDUwJTttaW4taW5saW5lLXNpemU6MDthbGlnbi1zZWxmOmZsZXgtZW5kO30KLmJsay12ZXY2YyAuaGVhZGVyMi10YWdze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmbGV4OjAgMCBhdXRvO30KLyogTWlzbW8gdGFtYfFvL3RpcG9ncmFm7WEgcXVlIC5sZWFkLWV4Y2x1c2l2ZS10YWcgKGxhIGRlIGxhIG5vdGljaWEKICAgcHJpbmNpcGFsKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlCiAgIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXZldjZjIC5oZWFkZXIyLWNhdC10YWcsCi5ibGstdmV2NmMgLmhlYWRlcjItZXhjbHVzaXZlLXRhZ3thbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZTouOGVtO2xldHRlci1zcGFjaW5nOi41cHg7cGFkZGluZzoycHggOHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt9Ci5ibGstdmV2NmMgLmhlYWRlcjItZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXZldjZjIC5oZWFkZXIyLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjM2cHg7bGluZS1oZWlnaHQ6MS4wNTtjb2xvcjojMEUxMTFBO21hcmdpbjowO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttaW4taW5saW5lLXNpemU6MDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7fQovKiBTZXBhcmFjafNuIGRlIDEwcHggZW50cmUgZWwgdGV4dG8gZGUgcGF0cm9jaW5pbyB5IGVsIGxvZ28gZW4gRGVzayAmIzgyMTI7IGVuCiAgIE3zdmlsIHNpZ3VlIHNpbiBzZXBhcmFjafNuIChnYXA6MCwgdmVyIEBjb250YWluZXIgbeFzIGFiYWpvKS4gKi8KLmJsay12ZXY2YyAuaGVhZGVyMi1sb2dvcy13cmFwe2ZsZXg6MCAwIGF1dG87bWF4LWlubGluZS1zaXplOjUwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDt9Ci8qIEV0aXF1ZXRhIG9wY2lvbmFsIGp1bnRvIGFsIGNhcnJ1c2VsIGRlIGxvZ29zIChwLmVqLiAiUGF0cm9jaW5hZG8gcG9yOiIpICYjODIxMjsKICAgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdmV2NmMgLmhlYWRlcjItbG9nb3MtbGFiZWx7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM2Njc7d2hpdGUtc3BhY2U6bm93cmFwO30KLmJsay12ZXY2YyAuaGVhZGVyMi1sb2dvc3twb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxNjBweDtibG9jay1zaXplOjUwcHg7ZmxleC1zaHJpbms6MDt9Ci5ibGstdmV2NmMgLmhlYWRlcjItbG9nb3MgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7bWFyZ2luOmF1dG87bWF4LWlubGluZS1zaXplOjEwMCU7bWF4LWJsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuN3MgZWFzZS1pbi1vdXQ7fQouYmxrLXZldjZjIC5oZWFkZXIyLWxvZ29zIGltZy5pcy1hY3RpdmV7b3BhY2l0eToxO30KLyogSWd1YWwgcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWw6IHBvciBkZWJham8gZGUgZXN0ZSBhbmNobyBzZQogICBpbnRlbnRhIHByaW1lcm8gMSBTT0xBIEZJTEEgKGV0aXF1ZXRhcyt0aXR1bGFyIGp1bnRvIGFsIGxvZ28sIGlndWFsIHF1ZQogICBlbiBEZXNrLCBhIHRhbWHxbyByZWR1Y2lkbykuIEVsIGJsb3F1ZSBkZSBsb2dvcyBtYW50aWVuZSBTSUVNUFJFIHN1CiAgIGRpc3Bvc2ljafNuIGVuIGNvbHVtbmEgKGV0aXF1ZXRhIGRlIHBhdHJvY2luaW8gZW5jaW1hIGRlbCBsb2dvLAogICBhbGluZWFkb3MgYSBsYSBkZXJlY2hhLCBzaW4gc2VwYXJhY2nzbikgdGFudG8gZW4gZXN0YSBmaWxhIPpuaWNhIGNvbW8gZW4KICAgZWwgcmVzZ3VhcmRvIGRlIGFiYWpvLiBTaSBlbCB0aXR1bGFyLCBzdW1hZG8gYWwgYW5jaG8gZGUgbGFzIGV0aXF1ZXRhcwogICBhY3RpdmFzIChjYXRlZ29y7WEgeS9vIGV4Y2x1c2l2YSwgc2kgbGFzIGhheSksIHN1cGVyYSBlbCA1NSUgZGVsIGFuY2hvCiAgIHRvdGFsIGRlIGxhIGNhYmVjZXJhIChjYWRhIHVubyBtZWRpZG8gYSB1bmEgc29sYSBs7W5lYSksIGVsIHNjcmlwdAogICBzdGFuZGFsb25lIGHxYWRpZG8gYWwgZmluYWwgZGUgZXN0ZSBIVE1MICh2ZXIKICAgYnVpbGRIZWFkZXIyU3RhY2tpbmdTY3JpcHQoKSkgbG8gZGV0ZWN0YSBtaWRpZW5kbyBzdSBhbmNobyBuYXR1cmFsCiAgIHkgYfFhZGUgbGEgY2xhc2UgImhlYWRlcjItc3RhY2tlZCI6IGVsIGJsb3F1ZSBkZQogICBsb2dvcyBzdWJlIGVudG9uY2VzIGEgc3UgcHJvcGlhIGZpbGEgKGFsaW5lYWRvIGEgbGEgZGVyZWNoYSkgeQogICB0aXR1bGFyK2V0aXF1ZXRhcyBiYWphbiBhIGxhIGZpbGEgZGUgYWJham8sIGEgYW5jaG8gY29tcGxldG8gJiM4MjEyOyBtaXNtbwogICBsYXlvdXQgZGUgMiBmaWxhcyBxdWUgaGFi7WEgYW50ZXMgc2llbXByZSBwb3IgZGViYWpvIGRlIGVzdGUgYnJlYWtwb2ludCwKICAgYWhvcmEgc29sbyBjb21vIHJlc2d1YXJkby4gRGVudHJvIGRlIGVzZSByZXNndWFyZG8sIGNvbiBldGlxdWV0YShzKSBlbAogICB0aXR1bGFyIHBhc2EgYWRlbeFzIGEgc3UgUFJPUElBIGZpbGEgYSBhbmNobyBjb21wbGV0bywgZGViYWpvIGRlIGxhIGZpbGEgZGUgZXRpcXVldGFzICh2ZXIKICAgIi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdCIgbeFzIGFiYWpvKS4gRWwgbG9nbyBzZSByZWR1Y2UgdW4gMjAlCiAgICgxNjB4NTAgJiM4NTk0OyAxMjh4NDApLgogICBhbGlnbi1zZWxmOmZsZXgtZW5kIGVuIGhlYWRlcjItbGVmdCBmaWphIGVsIHRpdHVsYXIgU0lFTVBSRSBhIGxvcyAxMHB4CiAgIGRlbCBwYWRkaW5nLWJvdHRvbSByZXNwZWN0byBhIGxhIGztbmVhIHNlcGFyYWRvcmEgJiM4MjEyOyBtaXNtbyBjcml0ZXJpbyBxdWUKICAgZW4gRGVzayAodmVyIGhlYWRlcjItbGVmdCBt4XMgYXJyaWJhKTogc2luIGVzdG8sIGFsIHNlciBlbCBibG9xdWUgZGUKICAgbG9nb3MgbeFzIGFsdG8gcXVlIGVsIHRpdHVsYXIsIGVsIGNlbnRyYWRvIHZlcnRpY2FsIGRlbCByb3cgZGVqYWJhIHVuCiAgIGh1ZWNvIG1heW9yIGVudHJlIGVsIHRpdHVsYXIgeSBsYSBs7W5lYS4gRWwgYmxvcXVlIGRlIGxvZ29zIHNpZ3VlCiAgIGNlbnRyYWRvIChzaW4gZXNlIG92ZXJyaWRlKS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjQ4MHB4KXsKICAuYmxrLXZldjZjIC5oZWFkZXIye2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4O3BhZGRpbmctYm90dG9tOjEwcHg7fQogIC5ibGstdmV2NmMgLmhlYWRlcjItbGVmdHtvcmRlcjoxO2FsaWduLXNlbGY6ZmxleC1lbmQ7fQogIC5ibGstdmV2NmMgLmhlYWRlcjItbG9nb3Mtd3JhcHtvcmRlcjoyO2FsaWduLXNlbGY6Y2VudGVyO21heC1pbmxpbmUtc2l6ZTpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MDt9CiAgLmJsay12ZXY2YyAuaGVhZGVyMi1sb2dvc3tpbmxpbmUtc2l6ZToxMjhweDtibG9jay1zaXplOjQwcHg7fQogIC5ibGstdmV2NmMgLmhlYWRlcjItdGl0bGV7Zm9udC1zaXplOjI3cHg7fQogIC5ibGstdmV2NmMgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2Vke2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O30KICAuYmxrLXZldjZjIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sZWZ0e29yZGVyOjI7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2dhcDo1cHg7fQogIC5ibGstdmV2NmMgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MTttYXgtaW5saW5lLXNpemU6MTAwJTthbGlnbi1zZWxmOmZsZXgtZW5kO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MDt9CiAgLyogUmVzZ3VhcmRvIGludGVybWVkaW8gJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhOiBzb2xvIGVsIHRpdHVsYXIgYmFqYSBhIHN1CiAgICAgcHJvcGlhIGZpbGEgYSBhbmNobyBjb21wbGV0byBjdWFuZG8gbGFzIGV0aXF1ZXRhcyBTzSBjYWJlbiBqdW50byBhbAogICAgIGxvZ28gcGVybyBlbCB0aXR1bGFyIG5vLiBoZWFkZXIyLWxlZnQgcGFzYSBkZSBmaWxhIGEgY29sdW1uYQogICAgIChldGlxdWV0YXMgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbykgeSByZWN1cGVyYSBhbGlnbi1zZWxmOmF1dG8gcGFyYQogICAgIGNlbnRyYXJzZSB2ZXJ0aWNhbG1lbnRlIGNvbnRyYSBlbCBsb2dvIChhbGlnbi1zZWxmOmNlbnRlciBkZSBsYSByZWdsYQogICAgIGJhc2UgZGUgLmhlYWRlcjItbG9nb3Mtd3JhcCwgYXJyaWJhKSwgaWd1YWwgcXVlIGVuIGVsIHJlc3RvIGRlIGVzdGFkb3MuICovCiAgLmJsay12ZXY2YyAuaGVhZGVyMi5oZWFkZXIyLXRpdGxlLWJlbG93IC5oZWFkZXIyLWxlZnR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7YWxpZ24tc2VsZjphdXRvO2dhcDo1cHg7fQp9CgovKiBFc3RpbG8gImZvdG8gZ3JhbmRlICsgdGl0dWxhciI6IGZvdG8gMTY6OSBhcnJpYmEsIHRpdHVsYXIgZGViYWpvICYjODIxMjsgZWxlZ2libGUKICAgcG9yIG5vdGljaWEgZGVzZGUgZWwgZ2VzdG9yLiBObyBzZSByZXN0cmluZ2UgY29uIEBjb250YWluZXIgcG9ycXVlCiAgIC5jb2x1bW4taXRlbSB5YSBlcyBibG9jayBwb3IgZGVmZWN0byAoZWwgdGh1bWIgeSBlbCB0ZXh0byBzZSBhcGlsYW4gc29sb3MKICAgc2luIG3hcyBhanVzdGUpLCBhc+0gcXVlIGVsIGRpc2XxbyBmdW5jaW9uYSBpZ3VhbCBkZSBiaWVuIGVuIGN1YWxxdWllcgogICBhbmNobywgRGVzayBvIE3zdmlsLiAqLwouYmxrLXZldjZjIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9we2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLXZldjZjIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC50aHVtYntpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O21hcmdpbi1ib3R0b206MTBweDt9Ci5ibGstdmV2NmMgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS4yZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjkwMDt9Ci8qIEVuIE3zdmlsIGVsIHRpdHVsYXIgZGUgZXN0ZSBkaXNl8W8gc2UgbXVlc3RyYSBt4XMgZ3JhbmRlICgxLjVyZW0gZW4gdmV6IGRlCiAgIGxvcyAxLjJyZW0gZGUgRGVzaykgJiM4MjEyOyBtaXNtYSBlc3BlY2lmaWNpZGFkICgzIGNsYXNlcykgcXVlIGxhIHJlZ2xhIGRlCiAgIGFycmliYTsgYWwgaXIgREVTUFXJUyBlbiBlbCBDU1MgZ2FuYSBwb3Igb3JkZW4gZGUgY2FzY2FkYS4gU2UgdXNhIGVsCiAgIGJyZWFrcG9pbnQgZGUgNDgwcHggKGVsIGRlIHRpcG9ncmFm7WEgZW4gZXN0YSBhcHAsIG5vIGVsIGRlIDg2MHB4IHF1ZSBhcXXtCiAgIHNvbG8gZ29iaWVybmEgZWwgYXBpbGFkbyBkZSBjb2x1bW5hcykgcGFyYSBxdWUgY29pbmNpZGEgY29uIGVsIHJlc3RvIGRlCiAgIGNhbWJpb3MgZGUgdGV4dG8vdGFtYfFvIHBvciB2aXN0YS4gTm8gYWZlY3RhIGFsIHJlc2d1YXJkbyBkZSAyIGNvbHVtbmFzIGVuCiAgIG3zdmlsIChtb2ItZ3JpZCksIG3hcyBlc3BlY+1maWNvICgxOHB4LCB2ZXIgbeFzIGFycmliYSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay12ZXY2YyAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAubGVmdC10aXRsZXtmb250LXNpemU6MS41cmVtO30KfQovKiBFc3RpbG8gIkJsb3F1ZSBtZWRpYSIgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay12ZXY2YyAubWVkaWEtYmxvY2stbWVkaWF7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6YXV0bzt9Ci5ibGstdmV2NmMgLm1lZGlhLWJsb2NrLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazt9Ci5ibGstdmV2NmMgLm1lZGlhLWJsb2NrLWlmcmFtZS13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjE2Lzk7YmFja2dyb3VuZDojMDAwO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstdmV2NmMgLm1lZGlhLWJsb2NrLWlmcmFtZS13cmFwIGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXZldjZjIC5jb2x1bW4taXRlbS5sYXlvdXQtbWVkaWEtYmxvY2t7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7YmxvY2stc2l6ZTphdXRvO2ZsZXg6MCAwIGF1dG87fQouYmxrLXZldjZjIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jayl7ZmxleDoxIDEgYXV0bzt9Cjwvc3R5bGU+Cgo8ZGl2IGNsYXNzPSJibGstdmV2NmMiPgogIAogIDxtYWluIGNsYXNzPSJwYWdlIj4KICAgIAogICAgPGFydGljbGUgY2xhc3M9ImxlYWQgbGVhZC1ib2R5LWxlZnQiPgogICAgICA8ZGl2IGNsYXNzPSJsZWFkLW1lZGlhIj4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL2VsLXdva2lzbW8tc2UtbGxldmEtcG9yLWRlbGFudGUtbGEtY2F0ZWRyYWwtZGUtc2FuLXBhYmxvLWVuLWxvbmRyZXMtY2VkZS1zdS1jdXB1bGEtYS11bmEtZGlzY290ZWNhLWhhc3RhLTIwMzAtMjAyNjA5MTAtMDk0NjM1LWFmMTk2Ni5qcGciIGFsdD0iRWwgJiMzOTt3b2tpc21vJiMzOTsgc2UgbGxldmEgcG9yIGRlbGFudGUgbGEgY2F0ZWRyYWwgZGUgU3QuIFBhdWwgZW4gTG9uZHJlczogY2VkZSBzdSBj+nB1bGEgYSB1bmEgZGlzY290ZWNhIGhhc3RhIDIwMzAiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtb3ZlcmxheSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiYSgxNCwxNywyNiwwLjAwKTsiPjwvZGl2PgogICAgICAgIAogICAgICAgIDxidXR0b24gY2xhc3M9InBsYXktYnV0dG9uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGRpdiBjbGFzcz0icGxheS1pY29uIj48L2Rpdj48c3BhbiBjbGFzcz0icGxheS10ZXh0Ij5QbGF5PC9zcGFuPjwvYnV0dG9uPgogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZDojRkY1MDUwOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojZmZmO2NvbG9yOiNGRjUwNTAiPklOVEVSTkFDSU9OQUw8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5LW1haW4iPgogICAgICAgICAgCiAgICAgICAgICA8aDIgY2xhc3M9ImxlYWQtdGl0bGUiPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLWRlc2siPkVsICYjMzk7d29raXNtbyYjMzk7IHNlIGxsZXZhIHBvciBkZWxhbnRlIGxhIGNhdGVkcmFsIGRlIFN0LiBQYXVsIGVuIExvbmRyZXM6IGNlZGUgc3UgY/pwdWxhIGEgdW5hIGRpc2NvdGVjYSBoYXN0YSAyMDMwPC9zcGFuPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLW1vYmlsZSI+RWwgJiMzOTt3b2tpc21vJiMzOTsgc2UgbGxldmEgcG9yIGRlbGFudGUgbGEgY2F0ZWRyYWwgZGUgU3QuIFBhdWwgZW4gTG9uZHJlczogY2VkZSBzdSBj+nB1bGEgYSB1bmEgZGlzY290ZWNhIGhhc3RhIDIwMzA8L3NwYW4+PC9oMj4KICAgICAgICAgIAogICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGhvci1sYWJlbCI+Q2FybG9zIEVzdGViYW48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YSBjbGFzcz0ibGVhZC1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9pbnRlcm5hY2lvbmFsL3dva2lzbW8tbGxldmEtZGVsYW50ZS1jYXRlZHJhbC1zYW4tcGFibG8tbG9uZHJlcy1jZWRlLWN1cHVsYS1kaXNjb3RlY2EtaGFzdGEtMjAzMC0yMDI2MjY4NSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJFbCAmIzM5O3dva2lzbW8mIzM5OyBzZSBsbGV2YSBwb3IgZGVsYW50ZSBsYSBjYXRlZHJhbCBkZSBTdC4gUGF1bCBlbiBMb25kcmVzOiBjZWRlIHN1IGP6cHVsYSBhIHVuYSBkaXNjb3RlY2EgaGFzdGEgMjAzMCIgYXJpYS1sYWJlbD0iRWwgJiMzOTt3b2tpc21vJiMzOTsgc2UgbGxldmEgcG9yIGRlbGFudGUgbGEgY2F0ZWRyYWwgZGUgU3QuIFBhdWwgZW4gTG9uZHJlczogY2VkZSBzdSBj+nB1bGEgYSB1bmEgZGlzY290ZWNhIGhhc3RhIDIwMzAiPjwvYT4KICAgIDwvYXJ0aWNsZT4KICA8L21haW4+CjwvZGl2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgdmFyIGFydGljbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmxrLXZldjZjIC5sZWFkJyk7CiAgaWYgKCFhcnRpY2xlKSByZXR1cm47CiAgdmFyIG1haW4gPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLWJvZHktbWFpbicpOwogIHZhciB0aXRsZUVsID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC10aXRsZScpOwogIGlmICghbWFpbiB8fCAhdGl0bGVFbCkgcmV0dXJuOwogIHZhciBiYXNlRm9udFNpemVQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aXRsZUVsKS5mb250U2l6ZSkgfHwgMDsKICBpZiAoIWJhc2VGb250U2l6ZVB4KSByZXR1cm47CiAgdmFyIE1BWF9TQ0FMRSA9IDEuODsKICB2YXIgTUlOX1NDQUxFID0gMC41OwogIHZhciBNQVhfRk9OVF9QWCA9IDY0OyAvLyB+NHJlbSBjb24gbGEgYmFzZSBoYWJpdHVhbCBkZSAxNnB4IChtaXNtbyB0b3BlIHF1ZSBmaXRMZWFkVGl0bGVUb0JveCgpIGVuIGVsIGdlc3RvcikKICBmdW5jdGlvbiBmaXQoKXsKICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBiYXNlRm9udFNpemVQeCArICdweCc7CiAgICB2YXIgYXZhaWxhYmxlSGVpZ2h0ID0gbWFpbi5jbGllbnRIZWlnaHQ7CiAgICBpZiAoIWF2YWlsYWJsZUhlaWdodCkgcmV0dXJuOwogICAgLy8gVmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gZml0TGVhZFRpdGxlVG9Cb3goKSBkZWwgZ2VzdG9yOgogICAgLy8gbWFpbi5zY3JvbGxIZWlnaHQgbnVuY2EgYmFqYSBkZSBjbGllbnRIZWlnaHQgYXVucXVlIGVsIGNvbnRlbmlkbyByZWFsCiAgICAvLyBvY3VwZSBtZW5vcywgYXPtIHF1ZSBubyBzaXJ2ZSBwYXJhIGRldGVjdGFyIGN14W50byBzb2JyYSBvIGZhbHRhIGNvbgogICAgLy8gZWwgdGl0dWxhciBhY3R1YWwgJiM4MjEyOyBzZSBzdW1hIGVuIHN1IGx1Z2FyIGVsIGFsdG8gcmVhbCBkZSBjYWRhIGhpam8KICAgIC8vIFZJU0lCTEUgZGVsIGJsb3F1ZSwgc2Fsdm8gZWwgcHJvcGlvIHRpdHVsYXIsIG3hcyBlbCBodWVjbyAoImdhcCIpCiAgICAvLyBlbnRyZSBlbGxvczsgbm8gY2FtYmlhIGNvbiBlbCB0YW1h8W8gZGVsIHRpdHVsYXIsIGFz7SBxdWUgc2UgbWlkZSB1bmEKICAgIC8vIHNvbGEgdmV6LCBhbnRlcyBkZSBsYSBi+nNxdWVkYSBiaW5hcmlhLgogICAgdmFyIGdhcFB4ID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLnJvd0dhcCkgfHwgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLmdhcCkgfHwgMDsKICAgIHZhciB2aXNpYmxlQ2hpbGRyZW4gPSBbXS5zbGljZS5jYWxsKG1haW4uY2hpbGRyZW4pLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoYykuZGlzcGxheSAhPT0gJ25vbmUnOyB9KTsKICAgIHZhciBvdGhlcnNIZWlnaHQgPSB2aXNpYmxlQ2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gYyAhPT0gdGl0bGVFbDsgfSkucmVkdWNlKGZ1bmN0aW9uKHN1bSwgYyl7IHJldHVybiBzdW0gKyBjLm9mZnNldEhlaWdodDsgfSwgMCkKICAgICAgKyBnYXBQeCAqIE1hdGgubWF4KDAsIHZpc2libGVDaGlsZHJlbi5sZW5ndGggLSAxKTsKICAgIHZhciBhdmFpbGFibGVGb3JUaXRsZSA9IE1hdGgubWF4KDAsIGF2YWlsYWJsZUhlaWdodCAtIG90aGVyc0hlaWdodCk7CiAgICBpZiAoIWF2YWlsYWJsZUZvclRpdGxlKSByZXR1cm47CiAgICBmdW5jdGlvbiBoZWlnaHRBdFNjYWxlKHNjYWxlKXsKICAgICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IE1hdGgubWluKGJhc2VGb250U2l6ZVB4ICogc2NhbGUsIE1BWF9GT05UX1BYKSArICdweCc7CiAgICAgIHJldHVybiB0aXRsZUVsLm9mZnNldEhlaWdodDsKICAgIH0KICAgIHZhciBsbyA9IE1JTl9TQ0FMRSwgaGkgPSBNQVhfU0NBTEU7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDg7IGkrKyl7CiAgICAgIHZhciBtaWQgPSAobG8gKyBoaSkgLyAyOwogICAgICBpZiAoaGVpZ2h0QXRTY2FsZShtaWQpIDw9IGF2YWlsYWJsZUZvclRpdGxlKSBsbyA9IG1pZDsgZWxzZSBoaSA9IG1pZDsKICAgIH0KICAgIGhlaWdodEF0U2NhbGUobG8pOwogIH0KICBmaXQoKTsKICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkpeyBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKGZpdCk7IH0KICBpZiAod2luZG93LlJlc2l6ZU9ic2VydmVyKXsgbmV3IFJlc2l6ZU9ic2VydmVyKGZpdCkub2JzZXJ2ZShhcnRpY2xlKTsgfQogIGVsc2UgeyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZml0KTsgfQp9KSgpOwo8L3NjcmlwdD4=
    • Sánchez desembarca en Elche entre un enorme despliegue policial y un perímetro blindado para evitar abucheos
        • España
        • España

      Sánchez desembarca en Elche entre un enorme despliegue policial y un perímetro blindado para evitar abucheos

      • Ignacio Martínez
      • ALICANTE
      • 2026-09-10 13:02
    • Los invasores ya construyen casetas en árboles casi centenarios que son patrimonio natural de Ceuta
        • España
        • España

      Los invasores ya construyen casetas en árboles casi centenarios que son patrimonio natural de Ceuta

      • Rafael Sánchez | Pedro Antolinos
      • Enviados especiales
      • CEUTA
      • 2026-09-10 05:46
    • Aficionados del Barcelona, indignados con el desprecio a los campeones del mundo: Somos un club provinciano
        • España
        • España

      Aficionados del Barcelona, indignados con el desprecio a los campeones del mundo: "Somos un club provinciano"

      • Cake Minuesa
      • 2026-09-10 11:11
    • El Gobierno busca magistrados afines en el Supremo para tratar de llevar al Pleno la suspensión de la Ley de Nietos
    • PHN0eWxlPgogIC5hcGVydHVyYS10d29UaGlyZHMtcWtyZDF3eGkgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQogIEBmb250LWZhY2UgeyBmb250LWZhbWlseTogImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIjsgc3JjOiB1cmwoImh0dHBzOi8vb2tkaWFyaW8uY29tL3dlYi90aGVtZXMvdjEwL2Nzcy9fZm9udHNfYW1wbGl0dWRlL0FtcGxpdHVkZSUyMEF1YmklMjBNZWRpdW0lMjBDbmQub3RmIik7IH0KICBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICJhbXBsaXR1ZGUtbWVkaXVtLXdpZGUiOyBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMFRhYiUyME1lZGl1bS5vdGYiKTsgfQogIEBmb250LWZhY2UgeyBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsgc3JjOiB1cmwoImh0dHBzOi8vb2tkaWFyaW8uY29tL3dlYi90aGVtZXMvdjEwL2Nzcy9fZm9udHNfYW1wbGl0dWRlL0FtcGxpdHVkZSUyMEF1YmklMjBCb29rLm90ZiIpOyB9CgogIC8qIFJlY3VwZXJhIGVsIGNvbXBvcnRhbWllbnRvIGRlbCBxdWUgc+0gZnVuY2lvbmEgKi8KICAuYXBlcnR1cmEtdHdvVGhpcmRzLXFrcmQxd3hpIC5jb250ZW5lZG9yIHsKICAgIHdpZHRoOiBhdXRvOwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOwogICAgei1pbmRleDogMDsKICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OwogICAgZmxvYXQ6IGlubGluZS1lbmQ7IC8qIDwtIElNUE9SVEFOVEUgZW4gMS8yIHkgMi8zICovCiAgfQoKICAuYXBlcnR1cmEtdHdvVGhpcmRzLXFrcmQxd3hpIC52aWRlby1jb250ZW5lZG9yIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiBhdXRvOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNFNEU0RTQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zaXRpb246IC4zczsKICB9CiAgLmFwZXJ0dXJhLXR3b1RoaXJkcy1xa3JkMXd4aSAuYmFja2dyb3VuZC12aWRlbyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH0KCiAgLmFwZXJ0dXJhLXR3b1RoaXJkcy1xa3JkMXd4aSAucGxheS1idXR0b24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDEwcHg7CiAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNyk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNDIpOwogICAgY29sb3I6ICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB6LWluZGV4OiAyOwogICAgYW5pbWF0aW9uOiBibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICB9CiAgLmFwZXJ0dXJhLXR3b1RoaXJkcy1xa3JkMXd4aSAucGxheS1pY29uewogICAgd2lkdGg6MDsgaGVpZ2h0OjA7IGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjsgYm9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50OyBtYXJnaW4tcmlnaHQ6NXB4OwogIH0KICAuYXBlcnR1cmEtdHdvVGhpcmRzLXFrcmQxd3hpIC5wbGF5LXRleHR7IGZvbnQtc2l6ZToxNnB4OyBmb250LXdlaWdodDpib2xkIH0KICBAa2V5ZnJhbWVzIGJsaW5rIHsgMCUsMTAwJXsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNykgfSA1MCV7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDE2NSwyNTUsMC45KSB9IH0KICAuYXBlcnR1cmEtdHdvVGhpcmRzLXFrcmQxd3hpIC5wbGF5LWJ1dHRvbjpob3ZlcnsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuOSkgfQoKICAvKiBB8WFkaWRvIGlndWFsIHF1ZSBlbiBsYSB2ZXJzafNuIHF1ZSBmdW5jaW9uYSAqLwogIC5hcGVydHVyYS10d29UaGlyZHMtcWtyZDF3eGkgLmRlc2NyaXBjaW9uIHsgcGFkZGluZzogMCA0MHB4IDAgMjBweDsgfQoKICAuYXBlcnR1cmEtdHdvVGhpcmRzLXFrcmQxd3hpIC5kZXNjcmlwY2lvbiAuZXRpcXVldGFzIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IHBhZGRpbmctbGVmdDogMHB4OwogIH0KICAuYXBlcnR1cmEtdHdvVGhpcmRzLXFrcmQxd3hpIC5kZXNjcmlwY2lvbiAuZXRpcXVldGEgewogICAgZm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0td2lkZSIsc2Fucy1zZXJpZjsgY29sb3I6I2ZmZjsgZm9udC13ZWlnaHQ6NzAwOyBmb250LXNpemU6MTJweDsKICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgZGlzcGxheTppbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBiYWNrZ3JvdW5kOiMzZWE2ZDE7IHdpZHRoOmZpdC1jb250ZW50OyBwYWRkaW5nOjVweCAxMHB4OyBtYXJnaW4tbGVmdDowOwogIH0KCiAgLyogTWlzbWEgbPNnaWNhIGRlIHZpc2liaWxpZGFkIHF1ZSBlbCBidWVubzogc2Ugb2N1bHRhIHNpIGVzdOEgdmFj7W8gKi8KICAuYXBlcnR1cmEtdHdvVGhpcmRzLXFrcmQxd3hpIC5kZXNjcmlwY2lvbiAuYnJlYWtpbmcgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6NnB4OyBjb2xvcjojZDAwMjFiOyBmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS13aWRlIixzYW5zLXNlcmlmOyBmb250LXdlaWdodDo3MDA7IGZvbnQtc2l6ZToxNHB4OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IH0KICAuYXBlcnR1cmEtdHdvVGhpcmRzLXFrcmQxd3hpIC5kZXNjcmlwY2lvbiAuYnJlYWtpbmc6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9CiAgLmFwZXJ0dXJhLXR3b1RoaXJkcy1xa3JkMXd4aSAuZGVzY3JpcGNpb24gLmJyZWFraW5nIC5yYWRhciB7IHdpZHRoOjEwcHg7IGhlaWdodDoxMHB4OyBib3JkZXItcmFkaXVzOjUwJTsgYmFja2dyb3VuZDojZDAwMjFiOyBwb3NpdGlvbjpyZWxhdGl2ZTsgZmxleDowIDAgMTBweDsgfQogIC5hcGVydHVyYS10d29UaGlyZHMtcWtyZDF3eGkgLmRlc2NyaXBjaW9uIC5icmVha2luZyAucmFkYXI6OmFmdGVyIHsgY29udGVudDoiIjsgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0Oi02cHg7IGJvcmRlcjoycHggc29saWQgcmdiYSgyMDgsMiwyNywuNDUpOyBib3JkZXItcmFkaXVzOjUwJTsgYW5pbWF0aW9uOnJhZGFyUHVsc2UgMS44cyBlYXNlLW91dCBpbmZpbml0ZTsgfQogIEBrZXlmcmFtZXMgcmFkYXJQdWxzZXsgMCV7IHRyYW5zZm9ybTpzY2FsZSguNyk7IG9wYWNpdHk6LjcgfSAxMDAleyB0cmFuc2Zvcm06c2NhbGUoMS42KTsgb3BhY2l0eTowIH0gfQoKICAuYXBlcnR1cmEtdHdvVGhpcmRzLXFrcmQxd3hpIC5kZXNjcmlwY2lvbiBoMiB7CiAgICBmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToycmVtICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGNvbG9yOiMzMzM7IG1hcmdpbjoxNXB4IDA7IHdoaXRlLXNwYWNlOnByZS1saW5lOyBmb250LXdlaWdodDo2MDA7CiAgfQogIC5hcGVydHVyYS10d29UaGlyZHMtcWtyZDF3eGkgLmRlc2NyaXBjaW9uIHAgewogICAgbWFyZ2luOjAgMCAyMHB4ICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246anVzdGlmeTsgZm9udC1mYW1pbHk6ImFtcGxpdHVkZS1ib29rIixzYW5zLXNlcmlmOyBjb2xvcjojMzMzOwogICAgZm9udC13ZWlnaHQ6MjAwOyBmb250LXNpemU6MS4xcmVtOyBsaW5lLWhlaWdodDoxLjNlbTsgd2hpdGUtc3BhY2U6cHJlLWxpbmU7CiAgfQogIC5hcGVydHVyYS10d29UaGlyZHMtcWtyZDF3eGkgLmRlc2NyaXBjaW9uIC5hdXRvciB7CiAgICBmb250LWZhbWlseToiYW1wbGl0dWRlLWJvb2siLHNhbnMtc2VyaWY7IGNvbG9yOiMzMzM7IGZvbnQtd2VpZ2h0OjIwMDsgZm9udC1zaXplOi44ZW07IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICAgIHRleHQtYWxpZ246cmlnaHQ7IGRpc3BsYXk6YmxvY2s7CiAgfQoKICBAbWVkaWEgKG1heC13aWR0aDo3NjhweCl7CiAgICAuYXBlcnR1cmEtdHdvVGhpcmRzLXFrcmQxd3hpIC5kZXNjcmlwY2lvbnsgcGFkZGluZzowIDIwcHggMCAyMHB4ICFpbXBvcnRhbnQ7IH0KICAgIC5hcGVydHVyYS10d29UaGlyZHMtcWtyZDF3eGkgLnBsYXktYnV0dG9uIHsgbWFyZ2luLXRvcDogMTBweDsgfQogIH0KPC9zdHlsZT4KPGRpdiBjbGFzcz0iYXBlcnR1cmEtdHdvVGhpcmRzLXFrcmQxd3hpIj4KPGRpdiBjbGFzcz0iY29udGVuZWRvciI+CiAgICAgICAgPGEgaWQ9IndyYXBMaW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BhbmEvbW90aW4taW5mb3JtYXRpdm9zLXR2ZS1lbnRyZXZpc3RhLXNhbmNoZXotcmVkYWNjaW9uLXJlYmVsYS1ncml0b3MtY29udHJhLXNlY3RhcmlzbW8tY3VwdWxhLTIwMjU5ODU0Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvLWNvbnRlbmVkb3IiPgogICAgICAgICAgICA8dmlkZW8gY2xhc3M9ImJhY2tncm91bmQtdmlkZW8iIGF1dG9wbGF5PSIiIG11dGVkPSIiIHBsYXlzaW5saW5lPSIiIGxvb3A9IiI+CiAgICAgICAgICAgICAgPHNvdXJjZSBpZD0idmlkZW9Tb3VyY2UiIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL3VwbG9hZHMlMkZtZWRpYS90dmVfcG9ydGFkYV9hcGVydHVyYS0yMDI2MDkwOS0yMjE0MzEtZTM2NjllLm1wNCIgdHlwZT0idmlkZW8vbXA0Ij4KICAgICAgICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgdmlkZW8gdGFnLgogICAgICAgICAgICA8L3ZpZGVvPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJwbGF5LWJ1dHRvbiIgc3R5bGU9InJpZ2h0OiAxMHB4OyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxheS1pY29uIj48L2Rpdj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGxheS10ZXh0Ij5QbGF5PC9zcGFuPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3JpcGNpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJldGlxdWV0YXMiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJldGlxdWV0YSIgaWQ9ImV0aXF1ZXRhQ2hpcCI+RXNwYfFhPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJicmVha2luZyIgYXJpYS1saXZlPSJwb2xpdGUiPjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxoMiBpZD0iaDJQcmV2aWV3IiBzdHlsZT0iZm9udC1zaXplOiAycmVtOyI+TW907W4gZW4gbG9zIEluZm9ybWF0aXZvcyBkZSBUVkUgcG9yIGxhIGVudHJldmlzdGEgYSBT4W5jaGV6OiBsYSByZWRhY2Np824gc2UgcmViZWxhIGEgZ3JpdG9zIGNvbnRyYSBlbCBzZWN0YXJpc21vIGRlIGxhIGP6cHVsYTxicj48L2gyPgogICAgICAgICAgICA8cCBpZD0icFByZXZpZXciPkxhIHJlZGFjY2nzbiBkZSBsb3MgSW5mb3JtYXRpdm9zIGRlIFRWRSBoYSB2aXZpZG8gZXN0ZSBtaelyY29sZXMgZHVyYW50ZSBsYSBlbWlzafNuIGRlbCBUZWxlZGlhcmlvIGRlIExhIDEgdW5hIGpvcm5hZGEgZGUgdGVuc2nzbiBleHRyZW1hIGRlc3B16XMgZGUgcXVlIGxhIGRpcmVjY2nzbiBkZSBDb250ZW5pZG9zIEluZm9ybWF0aXZvcywgZW5jYWJlemFkYSBwb3IgTWFyaWJlbCBT4W5jaGV6LU1hcm90byBJbmFyZWpvcyB5IEpvbiBBcml6dGltdfFvLCBvYmxpZ2FyYSBhIHJldGlyYXIgZGVsIFZUUiB1bmEgZnJhc2UgZW4gbGEgcXVlIHNlIHJlY29n7WFuIGxhcyBjcu10aWNhcyBkZSBsb3MgdHJhYmFqYWRvcmVzIGRlIGxhIGNhc2EgcG9yIGxhIGRlY2lzafNuIGRlIGVudHJlZ2FyIGxhIGVudHJldmlzdGEgYSBQZWRybyBT4W5jaGV6IGEgdW5hIHByb2R1Y3RvcmEgZXh0ZXJuYSB5IGEgcGVyaW9kaXN0YXMgYWplbm9zIGEgbGEgQ29ycG9yYWNp824uPC9wPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0b3IiIGlkPSJhdXRvclByZXZpZXciPlBhdWxhIE0uIEdvbnrhbHZleiAvIFZpY2VudGUgR2lsPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9hPgogICAgICA8L2Rpdj4KPC9kaXY+
      PHN0eWxlPgogIC5hcGVydHVyYS1tb2JpbGUteXo1dTJtcWMgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQogIEBmb250LWZhY2UgeyBmb250LWZhbWlseTogImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIjsgc3JjOiB1cmwoImh0dHBzOi8vb2tkaWFyaW8uY29tL3dlYi90aGVtZXMvdjEwL2Nzcy9fZm9udHNfYW1wbGl0dWRlL0FtcGxpdHVkZSUyMEF1YmklMjBNZWRpdW0lMjBDbmQub3RmIik7IH0KICBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICJhbXBsaXR1ZGUtbWVkaXVtLXdpZGUiOyBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMFRhYiUyME1lZGl1bS5vdGYiKTsgfQogIEBmb250LWZhY2UgeyBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsgc3JjOiB1cmwoImh0dHBzOi8vb2tkaWFyaW8uY29tL3dlYi90aGVtZXMvdjEwL2Nzcy9fZm9udHNfYW1wbGl0dWRlL0FtcGxpdHVkZSUyMEF1YmklMjBCb29rLm90ZiIpOyB9CgogIC8qIFJlY3VwZXJhIGVsIGNvbXBvcnRhbWllbnRvIGRlbCBxdWUgc+0gZnVuY2lvbmEgKi8KICAuYXBlcnR1cmEtbW9iaWxlLXl6NXUybXFjIC5jb250ZW5lZG9yIHsKICAgIHdpZHRoOiBhdXRvOwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOwogICAgei1pbmRleDogMDsKICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OwogICAgZmxvYXQ6IGlubGluZS1lbmQ7IC8qIDwtIElNUE9SVEFOVEUgZW4gMS8yIHkgMi8zICovCiAgfQoKICAuYXBlcnR1cmEtbW9iaWxlLXl6NXUybXFjIC52aWRlby1jb250ZW5lZG9yIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiBhdXRvOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNFNEU0RTQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zaXRpb246IC4zczsKICB9CiAgLmFwZXJ0dXJhLW1vYmlsZS15ejV1Mm1xYyAuYmFja2dyb3VuZC12aWRlbyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IH0KCiAgLmFwZXJ0dXJhLW1vYmlsZS15ejV1Mm1xYyAucGxheS1idXR0b24gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDEwcHg7CiAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNyk7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNDIpOwogICAgY29sb3I6ICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB6LWluZGV4OiAyOwogICAgYW5pbWF0aW9uOiBibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICB9CiAgLmFwZXJ0dXJhLW1vYmlsZS15ejV1Mm1xYyAucGxheS1pY29uewogICAgd2lkdGg6MDsgaGVpZ2h0OjA7IGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjsgYm9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50OyBtYXJnaW4tcmlnaHQ6NXB4OwogIH0KICAuYXBlcnR1cmEtbW9iaWxlLXl6NXUybXFjIC5wbGF5LXRleHR7IGZvbnQtc2l6ZToxNnB4OyBmb250LXdlaWdodDpib2xkIH0KICBAa2V5ZnJhbWVzIGJsaW5rIHsgMCUsMTAwJXsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNykgfSA1MCV7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDE2NSwyNTUsMC45KSB9IH0KICAuYXBlcnR1cmEtbW9iaWxlLXl6NXUybXFjIC5wbGF5LWJ1dHRvbjpob3ZlcnsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuOSkgfQoKICAvKiBB8WFkaWRvIGlndWFsIHF1ZSBlbiBsYSB2ZXJzafNuIHF1ZSBmdW5jaW9uYSAqLwogIC5hcGVydHVyYS1tb2JpbGUteXo1dTJtcWMgLmRlc2NyaXBjaW9uIHsgcGFkZGluZzogMCA0MHB4IDAgMjBweDsgfQoKICAuYXBlcnR1cmEtbW9iaWxlLXl6NXUybXFjIC5kZXNjcmlwY2lvbiAuZXRpcXVldGFzIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IHBhZGRpbmctbGVmdDogMHB4OwogIH0KICAuYXBlcnR1cmEtbW9iaWxlLXl6NXUybXFjIC5kZXNjcmlwY2lvbiAuZXRpcXVldGEgewogICAgZm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0td2lkZSIsc2Fucy1zZXJpZjsgY29sb3I6I2ZmZjsgZm9udC13ZWlnaHQ6NzAwOyBmb250LXNpemU6MTJweDsKICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgZGlzcGxheTppbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBiYWNrZ3JvdW5kOiMzZWE2ZDE7IHdpZHRoOmZpdC1jb250ZW50OyBwYWRkaW5nOjVweCAxMHB4OyBtYXJnaW4tbGVmdDowOwogIH0KCiAgLyogTWlzbWEgbPNnaWNhIGRlIHZpc2liaWxpZGFkIHF1ZSBlbCBidWVubzogc2Ugb2N1bHRhIHNpIGVzdOEgdmFj7W8gKi8KICAuYXBlcnR1cmEtbW9iaWxlLXl6NXUybXFjIC5kZXNjcmlwY2lvbiAuYnJlYWtpbmcgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6NnB4OyBjb2xvcjojZDAwMjFiOyBmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS13aWRlIixzYW5zLXNlcmlmOyBmb250LXdlaWdodDo3MDA7IGZvbnQtc2l6ZToxNHB4OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IH0KICAuYXBlcnR1cmEtbW9iaWxlLXl6NXUybXFjIC5kZXNjcmlwY2lvbiAuYnJlYWtpbmc6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9CiAgLmFwZXJ0dXJhLW1vYmlsZS15ejV1Mm1xYyAuZGVzY3JpcGNpb24gLmJyZWFraW5nIC5yYWRhciB7IHdpZHRoOjEwcHg7IGhlaWdodDoxMHB4OyBib3JkZXItcmFkaXVzOjUwJTsgYmFja2dyb3VuZDojZDAwMjFiOyBwb3NpdGlvbjpyZWxhdGl2ZTsgZmxleDowIDAgMTBweDsgfQogIC5hcGVydHVyYS1tb2JpbGUteXo1dTJtcWMgLmRlc2NyaXBjaW9uIC5icmVha2luZyAucmFkYXI6OmFmdGVyIHsgY29udGVudDoiIjsgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0Oi02cHg7IGJvcmRlcjoycHggc29saWQgcmdiYSgyMDgsMiwyNywuNDUpOyBib3JkZXItcmFkaXVzOjUwJTsgYW5pbWF0aW9uOnJhZGFyUHVsc2UgMS44cyBlYXNlLW91dCBpbmZpbml0ZTsgfQogIEBrZXlmcmFtZXMgcmFkYXJQdWxzZXsgMCV7IHRyYW5zZm9ybTpzY2FsZSguNyk7IG9wYWNpdHk6LjcgfSAxMDAleyB0cmFuc2Zvcm06c2NhbGUoMS42KTsgb3BhY2l0eTowIH0gfQoKICAuYXBlcnR1cmEtbW9iaWxlLXl6NXUybXFjIC5kZXNjcmlwY2lvbiBoMiB7CiAgICBmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxLjVyZW0gIWltcG9ydGFudDsKICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgY29sb3I6IzMzMzsgbWFyZ2luOjE1cHggMDsgd2hpdGUtc3BhY2U6cHJlLWxpbmU7IGZvbnQtd2VpZ2h0OjYwMDsKICB9CiAgLmFwZXJ0dXJhLW1vYmlsZS15ejV1Mm1xYyAuZGVzY3JpcGNpb24gcCB7CiAgICBtYXJnaW46MCAwIDIwcHggIWltcG9ydGFudDsgdGV4dC1hbGlnbjpqdXN0aWZ5OyBmb250LWZhbWlseToiYW1wbGl0dWRlLWJvb2siLHNhbnMtc2VyaWY7IGNvbG9yOiMzMzM7CiAgICBmb250LXdlaWdodDoyMDA7IGZvbnQtc2l6ZToxLjFyZW07IGxpbmUtaGVpZ2h0OjEuM2VtOyB3aGl0ZS1zcGFjZTpwcmUtbGluZTsKICB9CiAgLmFwZXJ0dXJhLW1vYmlsZS15ejV1Mm1xYyAuZGVzY3JpcGNpb24gLmF1dG9yIHsKICAgIGZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjsgY29sb3I6IzMzMzsgZm9udC13ZWlnaHQ6MjAwOyBmb250LXNpemU6LjhlbTsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgdGV4dC1hbGlnbjpyaWdodDsgZGlzcGxheTpibG9jazsKICB9CgogIEBtZWRpYSAobWF4LXdpZHRoOjc2OHB4KXsKICAgIC5hcGVydHVyYS1tb2JpbGUteXo1dTJtcWMgLmRlc2NyaXBjaW9ueyBwYWRkaW5nOjAgMjBweCAwIDIwcHggIWltcG9ydGFudDsgfQogICAgLmFwZXJ0dXJhLW1vYmlsZS15ejV1Mm1xYyAucGxheS1idXR0b24geyBtYXJnaW4tdG9wOiAxMHB4OyB9CiAgfQo8L3N0eWxlPgo8ZGl2IGNsYXNzPSJhcGVydHVyYS1tb2JpbGUteXo1dTJtcWMiPgo8ZGl2IGNsYXNzPSJjb250ZW5lZG9yIj4KICAgICAgICA8YSBpZD0id3JhcExpbmsiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGFuYS9tb3Rpbi1pbmZvcm1hdGl2b3MtdHZlLWVudHJldmlzdGEtc2FuY2hlei1yZWRhY2Npb24tcmViZWxhLWdyaXRvcy1jb250cmEtc2VjdGFyaXNtby1jdXB1bGEtMjAyNTk4NTQiPgogICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tY29udGVuZWRvciI+CiAgICAgICAgICAgIDx2aWRlbyBjbGFzcz0iYmFja2dyb3VuZC12aWRlbyIgYXV0b3BsYXk9IiIgbXV0ZWQ9IiIgcGxheXNpbmxpbmU9IiIgbG9vcD0iIj4KICAgICAgICAgICAgICA8c291cmNlIGlkPSJ2aWRlb1NvdXJjZSIgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvdXBsb2FkcyUyRm1lZGlhL3R2ZV9wb3J0YWRhX2FwZXJ0dXJhLTIwMjYwOTA5LTIyMTQzMS1lMzY2OWUubXA0IiB0eXBlPSJ2aWRlby9tcDQiPgogICAgICAgICAgICAgIFlvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSB2aWRlbyB0YWcuCiAgICAgICAgICAgIDwvdmlkZW8+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InBsYXktYnV0dG9uIiBzdHlsZT0icmlnaHQ6IDEwcHg7Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5LWljb24iPjwvZGl2PgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwbGF5LXRleHQiPlBsYXk8L3NwYW4+CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXNjcmlwY2lvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV0aXF1ZXRhcyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImV0aXF1ZXRhIiBpZD0iZXRpcXVldGFDaGlwIj5Fc3Bh8WE8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJyZWFraW5nIiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGgyIGlkPSJoMlByZXZpZXciIHN0eWxlPSJmb250LXNpemU6IDJyZW07Ij5Nb3TtbiBlbiBsb3MgSW5mb3JtYXRpdm9zIGRlIFRWRSBwb3IgbGEgZW50cmV2aXN0YSBhIFPhbmNoZXo6IGxhIHJlZGFjY2nzbiBzZSByZWJlbGEgYSBncml0b3MgY29udHJhIGVsIHNlY3RhcmlzbW8gZGUgbGEgY/pwdWxhPGJyPjwvaDI+CiAgICAgICAgICAgIAogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0b3IiIGlkPSJhdXRvclByZXZpZXciPlBhdWxhIE0uIEdvbnrhbHZleiAvIFZpY2VudGUgR2lsPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9hPgogICAgICA8L2Rpdj4KPC9kaXY+
    • La insoportable degradación de TVE
    • Trump promete a los estadounidenses un pago de 4.300 euros si su partido gana las
        • Internacional
        • Internacional

      Trump promete a los estadounidenses un pago de 4.300 euros si gana las 'midterms'

      • Carmen Villarrubia
      • 2026-09-10 09:20
    • El BCE sube los tipos al 2,5% y seguirá subiéndolos: Trump y China amenazan con reavivar la inflación
    • CEOE llevará a Bruselas el abandono de Ceuta: Tenemos que recordar que es España
        • Economía
        • Economía

      la CEOE llevará a Bruselas el abandono de Ceuta: "Tenemos que recordar que es España"

      • Jose de la Morena
      • 2026-09-10 05:45
    • ACS acelera su ofensiva mundial de centros de datos con un nuevo proyecto para una multinacional tecnológica en India
        • Economía
        • Economía

      ACS acelera su ofensiva de centros de datos con un proyecto para una multinacional en India

      • Jose de la Morena
      • 2026-09-10 12:13
    • El Parlamento Europeo aprueba a petición de Vox una misión oficial a Ceuta para investigar lo ocurrido
        • Internacional
        • Internacional

      El Parlamento Europeo aprueba a petición de Vox una misión a Ceuta para investigar lo ocurrido

      • Paula Ciordia
      • 2026-09-10 13:16
    • Fernando Alonso irrumpe en Madring completamente trajeado y con su casco especial en la mano
        • Deportes
        • Deportes

      Fernando Alonso irrumpe en Madring completamente trajeado y con su casco especial en la mano

      • Kike Sáez
      • 2026-09-10 14:29
    • Madring une a todos: Raúl, Casillas, Silva y Moya juegan al pádel en el circuito de F1
        • Deportes
        • Deportes

      Madring une a todos: Raúl, Casillas, Silva y Moya juegan al pádel en el circuito de F1

      • Kike Sáez
      • 2026-09-10 14:16
    • OKDIARIO da una vuelta a Madring un día antes de su gran estreno en la Fórmula 1
        • Deportes
        • Deportes

      OKDIARIO da una vuelta a Madring un día antes de su gran estreno en la Fórmula 1

      11 de septiembre a las 13:30. Ese es el día y la hora en la que la F1 regresará a Madrid 45 años después. Este jueves, en la mañana de la jornada previa, OKDIARIO ha tenido la oportunidad de recorrer el circuito una última vez antes de que los 22 monoplazas echen a rodar. La visita es un camión repleto de medios de comunicación, entre ellos el nuestro, al que subimos justo delante del semáforo que dará inicio a la carrera del domingo. Desde ahí, comenzamos a ser testigos del aspecto de Madring ya finalizado con la curva La Monumental como punto álgido.
      • Kike Sáez
      • 2026-09-10 12:15
    • Diomande se impacienta y el Real Madrid le pide calma
    • Charles Leclerc reta a Álvaro Morte al ajedrez en Madrid: así fue el duelo entre el piloto y el actor
        • Cool
        • Cool

      Charles Leclerc reta a Álvaro Morte al ajedrez en Madrid: así fue el duelo entre el piloto y el actor

      Charles Leclerc cambió ayer el volante por el tablero. El piloto monegasco se dejó ver en Madrid con motivo del lanzamiento de Chivas Regal 16 Edición Limitada y convirtió una de sus grandes aficiones fuera de los circuitos en uno de los protagonistas de la noche. En el emblemático edificio Metrópolis, Leclerc se enfrentó al actor Álvaro Morte en un duelo de estrategia que sirvió para presentar se!ze, el nuevo juego de mesa creado por el piloto junto al diseñador James Wallis.
      • Marta Morales
      • 2026-09-10 13:47
    • En imágenes: la angustia y los gritos de desesperación de Tana Rivera tras vivir en primera persona una cogida de Roca Rey
        • Cool
        • Cool

      En imágenes: la angustia y los gritos de desesperación de Tana Rivera tras vivir en primera persona una cogida de Roca Rey

      • Lourdes Crespo
      • 2026-09-10 13:30
    • La IA en medicina, el trabajo, la seguridad jurídica y los medios centrarán la III Jornada OKINNOVA
    • OK AL DÍA

    • Los fontaneros lo tienen claro: éste es el método más eficaz para eliminar el sarro de la ducha y recuperar la presión del agua
        • Curiosidades
        • Curiosidades

      éste es el método más eficaz para eliminar el sarro de la ducha y recuperar la presión del agua

      • Janire Manzanas
      • 2026-09-10 12:15
    • Pocos lo saben, pero sólo hay 3 personas en todo el mundo que pueden viajar libremente sin usar pasaporte
        • Sociedad
        • Sociedad

      sólo hay 3 personas en todo el mundo que pueden viajar libremente sin usar pasaporte

      • Álvaro Olivero
      • 2026-09-10 12:23
    • La frase que le
        • Curiosidades
        • Curiosidades

      La frase que le 'robaron' a un pastor estadounidense para colgársela a un premio Nobel de Literatura

      Una frase sobre pájaros y talento circula en español atribuida a Rabindranath Tagore, el escritor indio que ganó el premio Nobel de Literatura en 1913. Pero el rastro documentado de esa idea en inglés lleva a otra persona: Henry van Dyke, un pastor y escritor estadounidense sin relación con Tagore. Ni siquiera esa atribución es segura, porque hay versiones que circulaban antes de que naciera Van Dyke.
      • Naiara Philpotts
      • 2026-09-10 12:00
    • La ciencia celebra el hallazgo histórico de la primera huella de un mamífero terrestre en la Antártida: pertenece a un animal de 1.3 kilos y puede tener 55 millones de años
        • Naturaleza
        • Naturaleza

      La ciencia celebra el hallazgo de la primera huella de un mamífero terrestre en la Antártida

      • Naiara Philpotts
      • 2026-09-10 12:30
    • Qué artistas acompañarán a Shakira en su residencia en Madrid: ya están confirmados
        • HappyFM
        • HappyFM

      Qué artistas acompañarán a Shakira en su residencia en Madrid: ya están confirmados

      • Idania Monzón
      • 2026-09-10 12:44
    • No hay que dramatizar aún pero los científicos descubren al murciélago que puede provocar una nueva epidemia
        • Ciencia
        • Ciencia

      los científicos descubren al murciélago que puede provocar una nueva epidemia

      • Sofía Narváez
      • 2026-09-10 12:48
    • El sector agrícola revolucionado: la lana de oveja sirve para mejorar el suelo de olivares y resistir mejor a las sequías
        • Ciencia
        • Ciencia

      la lana de oveja sirve para mejorar el suelo de olivares y resistir mejor a las sequías

      • Manuel Morera
      • 2026-09-10 12:48
    • Parecen de Soria pero estos torreznos de Mercadona, tienen acento valenciano y son un auténtico manjar
        • Economía
        • Economía

      Parecen de Soria pero estos torreznos de Mercadona tienen acento valenciano 

      • Blanca Espada
      • 2026-09-10 12:50
    • Los apellidos españoles se dividen en estos cuatro tipos: descubre de cuál procedes tú
        • Curiosidades
        • Curiosidades

      Los apellidos españoles se dividen en estos cuatro tipos: descubre de cuál procedes tú

      • Blanca Espada
      • 2026-09-10 12:51
    • CiAgICA8c3R5bGU+CiAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MnKTsKCiAgICAvKiBDb250ZW5lZG9yIHByaW5jaXBhbCBsaW1pdGFkbyBhIDk2MHB4IGVuIGVzY3JpdG9yaW8gKi8KICAgIC5jdi1udzhibCAuc2VjdGlvbnttYXgtd2lkdGg6OTYwcHg7bWFyZ2luOjAgYXV0bzt3aWR0aDoxMDAlfQoKICAgIC5jdi1udzhibCAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjo4cHggMCA1MHB4fQogICAgLmN2LW53OGJsIC5mbmQtbGluZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMjVweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9CiAgICAuY3Ytbnc4YmwgLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzMzMztmb250LXNpemU6NDJweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CgogICAgLmN2LW53OGJsIC5jYXJvdXNlbHstLWdhcDoxNnB4Oy0tcGVlazoxMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ2FwKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206NnB4fQogICAgLmN2LW53OGJsIC50cmFja3tkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLWdhcCk7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtwYWRkaW5nLXJpZ2h0OnZhcigtLXBlZWspfQogICAgLmN2LW53OGJsIC50cmFjazo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfQogICAgLmN2LW53OGJsIC5jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXg6MCAwIGF1dG87c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQ7d2lkdGg6Y2FsYygoMTAwJSAtIDIqdmFyKC0tZ2FwKSAtIHZhcigtLXBlZWspKS8zKTthc3BlY3QtcmF0aW86OS8xNjtib3JkZXItcmFkaXVzOjEwcHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzAwMDtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2UsIHRyYW5zZm9ybSAuNHMgZWFzZX0KICAgIC5jdi1udzhibCAuY2FyZC5pcy1pbntvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9CgogICAgLmN2LW53OGJsIC50aHVtYntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2UsIG9wYWNpdHkgLjI1cyBlYXNlO3RyYW5zZm9ybTpzY2FsZSgxLjAxKX0KICAgIC5jdi1udzhibCAuY2FyZDpob3ZlciAudGh1bWIsLmN2LW53OGJsIC5jYXJkOmZvY3VzLXZpc2libGUgLnRodW1ie3RyYW5zZm9ybTpzY2FsZSgxLjA2KX0KICAgIC8qIFNpbiBvdmVybGF5cyBwZXJzb25hbGl6YWRvczogc2UgdXNhbiBjb250cm9sZXMgbmF0aXZvcyBkZWwgcGxheWVyICovCgogICAgLmN2LW53OGJsIC5hcntwb3NpdGlvbjpyZWxhdGl2ZX0KICAgIC5jdi1udzhibCAuYXJyb3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6cmdiKDI1NSAyNTUgMjU1IC8gMjAlKTtib3gtc2hhZG93OjAgNnB4IDE2cHggcmdiKDAgMCAwIC8gMjAlKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6Mjt0cmFuc2l0aW9uOi4zc30KICAgIC5jdi1udzhibCAuYXJyb3c6aG92ZXJ7YmFja2dyb3VuZDpyZ2IoMCAwIDAgLyAyMCUpO2JvcmRlcjoxcHggc29saWQgI2ZmZn0KICAgIC5jdi1udzhibCAuYXJyb3c6Zm9jdXN7YmFja2dyb3VuZDpyZ2IoMjU1IDI1NSAyNTUgLyAyMCUpfQogICAgLmN2LW53OGJsIC5hcnJvdyBzdmd7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0KICAgIC5jdi1udzhibCAuYXJyb3cubGVmdHtsZWZ0OjEwcHh9CiAgICAuY3Ytbnc4YmwgLmFycm93LnJpZ2h0e3JpZ2h0OjEwcHh9CgogICAgQG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpewogICAgICAvKiBFbiBt83ZpbCwgZWwgY29udGVuZWRvciBvY3VwYSB0b2RvIGVsIGFuY2hvICovCiAgICAgIC5jdi1udzhibCAuc2VjdGlvbnttYXgtd2lkdGg6MTAwJX0KICAgICAgLmN2LW53OGJsIC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CiAgICAgIC5jdi1udzhibCAuY2Fyb3VzZWx7LS1wZWVrOjEyJX0KICAgICAgLyogMiB0YXJqZXRhcyBjb21wbGV0YXMgKyB1biBwZWVrIGRlIGxhIDOqICovCiAgICAgIC5jdi1udzhibCAuY2FyZHt3aWR0aDpjYWxjKCgxMDAlIC0gNCp2YXIoLS1nYXApIC0gdmFyKC0tcGVlaykpLzEpfQogICAgICAuY3Ytbnc4YmwgLmFycm93e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fQogICAgICAuY3Ytbnc4YmwgLnRyYWNre292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmhpZGRlbjtwYWRkaW5nLXJpZ2h0OnZhcigtLXBlZWspfQogICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJjdi1udzhibCI+CiAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBhcmlhLWxhYmVsPSJDYXJydXNlbCBkZSB27WRlb3MgKFNob3J0cykiPgogICAgICAgIDxkaXYgY2xhc3M9ImJnLXNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Mb3MgJ3Nob3J0cycgZGUgT0tESUFSSU88L2gyPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImZuZC1saW5lYSI+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFyIiByb2xlPSJyZWdpb24iIGFyaWEtbGFiZWw9Ikxpc3RhZG8gZGUgdu1kZW9zIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFycm93IGxlZnQiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iQW50ZXJpb3IiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xNSA2bC02IDYgNiA2IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFycm93IHJpZ2h0IiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IlNpZ3VpZW50ZSI+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTkgMThsNi02LTYtNiIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJvdXNlbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyYWNrIiByb2xlPSJsaXN0Ij4KCiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy8wZHhTSUlZVW9DVSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IjBkeFNJSVlVb0NVIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvMGR4U0lJWVVvQ1UvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDEiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvdXdQWk9vamtLWkkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJ1d1BaT29qa0taSSIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL3V3UFpPb2prS1pJL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCAyIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzLzJEQWNzdkdSNzVVIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iMkRBY3N2R1I3NVUiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8yREFjc3ZHUjc1VS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgMyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy82bGtXTUNlNnFqbyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IjZsa1dNQ2U2cWpvIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvNmxrV01DZTZxam8vaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDQiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvQ2ktTVRiM1NsVlUiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJDaS1NVGIzU2xWVSIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0NpLU1UYjNTbFZVL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA1IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL1Q3aFBKUnBXdUFFIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iVDdoUEpScFd1QUUiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9UN2hQSlJwV3VBRS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgNiIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9wbDFDZDlESFVZVSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9InBsMUNkOURIVVlVIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvcGwxQ2Q5REhVWVUvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDciIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3NlY3Rpb24+CiAgICA8L2Rpdj4KICAgIDxzY3JpcHQ+CiAgICAoZnVuY3Rpb24oKXsKICAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY3Ytbnc4YmwnKTsKICAgICAgaWYgKCFyb290KSByZXR1cm47CiAgICAgIHZhciB0cmFjayA9IHJvb3QucXVlcnlTZWxlY3RvcignLnRyYWNrJyk7CiAgICAgIGlmICghdHJhY2spIHJldHVybjsKCiAgICAgIHZhciBhcnJvd3MgPSByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hcnJvdycpOwogICAgICB2YXIgR0FQID0gMTY7CgogICAgICBmdW5jdGlvbiBnZXRDYXJkV2lkdGgoKXsKICAgICAgICB2YXIgZmlyc3QgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy5jYXJkJyk7CiAgICAgICAgaWYgKCFmaXJzdCkgcmV0dXJuIDA7CiAgICAgICAgcmV0dXJuIGZpcnN0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoOwogICAgICB9CgogICAgICBmdW5jdGlvbiBnZXRDYXJkc1BlclBhZ2UoKXsKICAgICAgICByZXR1cm4gKHdpbmRvdy5pbm5lcldpZHRoIDw9IDc2OCkgPyAyIDogNDsKICAgICAgfQoKICAgICAgYXJyb3dzLmZvckVhY2goZnVuY3Rpb24oYnRuKXsKICAgICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsKICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgIHZhciBkaXIgPSB0aGlzLmNsYXNzTGlzdC5jb250YWlucygnbGVmdCcpID8gLTEgOiAxOwogICAgICAgICAgdmFyIGNhcmRXID0gZ2V0Q2FyZFdpZHRoKCk7CiAgICAgICAgICBpZiAoIWNhcmRXKSByZXR1cm47CiAgICAgICAgICB2YXIgc3RlcCA9IChjYXJkVyArIEdBUCkgKiBnZXRDYXJkc1BlclBhZ2UoKSAqIGRpcjsKICAgICAgICAgIHRyYWNrLnNjcm9sbEJ5KHsgbGVmdDogc3RlcCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pOwogICAgICAgIH0pOwogICAgICB9KTsKCiAgICAgIC8vIEZhZGUtaW4gYWwgZW50cmFyIGVuIHZpZXdwb3J0CiAgICAgIHZhciBpbyA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihlbnRyaWVzKXsKICAgICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZW4peyBpZihlbi5pc0ludGVyc2VjdGluZyl7IGVuLnRhcmdldC5jbGFzc0xpc3QuYWRkKCdpcy1pbicpOyB9IH0pOwogICAgICB9LCB7IHJvb3Q6IHRyYWNrLCB0aHJlc2hvbGQ6IDAuMSB9KTsKICAgICAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuY2FyZCcpLmZvckVhY2goZnVuY3Rpb24oYyl7IGlvLm9ic2VydmUoYyk7IH0pOwoKICAgICAgLy8gQ2xpY2sgcGVyc2lzdGVudGUgKHNpbiB0ZWFzZXIgcG9yIGhvdmVyKQogICAgICBmdW5jdGlvbiBtYWtlRW1iZWRVcmwoaWQsIG9wdHMpewogICAgICAgIHZhciBxcyA9IFsKICAgICAgICAgICdhdXRvcGxheT0nICsgKG9wdHMgJiYgb3B0cy5hdXRvcGxheT8gJzEnOicwJyksCiAgICAgICAgICAncGxheXNpbmxpbmU9MScsJ2ZzPTEnLCdpdl9sb2FkX3BvbGljeT0zJywnc2hvd2luZm89MScsJ3JlbD0wJywnY2NfbG9hZF9wb2xpY3k9MCcsJ3N0YXJ0PTAnLAogICAgICAgICAgJ211dGU9JyArIChvcHRzICYmIG9wdHMubXV0ZT8gJzEnOicwJyksCiAgICAgICAgICAob3B0cyAmJiBvcHRzLmNvbnRyb2xzPT09MD8gJ2NvbnRyb2xzPTAnOidjb250cm9scz0xJyksCiAgICAgICAgICAnbW9kZXN0YnJhbmRpbmc9MScsJ2VuYWJsZWpzYXBpPTEnCiAgICAgICAgXS5qb2luKCcmJyk7CiAgICAgICAgcmV0dXJuICdodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8nICsgaWQgKyAnPycgKyBxczsKICAgICAgfQoKICAgICAgLy8gQ2FyZ2FyIEFQSSBkZSBZb3VUdWJlIGJham8gZGVtYW5kYQogICAgICB2YXIgeXRBcGlQcm9taXNlID0gbnVsbDsKICAgICAgZnVuY3Rpb24gZW5zdXJlWVRBcGkoKXsKICAgICAgICBpZiAod2luZG93LllUICYmIHdpbmRvdy5ZVC5QbGF5ZXIpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKICAgICAgICBpZiAoeXRBcGlQcm9taXNlKSByZXR1cm4geXRBcGlQcm9taXNlOwogICAgICAgIHl0QXBpUHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpewogICAgICAgICAgdmFyIHByZXZDYiA9IHdpbmRvdy5vbllvdVR1YmVJZnJhbWVBUElSZWFkeTsKICAgICAgICAgIHdpbmRvdy5vbllvdVR1YmVJZnJhbWVBUElSZWFkeSA9IGZ1bmN0aW9uKCl7IGlmICh0eXBlb2YgcHJldkNiPT09J2Z1bmN0aW9uJykgeyB0cnl7IHByZXZDYigpOyB9Y2F0Y2goXyl7fSB9IHJlc29sdmUoKTsgfTsKICAgICAgICAgIHZhciBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgICAgICBzLnNyYyA9ICdodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpJzsKICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIHl0QXBpUHJvbWlzZTsKICAgICAgfQoKICAgICAgLy8gSW5zdGFuY2lhciBwbGF5ZXIgbmF0aXZvIGVuIHRhcmpldGFzIHZpc2libGVzIHBhcmEgcXVlIGVsIGljb25vIGRlIHBsYXkgYXBhcmV6Y2EgZGVzZGUgZWwgaW5pY2lvCiAgICAgIGZ1bmN0aW9uIGluaXRQbGF5ZXJGb3JDYXJkKGNhcmQpewogICAgICAgIGlmKCFjYXJkIHx8IGNhcmQuX3l0UGxheWVyIHx8IGNhcmQuX3l0SW5pdCkgcmV0dXJuOwogICAgICAgIHZhciBpZCA9IGNhcmQuZ2V0QXR0cmlidXRlKCdkYXRhLXl0LWlkJyk7CiAgICAgICAgaWYoIWlkKSByZXR1cm47CiAgICAgICAgY2FyZC5feXRJbml0ID0gdHJ1ZTsKICAgICAgICB2YXIgcG9zdGVyID0gY2FyZC5xdWVyeVNlbGVjdG9yKCdpbWcudGh1bWInKTsKICAgICAgICB2YXIgaG9sZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgaG9sZGVyLnN0eWxlLnBvc2l0aW9uPSdhYnNvbHV0ZSc7IGhvbGRlci5zdHlsZS5pbnNldD0nMCc7IGhvbGRlci5zdHlsZS53aWR0aD0nMTAwJSc7IGhvbGRlci5zdHlsZS5oZWlnaHQ9JzEwMCUnOyBob2xkZXIuc3R5bGUuYmFja2dyb3VuZD0nIzAwMCc7CiAgICAgICAgaWYocG9zdGVyKXsgY2FyZC5pbnNlcnRCZWZvcmUoaG9sZGVyLCBwb3N0ZXIpOyB9IGVsc2UgeyBjYXJkLmFwcGVuZENoaWxkKGhvbGRlcik7IH0KICAgICAgICAvLyBPY3VsdGFtb3MgZWwgcPNzdGVyIGN1YW50byBhbnRlcyBwYXJhIGRlamFyIHZlciBlbCBvdmVybGF5IG5hdGl2bwogICAgICAgIGlmKHBvc3Rlcil7IHBvc3Rlci5zdHlsZS50cmFuc2l0aW9uID0gcG9zdGVyLnN0eWxlLnRyYW5zaXRpb24gfHwgJ29wYWNpdHkgLjE1cyBlYXNlJzsgcG9zdGVyLnN0eWxlLm9wYWNpdHk9JzAnOyBwb3N0ZXIuc3R5bGUucG9pbnRlckV2ZW50cz0nbm9uZSc7IH0KICAgICAgICBlbnN1cmVZVEFwaSgpLnRoZW4oZnVuY3Rpb24oKXsKICAgICAgICAgIHZhciBwbGF5ZXIgPSBuZXcgWVQuUGxheWVyKGhvbGRlciwgewogICAgICAgICAgICB2aWRlb0lkOiBpZCwKICAgICAgICAgICAgcGxheWVyVmFyczogeyBhdXRvcGxheTowLCBjb250cm9sczoxLCByZWw6MCwgcGxheXNpbmxpbmU6MSwgaXZfbG9hZF9wb2xpY3k6MywgbW9kZXN0YnJhbmRpbmc6MSwgZnM6MSwgb3JpZ2luOiAobG9jYXRpb24gJiYgbG9jYXRpb24ub3JpZ2luKSA/IGxvY2F0aW9uLm9yaWdpbiA6IHVuZGVmaW5lZCB9LAogICAgICAgICAgICBldmVudHM6IHsKICAgICAgICAgICAgICBvblJlYWR5OiBmdW5jdGlvbigpewogICAgICAgICAgICAgICAgaWYocG9zdGVyKXsgcG9zdGVyLnN0eWxlLm9wYWNpdHk9JzAnOyBwb3N0ZXIuc3R5bGUucG9pbnRlckV2ZW50cz0nbm9uZSc7IH0KICAgICAgICAgICAgICAgIC8vIEZvcnphciBwZXJtaXNvcyBkZSBwYW50YWxsYSBjb21wbGV0YSBlbiBlbCBpZnJhbWUgZ2VuZXJhZG8KICAgICAgICAgICAgICAgIHRyeXsKICAgICAgICAgICAgICAgICAgdmFyIGlmciA9IHBsYXllci5nZXRJZnJhbWUgJiYgcGxheWVyLmdldElmcmFtZSgpOwogICAgICAgICAgICAgICAgICBpZiAoaWZyKXsKICAgICAgICAgICAgICAgICAgICBpZnIuc2V0QXR0cmlidXRlKCdhbGxvd2Z1bGxzY3JlZW4nLCcnKTsKICAgICAgICAgICAgICAgICAgICB2YXIgY3VyID0gaWZyLmdldEF0dHJpYnV0ZSgnYWxsb3cnKSB8fCAnJzsKICAgICAgICAgICAgICAgICAgICBpZnIuc2V0QXR0cmlidXRlKCdhbGxvdycsIChjdXIgPyBjdXIgKyAnOyAnIDogJycpICsgJ2Z1bGxzY3JlZW4nKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfWNhdGNoKF8peyB9CiAgICAgICAgICAgICAgICBjYXJkLl95dFBsYXllciA9IHBsYXllcjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCl7CiAgICAgICAgICB0cnl7IGNhcmQucmVtb3ZlQ2hpbGQoaG9sZGVyKTsgfWNhdGNoKF8peyB9CiAgICAgICAgICAvLyBTaSBmYWxsYSBsYSBBUEksIGRlamFtb3MgZWwgcPNzdGVyIGhhc3RhIGludGVyYWNjafNuCiAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nJzsgcG9zdGVyLnN0eWxlLnBvaW50ZXJFdmVudHM9Jyc7IH0KICAgICAgICAgIGNhcmQuX3l0SW5pdCA9IGZhbHNlOwogICAgICAgIH0pOwogICAgICB9CgogICAgICAvLyBJbmljaWFsaXphciBhdXRvbeF0aWNhbWVudGUgbG9zIHBsYXllcnMgZGUgbGFzIHRhcmpldGFzIHZpc2libGVzIGFsIGNhcmdhcgogICAgICB2YXIgaW5pdElPID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlbil7IGlmKGVuLmlzSW50ZXJzZWN0aW5nKXsgaW5pdFBsYXllckZvckNhcmQoZW4udGFyZ2V0KTsgfSB9KTsKICAgICAgfSwgeyByb290OiBudWxsLCB0aHJlc2hvbGQ6IDAuMjUgfSk7CiAgICAgIHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLmNhcmQnKS5mb3JFYWNoKGZ1bmN0aW9uKGMpeyBpbml0SU8ub2JzZXJ2ZShjKTsgfSk7CgogICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSl7CiAgICAgICAgdmFyIGEgPSBlLnRhcmdldC5jbG9zZXN0KCdhLmNhcmRbZGF0YS15dC1pZF0nKTsKICAgICAgICBpZighYSB8fCAhcm9vdC5jb250YWlucyhhKSkgcmV0dXJuOwogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICB2YXIgcG9zdGVyID0gYS5xdWVyeVNlbGVjdG9yKCdpbWcudGh1bWInKTsKICAgICAgICAvLyBzaW4gb3ZlcmxheXMgcGVyc29uYWxpemFkb3MKCiAgICAgICAgLy8gVG9nZ2xlIHNpIHlhIGhheSBwbGF5ZXIKICAgICAgICBpZiAoYS5feXRQbGF5ZXIpewogICAgICAgICAgdmFyIHAgPSBhLl95dFBsYXllcjsKICAgICAgICAgIGlmIChhLmNsYXNzTGlzdC5jb250YWlucygnaXMtcGF1c2VkJykpewogICAgICAgICAgICB0cnl7IHAudW5NdXRlKCk7IHAuc2V0Vm9sdW1lKDEwMCk7IHAucGxheVZpZGVvKCk7IH1jYXRjaChfKXsgfQogICAgICAgICAgICBhLmNsYXNzTGlzdC5yZW1vdmUoJ2lzLXBhdXNlZCcpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdHJ5eyBwLnBhdXNlVmlkZW8oKTsgfWNhdGNoKF8peyB9CiAgICAgICAgICAgIGEuY2xhc3NMaXN0LmFkZCgnaXMtcGF1c2VkJyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHN0b3BUZWFzZXIoYSk7CiAgICAgICAgdmFyIGlkID0gYS5nZXRBdHRyaWJ1dGUoJ2RhdGEteXQtaWQnKTsKICAgICAgICB2YXIgaG9sZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgaG9sZGVyLnN0eWxlLnBvc2l0aW9uPSdhYnNvbHV0ZSc7IGhvbGRlci5zdHlsZS5pbnNldD0nMCc7IGhvbGRlci5zdHlsZS53aWR0aD0nMTAwJSc7IGhvbGRlci5zdHlsZS5oZWlnaHQ9JzEwMCUnOyBob2xkZXIuc3R5bGUuYmFja2dyb3VuZD0nIzAwMCc7CiAgICAgICAgaWYocG9zdGVyKXsgYS5pbnNlcnRCZWZvcmUoaG9sZGVyLCBwb3N0ZXIpOyB9IGVsc2UgeyBhLmFwcGVuZENoaWxkKGhvbGRlcik7IH0KCiAgICAgICAgZW5zdXJlWVRBcGkoKS50aGVuKGZ1bmN0aW9uKCl7CiAgICAgICAgICB2YXIgcGxheWVyID0gbmV3IFlULlBsYXllcihob2xkZXIsIHsKICAgICAgICAgICAgdmlkZW9JZDogaWQsCiAgICAgICAgICAgIHBsYXllclZhcnM6IHsgYXV0b3BsYXk6MSwgY29udHJvbHM6MSwgcmVsOjAsIHBsYXlzaW5saW5lOjEsIGl2X2xvYWRfcG9saWN5OjMsIG1vZGVzdGJyYW5kaW5nOjEsIGZzOjEsIG9yaWdpbjogKGxvY2F0aW9uICYmIGxvY2F0aW9uLm9yaWdpbikgPyBsb2NhdGlvbi5vcmlnaW4gOiB1bmRlZmluZWQgfSwKICAgICAgICAgICAgZXZlbnRzOiB7CiAgICAgICAgICAgICAgb25SZWFkeTogZnVuY3Rpb24oZXYpewogICAgICAgICAgICAgICAgdHJ5eyBldi50YXJnZXQudW5NdXRlKCk7IGV2LnRhcmdldC5zZXRWb2x1bWUoMTAwKTsgZXYudGFyZ2V0LnBsYXlWaWRlbygpOyB9Y2F0Y2goXyl7fQogICAgICAgICAgICAgICAgLy8gRm9yemFyIGZ1bGxzY3JlZW4gZGlzcG9uaWJsZSBlbiBpZnJhbWUgSUZyYW1lIEFQSQogICAgICAgICAgICAgICAgdHJ5ewogICAgICAgICAgICAgICAgICB2YXIgaWZyID0gcGxheWVyLmdldElmcmFtZSAmJiBwbGF5ZXIuZ2V0SWZyYW1lKCk7CiAgICAgICAgICAgICAgICAgIGlmIChpZnIpewogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93ZnVsbHNjcmVlbicsJycpOwogICAgICAgICAgICAgICAgICAgIHZhciBjdXIgPSBpZnIuZ2V0QXR0cmlidXRlKCdhbGxvdycpIHx8ICcnOwogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93JywgKGN1ciA/IGN1ciArICc7ICcgOiAnJykgKyAnZnVsbHNjcmVlbicpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgaWYocG9zdGVyKXsgcG9zdGVyLnN0eWxlLnRyYW5zaXRpb24gPSBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiB8fCAnb3BhY2l0eSAuMTVzIGVhc2UnOyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IH0KICAgICAgICAgICAgICAgICAgYS5jbGFzc0xpc3QuYWRkKCdpcy1wbGF5aW5nJyk7CiAgICAgICAgICAgICAgICAgIGEuX3l0UGxheWVyID0gcGxheWVyOwogICAgICAgICAgICAgICAgfSwgMTAwKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCl7CiAgICAgICAgICAvLyBGYWxsYmFjazogaWZyYW1lIHNpbXBsZQogICAgICAgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwogICAgICAgICAgaWZyYW1lLnNyYyA9IG1ha2VFbWJlZFVybChpZCwge2F1dG9wbGF5OnRydWUsIG11dGU6ZmFsc2V9KTsKICAgICAgICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ2FsbG93JywgJ2F1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWE7IHBpY3R1cmUtaW4tcGljdHVyZScpOwogICAgICAgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnYWxsb3dmdWxsc2NyZWVuJywgJycpOwogICAgICAgICAgaWZyYW1lLnN0eWxlLnBvc2l0aW9uPSdhYnNvbHV0ZSc7IGlmcmFtZS5zdHlsZS5pbnNldD0nMCc7IGlmcmFtZS5zdHlsZS53aWR0aD0nMTAwJSc7IGlmcmFtZS5zdHlsZS5oZWlnaHQ9JzEwMCUnOyBpZnJhbWUuc3R5bGUuYm9yZGVyPScwJzsgaWZyYW1lLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsgaWZyYW1lLnN0eWxlLmJhY2tncm91bmQ9JyMwMDAnOwogICAgICAgICAgaG9sZGVyLnJlcGxhY2VXaXRoKGlmcmFtZSk7CiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IGEuY2xhc3NMaXN0LmFkZCgnaXMtcGxheWluZycpOyB9LCAxNTApOwogICAgICAgIH0pOwogICAgICB9KTsKCiAgICAgIAogICAgfSkoKTsKICAgIDwvc2NyaXB0Pg==
      CiAgICA8c3R5bGU+CiAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MnKTsKCiAgICAvKiBDb250ZW5lZG9yIHByaW5jaXBhbCBsaW1pdGFkbyBhIDk2MHB4IGVuIGVzY3JpdG9yaW8gKi8KICAgIC5jdi10bXd4MSAuc2VjdGlvbnttYXgtd2lkdGg6OTYwcHg7bWFyZ2luOjAgYXV0bzt3aWR0aDoxMDAlfQoKICAgIC5jdi10bXd4MSAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjo4cHggMCA1MHB4fQogICAgLmN2LXRtd3gxIC5mbmQtbGluZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMjVweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9CiAgICAuY3YtdG13eDEgLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzMzMztmb250LXNpemU6NDJweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CgogICAgLmN2LXRtd3gxIC5jYXJvdXNlbHstLWdhcDoxNnB4Oy0tcGVlazoxMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ2FwKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206NnB4fQogICAgLmN2LXRtd3gxIC50cmFja3tkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLWdhcCk7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtwYWRkaW5nLXJpZ2h0OnZhcigtLXBlZWspfQogICAgLmN2LXRtd3gxIC50cmFjazo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfQogICAgLmN2LXRtd3gxIC5jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXg6MCAwIGF1dG87c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQ7d2lkdGg6Y2FsYygoMTAwJSAtIDIqdmFyKC0tZ2FwKSAtIHZhcigtLXBlZWspKS8zKTthc3BlY3QtcmF0aW86OS8xNjtib3JkZXItcmFkaXVzOjEwcHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzAwMDtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2UsIHRyYW5zZm9ybSAuNHMgZWFzZX0KICAgIC5jdi10bXd4MSAuY2FyZC5pcy1pbntvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9CgogICAgLmN2LXRtd3gxIC50aHVtYntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2UsIG9wYWNpdHkgLjI1cyBlYXNlO3RyYW5zZm9ybTpzY2FsZSgxLjAxKX0KICAgIC5jdi10bXd4MSAuY2FyZDpob3ZlciAudGh1bWIsLmN2LXRtd3gxIC5jYXJkOmZvY3VzLXZpc2libGUgLnRodW1ie3RyYW5zZm9ybTpzY2FsZSgxLjA2KX0KICAgIC8qIFNpbiBvdmVybGF5cyBwZXJzb25hbGl6YWRvczogc2UgdXNhbiBjb250cm9sZXMgbmF0aXZvcyBkZWwgcGxheWVyICovCgogICAgLmN2LXRtd3gxIC5hcntwb3NpdGlvbjpyZWxhdGl2ZX0KICAgIC5jdi10bXd4MSAuYXJyb3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6cmdiKDI1NSAyNTUgMjU1IC8gMjAlKTtib3gtc2hhZG93OjAgNnB4IDE2cHggcmdiKDAgMCAwIC8gMjAlKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6Mjt0cmFuc2l0aW9uOi4zc30KICAgIC5jdi10bXd4MSAuYXJyb3c6aG92ZXJ7YmFja2dyb3VuZDpyZ2IoMCAwIDAgLyAyMCUpO2JvcmRlcjoxcHggc29saWQgI2ZmZn0KICAgIC5jdi10bXd4MSAuYXJyb3c6Zm9jdXN7YmFja2dyb3VuZDpyZ2IoMjU1IDI1NSAyNTUgLyAyMCUpfQogICAgLmN2LXRtd3gxIC5hcnJvdyBzdmd7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0KICAgIC5jdi10bXd4MSAuYXJyb3cubGVmdHtsZWZ0OjEwcHh9CiAgICAuY3YtdG13eDEgLmFycm93LnJpZ2h0e3JpZ2h0OjEwcHh9CgogICAgQG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpewogICAgICAvKiBFbiBt83ZpbCwgZWwgY29udGVuZWRvciBvY3VwYSB0b2RvIGVsIGFuY2hvICovCiAgICAgIC5jdi10bXd4MSAuc2VjdGlvbnttYXgtd2lkdGg6MTAwJX0KICAgICAgLmN2LXRtd3gxIC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CiAgICAgIC5jdi10bXd4MSAuY2Fyb3VzZWx7LS1wZWVrOjEyJX0KICAgICAgLyogMiB0YXJqZXRhcyBjb21wbGV0YXMgKyB1biBwZWVrIGRlIGxhIDOqICovCiAgICAgIC5jdi10bXd4MSAuY2FyZHt3aWR0aDpjYWxjKCgxMDAlIC0gNCp2YXIoLS1nYXApIC0gdmFyKC0tcGVlaykpLzEpfQogICAgICAuY3YtdG13eDEgLmFycm93e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fQogICAgICAuY3YtdG13eDEgLnRyYWNre292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmhpZGRlbjtwYWRkaW5nLXJpZ2h0OnZhcigtLXBlZWspfQogICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJjdi10bXd4MSI+CiAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBhcmlhLWxhYmVsPSJDYXJydXNlbCBkZSB27WRlb3MgKFNob3J0cykiPgogICAgICAgIDxkaXYgY2xhc3M9ImJnLXNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Mb3MgJ3Nob3J0cycgZGUgT0tESUFSSU88L2gyPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImZuZC1saW5lYSI+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFyIiByb2xlPSJyZWdpb24iIGFyaWEtbGFiZWw9Ikxpc3RhZG8gZGUgdu1kZW9zIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFycm93IGxlZnQiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iQW50ZXJpb3IiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xNSA2bC02IDYgNiA2IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFycm93IHJpZ2h0IiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IlNpZ3VpZW50ZSI+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTkgMThsNi02LTYtNiIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJvdXNlbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyYWNrIiByb2xlPSJsaXN0Ij4KCiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy8wZHhTSUlZVW9DVSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IjBkeFNJSVlVb0NVIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvMGR4U0lJWVVvQ1UvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDEiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvdXdQWk9vamtLWkkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJ1d1BaT29qa0taSSIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL3V3UFpPb2prS1pJL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCAyIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzLzJEQWNzdkdSNzVVIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iMkRBY3N2R1I3NVUiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8yREFjc3ZHUjc1VS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgMyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy82bGtXTUNlNnFqbyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IjZsa1dNQ2U2cWpvIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvNmxrV01DZTZxam8vaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDQiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvQ2ktTVRiM1NsVlUiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJDaS1NVGIzU2xWVSIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0NpLU1UYjNTbFZVL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA1IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL1Q3aFBKUnBXdUFFIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iVDdoUEpScFd1QUUiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9UN2hQSlJwV3VBRS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgNiIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9wbDFDZDlESFVZVSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9InBsMUNkOURIVVlVIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvcGwxQ2Q5REhVWVUvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDciIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3NlY3Rpb24+CiAgICA8L2Rpdj4KICAgIDxzY3JpcHQ+CiAgICAoZnVuY3Rpb24oKXsKICAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY3YtdG13eDEnKTsKICAgICAgaWYgKCFyb290KSByZXR1cm47CiAgICAgIHZhciB0cmFjayA9IHJvb3QucXVlcnlTZWxlY3RvcignLnRyYWNrJyk7CiAgICAgIGlmICghdHJhY2spIHJldHVybjsKCiAgICAgIHZhciBhcnJvd3MgPSByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hcnJvdycpOwogICAgICB2YXIgR0FQID0gMTY7CgogICAgICBmdW5jdGlvbiBnZXRDYXJkV2lkdGgoKXsKICAgICAgICB2YXIgZmlyc3QgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy5jYXJkJyk7CiAgICAgICAgaWYgKCFmaXJzdCkgcmV0dXJuIDA7CiAgICAgICAgcmV0dXJuIGZpcnN0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoOwogICAgICB9CgogICAgICBmdW5jdGlvbiBnZXRDYXJkc1BlclBhZ2UoKXsKICAgICAgICByZXR1cm4gKHdpbmRvdy5pbm5lcldpZHRoIDw9IDc2OCkgPyAyIDogNDsKICAgICAgfQoKICAgICAgYXJyb3dzLmZvckVhY2goZnVuY3Rpb24oYnRuKXsKICAgICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsKICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgIHZhciBkaXIgPSB0aGlzLmNsYXNzTGlzdC5jb250YWlucygnbGVmdCcpID8gLTEgOiAxOwogICAgICAgICAgdmFyIGNhcmRXID0gZ2V0Q2FyZFdpZHRoKCk7CiAgICAgICAgICBpZiAoIWNhcmRXKSByZXR1cm47CiAgICAgICAgICB2YXIgc3RlcCA9IChjYXJkVyArIEdBUCkgKiBnZXRDYXJkc1BlclBhZ2UoKSAqIGRpcjsKICAgICAgICAgIHRyYWNrLnNjcm9sbEJ5KHsgbGVmdDogc3RlcCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pOwogICAgICAgIH0pOwogICAgICB9KTsKCiAgICAgIC8vIEZhZGUtaW4gYWwgZW50cmFyIGVuIHZpZXdwb3J0CiAgICAgIHZhciBpbyA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihlbnRyaWVzKXsKICAgICAgICBlbnRyaWVzLmZvckVhY2goZnVuY3Rpb24oZW4peyBpZihlbi5pc0ludGVyc2VjdGluZyl7IGVuLnRhcmdldC5jbGFzc0xpc3QuYWRkKCdpcy1pbicpOyB9IH0pOwogICAgICB9LCB7IHJvb3Q6IHRyYWNrLCB0aHJlc2hvbGQ6IDAuMSB9KTsKICAgICAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuY2FyZCcpLmZvckVhY2goZnVuY3Rpb24oYyl7IGlvLm9ic2VydmUoYyk7IH0pOwoKICAgICAgLy8gQ2xpY2sgcGVyc2lzdGVudGUgKHNpbiB0ZWFzZXIgcG9yIGhvdmVyKQogICAgICBmdW5jdGlvbiBtYWtlRW1iZWRVcmwoaWQsIG9wdHMpewogICAgICAgIHZhciBxcyA9IFsKICAgICAgICAgICdhdXRvcGxheT0nICsgKG9wdHMgJiYgb3B0cy5hdXRvcGxheT8gJzEnOicwJyksCiAgICAgICAgICAncGxheXNpbmxpbmU9MScsJ2ZzPTEnLCdpdl9sb2FkX3BvbGljeT0zJywnc2hvd2luZm89MScsJ3JlbD0wJywnY2NfbG9hZF9wb2xpY3k9MCcsJ3N0YXJ0PTAnLAogICAgICAgICAgJ211dGU9JyArIChvcHRzICYmIG9wdHMubXV0ZT8gJzEnOicwJyksCiAgICAgICAgICAob3B0cyAmJiBvcHRzLmNvbnRyb2xzPT09MD8gJ2NvbnRyb2xzPTAnOidjb250cm9scz0xJyksCiAgICAgICAgICAnbW9kZXN0YnJhbmRpbmc9MScsJ2VuYWJsZWpzYXBpPTEnCiAgICAgICAgXS5qb2luKCcmJyk7CiAgICAgICAgcmV0dXJuICdodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8nICsgaWQgKyAnPycgKyBxczsKICAgICAgfQoKICAgICAgLy8gQ2FyZ2FyIEFQSSBkZSBZb3VUdWJlIGJham8gZGVtYW5kYQogICAgICB2YXIgeXRBcGlQcm9taXNlID0gbnVsbDsKICAgICAgZnVuY3Rpb24gZW5zdXJlWVRBcGkoKXsKICAgICAgICBpZiAod2luZG93LllUICYmIHdpbmRvdy5ZVC5QbGF5ZXIpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKICAgICAgICBpZiAoeXRBcGlQcm9taXNlKSByZXR1cm4geXRBcGlQcm9taXNlOwogICAgICAgIHl0QXBpUHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpewogICAgICAgICAgdmFyIHByZXZDYiA9IHdpbmRvdy5vbllvdVR1YmVJZnJhbWVBUElSZWFkeTsKICAgICAgICAgIHdpbmRvdy5vbllvdVR1YmVJZnJhbWVBUElSZWFkeSA9IGZ1bmN0aW9uKCl7IGlmICh0eXBlb2YgcHJldkNiPT09J2Z1bmN0aW9uJykgeyB0cnl7IHByZXZDYigpOyB9Y2F0Y2goXyl7fSB9IHJlc29sdmUoKTsgfTsKICAgICAgICAgIHZhciBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgICAgICBzLnNyYyA9ICdodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpJzsKICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyk7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIHl0QXBpUHJvbWlzZTsKICAgICAgfQoKICAgICAgLy8gSW5zdGFuY2lhciBwbGF5ZXIgbmF0aXZvIGVuIHRhcmpldGFzIHZpc2libGVzIHBhcmEgcXVlIGVsIGljb25vIGRlIHBsYXkgYXBhcmV6Y2EgZGVzZGUgZWwgaW5pY2lvCiAgICAgIGZ1bmN0aW9uIGluaXRQbGF5ZXJGb3JDYXJkKGNhcmQpewogICAgICAgIGlmKCFjYXJkIHx8IGNhcmQuX3l0UGxheWVyIHx8IGNhcmQuX3l0SW5pdCkgcmV0dXJuOwogICAgICAgIHZhciBpZCA9IGNhcmQuZ2V0QXR0cmlidXRlKCdkYXRhLXl0LWlkJyk7CiAgICAgICAgaWYoIWlkKSByZXR1cm47CiAgICAgICAgY2FyZC5feXRJbml0ID0gdHJ1ZTsKICAgICAgICB2YXIgcG9zdGVyID0gY2FyZC5xdWVyeVNlbGVjdG9yKCdpbWcudGh1bWInKTsKICAgICAgICB2YXIgaG9sZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgaG9sZGVyLnN0eWxlLnBvc2l0aW9uPSdhYnNvbHV0ZSc7IGhvbGRlci5zdHlsZS5pbnNldD0nMCc7IGhvbGRlci5zdHlsZS53aWR0aD0nMTAwJSc7IGhvbGRlci5zdHlsZS5oZWlnaHQ9JzEwMCUnOyBob2xkZXIuc3R5bGUuYmFja2dyb3VuZD0nIzAwMCc7CiAgICAgICAgaWYocG9zdGVyKXsgY2FyZC5pbnNlcnRCZWZvcmUoaG9sZGVyLCBwb3N0ZXIpOyB9IGVsc2UgeyBjYXJkLmFwcGVuZENoaWxkKGhvbGRlcik7IH0KICAgICAgICAvLyBPY3VsdGFtb3MgZWwgcPNzdGVyIGN1YW50byBhbnRlcyBwYXJhIGRlamFyIHZlciBlbCBvdmVybGF5IG5hdGl2bwogICAgICAgIGlmKHBvc3Rlcil7IHBvc3Rlci5zdHlsZS50cmFuc2l0aW9uID0gcG9zdGVyLnN0eWxlLnRyYW5zaXRpb24gfHwgJ29wYWNpdHkgLjE1cyBlYXNlJzsgcG9zdGVyLnN0eWxlLm9wYWNpdHk9JzAnOyBwb3N0ZXIuc3R5bGUucG9pbnRlckV2ZW50cz0nbm9uZSc7IH0KICAgICAgICBlbnN1cmVZVEFwaSgpLnRoZW4oZnVuY3Rpb24oKXsKICAgICAgICAgIHZhciBwbGF5ZXIgPSBuZXcgWVQuUGxheWVyKGhvbGRlciwgewogICAgICAgICAgICB2aWRlb0lkOiBpZCwKICAgICAgICAgICAgcGxheWVyVmFyczogeyBhdXRvcGxheTowLCBjb250cm9sczoxLCByZWw6MCwgcGxheXNpbmxpbmU6MSwgaXZfbG9hZF9wb2xpY3k6MywgbW9kZXN0YnJhbmRpbmc6MSwgZnM6MSwgb3JpZ2luOiAobG9jYXRpb24gJiYgbG9jYXRpb24ub3JpZ2luKSA/IGxvY2F0aW9uLm9yaWdpbiA6IHVuZGVmaW5lZCB9LAogICAgICAgICAgICBldmVudHM6IHsKICAgICAgICAgICAgICBvblJlYWR5OiBmdW5jdGlvbigpewogICAgICAgICAgICAgICAgaWYocG9zdGVyKXsgcG9zdGVyLnN0eWxlLm9wYWNpdHk9JzAnOyBwb3N0ZXIuc3R5bGUucG9pbnRlckV2ZW50cz0nbm9uZSc7IH0KICAgICAgICAgICAgICAgIC8vIEZvcnphciBwZXJtaXNvcyBkZSBwYW50YWxsYSBjb21wbGV0YSBlbiBlbCBpZnJhbWUgZ2VuZXJhZG8KICAgICAgICAgICAgICAgIHRyeXsKICAgICAgICAgICAgICAgICAgdmFyIGlmciA9IHBsYXllci5nZXRJZnJhbWUgJiYgcGxheWVyLmdldElmcmFtZSgpOwogICAgICAgICAgICAgICAgICBpZiAoaWZyKXsKICAgICAgICAgICAgICAgICAgICBpZnIuc2V0QXR0cmlidXRlKCdhbGxvd2Z1bGxzY3JlZW4nLCcnKTsKICAgICAgICAgICAgICAgICAgICB2YXIgY3VyID0gaWZyLmdldEF0dHJpYnV0ZSgnYWxsb3cnKSB8fCAnJzsKICAgICAgICAgICAgICAgICAgICBpZnIuc2V0QXR0cmlidXRlKCdhbGxvdycsIChjdXIgPyBjdXIgKyAnOyAnIDogJycpICsgJ2Z1bGxzY3JlZW4nKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfWNhdGNoKF8peyB9CiAgICAgICAgICAgICAgICBjYXJkLl95dFBsYXllciA9IHBsYXllcjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCl7CiAgICAgICAgICB0cnl7IGNhcmQucmVtb3ZlQ2hpbGQoaG9sZGVyKTsgfWNhdGNoKF8peyB9CiAgICAgICAgICAvLyBTaSBmYWxsYSBsYSBBUEksIGRlamFtb3MgZWwgcPNzdGVyIGhhc3RhIGludGVyYWNjafNuCiAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nJzsgcG9zdGVyLnN0eWxlLnBvaW50ZXJFdmVudHM9Jyc7IH0KICAgICAgICAgIGNhcmQuX3l0SW5pdCA9IGZhbHNlOwogICAgICAgIH0pOwogICAgICB9CgogICAgICAvLyBJbmljaWFsaXphciBhdXRvbeF0aWNhbWVudGUgbG9zIHBsYXllcnMgZGUgbGFzIHRhcmpldGFzIHZpc2libGVzIGFsIGNhcmdhcgogICAgICB2YXIgaW5pdElPID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlbil7IGlmKGVuLmlzSW50ZXJzZWN0aW5nKXsgaW5pdFBsYXllckZvckNhcmQoZW4udGFyZ2V0KTsgfSB9KTsKICAgICAgfSwgeyByb290OiBudWxsLCB0aHJlc2hvbGQ6IDAuMjUgfSk7CiAgICAgIHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLmNhcmQnKS5mb3JFYWNoKGZ1bmN0aW9uKGMpeyBpbml0SU8ub2JzZXJ2ZShjKTsgfSk7CgogICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSl7CiAgICAgICAgdmFyIGEgPSBlLnRhcmdldC5jbG9zZXN0KCdhLmNhcmRbZGF0YS15dC1pZF0nKTsKICAgICAgICBpZighYSB8fCAhcm9vdC5jb250YWlucyhhKSkgcmV0dXJuOwogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICB2YXIgcG9zdGVyID0gYS5xdWVyeVNlbGVjdG9yKCdpbWcudGh1bWInKTsKICAgICAgICAvLyBzaW4gb3ZlcmxheXMgcGVyc29uYWxpemFkb3MKCiAgICAgICAgLy8gVG9nZ2xlIHNpIHlhIGhheSBwbGF5ZXIKICAgICAgICBpZiAoYS5feXRQbGF5ZXIpewogICAgICAgICAgdmFyIHAgPSBhLl95dFBsYXllcjsKICAgICAgICAgIGlmIChhLmNsYXNzTGlzdC5jb250YWlucygnaXMtcGF1c2VkJykpewogICAgICAgICAgICB0cnl7IHAudW5NdXRlKCk7IHAuc2V0Vm9sdW1lKDEwMCk7IHAucGxheVZpZGVvKCk7IH1jYXRjaChfKXsgfQogICAgICAgICAgICBhLmNsYXNzTGlzdC5yZW1vdmUoJ2lzLXBhdXNlZCcpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdHJ5eyBwLnBhdXNlVmlkZW8oKTsgfWNhdGNoKF8peyB9CiAgICAgICAgICAgIGEuY2xhc3NMaXN0LmFkZCgnaXMtcGF1c2VkJyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIHN0b3BUZWFzZXIoYSk7CiAgICAgICAgdmFyIGlkID0gYS5nZXRBdHRyaWJ1dGUoJ2RhdGEteXQtaWQnKTsKICAgICAgICB2YXIgaG9sZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgaG9sZGVyLnN0eWxlLnBvc2l0aW9uPSdhYnNvbHV0ZSc7IGhvbGRlci5zdHlsZS5pbnNldD0nMCc7IGhvbGRlci5zdHlsZS53aWR0aD0nMTAwJSc7IGhvbGRlci5zdHlsZS5oZWlnaHQ9JzEwMCUnOyBob2xkZXIuc3R5bGUuYmFja2dyb3VuZD0nIzAwMCc7CiAgICAgICAgaWYocG9zdGVyKXsgYS5pbnNlcnRCZWZvcmUoaG9sZGVyLCBwb3N0ZXIpOyB9IGVsc2UgeyBhLmFwcGVuZENoaWxkKGhvbGRlcik7IH0KCiAgICAgICAgZW5zdXJlWVRBcGkoKS50aGVuKGZ1bmN0aW9uKCl7CiAgICAgICAgICB2YXIgcGxheWVyID0gbmV3IFlULlBsYXllcihob2xkZXIsIHsKICAgICAgICAgICAgdmlkZW9JZDogaWQsCiAgICAgICAgICAgIHBsYXllclZhcnM6IHsgYXV0b3BsYXk6MSwgY29udHJvbHM6MSwgcmVsOjAsIHBsYXlzaW5saW5lOjEsIGl2X2xvYWRfcG9saWN5OjMsIG1vZGVzdGJyYW5kaW5nOjEsIGZzOjEsIG9yaWdpbjogKGxvY2F0aW9uICYmIGxvY2F0aW9uLm9yaWdpbikgPyBsb2NhdGlvbi5vcmlnaW4gOiB1bmRlZmluZWQgfSwKICAgICAgICAgICAgZXZlbnRzOiB7CiAgICAgICAgICAgICAgb25SZWFkeTogZnVuY3Rpb24oZXYpewogICAgICAgICAgICAgICAgdHJ5eyBldi50YXJnZXQudW5NdXRlKCk7IGV2LnRhcmdldC5zZXRWb2x1bWUoMTAwKTsgZXYudGFyZ2V0LnBsYXlWaWRlbygpOyB9Y2F0Y2goXyl7fQogICAgICAgICAgICAgICAgLy8gRm9yemFyIGZ1bGxzY3JlZW4gZGlzcG9uaWJsZSBlbiBpZnJhbWUgSUZyYW1lIEFQSQogICAgICAgICAgICAgICAgdHJ5ewogICAgICAgICAgICAgICAgICB2YXIgaWZyID0gcGxheWVyLmdldElmcmFtZSAmJiBwbGF5ZXIuZ2V0SWZyYW1lKCk7CiAgICAgICAgICAgICAgICAgIGlmIChpZnIpewogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93ZnVsbHNjcmVlbicsJycpOwogICAgICAgICAgICAgICAgICAgIHZhciBjdXIgPSBpZnIuZ2V0QXR0cmlidXRlKCdhbGxvdycpIHx8ICcnOwogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93JywgKGN1ciA/IGN1ciArICc7ICcgOiAnJykgKyAnZnVsbHNjcmVlbicpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgaWYocG9zdGVyKXsgcG9zdGVyLnN0eWxlLnRyYW5zaXRpb24gPSBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiB8fCAnb3BhY2l0eSAuMTVzIGVhc2UnOyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IH0KICAgICAgICAgICAgICAgICAgYS5jbGFzc0xpc3QuYWRkKCdpcy1wbGF5aW5nJyk7CiAgICAgICAgICAgICAgICAgIGEuX3l0UGxheWVyID0gcGxheWVyOwogICAgICAgICAgICAgICAgfSwgMTAwKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCl7CiAgICAgICAgICAvLyBGYWxsYmFjazogaWZyYW1lIHNpbXBsZQogICAgICAgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwogICAgICAgICAgaWZyYW1lLnNyYyA9IG1ha2VFbWJlZFVybChpZCwge2F1dG9wbGF5OnRydWUsIG11dGU6ZmFsc2V9KTsKICAgICAgICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoJ2FsbG93JywgJ2F1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWE7IHBpY3R1cmUtaW4tcGljdHVyZScpOwogICAgICAgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnYWxsb3dmdWxsc2NyZWVuJywgJycpOwogICAgICAgICAgaWZyYW1lLnN0eWxlLnBvc2l0aW9uPSdhYnNvbHV0ZSc7IGlmcmFtZS5zdHlsZS5pbnNldD0nMCc7IGlmcmFtZS5zdHlsZS53aWR0aD0nMTAwJSc7IGlmcmFtZS5zdHlsZS5oZWlnaHQ9JzEwMCUnOyBpZnJhbWUuc3R5bGUuYm9yZGVyPScwJzsgaWZyYW1lLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsgaWZyYW1lLnN0eWxlLmJhY2tncm91bmQ9JyMwMDAnOwogICAgICAgICAgaG9sZGVyLnJlcGxhY2VXaXRoKGlmcmFtZSk7CiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IGEuY2xhc3NMaXN0LmFkZCgnaXMtcGxheWluZycpOyB9LCAxNTApOwogICAgICAgIH0pOwogICAgICB9KTsKCiAgICAgIAogICAgfSkoKTsKICAgIDwvc2NyaXB0Pg==
    • Kia renueva su exitoso XCeed con mejoras en conectividad, seguridad y opciones electrificadas
        • Motor
        • Motor

      Kia renueva su exitoso XCeed con mejoras en conectividad, seguridad y opciones electrificadas

      El segmento de los crossovers compactos recibe una de sus actualizaciones más esperadas con el lanzamiento del nuevo Kia XCeed. Manteniendo la esencia que le ha convertido en uno de los preferidos del mercado por su combinación de estilo, dinamismo y practicidad diaria, la marca surcoreana introduce mejoras sustanciales en diseño, conectividad avanzada, seguridad y confort de marcha.
      • OKDIARIO
      • 2026-09-07 07:00
    • PHN0eWxlPgogICNjaW50aWxsby1lY2kgewogICAgLyogQSBjb250aW51YWNp824gc2UgZXNwZWNpZmljYSBlbCBjb2xvciBkZWwgZm9uZG8gKi8KICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7CiAgICAvKiBBIGNvbnRpbnVhY2nzbiBzZSBlc3BlY2lmaWNhIGVsIGNvbG9yIGRlbCB0ZXh0byAqLwogICAgY29sb3I6ICMwMDA7CiAgICAvKiBSZWxsZW5vIHBhcmEgZGFyIGVzcGFjaW8gYWwgY29udGVuaWRvICovCiAgICBwYWRkaW5nOiA4cHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJzsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICAuZWNpLXRpdHVsbyB7CiAgICAvKiBFbCB0YW1h8W8gZGVsIHRleHRvIGRlbCBjb250aWxsbyAqLwogICAgICBmb250LXNpemU6IDI0cHg7CiAgfQogIC5lY2ktbG9nbyB7fQogIC5lY2ktbG9nbyBwIHsKICAgIC8qIEVsIHRhbWHxbyBkZWwgdGV4dG8ganVudG8gYWwgbG9nbyAqLwogICAgZm9udC1zaXplOiAxMHB4OwogIH0KICAuZWNpLWxvZ28gaW1nIHsKICAgIC8qIEVsIHRhbWHxbyBkZWwgbG9nbyAqLwogICAgd2lkdGg6IDEyMHB4OwogICAgaGVpZ2h0OiAzMHB4OwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgfQoKPC9zdHlsZT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cuZWxjb3J0ZWluZ2xlcy5lcy8iIHRhcmdldD0iX2JsYW5rIiBpZD0iY2ludGlsbG8tZWNpIj4KICA8ZGl2IGNsYXNzPSJlY2ktdGl0dWxvIj4KICAgIDwhLS0gRWRpdGFyIGVzdGUgdGV4dG8gSU5JQ0lPIC0tPgogICAgSW5zcGlyYWNp824geSB0ZW5kZW5jaWFzCiAgICA8IS0tIEVkaXRhciBlc3RlIHRleHRvIEZJTiAtLT4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJlY2ktbG9nbyI+CiAgICA8cD4KICAgICAgPCEtLSBFZGl0YXIgZXN0ZSB0ZXh0byBJTklDSU8gLS0+CiAgICAgIEVuIGNvbGFib3JhY2nzbiBjb24KICAgICAgPCEtLSBFZGl0YXIgZXN0ZSB0ZXh0byBGSU4gLS0+CiAgICA8L3A+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2ltZy8yMDI2LzA4LzI3L2xvZ28tZWwtY29ydGUtaW5nbGVzLW5lZ3JvLmpwZyIgYWx0PSJFbCBDb3J0ZSBJbmds6XMiPgogIDwvZGl2Pgo8L2E+
      PHN0eWxlPgogICNjaW50aWxsby1lY2kgewogICAgLyogQSBjb250aW51YWNp824gc2UgZXNwZWNpZmljYSBlbCBjb2xvciBkZWwgZm9uZG8gKi8KICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7CiAgICAvKiBBIGNvbnRpbnVhY2nzbiBzZSBlc3BlY2lmaWNhIGVsIGNvbG9yIGRlbCB0ZXh0byAqLwogICAgY29sb3I6ICMwMDA7CiAgICAvKiBSZWxsZW5vIHBhcmEgZGFyIGVzcGFjaW8gYWwgY29udGVuaWRvICovCiAgICBwYWRkaW5nOiA4cHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJzsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICAuZWNpLXRpdHVsbyB7CiAgICAvKiBFbCB0YW1h8W8gZGVsIHRleHRvIGRlbCBjb250aWxsbyAqLwogICAgICBmb250LXNpemU6IDI0cHg7CiAgfQogIC5lY2ktbG9nbyB7fQogIC5lY2ktbG9nbyBwIHsKICAgIC8qIEVsIHRhbWHxbyBkZWwgdGV4dG8ganVudG8gYWwgbG9nbyAqLwogICAgZm9udC1zaXplOiAxMHB4OwogIH0KICAuZWNpLWxvZ28gaW1nIHsKICAgIC8qIEVsIHRhbWHxbyBkZWwgbG9nbyAqLwogICAgd2lkdGg6IDEyMHB4OwogICAgaGVpZ2h0OiAzMHB4OwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgfQoKPC9zdHlsZT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cuZWxjb3J0ZWluZ2xlcy5lcy8iIHRhcmdldD0iX2JsYW5rIiBpZD0iY2ludGlsbG8tZWNpIj4KICA8ZGl2IGNsYXNzPSJlY2ktdGl0dWxvIj4KICAgIDwhLS0gRWRpdGFyIGVzdGUgdGV4dG8gSU5JQ0lPIC0tPgogICAgSW5zcGlyYWNp824geSB0ZW5kZW5jaWFzCiAgICA8IS0tIEVkaXRhciBlc3RlIHRleHRvIEZJTiAtLT4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJlY2ktbG9nbyI+CiAgICA8cD4KICAgICAgPCEtLSBFZGl0YXIgZXN0ZSB0ZXh0byBJTklDSU8gLS0+CiAgICAgIEVuIGNvbGFib3JhY2nzbiBjb24KICAgICAgPCEtLSBFZGl0YXIgZXN0ZSB0ZXh0byBGSU4gLS0+CiAgICA8L3A+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2ltZy8yMDI2LzA4LzI3L2xvZ28tZWwtY29ydGUtaW5nbGVzLW5lZ3JvLmpwZyIgYWx0PSJFbCBDb3J0ZSBJbmds6XMiPgogIDwvZGl2Pgo8L2E+
    • No ha vendido Ceuta, la ha regalado
    • Ayuso amplía las ayudas a la maternidad de 500 € al mes a las madres de hasta 35 años que tengan un tercer hijo
        • España
        • España

      Ayuso amplía ayudas a la maternidad de 500 € al mes a las madres de hasta 35 años que tengan un tercer hijo...

      • Pablo Romero-Salazar
      • 2026-09-10 05:45
    • Ayuso llevará a EEUU la exposición
        • España
        • España

      ...y llevará la exposición 'Víctimas de ETA' a Washington: se exhibirá en el Museo de las Víctimas del Comunismo

      • Pablo Romero-Salazar
      • 2026-09-10 05:49
    • Banco Santander y Fórmula 1: 20 años de historia y el regreso del Gran Premio a Madrid
    • La entrevista a Sánchez, ruido blanco
    • Detenido el cabecilla de la macroestafa inmobiliaria de Lujo Casa que llevaba nueve meses fugado
        • Sucesos
        • Sucesos

      Detenido el cabecilla de la macroestafa inmobiliaria de Lujo Casa que llevaba 9 meses fugado

      • Carlos Carpio
      • 2026-09-10 14:05
    • El coche autónomo llega a Madrid: WeRide y Uber reciben el primer permiso nacional para la conducción de nivel 4
        • Motor
        • Motor

      El coche autónomo llega a Madrid: WeRide y Uber reciben el permiso para la conducción de nivel 4

      • Andrea Aguado
      • 2026-09-10 11:00
    • Madrid responde a Mónica García: 39 días de espera en el cribado y 21 en mamografías médicas
        • OkSalud
        • OkSalud

      Madrid responde a Mónica García: 39 días de espera en el cribado y 21 en mamografías médicas

      • Diego Buenosvinos
      • 2026-09-10 05:40
    • Episodios ceutíes en la Puta Espanya
    • Aerosol y humo no son lo mismo: qué dice la ciencia sobre las alternativas al cigarrillo
    • Madrid extiende la IA a la Administración, la sanidad, la educación y las pymes con más de 64 millones de inversión
        • España
        • España

      Madrid extiende la IA a la Administración, la sanidad, la educación y las pymes con más de 64 millones de inversión

      La Comunidad de Madrid extenderá la Inteligencia Artificial a la Administración regional, la sanidad pública, la educación y el tejido empresarial con una inversión que supera los 64 millones de euros. El grueso de esa cantidad, 50 millones, se destinará a la creación de una Factoría de IA, un centro de innovación en el que startups, empresas, instituciones y universidades desarrollarán soluciones aplicadas tanto a los servicios públicos como al tejido productivo madrileño.
      • Pablo Romero-Salazar
      • 2026-09-10 05:45
    • La honradez por bandera de un chófer de la EMT de Palma: devuelve una bolsa extraviada en el bus con 2.800 euros
        • OkBaleares
        • OkBaleares

      La honradez por bandera de un chófer de la EMT de Palma: devuelve una bolsa extraviada en el bus con 2.800 euros

      • Indalecio Ribelles
      • 2026-09-10 13:44
    • CaixaBank acompaña a la nueva generación del baloncesto femenino español
    • Pedro Sánchez y el síndrome de Chernóbil
    • Baleares acusa a Sánchez de ocultar informes sobre Ceuta: Desclasifican lo que les interesa
        • OkBaleares
        • OkBaleares

      Baleares acusa a Sánchez de "ocultar informes" sobre Ceuta: "Desclasifican lo que les interesa"

      • Indalecio Ribelles
      • 2026-09-10 13:40
    • Los taxistas de Palma podrán trabajar sin descanso en otoño e invierno las noches de fin de semana
        • OkBaleares
        • OkBaleares

      Los taxistas de Palma podrán trabajar sin descanso las noches de fin de semana

      • Indalecio Ribelles
      • 2026-09-10 04:00
    • Baleares veta por unanimidad la venta de bebidas energéticas a menores de 18 años
        • OkBaleares
        • OkBaleares

      Baleares veta por unanimidad la venta de bebidas energéticas a menores de 18 años

      • Indalecio Ribelles
      • 2026-09-10 04:00
    • si te lo perdiste...

    • Huele a dinero y lujo: el perfume de Mercadona que me compré por probar y uso a todas horas
        • Economía
        • Economía

      Huele a dinero y lujo: el perfume de Mercadona que me compré por probar y uso a todas horas

      • Blanca Espada
      • 2026-09-10 12:56
    • Más allá del cocido: el manjar de dioses injustamente olvidado en Madrid que pocos madrileños han probado en su vida
        • Gastronomía
        • Gastronomía

      Más allá del cocido: el manjar de dioses injustamente olvidado en Madrid que pocos han probado 

      • Manuel Morera
      • 2026-09-10 13:00
    • Parece un simple crustáceo, pero en realidad es una especie invasora en España que fue introducida por Felipe II en 1588
        • Curiosidades
        • Curiosidades

      Parece un simple crustáceo, pero es una especie invasora en España que fue introducida por Felipe II en 1588

      Desde hace décadas, el cangrejo de río ibérico está catalogado como una especie autóctona y protegido por ley. Sin embargo, un estudio publicado en Biological Conservation sostiene que el cangrejo de río presente en la península no es una especie autóctona, sino que fue introducido artificialmente desde Italia a finales del siglo XVI por iniciativa directa de Felipe II, y podría ser una especie invasora.
      • Janire Manzanas
      • 2026-09-10 12:54
    • El SEPE lo confirma: esta ayuda de 480 euros puede cobrarse aunque estés trabajando, siempre que cumplas una serie de requisitos
        • Economía
        • Economía

      esta ayuda de 480 euros puede cobrarse aunque estés trabajando

      • Janire Manzanas
      • 2026-09-10 13:00
    • La reflexión del día de Julio César: Los cobardes agonizan muchas veces antes de morir. Los valientes ni se enteran de su muerte
        • Curiosidades
        • Curiosidades

      La reflexión del día de Julio César: "Los cobardes agonizan muchas veces antes de morir"

      • Aitana Pascual
      • 2026-09-10 13:00
    • El efecto de subir escaleras: incluso unos pocos minutos al día pueden marcar una gran diferencia
        • OkSalud
        • OkSalud

      El efecto de subir escaleras: incluso unos pocos minutos al día pueden marcar la diferencia

      • Janire Manzanas
      • 2026-09-10 13:00
    • Novak Djokovic (39 años): «Todas las mañanas desayuno agua, fruta, miel y frutos secos; me dan energía rápida
        • Deportes
        • Deportes

      Novak Djokovic: "Todas las mañanas desayuno agua, fruta, miel y frutos secos"

      • Luis G. Díaz
      • 2026-09-10 13:05
    • Todos los niños de los 90 crecieron con esta maravillosa película; ahora, este clásico protagonizado por Robin Williams se lanza por primera vez en 4K
        • Cool
        • Cool

      Todos los niños de los 90 crecieron con esta película; ahora, se lanza en 4K

      • Carmen Fernández Etreros
      • 2026-09-10 13:30
    • El truco de mi abuela que avalan los chefs expertos para hacer el mejor puré de patatas: Mejora en textura si se cuecen las patatas con piel y abundante agua
        • Recetas de cocina
        • Recetas de cocina

      El truco de mi abuela que avalan los chefs expertos para hacer el mejor puré de patatas

      • Álvaro Olivero
      • 2026-09-10 13:49
    • Los OK y KO del jueves, 10 de septiembre de 2026
    • El refugio de Tenerife donde el lujo atlántico y la alta gastronomía marcan el ritmo del viaje
    • Diario Madridista

    • Vinicius y Endrick en la primera lista de Ancelotti tras el desastre de Brasil en el Mundial
        • Real Madrid
        • Real Madrid

      Vinicius y Endrick en la primera lista de Ancelotti tras el desastre de Brasil en el Mundial

      Carlo Ancelotti no olvida su pasado madridista para elaborar la lista de convocados de Brasil tras el Mundial. El entrenador ha vuelto a confiar en Vinicius y Endrick, que jugarán los partidos amistosos contra Australia e India, en septiembre y octubre. Además, ha incluido a ocho novatos para estos encuentros.
      • Alejandro Fernández
      • 2026-09-10 12:56
    • Raúl Asencio vuelve a entrenar con el grupo tras su larga lesión de pretemporada
        • Real Madrid
        • Real Madrid

      Raúl Asencio vuelve a entrenar con el grupo tras su larga lesión de pretemporada

      • Daniel Calle
      • 2026-09-10 13:49
    • El Real Madrid jugará ante el Villarreal el sábado 10 de octubre tras el parón más largo de selecciones
        • Real Madrid
        • Real Madrid

      El Real Madrid jugará ante el Villarreal el sábado 10 de octubre tras el parón más largo de selecciones

      • Daniel Calle
      • 2026-09-10 14:15
    • Deportes

    • Los próximos pasos de Alcaraz tras el US Open: descanso, cinco torneos fijos y una exhibición millonaria
    • Koke pide ahora dejar en paz a Julián Álvarez: Sois muy cansinos
        • Deportes
        • Deportes

      Koke pide ahora "dejar en paz" a Julián Álvarez: "Sois muy cansinos"

      • Alejandro Fernández
      • 2026-09-10 12:26
    • Mike Krack: Este año sólo hemos llegado una vez a la Q2, hablar de Q3 en Madring es arrogante...
        • Deportes
        • Deportes

      Mike Krack: "Este año sólo hemos llegado una vez a la Q2, hablar de Q3 en Madring es arrogante..."

      • Kike Sáez
      • 2026-09-10 11:38
    • El Barcelona reniega ahora de Julián: No le dijimos que expresara su deseo de irse del Atlético
        • Deportes
        • Deportes

      El Barcelona reniega ahora de Julián: "No le dijimos que expresara su deseo de irse del Atlético"

      El Barcelona reniega ahora de Julián Álvarez y asegura que no dijeron al futbolista del Atlético que expresara públicamente su deseo de marcharse del conjunto rojiblanco. Así lo ha dejado claro Deco, director deportivo del Barça, que ha dicho un rotundo "no" al ser preguntado por ello.
      • Daniel Calle
      • 2026-09-10 12:50
    • Pochettino le declara la guerra al Chelsea: pide que le den una Premier League nueve años después
        • Deportes
        • Deportes

      Pochettino le declara la guerra al Chelsea: pide que le den una Premier League nueve años después

      • Alejandro Fernández
      • 2026-09-10 13:47
    • Trump critica a los Mavericks por la marcha de Doncic a los Lakers: El peor traspaso del deporte
        • Deportes
        • Deportes

      Trump critica a los Mavericks por la marcha de Doncic a los Lakers: "El peor traspaso del deporte"

      • Pablo Duque
      • 2026-09-10 13:09
    • Burlas en redes sociales con el Camp Nou por inundarse la tribuna de prensa: ¡Tiene hasta una cascada!
        • Deportes
        • Deportes

      Burlas en redes sociales con el Camp Nou por inundarse la tribuna de prensa: "¡Tiene hasta una cascada!"

      • Alejandro Fernández
      • 2026-09-10 10:53
    • economía

    • El Gobierno presume de subida salarial pero la inflación al 4,3% se come 1,3 puntos del bolsillo de los españoles
        • Economía
        • Economía

      El Gobierno presume de subida salarial pero la inflación al 4,3% se come 1,3 puntos del bolsillo de los españoles

      Los salarios pactados en convenio subieron de media un 3,04% en agosto, ligeramente por encima de la subida del 3,02% del mes anterior, pero casi 1,3 puntos por debajo del IPC de agosto, cuya tasa interanual se situó en el 4,3% a falta de que el Instituto Nacional de Estadística confirme el dato definitivo.
      • Celia Amayuelas
      • 2026-09-10 12:31
    • El Ibex se mantiene en positivo pendiente de las pistas de política monetaria que deje hoy el BCE
        • Economía
        • Economía

      El Ibex se mantiene en positivo pendiente de las pistas de política monetaria que deje hoy el BCE

      • Celia Amayuelas
      • 2026-09-10 09:32
    • Estado de guerra, híbrida, con Marruecos
    • MyInvestor eleva sus depósitos hasta el 3,25% TAE ante la esperada subida de tipos del BCE
        • Economía
        • Economía

      MyInvestor eleva sus depósitos hasta el 3,25% TAE ante la esperada subida de tipos del BCE

      • Celia Amayuelas
      • 2026-09-10 11:21
    • PayFit reinventa la gestión de nóminas con IA tras gestionar 12.500 millones de euros en salarios
        • Economía
        • Economía

      PayFit reinventa la gestión de nóminas con IA tras gestionar 12.500 millones de euros en salarios

      • Celia Amayuelas
      • 2026-09-10 12:14
    • Cofares dispara sus ventas hasta los 3.221 millones de euros, con un crecimiento del 6,5%
        • Economía
        • Economía

      Cofares dispara sus ventas hasta los 3.221 millones de euros, con un crecimiento del 6,5%

      • OKDIARIO
      • 2026-09-10 12:51
    • COOL

    • Cayetano Rivera da un puño en la mesa tras las polémicas y lanza una advertencia: Mi historia la cuento yo
        • Cool
        • Cool

      Cayetano Rivera da un puño en la mesa tras las polémicas y lanza una advertencia: "Mi historia la cuento yo"

      • Lourdes Crespo
      • 2026-09-10 13:54
    • Leclerc se deja ver en Madrid antes de la F1 con un Richard Mille único de más de 700.000 €
        • Cool
        • Cool

      Leclerc se deja ver en Madrid antes de la F1 con un Richard Mille único de más de 700.000 €

      • Marta Morales
      • 2026-09-10 13:10
    • La justicia noruega acepta el recurso de Marius Borg un día después del funeral de Harald V y repetirá el juicio por violación y maltrato
        • Cool
        • Cool

      La justicia noruega acepta el recurso de Marius Borg y repetirá el juicio por violación y maltrato

      La justicia noruega ha aceptado el recurso de Marius Borg Høiby contra la condena a cuatro años de prisión por 34 delitos. El hijo de Mette-Marit tendrá que enfrentarse a un nuevo juicio, en el que se revisarán su culpabilidad, la pena y las indemnizaciones. La decisión llega un día después de que acudiera al funeral de Harald V, tras recibir un permiso judicial. Marius permanece en prisión domiciliaria con una tobillera electrónica desde el pasado mes de julio. Por ahora no hay fecha para la nueva vista, que podría prolongarse durante al menos cuatro semanas.
      • Marta Menéndez
      • 2026-09-10 14:07
    • España apuesta fuerte por las series verticales: así son las nuevas ficciones para ver en el móvil
        • Cool
        • Cool

      España apuesta fuerte por las series verticales: así son las ficciones para ver en el móvil

      • Sergio Espí
      • 2026-09-10 12:26
    • Carmen Lomana reaparece tras desmayarse en un rodaje: Me podría haber muerto
        • Cool
        • Cool

      Carmen Lomana reaparece tras desmayarse en un rodaje: "Me podría haber muerto"

      • Marta Huertas
      • 2026-09-10 12:30
    • ¿Por qué no ha ido la princesa Leonor al funeral del rey Harald?
        • Cool
        • Cool

      ¿Por qué no ha ido la princesa Leonor al funeral del rey Harald?

      • Marta Huertas
      • 2026-09-10 10:42
    • Happy FM

    • ¿Cuándo vuelve
        • HappyFM
        • HappyFM

      ¿Cuándo vuelve 'Saber y ganar'? TVE confirma la fecha de la nueva temporada

      • Nacho Molina
      • 2026-09-10 13:22
    • Ya es oficial: la canción del verano 2026 es de Quevedo y Spotify lo confirma
        • HappyFM
        • HappyFM

      Ya es oficial: la canción del verano 2026 es de Quevedo y Spotify lo confirma

      • Idania Monzón
      • 2026-09-10 14:01
    • La hija de José Luis Gil anuncia un gran paso: Me has regalado una pequeña victoria
        • HappyFM
        • HappyFM

      La hija de José Luis Gil anuncia un gran paso: "Me has regalado una pequeña victoria"

      • Nacho Molina
      • 2026-09-10 12:08
    • Lidia Santos, de
        • HappyFM
        • HappyFM

      Lidia Santos, de 'First Dates', tras su flechazo con un comensal: "Entonces me caso"

      • Idania Monzón
      • 2026-09-10 11:27
    • Audiencias ayer, 9 de septiembre:
        • HappyFM
        • HappyFM

      Audiencias ayer, 9 de septiembre: 'Horizonte' sigue fuerte con un 11,6% en una noche complicada

      • Nacho Molina
      • 2026-09-10 10:56
    • ¿Por qué ya no participa Javier Alonso en
        • HappyFM
        • HappyFM

      ¿Por qué ya no participa Javier Alonso en 'Pasapalabra'? Los motivos

      • Nacho Molina
      • 2026-09-09 19:44
    • Okmotor

    • Confirmado por el BOE: a partir de ahora se requerirá pasar la ITV cada 6 meses a todos los vehículos que tengan más de 10 años de antigüedad
        • Motor
        • Motor

      Confirmado por el BOE: a partir de ahora se requerirá pasar la ITV cada 6 meses a todos los vehículos que tengan más de 10 años de antigüedad

      • Blanca Espada
      • 2026-09-09 15:00
    • El coche eléctrico ya no entiende de distancias: podrá recorrer 500 millones de kilómetros con la red de Iberdrola
        • Motor
        • Motor

      El coche eléctrico ya no entiende de distancias: podrá recorrer 500 millones de kilómetros con la red de Iberdrola

      • Andrea Aguado
      • 2026-09-09 07:30
    • Las normas de Bruselas redefinen el automóvil europeo: lastran a la industria en Alemania y dan alas a China
        • Motor
        • Motor

      Las normas de Bruselas redefinen el automóvil europeo: lastran a la industria en Alemania y dan alas a China

      • Andrea Aguado
      • 2026-09-09 05:45
    • OKGreen

    • ¿Qué tiene que ver la Fórmula 1 con la sostenibilidad? ¡Descúbrelo en este test antes del GP de Madrid!
        • OKGREEN
        • OKGREEN

      El test que te sorprenderá: ¿Qué tiene que ver la Fórmula 1 con la sostenibilidad?

      La Fórmula 1 regresa a Madrid este fin de semana, más de cuatro décadas después de su última cita en la capital. El Gran Premio de España se disputa del 11 al 13 de septiembre en Madring. Será una carrera histórica por muchos motivos, pero hay uno que casi nunca aparece en las crónicas deportivas: el automovilismo de élite se ha convertido en el laboratorio ambiental más exigente del planeta.
      • Antonio Quilis
      • 2026-09-10 05:01
    • El calentamiento global podría restar hasta 25 años de vida útil a las infraestructuras del planeta
        • OKGREEN
        • OKGREEN

      El calentamiento global podría restar hasta 25 años de vida útil a las infraestructuras del planeta

      • Antonio Quilis
      • 2026-09-10 05:00
    • Moeve y ArcelorMittal lanzan la plataforma G2G para descarbonizar el acero europeo
        • OKGREEN
        • OKGREEN

      Moeve y ArcelorMittal lanzan la plataforma G2G para descarbonizar el acero europeo

      • Antonio Quilis
      • 2026-09-09 10:45
    • OKSalud

    • La actividad física en la infancia como motor esencial para el desarrollo físico y emocional
    • Por qué el paracetamol durante el embarazo se relaciona con alteraciones reproductivas en las hijas
        • OkSalud
        • OkSalud

      Por qué el paracetamol durante el embarazo se relaciona con alteraciones reproductivas en las hijas

      • Diego Buenosvinos
      • 2026-09-10 05:40
    • Helicobacter pylori: el enemigo silencioso que está detrás del 20% de los casos de cáncer de intestino
        • OkSalud
        • OkSalud

      Helicobacter pylori: el enemigo silencioso que está detrás del 20% de los casos de cáncer de intestino

      • OKSALUD
      • 2026-09-10 05:40
    • El misterio del dolor de cabeza suicida se estrecha: los genes y la inflamación podrían explicar su origen
        • OkSalud
        • OkSalud

      El misterio del "dolor de cabeza suicida" se estrecha: los genes y la inflamación podrían explicar su origen

      Dos estudios del Karolinska Institutet identifican alteraciones relacionadas con la inflamación, la regulación del ADN y la exposición a sustancias presentes en el humo del tabaco del cigarrillo. Hay dolores de cabeza que no se parecen a ningún otro. La cefalea en racimos, una enfermedad neurológica poco frecuente, provoca ataques súbitos y extremadamente intensos, generalmente alrededor de un ojo, que pueden repetirse varias veces al día durante semanas o meses.
      • Diego Buenosvinos
      • 2026-09-10 05:40
    • OKCLUB

    • Hazte socio de OKCLUB por sólo 10 euros y disfruta de todas las ventajas de OKDIARIO
        • OKCLUB
        • OKCLUB

      Hazte socio de OKCLUB por sólo 10 euros y disfruta de todas las ventajas de OKDIARIO

      • OKDIARIO
      • 2026-09-03 10:38
    • Sergio Espí: Todas las novedades televisivas desde el FesTVal de Vitoria 2026
        • OKCLUB
        • OKCLUB

      Sergio Espí: "Todas las novedades televisivas desde el FesTVal de Vitoria 2026"

      • OKDIARIO
      • 2026-09-10 05:45
    • navarra

    • Domínguez presume de cerrar las urgencias nocturnas en Fustiñana:
        • Sociedad

      Domínguez presume de cerrar las urgencias nocturnas en Fustiñana: "Es por reponsabilidad política y técnica"

    • Una farmacia de Estella instala un desfibrilador 24 horas en pleno Camino de Santiago para vecinos y peregrinos
        • Sociedad

      Una farmacia de Estella instala un desfibrilador 24 horas en pleno Camino de Santiago para vecinos y peregrinos

    • UPN lo tiene claro con los menores inmigrantes de Ceuta:
        • Política

      UPN lo tiene claro con los menores inmigrantes de Ceuta: "Devolverlos con sus familias o a los servicios sociales de su país"

    • Un pueblo de Navarra se transforma con cinco grandes murales y 350 metros de arte urbano
        • Sociedad

      Un pueblo de Navarra se transforma con cinco grandes murales y 350 metros de arte urbano

    • Navarra registra 27 muertes por suicidio en 2026 y activa 156 códigos de seguimiento, 25 de ellos entre menores de edad
        • Sociedad

      Navarra registra 27 muertes por suicidio en 2026 y activa 156 códigos de seguimiento, 25 de ellos entre menores de edad

    • Los malos resultados de PISA en Navarra preocupan
        • Sociedad

      Los malos resultados de PISA en Navarra preocupan "profundamente": un sindicato pide "un pacto educativo"

    • metabolic

    • Boticaria García resuelve las dudas sobre hacer ayuno intermitente: explica si es beneficioso o perjudicial para la salud
        • Alimentos

      Boticaria García resuelve las dudas sobre hacer ayuno intermitente: explica si es beneficioso o perjudicial para la salud

    • La psicología dice que las personas que nunca dan abrazos no son frías ni distantes, más bien tienen mayor sensibilidad al contacto físico
        • Psicología

      La psicología dice que las personas que nunca dan abrazos no son frías ni distantes, más bien tienen mayor sensibilidad al contacto físico

    • La psicología llega a la conclusión de que las mujeres que siempre llevan las uñas hechas no lo hacen sólo por estética si no para reafirmarse frente al malestar
        • Desarrollo Personal y Autoayuda

      La psicología llega a la conclusión de que las mujeres que siempre llevan las uñas hechas no lo hacen sólo por estética si no para reafirmarse frente al malestar

    • Lucía Martínez, entrenadora de yoga y experta en bienestar: «La independencia física no se pierde de repente, sino que se deja de entrenar»
        • Deporte

      Lucía Martínez, entrenadora de yoga y experta en bienestar: «La independencia física no se pierde de repente, sino que se deja de entrenar»

    • La hora a la que te vas a dormir influye, pero los expertos coinciden: hay una cosa mucho más importante para descansar mejor
        • Salud

      La hora a la que te vas a dormir influye, pero los expertos coinciden: hay una cosa mucho más importante para descansar mejor

    • Ni hacer pesas ni yoga: 5 ejercicios que recomiendan los expertos para corregir la postura de hombros y espalda
        • Deporte

      Ni hacer pesas ni yoga: 5 ejercicios que recomiendan los expertos para corregir la postura de hombros y espalda

    • talent24h

    • Una finca de Francia busca personal para cocinar en la vendimia con alojamiento gratis
        • Empleo

      Una finca de Francia busca personal para cocinar en la vendimia con alojamiento gratis

    • Marruecos instala una nueva puerta en el Tarajal y controla cuándo se abre y se cierra
        • Actualidad

      Marruecos instala una nueva puerta en el Tarajal y controla cuándo se abre y se cierra

    • Metro de Barcelona despide a una directiva protegida como informante y la Justicia avala el cese
        • Empleo

      Metro de Barcelona despide a una directiva protegida como informante y la Justicia avala el cese

    • Hasta cuatro días con sueldo para trabajadores de hostelería si una alerta roja impide desplazarse
        • Actualidad

      Hasta cuatro días con sueldo para trabajadores de hostelería si una alerta roja impide desplazarse

    • Google invertirá 13.000 millones en Finlandia y prevé sostener 7.000 empleos al año
        • Empleo

      Google invertirá 13.000 millones en Finlandia y prevé sostener 7.000 empleos al año

    • Eurowings pagará hasta 225.000 euros a pilotos que pierdan su licencia
        • Actualidad

      Eurowings pagará hasta 225.000 euros a pilotos que pierdan su licencia

    • Muy Interesante

    • ¿A qué olían los rituales de Pompeya? Cenizas de hace 2.000 años revelan los perfumes qu quemaban los romanos
        • Historia

      ¿A qué olían los rituales de Pompeya? Cenizas de hace 2.000 años revelan los perfumes qu quemaban los romanos

    • Arqueólogos descubren que los puertos del Mediterráneo antiguo eran mucho más grandes de lo que se creía: el secreto estaba fuera de sus muros
        • Historia

      Arqueólogos descubren que los puertos del Mediterráneo antiguo eran mucho más grandes de lo que se creía: el secreto estaba fuera de sus muros

    • ¿Qué pieza de la carta perdida de Alejandro II eres?
        • Juegos

      ¿Qué pieza de la carta perdida de Alejandro II eres?

        • Historia

      "Nunca hemos visto nada parecido": la misteriosa estatua neolítica de 11.000 años que muestra a un humano dominando a un leopardo

    • PISA indica que los alumnos españoles han obtenido los peores resultados de su historia, pero ¿eso significa que saben menos?
        • Curiosidades

      PISA indica que los alumnos españoles han obtenido los peores resultados de su historia, pero ¿eso significa que saben menos?

    • OPPO sube el listón este inicio de septiembre hundiendo al mínimo histórico su reloj Watch X2 Mini
        • Compras

      OPPO sube el listón este inicio de septiembre hundiendo al mínimo histórico su reloj Watch X2 Mini

    • okzinet

    • La leyenda de la ballena cantora: 3 mensajes muy potentes de la película para que tu hijo encuentre su propia voz
        • Ser Padres

      La leyenda de la ballena cantora: 3 mensajes muy potentes de la película para que tu hijo encuentre su propia voz

    • Por qué tu bebé frota la cara contra tu pecho: 6 motivos (y no siempre es hambre)
        • Ser Padres

      Por qué tu bebé frota la cara contra tu pecho: 6 motivos (y no siempre es hambre)

    • Muy Science Fest va a demostrar, también desde Málaga, que siempre hay algo nuevo que aprender
        • Ser Padres

      Muy Science Fest va a demostrar, también desde Málaga, que siempre hay algo nuevo que aprender

    • 6 novedades de Ikea por menos de 20 euros para transformar tu salón con estilo este otoño
        • Mia Revista

      6 novedades de Ikea por menos de 20 euros para transformar tu salón con estilo este otoño

    • Los mejores 12 trucos que debes saber antes de pintar las paredes de casa
        • Mia Revista

      Los mejores 12 trucos que debes saber antes de pintar las paredes de casa

    • El nuevo perfume español (30€) que reinventa las colonias con olor a limpio clásicas
        • Mia Revista

      El nuevo perfume español (30€) que reinventa las colonias con olor a limpio clásicas

    • Techy

    • Aerogenerador marino MySE18.X-20MW de MingYang con rotor de hasta 292 metros
        • Techy

      Ni huracanes ni cambio climático: China estrena una turbina eólica de 20 MW que puede alterar el aire de su entorno

      • Adrián Villellas
    • Ilustración de la red CHIME localizando la ráfaga rápida de radio RBFLOAT en su galaxia de origen
        • Techy

      Los astrónomos no dan crédito: localizan el origen de una de las ráfagas de radio más brillantes jamás detectadas que recorrió 130 millones de años luz

      • Adrián Villellas
    • Piloto militar entrenando en un simulador de vuelo de un caza F-16
        • Techy

      Marruecos empieza a preparar a sus pilotos de F-16 Block 72 con dos nuevos simuladores de vuelo impulsados por el Pentágono

      • Adrián Villellas
    • Goma de borrar limpiando los contactos metálicos del compartimento de pilas de un mando a distancia
        • Techy

      Ni pilas nuevas ni cargador: el truco de la goma de borrar que puede hacer que el mando de la tele vuelva a funcionar

      • Adrián Villellas
    • Portaaviones USS Abraham Lincoln navegando con aviones y helicópteros de su grupo aéreo en formación
        • Techy

      El gigantesco portaaviones nuclear de EEUU retoma su misión tras acumular 286 días en el mar

      • Adrián Villellas
    • Tienda Zeeman cerrada en España tras el acuerdo del ERE
        • Techy

      Nuevo golpe al comercio: cierra una popular marca de moda en España y 13 tiendas bajan la persiana para siempre

      • Adrián Villellas
    • OkPlanes

    • Al-Mounia
        • OkPlanes

      Alta cocina marroquí y danza del vientre en el histórico Al-Mounia

      • Sandra Quintana C
    • ballet de kiev
        • OkPlanes

      El Ballet de Kiev regresa a Gran Vía con El lago de los cisnes

      • Sandra Quintana C
    • colores del sonido
        • OkPlanes

      El Teatro Calderón acoge Colores del Sonido a partir del 29 de septiembre

      • Sandra Quintana C
    • anyma aeden
        • OkPlanes

      Anyma presentará su show ÆDEN en la Ciudad del Rock

      • Sandra Quintana C
    • black coffee
        • OkPlanes

      Black Coffee pinchará en el campus de la UAM el 11 de septiembre

      • Sandra Quintana C
    • yuja wang
        • OkPlanes

      Yuja Wang vuelve a Madrid con un recital de piano en el Auditorio Nacional

      • Sandra Quintana C
    • Curiosidades

    • Gincana en español, Yincana en la RAE, yincana en español cómo se escribe.
        • Curiosidades

      ¿Cómo se escribe en español, ‘gymkana’ o ‘gincana’? LA RAE despeja definitivamente todas las dudas

      • Manuel Morera
    • Julio César. Imagen generada con IA.
        • Curiosidades

      La reflexión del día de Julio César: «Los cobardes agonizan muchas veces antes de morir. Los valientes ni se enteran de su muerte»

      • Aitana Pascual
    • Una especie invasora
        • Curiosidades

      Parece un simple crustáceo, pero en realidad es una especie invasora en España que fue introducida por Felipe II en 1588

      • Janire Manzanas
        • Curiosidades

      Los apellidos españoles se dividen en estos cuatro tipos: descubre de cuál procedes tú

      • Blanca Espada
    • Un pájaro en el bosque. Foto: Magnific
        • Curiosidades

      La frase que le ‘robaron’ a un pastor estadounidense para colgársela a Rabindranath Tagore, premio Nobel de Literatura: «El bosque sería muy triste si sólo cantaran los pájaros que mejor lo hacen»

      • Naiara Philpotts
        • Curiosidades

      Ni un afilador ni una piedra: el sencillo truco para afilar cuchillos en 30 segundos con esto que ya tienes en tu cocina

      • Gemma Meca
    • Recetas de cocina

        • Recetas de cocina

      El truco de mi abuela que avalan los chefs expertos para hacer el mejor puré de patatas: «Mejora en textura si se cuecen las patatas con piel y abundante agua»

      • Álvaro Olivero
    • Halloween
        • Recetas de cocina

      Galletas de calabaza para Halloween: receta divertida y muy fácil

      • Francisco María
    • Recetas de boletus
        • Recetas de cocina

      Boletus edulis: las mejores recetas para disfrutar de esta seta

      • Francisco María
    • Receta rovellons
        • Recetas de cocina

      Rovellons con ajo y perejil: receta tradicional fácil y llena de sabor

      • Francisco María
    • Receta de puerros
        • Recetas de cocina

      Puerros rehogados: receta fácil y perfecta como acompañamiento

      • Francisco María
    • Receta calabaza
        • Recetas de cocina

      Calabaza al vapor: cómo cocinarla para conservar todo su sabor

      • Francisco María
    • OkShopping

    • olla eléctrica
        • OkShopping

      La práctica olla eléctrica para cocinar arroz, al vapor y mantener la comida caliente que está tirada de precio en Aliexpress

      • New Mall Media
    • butaca Milare de Kave Home
        • OkShopping

      El rincón de lectura perfecto puede empezar con esta butaca de líneas curvas de Kave Home

      • New Mall Media
    • Shark AI ULTRA
        • OkShopping

      El robot aspirador Shark AI ULTRA que aspira, friega y se vacía solo tiene descuento

      • New Mall Media
    • Armario Stove Canadian
        • OkShopping

      El armario de roble que multiplica el espacio de almacenaje del dormitorio y está rebajado 54 euros

      • New Mall Media
    • Dyson V12 Detect Slim Submarine
        • OkShopping

      Dyson rebaja su aspiradora V12 que aspira y friega: ahora cuesta 270€ menos

      • New Mall Media
    • LG UltraGear OLED 45GX950AX-B
        • OkShopping

      Ofertaza en LG: este monitor gaming OLED UltraGear de 45 pulgadas baja casi un 25%

      • New Mall Media
    • Mascotas

    • "Mitu", una gata negra, tomando el sol. Foto: Naiara Philpotts
        • Mascotas

      Los profesionales de la veterinaria coinciden al máximo: «Los gatos negros son muy familiares y gregarios, se llevan bien con todo el mundo»

      • Naiara Philpotts
    • Paseo gato
        • Mascotas

      Los veterinarios expertos lo avalan: sacar a pasear a los gatos a la calle de forma controlada ayuda a mejorar su comportamiento

      • Carmen Ruiz
    • Un perro estornuda
        • Mascotas

      Un adiestrador canino lo confirma: «Cuando un perro estornuda no está enfermo, más bien está expresando un estado de ánimo”

      • Janire Manzanas
    • Perro, animales, mascotas
        • Mascotas

      Ponerle a tu perro un lazo naranja alrededor del cuello: qué significa y qué debes hacer si te encuentras uno en el parque

      • Ana López Vera
    • Gatos
        • Mascotas

      Pocos dueños de gatos lo saben: los maullidos no están pensados para otros gatos, sino para comunicarse con los humanos

      • Janire Manzanas
    • Perro ventanilla coche
        • Mascotas

      Los veterinarios expertos coinciden: a tu perro le gusta sacar la cabeza por la ventanilla del coche no para mirar el paisaje, sino por su sensibilidad olfativa

      • Janire Manzanas
    • Ciencia

    • EEUU apuesta por una idea que parecía ciencia ficción: arroja esferas gigantes al fondo del mar para almacenar energía limpia
        • Ciencia

      EEUU apuesta por una idea que parecía ciencia ficción: arroja esferas gigantes al fondo del mar para almacenar energía limpia

      • Marta Burgués
    • murciélago, animales, especie, naturaleza
        • Ciencia

      No hay que dramatizar aún pero los científicos descubren al murciélago que puede provocar una nueva epidemia

      • Sofía Narváez
    • Uso de lana de ovejas en agricultura, estudio español para usar lana de ovejas contra la sequía, ovejas ayudan en agricultura, lana de ovejas protección agrícola.
        • Ciencia

      El sector agrícola revolucionado: la lana de oveja sirve para mejorar el suelo de olivares y resistir mejor a las sequías

      • Manuel Morera
    • Oruga procesionaria del pino
        • Ciencia

      Los expertos en plagas lo tienen claro: «La oruga procesionaria es la plaga más importante de los pinares mediterráneos»

      • Janire Manzanas
    • Montaje del BladeBridge, el puente peatonal construido con aspas de aerogenerador recicladas, en Cork, Irlanda (26 de enero de 2022). Fuente: Re-Wind Network.
        • Ciencia

      Irlanda se pasa el juego: construye un puente para peatones 100 % funcional con 2 aspas de energía eólica que nadie sabía reciclar

      • Naiara Philpotts
    • Lluvia de estrellas
        • Ciencia

      Lluvia de estrellas Oriónidas 2026: cuándo alcanza su máximo y cómo verla desde España

      • Francisco María
    • Bebés

    • antojos aversiones embarazo
        • Bebés

      Antojos y aversiones en el embarazo: ¿Qué los causa y cómo manejarlos?

      • Blanca Espada
    • embarazo ectópico
        • Bebés

      Embarazo Ectópico: Síntomas, Causas y Tratamiento

      • Blanca Espada
    • ansiedad embarazo
        • Bebés

      Cómo gestionar la ansiedad en el embarazo: consejos y recursos para sentirte mejor

      • Blanca Espada
    • alimentación complementaria
        • Bebés

      Cómo introducir la alimentación complementaria sin morir en el intento: trucos y recetas para padres primerizos

      • Blanca Espada
    • urticaria niños
        • Bebés

      Urticaria en niños: causas, síntomas, tratamiento y complicaciones

      • Blanca Espada
    • granuloma umbilical
        • Bebés

      Granuloma umbilical del bebé: ¿Qué es y cómo tratarlo?

      • Blanca Espada
    • Tecnología

    • iOS 27
        • Tecnología

      iOS 27 llega este lunes 14 de septiembre, pero deja fuera de España una de sus grandes novedades

      • Nacho Grosso
    • iPhone Duo
        • Tecnología

      El iPhone Duo se lleva los titulares, pero el resto del evento de Apple cuenta la historia real

      • Nacho Grosso
    • Apple Watch
        • Tecnología

      El Apple Watch Series 12 y el Ultra 4 se atreven por fin a decirte si estás listo para el día

      • Nacho Grosso
    • iPhone 18 Pro
        • Tecnología

      El iPhone 18 Pro estrena la apertura variable que Apple nunca había llevado a su dispositivo

      • Nacho Grosso
    • AirPods 5
        • Tecnología

      Los AirPods 5 llegan con la cancelación de ruido que antes solo tenían los Pro

      • Nacho Grosso
    • ChatGPT Images 2.5
        • Tecnología

      ChatGPT Images 2.5, la actualización que deja dibujar un boceto y editar solo lo que señalas

      • Nacho Grosso
    Ir Arriba

    Noticias de última hora

    • El secreto mejor guardado del paddock de Madring: seis de los 11 ‘motorhomes’ están dentro de pabellones de IFEMA
    • Así será la experiencia VIP de Shakira en Madrid: jardín, terraza exclusiva y acceso al Front Stage por 1.297 euros
    • Cinco sitios en Madrid para comer bien por menos de 20 euros
    • Los paleontólogos encuentran el esqueleto completo de un enorme reptil marino de 2,7 metros que vivió hace 245 millones de años en China
    • Detenido un pasajero colombiano por fracturar las muñecas a un trabajador del aeropuerto de Palma en la cola de facturación
    • El blindaje antiabucheos a Sánchez fracasa: el grito de «¡Pedro Sánchez a prisión!» se cuela en su visita a Elche
    • Más viviendas, ayudas a la maternidad y las otras 98 medidas anunciadas por Ayuso en el Debate de la Región
    • Última hora de la crisis migratoria en Ceuta y actualidad política, en directo | Ayuso ataca al Gobierno en el Debate del Estado de la Región
    • El Gobierno tiene a los policías en Ceuta durmiendo en camas mugrientas mientras a los ilegales se las pone nuevas
    • Fernando Alonso: «No sé si el año que viene estaré detrás del volante o en otro rol en Aston Martin»

    Noticias más vistas

    • Málaga en el punto de mira tras la tala de un árbol centenario que los vecinos querían conservar: «Se ha hecho lo que se tenía que hacer»
    • Colas kilométricas en Decathlon para comprar las zapatillas Skechers perfectas para la vuelta al cole y ahora rebajadas
    • Rafa Nadal (40 años): «Hago gimnasio tres veces por semana por la mañana y desayuno tostadas con anchoas»
    • Etapa 17 de La Vuelta a España 2026 hoy, miércoles 9 de septiembre de Dos Hermanas a Sevilla: horario, recorrido, perfil y dónde ver por TV
    • El vídeo de la denunciante de Julio Iglesias declarando a la fiscal: «‘elDiario.es’ me recomendó a las abogadas»
    • Así queda el ranking ATP tras la eliminación de Alcaraz del US Open: Shelton amenaza su tercer puesto
    • Marlaska abre un expediente «por falta muy grave» a los policías agredidos por un ultra independentista del Barça
    • Lucas Pérez (37 años): «Mis padres me abandonaron con 2 años y ahora me piden dinero de por vida»
    • Alcaraz bate su propio récord: su partido contra Shelton es el que más tarde termina de la historia del US Open
    • Marcus (35 años), hijo de Michael Jordan: «Tuve el privilegio de ver a mi hermano, que es dos años más grande que yo, y él pasó la peor parte; pude verlo y asumir que era lo que iba a pasarme a mí»

    Noticias virales

    • La psicología lo avala: las personas que lloran en una discusión no son más sensibles que el resto, sólo activan un mecanismo de defensa
    • Adela Cortina, filósofa española (79 años): «No todas las opiniones son respetables; son respetables las personas, pero las opiniones deben ganarse el respeto»
    • Qué significa el proverbio alemán: «Una valla dura 3 años, un perro dura 3 vallas, un caballo dura 3 perros y un hombre dura 3 caballos»
    • Mahoma dejó una reflexión sobre la riqueza: «La verdadera riqueza de un hombre es el bien que hace en este mundo»
    • Marco Tulio Cicerón, filósofo romano, sobre la amistad: «Cuanto mejor es una persona, más difícil es que sospeche de una amistad»
    • Los psicólogos coinciden: las personas que agradecen excesivamente los pequeños favores no son sólo agradecidas
    • Albañiles coinciden: ésta es la mejor técnica para arreglar una pared húmeda sin sanear ni generar escombros
    • Sócrates, filósofo: «Las mentes brillantes discuten ideas, las mentes promedio discuten eventos, las mentes débiles discuten a las personas»
    • La grandiosa reflexión de ‘El Principito’ sobre los adultos: «Todas las personas grandes han sido niños antes. Pero pocas lo recuerdan»
    • La psicología lo confirma: los nacidos entre 1945 y 1965 desarrollaron una ventaja única a la hora de gestionar las emociones, debido a que vivieron largos períodos de incertidumbre
    Gobierno de España

    Esta empresa se ha acogido a las subvenciones del Gobierno de España cofinanciadas con el Fondo Europeo de Desarrollo Regional para las regiones ultraperiféricas para el transporte de mercancías en Canarias.”Una manera de hacer Europa”

    Unión Europea. Fondo europeo de desarollo regional.
    • DOS MIL PALABRAS S.L. 2026.
    • Contacto
    • Aviso Legal
    • Política de Privacidad
    • Política de Cookies
    • Noticias
    • RSS
    • Quiénes somos
    • Auditado por ComScore