Archive | Acciones

Pel dret a l’habitatge! Contra el genocidi financer! 16F

Pel dret a l’habitatge. Contra el genocidi financer, assenyalem als responsables i exigim dació en pagament retroactiva, lloguer social i stop desnonaments ja!

 

Avui continuem caminant per defensar i exigir el dret a l’habitatge, un dret fonamental sistemàticament vulnerat al nostre país. Les Plataformes d’Afectats per la Hipoteca denunciem la situació dramàtica que viuen milers de famílies que no poden pagar la hipoteca o el lloguer i que es veuen desnonades o amenaçades de desnonament, víctimes d’un frau hipotecari generalitzat i de la vulneració del seu dret a un habitatge digne per part de les entitats financeres, amb l’aval del govern de torn. 420.000 execucions hipotecàries a l’Estat en els últims 6 anys i 220.000 desnonaments són intolerables.   Davant dels abusos de les entitats financeres -en gran mesura responsables de l’actual crisi econòmica- i la complicitat del Govern, que els dóna cobertura amb una llei injusta que fa recaure tota la responsabilitat sobre la part més vulnerable, mentre que destina milers de milions en ajudes públiques a la banca sense exigir cap contraprestació, les Plataformes d’Afectats per la Hipoteca i la ciutadania mobilitzada han defensat el dret a l’habitatge i han posat sobre la taula les solucions per acabar amb aquesta estafa. Perquè no té sentit que els bancs acumulin milers de pisos buits mentre milers de famílies es queden al carrer.   Amb la Iniciativa Legislativa Popular hem esgotat tots els mecanismes que ens ofereix el sistema per canviar una llei injusta. Hem parlat amb ajuntaments, serveis socials i partits polítics. Ens hem mobilitzat. Hem aturat desnonaments i hem fet tot el que estava a les nostres mans per capgirar una situació d’injustícia social. Les demandes de la ILP són demandesde mínims: dació en pagament retroactiva, moratòria dels desnonaments i lloguer social en els milions d’habitatges buits que acumulen les mateixes entitats bancàries que s’han enriquit amb aquesta crisi. La ILP ha recollit més d’1 milió de signatures que se s’uneixen al clam popular que exigeix una solució justa i urgent a aquesta problemàtica. No volem “almoina” sinó unes lleis que garanteixin els drets socials, la igualtat i la dignitat.   Però la ILP també és una manera d’exigir democràcia, una democràcia que ha d’estar en mans del poble i no del poder financer. Farts de mediocritat i cobdícia, de respostes buides i demagògia, exigim ser escoltats i participar. La situació és greu i urgent. Ha costat la vida a gent i genera un patiment quotidià a milers d’afectades. No podem esperar durant mesos l’aprovació de la ILP, ni ens podem permetre que no s’aprovi. Les PAHs no ens quedarem amb els braços creuats mentre la ILP arriba al Congrés, no podem fer-ho.   Per això, des d’aquí fem una crida a tots el grups polítics a votar a favor de la ILP i a tramitar-la de manera urgent. Si no ho fan, els assenyalarem com a responsables del genocidi financer que estem patint, i hauran d’atenir-se a les conseqüències. Les PAHs incrementarem les accions de denúncia i desobediència civil enfront d’aquells que es neguin a aprovar la ILP i convidem a tota la ciutadania a sumar-s’hi.   Però no ens aturarem aquí. La nostra és una lluita pel dret a l’habitatge. Perquè els bancs acumulen milers de pisos buits mentre famílies i persones es troben al carrer. Perquè “com s’entén? Gent sense casa i cases sense gent”. Anunciem que, juntament amb la campanya d’assenyalament, s’intensificaran les campanyes de recuperació dels pisos buits en mans de les entitats financeres. Pel dret a una segona oportunitat. Exigim dació en pagament retroactiva, lloguer social i stop desnonaments ja! Pel dret a l’habitatge. Sí Se Puede!

Posted in Acciones, Convocatorias, ViviendaComentarios desactivados

Desde BankFurt hacia la Europa del 99%

#Bankfurt es el corazón de las finanzas europeas, es la negación de la libertad y la democracia en el continente.Frankfurt es el gran Mordor europeo, el centro del poder deudocrático y de la Europa de los banqueros.

Hoy hemos vivido la tercera jornada de la convocatoria #Blockupy que se ha desarrollado de la misma manera que las otras dos: mucha presencia policial en las calles y una situación de bloqueo continuo debido a los controles permanentes del espacio urbano.

Ayer la detención de 80 compañeras italianas y la órden de retorno para 12 autobuses provenientes de Berlín, no impidió el desarrollo de las acciones programadas. Cerca de un centenar de personas acamparon en la plaza Römerberg, sede del Ayuntamiento. Las tiendas empezaron a aparecer, el virus del #15M estaba presente. Al mismo tiempo, los anticuerpos policiales irrumpieron en la plaza y procedieron al desalojo sin incidentes.

Desde las 7 de la mañana varios grupos se unieron. Confluyeron varios miles de personas que desafiaron el estado de sitio de la #acampadapolizei. La manifestación en el centro de la ciudad, a pesar de despliege policial de 5000 agentes, ha conseguido bloquear el BCE y todo el distrito financiero de Bankfurt a lo largo de todo el día.

Las personas detenidas durante esta mañana, al igual que las de ayer, fueron liberadas a las pocas horas. Se demostraba que sólo respondían a una decisión política, autoritaria y represiva contra el derecho de reunión, expresión y manifestación de lxs europexs que nos hemos encontrado aquí.

Mañana el sur de Europa se rebela contra la Troika. Preparamos nuestro propio bloque: el #PIIGSBlock, que participará en la manifestacion contra los recortes, la austeridad, el chantaje de la deuda y por la construcción desde abajo de Europa. Porque el conflicto no es entre alemanes y PIIGS, sino entre el 1% representado por la Troika, y el 99%.

Reinventemos la democracia por el futuro de la Europa del 99%. El proceso de cambio social ya está en marcha, tomemos las plazas, las ciudades y las redes. Recuperemos nuestras vidas!

Participantes de Juventud Sin Futuro
y Democràcia Real Ja! – Barcelona en #blockupy

Publicat també a Madrilonia.org

Posted in Acciones, NoticiasComentarios desactivados

#OccupyMordor

Después de las acciones del día 15M, la acción de #OccupyMordor prosigue en La Caixa, el gran poder financiero en Cataluña.

Des del mismo 16 de mayo seguimos protestando, con caceroladas desde las 8:00 durante todo el día: todavía hay alguien que no nos escucha? Aunque los medios hayan silenciado el ruido que desde Maria Cristina denuncia la estafa de las preferentes, los desahucios ejecutados por la Caixa y la estafa de la deuda, se ha conseguido señalar las entidades bancarias como responsables del expolio que sufrimos.

La caixarolada continua…

Acta del divendres 18 de maig de l’assemblea a Mordor

Reivindicacions des de Mordor

Fotos

Posted in Acciones, Auditoría de la deuda , Convocatorias, ViviendaComentarios desactivados

Manual 12M1M

¡Una guía para la manifestación del dia 12 de maig y los días que la siguen en Barcelona! ¡Haz click sobre la imagen!

Cómo queremos nuestro 12M15M
Mantén una actitud pacífica.
Disfruta del espacio público.
Sé reportero, documenta el 12M15M.
Muestra tu rostro, no tenemos nada de qué escondernos.
Permanezcamos todas juntas, podemos estar tranquilas. En caso de alborotos: no te asustes, no corras, no te sumes.
Evitemos la confrontación con la policía.


Posted in Acciones, ConvocatoriasComments (1)

La negación del derecho a la Salut, a Juicio

#SOSanitat

 


Una plataforma ciudadana solicita a la Fiscalía Superior de Cataluña que investigue las políticas que obstaculizan el acceso a la asistencia sanitaria pública.
La sanidad pública está siendo desmantelada en Cataluña, mediante recortes presupuestarios y asistenciales que están llevando a importantes y peligrosas restricciones de acceso a la asistencia sanitaria, un derecho de todos los ciudadanos reconocido en la Constitución Española y reforzado y garantizado en el desarrollo legislativo estatal y autonómico de este derecho.

Bajo el paraguas de las “medidas anticrisis” y “de austeridad”, hay indicios claros de privatización del sector sanitario público pensados ​​no para mejorar la calidad asistencial, sino para favorecer al sector sanitario privado en el que tienen y han tenido grandes responsabilidades los actuales Altos Cargos de la Generalitat que gestionan la sanidad pública. Las actuaciones del Gobierno catalán y la Consejería de Salud, sus efectos en la realidad social, las declaraciones de los responsables en la toma de decisiones de esta Consejería y el perfil profesional de las personas a las que se ha encomendado este giro en la política sanitaria catalana, marcan la línea de una intencionalidad privatizadora con claros intereses económicos del sector privado.

Por todo ello, este miércoles 21 de marzo, una plataforma integrada por ciudadanos / as anónimos / as, personas desempleadas, trabajadoras, precarias, agrupaciones de corte social, vecinos y de pacientes-entre las que se encuentran la Asociación de vecinos del Ostia, del barrio popular de la Barceloneta, la Liga del Síndrome de la Fatiga Crónica, Rosa Regàs y la Plataforma en defensa de la Barceloneta-y un grupo de trabajo de Democracia Real Ya Barcelona junto a otros grupos del 15M, hemos presentado ante la Fiscalía Superior de Cataluña una denuncia para solicitar que se inicien diligencias de investigación ante los gravísimos hechos que están sucediendo en el ámbito sanitario catalán.

Denunciamos, un delito tipificado en el artículo 542 del Código Penal, según el cual incurre en un delito todo aquel funcionario público “que, con conocimiento, impidan a una persona el ejercicio de otros derechos cívicos reconocidos por la Constitución y las Leyes “, además de otros delitos que pudieran resultar de la investigación que se practique.

Las personas que firmamos esta denuncia pensamos que el deterioro del sector sanitario público no es explicable únicamente como una consecuencia de la crisis económica sino que se le está provocando un daño adicional que favorece el trasvase de actividades en el sector sanitario privado y que las medidas de recorte presupuestario se están tomando con plena conciencia del recorte asistencial que suponen, tal como puede comprobarse en las declaraciones de los responsables de la sanidad pública catalana aconsejando afiliarse a una mutua a los ciudadanos.

Las actuaciones que se consideran constitutivas de delito están detalladas en el relato de hechos. La denuncia redactada es un trabajo colectivo plasmado en 73 páginas con la aportación de 71 documentos anexos, en total [unas 300 páginas] que ponen de manifiesto la privación de derechos, describen la línea de intereses e intenciones privatizadoras y, en definitiva, y en cifras, la destrucción

ACTÚA! 

Oigame

 

Actuable

Para más información:
Blog: http://afectadasporlosrecortessanitarios.wordpress.com
Twitter: @La_PARS

E-Mail: rosapars@gmail.com

Posted in Acciones, SaludComments (1)

Calentando motores para la ILP sobre dación en pago, moratoria de desahucios y alquiler social !

Publicado por afectadosporlahipoteca en 8 febrero 2012

Nos alegra informaros que la recogida de firmas para la iniciativa legislativa popular (ILP) sobre la dación en pago retroactiva, moratoria de desahucios y alquiler social está a punto de iniciarse. La tramitación de esta ILP ha sido un proceso difícil, lleno de obstáculos y dilataciones por parte de la Mesa del Congreso, que ha sido posible sortear y hacer realidad gracias a la presión ciudadana. Una vez superada esta fase, el siguiente paso será la recolección de como mínimo 500.000 firmas en un periodo de 9 meses para que se debatan en el congreso las propuestas incluidas en la ILP.

Estamos convencidos/as de que con una movilización ciudadana importante, los partidos políticos deberán dar respuesta a las reformas necesarias para garantizar y hacer efectivo el derecho a una vivienda y que las entidades bancarias asuman su parte de responsabilidad en la burbuja inmobiliaria y en la crisis económica actual. Esto supone un gran reto organizativo y es por ello que realizamos una llamada a personas individuales, asociaciones y colectivos para que colaboren en este proceso. Existen diferentes niveles de implicación, desde la recogida de firmas, a la participación activa en las comisiones de coordinación de cada PAH, pasando por ser fedatario/a. Sea como sea, hace falta el máximo número de colaboradores/as para hacer realidad esta iniciativa ciudadana.

Si quieres formar parte de esta iniciativa, si quieres aportar tu granito de arena, si quieres participar de esta primera gran victoria contra la dictadura de los mercados, ponte en contacto con tu PAH más cercana o escríbenos al siguiente correo ilp@afectadosporlahipoteca.com . Es importante que especifiques a que localidad y provincia perteneces.

En estos momentos las pah’s del territorio nos estamos preparando para la recogida de firmas. Así que si estás interesado en colaborar contacta tu pah más cercana pinchando aquí.

documentos importantes:

GUIA PARA FEDATARIOS

DECLARACIÓN JURADA DE FEDATARIOS Y FEDATARIAS

 

Llenemos otra vez las calles y plazas! A por Todas! A por ellos!! SI SE PUEDE!!!

 

 

 

 

 

 

Posted in Acciones, ViviendaComentarios desactivados


julio  2014
LMXJVSD
 123456
78910111213
14151617181920
21222324252627
28293031 
PHVsPjxsaT48c3Ryb25nPndvb19hZHNfcm90YXRlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzE8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzI8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzM8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzQ8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzU8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzY8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX21wdV9hZHNlbnNlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWRfbXB1X2Rpc2FibGU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYWRfbXB1X2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy8zMDB4MjUwYS5qcGc8L2xpPjxsaT48c3Ryb25nPndvb19hZF9tcHVfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfcGFnZTwvc3Ryb25nPiAtIFNlbGVjdCBhIHBhZ2U6PC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX2Fkc2Vuc2U8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfZGlzYWJsZTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvZmlsZXMvMjAxMi8wMi9jYWJlY2VyYS1ibG9nLW5vLXNvbS1tZXJjYW5jaWEuanBnPC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8xPC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8yPC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8zPC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF80PC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF81PC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF82PC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gZ3JlZW4uY3NzPC9saT48bGk+PHN0cm9uZz53b29fYXJjaGl2ZXM8L3N0cm9uZz4gLSBTZWxlY3QgYSBwYWdlOjwvbGk+PGxpPjxzdHJvbmc+d29vX2F1dGhvcjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYXV0b19pbWc8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9jc3M8L3N0cm9uZz4gLSAvKiAgDQpUaGVtZSBOYW1lOiBHYXpldHRlIEVkaXRpb24NClRoZW1lIFVSSTogaHR0cDovL3d3dy53b290aGVtZXMuY29tLw0KRGVzY3JpcHRpb246IEdhemV0dGUgRWRpdGlvbiBieSBXb29UaGVtZXMNClZlcnNpb246IDIuMC4yDQpBdXRob3I6IFdvb1RoZW1lcw0KQXV0aG9yIFVSSTogaHR0cDovL3d3dy53b290aGVtZXMuY29tLw0KKi8NCg0KLyo9PT09PT09PT0gU0VUVVAgPT09PT09PT09Ki8NCg0KKnsNCglib3JkZXI6IDA7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDA7DQp9DQpib2R5ew0KCWNvbG9yOiAjNjY2NjY2Ow0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOiAxNHB4Ow0KCWxpbmUtaGVpZ2h0OiAxOXB4Ow0KCWJhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy9maWxlcy8yMDEyLzA0L2JhY2tncm91bmQuZ2lmKTsgDQoJYmFja2dyb3VuZC1hdHRhY2htZW50OmZpeGVkOyANCgliYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbSBjZW50ZXI7IA0KCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsNCn0NCmF7DQoJY29sb3I6ICMwMDAwMDA7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KYTpob3ZlcnsNCgl0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCn0NCmlucHV0LHNlbGVjdCx0ZXh0YXJlYXsNCglib3JkZXI6ICNkZGRkZGQgMXB4IHNvbGlkOw0KCWZvbnQtc2l6ZTogMTRweDsNCglwYWRkaW5nOiA1cHg7DQp9DQpzZWxlY3R7DQoJcGFkZGluZzogMDsNCn0NCmxpew0KCWxpc3Qtc3R5bGU6IG5vbmU7DQp9DQoNCi8qPT09PT09PT09IExBWU9VVCA9PT09PT09PT0qLw0KDQojcGFnZXsNCgl3aWR0aDogOTYwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46MTVweCBhdXRvOw0KCWJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7DQp9DQovKi0tLSBNYWluIENvbHVtbnMgLS0tKi8NCiNjb2x1bW5zew0KCXBhZGRpbmc6MTVweCAxNXB4IDI1cHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46IDBweDsNCn0NCi5jb2wxew0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOiA1OTVweDsNCglwYWRkaW5nLXJpZ2h0OjE1cHg7DQp9DQouY29sMnsNCglmbG9hdDogbGVmdDsNCgl3aWR0aDogMzIwcHg7DQp9DQovKi0tLSBTdWIgQ29sdW1ucyAtLS0qLw0KLnN1YmNvbHsNCgl3aWR0aDogMTUwcHg7DQp9DQouc3ViY29sIGgyew0KCWZvbnQtc2l6ZTogMThweDsNCglwYWRkaW5nOiAwIDAgMTBweDsNCgljb2xvcjogI0ZGRkZGRjsNCn0NCg0KLyo9PT09PT09PT0gSEVBREVSID09PT09PT09PSovDQoNCi8qLSBQYWdlIE5hdmlnYXRpb24gLSovDQojbmF2ew0KCWhlaWdodDogMzBweDsNCglwYWRkaW5nOiAycHggMHB4ICFpbXBvcnRhbnQ7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46MTVweCAxNXB4IDBweCAhaW1wb3J0YW50Ow0KCWJvcmRlci10b3A6MXB4IHNvbGlkICNkZGQ7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDsNCgl3aWR0aDogOTMwcHggIWltcG9ydGFudDsNCn0NCiNuYXYtbGVmdCB7DQoJZmxvYXQ6bGVmdDsNCglkaXNwbGF5OmlubGluZTsNCgl3aWR0aDo2MDBweDsNCgl9DQojbmF2LXJpZ2h0IHsNCglmbG9hdDpyaWdodDsNCglkaXNwbGF5OmlubGluZTsNCgl3aWR0aDozMzBweDsNCgltYXJnaW46MHB4ICFpbXBvcnRhbnQ7DQoJcGFkZGluZzowcHggIWltcG9ydGFudDsNCgl9DQoNCi8qLSBEcm9wZG93bnMtKi8NCg0KI25hdjEsICNuYXYxIHVsew0KCXBhZGRpbmc6IDA7DQoJZmxvYXQ6bGVmdDsNCglsaXN0LXN0eWxlOiBub25lOw0KfQ0KI25hdjEgew0KCXBhZGRpbmc6IDA7DQoJZm9udC1zaXplOjE0cHg7DQoJZmxvYXQ6bGVmdDsNCn0NCiNuYXYxIGEgew0KCWRpc3BsYXk6IGJsb2NrOw0KCXBhZGRpbmctbGVmdDoxNXB4Ow0KCXBhZGRpbmctcmlnaHQ6MTVweDsNCn0NCiNuYXYxIGxpIHsNCglmbG9hdDogbGVmdDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJZm9udC1zaXplOjEycHg7CQ0KCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsNCn0NCiNuYXYxIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQ6IG5vbmU7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJY29sb3I6I2ZmZmZmZjsNCn0NCiNuYXYxIGxpIHVsIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJd2lkdGg6IDE1ZW07DQoJbGVmdDogLTk5OWVtOw0KCXBhZGRpbmctdG9wOjFweDsNCn0NCiNuYXYxIGxpOmhvdmVyIHVsLCAjbmF2MSBsaS5zZmhvdmVyIHVsIHsNCglsZWZ0OiBhdXRvOw0KfQ0KI25hdjEgbGkgdWwgbGkgew0KICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZGJkMTsJDQoJYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZWRiZDE7CQ0KCWJvcmRlci1yaWdodDoxcHggc29saWQgI2RlZGJkMTsJCQkNCglsaW5lLWhlaWdodDoyOHB4OwkNCgl3aWR0aDoxNWVtOw0KfQ0KDQojbmF2MSBsaTpob3ZlciwgI25hdjEgbGkuaG92ZXIgew0KICAgIHBvc2l0aW9uOiBzdGF0aWM7DQp9DQojbmF2MSBsaSB1bCB1bCB7DQoJbWFyZ2luOiAtMjlweCAwIDAgMTVlbTsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjZGVkYmQxOwkNCn0NCg0KI25hdjEgbGk6aG92ZXIgdWwgdWwsICNuYXYxIGxpLnNmaG92ZXIgdWwgdWwgew0KCWxlZnQ6IC05OTllbTsNCn0NCiNuYXYxIGxpOmhvdmVyIHVsLCAjbmF2MSBsaSBsaTpob3ZlciB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCwgI25hdjEgbGkgbGkuc2Zob3ZlciB1bCB7DQoJbGVmdDogYXV0bzsNCn0NCiNuYXYxIGxpOmhvdmVyIHVsIHVsLCAjbmF2MSBsaTpob3ZlciB1bCB1bCB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCB1bCB1bCB7DQoJbGVmdDogLTk5OWVtOw0KfQ0KI25hdjEgbGk6aG92ZXIgdWwsICNuYXYxIGxpIGxpOmhvdmVyIHVsLCAjbmF2MSBsaSBsaSBsaTpob3ZlciB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCwgI25hdjEgbGkgbGkuc2Zob3ZlciB1bCwgI25hdjEgbGkgbGkgbGkuc2Zob3ZlciB1bCB7DQoJbGVmdDogYXV0bzsNCn0gDQoNCg0KLyotIENhdGVnb3J5IE5hdmlnYXRpb24gLSovDQoNCi8qLSBOYXYgLyBEcm9wZG93bnMtKi8NCiNuYXYyIHsNCgltYXJnaW46MCAwIDE1cHggMTVweCAhaW1wb3J0YW50Ow0KCW1hcmdpbjowIDAgN3B4IDdweDsJIA0KfQ0KDQojbmF2MiwgI25hdjIgdWx7DQoJcGFkZGluZzogMDsNCglmbG9hdDpsZWZ0Ow0KCWxpc3Qtc3R5bGU6IG5vbmU7DQp9DQojbmF2MiB7DQoJcGFkZGluZzogMDsNCglmb250LXNpemU6MTRweDsNCglmbG9hdDpsZWZ0Ow0KCXdpZHRoOjkzMHB4Ow0KCWJvcmRlci10b3A6IDFweCBzb2xpZCAjREREREREOw0KfQ0KI25hdjIgYSB7DQoJZGlzcGxheTogYmxvY2s7DQoJcGFkZGluZy1sZWZ0OjE1cHg7DQoJcGFkZGluZy1yaWdodDoxNXB4Ow0KCWJvcmRlci1yaWdodDogMXB4IHNvbGlkICNEREREREQ7DQp9DQojbmF2MiBsaSB7DQoJZmxvYXQ6IGxlZnQ7DQoJbGluZS1oZWlnaHQ6MzBweDsNCn0NCiNuYXYyIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQ6IG5vbmU7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KI25hdjIgbGkgdWwgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl3aWR0aDogMTVlbTsNCglsZWZ0OiAtOTk5ZW07DQoJei1pbmRleDogOTk5OTk7DQp9DQojbmF2MiBsaTpob3ZlciB1bCwgI25hdjIgbGkuc2Zob3ZlciB1bCB7DQoJbGVmdDogYXV0bzsNCgl6LWluZGV4OjEwMDA7CQ0KfQ0KI25hdjIgbGkgdWwgbGkgew0KICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZGJkMTsJDQoJYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZWRiZDE7CQ0KCWJvcmRlci1yaWdodDoxcHggc29saWQgI2RlZGJkMTsJCQkNCglsaW5lLWhlaWdodDoyOHB4OwkNCgl3aWR0aDoxNWVtOw0KfQ0KI25hdjIgbGk6aG92ZXIsICNuYXYyIGxpLmhvdmVyIHsNCiAgICBwb3NpdGlvbjogc3RhdGljOw0KfQ0KI25hdjIgbGkgdWwgdWwgew0KCW1hcmdpbjogLTI5cHggMCAwIDE1ZW07DQp9DQojbmF2MiBsaTpob3ZlciB1bCB1bCwgI25hdjIgbGkuc2Zob3ZlciB1bCB1bCB7DQoJbGVmdDogLTk5OWVtOw0KfQ0KI25hdjIgbGk6aG92ZXIgdWwsICNuYXYyIGxpIGxpOmhvdmVyIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsLCAjbmF2MiBsaSBsaS5zZmhvdmVyIHVsIHsNCglsZWZ0OiBhdXRvOw0KfQ0KI25hdjIgbGk6aG92ZXIgdWwgdWwsICNuYXYyIGxpOmhvdmVyIHVsIHVsIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsIHVsIHVsIHsNCglsZWZ0OiAtOTk5ZW07DQp9DQojbmF2MiBsaTpob3ZlciB1bCwgI25hdjIgbGkgbGk6aG92ZXIgdWwsICNuYXYyIGxpIGxpIGxpOmhvdmVyIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsLCAjbmF2MiBsaSBsaS5zZmhvdmVyIHVsLCAjbmF2MiBsaSBsaSBsaS5zZmhvdmVyIHVsIHsNCglsZWZ0OiBhdXRvOw0KfSANCg0KDQovKi0gU2VhcmNoIC0qLw0KI3NlYXJjaHsNCglmbG9hdDogcmlnaHQ7DQoJaGVpZ2h0OiAyN3B4Ow0KCXdpZHRoOjMxMHB4Ow0KCW1hcmdpbjogM3B4IDBweCAwcHggIWltcG9ydGFudDsNCglwYWRkaW5nOjBweCAhaW1wb3J0YW50Ow0KfQ0KKiBodG1sICNzZWFyY2h7DQoJbWFyZ2luLXJpZ2h0OiA4cHg7DQp9DQojc2VhcmNoIGlucHV0ew0KCWJhY2tncm91bmQ6ICNmZmZmZmY7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDsNCgljb2xvcjogIzAwMDAwMDsNCglmbG9hdDogbGVmdDsNCglmb250LXNpemU6IDExcHg7DQoJd2lkdGg6MjIzcHg7DQoJbWFyZ2luOjFweCAwcHggMHB4Ow0KCXBhZGRpbmc6IDNweCA0cHggNHB4Ow0KfQ0KI3NlYXJjaCAuYnRuew0KCXBhZGRpbmc6IDA7DQoJaGVpZ2h0OjIycHg7DQoJd2lkdGg6IGF1dG87DQoJbWFyZ2luOjFweCAwcHggMHB4IDVweCAhaW1wb3J0YW50Ow0KCWJvcmRlcjpub25lOw0KCXdpZHRoOjY5cHg7DQp9DQovKi0gSGVhZGVyIC0qLw0KI2hlYWRlcnsNCgloZWlnaHQ6IDI2OHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQoJbWFyZ2luOiAwIDE1cHg7DQoJcGFkZGluZzogMHB4Ow0KfQ0KLyotIExvZ28gLSovDQojaGVhZGVyIGgxew0KCWZsb2F0OiBsZWZ0Ow0KCWRpc3BsYXk6aW5saW5lOw0KCWxpbmUtaGVpZ2h0OiAxMDBweDsNCglmb250LXNpemU6IDI0cHg7DQp9DQojaGVhZGVyIGgxIGF7DQoJZGlzcGxheTogYmxvY2s7DQoJaGVpZ2h0OiA5M3B4Ow0KCXdpZHRoOiAzODlweDsNCgljb2xvcjogIzAwMDAwMDsNCglmb250LXNpemU6IDI4cHg7DQp9DQoNCi8qLSBUb3AgQmFubmVyIC0qLw0KI3RvcGJhbm5lciB7DQoJZmxvYXQ6IHJpZ2h0Ow0KCXdpZHRoOiA0NjhweDsNCglwYWRkaW5nOjIwcHggMHB4IDBweDsNCn0NCg0KI3RvcGJhbm5lciBpbWd7DQoJZmxvYXQ6IHJpZ2h0Ow0KfQ0KDQovKi0gUlNTIC0qLw0KI3JzcyBhew0KCWNvbG9yOiAjNjY2NjY2Ow0KfQ0KI3JzcyBoMnsNCglwYWRkaW5nOjEwcHg7DQoJZm9udC1zaXplOjE4cHg7DQoJbWFyZ2luLWJvdHRvbToxMHB4Ow0KfQ0KI3JzcyB1bHsNCgltYXJnaW46IDBweDsNCglwYWRkaW5nOiAxMHB4Ow0KCWZsb2F0OmxlZnQ7DQp9DQojcnNzIGxpew0KCW1hcmdpbjogMHB4Ow0KCWJvcmRlcjpub25lICFpbXBvcnRhbnQ7DQoJcGFkZGluZzogNXB4Ow0KfQ0KI3JzcyBpbWd7DQoJZmxvYXQ6IHJpZ2h0Ow0KCXBhZGRpbmctbGVmdDogMTBweDsNCgltYXJnaW4tdG9wOiA1cHg7DQp9DQoNCi8qPT09PT09PT09IEZFQVRVUkVEIFBPU1RTIChGUk9OVC1QQUdFKSA9PT09PT09PT0qLw0KDQovKiBTZWUgc2xpZGVzaG93LmNzcyAqLw0KDQovKj09PT09PT09PSBGRUFUVVJFRCBWSURFT1MgKEZST05ULVBBR0UpID09PT09PT09PSovDQoNCiN2aWRlby1mcmFtZSB7DQoJYmFja2dyb3VuZDojZWVlOw0KCWZsb2F0OmxlZnQ7DQoJd2lkdGg6NTgzcHg7DQoJaGVpZ2h0OmF1dG87DQoJbWFyZ2luOjBweDsNCglwYWRkaW5nOiA1cHg7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCgl9DQoudmlkZW8tbGVmdCB7DQoJZmxvYXQ6bGVmdDsNCgl3aWR0aDoyODVweCAhaW1wb3J0YW50Ow0KCWRpc3BsYXk6aW5saW5lOw0KCWJhY2tncm91bmQtY29sb3I6I0ZGRkZGRjsNCgl9DQoudmlkZW8tbGVmdCBwIHsNCglwYWRkaW5nOjBweCAhaW1wb3J0YW50Ow0KCW1hcmdpbjowcHggIWltcG9ydGFudDsNCgl9DQoudmlkZW8tbGVmdCBoMiB7DQoJZGlzcGxheTpub25lOw0KCX0NCi52aWRlby1yaWdodCB7DQoJZmxvYXQ6cmlnaHQ7DQoJd2lkdGg6MjczcHg7DQoJbWluLWhlaWdodDoyMTRweDsNCglkaXNwbGF5OmlubGluZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7DQoJcGFkZGluZzogMTBweDsNCgl9DQoudmlkZW8tcmlnaHQgaDJ7DQoJY29sb3I6ICMwMDAwMDA7DQoJZm9udC1zaXplOjExcHg7DQoJbGluZS1oZWlnaHQ6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDsNCgltYXJnaW46MCAhaW1wb3J0YW50Ow0KCXBhZGRpbmctdG9wOiAwcHg7DQoJcGFkZGluZy1yaWdodDogMHB4Ow0KCXBhZGRpbmctYm90dG9tOiA1cHg7DQoJcGFkZGluZy1sZWZ0OiAwcHg7DQoJfQ0KLnZpZGVvLXJpZ2h0IHB7DQoJY29sb3I6ICM2NjY7DQoJZm9udC1zaXplOjExcHg7DQoJbGluZS1oZWlnaHQ6MTJweDsNCgltYXJnaW4tdG9wOiAxMHB4Ow0KCW1hcmdpbi1yaWdodDogMDsNCgltYXJnaW4tYm90dG9tOiAwcHg7DQoJbWFyZ2luLWxlZnQ6IDA7DQoJcGFkZGluZy10b3A6IDA7DQoJcGFkZGluZy1yaWdodDogMDsNCglwYWRkaW5nLWJvdHRvbTogMjBweDsNCglwYWRkaW5nLWxlZnQ6IDBweDsNCgl9DQoudmlkZW8tcmlnaHQgaDN7DQoJZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJZm9udC1zaXplOjE4cHg7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nLWJvdHRvbTogMHB4Ow0KCX0NCi52aWRlby1yaWdodCAubW9vdGFic190aXRsZSB7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI0ZGRjsNCglsaXN0LXN0eWxlOm5vbmU7DQoJbWFyZ2luOjBweDsNCglwYWRkaW5nOjBweDsNCgl9DQoudmlkZW8tcmlnaHQgLm1vb3RhYnNfdGl0bGUgbGkgew0KCWNvbG9yOiMwMDA7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCWZvbnQtc2l6ZToxMXB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCWRpc3BsYXk6YmxvY2s7DQoJcGFkZGluZzoxMHB4Ow0KCWJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7DQoJYmFja2dyb3VuZDojZjdmN2Y3Ow0KCWxpbmUtaGVpZ2h0OjEwcHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCW1hcmdpbi10b3A6IDBweDsNCgltYXJnaW4tcmlnaHQ6IDBweDsNCgltYXJnaW4tYm90dG9tOiA1cHg7DQoJbWFyZ2luLWxlZnQ6IDBweDsNCgl9DQoudmlkZW8tcmlnaHQgLm1vb3RhYnNfdGl0bGUgbGk6aG92ZXIsIC52aWRlby1yaWdodCAubW9vdGFic190aXRsZSBsaS5hY3RpdmUgew0KCWJhY2tncm91bmQ6I2RkZGRkZCB1cmwoaW1hZ2VzL2ljby13YXRjaC5naWYpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDsNCgl9DQoNCi8qPT09PT09PT09IEJMT0cgUE9TVCBTVFlMSU5HID09PT09PT09PSovDQoNCi8qPT09IFNtYWxsIEJveCBQb3N0ID09PSovDQoucG9zdHsNCgltYXJnaW46IDA7DQp9DQoucG9zdCBoMnsNCglmb250LXNpemU6IDE4cHg7DQoJcGFkZGluZzogMCAwIDVweDsNCn0NCi5wb3N0IGgzew0KCWZvbnQtc2l6ZTogMTRweDsNCn0NCi5wb3N0IGgzIGF7DQoJY29sb3I6ICMwMDAwMDA7DQp9DQoucG9zdCBwew0KCXBhZGRpbmc6IDAgMCAxNXB4Ow0KCWxpbmUtaGVpZ2h0OiAxOXB4Ow0KfQ0KDQovKi0gQm94IC0qLw0KLmJveHsNCgljbGVhcjogYm90aDsNCgloZWlnaHQ6IDElOw0KCXBhZGRpbmc6IDA7DQoJbWFyZ2luOiAwOw0KfQ0KLmJveCAucG9zdHsNCgl3aWR0aDogMjg4cHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCglib3JkZXI6MXB4IHNvbGlkICNkZGQ7DQp9DQouYm94IC5wb3N0IGgyIGF7DQoJY29sb3I6IzMzMzMzMzsNCn0NCi5ib3ggLnBvc3QgaDJ7DQoJZm9udC1zaXplOiAxOHB4Ow0KCXBhZGRpbmc6IDEwcHg7DQoJbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQouYm94IC5wb3N0IHB7DQoJZm9udC1zaXplOiAxNHB4Ow0KCXBhZGRpbmc6IDVweCAxMHB4Ow0KfQ0KDQouYm94IC5wb3N0IGltZ3sNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOw0KCWZsb2F0OiByaWdodDsNCglwYWRkaW5nOiA1cHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46IDEwcHg7DQp9DQoNCi8qPT09IFRyYWRpdGlvbmFsIEJsb2cgUG9zdCA9PT0qLw0KLnBvc3QtYWx0ew0KCW1hcmdpbjogMCAwIDE1cHggMDsNCgkNCn0NCi5wb3N0LWFsdCBoMnsNCglmb250LXNpemU6IDIycHg7DQoJcGFkZGluZzogMDsNCgljb2xvcjojMDAwMDAwOw0KCWxpbmUtaGVpZ2h0OiAyNnB4Ow0KfQ0KLnBvc3QtYWx0IGgzew0KCWZvbnQtc2l6ZTogMTRweDsNCglwYWRkaW5nLWJvdHRvbTogNXB4Ow0KCWxpbmUtaGVpZ2h0OiAxOHB4Ow0KCWNvbG9yOiAjMDAwMDAwOw0KfQ0KLnBvc3QtYWx0IGg0ew0KCWZvbnQtc2l6ZTogMTRweDsNCglwYWRkaW5nLWJvdHRvbTogNXB4Ow0KCWxpbmUtaGVpZ2h0OiAxNnB4Ow0KfQ0KLnBvc3QtYWx0IGgzIGEsIC5wb3N0LWFsdCBoMiBhew0KCWNvbG9yOiAjMDAwMDAwOw0KfQ0KLnBvc3QtYWx0IHB7DQoJcGFkZGluZzogMCAwIDE1cHg7DQp9DQoucG9zdC1hbHQgcC5wb3N0X2RhdGV7DQoJY29sb3I6ICM5OTk5OTk7DQoJcGFkZGluZzogNXB4IDBweCAxMHB4Ow0KCWZvbnQtc2l6ZTogMTFweDsNCglmb250LXdlaWdodDogbm9ybWFsOw0KfQ0KcC5wb3N0ZWR7DQoJZm9udC1zaXplOiAxNHB4Ow0KCWNvbG9yOiAjNjY2NjY2Ow0KCWZvbnQtc3R5bGU6IG5vcm1hbDsNCglmb250LXdlaWdodDogbm9ybWFsOw0KCWxpbmUtaGVpZ2h0OiAxOHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7DQoJcGFkZGluZzogNXB4Ow0KCW1hcmdpbi10b3A6IDEwcHg7DQoJdGV4dC1hbGlnbjogcmlnaHQ7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI2RkZDsNCgkvKmJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ7Ki8NCgljbGVhcjpib3RoOw0KfQ0KaDMucG9zdGVkIGEgew0KCWNvbG9yOiAjMDAwMDAwOw0KCWZvbnQtc2l6ZToxMXB4Ow0KfQ0KDQouYm94IC5wb3N0IGgzLnBvc3RlZCB7DQoJYm9yZGVyLWJvdHRvbTpub25lOw0KfQ0KDQouYXV0aG9yX2luZm8gew0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOiA1NzNweDsNCglwYWRkaW5nOiAxMHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7DQoJYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYzsNCgltYXJnaW4tYm90dG9tOiAxNXB4Ow0KfQ0KDQouYXV0aG9yX2luZm8gaDMgew0KCW1hcmdpbi1ib3R0b206IDEwcHg7DQp9DQoNCi5hdXRob3JfcGhvdG8gew0KCWZsb2F0OiByaWdodDsNCgltYXJnaW46ICAwIDAgMCAxMHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQp9DQoNCi5hdXRob3JfcGhvdG8gaW1nIHsNCglib3JkZXI6IDFweCBzb2xpZCAjNjY2NjY2Ow0KfQ0KDQovKj09PSBCdXR0b25zID09PSovDQouY29udGludWV7DQoJYmFja2dyb3VuZDogdXJsKGltYWdlcy9pY28tYXJyb3cuZ2lmKSBuby1yZXBlYXQgbGVmdDsNCglmb250LXdlaWdodDpib2xkOw0KCXBhZGRpbmctbGVmdDogMTVweDsNCn0NCi5jb21tZW50cyB7DQoJcGFkZGluZy1ib3R0b206MHB4ICFpbXBvcnRhbnQ7DQp9DQouY29tbWVudHMgYXsNCgliYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2ljby1jb21tLmdpZikgbm8tcmVwZWF0IGxlZnQ7DQoJY29sb3I6ICMwMDAwMDA7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6MHB4IDBweCAwcHggMThweDsNCgltYXJnaW4tbGVmdDo1cHg7DQp9DQphLm1vcmV7DQoJYmFja2dyb3VuZDogdXJsKGltYWdlcy9pY28tYXJyb3cyLmdpZikgbm8tcmVwZWF0IHJpZ2h0Ow0KCWNvbG9yOiAjYzBjMGMwOw0KCWZvbnQtc2l6ZTogMS4yZW07DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJcGFkZGluZzogMCAyMHB4IDAgMDsNCn0NCi8qPT09IFRyYWRpdGlvbmFsIEJsb2cgUG9zdCA9PT0qLw0KLm5hdmlnYXRpb24gew0KCXdpZHRoOjU5NXB4Ow0KCW1hcmdpbi1ib3R0b206MTVweDsNCglmbG9hdDpsZWZ0Ow0KCXBhZGRpbmc6IDE1cHggMDsNCglib3JkZXItdG9wOiAgMXB4IHNvbGlkICNlZWU7DQoJYm9yZGVyLWJvdHRvbTogIDFweCBzb2xpZCAjZWVlOw0KfQ0KLm5hdmlnYXRpb24gYSB7DQoJY29sb3I6ICMwMDAwMDA7DQoJZm9udC1zaXplOiAxZW07DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQouYWxpZ25sZWZ0ew0KCWRpc3BsYXk6aW5saW5lOw0KCWZsb2F0OmxlZnQ7DQoJbWFyZ2luLXJpZ2h0OjE1cHg7DQp9DQouYWxpZ25yaWdodHsNCglkaXNwbGF5OmlubGluZTsNCglmbG9hdDpyaWdodDsNCgltYXJnaW4tbGVmdDoxNXB4Ow0KfQ0KDQovKiAgICBVc2luZyBcJ2NsYXNzPVwiYWxpZ25yaWdodFwiXCcgb24gYW4gaW1hZ2Ugd2lsbCAod2hvIHdvdWxkXCd2ZQ0KICAgIHRob3VnaHQ/ISkgYWxpZ24gdGhlIGltYWdlIHRvIHRoZSByaWdodC4gQW5kIHVzaW5nIFwnY2xhc3M9XCJjZW50ZXJlZFwnLA0KICAgIHdpbGwgb2YgY291cnNlIGNlbnRlciB0aGUgaW1hZ2UuIFRoaXMgaXMgbXVjaCBiZXR0ZXIgdGhhbiB1c2luZw0KICAgIGFsaWduPVwiY2VudGVyXCIsIGJlaW5nIG11Y2ggbW9yZSBmdXR1cmVwcm9vZiAoYW5kIHZhbGlkKSAqLw0KDQppbWcud3Atc21pbGV5ICB7DQogICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7DQogICAgYm9yZGVyOiBub25lIWltcG9ydGFudDsNCn0NCg0KaW1nLmNlbnRlcmVkIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgfQ0KDQogICAgLyogRW5kIEltYWdlcyAqLw0KDQoNCi8qPT09PT09PT09IEFSQ0hJVkUgU1BFQ0lGSUMgPT09PT09PT09Ki8NCg0KI2FyY2hpdmVib3ggew0KCW1hcmdpbi1ib3R0b206MTVweDsNCglwYWRkaW5nOjEwcHg7DQoJY29sb3I6IzAwMCAhaW1wb3J0YW50Ow0KfQ0KI2FyY2hpdmVib3ggaDQsICNhcmNoaXZlYm94IGgzLCAjYXJjaGl2ZWJveCBoMnsNCgljb2xvcjojMzMzMzMzOw0KZm9udC1zaXplOiAxNHB4Ow0KfQ0KI2FyY2hpdmVib3ggaDQgZW0sICNhcmNoaXZlYm94IGgyIGVtLCAjYXJjaGl2ZWJveCBoMyBlbXsNCglmb250LXdlaWdodDogbm9ybWFsOw0KfQ0KI2FyY2hpdmVib3ggYSwgI2FyY2hpdmVib3ggaDIgew0KCWNvbG9yOiMwMDA7DQp9DQouYXJjaGl2ZWZlZWQgew0KCW1hcmdpbi10b3A6MTBweDsNCglwYWRkaW5nLWJvdHRvbTowcHg7DQp9DQouYXJjaGl2ZWZlZWQgYSB7DQoJYmFja2dyb3VuZDp1cmwoaW1hZ2VzL2ljby1hcmNmZWVkLmdpZikgY2VudGVyIGxlZnQgbm8tcmVwZWF0Ow0KCWhlaWdodDoyMHB4Ow0KCWNvbG9yOiMwMDA7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCglmb250LXNpemU6IDE0cHg7DQoJZm9udC13ZWlnaHQ6IG5vcm1hbDsNCglwYWRkaW5nOjNweCAwcHggMXB4IDIycHg7DQp9DQouYXJjbGlzdHsNCgl3aWR0aDogMjYwcHg7DQoJbWFyZ2luOjBweCAwcHggMjVweDsNCglwYWRkaW5nOjVweCAwcHggMHB4Ow0KCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOw0KfQ0KLmFyY2xpc3QgaDJ7DQoJY29sb3I6ICMwMDA7DQoJcGFkZGluZzowcHggMHB4IDE1cHg7DQp9DQoNCi5hcmNsaXN0IHVsIHsNCgltYXJnaW4tYm90dG9tOiAxNXB4Ow0KfQ0KDQouYXJjbGlzdCB1bCBsaXsNCgljb2xvcjojYzBjMGMwOw0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6OHB4IDAgOHB4IDEwcHg7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI2VlZTsNCn0NCg0KLyo9PT09PT09PT0gU0lOR0xFIFBPU1QgU1BFQ0lGSUMgPT09PT09PT09Ki8NCg0KLnNpbmdsZXRhZ3Mgew0KCW1hcmdpbi10b3A6NXB4Ow0KfQ0KLnNpbmdsZXRhZ3MgYSB7IGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjb2xvcjojMDAwMDAwOyB9DQouZW50cnkgcHsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJZm9udC1zaXplOjE0cHg7DQoJbGluZS1oZWlnaHQ6MThweDsNCgl9DQouZW50cnkgYmxvY2txdW90ZSB7DQoJcGFkZGluZzogMTBweDsNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KCWNvbG9yOiMwMDA7DQoJd2lkdGg6ODUlOw0KCWJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7DQoJZm9udC1zdHlsZTogaXRhbGljOw0KCW1hcmdpbjo1cHggYXV0byAxNXB4Ow0KCX0NCi5lbnRyeSBibG9ja3F1b3RlIHAgew0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6IDVweCAwcHg7DQoJbWFyZ2luOiA1cHggMHB4Ow0KCWxpbmUtaGVpZ2h0OiAyMHB4Ow0KCX0NCi5lbnRyeSBpbWcgew0KCXBhZGRpbmc6IDRweDsNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOw0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoJfQ0KLndwLWNhcHRpb24gaW1nIHsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQp9DQpwLndwLWNhcHRpb24tdGV4dCB7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJcGFkZGluZzogMCAwIDE1cHggMDsNCgltYXJnaW46MHB4Ow0KCWZvbnQtc2l6ZToxLjJlbTsNCglmb250LXN0eWxlOml0YWxpYzsNCgljb2xvcjojMDAwMDAwOw0KfQ0KLmVudHJ5IHVsLCAuZW50cnkgb2wgew0KCW1hcmdpbi1ib3R0b206MTVweDsNCglmb250LXNpemU6MTRweDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCX0NCi5lbnRyeSB1bCBsaSB1bCwgLmVudHJ5IG9sIGxpIG9sew0KCW1hcmdpbi1ib3R0b206MHB4Ow0KCXBhZGRpbmctdG9wOjNweDsNCgl9DQouZW50cnkgdWwgbGkgew0KCWxpc3Qtc3R5bGU6Y2lyY2xlIGluc2lkZSAhaW1wb3J0YW50Ow0KCW1hcmdpbi1sZWZ0OjE1cHg7DQoJcGFkZGluZzozcHggMHB4Ow0KCX0NCi5lbnRyeSB1bCBsaSB1bCBsaSB7DQoJbGlzdC1zdHlsZTpkaXNjIGluc2lkZSAhaW1wb3J0YW50Ow0KCX0NCi5lbnRyeSBvbCBsaSB7DQoJbGlzdC1zdHlsZTpkZWNpbWFsIGluc2lkZSAhaW1wb3J0YW50Ow0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6M3B4IDBweDsNCgl9DQouZW50cnkgb2wgbGkgb2wgbGkgew0KCWxpc3Qtc3R5bGU6ZGVjaW1hbC1sZWFkaW5nLXplcm8gaW5zaWRlICFpbXBvcnRhbnQ7DQoJfQ0KDQoNCi8qPT09PT09PT09IENPTU1FTlRTID09PT09PT09PSovDQoNCmgyLmNvbW1oMnsNCglmb250LXNpemU6IDEuNWVtOw0KCXBhZGRpbmc6IDAgMCA1cHg7DQoJbWFyZ2luOiAwIDAgMTVweCAwOw0KCWZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDsNCgljb2xvcjojMDAwMDAwOw0KfQ0Kb2wuY29tbWVudGxpc3R7DQoJbWFyZ2luOiAxMHB4IDAgMjBweDsNCglwYWRkaW5nOiAwOw0KCWxpc3Qtc3R5bGU6IG5vbmU7DQoJZm9udC1zaXplOiAxMnB4Ow0KCWxpbmUtaGVpZ2h0OiAyMHB4Ow0KfQ0Kb2wuY29tbWVudGxpc3QgcHsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQoJbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQpvbC5jb21tZW50bGlzdCBjaXRlew0KCWZvbnQtc3R5bGU6IG5vcm1hbDsNCglmb250LXdlaWdodDogYm9sZDsNCn0NCm9sLmNvbW1lbnRsaXN0IGxpew0KCXBhZGRpbmc6IDIwcHggMTBweCAxMHB4IDEwcHg7DQp9DQpvbC5jb21tZW50bGlzdCBsaS5hbHR7DQoJcGFkZGluZzogMTBweCAxMHB4IDAgMTBweCAhaW1wb3J0YW50Ow0KCWJhY2tncm91bmQ6I2Y3ZjdmNzsNCglib3JkZXI6MXB4IHNvbGlkICNlZWU7CQ0KfQ0KI2NvbW1lbnQgew0KCXdpZHRoOiA1OTVweDsNCglmbG9hdDogbGVmdDsNCn0NCg0KLyo9PT09PT09PT0gVEhSRUFERUQgQ09NTUVOVFMgPT09PT09PT09Ki8NCg0Kb2wuY29tbWVudGxpc3QgLmNvbW1lbnQtbWV0YXsNCglmb250LXNpemU6MC44ZW07DQp9DQpvbC5jb21tZW50bGlzdCBsaSAuYXZhdGFyIHsgCQ0KCWZsb2F0OmxlZnQ7DQoJYm9yZGVyOiAxcHggc29saWQgIzAwMDsNCgltYXJnaW4tcmlnaHQ6IDEwcHg7DQp9DQoNCm9sLmNvbW1lbnRsaXN0IGxpew0KCWJvcmRlcjoxcHggc29saWQgI2VlZTsJCQ0KCW1hcmdpbjoxMHB4IDAgMTBweDsNCglwYWRkaW5nOjE1cHggMTBweCAxMHB4Ow0KfQ0KDQpvbC5jb21tZW50bGlzdCBsaSAuZXZlbnsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQp9DQoNCi5jb21tZW50bGlzdCBsaSB1bCBsaSB7DQoJbWFyZ2luLWxlZnQ6MTBweDsNCgltYXJnaW4tcmlnaHQ6LTVweDsNCn0NCg0Kb2wuY29tbWVudGxpc3QgbGkgLnJlcGx5IHsNCglwYWRkaW5nOjAgMCA1cHggMDsNCn0NCg0KI3Jlc3BvbmQgcHsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQoJbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQoNCi8qIFBhZ2VOYXZpICovDQoNCi5tb3JlX2VudHJpZXMge2ZvbnQtc2l6ZToxNHB4O30NCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIHtjbGVhcjpib3RoO2Zsb2F0OiByaWdodDt9DQoubW9yZV9lbnRyaWVzIC53cC1wYWdlbmF2aSBhIHt0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDt9DQoNCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIC5jdXJyZW50LCANCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIC5vbiwNCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIGE6aG92ZXIge2JhY2tncm91bmQ6ICM5ZjlmOWYgIWltcG9ydGFudDt9DQoNCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIGEsDQoubW9yZV9lbnRyaWVzIC53cC1wYWdlbmF2aSBhOmxpbmssDQoubW9yZV9lbnRyaWVzIC53cC1wYWdlbmF2aSBhOnZpc2l0ZWQsIA0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgLmN1cnJlbnQsIA0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgLm9uLA0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgc3Bhbi5wYWdlcyB7IGJhY2tncm91bmQ6ICNFRUVFRUU7Y29sb3I6ICM2NjY7IHBhZGRpbmc6IDRweCAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDogNHB4OyBib3JkZXI6MXB4IHNvbGlkICNEREREREQ7IGxpbmUtaGVpZ2h0OjI0cHg7IH0NCg0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgLmV4dGVuZCB7IGJhY2tncm91bmQ6bm9uZTsgYm9yZGVyOm5vbmU7IH0NCg0KLyo9PT09PT09PT0gU0lERUJBUiA9PT09PT09PT0qLw0KDQovKiBUYWJzICovDQoNCiN0YWJzIHsNCgl3aWR0aDozMDhweCAhaW1wb3J0YW50Ow0KCWhlaWdodDphdXRvICFpbXBvcnRhbnQ7DQoJcGFkZGluZzo1cHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZGRkOw0KCWJhY2tncm91bmQtY29sb3I6I2VlZWVlZTsNCglmbG9hdDpsZWZ0Ow0KCWRpc3BsYXk6IGJsb2NrOw0KfQ0KDQouaW5zaWRlIHsNCgl3aWR0aDogMjkzcHggIWltcG9ydGFudDsNCglwYWRkaW5nOjVweCAhaW1wb3J0YW50Ow0KCWJvcmRlcjoxcHggc29saWQgI2RkZCAhaW1wb3J0YW50Ow0KCW1hcmdpbjo1cHggMHB4IDBweCAhaW1wb3J0YW50Ow0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoNCn0NCg0KdWwud29vVGFicyB7DQoJd2lkdGg6IDEwMCU7DQoJcGFkZGluZzogMCAwIDdweCAwOw0KfQ0KDQp1bC53b29UYWJzIGxpIHsNCglmbG9hdDogbGVmdDsNCglkaXNwbGF5OmlubGluZTsNCglmb250LXNpemU6IDE0cHg7DQoJbGluZS1oZWlnaHQ6IDM0cHg7DQoJYmFja2dyb3VuZDogI2ZmZmZmZjsNCgljb2xvcjogIzAwMDAwMDsNCglib3JkZXI6MXB4IHNvbGlkICNkZGQ7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJZm9udC1zaXplOiAxMXB4Ow0KCW1hcmdpbjowcHggMnB4IDBweCAwcHggIWltcG9ydGFudDsNCgljdXJzb3I6IHBvaW50ZXI7DQp9DQoNCnVsLndvb1RhYnMgbGkgYSB7DQoJbGluZS1oZWlnaHQ6IDMxcHg7DQoJY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsNCglkaXNwbGF5OiBibG9jazsNCglmbG9hdDogbGVmdDsNCglwYWRkaW5nOiAwIDZweDsNCn0NCg0KdWwud29vVGFicyBsaSBhLnNlbGVjdGVkLCB1bC53b29UYWJzIGxpIGE6aG92ZXIgew0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7DQp9DQoNCiN0YWdjbG91ZCB7DQoJcGFkZGluZzoxMHB4Ow0KfQ0KDQoNCg0KI3N1YiBpbWcgew0KCWZsb2F0OiByaWdodDsNCgltYXJnaW46IDAgMCA4cHggOHB4Ow0KfQ0KDQouaW5zaWRlIGxpIHsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRUVFRUVFOw0KCXBhZGRpbmc6OHB4Ow0KfQ0KDQouaW5zaWRlIGxpIGltZy5hdmF0YXIsIC5pbnNpZGUgbGkgaW1nLnRodW1ibmFpbCB7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCglwYWRkaW5nOiAzcHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCglmbG9hdDogbGVmdDsNCgltYXJnaW46IDAgOHB4IDAgMDsNCn0NCg0KLyotIEFkcyAtKi8NCg0KI21wdV9iYW5uZXIgew0KCXdpZHRoOjMwMHB4Ow0KCWhlaWdodDoyNTBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlZWVlZWU7DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KCXBhZGRpbmc6IDlweDsNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOw0KfQ0KDQojYWR2ZXJ0XzEyNXgxMjUgew0KCXBhZGRpbmctbGVmdDogMTRweDsNCn0NCg0KI2FkdmVydF8xMjV4MTI1IGltZ3sNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KCXBhZGRpbmc6IDVweDsNCgltYXJnaW46MCAxNHB4IDE0cHggMDsNCn0NCg0KLyotIEZsaWNrciAtKi8NCg0KI2ZsaWNrciAud3JhcCB7DQoJcGFkZGluZy10b3A6IDE1cHg7DQp9DQouZmxpY2tyX2JhZGdlX2ltYWdlIGltZyB7DQoJZmxvYXQ6bGVmdDsNCn0NCi8qPT09IFN0eWxpbmcgV2lkZ2V0IExpc3RzID09PSovDQoNCi53aWRnZXQgew0KCW1hcmdpbi1ib3R0b206MTVweDsNCn0JDQoud2lkZ2V0IGgzIHsNCglwYWRkaW5nOiA1cHg7DQp9DQoud2lkZ2V0IHVsIHsNCgltYXJnaW46MCAwIDEwcHggMDsNCglwYWRkaW5nOjVweCAwOw0KCWJvcmRlcjpub25lICFpbXBvcnRhbnQ7DQp9DQoud2lkZ2V0IHVsIGxpIHsNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsNCglwYWRkaW5nOjVweCAwIDVweCA1cHg7DQoJbWFyZ2luOjBweDsNCn0NCi53aWRnZXQgdWwgbGkgYSB7DQoJY29sb3I6ICMwMDAwMDA7DQp9DQoud2lkZ2V0IHNlbGVjdCB7DQoJYm9yZGVyOjFweCBzb2xpZCAjZWVlOw0KCXdpZHRoOjE0OHB4Ow0KCW1hcmdpbjoxNXB4IDAgMCAwOw0KfQ0KDQoudGV4dHdpZGdldCB7DQoJcGFkZGluZy10b3A6IDE1cHg7DQp9DQoNCi8qPT09PT09PT09IEZPT1RFUiA9PT09PT09PT0qLw0KDQojZm9vdGVyew0KCWNsZWFyOiBib3RoOw0KCWNvbG9yOiAjNjY2NjY2Ow0KCWhlaWdodDogMzVweDsNCglsaW5lLWhlaWdodDogMzVweDsNCgltYXJnaW46MHB4IDE1cHggMTVweDsNCglwYWRkaW5nOjBweCAxNXB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCn0NCg0KI2Zvb3RlciBpbWcgew0KCXZlcnRpY2FsLWFsaWduOm1pZGRsZTsNCgltYXJnaW4tbGVmdDo1cHg7DQp9DQoNCi8qPT09PT09PT09IE1JU0MgPT09PT09PT09Ki8NCg0KLmZpeHsNCgljbGVhcjogYm90aDsNCgloZWlnaHQ6IDFweDsNCgltYXJnaW46IDAgMCAtMXB4Ow0KCW92ZXJmbG93OiBoaWRkZW47DQp9DQouaGx7DQoJYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWU7DQp9DQouaGwtZnVsbHsNCglmbG9hdDpsZWZ0Ow0KCWNsZWFyOmJvdGg7DQoJaGVpZ2h0OjFweDsNCgl3aWR0aDoxMDAlOw0KCXBhZGRpbmc6MCAhaW1wb3J0YW50Ow0KCW1hcmdpbjowcHggMHB4IDE1cHg7DQp9DQouaGwyew0KCWJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjYzBjMGMwOw0KfQ0KLmhsM3sNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsNCn0NCi5ibG9new0KCXdpZHRoOjEwMCUgIWltcG9ydGFudDsNCglmbG9hdDpsZWZ0Ow0KfQ0KLmJldHdlZW57DQoJaGVpZ2h0OjJweDsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQoJfQ0KLmZsew0KCWZsb2F0OiBsZWZ0Ow0KfQ0KLmZyew0KCWZsb2F0OiByaWdodDsNCn0NCi5hY3sNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouYXJ7DQoJdGV4dC1hbGlnbjogcmlnaHQ7DQp9DQoudGh7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDsNCglmbG9hdDogcmlnaHQ7DQoJcGFkZGluZzogNXB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoJbWFyZ2luOiAwIDAgNXB4IDEwcHg7DQp9DQoNCnRhYmxlI3dwLWNhbGVuZGFyIHsNCglib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KCW1hcmdpbjogMHB4Ow0KCXBhZGRpbmc6IDBweDsNCn0NCg0KdGFibGUjd3AtY2FsZW5kYXIgYSB7DQoJY29sb3I6IzAwMDAwMDsgDQp9DQoNCnRhYmxlI3dwLWNhbGVuZGFyIGNhcHRpb24geyANCglmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDAuOTE2NjdlbTsgbGluZS1oZWlnaHQ6IDEuNzI3MjdlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDJweDsgYmFja2dyb3VuZDogI2U1ZTVlNTsgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjZGRkOyANCn0NCnRhYmxlI3dwLWNhbGVuZGFyIHRoIHsgDQoJd2lkdGg6IDI2cHg7IGZvbnQtc2l6ZTogMC45MTY2N2VtOyBsaW5lLWhlaWdodDogMS43MjcyN2VtOyBiYWNrZ3JvdW5kOiAjZjJmMmYyOyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNkZGQ7IHRleHQtYWxpZ246IGNlbnRlcjsgDQp9DQp0YWJsZSN3cC1jYWxlbmRhciB0ZCB7IA0KCXdpZHRoOiAyNnB4OyBsaW5lLWhlaWdodDogMS42NjY2N2VtOyBjb2xvcjogIzk5OTsgdGV4dC1hbGlnbjogY2VudGVyOyANCn0NCnRhYmxlI3dwLWNhbGVuZGFyIHRkI25leHQsIHRhYmxlI3dwLWNhbGVuZGFyIHRkI3ByZXYgeyANCgl3aWR0aDogNzhweDsgZm9udC1zaXplOiAwLjgzMzMzZW07IGxldHRlci1zcGFjaW5nOiAxcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IA0KfQ0KLmdyYXZhdGFyIHsNCglmbG9hdDpsZWZ0Ow0KCWJvcmRlcjogMXB4IHNvbGlkICMwMDA7DQoJbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KfQ0KLmpkR2FsbGVyeSBhIHsgY3Vyc29yOnBvaW50ZXIgIWltcG9ydGFudDsgfQ0KDQovKiBTbGlkZXIgKi8NCg0KI3NsaWRlci1ob2xkZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMjcwcHg7IHdpZHRoOiA1OTVweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgb3ZlcmZsb3c6IGhpZGRlbiA7IGNvbG9yOiAjZmZmO30NCiNzbGlkZXItaG9sZGVyIC5zbGlkZXsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6MHB4OyBsZWZ0OiA1OTVweDsgei1pbmRleDogMTtoZWlnaHQ6IDI3MHB4OyB3aWR0aDogNTk1cHg7IG92ZXJmbG93OiBoaWRkZW47fQ0KI3NsaWRlci1ob2xkZXIgLnNsaWRlLTEgeyBkaXNwbGF5IDogYmxvY2s7IGxlZnQ6MHB4OyB0b3A6MHB4O30NCiNzbGlkZXItaG9sZGVyIC5zbGlkZSBhIHtkaXNwbGF5OiBibG9jazsgIH0NCiNzbGlkZXItaG9sZGVyIC5zbGlkZSBpbWcgeyAgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOjBweDsgbGVmdDogMHB4OyB9DQojc2xpZGVyLWhvbGRlciAgaW1nLmZ1bGwtbWFzayB7ICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDowOyBsZWZ0OiAwcHg7IHotaW5kZXg6IDA7IGRpc3BsYXk6IG5vbmU7IH0NCg0KI3NsaWRlci1ob2xkZXIgLnNsaWRlLWNvbnRlbnQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjcwcHg7IGxlZnQ6IDA7aGVpZ2h0OiA3MDBweDsgd2lkdGg6IDU3NXB4OyBiYWNrZ3JvdW5kOiAjMDAwOyBwYWRkaW5nOiAxMHB4IDEwcHggMCAxMHB4O3otaW5kZXg6IDk5OTt9DQoNCiNzbGlkZXItaG9sZGVyIC5zbGlkZXItbGVmdCwgI3NsaWRlci1ob2xkZXIgLnNsaWRlci1yaWdodCB7cG9zaXRpb246IGFic29sdXRlOyAgICBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogMTUwcHg7IHdpZHRoOiAxMjBweDsgei1pbmRleDogOTk5OyBkaXNwbGF5OiBibG9jazsgY29sb3I6IHdoaXRlOyB9DQoNCiNzbGlkZXItaG9sZGVyIC5zbGlkZXItbGVmdCB7IGxlZnQ6IDA7ICB0b3A6IDA7IGJhY2tncm91bmQ6IHVybChcJ2ltYWdlcy9mbGVjaGUxLnBuZ1wnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTsgICB9DQoqIGh0bWwgI3NsaWRlci1ob2xkZXIgLnNsaWRlci1sZWZ0IHsgYmFja2dyb3VuZDogdXJsKFwnaW1hZ2VzL2ZsZWNoZTEuZ2lmXCcpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdDsgfQ0KDQojc2xpZGVyLWhvbGRlciAuc2xpZGVyLXJpZ2h0e3JpZ2h0OiAwOyB0b3A6IDA7IGJhY2tncm91bmQ6IHVybChcJ2ltYWdlcy9mbGVjaGUyLnBuZ1wnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTt9DQoqIGh0bWwgI3NsaWRlci1ob2xkZXIgLnNsaWRlci1yaWdodCB7IGJhY2tncm91bmQ6IHVybChcJ2ltYWdlcy9mbGVjaGUyLmdpZlwnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0OyB9DQoNCi5zbGlkZXItc2hlbGYgeyB6LWluZGV4OiA5OTk7IGJhY2tncm91bmQ6ICMwMDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOjA7IHdpZHRoOiA1OTVweDsgb3ZlcmZsb3c6IHZpc2libGU7fQ0Kc3Bhbi5jbGlja2VyIHsgei1pbmRleDogOTk5OyBiYWNrZ3JvdW5kOiAjMDAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDowcHg7IHJpZ2h0OjEyMHB4OyB3aWR0aDogYXV0bzsgZm9udC1zaXplOiAxMXB4OyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMnB4IDEwcHg7IGN1cnNvcjogcG9pbnRlcjt9DQouc2hlbGYtY29udGVudCB7IHotaW5kZXg6IDk5OTk7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOjA7IHdpZHRoOiA1OTVweDt9DQouc2hlbGYtY29udGVudCBpbWcge2JvcmRlcjoxcHggc29saWQgI2ZmZjsgbWFyZ2luOiAxMHB4IDAgMCAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7fQ0KDQouc2hlbGYtdGl0bGUge3BhZGRpbmc6IDBweCAxMHB4O30NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQo8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+DQoNCg0KYXsNCgljb2xvcjogIzAwMDsNCn0NCi5zdWJjb2wgaDJ7DQoJY29sb3I6ICNmZmY7DQp9DQoubmF2MiBsaTpob3ZlciwNCi5uYXYyIGxpLnNmSG92ZXIsDQoubmF2MiBsaS5jdXJyZW50LA0KLm5hdjIgYTpmb2N1cywgLm5hdjIgYTpob3ZlciwgLm5hdjIgYTphY3RpdmUgew0KCWNvbG9yOiAjMzMzMzMzOw0KfQ0KLmZlYXR1cmVkIGgzIGE6aG92ZXIgew0KCWNvbG9yOiMwMDA7DQp9DQoudmlkZW8tcmlnaHQgaDJ7DQoJY29sb3I6ICMwMDA7DQp9DQouY2F0bGlzdCBoMnsNCgljb2xvcjogI2ZmZjsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOw0KCWJhY2tncm91bmQtaW1hZ2U6IHVybChkZWZhdWx0L2ljby1jYXRsaXN0LmdpZik7DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7DQp9DQojbmF2MSAuY3VycmVudF9wYWdlX2l0ZW0gYSwNCiNuYXYxIGxpLnNmSG92ZXIsDQojbmF2MSBsaS5jdXJyZW50LA0KI25hdjEgbGkgYTpmb2N1cywgI25hdjEgbGkgYTpob3ZlciwgI25hdjEgbGkgYTphY3RpdmUgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQoJY29sb3I6ICNGRkZGRkY7DQp9DQojbmF2MSAuY3VycmVudF9wYWdlX2l0ZW0gdWwgbGkgYSB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCgljb2xvcjogIzYzN0QzNzsNCn0NCg0KI25hdjEgLmN1cnJlbnRfcGFnZV9pdGVtIHVsIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQoJY29sb3I6ICNGRkZGRkY7DQp9DQojbmF2IHVsICBsaS5iYWNrIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOw0KCWNvbG9yOiAjRkZGRkZGOw0KfQ0KDQojbmF2IHVsICBsaSBhIHsNCgljb2xvcjogIzAwMDAwMDsNCn0NCiNuYXYyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOw0KCWJvcmRlci1ib3R0b206M3B4IHNvbGlkICMwMDAwMDA7DQp9DQojbmF2MiBsaSBhOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiMwMDAwMDA7DQoJY29sb3I6I2ZmZjsNCn0NCi52aWRlby1yaWdodCBoM3sNCgljb2xvcjogIzYzN0QzNzsNCn0JDQp1bC53b29UYWJzIGxpIGEuc2VsZWN0ZWQsIHVsLndvb1RhYnMgbGkgYTpob3ZlciB7DQoJY29sb3I6ICNmY2ZmMDA7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCg0KLndpZGdldCBoMyB7DQoJY29sb3I6ICNGRkZGRkY7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCiNmb290ZXIgYXsNCgljb2xvcjogIzAwMDAwMDsNCn0NCiNhcmNoaXZlYm94IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOw0KCWJvcmRlcjogbm9uZTsNCglmb250LXNpemU6MjhweDsNCglmb250LXdlaWdodDoxMDA7DQoJcGFkZGluZzogMCAwIDAgMDsNCgltYXJnaW4tdG9wOjEwcHg7DQp9DQojYXJjaGl2ZWJveCBoNCBlbSwgI2FyY2hpdmVib3ggaDIgZW0sICNhcmNoaXZlYm94IGgzIGVtew0KCWNvbG9yOiMwMDAwMDA7DQp9DQojcnNzIGgyew0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoJYm9yZGVyOiBub25lOw0KCWNvbG9yOiMwMDAwMDA7DQp9DQoNCg0KDQoNCjwhLS0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4NCg0KLyogUEFSQ0hFUyAqLw0KDQouY2xlYXINCnsNCmNsZWFyOmJvdGg7DQpkaXNwbGF5OmJsb2NrOw0Kb3ZlcmZsb3c6aGlkZGVuOw0KdmlzaWJpbGl0eTpoaWRkZW47DQp3aWR0aDowO2hlaWdodDowDQp9DQoNCg0KDQo8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+DQoNCi8qIFBBUkNIRVMgKi8NCg0KLmRyeWJjbl9hIHsNCgljb2xvcjogI0ZGMDAwMDsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KfQ0KPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fc2VvX3RlbXBsYXRlPC9zdHJvbmc+IC0gYTozOntpOjA7YTo1OntzOjQ6Im5hbWUiO3M6MTA6InNlb19pbmZvXzEiO3M6Mzoic3RkIjtzOjA6IiI7czo1OiJsYWJlbCI7czo0OiJTRU8gIjtzOjQ6InR5cGUiO3M6NDoiaW5mbyI7czo0OiJkZXNjIjtzOjIwMjoiQWRkaXRpb25hbCBTRU8gY3VzdG9tIGZpZWxkcyBhdmFpbGFibGU6IDxzdHJvbmc+Q3VzdG9tIFBhZ2UgVGl0bGVzPC9zdHJvbmc+LiBHbyB0byA8YSBocmVmPSJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtYWRtaW4vYWRtaW4ucGhwP3BhZ2U9d29vdGhlbWVzX3NlbyI+U0VPIFNldHRpbmdzPC9hPiBwYWdlIHRvIGFjdGl2YXRlLiI7fWk6MTthOjU6e3M6NDoibmFtZSI7czoxMDoic2VvX2ZvbGxvdyI7czozOiJzdGQiO3M6NToiZmFsc2UiO3M6NToibGFiZWwiO3M6MTY6IlNFTyAtIFNldCBmb2xsb3ciO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7czo0OiJkZXNjIjtzOjc3OiJNYWtlIGxpbmtzIGZyb20gdGhpcyBwb3N0L3BhZ2UgPHN0cm9uZz5mb2xsb3dhYmxlPC9zdHJvbmc+IGJ5IHNlYXJjaCBlbmdpbmVzLiI7fWk6MjthOjU6e3M6NDoibmFtZSI7czoxMToic2VvX25vaW5kZXgiO3M6Mzoic3RkIjtzOjU6ImZhbHNlIjtzOjU6ImxhYmVsIjtzOjEzOiJTRU8gLSBOb2luZGV4IjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO3M6NDoiZGVzYyI7czo1NjoiU2V0IHRoZSBQYWdlL1Bvc3QgdG8gbm90IGJlIGluZGV4ZWQgYnkgYSBzZWFyY2ggZW5naW5lcy4iO319PC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9lbnRyaWVzPC9zdHJvbmc+IC0gU2VsZWN0IGEgTnVtYmVyOjwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlYXRfZW50cmllczwvc3Ryb25nPiAtIFNlbGVjdCBhIG51bWJlcjo8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX2lkPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZmVlZGJ1cm5lcl91cmw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mcmFtZXdvcmtfdmVyc2lvbjwvc3Ryb25nPiAtIDQuMy41PC9saT48bGk+PHN0cm9uZz53b29fZ29vZ2xlX2FuYWx5dGljczwvc3Ryb25nPiAtIDxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPg0KDQogIHZhciBfZ2FxID0gX2dhcSB8fCBbXTsNCiAgX2dhcS5wdXNoKFtcJ19zZXRBY2NvdW50XCcsIFwnVUEtMzEyMDQxMDgtMVwnXSk7DQogIF9nYXEucHVzaChbXCdfdHJhY2tQYWdldmlld1wnXSk7DQoNCiAgKGZ1bmN0aW9uKCkgew0KICAgIHZhciBnYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCdzY3JpcHRcJyk7IGdhLnR5cGUgPSBcJ3RleHQvamF2YXNjcmlwdFwnOyBnYS5hc3luYyA9IHRydWU7DQogICAgZ2Euc3JjID0gKFwnaHR0cHM6XCcgPT0gZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wgPyBcJ2h0dHBzOi8vc3NsXCcgOiBcJ2h0dHA6Ly93d3dcJykgKyBcJy5nb29nbGUtYW5hbHl0aWNzLmNvbS9nYS5qc1wnOw0KICAgIHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCdzY3JpcHRcJylbMF07IHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZ2EsIHMpOw0KICB9KSgpOw0KDQo8L3NjcmlwdD48L2xpPjxsaT48c3Ryb25nPndvb19ncmF2YXRhcjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29faG9tZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29faG9tZV90aHVtYl9oZWlnaHQ8L3N0cm9uZz4gLSA0NTwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfdGh1bWJfd2lkdGg8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9zaW5nbGU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2xheW91dDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC93b29fdXBsb2Fkcy82NS1oZWFkZXItZHJ5LmpwZzwvbGk+PGxpPjxzdHJvbmc+d29vX21hbnVhbDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9zdXBwb3J0L3RoZW1lLWRvY3VtZW50YXRpb24vZ2F6ZXR0ZS1lZGl0aW9uLzwvbGk+PGxpPjxzdHJvbmc+d29vX29wdGlvbnM8L3N0cm9uZz4gLSBhOjMyOntzOjE4OiJ3b29fYWx0X3N0eWxlc2hlZXQiO3M6MDoiIjtzOjEyOiJ3b29fZ3JhdmF0YXIiO3M6NToiZmFsc2UiO3M6ODoid29vX2xvZ28iO3M6MDoiIjtzOjIwOiJ3b29fZ29vZ2xlX2FuYWx5dGljcyI7TjtzOjE4OiJ3b29fZmVlZGJ1cm5lcl91cmwiO3M6MDoiIjtzOjE3OiJ3b29fZmVlZGJ1cm5lcl9pZCI7czowOiIiO3M6MTI6Indvb19hcmNoaXZlcyI7czoxNDoiU2VsZWN0IGEgcGFnZToiO3M6MTA6Indvb19sYXlvdXQiO3M6MDoiIjtzOjE3OiJ3b29fb3RoZXJfZW50cmllcyI7czoxNjoiU2VsZWN0IGEgTnVtYmVyOiI7czoxNDoid29vX3Nob3dfdmlkZW8iO3M6NToiZmFsc2UiO3M6MTg6Indvb192aWRlb19jYXRlZ29yeSI7czoxODoiU2VsZWN0IGEgY2F0ZWdvcnk6IjtzOjIxOiJ3b29fZmVhdHVyZWRfY2F0ZWdvcnkiO3M6MTg6IlNlbGVjdCBhIGNhdGVnb3J5OiI7czoyMDoid29vX2ZlYXR1cmVkX2VudHJpZXMiO3M6MTY6IlNlbGVjdCBhIE51bWJlcjoiO3M6MTE6Indvb19hZF9wYWdlIjtzOjE0OiJTZWxlY3QgYSBwYWdlOiI7czoxNjoid29vX3Nob3dfYWRzX3RvcCI7czo1OiJmYWxzZSI7czoxNDoid29vX2FkX2ltYWdlXzEiO3M6ODY6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3RoZW1lcy9uZXdzcHJlc3MvaW1hZ2VzL2FkLTEyNXgxMjUuZ2lmIjtzOjEyOiJ3b29fYWRfdXJsXzEiO3M6NDM6Imh0dHA6Ly9leGFtcGxlLmNvbS9hZHMvYWQxX2Rlc3RpbmF0aW9uLmh0bWwiO3M6MTQ6Indvb19hZF9pbWFnZV8yIjtzOjg2OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZiI7czoxMjoid29vX2FkX3VybF8yIjtzOjQzOiJodHRwOi8vZXhhbXBsZS5jb20vYWRzL2FkMV9kZXN0aW5hdGlvbi5odG1sIjtzOjE0OiJ3b29fYWRfaW1hZ2VfMyI7czo4NjoiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvdGhlbWVzL25ld3NwcmVzcy9pbWFnZXMvYWQtMTI1eDEyNS5naWYiO3M6MTI6Indvb19hZF91cmxfMyI7czo0MzoiaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbCI7czoxOToid29vX3Nob3dfYWRzX2JvdHRvbSI7czo1OiJmYWxzZSI7czoxNDoid29vX2FkX2ltYWdlXzQiO3M6ODY6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3RoZW1lcy9uZXdzcHJlc3MvaW1hZ2VzL2FkLTEyNXgxMjUuZ2lmIjtzOjEyOiJ3b29fYWRfdXJsXzQiO3M6NDM6Imh0dHA6Ly9leGFtcGxlLmNvbS9hZHMvYWQxX2Rlc3RpbmF0aW9uLmh0bWwiO3M6MTQ6Indvb19hZF9pbWFnZV81IjtzOjg2OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZiI7czoxMjoid29vX2FkX3VybF81IjtzOjQzOiJodHRwOi8vZXhhbXBsZS5jb20vYWRzL2FkMV9kZXN0aW5hdGlvbi5odG1sIjtzOjE0OiJ3b29fYWRfaW1hZ2VfNiI7czo4NjoiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvdGhlbWVzL25ld3NwcmVzcy9pbWFnZXMvYWQtMTI1eDEyNS5naWYiO3M6MTI6Indvb19hZF91cmxfNiI7czo0MzoiaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbCI7czoxMDoid29vX3Jlc2l6ZSI7czo1OiJmYWxzZSI7czoxNToid29vX3RodW1iX3dpZHRoIjtzOjA6IiI7czoxNjoid29vX3RodW1iX2hlaWdodCI7czowOiIiO3M6MTQ6Indvb19jdXN0b21fY3NzIjtOO308L2xpPjxsaT48c3Ryb25nPndvb19vdGhlcl9lbnRyaWVzPC9zdHJvbmc+IC0gU2VsZWN0IGEgTnVtYmVyOjwvbGk+PGxpPjxzdHJvbmc+d29vX3Jlc2l6ZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fc2hvcnRuYW1lPC9zdHJvbmc+IC0gd29vPC9saT48bGk+PHN0cm9uZz53b29fc2hvd19hZHNfYm90dG9tPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19zaG93X2Fkc190b3A8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfY2Fyb3VzZWw8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfdmlkZW88L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX2hlaWdodDwvc3Ryb25nPiAtIDExMzwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV93aWR0aDwvc3Ryb25nPiAtIDI1MDwvbGk+PGxpPjxzdHJvbmc+d29vX3RhYnM8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RoZW1lbmFtZTwvc3Ryb25nPiAtIEdhemV0dGU8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9oZWlnaHQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl93aWR0aDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX3VwbG9hZHM8L3N0cm9uZz4gLSBhOjg6e2k6MDtzOjc3OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC93b29fdXBsb2Fkcy82NS1oZWFkZXItZHJ5LmpwZyI7aToxO3M6ODM6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzIwLUhFQURFUi0xMk0xNU0tMDEuanBnIjtpOjI7czo4MzoiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMTktSEVBREVSLTEyTTE1TS0wMS5qcGciO2k6MztzOjc3OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC93b29fdXBsb2Fkcy8xOC1oZWFkZXItZHJ5LmpwZyI7aTo0O3M6Nzc6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzE3LWhlYWRlci1kcnkuanBnIjtpOjU7czo4NToiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMTYtY2FiZWNlcmFfYmxvZ19sb3cxLmpwZyI7aTo2O3M6ODE6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzE1LWNhYmVjZXJhX2Jsb2cxLmpwZyI7aTo3O3M6ODE6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzE0LWNhYmVjZXJhX2Jsb2cxLmpwZyI7fTwvbGk+PGxpPjxzdHJvbmc+d29vX3ZpZGVvX2NhdGVnb3J5PC9zdHJvbmc+IC0gU2VsZWN0IGEgY2F0ZWdvcnk6PC9saT48L3VsPg==