Archive | Comunicats

El 25S reclamem Democràcia

Des de l’Assemblea Barcelona Real Ja Bcn donem suport a la convocatòria del 25S Rodea el Congreso a Madrid i també a les accions previstes al Parlament de Catalunya pel mateix dia.

Us convidem a que us informeu a través del web que s’ha creat específicament per aquesta data http://25sbcn.wordpress.com i a que participeu en aquesta convocatòria en defensa dels nostres drets i les nostres llibertats.

Reclamem una democràcia real on tota la ciutadania tingui veu i vot, i en la qual els drets fonamentals es respectin i estiguin garantits.

Volem seguir l’exemple d’Islàndia i aconseguir una nova Constitució que ens representi, escrita per les persones i no subordinada als poders financers. Tenim molts motius per envoltar el Congrés, però sobretot tenim el deure i el dret de fer-ho.

Reproduïm a continuació el manifest de la Coordinadora25s, el qual subscrivim:

Manifest de la Coordinadora25 (Madrid)
“La democràcia està segrestada.
El 25S anem a rescatar-la.”

El proper 25 de setembre envoltarem el Congrés dels Diputats per rescatar-lo d’un segrest que ha convertit aquesta institució en un òrgan superflu. Un segrest de la sobirania popular dut a terme per la Troika i els mercats financers i executat amb el consentiment i la col·laboració de la majoria dels partits polítics. Partits que han traït els seus programes electorals, els seus votants i la ciutadania en general incomplint promeses i contribuint a l’empobriment progressiu de la població.

Envoltem el Congrés després de més d’un any d’intenses mobilitzacions en tots els sectors socials i al comprovar que no hi pot haver democràcia quan les institucions que diuen representar-la es mouen per interessos que no són els de la majoria. Perquè no tenim res a parlar amb un poder que ha demostrat sistemàticament ser cec, sord i mut a justes i concretes demandes d’igualtat i justícia social. L’envoltem per rescatar la política d’un règim econòmic insostenible i depredador: el sistema capitalista.

Envoltem el Congrés perquè volem fer un salt en la mobilització social i posar en el centre la recuperació de la sobirania i del poder ciutadà, és a dir, de la democràcia.

Hem creat nombrosos processos de lluita, espais de participació i discussió a les xarxes i a les places, als barris i als centres de treball, i hem dut a terme iniciatives que volem continuar desenvolupant des de baix, sense dreceres i pas a pas. Perquè creiem que el temps de les decisions preses per uns pocs ha acabat; perquè, davant dels que volen deixar-nos sense futur, tenim els mitjans i la intel·ligència col·lectiva per decidir i construir la societat que volem; perquè no necessitem falsos intermediaris, sinó recursos i eines col·lectives que fomentin activament la participació política de totes les persones en els assumptes comuns.

Envoltem el Congrés el 25S per dir-los, als que diuen manar-nos, que no, que desobeirem les seves imposicions injustes, com la de pagar el seu deute, i que defensarem els drets col·lectius: l’habitatge, l’educació, la salut, l’ocupació, la participació democràtica, la renda. Per iniciar un procés que permeti que els responsables de la crisi deixin de ser impunes, perquè els piròmans que han provocat la nostra crisi no siguin recompensats i comencin, en canvi, a ser jutjats.

El 25 de setembre ens manifestarem al voltant del Congrés perquè volem recuperar la responsabilitat sobre el nostre propi futur sense acceptar imposicions. Per dir als que tenen segrestada la democràcia que ha arribat el moment d’anar-se’n i per exigir la dimissió d’aquest Govern com a primer pas, perquè anem a alliberar-la iniciant un procés constituent. Un procés de participació directa obert on determinem i posem en marxa les institucions polítiques, eines de participació i mecanismes jurídics i polítics que necessitem per garantir que les decisions col·lectives siguin completament efectives. Un procés constituent sostingut i la definició col·lectiva comencen, però no acaben, el 25S.

Rescatar el Congrés és llançar una invitació a que s’articulin i s’uneixin altres moviments socials com la lluita dels funcionaris per la defensa dels serveis públics, les diverses “marees” i altres lluites per la igualtat i la justícia social. Significa negar-nos a acceptar la por, la impotència i la desorientació sorgides de la reducció del polític a l’econòmic i les seves conseqüències feixistes, xenòfobes, racistes i masclistes. I buscar una sortida col·lectiva.

Convidem a totes les persones que vulguin acompanyar-nos a envoltar el Congrés el 25 de setembre, a dir “ja n’hi ha prou!” i a continuar aquest camí per rescatar la democràcia i la sobirania.

Volem drets, democràcia, justícia i llibertat per a tothom.

Fins aquí hem arribat, no tenim por.

Ens veiem el 25S… i més enllà.

[Aquest manifest és fruit del debat en les assemblees d'aquesta Coordinadora, un esforç de síntesi dels motius per al 25S que compartim i una altra de les veus per les que pots sentir-te apel·lat/da a anar]

Posted in Comunicats, Convocatories, Última horaComments Off

RedesDRY

RedesDRY es un grupo de trabajo autónomo dentro de Democracia Real Ya! Entendemos que el 15M es movimiento, no es simplemente una protesta, sino un proceso de cambio social de amplio espectro y largo recorrido. Por lo tanto, utiliza múltiples y diversas identidades para expresarse y es nuestro deseo trabajar por crear una herramienta que aglutine y nos ayude a seguir adelante: un Plan de Rescate Ciudadano http://www.planderescateciudadano.net

Hemos visto en la plaza durante el 12m15m el deseo de conseguir victorias concretas y de focalizar nuestra capacidad de trabajo hacia ellas. Necesitamos catalizadores para articular estos procesos y por eso lanzamos a la ciudadanía y a todo el movimento 15M esta herramienta.

Creemos que los puntos de reivindicaciones que se aprobaron en Barcelona (http://cos.as/2tn ), de manera conjunta con gran parte de los actores del movimiento 15M, son un buen punto de partida para construir una alianza entre grupos específicos, colectivos e iniciativas sociales que puedan conectar y transversalizar luchas y procesos.

El Plan de Rescate se articulará en cinco ejes:

  1. Ni un euro más para rescatar a los bancos
  2. Educación y sanidad públicas y de calidad.
  3. Por una vivienda digna garantizada.
  4. No a la precariedad laboral, distribución de la riqueza.
  5. Transparencia, democracia de red y libertades ciudadanas.

Aprovechando el trabajo que han desarrollado los diferentes agentes sociales, trabajaremos con diversos colectivos alrededor de los cinco ejes para ejecutar campañas y acciones concretas. La participación está abierta a todos los colectivos y la ciudadanía sensibilizada que hayan desarrollado propuestas en este sentido porque hoy más que nunca es necesario una respuesta constructiva para frenar la dictadura financiera y reinventar la democracia.

Posted in ComunicatsComments (2)

Sí que podem. Propostes 12M15M, comunicat DRJ BCN

SÍ QUE PODEM. PROPOSTES 12M15M, COMUNICAT DRJ BCN

Ahir 12 de maig, una multitud es va manifestar en centenars de ciutats de l’Estat espanyol i altres països del món. Només a Barcelona 200.000 persones vàrem recuperar els carrers i la Plaça de Catalunya (http://www.lavanguardia.com/politica/20120512/54293084456/15m-barcelona-manifestacion-indignados.html) .

El nou  moviment global, l’emergència del qual vam protagonitzar al 2011, segueix  creixent; el procés col·lectiu de canvi social que ara compleix un any  continua el seu camí. El #15M ja ha demostrat ser l’instrument amb el  qual reapropiar-nos del present i construir un futur per a les persones i  no per als bancs. El camí d’un #RescateCiudadano. 

Durant aquest any, banquers i polítics han simulat no entendre el missatge. Tan sols ens han respost amb repressió tant per al moviment com per a la ciutadania. Després de la nostra demostració pràctica de democràcia, els desallotjaments d’ahir a la nit a Madrid, Palma de Mallorca, València, Sevilla i Cadis ens ensenyen que un govern que reprimeix a la ciutadania  pacífica no és legítim per governar. 

Reunir-se no és solament un dret fonamental: és també bo i legítim. Per això, us convoquem a  recuperar totes les places AVUI DIUMENGE 13 DE MAIG A LES 17h. En  solidaritat: perquè si toquen a una sola persona, ens toquen a totes. Però també per acabar el treball d’autoorganització [text  barri internet  http://madrilonia.org/2012/05/un-mensaje-para-el-12m15m-desde-el-barrio-de-internet/ que s’està duent a terme en aquestes places. Hem d’aconseguir ara  canvis materials, fites tangibles, victòries concretes. 

Ens roben per sobre de les nostres possibilitats i vivim per sota dels nostres drets. Rescaten bancs amb diners  públics mentre desnonen famílies endeutades pels banquers. Dinamiten el dret a una sanitat i a una educació universals, mentre  privatitzen infraestructures del benestar assolides amb l’esforç de  generacions senceres. Promouen dividir-nos i enfrontar-nos mitjançant el “cadascú que es salvi a sí mateix”, volen fer-nos oblidar que aquesta és una guerra de  les elits contra les persones de baix.

Hem de prendre les nostres pròpies mesures i actuar. Fins al #15M tindran lloc accions entorn dels punts d’acció consensuats.

#NiunEuroMas per als bancs, no pagarem el deute ilegítim

DEMÀ DILLUNS comença a  Madrid “el señalamiento público a Bankia”.  http://madrilonia.org/2012/05/senalamiento-a-bankia-este-lunes-14-de-mayo/.

EL DIMARTS, a Barcelona, sortirem al costat de la PAH, Auditoria Ciutadana del Deute i Iaioflautas a assenyalar qui són els principals responsables de la crisi i a conquerir col·lectivament el dret a la dació en pagament fins retroactiva.

Alliberem el parc d’habitatge de Bankia com a mesura concreta per rescatar a les persones i famílies que pateixen els desnonaments. Hem pagat per ell no una sinó diverses vegades. Ens pertany al 99%.

Avui comença UN NOU CICLE. Veniu a les places amb nosaltres a preparar les campanyes i accions. #VolvemosALas5

Si volem EL CANVI haurem de fer-lo nosaltres mateixes, pels nostres propis mitjans.

 



 

 

Posted in Comunicats, NotíciesComments (2)

Agenda d’activitats 13M i 14M

Aquí teniu l’agenda amb xerrades, activitas i preparació de les accions pel 15M. Totes les activitats tindran lloc a plaça Catalunya els dies 13 de maig i 14 de maig.

Posted in Comunicats, Convocatories, NotíciesComments (1)

[Aclaración] Asociación con nuestro nombre, #EsoNoEsDRY

Ante la noticia publicada por la agencia EFE, de la que se han hecho eco varios medios de comunicación, en la que se recoge que “algunos impulsores del 15M, constituyen la Asociación Democracia Real Ya”, queremos comunicar que esta decisión no representa más que a una reducida minoría y que Democracia real Ya! no la asume como colectivo.

Algunos activistas de DRY han decidido de forma ilegítima y unilateral constituirse como asociación tras una asamblea celebrada en Madrid los días 21 y 22 de abril. La convocatoria de esa asamblea pasó por los mecanismos democráticos que rigen nuestro funcionamiento interno y fue rechazada al no contar con el quorum mínimo exigido de los miembros de la plataforma, siendo por tanto sus conclusiones, ni vinculantes ni legítimas.

Por este motivo la constitución de esta asociación no es una decisión tomada por nuestro colectivo. Es más, en la II Asamblea estatal, celebrada en Málaga el pasado verano, se consensuó que DRY no adoptaría ninguna forma jurídica ya que contradecía nuestros principios. Decisisón que fue ratificada posteriormente por todo el colectivo.

Al margen de estos lamentables hechos, queremos comunicar que seguimos creyendo en una red de personas coordinadas y sin líderes, que no puede ni debe confinarse a los limitados marcos del derecho. Es por ello que DRY seguirá funcionando como una red horizontal sin respresentantes, rigiéndose por los principios originales con los que se articuló hace más de un año.

Nadie puede apropiarse de DRY por que DRY no es una marca, DRY es una idea, unos valores, unos principios y unos objetivos políticos y sociales en base a la radicalidad democrática: una democracia participativa, horizontal y directa, por una democracia real ya!

Como hace un año, el #12M15M DRY estaremos en las calles!

Posted in ComunicatsComments (3)

Comunicado a Democracia Real Ya

Democracia real YA! como plataforma se encuentra en una encrucijada que debe de resolverse a través de una asamblea estatal que cuente con la mayor participación posible de activistas, con el mayor grado posible de consenso, que resuelva los diferentes conflictos internos y que marque el futuro del colectivo, de forma que sus propuestas sean validadas por parte del conjunto de los activistas.

La necesidad de la realización de una asamblea estatal es por tanto una realidad, demandada por un gran número de activistas de DRY. La situación social crítica y la delicada situación del activismo requieren una preparación profunda y seria de la asamblea, y que esté basada en la máxima transparencia y horizontalidad.

Recientemente, se lanzó una propuesta de realizar una asamblea durante el fin de semana del 21 y 22 de abril, con carácter vinculante. La propuesta fue sometida a votación en el Ágora, no cumpliendo con los requisitos acordados para su aprobación. La legitimidad se basa en reglas de juego comunes y las vigentes ahora mismo en DRY son las que derivan de los acuerdos de Málaga, que estipulan que las decisiones que afectan a todo el colectivo se han de consensuar por un 75% de votos de los activistas, cifra que no se ha alcanzado. Por otro lado, la Plataforma Facebook en la cual se ha promocionado estas fechas para la III Asamblea estatal es un órgano cerrado, meramente informativo, sin capacidad de toma de decisiones. En definitiva, un canal no legitimado para convocar la III asamblea.

Organizar una asamblea estatal no es un asunto trivial que se solucione en dos semanas. Tiene que existir un trabajo previo de preparación, de planteamiento de diferentes propuestas y ponencias, así como una labor de logística para facilitar la asistencia tanto presencial como virtual.

Evidentemente, cualquier grupo de activistas de DRY pueden reunirse cuando quieran y como quieran para debatir y generar propuestas. Pero por lo expuesto, la reunión del 21-22 de abril en Madrid no puede tener consideración de Asamblea Estatal de Democracia real YA!, no está legitimada como tal, ni puede tener carácter vinculante en absoluto y cualquier acuerdo que salga de la misma no puede tener carácter vinculante para todo Dry, sino que tendrá que ser sometido a votación por los mecanismos democráticos que tenemos en el Agora.

Democracia Real Ja Barcelona

Posted in ComunicatsComments (11)

29 de Març. Resposta massiva de la societat.


La ciutadania seguim dient que NO, ens escolten?
29 DE MARÇ, RESPOSTA MASSIVA DE LA SOCIETAT

El 29 de març vam viure, de nou, una resposta massiva per part de la societat contra un programa que pretén destruir els nostres drets i eliminar d’arrel la possibilitat d’una societat democràtica que governi l’economia i garanteixi les condicions per una vida digna.

La violència estructural i sistemàtica que els nostres governs toleren i apliquen cada dia per protegir els beneficis de l’1%: desnonaments que deixen a les famílies sense llars i endeutades, una sanitat que ja no garanteix el dret a la vida, una educació que es fa inaccessible…ha esdevingut insuportable, i la societat ha entès que l’única sortida és prendre els carrers i reivindicar uns drets i una riquesa que ens pertanyen.

Davant l’allau de persones que van entendre la jornada de vaga general com a espai de protesta, els nostres governants no només continuen muts davant unes reivindicacions que ja ningú pot negar com a justes, sinó que aprofiten per criminalitzar el moviment reivindicatiu i aplicar una repressió violenta i indiscriminada.

Així, l’ús de gas lacrimògens per primera vegada en dotze anys, la repressió violenta a cops de porra contra piquets o les bales de goma que van deixar a un noi sense ull, entre d’altres accions violentes per part del cos policial, són mostres clares de la manca de voluntat per establir un diàleg i de l’atac a les nostres vides que s’afirma tan als pressupostos i les lleis com físicament quan ens manifestem.

Creiem que en cap cas les expressions de ràbia, com la crema de contenidors, poden equiparar-se a, ni justifiquen, la violència física contra les persones exercida pels Mossos d’Esquadra a les odres d’una classe política que ens governa a cops de porra i gasos.
Condemnem també les detencions amb presó preventiva de dos estudiants que van participar a la vaga de manera legítima i que, retinguts sense motius vàlids, pateixen una repressió política.

Les declaracions que provenen del Ministeri d’Interior i del Conseller d’Interior Felip Puig posen en evidència que es busca la manera de tallar d’arrel l’expressió massiva de la societat envers l’espoli constant de la nostra riquesa i les nostres vides tot ampliant la noció de terrorisme per poder criminalitzar la crítica política i fins i tot plantejant una revisió d’un dret tan fonamental com és el dret de reunió. Volen robar-nos també el dret a expressar-nos lliurement? Pretenen disgregar tot generant por. Conspiren per trencar el procés de mobilització social en marxa per una democràcia real. Intensifiquen l’arbitrarietat del monopoli de l’ús de la força i restringeixen les llibertats en el marc legal. Però ja no ens els creiem.

El procés no s’atura i tenim la força necessària per continuar endavant i recuperar drets perduts i conquerir-ne de nous.
Tant és així que declarem que el nostre no és el camí de la violència. Continuarem manifestant-nos com sempre hem fet: sense sìmbols o banderes, pacíficament, i mirant de canalitzar les mostres de ràbia no contra objectes o persones sinó per la via de la desobediència civil. És un procés irreversible: som majoria, tenim raó quan exigim uns drets i una riquesa que són nostres. I hem perdut la por perquè caminem juntes. No ens deixarem robar ni la vida ni la democràcia.

El 12 de maig i el 15 de maig a ciutats de tot el món afectades per la dictadura financera i l’espoli de l’1% de la població, la societat tornarà massivament a prendre els carrers, i ho farà condemnant la violència estructural que ens aboca a la misèria.
Les nostres armes són les nostres reivindicacions, els drets que volem conquerir: el poder pretén ignorar-les, però això no ens aturarà. Sabem que units som imparables i que prevaldrem malgrat tots els obstacles que s’interposin al nostre camí.

ARA MÉS QUE MAI, SEGUIM EXIGINT UNA
¡DEMOCRÀCIA REAL JA!

Barcelona a 5 d’abril de 2012

 

Posted in ComunicatsComments Off


Lo sentimos los eventos no están disponibles. Prueba más tarde
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==