Media


YouTube



https://www.youtube.com/embed/5zWpyE5HOxs

  • Selbstgemacht: DIY Tisch aus Holzdielen

https://www.youtube.com/watch?v=ZzNKNU0qEa8


Twitter



Namen


Namen Nominativ


Genus (Gender)
maskuline der Tisch
neutral das Bild
feminine die Lampe

Registrierungscode
Stadt Städte Städtenamen
die Taxis
Pause
Gespräch
ein paar Hande
ehepaar

Mann | Männer
Frau | Frauen
Visitenkarte | Visitenkarten
Beruf | Berufe
Buch | Bücher
Lehrerin | Lehreninnen
Lehrer | Lehrer
Kursteilnehmerin | Kursteilnehmerinnen
Kursteilnehmer | Kursteilnehmer
Fenster | Fenster
Tisch | Tische

das Haus + die Frau -> die Hausfrau

Was ist der Artikel von … ?
Der Artikel von Ball ist der.


der

der Aufzug | die Aufzüge
der Supermarkt
der Dom
der Ausweis
der Weg | die Wege der Navigator | die Navigatoren
der Stadtplan | die Stadtpläne der Bahnof
der Brücke
der Würfel
der Stab
| die Stadtmitte
der Tisch der Ball


die

die Disco
die Sprachshule
die Post die Bank National
die Polizei
die Bank
die straße | die straßen die Ampel
die Bushaltestelle
die Pyramide
die Brücke
die Beiden
die Nähe
die Ferne
die Lampe
die Tasche
.
..heit
..keit
..ung
.


das

das Fahrrad
das Scwhimmbad
das Museum
das Politzeiauto
das Restaurant
das Auto | die Autos
das Hotel | die Hotels
das Zentrum
das Kino das Café
das Teppichmesser (Maket bıçağı)
das Handy
das Bild
das Möbel
das Bett
das Haus | die Häuser



Namen Akkusativ

DATİV Dativ oder Akkusativ AKKUSATIV
aus an durch
bei auf für
mit hinter gegen
nach in ohne
seit neben um
von über
zu unter
vor
zwischen

Wo—> DATİV

z.B

der Schrank – > in dem Schrank die Tasche –> in der Tasche das Regal –> in dem Regal die Autos –> in den Autos

an dem –> am bei dem –> beim in dem –> im von dem –>vom zu dem –>zum / zu der –> zur

Wohin?—–> Akkusativ

der Schrank –> in den Schrank die Tasche –> in die Tasche das Regal –> in das Regal die Autos –> in die Autos

an das –> ans in das –> ins

Namen Akkusativ


Namen Dativ

die Bank -> der Bank
die Ampel -> der Ampel
die Brücke -> der Brücke

an dem Bahnof am Bahnoff
zwischen dem Supermarkt und dem Hotel hinter der Häusern in dem Zentrum
im Zentrum
neben der Polizei
zwischen dem Bahnoff und der Post
vor der Bank hinter der Brücke
neben dem Museum vor dem Restaurant


der -> dem

der/ein Bahnhof | vor dem einem Bahnhof


das -> dem

das ein Restaurant | vor dem einem Restaurant das Zentrum | in dem (im) Zentrum


die -> der

die eine Ampel | vor der einer Ampel

die Stadtmitte | in der Stadtmitte


die pl. -> den + n

die Cafés/Häuser | vor den Cafés/Häusern


Verben

kommen
verbstamm (komm)
endung (en)

regelmaßige Verben

haben–gehabt machen–gemacht sagen–gesagt üben–geübt antworten–geantwortet arbeiten–gearbeitet kochen–gekocht lernen–gelernt

unregelmaßige verben

sprechen–gesprachen scgreiben–geschieben treffen–getroffen nehmen–genommen trinken–getrunken singen–gesungen finden–gefunden essen-gegessen sehen–gesehen lesen–gelesen backen-gebacken

Regelmaßige trennbare verben

–ge—t aufraumen–aufgeräumt einkaufen–eingekauf abholen–abgeholt

unreglmäßige trennbare verben

anrufen-angerufen einladen–eingeladen fernsehen–ferngesehen

verben auf -ieren

telefonieren–telefoniert fotografieren-fotografiert markieren–markiert


Konjugieren

verb ich du er/sie/es wir ihr sie/Sie
kommen komme kommst kommt kommen kommt kommen
heißen heiße heißt heißt heißen heißt heißen
wohnen wohne wohnst wohnt wohnen wohnt wohnen
arbeiten arbeite arbeitest arbeitet arbeiten arbeitet arbeiten
leben lebe lebst lebt leben lebt leben
kennen kenne kennst kennt kennen kennt kennen
hängen hänge hängst hängt hängen hängt hängen

suchen
zahlen


Verb mit Vokal wechsel

e -> i (2-3 singular)

verb ich du er/sie/es wir ihr sie/Sie
sprechen spreche sprichst spricht sprechen sprecht sprechen
helfen helfe hilfst hilft helfen helft helfen
tragen trage trägst trägt
gefallen gefalle gefällst gefällt gefallen gefallt gefallen
werden werde wirst wird werden werdet werden

Modalverben

verb ich du er/sie/es wir ihr sie/Sie
sein bin bist ist sind seid sind
haben habe hast hat haben habt haben
sollen soll sollst soll sollen sollt sollen
können kann kannst kann können könnt können
wollen will willst will wollen wollt wollen
dürfen darf darfst darf dürfen dürft dürfen
müssen muss musst muss müssen müsst müssen

möchten

Du sollst diesen Tee trinken.

Fabian will lieder macher werden.
Ich möchte … (Beruf) werden.

Ich will ein Auto kaufen.
Ich will durch Europa reisen.


Trenbare

verb ich du er/sie/es wir ihr sie/Sie
anfangen fange an fängst an fängt an fangen an fangt an fangen an

anfangen anmachen X ausmachen
anmachen X aufmachen
einladen
aufhören
fernsehen
abgieben
umsteigen
mitbringen
abfahren
aufstehen
auskommen

Nicht trenbare verben:

be-
ver-
er-
ent-
miss-
zer-
emp-
ge-


Name + Verb

Husten haben


Pz II

gewinnen | gewonnen


30 Verben, denen der DATIV folgt:

jdm. absagen ➡ Ich muss Ihnen leider absagen. Mir ist ein wichtiger Termin dazwischengekommen. jdm. ähneln ➡ Er ähnelt seiner Schwester aber sehr! jdm. antworten ➡ Antworte mir! jdm. begegnen ➡ Ich bin ihm zufällig begegnet. jdm. etw. befehlen ➡ Der König hat dem Minister befohlen, das Gesetz zu ändern. jdm. danken ➡ Ich danke allen meinen Unterstützern! jdm. drohen ➡ Er hat mir gedroht, mich anzuzeigen. jdm. entgegenkommen ➡ Kannst du uns nicht entgegenkommen? jdm. fehlen ➡ Du fehlst mir! jdm. folgen ➡ Die Katze folgt mir schon seit einer Woche. jdm. gefallen ➡ Das gefällt mir nicht. jdm. gehorchen ➡ Seine Kinder gehorchen ihm nicht. jdm. gehören ➡ Gehört das dir? jdm. glauben ➡ Glaubst du mir etwa nicht? jdm. gratulieren ➡ Darf ich dir schon gratulieren? jdm. gut tun ➡ Sport tut mir gut. jdm. helfen ➡ Ich habe angeboten, ihnen zu helfen. jdm. nachlaufen ➡ Musst du mir denn unbedingt nachlaufen? jdm. nützen ➡ Wem nützt das? jdm. passen ➡ Oh, nein! Das Kleid passt mir nicht mehr. jdm. passieren ➡ Mir ist etwas ganz Blödes passiert … jdm. etw. raten ➡ Er hat ihr geraten, sich einen neuen Job zu suchen. jdm. schmecken ➡ Das schmeckt ihm nicht. jdm. vertrauen ➡ Vertraust du mir? jdm. verzeihen ➡ Bitte verzeih mir. jdm. weh tun ➡ Aua, das tut mir weh! jdm. widersprechen ➡ Musst du mir immer widersprechen? jdm. zuhören ➡ Hör mir doch endlich mal zu! jdm. zusehen ➡ Kann ich dir beim Kochen zusehen? jdm. zustimmen ➡ Ich stimme meinem Kollegen zu. Wir brauchen neue Computer.

View this post on Instagram

30 Verben, denen der DATIV folgt: jdm. absagen ➡ Ich muss Ihnen leider absagen. Mir ist ein wichtiger Termin dazwischengekommen. jdm. ähneln ➡ Er ähnelt seiner Schwester aber sehr! jdm. antworten ➡ Antworte mir! jdm. begegnen ➡ Ich bin ihm zufällig begegnet. jdm. etw. befehlen ➡ Der König hat dem Minister befohlen, das Gesetz zu ändern. jdm. danken ➡ Ich danke allen meinen Unterstützern! jdm. drohen ➡ Er hat mir gedroht, mich anzuzeigen. jdm. entgegenkommen ➡ Kannst du uns nicht entgegenkommen? jdm. fehlen ➡ Du fehlst mir! jdm. folgen ➡ Die Katze folgt mir schon seit einer Woche. jdm. gefallen ➡ Das gefällt mir nicht. jdm. gehorchen ➡ Seine Kinder gehorchen ihm nicht. jdm. gehören ➡ Gehört das dir? jdm. glauben ➡ Glaubst du mir etwa nicht? jdm. gratulieren ➡ Darf ich dir schon gratulieren? jdm. gut tun ➡ Sport tut mir gut. jdm. helfen ➡ Ich habe angeboten, ihnen zu helfen. jdm. nachlaufen ➡ Musst du mir denn unbedingt nachlaufen? jdm. nützen ➡ Wem nützt das? jdm. passen ➡ Oh, nein! Das Kleid passt mir nicht mehr. jdm. passieren ➡ Mir ist etwas ganz Blödes passiert … jdm. etw. raten ➡ Er hat ihr geraten, sich einen neuen Job zu suchen. jdm. schmecken ➡ Das schmeckt ihm nicht. jdm. vertrauen ➡ Vertraust du mir? jdm. verzeihen ➡ Bitte verzeih mir. jdm. weh tun ➡ Aua, das tut mir weh! jdm. widersprechen ➡ Musst du mir immer widersprechen? jdm. zuhören ➡ Hör mir doch endlich mal zu! jdm. zusehen ➡ Kann ich dir beim Kochen zusehen? jdm. zustimmen ➡ Ich stimme meinem Kollegen zu. Wir brauchen neue Computer.

A post shared by DW - Deutsch lernen (@dw_deutschlernen) on


Adjektiven

Undefiniert Nominativ Akkusativ Dativ Nomen
Das ist/sind Ich hätte gern mit
ein magerer einen mageren einem magereen Schinken
ein helles ein helles einem hellen Brot
eine grüne eine grüne einer grünen Paprika
P.L helle helle hellen Brötchen
Definiert Nominativ Akkusativ Dativ Nomen
Mir gefällt/gefallen Ich finde …toll mit
der berühmte den alteen dem netteen Reiseführer
das bunte das bunte dem bunten Fenster
die neue die neue der neuen Kamera
P.L nette netteen netteen Leuiten
Nominativ Akkusativ Dativ Nomen
guter guten gutem Lohn
großes großeses großem Lager
flexible ordentliche flexibler Arbeitszeit
kleine freundliche gunstigen Preisen

Regel

dann, dannach, leider (position 1)
aber, und (position 0)

dann bin ich … (dann + V in pos 2 + Subj)

aber ich bin … (aber + sub + V in pos 2)


Artikel

das Haus + die Frau -> die Hausfrau


Doch

Woher kommen Sie? Ich komme aus Ankara.

Kommen Sie aus Ankara? -> (+) Ja, ich komme aus Ankara. (-) Nein, ich komme nicht aus Ankara.
Kommen Sie nicht aus Ankara? -> (+) Doch, ich komme aus Ankara. (-) Nein, ich komme nicht aus Ankara.


nicht keine

nicht: negation adjektive
keine: negation name

Ich bin nicht verheiratet.
Ich habe keine kinder.

st -> ş
sch -> ş
sport -> şport

Verb in position 2:

Frage:
Wer ist das?
Wie heißen Sie?
Woher kommst du?

Antwort / aussage
Ich bin Paco.
Ich komme aus Österreich.
Mein Name ist Valerie.

Lokale Pröpositionen + Dativ: Wo?

Imperativ -> Verb (1) + Subj + …
Trinken Sie (doch) Tee! -> doch ist höflich

emotion -> null artikel habe angst

Nicht trenbare verben:
be-
ver-
er-
ent-
miss-
zer-
emp-
ge-


Artikel

Artikel Nominativ Akkusativ Dativ
bestimmter Artikel der den dem
die die der
das das dem
die (Pl) die (Pl) den (Pl)
unbestimmter Artikel ein (der) einen einem
ein (das) ein einem
eine (die) eine einer
Posseessiv Artikel “mein” mein (der) meinen meinem
mein (das) mein meinem
meine (die) meine meiner
meine (Pl) meine (Pl) meinen (Pl) + n
Posseessiv Artikel “dein” dein deinen deinem
deine deine deiner
dein dein deinem
deine (Pl) deine (Pl) deinen (Pl)
Posseessiv Artikel “sein” sein seinen seinem
sein sein seinem
seine seine seiner
seine (Pl) seine (Pl) seinen (Pl)
Posseessiv Artikel “ihr” ihr ihren ihrem
ihr ihr ihrem
ihre ihre ihrer
ihre (Pl) ihre (Pl) ihren (Pl)

der / ein / kein
die / eine / keine
das / ein / kein

Personal Pronomen
ich du er sie es wir ihr sie Sie

Definit Artikel Indefinit Artikel Personal Pronomen
der Schrim Das ist ein Schrim Er ist grün
das Buch Das ist ein Buch Es ist rot
die Uhr Das ist eine Uhr Sie ist braun

Frage


W frage


Hallo.
Wie heißen Sie? Ich heiße … Freut mich. Freut mich auch.

Wer bist du?

Wer ist das? Das ist …

Wie ist Ihr Vorname? Mein Vorname ist …

Wie ist Ihr Familienname/Nachname? Mein Familienname ist …

Woher kommen Sie? Ich komme aus …

Wo wohnen Sie? Ich wohne in …

Wo alt bist du? Ich bin … Jahre alt.


Was


Was ist seine Telefonnummer? Meine telefonnummer ist …

Was heißt seine Deutschlehrerin? Wer ist seine Deutschlehrenin? Meine Deutschlehrenin heißt …

Was ist das? Das ist ein Buch. Das sind zwei Bücher.


Wo


Ich suche die Disco. Wo ist sie, bitte?
Sie ist neben das Museum.

Wo ist die Maus?

Wo arbeitest du?
Wo arbeiten Sie?
Ich arbeite bei …


Wer


  • Wer bist du?
  • Ich bin …

  • Wer sind Sie?
  • Ich bin Herr/Frau …

  • Wer kennt Brad Pitt?
    Ich kenne Brad Pitt.


Wie


  • Wie heißen Sie?

  • Wie geht’s dir?
    Wie geht es dir?

  • Wie geht’s Ihnen?
    Wie geht es Ihnen?
    Danke, sehr gut. Und Ihnen?

  • Danke sehr gut / super / toll gut/prima
    es geht
    nicht so gut
    schlecht

  • Wie bitte?

  • Wie alt sind Sie?
  • Wie alt bist du?
    Ich bin zwanzig Jahre alt.


Wie viele


Wie viele Tische sind hier? (Frage)
Hier sind fünf Tische. (Antwort)

Wie viele kinder haben Sie?
Wie viele kinder hast du?
Ich habe ein kind.


Woher


Woher kommst du? (informell)
Woher kommen Sie? (formell)
Woher kommt sie?
Woher kommt er?
Woher kommen Sie?

kommen + aus + land/stadt
Ich komme aus Mexiko
Sie kommt aus Deutscland
Er kommt aus Frankreich
Sie kommen aus Spaninen
der Türkei
der Schweiz
dem Iran
dem Irak


Welche


Welche Sprachen sprechen Sie? Ich spreche gut Türkisch, flueßen Englisch und ein bisschen Deutsch.


Wem


Wem gehört die Uhr?
Die Uhr gehört ihm.

Wem gehören die Bücher?
Die Bücher gehören ihm.


Ja-Nein Frage


Sind Sie verheiratet?
Ja, ich bin verheiratet.
Nein, ich bin nicht verheiratet.
Nein, ich bin ledig.

Haben Sie Kinder?
Hast du Kinder?

Ja, ich habe ein kind.
Nein, ich habe keine kinder.

Kennen Sie Brad Pitt?
Ja, ich kenne Brad. Nein, ich kenne Brad nicht.

Hast du kein Kinder?
Doch, ich habe zwei kinder.
Nein, ich habe keine kinder.


Bildwörter


Körper und Gesundheit


der Körper
der Kopf | die Köpfe
die Brust | die Brüste (göğüs)
das Bein | die Beine
der Fuß | die Füße
der Hals | die Hälse (boyun)
der Bauch | die Bauche (batın)
das Kine | die Knie
der Zeh | die Zehen (Toe)
der Rücken (bel)
die Schulter | die Schulterin (omuz)
der Arm | die Arme
der Ellbogen | die Ellbogen (dirsek)
der Po | die Pos
die Hand | die Hände
der Finger | die Finger
das Gesicht | die Gesichter
das Haar | die Haare
die Nase | die Nasen
der Mund | die Münder
die Lippe | die Lippen
der Zahn | die Zähne
die Zunge | die Zungen
das Ohr | die Ohren
das Auge | die Augen

die Seife | die Seifen
das Shampoo | die Shampoos
das Handtuch | die Händtucher
die Zahnbürste | die Zahnbürsten
die Zahnpasta | die Zahnpastas die Zahnpastas
die Creme | die Cremes

der Schmerz | die Schmerzen
das Fieber
das Blut
das Pflaster | die Pflaster
das Medikament | die Medikamente
die Tablette | die Tabletten
der Arzt | die äzte
die ärztin | die ärztinnen
die Krankenschwester
der Patient | die Patienten
die Patientin | die Patientinnen
die Versichertenkarte | die Versichertenkarten
die Praxis | die Praxen
das Krankenhaus | die Krankenhäuser
der Krankenwagen die Krankenwagen

duschen | hat geduscht
baden | hat gebadet
sich kämmen | hat sich gekämmt (comb hair)
sich rasieren | hat sich rasiert (shave)

gesund | gesünder | am gesündesten
krank | kränker | am kränkesten
tot


Kleidung


die Kleidung
die Hose | die Hosen
der Rock | die Röcke (etek)
das Kleid | die Kleider
die Bluse | die Blusen
das Hemd | die Hemden (gömlek)
der Anzug | die Anzüge (takım elbise)
die Krawatte | die Krawatten
das Kostüm | die Kostüme
der Pullover | die Pullover (kazak)
die Weste | die Westen (cepken)
das T-shirt | die T-shirts
die Jeans | die Jeans
die Jacke | die Jacken
der Mantel | die Mäntel
die Mütze | die Mützen (bere)
der Handschuh | die Handschuhe
der Schal | die Schals die Schale (atkı)
der Gürtel | die Gürtel (kemer)
der Schuh | die Schuhe
der Stiefel | die Stiefel (çizme)
der Strumpf | die Strümpfe (çorap)
das Unterhemd | die Unterhemden (atlet)
die Unterhose | die Unterhosen
der Unterrock | die Unterröcke

sich ausziehen | hat sich ausgezogen (soyunmak)
sich anziehen | hat sich angezogen (giyinmek)


Essen und Trinken


Im Supermarkt: https://www.hueber.de/media/36/schr1-lesetexte-L3.pdf

der Hunger
der Durst

essen | hat gegessen
trinken | hat getrunken
frühstücken | hat gefrühstück

satt (tok)

das Frühstück | die Frühstücke
das Mittagessen | die Mittagessen
das Abendessen | die Abendessen
die Lebensmittel (erzak)
die Butter
der Käse | die Käse
die Wurst | die Würste
das Ei | die Eier
das Mehl (un)
der Pfeffer
das Salz
der Zucker (şeker)

das Obst (meyve)
der Apfel | die äpfel
die Birne | die Birnen
die Orange | die Orangen
die Traube | die Trauben (üzüm)
die Banane | die Bananen
die Zitrone | die Zitronen
die Ananas | die Ananas / die Ananasse
die Kirsche | die Kirschen (kiraz)
die Pflaume | die Pflaumen (erik)
die Aprikose | die Aprikosen (kayısı)
die Erdbeere | die Erdbeeren (çilek)
die Himbeere | die Himbeeren (redberry)
die Brombeere | die Brombeeren (blueberry)

das Gemüse | die Gemüse (sebze)
die Aubergine | die Auberginen (patlıcan)
die Paprika | die Paprika die Paprikas der Spinat
die Bohne (fasülye)
die Erbse | die Erbsen (bezelye)
die Karotte
der Mais (mısır)
die Kartoffel | die Kartoffeln
die Tomate | die Tomaten
die Gurke | die Gurken (salatalık)
die Zwiebel | die Zwiebeln (soğan)
die Zucchini | die Zucchini (kabak)
der Pilz | die Pilze (mantar)
die Nuss | die Nüsse (ceviz)
der Salat | die Salate
das Öl | die Öle
der Essig | die Essige (sirke)
die Nudeln
der Reis

der Fisch | die Fische
das Fleisch
das Geflügel (tavuk)
das Brot | die Brote
das Brötchen | die Brötchen
der Kuchen | die Kuchen (kek)
die Suppe | die Suppen
die Pommes frites

die Schokolade | die Schokoladen
das Eis | die Eis (dondurma)
die Getränke
das Bier | die Biere
der Wein | die Weine
der Kaffee | die Kaffes
der Tee | die Tees
die Milch
der Saft | die Säfte

das Glas | die Gläser
die Flasche | die Flaschen
das Geschirr (tabak çanak)
die Tasse | die Tassen (fincan)
die Untertasse | die Untertassen
der Teller | die Teller (tabak)
das Besteck | die Bestecke (çatal bıçak)
das Messer | die Messer (bıçak)
die Gabel | die Gabeln (çatal)
der Löffel | die Löffel (kaşık)
der Teelöffel | die Teelöffel

der Geschmack | die Geschmäcke (tat)

sauer | saurer | am sauresten (ekşi)
süß | süßer | am süeßten (tatlı)
scharf | schärfer | am schräfsten (acı)
salzig | salziger | am salzigsten (tuzlu)

die Küche | die Küchen
der Herd | die Herde (ocak)
der Ofen | die Öfen (fırın)

kochen | hat gecoht
backen | hat gebacken

das Restaurant | die Resraurants
der Kellner | die Kellner (garson)
die Kellnerin | die Kellnerinnen
die Speisekarte | die Spaisekarten (yemek listesi)

bestellen | hat bestellt (sipariş vermek)


Die Farben


die Farbe | die Farben

rot
gelb
blau
grün
braun
grau
schwarz
weiß
rosa
orange
lila


Gebäude und Wohnen


die Stadt | die Städte
das Dorf | die Dörfer
die Kirche | die Kirchen
das Hotel | die Hotels
das Einzelzimmer | die Einzelzimmer
das Doppelzimmer | die Doppelzimmer
die Jugenherberge | die Jugenherbergen
der Platz | die Plãtze
die Garage | die Garagen
das Haus | die Hãuser
das Dach | die Dãcher (çatı)
der Dachboden | die Dachböden
das Fenster | die Fenster
der Balkon | die Balkons / die Balkone
die Tür | die Türen
der Garten | die Gãrten
Erdgeschoss | Erdgeschosse
der Keller | die Keller
die Wohnung | die Wohnungen

der Umzug | die Umzüge

umziehen | ist umgezogen ausziehen | ist ausgezohen
einziehen | ist eingezogen

der Eingang | die Eingãnge (giriş)
der Ausgang | die Ausgãnge (çıkış)

das Zimmer | die Zimmer
das Schlafzimmer
das Wohnzimmer
das Bad | die Bãder
die Dusche | die Duschen
die Toilette | die Toiletten
das Toilettenpapier
die Möbel
das Bett | die Betten
der Schrank | die Schrãnke (dolap)
das Regal | die Regale (raflık)
der Tisch | die Tische
der Stuhl | die Stuhle
die Bank | die Bãnke
der Sessel | die Sessel
das Sofa | die Sofas
die Lampe | die Lampen
der Teppich | die Teppiche
das Bild | die Bilder
der Schlüssel | die Schlüssel


Die Zahlen


die Zahl | die Zahlen

Zahlen 0 bis 30

0 null
1 eins (ei -> ai)
2 zwei (z -> ts)
3 drei
4 vier (ie -> ii)
5 fünf
6 sechs
7 sieben
8 acht
9 neun (eu -> oi)
10 zehn (eh -> ee)
11 elf
12 zwölf
13 dreizehn
14 vierzehn
15 fünfzehn
16 sechzehn
17 siebzehn
18 achtzehn
19 neunzehn
20 zwanzig
21 einundzwanzig
22
23
24
25
26
27
28
29
30 dreißig
40 vierzig
50 fünfzig
60 sechzig
70 siebzig
80 achtzig
90 neunzig
100 (ein) hundert
101 hunderteins
34
43
52
61
75
86
97

100 (ein)hundert
101 (ein)hunderteins
200 zweihundert
300 dreihundert
400 vierhundert
500 fünfhundert
600 sechshundert
1000 (ein)tausend
2000 zweitausend
10000 zehntausend
20000 zwanzigtausend
100000 (ein)hunderttausend
1000000 eine Million
die Million
die Milliarde

248999 | zweihundertachtundvierzigtausendneunhundertneunundneunzig

rechnen | hat gerechnet

plus +
minus -
mal *
durch /
ist/gleich =

das Prozent | die Prozent %

1+1 = 2 eins plus eins ist / gleich zwei

die Form | die Formen
der Kreis | die Kresie (çember)
das Dreieck | die Dreiecke (üçgen)
das Viereck | die Vierecke (dörtgen)

ganz (adj, yuvarlak)

der Teil | die Teile (parça)

die Hãlfte | die Hãlften (yarım)
das Drittel | die Drittel (üçtebir)
das Viertel
das Fünftel
das Sechstel
das Siebtel
das Achtel
das Neuntel
das Zehntel

erste
zweite
dritte vierte
fünfte
sechste
siebte
achte
neunte
zehnte

der/die/das zweite ..


Einkaufen und Geld


das Geschãft | die Geschãfte
die Kasse | die Kassen (kasa)
der Verkãufer | die Verkãuferin (seller)
die Verkãuferin | die Verkãuferinnen
der Kunde | die Kunden (alıcı, müşteri)
die Kundin | die Kundinnen
der Preis

einkaufen | ein gekauft
kosten | hat gekostet
verkaufen | hat verkauft (satmak)
kaufen | hat gekauft (satın almak)
zahlen | hat gezahlt (to pay)

billig | billiger | am billigsten (ucuz)
teuer | teurer | am teuresten (pahalı)

die Tüte | die Tüten (bag)
die Geldbörse | die Geldbörsen (cüzdan)
die Brieftasche | die Brieftaschen (kart cüzdanı)
der Markt | die Mãrkte (pazar)
der Supermarkt | die Süpermãrkte
der Kiosk | die Kioske (büfe)
die Bãckerei | die Bãckereien (fırın)
die Fleischerei | die Fleischereien (kasap)
der Frisör | die Frisöre (kuaför)
die Rehnung | die Rehnungen
die Kontonummer | die Kontonummern
die Bankleitzahl | die Bankleitzahlen
die Kreditkarte | die Kreditkarten
das Geld
der Euro | die Euros
der Cent | die Cents
die Bank | die Banken


Angaben zur Person


Angaben zur Person (Personal information)

die Adresse | die Adressen
der Name | die Namen
der Vorname | die Vornamen
der Familienname | die Familiennamen
die Straße | die Straßen
die Nummer | die Nummern
der Ort | die Orte
die Postleitzahl | die Postleitzahlen
der Geburtsort | die Geburtsorte
das Geburtsjahr | die Geburtsjahre
das Geburtsdatum | die Geburtsdaten
das Alter | die Alter
die Unterschrift | die Unterschriften

mãnnlich (male)
weiblich (female)

das Formular | die Formulare

ausfüllen | hat ausgefüllt (fill in)
heißen | hat geheißen
unterschreiben | hat unterschreiben

der Familienstand
ledig (single)
verheiratet (married)
geschieden (divorced)
verwitwet (widow)

heiraten | hat gehairatet

die Papiere (kimlik)
der Ausweis | die Ausweise
der Pass | die Pãsse

Vorname
Familienstand

Ich bin verheiratet.
Sie ist verheiratet.
ledig (bekar)
verliebt (sevgili)
verlobt (sözlü/nişanlı)
verheiratet (evli)
geschieden (boşanmış)
verwitwet (dul)


Familie und Freunde


Familie Polat: https://www.hueber.de/media/36/schr1-lesetexte-L2.pdf

die Familie | die Familien
die Großeltern
der Großvater | die Großvãter
die Großmutter | die Großmütter
die Eltern
der Vater | die Vãter
der Papa | die Papas
die Mutter | die Mütter
die Mama | die Mamas
der Sohn | die Söhne
die Tochter | die Töchter
die Geschwister
der Bruder | die Brüder
die Schwester | die Schwestern
die Tante | die Tanten
der Onkel | die Onkel
der Cousin | die Cousins
die Cousine | die Cousinen
das Ehepaar | die Ehepaare
der Mann | die Mãnner
die Frau | die Frauen
der Freund | die Freunde
die Freundin | die Freudinnen
der Partner | die Partner
die Partnerin | die Partnerinnen

Eheman + Ehefrau -> Ehepaar
Enkel + Enkelin -> Enkelkinder

Familie
Eltern
Opa
Schwester
Mutter Mama
Vater Papa

Maskulin Feminine Plural
mein meine meine
dein deine deine
Vater Mutter Eltern
Sohn Tochter Kinder
Bruder Schwester Geschwister
Großvater Großmutter Großeltern

meine Eltern
meine Enkelin meine Familie

Bruder | Brüder
Tochter | Töchter
Sohn | Söhne
Enkel | Enkel
Familie | Familien

Wie ist deine Telefonnummer?
Wie ist Ihre Telefonnummer?

Familienmitglied (Family member)

Wie heißt Ihre Mutter?
Wie heißt deine Mutter?

Was macht sie Beruflich? Was macht deine Mutter Beruflich?

Wie alt ist deine Mutter?

Wo wohnt deine Mutter?

Ist deine Mutter verheiratet?

Wie viele kinder hat deine Mutter?


Arbeit


die Firma | die Firmen
der Empfang | die Empfãnge
das Büro | die Büros
der Schreibtisch | die Schreibtische
die Arbeit
die Pause | die Pausen
der Feierabend | die Feierabende
der Chef | die Chefs
die Chefin | die Chefinnen
der Kollege | die Kollegen
die Kollegin | die Kolleginnen

telefonieren | hat telefoniert
arbeiten | hat gearbeitet

der Beruf | die Berufe
der Anwalt | die Anwãlte
die Anwãltin | die Anwãltinnen
der Arbeiter | die Arbeiterin
die Arbeiterin | die Arbeiterinnen
der Bãcker | die Bãcker
die Bãckerin | die Bãckerinnen
der Bauer | die Bauern
die Bãuerin | die Bãuerinnen
der Brieftrãger | die Brieftrãger
die Brieftrãgerin | die Brieftrãgerinnen
der Elektriker | die Elektriker
der Elektrikerin | die Elektrikerinnen
der Fleischer | die Fleischer
die Fleischerin | die Fleischerinnen
der Gãrtner | die Gãrtnerin
die Gãrtnerin | die Gãrtnerinnen
der Hausmann | die Hausmãnner
die Hausfrau | die Hausfrauen
der Hausmeister | die Hausmeister
die Hausmeisterin | die Hausmeisterinnen
der Installateur | die Installateure
die Installateurin | die Installateurinnen
der Maler | die Maler
der Malerin | die Malerinnen
der Mauer | die Mauer
der Mauerin | die Mauerinnen
der Mechanicker | die Mechanicker
die Mechanickerin | die Mechanickerinnen
der Polizist | die Polizisten
die Polizisten | die Polizistinnen
der Schneider | die Schneider
der Schneiderin | die Schneiderinnen
der Sekretãr | die Sekretãr
die Sekretãrin | die Sekretãriennen

Ich bin + Beruf
Ich arbeite als + Beruf (iş)
Ich arbeite bei + Firma
Ich arbeite bei + Arbeitgeber (işveren)

Was sind Sie von Beruf?
Was bist du von Beruf?

Was machen Sie Beruflich?
Was machst du Beruflich?

Was studieren Sie?
Was studierst du?

Ich studiere Musik auf lehramt.
Physik
Mathemtaik

Ich bin arbeitslos. (işsiz)

Ingenieurwesen
Wirtschaftswissenschaften
Rechtswissenschaften
Biologie
Chemie
Naturwissenschaft

Ich bin Student / Studentin. Universität
Ich bin Sculer / Schülerin. Schule

ein Praktikum machen
Ich mache ein Praktikum bei … / als …

eine Ausbildung machen (a long education)
Ich mache eine Ausbildung bei … / als …

Ich habe einen Job als (Beruf) bei (Firma)

Anwalt | Anwältin (avukat)
Biologe | Biologin

Kriminalrecht
Studentiche Hilfskraft
Bauingeniur
Ingeniurweiss
Biomedizin


Sport und Freizeit


der Sport

Basketball
Fußball
Jogging
Handball
Tennis
Tischtennis
Volleyball

der Ball | die Bãlle
der Spaziergang | die Spaziergãnge
das Schwimmbad | die Schwimmbãder
die Sporthalle | die Sporthallen
der Sportplatz | die Sportplãtze
das Kino | die Kinos
das Museum | die Museen
das Theater | die Theater

schwimmen | ist geschwommen
tanzen | hat getanzt
wandern | ist gewandert

Wie waren Ihre Feiertage?
Wie waren deine Feiertage?

Meine Feiertage waren schön.

Was haben Sie gemacht?


Einladen und Besuchen


der Geburtstag | die Geburtstage
die Einladung | die Einladungen
die Torte | die Torten
das Geschenk | die Geschenke
der Gast | die Gãste

besuchen | hat besucht
grüßen | hat gegrüßt
sich verabschieden | hat sich verabschiedet

gratulieren | hat gratuliert
danken | hat gedankt

Hallo
Guten Tag
Herzlichen Glückwunsch
bitte
danke
Auf wiedersehen
tschüss


die Uhrzeit


die Uhr | die Uhren
der Zeiger | die Zeiger
die Stunde | die Stunden
eine Halbe Stunde
eine viertel Stunde
die Minute | die Minuten
die Sekunde | die Sekunden

früh | früher | am frühesten
spãt | spãter | am spãtesten

die Uhrzeit | die Uhrzeiten
ein Uhr
zwei Uhr
zwei Uhr morgens
zwei Uhr nachmittags
sechs Uhr abends
zwölf Uhr mittags
zwölf Uhr nachts

Wie spãt ist es?
Es ist viertel nach eins.
halb zwei
viertel vor zwei

Irinas Tagesablauf: https://www.hueber.de/media/36/schr1-lesetexte-L5.pdf


der Kalendar


die Woche
der Tag
das Jahr
die Stunde
die Minute
der Monat

der Tag | die Tage

vorgestern
gestern
heute
morgen
übermorgen

der Montag | die Montage
der Dienstag | die Dienstage
der Mittwoch | die Mittwoche
der Donnerstag | die Donnerstage
der Freitag | die Freitage
der Samstag | die Samstage der Sonnabend | die Sonnabende
der Sontag | die Sontage

der Morgen | die Morgen
morgens
Guten Morgen
der Mittag | die Mittage
mittags
der Abend | die Abende
abends
Guten Abend
der Tag | die Tage
tagsüber
Guten Tag
die Nacht | die Nãchte
nachts
Gute Nacht

die Woche | die Wochen
der Wochentag | die Wochentage
der Werktag | die Werktage
das Wochenende | die Wochenenden

das Jahr | die Jahre
die Jahreszeit | die Jahreszeiten
der Frühling das Frühjahr
der Sommer
der Hebst
der Winter

der Monat | die Monate
der Januar
der Februar
der Mãrz
der April
der Mai
der Juni
der Juli
der August
der September
der Oktober
der November
der Dezember


Maße und Gewichte


das Maß | die Maße (cetvel)
die Breite | die Breiten (genişlik)
die Höhe | die Höhen (yükseklik)
die Tiefe | die Tiefen
die Lãnge | die Lãngen
der Zentimeter
der Meter
der Quadratmeter
der Kilometer | die Kilometer
das Gewicht | die Gewichte
das Gramm | die Gramm
das Pfund | die Pfund
das Kilogramm | die Kilogramm
Grad Celsius
der Milliliter | die Milliliter
der Liter | die Liter
ein halber Liter

messen | hat gemessen


Lãnder Nationalitãten


das Land | die Lãnder
Kontinent | Kontinente

Europa
Europãer | Europãer
die Europãerin | die Europãerinnen
europãisch

der/die Deutshe | die Deutschen
ein Deutscher | eine Deutsche
Deutschland
deutsch

der Österreicher | die Österreicher
die Österreicherin | die Österreicherinnen
Österreich
österreichisch


Sprache


Sprache | Sprachen
Deutsch
Türkisch
Englisch

Ich spreche sehr gut Deutsch. (100%)
Ich spreche gut / fließend Englisch und Türkisch. (80%)
Ich spreche ein bisschen Spanisch. (20%)

Welche Sprachen sprichst du?
Welche Sprachen sprechen Sie?

Ich spreche Deutsch.
Englisch
Italienisch
Spanisch
Französich
Dänisch
Niederländisch
Belgisch
Polnisch
Russisch
Arabisch
Chienesisch

Deutsch ist meine Muttersprache.

die Fremdsprache


Wege beschreiben


Bitte links abbiegen
Bitte rechts abbiegen
Gehen/Fahren Sie geradeaus
Bitte wenden Sie
An der Ampel fahren Sie geradeaus
Gehen/Fahren Sie an der Kirche vorbei
Gehen/Fahren Sie die zweite Straße links

erste (first)
nächste (next)
zweite (second)
dritte (third)

einbahnstraße


Personal und Reflexive Pronomen



Lokale Präpositionen


Lokale Pröpositionen + Dativ: Wo?

der -> dem das -> dem die -> der die(Pl) -> den + n

der Würfel:
Die pyrmide ist auf dem Würfel.

das Haus:
Der Würfel ist neben dem Haus.

die Pyramide:
Der Würfel ist neben der Pyramide.

die Häuser (Pl.):
Das Auto ist zwischen den Häusern.

die Pyramiden (Pl.):
Das Auto ist zwischen den Pyramiden.
Das Auto ist zwischen den Taxis.

in dem -> im

das Café | die Cafés

Die Frau ist in dem Café. (Özellikle vurgulanmak istenirse bu da kullanılabilir)
Die Frau ist im Café.

an dem -> am

Die Lehrenin ist an dem Tisch.
Die Lehrenin ist am Tisch.

Ali stieht am Fenster.

die Wand | die Wände

Der Kalender ist an der Wand.
Der Kalendar hängt an der Wand.

Ich suche die Disco. Wo ist sie, bitte?
Sie ist neben das Museum.

Wo ist die Maus?
Die Maus ist vor dem Käse.
Die Maus ist auf dem Käse.
Die Maus ist neben dem Käse.
Die Maus ist hinter dem Käse.
Die Maus ist zwischen dem Käse.
Die Maus ist an dem Käse.
Die Maus ist unter dem Käse.
Die Maus ist in dem Käse.
Die Maus ist über dem Käse.

Auf dem Sofa schläft ein Mann Vor dem Sofa ist ein Teppich
Auf dem Teppich ist ein kleiner Tisch
Unter dem Tisch ist eine Tasche
Hinter/ Über dem Sofa ist ein Bild
Neben dem Sofa ist ein Laptop

Wo ist der Stab?


Zeitpräpositionen



Gegenteil

öffnen X schließen

Ich öffne das Buch. Ich schließe das Buch.

die Nähe X die Ferne

Was ist das Gegenteil von groß?
Das Gegenteil von groß ist klein.

groß X klein
Schön X Hässlich
Schauer X leicht
Lang X kurz


Kurssprache


  • Schreiben Sie Bitte
  • Sprechen Sie Bitte
  • Buchstabieren Sie Bitte
  • Fragen Sie Bitte
  • Öffnen Sie die Bücher bitte
  • Scließen Sie die Bücher bitte
  • Hören Sie bitte
  • Zählen Sie bitte (to count)
  • Antworten sie bitte
  • Stehen sie bitte auf
  • Schaun Sie bitte
  • eine moment bitte
  • Konjugieren Sie bitte
  • Ich habe eine Frage
  • Lesen Sie bitte
  • Ordnen Sie bitte zu (Order)
  • Kontrollieren Sie bitte
  • Merkieren sie bitte
  • Was heißt “….” auf Deutsch?
  • Was ist das Gegential von “…”?
  • Was ist der Artikel von … ?
  • Entschuldigung
  • Wie schreibt man … ?
  • Wie geht’s ihnen?
    Mir geht’s gut.
    Danke, gut.
  • Wie heißt die Pluralform von … ?
    Die pluralform von Tache heißt/ist Taschen.
  • Wie heißt der Plural von … ?
    Der Plural von Tasche ist/heißt TAschen.
  • Können Sie das lesen?
  • Wie bitten Sie um Hilfe?
  • Ich verstehe das nicht.
  • Wie schreibt man das?
  • Was heißt das?
  • Wie spricht man das aus?
  • Was wollen wir tun? (tun -> machen, What should we do?)
  • Bitte helfen Sie mir.

Anderes


Mein Traumhaus: https://www.hueber.de/media/36/schr1-lesetexte-L4.pdf

Angelas Buch
Sie ist Angelas Kind.
Das ist Julias Buch.
Das ist Yunus’ Buch.
Das ist Aziz’ Buch.

Herkunff

Ich wohne in Kizilay in Ankara in der Turkei.

Ich lerne Deutsch.
Wir lernen das Alphabet.

Kann ich Sie etwas fragen?


A1


1


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l01/index.php

Wer ist das ? +Das ist Ayşe/Frau Öztürk |vorname| |familienname|

Wie ist ihr Vorname ? +Meine Vorname ist….

Wie ist ihr Familienname Nachname +Mein Familienname ist…

Wie heißen Sie ? +Ich heiße … -Freut mich -Freut mich auch

0-null
1-eins 2-zwei 3-drei 4-vier 5-fünf 6-sechs 7-sieben 8-acht 9-neun 10-zehn 11-elf 12-zwölf . . 15-fünfzehn 16-sechzehn 17-siebzehn 18-achtzehn 19-neunzehn 20-zwanzig

Arbeitsblatt- çalışma sayfası

Was ist das ? Das ist ein Buch Das sind zwei Bücher

Ich öffnen das Buch Ich schließe das Buch

-Stadt-Stadte

-Hello ,wer bist du ? - informell Ich bin Simone

-Wer sind Sie ? Ich bin Simone H….

Woher kommen Sie ?

Woher kommst du ?

W-Fragen V 2 position -Wer ist das ? Wie heißen Sie? Woher kommst du?

Antwort/Aussage

Buch Bücher Lehrerin Lehrerinnen Lehrer Lehrer Kursteilnahmerin Kursteilnehmerinnen Kursteilnehmer Kursterilnehmer Fenster Fenster Tisch Tische

Wie viele Tische sind hier? -Hier sind …. Tische

kommen + aus + Land/Lander Stadt Stadte

Ich komme aus Spannien -der Turkei -der Schweiz -dem Iran -dem Irak

Personalpronomen kommme/komsst/kommen/kommt

Woher kommt sie/er ? *Sie kommmen

Wie geht’s dir ? geht es

Wie geht’s Ihnen geht es

Danke |sehr gut/super/toll gut/prima es geht nicht so gut schlecht

kommen heißen komme heiße kommst heißt kommen heißen kommt heißt

Wie bitte ?


2


Ich wohne in ….

Beruf

Mann- Manner Frau-Framen Visitenkarte-Visitenkarten Beruf-Berufe

Ich bin + *Beruf

Ich arbeite als + *Beruf

Ich arbeite bei + *Firma Arbeitgeber

Was sind Sie von Beruf ? bist du

Was machen Sie beruflich ? machst du

*arbeiten arbeite/arbeitest/arbeitet/arbeiten

KONJUGİEREN SİE BİTTE

Was machen Sie beruflich ? Ich bin Student

Was Studieren Sie ? Studierst du ? Ich Studiere Musik auflehramt. Ingenieurwesen.

Ich bin arbeitslos. Wirtshaftswissenschaften- BWL Rechtswissenschaften Biologie Chemie Naturwissenschaften Biologe/Biologin Anwaltin/Anwalt

ein Praktikum machen Ich mache ein Pratikum. bei …. / als..

eine Ausbildung machen Ich mache eine Ausbildung bei…/als…

REGEL einen Job haben / als Beruf bei Firma

st—->şt sch—->ş sp—->şp

27-siebenundzwanzig 30-dreißig 21-einundzwanzig 22-zwaiundzwanzig 34-vierunddreißig 43-deriundvierzig

Wie alt sind Sie? bist du?

Ich bin … Jahre alt.

ledig verliebt verlobt verheirotet verheirotet geschieden verwitwet

Bist du verheriratet ? Sins sie verheiratet

Ja,Ich bin vergeiratet Nein,Ich bin nicht verheiratet Nein,Ich bin ledig.

sein Ich bin du bist Sie sind er/Sie ist

leben wohnen lebe wohne lebst wohnst leben wohnen lebt wohnt

Ich habe ein kind / Kinder

Wie viele Kinder haben Sie ? hast du ?

Haben Sie Kinder? Hast du Kinder ?

keine Ja, Ich habe ein kind. Nein,Ich habe keine kinder.


3


Wo arbeiten Sie ? arbeite bei Siemens

Jahr-Jahre

Simones Buch Emirs Buch Yunus’ Buch Aziz’ Buch

kennen kenne kennst kennt kennen kennt kennen

Drehbuch Ausschnitt

Kennen Sie Brad Pitt?

Wer kennt Diester Bahlen ?

Possesivartikel maskulin feminin Plural Ich mein meine meine du dien deine deine

Vater / Mutter / Eltern Sohn/Schwester/Geschwester Großmutter/ Großfather/Großeltern

Bruder/Tochter/Enkelin (Ehe)Mann / (ehe) Frau

Vater+Mutter=Eltern Sohn+Tochter=Kinder Bruder+Schwester=Geschwester Großvater+Großmutter=Großeltern Enkel + Enkelin=Enelkinder Ehemann + Ehe frau = Ehepaar-singular

Brüder Brüder Tochter Töchter Sohn Söhne Enkel Enkel familie familien

Kommen Sie nich aus Ankara ?

  • Doch Ich komme aus Ankara.

-Nein Ich komme nich aus Ankara.

Kommen Sie aus Ankara ?

+Ja, Ich komme aus Ankara -Nein, Ich komme nicht aus Ankara

Position 2

W-Frage -Woher kommen Sie ? Aussage -Ich komme aus Ankara.

              -Antwort=Nein

Regel +Frage +Antwort=Ja -Frage -Antwort=Nein +Antwort=Doch


4


Möbel
Tisch
Lampe
Bett

Ich glaube Sie sind (nicht) verheiratet.

Möbelhaus (like IKEA)

Das bild kostet 15 €. Das ist billig.
Das bild kostet 1000 €. Das ist teuer.

Brauchen Sie hilfe?
Ja, bitte.
Nein, danke.

Wie viel kostet der Tisch?
Was kostet der Tisch?

der Preis
der Fernsheer

Der Tisch kostet 1478 € | eintausendvierhundertachtundsiebzig euro

Die Couch
Die Couch kostet … Sie kostet … Sie kommt aus Italien.
Sie ist sehr teuer.

Materialen
das Holz
das Metall
das Glas
das Popier
der Kunstoff
das Plastik (die Plastik sanat eserleri için kullanılır)

Farben
rot grün orange schwarz blau gelb weiß braun

Formen echig (köşeli) rund sternfürmig (starshaped) wolkenformig (bulut şekli)

der stern die Wolke

aus + Material (keine artikel)
Frau Klums Brille ist aus Kunststoff.
Das ist Pinocchio. Er ist aus Holz.
Die Flasche ist aus Plastik.

verkaufen

Das ist Brille von Top-Designerm S.A.H Die Brille ist stemförmig,blau-gelb und aus Plastik Mein Goethe-Sonderundebot nur 21 Euro.

das Etikett der Zustand Versteigern neu gebraucht Ich bieten ….!

Wie schreibt man ? Wie heißt das auf Deutsch.

Entsculdigung , Wie heißt das auf Deutsch ?

Definitartikel | Indefinit artikel | Personelpronomt

Der Schrim Das ist ein Schrim Er ist grün (m) Das Buch Das ist ein Buch Es ist rot (n) Die Uhr Das ist eine Uhr Sie ist braun (f)

einmal benutzt —1 kez kullanılmış

*durchsichtig

der (Regel) Schrem das Streichholz die Geldbörse die Seife der Bleistift die Brille das Buch die Flasche das Feuerzeug der Fotoapparat die Katte der Kugelschreiber der Schüssel die Tasche


5


ausweis mit freundlichen grüßen

Wie geth’s ? -Mir geht’s gut.

die Zeitung–ung—>DİE

Auktion rückwärts s Meer e Freundin,nen r Freund,e e Kollegin,in bestellen e Bestellung r Kollege,n r Chef,s e Chefin,nen e Postwärts r Arbeitsplatz r Platz glücklich Termin

Wie heißt die Plural form von … ? der Plural

Die Pluralform von Tache heißt/ist Taschen Der Plural

zigaretten rauchen wasse trinken

Namen + Verb kombinotion

Wer sucht Rechnungen ?

Wer braucht Stiftel ?

Was ist das Handy ?

Wo sind die Handys ?

Wo ist denn der Schlüssel ? Wo ist der Schlüssel ? die Maus ? das Formular ?

Hier ist der Schlüssel. die Maus. das Formular.

Hier sind die Formulare.

Wo sind die Schlüssel ? +Hier | ist | die | Tasche | |verb | | Subjeckt |

Was suchen Sie ?

+Ich suche das | Kursbuch |. | Objekt |

Ich suche | den Schlüssel | die Maus | das Formular.

der—->den den Laptop die Briefmarke das Formular

Alle subjekte sind immer im Nominativ.

Der schlüssel ist klein. Was Die Lahrerin ist groß. Wer

Verben+ Akkusativ

öffnen machen schließen hören schreiben sprechen haben finden suchen lesen markieren buchstabieren fragen brauchen lieben konjugieren ergänzen finden schreiben

Ich haben den Schlüssel. suche finde

Was suchst du ? Ich suche den Lehrer. Wen ?

Wen suchst du ? Ich suche den mann.

Du suchst den Laptop Den Laptop suchst du.

Ich brauche den Laptop einen Laptop

Nominativ    Akkusativ

Der| kein | keinen| Die| keine | keine | Das| kein | kein | Die| keine | keine |

Wie viele … haben Sie ?

Ich habe ….. ein kein eine keine einen keinen


6


Sich meiden Sich meiden Sich verabschieden
Firma + Name | Guten Tag | Tschüss
            | hier ist Marlene Neumann|Auf Widerhören
            | Hallo hier ist …. |Auf widersehen

Das Gewitter der Donner der Blitz der Regen das Stück,e der Autor,en handeln gebraucht der Trödel,- der Trödler,- der Trödlerin,nen der Koch,"e die Köchin,nen -kochen

Spazieren gehen Rad Fahren Scach spielen Musik hören Freunde treffen lesen fotografieren schwimmen Im ınternet surfen singen kochen schnellxlangsam Postkarte Händler Teller Tasse Handtuch König Puppe Schlüsselanhänger der Nachtflohmarkt Nummer eins Sachsen

Du kannst wirklich gut Tenis spielen -Sie können gut Tennis spielen

Wow! Du kannst ja super tanzer. -Sie können super tanzen.

Du kannst wirklich toll kochen.

*Modalverb 2. ———- Infinite

*Du kochest sehr gut.

können Ich kann du kannst er/sie kann wir können ihr könnt sie/Sie können

Du spielst wirklich gut Gitarre. Du kann wirklich gut Gitarre spielen.

Was sind deine Hobbys ? ihre Hobbys ?

Was ist dein Hobby ? Ihr Hobbys ?

Meine Hobbys sind fußball spielen Mein Hobby ist singen,Basketball spielen.


7


tauchen die Harpune,n Jagen die Brücke,n Lösung der Ausflug,"e einen Ausflugmachen

fußball spielen macht Spaß! kochen macht Spaß!

Klavier Spielen Lieblingsänger. Fahren Sie gern Ski ? Fährst du

+Ja , Ich fahre gern Ski. -Nein,Ich fahre nicht gern Ski.

Verben mit lokol wechsel

verb ich du er/sie/es wir ihr sie/Sie
fahren fahre fährst fährt fahren fahrt fahren
lesen lese liest liest lesen lest lesen
treffen treffe triffst trifft treffen trefft treffen
sprechen spreche sprichst spricht sprechen sprecht sprechen
sehen sehe siehst sieht sehen seht sehen

Ich spiele gern Gitarre.Ich arbeite gern.

Was machst du in der Freizeit ? machen Sie Leider habe ich kein Zeit Ich habe lider keine Zeit. Am wochende habe ich …..

Ich spiele gern Gitarre. Ich backe gern Ich arbeite gern Ich mache gern Hausofgaben.

Fährst du gern Rad ? Liest du gern Bücher ? Triffst du gern Freunde ?

Wie oft gehst du ins Theater. +Ich gehe |immer| ins Theater. |—–| |oft| |manchmal| |fast nie| |nie|

der Würfel würfeln -zar atmak das Wörterbuch,"es die Pantomime,n Möglichkeit

Können Sie bitte die Fenster öffnen. Kann ich mal telefonieren ? Kann ich das feuerzeug haben ? Leider habe ich doch keine zeit . Können Felix und Katja kochen ? +Ja,felix und Katja können super kocher.

nicht so gut
super toll ein bisschen nicht so gut nicht gar nicht

senkrecht waagerecht —->>> diagonal

Spielst du sehr oft fußball ? +Ja,Ich spiele sehr oft Fußball ? -Nein,Ich spiele nur manchmal fußball.

Wie oft schwimmst du ? +Ich swimme fast nie.


8


Ich kann Bücker lesen. Ich lese leiber. Kannst du Schach spielen. Ich verstehe das nicht. Wie shreibt man das. Wie spricht man das aus ? Was sollen wir tun ? Bitte helfen Sie mir.

der Kalender das Wochenende,n das Ende,n die Woche,n

Heute Nachmittag gehe ich ins Sc hwimbad.
Wann ? Wer? Wohin ?

Regel Wohin ? —->in+Akkusativ in + das = ins in + die = Kneipe in + den = Zoo

Wohin gehen Sie morgen Abend ? Ich gehe morgen ins Cafê morgen abend gens in —–> in den Zoo / in die Disk / ins Kino

Wohin gehen Sie gern ?

Haben Sie heute Nachmittag zeit ? -Nein , leider habe ich keine zeit.

Wie spät ist es ? – formel Es ist 11:40 Uhr.

Es ist fünf noch sieben 7:05 Halb acht - 7:30

7:30 - Halb acht 8:30 - Halb neun 7:35- fünf nach 7:25- fünf vor halb acht 7:45- vietel vor acht 7:28- Kurz vor halb acht 7:32- Kurz nach halb acht 04:03 kurz nach vier

der Morgen der Kurs,e Fluss Fußball

Weiß ich nach nicht—henüz bilmiyorum

wissen
weißt
weiß
wissen
wisst
wissen

Ich weiß nicht. Ich weiß nicht was du meinst.

Lust Haben…..

Lust auf Schwimmbad ? Kino ? Disco ?

Lust Haben ….. +Ich habe Lust -Ich habe keine Lust

Hast du Lust auf ?

Möchtest du ins Schwimmbad gehen ?

spät x früh

um 19:99 Uhr am Montag am Dienstag am Mittwoch am Donnerstag am Freitag am Samstag am am Sonntag Wochanende

Ich gehe am Montag um 19:00 ins Kino. —————— —— Wann ? Wohin ?

Subjekt + Verb +Zeit + Wohin/Ort

einen Vorschlang machen – öneride bulunmak

reagieren E Reaktion,en R Vorschlang,"e +Passt es dir | um 18:00 Uhr | am Montag ?

Hast du heute Nachmittag Zeit ? Ja,Warum -Wir könen heute Schach spielen -Lust auf Schach spielen. -Gehen wir ins Kino -Gehen wir ins die Ausstellung ?

Ich habe keine Lust -Gehen wir ins Konzert ? Ka,wann denn ? Um acht Uhr.-Ich habe um 20:00 Uhr keine Zeit.Passt es dir um 18:00 Uhr -Okay

Gehen wir am Wochenende tanzen ?

schlafen gehen höflich unhöflich die Einladung,en eine Ausstellung

Wann haben wir wieder Kurs.
Am Mittwoch haben wir wieder Deutsch kurs.
Am Wochenende ist kein Kurs.

am——-> Wochentage Tageszeiten

Am Abend/Morgen lerne ich gern Deutsch In der Nacht spiele ich gern …. Am Dienstagnacjmittag gehe ins Shimmbad

etwas vorschlagen Vielleicht können wir morgen Abend ins Theater gehen. Vielleicht könen wir später zusammen kaffee trinken.

Heute Nachmittag gehe ich ins Museum Heute Nachmittag male ich. Ich gehe heute Nachmittag ins Museum.

die Uhrzeit,en


9


Wieder ?

am Nachmittag oder in der Nacht ?

am Nachmittag um 14:00 Uhr.

Lieber …., hast du am Sonnertag zeit ? Können wir ski fahren gehen oder vielleicht können wir in die Bibliothek gehen. Leibe Grüße

Viele Grüße Freundliche Grüße

Sehr geehter Frau Freundenburg

der Onkel,- die tante,n der Kühlschrank,"e der Hunger der Durst der Pilz,e das Ei,er der Olive das Obst das Gemüse

Er hat Hunre ? -Haben Sie Hunger -Hast Du

Ich habe auch Hunger Nein Ich habe keinen Durst.

Bist du durstig ? hungrig? +Ja,Ich bin durstig. -Nein,Ich bin nicht durstig.

immer–%100 fast immer–%85 oft–%60 manchmal–%50 fast nie–%20 nie–%0

Ich esse gern = Ich mag

Ich mag Schokolade Kucher

Ich mag keinen Hamburger Spinat.

schon=sehr früh (çok erken) erst = sehr spüt ( çok geç)

Was möchten Sie essen ? -Ich möchte eine Fischsuppe essen.

Er trinkt keinen kaffee. -Sie einen kaffee ? -Ich möchte einen kaffee trinken. -Marie möchte heute Abend tanzen.

Was ist dein Lieblingsessen ? -Mein Lieblingsessen ist …..

Nominativ - der -ein degişmiyor Akusativ der-einen

Was isst du gein.

möchten
möchte
möchtest
möchte
möchten
möchtet
möchten
mögen
mag
magst
mag
mögen
mögt
mögen

10


das flugzeug die Sonnenbrille,n der Blindenstock,“e der Gehstock,”e

Ich komme um 22 Uhr um zu Hause an. ankommen

Du kommst um 22 Uhr zu Hause an.

Er/sie/es kommt um 22 Uhr zu Hause an.

Ich kaufe im supermarkt ein.–einkaufen

Du kaufst im supermarkt ein.

Ich rufe dich an.–anrufen

Wann rufst du mich an ?

Regel konjugiere Verb Prafix am Position 2 Ende

Rufst du mich an ? – Ja/Nein Frage

Wann rufst du ? –Ich rufe die Lehrerin an

Hast du mich ab ?

Won holst du ab ? –Ich hole dich ab ? meine

Was halst du ab ? -Ich hole das Paket ab.

Holst du mich ab ?

meinen Sohn meine Frendin eine Freundin die Abfahrt die Ankunft

Ich hole dich ab. Ich hole meine Tochter ab Ich hole Zeyeb ab. Ich hole meinen Sohn ab.

Was brinst du Wen bringst du

Mein Bus fährt um 21:00 Uhr ab.

Mein/Der Bus kommt um 21:00 Uhr am

Halbst du mich ab ? Kannst du mich abholen ?

halst du mich ab ? Ich habe dich ab

Wen halst du ab ?

alle 20 minuten fährt dir S-Bahn

Wan sind wir an Flughafen ? Wie heißt der nächste Halt ?

Vor sicht an der Bahnsteigkante Der Zug fährt ab.

Ich suche die U2 zum Olympiazentum.

Die Bahn fährt gerade am Bahnsteig 5 ein.

Steight ihr am Goetheplatz ein ? x Wann telefonierst du mit Oma. Heute Abend sehen wir fern.Kommst du auch ? Wo steigt ihr um ? x Bekomme ich bitte einen Kaffee ? Vielleicht bringe ich am Samstag meine Freundin mit. x Am Sonntag frühstüke ich erst um 12 Uhr.

x nicht trennbar -trennbar

Wann kommst du an ? -Ich komme um 12 Uhr 45 an

Wo steigst du ein ? -Ich steige auf Gleis 10 ein.


11


Wohin ? In+Akkıstiv

Wo ? In + dativ die–>der

Wen ? Wenn die Nuss,"e

Wan fährst du zu Hause ab ? -Ich fahre um 16:00 Uhr ab.

unsteigen ___________________________________________________________________________________________

Subject Verb - -
Ich fahre täglich mit denn Fahrad
Ich fahre 2 bis 3 mal die Woche zur Arbeit
Ich fahre nur am Wochenende zum Einkaufen
Ich fahre fast nie ins Cafê
Ich fahre nie Ins Kino

Wie oft ? Wohin ?

Gestern Ich habe Hausaufgaben gemacht hilfstverb partizip 2 Tempus=Perfekt

Perfekt–>kommunikation

Ich habe Deutsch gelernt. Wann hast du Deutsch gelernt ?

Hast du Deutsch gelernt. Ja/Nein Frage ___________________________________________________________________________________________

das Gleis der Bahnof der Flughafen die S-Bahn der Zug die Straßenbahn die U-Bahn Der Bahnsteig das Taxi der Bus die Haltestelle das Flugzeug der Koffer die Tasche das Gepäck

Mach’s gut Oass auf dich auf Verkehrsmittel Gepäck am Bahnhof das Fahrrad,"er die Celli das Cello das Instrument,3 der Terminkalender,- das Geschenk,e ___________________________________________________________________________________________


12


Frühling Sommer Herbst Winter
Marz Juni September Dezember
April Juli Oktober Januar
Mai August November Februar

Was haben Sie | letzten Freitag | gemacht | letzte Woche | | letztes Jahre |

der Tag,e die Woche,n das Jahr,r der Schulabschluss,’s der Bachelor der Bachelorprüfung,en der Master die Fachochschule,n der Würfel der Stab,’e die Pyramide,n

hatte ______

ich hatte du hattest er/sie hatte wir hatten ihr hattet wir hatten

? Was haben Sie gestern gemacht? +Ich habe gestern Hausaufgabe gemacht


Wo ist Sie ? Wie komme ich zum Bahnhof.

auf üstünde NOMİNATİV DATİV an yanında der/ein Bahnhof | vor dem einem neben yanında(temas yok) das/ein Resteurant | dem einem vor önünde die/eine Ampel | der einer hinter die/- Cafe’s Hauser | den - Hausern zwischen über unter in

in dem = im an dem = am

Was ist das Hotel Marrhim ? +Das hotel ist neben der bank.

LOKALE PRAPOSİHİMEN MİT DATİV

regel PRASPOSİTON + ARTİKEL -R —>DEM

Die Pyramide ist auf dem Würfel. Der Würfel ist neben dem Haus. Der Würfel ist neben der Pyramide.

WO?—–> die—>der

der Stadtplang,’e rechts abbiegen die Strasse,n wenden der Navigator,en zurückfahren das Hotel,s geradeaus fahren anmachen links abbiegen ausmachen die Stadmitte das Zentrum der Polizist,en die Polizistin,nen die Wand,’e

Stimm+nicht —->false

Der Kalender hangt an der Wand(die Wand). Das Auto ist zwischen den Hausern.

Wo? die—–> den+Nomen +‘n’

Die Frau ist in dem(im) Cafe’.

Die Lehrerin ist an dem (am) Tisch.

Egehan ist am Fenster

Dann kommen Sie unter einer Brücke durch.(durchkommen)

Maritim ist in dem(im) Zentrum ?

An den Cafe’s fahren Sie

Bitte links abbiegen

Bitte rechts abbiegen Gehen/Fahren Sie geradeaus Bitte wenden Sie An der Ampel fahren Sie geradeaus. Gehen/Fahren Sie an der Kirche vorbei Gehen/Fahren Sie die zweite Strasse links.


13


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l13/index.php

das Auto | die Autos
das Hotel | die Hotels

die Straße | die Straßen

der Navigator | die Navigatoren
der Stadtplan | die Stadtpläne

Beiden (çift)
Fussgenger (yaya)

suchen X finden
stimmt (richtig)
stimmt nicht (falsch)

anmachen X ausmachen (turn on X turn off)

Ich mache den CD-Player an.
Ich mache die Lampe an.
Die Frau macht den Navigator an.

rechts abbiegen (turn right)
links abbiegen (turn left)
wenden (U turn)
zürückfahren (aksi yönde gidin)
hindfahren
geradeaus fahren (go directly)

Wo ist das Hotel M… ?
Das Hotel ist neben der Bank.

der Würfel | die Würfel (kutu, zar)
der Stab | die Stäbe (silindir)
die Pyramide | die Pyramiden

Wo ist … ?

Wo sind … ?

Wo hängt der Kalender? Wo hängen .. ? Wo liegt der Stift?
Wo liegen der Stift?
sitzt
sitzen
steht
stehen

  • neben dem Haus
Nominativ Dativ
der Würfel dem Würfel
die Pyramide der Pyramide
das Haus dem Haus
die Würfel den Würfel

Können Sie bitte das Licht anmachen?
Können Sie bitte das Fenster aufmachen?

Zuerst + Verb + Subjekt

Zuerst gehen Sie immer geradeaus und dann gehen Sie links. …
danach + Verb + Subjekt

forbeifahren (kein stop)

… dann fahren Sie an den Cafés vorbei …

Ball 1 ist neben dem Schrank.

Ball 2 ist auf der Couch.

Ball 3 ist im Schrank.

Ball 4 ist unter der Couch.

Ball 5 ist zwischen der Couch und dem Schrank.

Ball 6 ist hinter dem Schrank.

Ball 7 ist über der Couch.

Ball 8 ist an dem Schrank.

Ball 9 ist vor der Couch.

Ball 9 ist auf dem Teppich.

  • Können Sie mir helfen? Wo ist das Café “Glockner”?
  • Tut mir leid, ich bin fremd hier. / ich bin nicht von hier.

  • Ja, das ist gleich die nächste Straße links.
  • Vielen Dank, das ist sehr nett.

  • Oh, tut mir leid. Das weiß ich nicht.
  • Schade. Trotzdem: Dankeschön.

  • Kann ich Sie etwas fragen? ich suche den Bahnhof.
  • Fahren Sie zwei Kilometer geradeaus. Dann sehen Sie schon den Bahnhof.

  • Kennen Sie das Restaurant “Schönblick”?
  • Ja, das ist ganz in der Nähe. Wenden Sie hier und fahren Sie zurück bis zur Ampel und dann links.

  • Wo ist das Nationalmuseum?
  • Wie kann man dahin fahren/ gehen?
  • Was kann man noch in Ihrem Heimatland/ Ihrer Heimatstadt besuchen?

Das Museum ist sehr nah/ weit vom Bahnhof.
Da kannst zu Fuß gehen/ Da musst du den Bus oder die U-Bahn nehmen.
Du gehst geradeaus bis zur (fem.) / zum (mask./neutrum) …
Dann gehst du die erste/zweite/nächste Straße links/rechts.
Nach … Metern findest du das Museum links/ rechts.
Du nimmt den Bus oder die U-Bahn Nummer …. Du steigst an der Station …. aus.

Sie können hier essen -> Restaurant
Anderes Wort für Stadtmitte -> Zentrum
Hier fahren Züge ab und es kommen Züge an -> Bahnhof
Hier bekommen Sie Geld -> Bank
Hier können Sie Briefmarken kaufen -> Post
Rot: Sie bleiben stehen. Grün: Sie können fahren -> Ampel
Hier können Sie einen Tee oder Kaffee trinken –> Café

Anzeige
Schöne 2-Zimmer-Wohnung frei ab 1.5.
45 Quadratmeter mit großem Balkon
Möbliert, mit Stellplatz in der Tiefgarage
Miete 380.- € inkl. Nebenkosten

2-Zimmer-Wohnung zu vermieten
55 Quadratmeter, Balkon, Küche und Bad.
Miete 450.- € + Nebenkosten

Das ist Bruno. Bruno wohnt genau wie Otto und Vanilla in Glückstadt. Sein Haus liegt neben Ottos Haus. Er ist geschieden, aber er wohnt nicht allein. In dem Haus wohnt auch seine neue Partnerin Mia. Mia hat zwei Kinder. Ihre Tochter heißt Sandra und ist 8 Jahre alt und ihr Sohn heißt Mark und ist 4 Jahre alt. Sandra und ihr Bruder wohnen im ersten Stock. Bruno liebt besonders sein Arbeitszimmer im Erdgeschoss. Dort steht sein Computer. Er surft gern im Internet und spielt gern Computerspiele. Seine Partnerin ist gern im Garten. Sie findet Computerspiele langweilig. Aber sie liebt ihren Garten und ihre Blumen.

das Haus
sein Haus
in dem Haus

der Partner | die Partnerin
seine Partnerin

die Tochter
ihre Tochter

der Sohn
ihr Sohn

der Bruder
ihr Bruder

im ersten Stock

sein Arbeitszimmer

der Garten
ihren Garten

die Blumen
ihre Blumen

TRAUMWOHNUNG

Traum

Wohnung

Meine Traumwohnung

Ich lerne Deutsch –> Ich bin in einer Sprachenschule.

Ich bin shoppen –> in einem Laden

Ich suche Bücher, aber ich kaufe sie nicht –> in einer Bibliothek

Ich bin in einem Haus. Es ist sehr groß. Ich wohne hier nicht. Ich bin im Urlaub und sehe mir das Haus an –> in einem Schloss

Ich gehe spazieren. Hier sind Bäume, aber ich bin nicht im Wald. Ich bin in einer Stadt. –> in einem Park

Ich bin in der Stadtmitte. An Donnerstag gibt es hier immer Obst und Gemüse. –> auf einem Markt

Ich bin in einer Kirche und habe einen Blick auf die Stadt von oben. –> auf einem Turm

Das Wetter ist schön und ich schwimme. Ich bin im Wasser, aber nicht im Meer. –> in einem Fluss


14


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l14/index.php

Schlafzimmer
Kinderzimmer
Arbeitszimmer
Bad
erster Stock
Arbeitszimmer
Erdgeschoss
Küche
Wohnzimmer
Flur
Toilette
Schlafzimmer
Kinderzimmer
Bad

Wohngemeinschaft

Genetiv : Name + s

Das ist der Ball von Frank.
Das ist Franks Ball.

Name’ (bei s, ss, ß, z, c, x)
Andreas’ Vater
Aziz’ Ball
Hans’ Vater

Der Ball von Deniz -> Deniz’ Ball
Die Mutter von Lena -> Lenas Mutter

Nominativ Akkusativ
der Das ist sein Ball. Er mag seinen Ball.
das Das ist sein Auto. Er mag sein Auto.
die Das ist seine Flasche. Er mag seine Flasche.
die (Pl.) Das sind seine Flaschen. Er mag seine Flaschen

Ich mag Franks Ball. Ich mag seinen Ball.

das Haus

Wie findest du Ottos Haus?
Das Haus von Otto finde ich schön.
Sein Haus finde ich schön.

der Garten

Ich finde den Garten von Otto schön.
Ich finde seinen Garten schön.

die Küche

Ich finde die Küche von Otto schön.
Ich finde seine Küche schön.

die Telefonnummer

Wie ist seine Telefonnummer?
Wie ist ihre Telefonnummer?
Formell Frage: Wie ist Ihre Telefonnummer?

Nominativ Akkusativ
der Das ist ihr Schuh. Sie mag ihren Schuh.
das Das ist ihr Kleid. Sie mag ihr Kleid.
die Das ist ihre Flasche. Sie mag ihre Flasche.
die (Pl.) Das sind ihre Shuhe. Sie mag ihre Schuhe.

Hoch X Tiet (High X Low)

die Miete (rent)
die Warmmiete | die Warmmieten | miete mit Nebenkosten (rent with water, electricity, … )
die Kaltmiete | die Kaltmieten

der Balkon -> einen Balkon

Hat die Wohnung einen Balkon?

Wie viele Zimmer hat die Wohnung?
Wie groß ist die Wohnung?
Wie groß ist deine Wohnung?
Wie goß ist Ihre Wohnung?

3 Zimmer, Küche, Bad
Meine Wohnung ist 100 m2 groß. quadratmeter

umziehen + sein | umgezogen (to move)
Ich bin umgezogen.

Wie hoch ist die Miete?
Wie viel kostet die Miete?

die Miete | die Mieten (kira)
mieten (kiralamak)
der Mieter (kiracı)
die Mieterin (kiracı)

vermieten (kiraya vermek)
der Vermieter (ev sahibi)
die Vermieterin (ev sahibesi)

bezahlen (to pay)

die Zeitung | die Zeitungen
die Anzeige | die Anzeigen (ilan)


15


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l15/index.php

Hallbergmass bei München
Das ist Darf (village)
aud dem Land lieben (köye yaşıyor)
in der Stadt leben

Was sehen Sie aus Ihrem Fenster?

die Moschee | die Moscheen
der Pool

Lesen Sie Blogs?
Welche Blogger kennen Sie?

Wo + Dativ (Nere?)
Wohin + Akkusativ (Nereye?)

Ich fliege ins Ausland / nach Deutschalnd / in die Türkei / in den

es gigt + Akkusativ
Es gibt drei Bücher hier.

wenig X viel (az X çok)

denken glauben meinen (think)

Ich denke …
Ich glaube …
Ich meine …
Vielleicht (perhaps) …

Kellner fragt: Zusammen oder getrennt? (hesap birlikte mi ayrı mı)

lieben + Akkusativ
Ich liebe dich.

gehören + personal pronomen dativ
meine possessive pronomen

Die Tasche gehört mir = Das ist meine Tasche

gefallen + Dativ
gehören + Dativ

Die Tasche gefällt mir = Ich finde die Tasche schön

helfen + personal pronomen dativ
danken + personal pronomen dativ

Ich helfe dir.
Ich danke dir.
Ich glaube dir.

Die Tasche gehört mir. (ich -> mir)
Die Tasche gehört dir. (du -> dir)

Die Tasche gehört dem Mann.
Die Tasche gehört ihm. (er -> ihm)

Die Tasche gehört dem Kind.
Die Tasche gehört ihm. (es -> ihm)

wir -> uns
ihr -> euch
sie/Sie -> ihnen/Ihnen

auf (üstü açık alanlarda in yerine auf kullanılır)
auf dem Markt
auf dem Tür

Du gefällst mir.
Du gehörst mir.

Personalpronomen im Dativ

  • Hallo Maria und Pedro, wie geht es euch?
  • Danke, gut.

  • Maria, kommst du ?
  • Ja, Pedro, ich komme gleich und helfe dir

  • Wir haben Probleme mit den Hausaufgaben. Kannst du uns helfen?
  • Ja, klar.

  • Sind das deine Bücher?
  • Nein, die gehören nicht mir. Sie gehören Maria.

  • Was machst du?
  • Ich schreibe eine Postkarte an Sandra und danke ihr für die Einladung.

  • Hast du am Sonntag Zeit?
  • Nein, Peter und Anja ziehen um und ich helfe ihnen

Lesen Sie Blog. Sind die Sätze richtig oder falsch?

Hamburg - das Tor zur Welt

Meine Lieblingsstadt ist Hamburg. Ich bin oft dort und besuche Freunde. Die Stadt hat 1.8 Millionen Einwohner und liegt in Norddeutschland an der Elbe. In Hamburg gibt es alles: Kunst und Kultur, Restaurants und Bars, Läden und Geschäfte - und viel Wasser. Ihr wollt Hamburg besuchen? Das müsst ihr sehen.

Hamburg am Wasser

Besonders spanned sind der Hafen mit den Container-Schiffen aus der ganzen Welt und die Speicherstadt. Dort lagern Waren von den Schiffen: Kaffee, Tee, Gewürze, Kakao, elektronische Produkte, Teppiche und vieles mehr. Aber es gibt auch Museen, Ausstellungen, Lesungen und Theateraufführungen.

Hamburg von oben

Die Kirche St. Michaelis (die Hamburger nennen sie “Michel”) ist das Wahrzeichen von Hamburg. Der Blick vom Kirchenturm (132 Meter hoch!) auf die Stadt und den Hafen ist einfach toll!

Hamburg am Abend

Natürlich gibt es in Hamburg überall viele Kneipen. Besonders gern mag ich aber die Atmosphäre am Großneumarkt, das ist ein Platz in der Hamburger Neustadt mit Kneipen, Cafes und Restaurants. Vielleicht sehen wir uns irgendwann mal?

Ewa aus Krakau

Danke für die Tipps, Jan! Dein Blog gefällt mir gut. Hamburg kenne ich noch nicht, aber jetzt möchte ich unbedingt hin und den Hafen sehen.

Einwohner | Wappen | alt | 500 | Bern | spricht | Hauptstadt | Berlin
Martin lebt in Bern
Bern hat 130.000 Einwohner und ist die Hauptstadt der Schweiz.
In Bern spricht man Berner Deutsch.
Der Zytglogge, das ist der Zeitglockenturm, ist sehr alt. Die Uhr ist 500 Jahre alt.
Bern und Berlin haben etwas gemeinsam. Beide Wappen haben einen Bären.


16


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l16/index.php

Hilfe rufen
warten

die Angst | die ängste
Angst haben

genervt sein

nichts tun (hiçbirşey yapmadan beklemek)
Sie tunnst nicht.

warten
Hilfe rufen

die Aufzugfirma | die Aufzugfirmen

der Techniker | die Technikerin

reparieren

der Kopf | die Köpfe
das Feld | die Felder (field)

Wie geht’s dir / Ihnen ?
Mir geht’s gut. Uns geht’s gut.

Wem gehört die Uhr?
Die Uhr gehört ihm.

Wem gehören die Bücher?
Die Bücher gehören ihm.

einen Termin vereinbaren

Passt es Ihnen heute Nachmittag um 16 Uhr?
Ich habe einen anderen Termin um 11 Uhr. Kann ich um 14 Uhr kommen?

den Termin verschieben
ich verschiebe den Termin von Freitag auf Deinstag.

Ich habe einen Termin um 11 Uhr. Ich kann aber leider nicht kommen.

einen Termin absagen (cancel) Ich sage den Termin ab.

Wo + in Dativ

der: Ich komme in einem Monat zurück.
das: Ich komme in einem Jahr zurück.
die: Ich komme in einer Stunde zurück.
Pl.: Ich komme in zwei Wochen zurück.

  • Wann kommst du zurück?
    In einem Monat.

vor X nach (before X after)

Wann kommt er?

der: Er kommt vor dem Kurs.
das: Er kommt nach dem Essen.
die: Er kommt nach der Uni.
Pl.: Er kommt vor den Hausaufgaben.

(Für) Wie lange kommen Sie?
(Für) Wie lange bleiben Sie?
Ich komme für einen Monat.
Ich bleibe für einen Monat.

bleiben (stay)

Tut mir leid, der Bus ist nicht gekommen.
Entschuldigung, ich habe zu lang geschlafen.
Tut mir leid, ich war in einer anderen straße.
Ich habe keine Taxi gefunden.
Ich war gestern krank.

Ich glaube ihm.

Hast du am Sonntag zeit?
Ja, ich habe zeit. (vereinbaren) Nein, ich habe keine zeit.

Ich kann doch nicht (absagen).

sein | gewewsen

Bist du in Köln gewesen -> Warst du …. in Köln?

in Wann + Dativ
nach - vor Wann + Dativ
(für) wie lange + Akkusativ

ab Wann? Abwann?

Abwann ist die Party?
Wann ist die Party?

um wie viel uhr? (Wann)
am Wann?

von .. bis Von wann bis wann? Wann?

anfangen | angefangen (to begin)

Der Deutschkurs hat von einer Woche angefangen.

Wann gehen Sie einkaufen?
Ich gehe nach dem Kurs einkaufen.

“Das war eine schwere Geburt” (çok zor bir iş için kullanılan deyim)
“Ich verstehe nur Bahnof” (hiç bir şey anlamadım anlamında deyim)

ZEITPRÄPOSITIONEN

Lesen Sie die Sätze.
“Vor” ist eine Präposition für vergangene Ereignisse, (vergangene Ereignisse: past event)
“für” ist eine Präposition für die Dauer, (Dauer: period)
“in” ist für die zukünftige Ereignisse und (zukünftige: future)
“nach” für schon abgeschlossene Ereignisse. (abgeschlossene: terminated)

Peter möchte für ein Jahr nach Japan gehen.
Er hat vor einem Jahr schon ein Praktikum in Japan gemacht.
Anne möchte nach ihrem Medizinstudium in Afrika als Ärztin arbeiten.
Barbara beginnt in drei Monaten mit dem Studium.
Moritz hat vor einem halben Jahr mit seinem Ingenieur-Studium angefangen.
In vier Jahren ist er fertig. Dann möchte er gern in einer Autofirma arbeiten.
Maria möchte nach dem Deutschkurs die Prüfung machen.

Was kann ich für Sie tun?

Nach der Schule hat er Elektroinstallateur gelernt.
Seit 16 arbeitet Herr Brunner als Hausmeister bei der Firma.
Er kümmert sich um die Heizung, das Wasser und den Strom.
Er repariert Fenster und Türen. Außerdem schneidet er Bäume, Büsche und Hecken. Von Montag bis Freitag arbeitet er immer von 8.00 bis 16 Uhr. Er hat Mittagspause von 12.00 bis 12.30 Uhr.
Die Arbeit macht ihm Spaß.

TERMIN

Termine verschieben

  • Ich kann leider doch nicht ins Kino gehen/ kommen.
  • Können wir den Termin verschieben?
  • Ich möchte den Termin verschieben.

Pläne beschreiben

  • Vor/ Nach dem Deutschkurs/ der Uni …
  • Ab Samstag bin ich für 2 Wochen im Urlaub.
  • Am Montag bin ich aus dem Urlaub zurück.
  • Von Freitag bis Dienstag bin ich in Berlin.

Alternativen vorschlagen

  • Ich kann am Freitag.
  • Am Sonntag habe ich Zeit.
  • Passt es Dir am Sonntag?
  • Wollen wir am Freitag ins Kino gehen?

Ihre Tandem-Partnerin schreibt Ihnen folgende Mail und möchte einen Termin vereinbaren.

Lieber/ Liebe ….
wollen wir uns diese Woche endlich mal treffen? Ich habe aber leider ein volles Programm. Von Montag bis Freitag bin ich auf einer Tagung in Berlin. Am Donnerstag Vormittag gehe ich zur Uni und am Abend habe einen Spanischkurs. Am Samstag Nachmittag besuche ich meine Großeltern und ab Sonntag fahre ich für eine Woche in Urlaub auf Sylt. Am Freitag habe ich aber den ganzen Tag frei. Treffen wir uns im Cafe “Luxus” um fünf? Hast du da Zeit?
Ich freue mich schon auf Freitag.
Liebe Grüße


17


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l17/index.php

in + Dativ
Wann ist die Pause?
in 5 minuten
in einer Stunde
in einem Tag
in einem Jahr

mit + Dativ

Fabian geht mit dem Hut in die Prüfung.
Fabian geht mit der Gitarre in die Prüfung.
Fabian geht mit dem Kursbuch in die Prüfung.
Fabian geht mit den Blumen in die Prüfung.

der -> dem mein -> meinem
die -> der mein -> meiner

seinem Hut
seiner Gitarre
seinem Kursbuch
seinen Blumen
meinen Blumen
ihren Blumen

ohne + Akkusativ

der -> den mein -> meinen

Cherry geht ohne den Hut / meinen Hut in die Prüfung.
die Gitarre / meine Gitarre
das Kursbuch / mein Kursbuch
die Blume / meine Blumen

Was nehmen Sie in den Urlaub mit?
Ich fahre mit meinem / dem Handy in den Urlaub.
Ich fahre ohne meinen / den Wecker in den Urlaub.

Fabian will lieder macher werden.
Ich möchte … (Beruf) weden.

Ich will ein Auto kaufen.
Ich will durch Europa reisen.

BEWERBUNG (application)

anmelden (register)
lesen
bekommen

schaffen (accomplsih)

abschließen (finish, complete)

beginnen

finden aufnehmen

bestehen

werden

Im Sommer hat Sofie ihre Ausbildung als Friseurin abgeschlossen.
Sie hatte große Angst vor der Prüfung.
Aber zum Glück hat sie die Prüfung geschafft.
Jetzt möchte sie endlich Geld verdienen.
Dann möchte sie mit ihrem Freund Johnny ein Motorrad kaufen und durch Europa fahren.
Zuerst macht sie aber noch den Führerschein.
Sie möchten durch viele Länder reisen, die Welt und andere junge Leute kennenlernen.
In ein paar Jahren möchten sie und Johnny heiraten und Kinder haben.

WÜNSCHE UND PLÄNE

Welche Wünsche hast du?

Welche Wünsche haben die Leute?

Ich will …

auf keinen Fall dick werden.
bald heiraten.
endlich wieder ohne Krücken gehen.
Karriere machen.
ein Fest nur für Frauen machen.
nicht wie meine Mutter werden.
Musik studieren.
wenig arbeiten und viel Geld verdienen.
mit dem Zug durch Europa fahren.
Model werden.
reich werden.
Tierärztin werden.
Pause machen.

WOLLEN UND KÖNNEN

Cherry will unbedingt Sängerin werden.

Sara und Felix wollen auf keinen Fall heiraten.

Nächstes Jahr will ich meine Ausbildung abschließen.

Wir wollen unbedingt die Führerscheinprüfung schaffen.

Dann können wir mit dem Motorrad durch Europa reisen.

Vielleicht will Jan Liedermacher werden.


18


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l18/index.php

die Krankheit | die Krankheiten | hastalık
die Gesundheit | sağlık
die Fähigkeit | die Fähigkeiten | ability

das Thermometer | die Thermometer
die Hand | die Hände

husten

wehtun | Schmerzen haben

ich tue weh
du tust weh
er tut weh

wehgetan (PII)

bleiben (stay)

nicht mehr: Ich habe medikamente genommen und jetzt geht es mir gut. Das fieber ist weg, also es ist nicht mehr da.

immer noch: Ich habe seit zwei Tagen Fieber und jetzt auch. Es ist nicht weg. Ich habe Medikamante genommen aber es ist immer noch da.

die Ambulanz
die Notaufnahme | emergency
Arzt
Hausarzt

Geben X Nemen

Geben Sie ihm diesen Tee! -> Befahl, Empfehlung, Ausrufezeichen

Geben Sie ihm diesen Tee? -> Ja, Nein Frage, Fragezeichen

Trinken Sie viel wassar bitte!

Trinken Sie Tee?

Gehen Sie zum Arzt!

Gehen Sie zum Arzt?

Geben Sie ihm doch diesen Tee!

Schwester
die Nonne | die Nonnen das Kraut | die Kräuter | herbal
die Blumen
der Korb | die Körbe

das Kloster | die Klöster | manastır
Klosterladen

Sie trägt die Körbe.

Die Nonne liebt in das Kloster
Kommen Sie mit

krank X gesund (seid)
Ich bin krank. Ich bin gesund.

Kopfscmerzen haber

Ich gehe zum Arzt.

Schmerzen geschrieben:
Mein Kopf tut weh

Ratshläge geben:
Welche Ratshläge gibt Schwester Angelika den Leuten?
Imperativ
Bleiben Sie doch im Bett!
Geben Sie ihm doch diesem Tee!
Trinken Sie (doch) viel Tee!
Gehen Sie (doch) zum Arzt!

Was hat Schwester Angelika gesagt?

Sie sagt, du sollst im Bett bleiben.
Sie sagt, du sollst diesen Tee trinken.
Sie sagt, ich soll viel Tee trinken.
Sie sagt, ich zum Arzt gehen.

über Krankheiten sprechen:
Gegen Bauchschmerzen trinke ich …

sollen -> Modalverb | should

Ich soll dir diesen Tee geben.

Du sollst diesen Tee trinken.

sollen soll sollst soll sollen sollt sollen

der Ratschlag | die Ratschläge | advice, suggestion

der Ratgeber | die Ratgeber | advisor
die Ratgeberin | die Ratgeberinnen | advisor

Wortfeld

Körperteile

Gehen Sie zum Arzt!

der Doktor | die Doktoren
der Arzt | die ärzte
die Apotheke | die Apotheken
das Medikament | die Medikamente
das Rezept | die Rezepte | ein Rezept verschieben
die Praxis | die Praxen
der Husten | die Husten | Husten haben das Fieber | die Fieber
der Schnupfen | die Snupfen | Meine nose löft
der Schmarz | die Schmerzen
die Tablette | die Tabletten
die Salbe | die Salben
das Pflaster | die Pflaster

der Arm | die Arme | arm
das Bein | die Beine | leg

Er hat keine Schmerzen in den Armen und Beinen
Das Fieber ist nicht sehr hoch.
Er hustet gar nicht.
Er hustet sehr viel.
Mein Kopf tut immer noch weh.
Mein Kopf tut nicht mehr weh.
Das Fieber ist immer noch hoch.
Das Fieber ist nicht mehr hoch.

bleiben
bleiben im Bett

das Skelett | die Skelette
das Teil | die Teile
der Körper | die Körper

der Kopf | Head
der Hals | Throat
der Rücken | Back
die Brust | Chest
der Bauch | Stomach
der Arm
die Hand
der Finger das Bein | Leg der Fuß
das Knie
das Ohr | Ear
das Auge | Eye
der Zahn | Tooth | Zahnarzt die Nase
der Mund | Mouth

Rund um die Gesundheit

Telefongespräch

  • Hallo Lea, ich kann heute leider nicht zum Schwimmen kommen. Ich muss absagen.
  • Warum denn?
  • Ich bin krank
  • Oh, was hast du denn?
  • Ich habe Kopfschmerzen und ich huste
  • Oh, das tut mir leid. Hast du auch Fieber ?
  • Ja, es ist nicht sehr hoch. Aber gut geht es mir nicht. Und meine Arme und Beine tun mir auch weh
  • Ach Mensch! Wie schade!
  • Ja, das finde ich auch. Also ich bleibe im Bett.

Ratschläge (advice)

Ihr Nachbar arbeitet ein halbes Jahr nicht. Geben Sie ihm Ratschläge mit “doch”. Ä, ö, ü können Sie auch ae, oe, ue schreiben.

durch Europa reisen -> Reisen Sie doch durch Europa!
ins Ausland gehen -> Gehen Sie doch ins Ausland!
ein Instrument lernen -> Lernen Sie doch ein Instrument!
den Motorradführerschein machen -> Machen Sie doch den Motorradführerschein!
noch eine Fremdsprache lernen -> Lernen Sie doch noch eine Fremdsprache!

Wie essen wir gesund?

Der Ernährungswissenschaftler T. Lohmann sagt: “Essen Sie, was Sie wollen.” Sie haben viel zum Thema Essen gelernt und gelesen? Vergessen Sie es! Es ist nicht wichtig. Es gibt keine gesunden und auch keine ungesunden Lebensmittel. Wir sollen fünfmal am Tag Obst und Gemüse essen? “Nicht unbedingt”, sagt T. Lohmann. Möchten Sie Obst und Gemüse essen und schmeckt es Ihnen? Schön, dann essen Sie es. Sie möchten eigentlich gerade gar kein Obst und Gemüse essen? Dann sollen Sie es auch nicht tun.
Und wie essen wir dann gesund?
T. Lohmanns Ratschlag lautet: “Ihr Körper weiß es.” Sie frühstücken immer morgens um 7.00 Uhr? Das sollen Sie nicht tun. Essen Sie nicht zu festen Zeiten! Fragen Sie immer Ihren Körper: habe ich gerade Hunger?
Und was sollen wir essen?" Auch das ist ganz leicht. Fragen Sie sich: “Was möchte ich gerade gern essen?” Unser Körper braucht viele verschiedene Nahrungsmittel und kann uns immer sagen, was gut für ihn ist.

Gehen : yayalar için gehen links
Fahren: araçlar için fahren links

an die …straße

die zahnpasta | diş macunu

Was tut dir weh?
Was tut Ihnen weh?
Mein Kompf tut weh. | Ich habe Kopfschmerzen. | Mir tut der kompf weh.

Was fehlt dir?
Was fehlen Ihnen?

der Witze:
Meine nose läuft.
Dann halt sie doch fest. (fest halten)

das Heilkraut | die Heilkräuter
die Naturmedizin

glauben an Gott
glauben an Naturmedizin
Ich glaube (nicht) an Naturmedizin.

die Erkältung
die Grippe
die Warmflasche | sıcak su torbası

Ich gehe warmduschen. | Ich dusche warm. | Ich nehme eine warm dusche.

Warmduscher | looser Mimose

Schau mal, hier sind die Fotos von früher: Da war mein Bruder, ich war sechs und meine Schwester war zehn Jahre alt. Ich hatte schon ein Fahrrad und war sehr glücklich mit meinem Rad! Mein Bruder und ich waren immer fröhlich und wir zwei hatten immer viel Spaß. Aber meine große Schwester war immer nur mit ihren Freundinnen zusammen. Die waren nicht so sympathisch und haben nie mit uns gespielt.

Warum hast du dich bei Simon nicht entschuldigt?
Haben Sie die E-Mail von Professor Klüger schon bekommen?
Wie hat Ihnen das Konzert gefallen?
War das Essen wirklich schlecht? Hast du dich beschwert?
Ich muss noch einmal ins Büro gehen. Ich habe mein Handy vergessen.
Das Auto hat mir früher gehört.


19


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l19/index.php

über etwas sprechen

über etwas / Thema / Nachbarin / das Buch / das Bild / Leute sprechen

So war Walter früher.

sein + adj

1990 -> Er war dick. Er hatte keine Bart. Er hatte kurze haare. Er war klein.
2018 -> Er is dünn. Er hat eine Bart.

das Harr | die Harre

Ich bin gegangen.
Ich bin gelesen.
Ich war. | Ich bin gewesen.
Ich hatte. | Ich habe gehabt.

aussehen (trenbare verb)
Sie sieht hübsh aus.
Wie sieht er aus?
Wie finden Sie er?

das Aussehen | outlook

Nicht trenbare verben:
be-
ver-
er-
ent-
miss-
zer-
emp-
ge-

verlieren | verloren (to lose)
wehtun | wehgetan (to hurt)

Mein Arm hat mir wehgetan.

Präteritum von haben und sein

Schau mal, hier sind die Fotos von früher: Da war mein Bruder 4, ich war sechs und meine Schwester war zehn Jahre alt. Ich hatte schon ein Fahrrad und war sehr glücklich mit meinem Rad! Mein Bruder und ich waren immer fröhlich und wir zwei hatten immer viel Spaß. Aber meine große Schwester war immer nur mit ihren Freundinnen zusammen. Die waren nicht so sympathisch und haben nie mit uns gespielt

Perfekt von nicht trennbaren Verben

sich entschuldigen - gehören - gefallen - beschweren - vergessen - bekommen

Warum hast du dich bei Simon nicht entschuldigt?
Haben Sie die E-Mail von Professor Klüger schon bekommen?
Wie hat Ihnen das Konzert gefallen?
War das Essen wirklich schlecht? Hast du dich beschwert?
Ich muss noch einmal ins Büro gehen. Ich habe mein Handy vergessen.
Das Auto hat mir früher gehört.


20


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l20/index.php

runter X auf (down X up)

runterfallen
runtergehen X raufgehen
runtersehen X raufsehen

Komm soft runter!

raus X rein (out X in)

rausbringen X reinbringen

Putzfrau

Informel Imperativ

Du deckts den Tisch -> Deck den Tisch!

Ihr deckt den Tisch -> Deckt den Tisch!

Du machst das Bett -> Mach das Bett! Mach bitte das Bett!

Ihr macht das Bett -> Macht das Bett! Macht bitte das Bett!

Du Ihr
Schlaf! Schlaft!
Du schläfst viel -> Schlaf nicht zu/so viel Ihr schlaft viel -> Schlaft nicht viel
Du räumst aus -> Räum aus Ihr räumt aus -> Räumt aus
Sei! Seid!
Du bist fleißig -> Sei fleißig Ihr seid fleißig -> Seid Fleißig
Hab! Habt!
Hab keine angst Habt keine angst
Seid leise bitte
Seid loud bitte

Drei Imperativ
Du | Ihr | Sie

decken Imperativ
decke
Du deckst Deck!
deck
decken
Ihr deckt Deckt!
Sie decken Decken Sie bitte!

Du deckts den Tisch -> Deck den Tisch
Ihr deckt den Tisch -> Deckt den Tisch
Sie decken den Tisch -> Decken Sie bitte den Tisch (formel)

schlafen (vokal wechsel a -> ä) -> du schläfst (ä -> a) -> schlaf

du schläfst -> schlaf

fahren -> du fährst -> fahr

sprechen -> du scprichst > sprich

lesen -> du liest -> lies
lesen -> ihr lest -> lest

essen -> Sie essen -> Essen Sie!
essen -> ihr esst -> Esst!
essen -> Du isst -> Iss!

ausräumen -> du räumst aus -> Räum aus!
schlafen -> Du schläfst -> Schlaf!
vergessen -> vergisst -> vergiss

still sein = leise
aufpassen -> Pass auf!
aufpassen -> Passt auf!

Geduld haben (patience)

treffen + Wen akkusativ

Ich habe meinen Vater getroffen.
Ich habe meine Mutter getroffen.
Ich habe einen Freund getroffen.

Ich treffe ein Freund.
Ich habe Ali getroffen.

Alex putzt das Bad.
Er putzt es.

Subj + Verb + Akk Obj

Sara ruft Peter an.
Sie ruft ihn an.

Vergiss es.

günstig / billig X teuer
freiwillig X unfreiwillig

Was sollen Carla und Tim im Haushalt machen?

Tim, reparier bitte Carlas Fahrrad!
Bring den Abfall raus.
Carla, räum bitte unbedingt dein Zimmer auf
Wasch bitte die Wäsche!
Tim und Carla, Putzt bitte die Fenster in der Küche!
Geht zusammen einkaufen! Und schickt mir mal eine E-Mail.
Ich vermisse euch schon jetzt!
Eure Mama

Imperativ du ihr
gehen Geh Geht
schicken Schick Schickt
reparieren reparier repariert
rausbringen bring raus bringt raus
putzen putz putzt
aufräumen räum auf räumt auf
waschen wasch wascht

Personalpronomen im Akkusativ

  • Die Tür ist auf. Kannst du sie bitte zumachen?
  • Ja gerne.

  • Susanne und Peter, habt ihr am Samstag Zeit? Ich möchte euch zum Essen einladen.

  • Wo ist Dominik? Ich habe ihn nicht gesehen.
  • Er ist bei Max.

  • Wann kommt ihr?
  • Um 13.34 Uhr.Kannst du uns bitte abholen?

  • Die Verbindung ist so schlecht, Daniel. Ich kann dich nicht hören.

  • Deine Eltern haben angerufen.
  • Wirklich? Ich rufe sie gleich zurück.

Personalpronomen

Nominativ Akkusativ
Ich mich
du dich
er ihn
sie sie
es es
wir uns
ihr euch
sie / Sie sie / Sie

Hallo …..,
dein Angebot finde ich toll. Ich heiße Gert, bin 27 Jahre alt und studiere Architektur. Und ich bin (nicht/sehr) ordentlich und putze (oft/selten) und (gründlich/ oberflächlich). Ich koche wahnsinnig gern. Dein perfekter Mitbewohner also!
Ich freue mich schon auf Deine Antwort.
Liebe Grüße

Liebe …,
deine Wohnung ist im Zentrum und sieht sehr gut. Das Zimmer gefällt mir.
Ich heiße Serdar und bin 38 Jahre alt. Für sechs Monate in Ankara möchte Ich ein Ausbildung machen.
Ich kann nicht kochen gut aber ich kann die Spülmaschine ein und ausräumen. Ich putze die Küche gern, ich staubsauge und wische den Boden.
Ich bin sehr ordentlich und leise.
Ich freue mich schon auf Deine Antwort.
Viele Grüße


Hab keine angst!



21


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l21/index.php

erlaubt X verbaten (izinli X yasak)

hupen (korna)

der Fußgänger | die Fußganger
der Fahrradfahren | die Fahrradfahren
der Straßenverkehr | die Straßenverkehr
die Ampel | die Ampeln
der Bürgersteig | die Bürgersteig

zu Fuß gehen

Als Autofahrer fahre ich immer bei Grün über die Ampel.
Zu Fuß gehe immer / nie bei Rot über die Ampel.

Mit dem Auto fahre ich …
Mit dem Fahrrad fahre ich nie bei Rot über die Ampel.

Bei grün in Ampel gehen ist erlaubt.

Die Kinder hier spielt an der Straße.
Die Kinder darf aber nicht neben der Straße spielen.
Die Eltern muss auf Kinder achten.

Die familie hier grillen.
Man darf nicht grillen in den Park.
Man darf im Pool nicht Wasser trinken.

Der Ampelmann

ie Regeln für Ampeln sind einfach. Bei Rot müssen Sie stehen bleiben, bei Grün dürfen Sie gehen.
Autofahrer und Fahrradfahrer müssen auf Ampeln achten - und natürlich auch auf Fußgänger.
Die Ampeln für Fußgänger sehen aber besonders aus:
Sie haben einen “Ampelmann”. Dieser Ampelmann ist in Deutschland sehr bekannt. Es gibt ihn seit 1961, er ist also über 50 Jahre alt.
Viele Länder haben einen Ampelmann. Sie sehen verschieden aus.
Manchmal ist er dick oder dünn, manchmal schiebt er ein Fahrrad oder trägt einen Hut, und manchmal gibt es auch eine Ampelfrau.

Modelverben

können - wollen - sollen - dürfen - müssen

Wir müssen früh aufstehen. Die Prüfung fängt schon um 7.00 Uhr an.
Ich kann heute leider nicht kommen. Können wir den Termin verschieben?
Sara will unbedingt ihren Führerschein machen, aber sie darf noch nicht. Sie ist erst 16.
Du musst noch abwaschen. Heute Abend haben wir Gäste.
Die Ärztin sagt, ich soll viel schlafen, aber ich will tanzen gehen.

  • Kannst du Tennis spielen?
  • Ja, aber ich darf im Moment nicht spielen. Ich habe Probleme mit meinem Rücken.

  • Willst du heute mit mir Fußball spielen?
  • Nein, ich habe leider keine Zeit. Ich muss arbeiten.

  • Der Doktor sagt, du sollst viel trinken.
  • Ich habe aber keinen Durst.

  • Darf ich hier rauchen?
  • Nein, tut mir Leid. Das ist hier nicht erlaubt.

  • Ich muss heute noch Hausaufgaben machen. Kannst du mir helfen?
  • Ja, kein Problem.


22


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l22/index.php

verrücht (crazy)
bunt (colorful)

Mottoparty ()

anhaben -> Was hat Fabian an?
tragt -> Was trägt Fabian?

anhaben + Akkusativ

tragen + infinitiv

Er trägt eine Hose. Die Hose ist kurz.

Was hat mädchen links neben / von ihm?

Ich finde das T-shirt besser als …
Ich finde Alis briller besser als Velis (brille).

Regel: genauso + Adjektiv + wie
++ -> ++
+ -> +

Janas Hose gefällt mir genauso gut wie ihre Bluse.
Janas Hose (Nominativ) gefällt mir (Dativ) genauso gut wie ihre Bluse (Nominativ).

Ich mag Pizza genauso gern wie Sphagetti.

Regel: Komperativ + als
++ -> +

Ich finde Fabians Hase besser als sein Hemd.
Ich mag Tee lieber als Kaffee.

Wen + Akk

gut gefallen
gut finden
gern mögen

Ich finde Harrys Kostüm besser als Fabians (Kostüm).
Veras Kleid gefällt mir besser als Jasmins.
Ich mag lila genauso gern wie rosa.

Ich finde Fabians Kostüm gut.
Subj Nominativ Verb Pos 2 Akk Obj

Fabians Kostüm gefällt mir.
(Sub Nominativ Wer? + Verb + Dativ)

Ich mag Fabians Kostüm.
(Subj + Verb + Akk Obj)

Komparativ und Superlativ

Peters Haus ist größer als Kais Haus, aber am größten ist Pauls Haus.
Peters Haus ist kleiner als Pauls Haus. Am kleinsten ist Kais Haus.
Kais Haus ist am ältesten. Pauls Haus ist am modernsten.
Pauls Haus kostet viel. Am billigsten ist Kais Haus.
In Kais Garten gibt es mehr Bäume als in Pauls Garten. Kais Garten ist viel schöner

Der Hut gefällt mir besser als die Mütze.
Schau mal, die Bluse kostet genauso viel wie das T-Shirt.
Die Jacke finde ich schöner als den Mantel.
Die Hose finde ich nicht schön. Nimm doch die Jeans hier. Die finde ich viel besser als die Hose.
Ich mag T-Shirts genauso gern wie Blusen.

-nach s-, d- t-, ss- , ß-, sch-, s-, z-

-esten größten

Ist NY so groß wie Hongkong?

-Nein ,NY ist nicht so groß wie HK.

HK hat aber meher Einwohner als HK.

HK hat weniger Einwohner als NY.

dunkel-dunkler-am dunelsten

lang - länger - am längsten

gut - besser - am besten

hoch - höher - am höchsten

teuer - teurer-am teuersten

schnell-schneller-am schnellsten

viel-mehr-am meisten

gern-lieber-liebsten


23


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l23/index.php

  • Natascha und Ella singen und schreiben Lieder.
  • Sie würden gern eine CD machen.

  • Klaus hat kein Auto.
  • Aber er würde gern den Führerschein machen.

  • Meine Tochter fährt gern Motorrad.
  • Ich würde ihr gern ein Motorrad schenken.

  • Am Freitag spielt unsere Lieblingsband in Berlin und es gibt keine Tickets mehr.
  • Wie schade! Wir würden gern zum Konzert gehen.

  • Ich war noch nie in Deutschland.
  • Ich würde gern Berlin besuchen.

Zeitpräpositionen

Am Mittwoch hat Isabella Prüfung. Wir treffen uns um 17.00 vor der Schule und wollen ihr gratulieren.

Frau Stern hat am 17. August Geburtstag. Von 15.00 Uhr bis 16.00 Uhr gibt es Kaffee und Kuchen in ihrem Büro.

im Juli hat Herr Bellmann Urlaub, vom 5. Juli bis zum 19. Juli

nach dem Urlaub zieht er dann mit seiner Familie um.

in vier Wochen ist schon wieder Weihnachten. Und ich habe noch keine Geschenke.

ab Montag bin ich für drei Wochen im Urlaub.

Anrede – Liebe … (weiblich)/ Lieber … (männlich), Briefanfang – ich freue mich sehr auf die Einladung zum deiner Geburtstagsparty. Herzlichen Glückwunsch!, Brieftext – Ich hätte hier eine Frage: Soll ich etwas mitbringen?, Briefschluss – Liebe/ Viele/ Herzliche Grüße, Unterschrift – Name des Absenders

Sie bekommen eine Einladung von Josh Weller aus dem Fachschaftsrat an Ihrer Universität.

Lesen Sie die Einladung und schreiben Sie eine Antwort.

Bielefeld, 15 Juni 2013

Liebe Studentinnen und Studenten ,

am 28. Juli wollen wir das Semesterende feiern.

Wie jedes Jahr wollen wir ein Picknick machen und natürlich viel Spaß haben. Dieses Jahr haben wir auch ein Programm vorbereitet.

Wir freuen uns schon sehr!

Wir treffen uns um 10.00 Uhr am Hauptbahnhof und fahren mit Bussen an den Kalmbacher See. Macht ihr auch dieses Jahr mit? Bitte gebt uns bis zum 30. Juni Bescheid.

Viele Grüße

Josh Weller

Schreiben Sie einen Text von 50 Wörter zu den drei Punkten.

  • Danken Sie für die Einladung.

  • Sagen Sie: Sie kommen gern zum Fest.

  • Fragen Sie: Sollen Sie etwas mitbringen?

Tipp: Sie möchten einen Brief schreiben. Was ist besonders wichtig? - Vergessen Sie nicht das Datum, die Anrede und den Gruß. - Überlegen Sie vor dem Schreiben: Kenne ich die Person gut? Soll ich “du” oder “Sie” sagen? - Schreiben Sie zu jedem Punkt 1-2 Sätze.

Jahreszeiten

Ins Wasser gefallen ?

Pfütze,n Wohnmobil der Wohnwagen das Zelt das Wetter unmöglich campen zelten

die Sonne der Schnee der Regen die Wolke der Wind der Nebel das Gewitter Der Donner der Blitz der Sturm.-stürmig der Grund,’e

Südtirol zwei Grad nicht weit genug Hausdach Zum Glück haben wir noch am selben Tag selben Tag = gelichen Tag Glück X Pech brauchbaren farblos Traumwetter Schwarzwald

Der Norden Der Westen Der Süden der Osten

Niemals ohne seife waschen!!

wolkenlos arbeitlos

Wir hatten Lust auf Frühling.

Wie ist das Wetter ? der Winter der Herbst Der Sommer Der Frühlig

Es Regnet.—der Regen Es schneit.—das Schnee Es ist sonnig.–die Sonne Es ist windig.–der Wind Es ist bewölkt.–die Wolke Es ist neblig.–der Nebel Es donnert un blitzt..–das Gewitter

Es ist warm Es sind 25 Grad.

Es ist kalt.Es sind minus -2 Grad.

Es ist kühl.Es sind plus + 8 Grad.

In Herbst ist es kalt. || Im Herbst ist es kühl.

                      Im Früglig regnet es.

Unser Ziel war Südtirol,denn dort ist es im März schon oft sehr warm. Leider waren wir nur ein paar denn dann ist d Unwetter gekommen. Es war perfekt,denn wir hatten ein Traumwetter. Nächstes Jahr fahren wir lieber ans Mittelmeer,deen dort ist es auch im Herbst noch schön warm.

da ist es immer so windig.Ich möchte lieber im Cafê in der Sonne sitzen

Hier es regnet schon seit dre Tagen schon,seit drei Tagen.

Wir haben wunderschönes Frühlingswetter.Es ist warm und sonnig.

In den Bergen ist es kalt und es gibt viel schnee.

Heute Nachmittag gibt es Gewitter.


24


https://hueber.de/shared/uebungen/menschen/kb/a1/livebook/l24/index.php

Welches Datum war gestern/vorgestern/voreiner Wocher?

Gestern / Vorsgestern / Vor einer Woche

Welches Datum ist heute /morgen /übermorgen / in einer Woche ?

Heute /Morgen/Übermorgen/In einer

Woche ist der ……

Welche datum war Mittwoch for einer Woche

Welche datum ist nächsten Freitag.

Heute ist der siebste August.

Heute ist der siebste Achte

Ich fahre am achten August/Achten nach Berlin

Ich fahre vom sechzehnten bis(zum) dreiundzwanzigsten August/Achten nach Berlin.

Welcher Tag ist heute ?

-der achtundzwanzigste Februar.

Ich würde gern mit der feiern.

würden ıch | würden du | würdest er/sie/es | würde wir | würden ihr | würdet sie/Sie | würden

Ich würde dich gern ins Kino einladen.

Ich würde gern viel Geld haben.

Wir würden das gern mit dir feiern.

Ich würde gern Glüklich sein.

Was würden Sie am liebsten jeden Tag machen ? +Ich würde gern jeden Morgen spät aufstehen

Am liebsten würde ich jeden Tag schwimmen gehen.Ich würde gern um die Welt.

Ich würde gern mit dir in einer Altbauwohnung wohnen.2 zimmer , Küche ,Bad und einem (und’nem) kleinen Balkon.

Ich muss Benzin kaufen.

Ich muss unbedingt Benzin kaufen. –nicht sofort.

das Geschenk,e

die Einweihungsparty,s

die Tradition,en

das Brot,e

das Salz,e

Weihnachten

das Ostern

die Prüfung,en

bestanden

die Einweihungsparty,s

das Silvester

der Karneval

die Hochzeit,en

das Neujahr

der Geburstag,e

das Geschenk,e

das Band die Band der Band

das Geschankband,’’er
das Schere,n schneiden einpacken das Geschenkpapier,e das Examen,-
die Examina
feiern

1-6 1-sehr gut 2-gut 3-befriedigen 4-Gusreichend 5-mongelhaft 6-unganügend


A2

https://hueber.de/shared/uebungen/menschen/kb/a2/menu.php

https://www.hueber.de/media/36/Menschen_Loesungen_AB_A2.pdf


1


Mein Opa war auch schon Bäcker.

die Brezel | die Brezeln

klappen

kompliziert

der Teig | die Teige

das Studium

das Einrad | die Einräder

das Fußballbild | die Fußballbilder

klettern

übernachten

das Skateboard | die Skateboards

die Süßigkeiten

auf Bäume klettern
Comics lesen
Computerspiel spielen
draußen übernachten
Einrad fahren
Sachen auf dem Flohmarkt verkaufen
mit Puppet spielen
Geschicten erzählen
Fußballbilder sammeln
zeichnen
Witze erzählen
Süßigkeiten essen
Skateboard fahren

der Ausschnitt | die Ausschnitte
der Bäcker | die Bäcker
die Bäckerin | die Bäckerinnen
der Cousin | die Cousins
der Neffe | die Neffen
die Nichte | die Nichten
der Schwiegersohn | die Schwiegersöhne
der Schwiegervater | die Schwiegerväter

übergeben

die Zigarette | die Zigaretten

verrückt (sein)

wachsen

der Judenliche | die Judenlichen
die Kindheitserinnerungen
Familienheitserinnerungen
die Lieblingsdisco | die Lieblingsdiscos
die Sekunde | die Sekunden
das Wahrheitsspiel | die Wahrheitsspiele

aufmachen
der Schluss
zum Schluss

die Abstimmung | die Abstimmungen

das Ereignis | die Ereignisse

die Familiengeschichte
Familiengeschichten erzählen
die Geschichte | die Geschichten

streiten | haben gestritten (to fight)
Glück haben
rufen | haben gerufen
hören | haben gehört
sagen | haben gesagt
bestehen | haben bestanden (to pass)
besuchen | hat besucht (to visit)
umziehen | haben umgezogen (to move)

Meine Schwester und ich haben als Kinder viel gestritten.

Es gab ein Unwetter, aber wir hatten Glück. Es ist nichts passiert.

Ich habe dich gerufen, aber du hast mich leider nicht gehört.

Jan hat mir gesagt, Alina hat ihre Prüfung bestanden.

Letzte Woche haben wir Xaver und Michele besucht. Sie sind umgezogen.

Kolja, habe ich dir schon von meinem Cousin Fridolin erzählt?
Nach der Schule hat er zuerst eine Ausbildung als Friseur gemacht. Er war immer fleißig und hat schon mit 18 Jahren einen eigenen Friseursalon aufgemacht. Er hat viel Geld verdient und sein Geschäft ist viel gewachsen.
Und weißt du, was dann passiert ist? Eines Morgens hat er allen erzählt: Ich verkaufe das Geschäft. Er hat aber nicht sofort einen Käufer gefunden.
Zum Schluss hat er das Geschäft einfach geschlossen, ein paar Sachen gepackt und ist nach Alaska geflogen. Heute lebt er dort allein in den Wäldern und ist glücklich.

Also passt auf: …

Und wisst ihr, was … dann gemacht hat?

Wisst ihr, was dann passiert ist?

Er / Sie war schon verrückt / nett / lustig, mein / meine …


2


Wohin mit der Kommode?

umziehen

blöd

ein·richten

renovieren

diskutieren

das Fernsehgerät | die Fernsehgeräte
hängen
das Kissen | die Kissen
verstecken

die Gemeinsamkeit | die Gemeinsamkeiten

Im Zimmer

die Kommode | die Kommoden
die Wand | die Wände
das Regal | die Regale
die Lampe | die Lampen
das Fernsehgerät | die Fernsehgeräte
der Schreibtisch | die Schribetische
der Stuhl | die Stühle
der Tisch | die Tische
der Schrank | die Schränke
der Vorhang | die Vorhänge
das Bett | die Betten
das Kissen | die Kissen
das Sofa | die Sofas
die Couch | die Couchs
der Sessel | die Sessel
der Teppich | die Teppiche

bis: bis hin
das Deckenlischt | die Deckenlichter

direkt X indirekt
dunkel X hell

die Domizil-Redaktion | die Domizil-Redaktionen

die Geschmackssache
das Heft | die Hefte

der Klassiker | die Klassiker
die Kuschel-Ecke

das Möbelstück | die Möbelstücke
das Regal | die Regale

der Romantiker | die Romantiker
die Romantikerin | die Romantikerinnen

die Sofa-Landschaft | die Sofa-Landschaften

gemütlich X ungemütlich

das Urlaub-Souvenir | die Urlaub-Souvenirs

der Spiegel | die Spiegel

das Werkzeug | die Werkzeuge

der Einrichtungstipp | die Einrichtungstipps
Einrichtungstipp geben

der Magazintext | die Magazintexte
der Umzug | die Umzuge

die Wechelpräposition | die Wechelpräpositionen

das Möbelhaus

legen
stellen
hängen

Ich lege die Zeitung auf die Couch.

Wir stellen das Geschirr in die Küchenschränke.

Legst du bitte den Bleistift neben das Papier?

Julia hängt die Lampe über den Tisch.

Im Möbelhaus

Das ist doch ein tolles Bild. Das können wir über das Sofa hängen. Aber bei uns hängen doch schon so viele Bilder über dem Sofa.

Der Teppich ist schön und nicht mal teuer. Den legen wir in das Schlafzimmer. Aber vor dem Bett liegt doch schon ein Teppich.

Da steht eine Kommode zwischen zwei Fenstern. Das sieht gut aus. Ja, hier schon. Aber in unserer Wohnung können wir diese Kommode nicht zwischen die Fenster stellen. Sie ist viel zu groß.

In der neuen Wohnung.

Stell lieber nicht zu viele Möbel in das Zimmer. Sonst …

( lieber nicht zu viele Möbel in das Zimmer stellen / sonst Raum noch kleiner werden) ( einen Spiegel an Wand hängen / dann Raum größer aussehen) ( vorsichtig sein mit dunklen Möbeln)


3


Hier finden Sie Ruhe und Erholung

Grüzei mitenand
Tach

“Tach” und “Grüzei mitenand” bedeutet “Guten Tag”.

die Region | die Regionen
das Dorf | die Dörfer
der Froch | die Fröche
der Hügel | die Hügel (hill)
die Katze | die Katzen
die Pflanze | die Pflanzen

Ich mache eine Fahrt durch die Dörfer | über die Hügel.

der Strand | die Strande (beach)
das Ufer | die Ufer (river bank)
der Vogel | die Vögel
der Wald
der Fisch | die Fische
der Hund | die Hunde

aktiv
Ich bin sportlich aktiv

anders gehen

der Anfänger | die Anfänger (beginner, amateur)
der/die Fortgeschrittene | die Fortgeschritennen (advanced learner)

die Anfängerin | die Anfängerinnen
die Anstrengung | die Ansterngungen (effort)
die Ausrüstung | die Ausrüstungen (equipment)
außerdem (also, in addition)
der Bauernhof | die Bauernhofe (farm)

beraten (advice)
die Beratung | die Beratungen (consultation)
der Bergkräuterre | die Bergkräutertees (çiçek çayı)
der Bodensee (Lake Constance)
der Campaignplatz | die Campaignplätze
der Einkaufsbummel

enden

entlang (alongside)

die Entspannung (relaxation)
die Erholung (rest)
die Erfahrung (eperience)
der Extra-Service
der Großstadt-Fan | die Großstadt-Fans

hellgrün (açık yeşil)

hinunter (down)
den Fluss hinunter (down the river)

ideal

das Inntal (Valley of Inn)

der/das Kajak | die Kajaks (kano)
das Kite-Surfen (windsurf)
die Landschaftsreise | die Landschaftreisen
die Städtreise | die Städtreisen
die Motivation | die Motivationen

die Naturliebhaberin | die Natürliebhaberinnen

offen (sein)

quacken

das Salzhaff | die Salzhaffe / Salzhaffs (ein durch von der Ostsee)

die Schweizer Alpen

die Segel-Schule
die Surf-Schule | die Surf-Schulen
der Spreewald (the Green Venice near Berlin)
der Stadtbummel (şehir turu)

Stopp!

das Superangebot | die Superangebote (super offer)
die Surf-Mode
der Top-Preis | die Top-Preise
die Tour | die Touren
die Velo-Tour | die Velo-Touren (bicycle tour)
der Velovermieter
der Wanderer | die Wanderer (hiking man) die Wanderin | die Wanderinnen
die Wanderung
das Wesserwandern
der Werbetext | die Werbetexte (adversiting text)

worauf (whereon)
Worauf wartest du noch?

die Mode | die Moden
die Mitte | die Mitten (middle)

in sein
Kite-Surfen ist gerade in (Windsurf is just in)

das Stichwort | die Stichwörter (keyword)

der Trend | die Trends

die Geschäftsidee | die Geschäftsideen
der Reiseveranstalter (seyhat oragnizatörü)
Veranstalter(in) (organizatör)
der Rodel (kızak)
die Schlittenfahrt | die Schlittenfahrten (kızak kaymak)
die Shikurs | die Shikurse

ausdrücken (yazdırmak)
bewerten (değerlendirmek)
buchen
touristisch

überhaupt (eninde sonunda) X überhaupt nicht (asla)
Mir gefällt das Angebot überhaupt nicht

die Vorliebe | die Vorlieben (eğilim)
die Werbebroschüre | die Werbebroschüren (reklam broşürü)

50er-Jahre
auswandern
besitzen (to possess)
das Börek

erraten (to guess)

der Hautarzt (dermatologist)
die Hauartzin
die Medizin

mütterlicherseits (anne tarafı)
vaterlicherseits (baba tarafı)

verbringen | verbracht (spend time)

der Zwilling | die Zwillinge (twins)

stolz (auf) (proud)
Ich bin sehr stolz auf meine Familie.

das Jobangebot | die Jobangebote (job offer)
der Schlüsselbund | die Schlüsselbunde
der Schlüsseldienst | die Schlüsseldienste (çilingir)

der Glückbringer
das Pech
die Scherbe | die Scherben (broken fragment)
Scherben bringen Glück

emigrieren
das Heimatland | die Heimatländer (homeland)

der Kaufmann Kaufleute
die Literatur | die Literaturen
der Nobelpreis | die Nobelpreise
der Professor | die Profesoren
die Professorin | die Professorinnen
der Roman | die Romane der Schriftsteller (author)
die Schriftstellerin
der Untertan https://de.wikipedia.org/wiki/Der_Untertan

der Gartenzwerg | die Gartenzwerge
die Gartenzwergfrau | die Gartenzwergfrauen
die Gartenzwergin | die Gartenzverginnen
der Gartnezwergmann | die Gartenzwergmänner
das Pupenhaus | die Pupenhäuser
die Unterwelt | die Unterwelten (underworld)

Das Angebot gefällt mir

Welches Angebot gefällt Ihnen am besten?

Wie finden Sie die Idee? Warum? Würden Sie diese Reise buchen? Warum / Warum nicht?

ganz in Ordnung viele Menschen haben zu viel Stress auf keinen Fall zu langweilig, zu wenig Menschen

Nomen mit -ung

wandern | die Wanderung (to hike, hiking)
erfahren | die Erfahrung (experience)
anstrengen | die Anstrengung (effort)
beraten | die Beratung (advice)
anmelden | die Anmeldung (register, apply, application)
erholen | die Erholung (rest)

Was war früher anders als heute?
Früher habe ich am Tag 20 Zigaretten geraucht, heute lebe ich gesünder.
Als Kind habe ich mit Puppen gespielt. Meine Tochter findet Computerspiele interessanter.
In unserem Dorf war die Luft früher besser, heute gibt es viele Fabriken.
Meine Großeltern haben auf einem Bauernhof gelebt, wir wohnen in der Stadt.
In meiner Kindheit hatten wir auch kein Fernsehgerät.
Meine Schwiegermutter hat früher mit Holz gekocht, jetzt hat sie einen Herd.
Der Unterricht in der Schule war anders, heute diskutieren die Lehrer mehr mit den Schülern.

  1. Christian kann den Schlüssel nicht finden.

  2. Melanie und Max sind die neuen Nachbarn von Lena und Christian.

  3. Lena und Christian haben sich Hamburg kennengelernt.

  4. Sie sind nach München gezogen, weil Christian ein tolles Jobangebot bekommen hat.

  5. Lena und Christian brauchen doch keinen Schlüsseldienst, weil Max den Schlüsselbund auf der Straße gefunden hat.

  6. Max hilft Lena mit demTisch.

Mit Brot und Salz wünschen Nachbarn Glück im neuen Haus.

Ein zerbrochener Spiegel bedeutet sieben Jahre Pech.

Scherben bringen Glück.

Gefühle beim Umzug

Schreiben Sie einem Freund eine Mail und erzählen Sie ihm, welche Gefühle Sie beim Umzug hatten, und ob Sie von jemand einen Glücksbringsel bekommen haben.

Schreiben Sie mindestens 50 Wörter.

Beginnen Sie so:

Liebe…/Lieber…,

in der letzten Woche bin ich…

Redemittel:

sich auf die neue Wohnung freuen/ der Stress, dass man alles packen und bewegen muss/ ein schlechtes Gefühl, weil man einen Lebensabschnitt hinter sich lässt/ Freunde/ eine bekannte Umgebung

Michael steht um 8.15 Uhr auf. Michael ist um 8.15 Uhr aufgestanden.

Er duscht und putzt sich die Zähne. Er hat geduscht und sich die Zähne geputzt.

Dann kocht er Kaffee und mach Frühstück. Dann hat er Kaffee gekocht und Frühstück gemacht.

Michael isst Toast mit Honig , ein Ei und Müsli. Michael hat Toast mit Honig , ein Ei und Müsli gegessen.

Er liest die Zeitung. Er hat die Zeitung gelesen.

Um 9.30 Uhr geht Michael zur Schule , er zieht seinen Mantel an und holt das Fahrrad. Um 9.30 Uhr ist Michael zur Schule gegangen,er hat seinen Mantel angezogen und das Fahrrad geholt.

Er fährt durch die Stadt und hält am Kiosk. Er ist durch die Stadt und hat am Kiosk gehalten.

Dort kauft er Süßigkeiten und Kaugummi. Dort hat er Süßigkeiten und Kaugummi gekauft.

Um 10.00 Uhr kommt Michael in der Schule an und geht in die Klasse. Alle anderen sind schon da. Um 10 Uhr ist Michael in der Schule angekommen und ist in die Klasse gegangen.Alle anderen sind schon da gewesen.


4


Was darf es sein? How may I help?, Ne vereyim abime :)

die Dose | die Dosen
der Einkaufszettel | die Einkaufszettel (shopping list)
je (each)
das Kilo | die Kilos
die Knoblauchsalami
der Liter | die Liter
die Packung | die Packungen
der Senf (mustard)
die Weintraube | die Weintrauben (grapes)

hungrig X satt

sonst (else, otherwise)

die Banane | die Bananen
der Apfel | die äpfel
die Birne | die Birnen
die Bohne | die Bohnen (fasülye)
das Bonbon | die Bonbons
die Cola | die Colas
der Eistee
der Knoblauch (sarımsak)
das Mehl
der/die Paprika
der Pfirsich | die Pfirsiche
der Quark
die Salami | die Salamis
der Thunfisch | die Thunfische
der Kartoffel | die Kartoffeln
die Tomate | die Tomaten
die Weintraube | die Weintrauben
die Zitrone | die Zitronen
die Zwiebel | die Zwiebeln

die Buttermilch
die Essgewohnheiten (eating habbits)
das Fett | die Fette
fettarm
der Frischkäse
das Gramm
das Kilogram
die Magermilch
die Vollmilch
die Pfeffersalami
das Pfund (500 gr)

roh X gecoht (raw X cooked)

der Supermarkt | die Supermärkte

weich X hart (soft X hard)
weichen Käse
harten Käse

mithilfe

das Einkaufsgespräch
der Obst und Gemüseladen (manav)
der Teeladen (tee shop)
die Wursttheke | die Wursttheken (et reyonu)

der Nerv | die Nerven
Ich habe keine guten Nerven

der Brotkorb | die Brotkorbe (bread basket)

einfach/doppelt Espresso (duble)

der Espresso | die Espressos die Espressi

das Extra | die Extras

das Frühstücks-Café
die Frühstückskarte

der Obsalat | die Obsalate

pressen
Orangensaft, fresh gepresst

das Rührei | die Rühreier (omlet)

die Scheibe | die Scheiben (slice)
eine Scheibe Brot

die Adjektivedeklination nach indefinitem Artikel: einen milden Käse

das Gewicht | die Gewichte

mager (skinny)
Ich hätte gern einen mageren Schinken

mild
Bitte einen milden Käse

die Verpackung | die Verpackungen


5


Schaut mal, der schöne Dom

die Stadtbesichtigung
die Dom-Führung

die Führung | die Führungen

geschlossen

die Kamera | die Kameras
der Prospekt | die Prospekte
der Reiseführer | die Reiseführer
die Reiseführerin | die Reiseführerinnen

der Rudgang | die Rudgänge
Rudgang machen

die Schiffahrt | die Schiffahrten

das Trinkgeld
die Unterkunft | die Unterküfte (place to stay)

wescheln: Geld wescheln

der Tourist | die Touristen

Trinkgeld
Offen
Unterkunft
Rundgang
Interessieren
Sehenwürdigkeit
Taxi

die Führung | die Führungen

besichtigen | besichtigt

abgeben | hat abgegeben (return)

abstrakt (soyut)

ärgern (sich)
Charlotte ärgert sich

berühmt (famous)
bunt (colorful)

das Bussi | die Bussis
dickes Bussi
der Dank (thank)
zum Dank habe ich …
die Facebook-Nachrit

großartig (excellent)
der Höhepunkt (zirve noktası)

lassen | haben gelassen (leave sth)

das Loch | die Locher (hole)
Sie hat dem Reiseführer ein Loch in den Bauch gefragt (soruları ile adamı delik deşik etti)

der Rhein
die Rheinfahrt

das Römisch-Germanische Museum

sehenswert (worth to see)

der/die Süße | die Süßen
Hallo Süße (merhaba şekerim)

wiederfinden | haben wiedergefunden (find again, relocate)

das Brauhaus
das Interesse | die Interessen

die Klosterkirsche

shick
in einem shicken Club

verteilen (spread, distribute)

also gut

beeindruckend (awesome)

der Besuch (visit)

Ich bin in dafür (I favour)

Ich bin dagegen (I am against)

das Filmmuseum

die Gegend (district)

der Keiserdom

meistens (usually)

der Samstagabend

sicher (certainly)

die Planung

berichten (to report, to tell)
einverstanden (okay, agreed)

der Internet-Eintrag (entry)
der Tourismus

Viele Grüße aus Köln

Die Oma schreibt einen Brief an ihren Mann.

Die Mutter schreibt eine Postkarte an ihren Mann..

Die Tochter schreibt eine Facebook-Nachricht an ihre Freundin.

Jutta freut sich am meisten auf den Ausflug mit dem Schiff.

Melanie hat Charlottes Kamera im Hotel abgegeben.

Charlotte ärgert sich: Sie hat ihre neue Kamera im Dom vergessen.

Der berühmte Dom ist wirklich sehenswert

berühmt (famous)
sehenswert (worth seeing)

Nominativ
Mir gefällt/gefallen …
der berühmte Dom
das bunte Fenster
die neue Kamera
die netten Leute

Akkusativ
Ich finde … toll
den alten Dom
das bunte Fenster
die neue Kamera
die netten Leute

Dativ
mit …
dem netten Reiseführer
dem bunten Fenster
der neuen Kamera
den netten Leuten

https://www.koelntourismus.de/

Am Samstagmorgen…/Zuerst…/Mittags…/Am Nachmittag…./Am Abend…./ Und am Sonntag…./Was denkst du?

Ich schlage vor, wir gehen in den Kölner Dom, denn das ist das Wahrzeichen von Köln.

die freundlichen X die unfreundllichen Touristen die schönen X hässlichen Postkarten der geschlossene X geöffnete Supermarkt die langweilige X lustige Stadtführung die lange X kurze Schifffahrt das gute X schlechte Wetter das alte X neue Haus der kurze X lange Brief

Den alten Dom finde ich viel schöner als die moderne Kirche.
In den bunten Prospekten sieht die Stadt viel schöner aus.
Die alte Kamera ist total schwer. Warum hast du denn nicht die neue mitgenommen?
In dem schicken Restaurant neben der Post würde ich auch gerne essen.
Hast du das nette Cafe gesehen? Da können wir nach der Führung hingehen.
Warum hast du denn die billigen Postkarten gekauft?
Wie findest du denn das grüne Haus mit dem kleinen Turm da vorne?
In der kleinen Kirche waren wir ja schon.

Hallo …, viele Grüße aus dem schönen Wien. Die Stadt ist toll. Am ersten Tag habe ich einen langen Rundgang durch das Zentrum gemacht. Der Stadtführer war ein total lustiger junger Wiener. Die alten Häuser hier finde ich besonders schön. Ich habe auch eine nette Schifffahrt auf der schönen blauen Donau gemacht. Gestern Abend war ich im berühmten Burgtheater. Die Schauspieler waren wirklich toll. Leider habe ich keine billige Unterkunft gefunden. Das Hotel liegt auch noch in einem ziemlich langweiligen Stadtviertel. Aber sonst ist es hier toll. Ich hoffe, du hast auch schöne Ferien. Bis bald! ..


6


Meine Lieblingsveranstaltung

der Begriff | die Begriffe
das Feuer (fire)
das Mittelalterfest | die Mittelalterfeste
das Theaterfestival | die Theaterfestivals

die Bühne | die Bühnen (sahne)
die Eintritskarte | die Eintritskarten
die Ermãßigung | die Ermãßigungen (indirim)
das Theaterstück | die Theaterstücke (tiyatro oyunu)
der Vortrag | die Vortrãge (sunum)

die Ars Electronica

Wie lange?
vom 8. bis 10.Juli
beginn ————–> Ende

Ab wann?

jetzt ————————- Beginn ->—————————–>

von morgen an
vom 1. Januar an

Seit wann?

Vergangenheit ->——————————————————–> jetzt

seit 1979 / Juli

Wie lange?

( ———————– )

länger / mehr als / über 30 Jahre


  • Fährst du eigentlich dieses Jahr wieder nach Deutschland?
  • Ja, in vier Monaten fahre ich nach Düsseldorf.
  • Und was machst du dort?
  • Ich mache für zwei Wochen einen Kurs.
  • Warst du da nicht schon im letzten Jahr?
  • Ja, das mache ich schon seit drei Jahren jeden Sommer. Es macht großen Spaß. Vormittags haben wir Deutschunterricht und nach dem Unterricht gibt es noch ein interessantes Freizeitprogramm mit vielen Ausflügen und Veranstaltungen.
  • Klingt gut.
  • Ja, ich kann dir mal einen Prospekt mitbringen. Und du, fährst du dieses Jahr auch nach Deutschland?
  • Ja, vor der Prüfung. Ich fahre nach Berlin.
  • Toll. In Berlin war ich noch nie.
  • Ich war dort schon einmal, aber das ist schon über 10 Jahre her.

  • temporale Präpositionen + Dativ

in , vor , seit , nach + einem Monat / einem Jahr / einer Woche / zwei Jahren

  • temporale Präpositionen + Akkusativ

über , für + einen Monat / ein Jahr / eine Woche / zwei Jahre


Wie lange wohnst du schon in der WG?
Seit drei Jahren
Wie lange möchtest du in Europa bleiben?
Für ein Jahr
Wann beginnt der Deutschkurs?
In einem Monat
Wann hast du geheiratet?
Vor zehn Jahren
Wie lange dauert die mündliche Prüfung?
Über eine Stunde
Wie lange ist die Ausstellung in Berlin?
Vom ersten bis einunddreißigsten Juli
Ab wann studiert deine Freundin in Paris?
Vom ersten September an

Eine Veranstaltung besuchen
Wollen wir mit dem Deutschkurs nicht mal eine Veranstaltung besuchen?
Ja, gute Idee. Habt ihr einen Vorschlag?
Wir können zu einer Lesung gehen.
Ach nein, das finde ich noch zu schwer. Ich bin dagegen.
Darf ich etwas vorschlagen? Wir können doch ins Kino gehen. Es läuft gerade der deutsche Film “Männerherzen” im Original mit Untertiteln.
Einverstanden! Wie wäre es mit morgen?
Das finde ich super. Wann denn?
Um 19 Uhr. Was haltet ihr davon?
Ja, okay. Das machen wir. Wollen wir zusammen hinfahren oder wollen wir uns vor dem Kino treffen?
Ich würde mich lieber direkt vor dem Kino verabreden. Ich wohne da in der Nähe.
Okay, dann treffen wir uns morgen um 18.45 Uhr vor dem Kino. Ich bestelle die Eintrittskarten.

Mein Top-Tipp ist …
……. gibt es seit / ist aus dem Jahr …
Früher hat … dort gewohnt / war dort …
Heute kann man … besichtigen. Besuchen Sie /Besucht … Hier finden Sie / findet ihr …


7


Für diese Sportarten braucht man eine Mannschaft.

Für diese Sportarten braucht man unbedingt einen Partner.

Diese Sportarten kann man auch alleine machen

Am Abend vor den Spielen solltet ihr euch ausruhen.
Schau mal, wir könnten auch einen Tauchkurs machen.
Abends sollten Sie keine Nudeln mehr essen.
Ab nächsten Monat könntet ihr freitags auch zum Lauftraining kommen.
Sie sollten regelmäßig Sport machen.

Was soll ich denn heute Abend kochen?
Du könntest mal wieder eine Gemüsesuppe machen.

Ich habe oft starke Halsschmerzen. Hast du einen Tipp für mich?
An deiner Stelle würde ich Salbeitabletten nehmen.

Ich muss unbedingt wieder mehr für meine Gesundheit tun. Wollen wir zusammen Sport machen?
Gute Idee! Wie wäre es mit Aqua-Fitness?

Mein Mann schläft nachts immer so schlecht. Was würden Sie ihm empfehlen.
Sie sollten ihm einen Tee geben.

Ich würde gerne etwas an der frischen Luft machen. Kannst du mir eine Sportart empfehlen?
Du könntest joggen gehen.


8


Er will mir nur nichts sagen, weil meine Krankheit so schlimm ist.

Ärzte sagen nicht die Wahrheit. Deshalb gehe ich nicht mehr allein hin.

Klaus öffnet das Fenster, weil

(Es ist im Zimmer zu heiß.)

Klaus öffnet das Fenster, weil es im Zimmer zu heiß ist.

Ich vertraue meinem Freund, weil

(Er sagt mir immer die Wahrheit.)

Ich vertraue meinem Freund, weil er mir immer die Wahrheit sagt.

Meine Nachbarn sind traurig, weil

(Ihr Hund ist gestorben.)

Meine Nachbarn sind traurig, weil Ihr Hund gestorben ist.

Carla macht eine Diät, weil

(Sie möchte abnehmen.)

Carla macht eine Diät, weil sie abnehmen möchte.

Frau Preuß liegt im Krankenhaus, denn sie hatte einen Herzinfarkt.

Sandra kann nicht zum Arzt gehen, weil er heute keine Sprechstunde hat.

Die Eltern machen sich sorgen, weil ihre Tochter krank ist.

Herr Moll hat zu viel Kaffee getrunken. Deshalb tut sein Magen weh.

Frau Winter ist krank. Deshalb kann sie nicht arbeiten.

Julian hat seit Tagen Bauchschmerzen,

(der Arzt - ihn - genau untersuchen wollen)

Ich kann heute nicht am Fußballtraining teilnehmen,

(ich - sein - erkältet)

Frau Krause geht es schlecht,

(eine schwere Grippe - sie - haben)

Ich bin erkältet,

(müssen husten - ich - so oft)

Elke ist heute eine Stunde gejoggt,

( sie - jetzt müde sein)

Hoffentlich hast du nichts Schlimmes.

Das finde ich aber traurig.

Ich hoffe, es ist alles in Ordnung.

Oh, das tut mir wircklich sehr/ echt Leid.

Was ist los?

Ich habe Angst vor Herzkrankheiten.

Ist alles in Ordnung?

Was ist los? Ist alles in Ordnung? Ich habe so schlimme Zahnschmerzen. Oh, das tut mir wirklich sehr Leid. Warst du schon beim Zahnarzt? Nein, ich habe Angst vor dem Zahnarzt. Hoffentlich hast du nichts Schlimmes. Ich hoffe, es ist alles in Ordnung.

Was ist los? Ist alles in Ordnung? Ich habe Magenschmerzen. Oh, das tut mir wirklich sehr Leid. Warst du schon beim Zahnarzt? Nein, hoffentlich muss ich nicht ins Krankenhaus. Ich habe Angst vor Krankenhäusern und Operationen. Hoffentlich hast du nichts Schlimmes. Ich hoffe, es ist alles in Ordnung.

Gestern hatte ich einen Unfall mit dem Fahrrad. Eine Frau hat den Krankenwagen gerufen, weil meine Hand verletzt war. Sie hat stark geblutet. Der Notarzt hat gemeint, dass ich ins Krankenhaus muss. In der Notaufnahme hat man meine Hand untersuht. Es war gar nicht schlimm. Ich habe einen Verband bekommen und bin dann mit dem Taxi nach Hause gefahren. Nur meinem Fahrrad geht es leider immer noch nicht gut.

Email über Ihren Krankenhausaufenthalt

Warum waren Sie im Krankenhaus? Wer hat Sie ins Krankenhaus gebracht? Wie lange waren Sie im Krankenhaus? Wie haben Sie sich gefühlt? Wie sind Sie nach Hause zurückgekommen?

Gerstern Abend hatte ich ……

einen dicken Verband um das Knie haben

eine Verletzung haben

einen Unfall haben

mit dem Skateboard hinfallen

Schmerzen haben

einen Herzinfarkt haben

bluten

wehtun

in die Notaufnahme fahren

Angst haben vor der Operation


9


Freundliche Mirarbeiter gesucht!

Artikel Nominativ Akkusativ Dativ

der das die die Pl

guter Mechatroniker

großes Lager

flexible Arbeitszeit

Answer kleine Correct

Büros

guten Lohn

Answer großes Correct

Lager

Answer ordentliche Correct

Haushaltshilfe

Answer freundliche Correct

Mitarbeiter

Answer gutem Correct

Lohn

großem Lager

Answer flexibler Correct

Arbeitszeit

Answer günstigen Correct

Preisen


10



11



12



A2.2

https://www.hueber.de/shared/uebungen/menschen/ab/a2-2/menu.html

https://www.hueber.de/media/36/Loesungsschluessel_Menschen_AB_A2-2.pdf


13


https://hueber.de/shared/uebungen/menschen/kb/a2/livebook/l13/index.php

Die Organisatoren von „Weihnachten im Schukarton “ verschicken Geschenke an arme Kinder in Osteuropa und Asien.
Das Projekt hat großen Erfolg.


14


Dankesbrief

Was hat Sie gefreut? Was gefällt Ihnen (besonders) gut? Was können Sie (besonders) gut gebrauchen?

Lieber/Liebe …. , vielen Dank für Deine tollen Geschenke!

Schön, dass du an mich gedacht hast./ …

… hat/ haben mich sehr gefreut.

Ich liebe… / … mag … besonders gern.

… ist/sind super. / eine tolle Idee.

Ich bin sehr froh, dass …

Ich freue mich sehr auf …

Lieber …, schön, dass du an meinen Geburtstag gedacht hast. Die Blumen haben mich sehr gefreut. Frühlingsblumen mag ich besonders gern.

Liebe …, lieber …, vielen Dank für Eure tollen Geschenke. Der Büchergutschein ist eine super Idee . Ich freue mich schon auf meinen Urlaub. Da liege ich dann nur am Strand und lese. Und die Gesichtscreme kann ich wirklich gut gebrauchen. Die benutze ich jetzt jeden Tag. Ich glaube, ich sehe schon viel jünger aus.


15


Fernsehen in Deutschland

Wussten Sie, dass

  • 95 % der deutschen Haushalte einen Fernseher haben?

  • Sean Connery für mehr als die Hälfte aller Deutschen der beste James Bond- Darsteller ist?

  • im Jahr 2010 die meisten Zuschauer des “Tatorts” über 45 Jahre alt waren?

  • fast 90% aller Deutschen aufstehen und das Programm wechseln, wenn die Fernbedienung nicht funktioniert? Die anderen bleiben sitzen und schauen sich die Sendung an, auch wenn sie ihnen nicht gefällt.

  • 47% der Deutschen glauben, dass die Qualität des Fernsehens durch die Privatsender nicht so gut ist. 45% glauben, dass die Qualität gleich gut ist.

Ich sehe am liebsten den Tatort. Ich sehe den Tatort immer zusammen mit Freunden. Manchmal gucke ich ihn allein zu Hause, aber meistens zusammen mit einer Freundin. Dazu gibt’s immer Erdnüsse und ein, zwei Gläschen Sekt oder Wein. Ich sehe oft den Tatort, aber ich habe keine feste Gewohnheit. Ja, den Tatort. Wenn ich am Sonntag Abend keine Zeit habe, gucke ich ihn später in der Mediathek. Wir treffen uns am Sonntag immer in der Kneipe und sehen den neuen Fall gemeinsam. Meine Lieblingssendung ist der Tatort. Ich habe keine Lieblingssendung. Ich treffe mich an jedem Sonntagabend mit zwei Freundinnen. Dann kochen wir zusammen und anschließend sehen wir uns den neuen Tatort an.

Was sehen Sie gern im Fernsehen? Haben Sie eine Lieblingssendung/ Lieblingsserie? Wo, wann und mit wem sehen Sie sie? Haben Sie bestimmte Gewohnheiten?

Eine Woche ohne Internet

Was konnten Sie nicht machen? Was haben sie stattdessen gemacht? z.B. Freunde “live“ treffen Wie haben Sie sich gefühlt? Haben Sie etwas aus der Situation gelernt?

Plötzlich …/ Und weißt du, was dann passiert ist? / Also pass auf: …/ Zum Glück…/ Hoffentlich…/ Leider …/ …

Fernsehen früher.

Ich habe nur wenig ferngesehen, als ich klein war.

Als es noch keine Privatsender gegeben hat, hatten wir nur drei Programme.

Wenn sonntags die Serie “Lindenstraße” gelaufen ist, habe ich immer vor dem Fernseher gesessen.

Ich war schon 8 Jahre alt, als meine Eltern den ersten Fernseher gekauft haben.

Ich habe immer dann den “Tatort” geguckt, wenn meine Eltern nicht zu Hause waren.

Was wird im Deutschkurs gemacht?

Ein Test wird geschrieben.

a Manchmal (Sätze übersetzen ) werden Sätze übersetzt.

b Neue Wörter (aufschreiben) werden aufgeschrieben.

c Ein Film (anschauen) wird angeschaut.

d Oft (die Grammatik wiederholen) wird die Grammatik wiederholt.

e Aufgaben (lösen) werden gelöst.

f Texte (korrigieren) werden korrigiert.


16


Ich würde gern wissen, ob Sie noch ein Zimmer frei haben.

Die Personen machen eine Ausbildung in einem Hotel. Frau Thalau bleibt zwei Nächte und bekommt ein Einzelzimmer nur mit Halbpension.

Herr Klein bekommt ein Zimmer mit Strandblick.

Für die Anruferin gibt es noch ein Zimmer.

Ich würde gern wissen, ob Sie noch ein Zimmer frei haben.

Darf ich fragen, wie lange Sie bei uns bleiben möchten?

Brauchen Sie ein Einzelzimmer oder ein Doppelzimmer?

Im Bad sind überall Haare.

Es tut mit leid, wenn sie Ärger hatten.

Tut mir leid, wir sind ausgebucht.

Ja/ Nein-Fragen
Haben sie noch ein Zimmer frei?
Ich würde gern wissen, ob Sie noch ein Zimmer frei haben?

Fragen mit Fragewort
Wie lange möchten sie denn bei uns bleiben?
Darf ich fragen, wie lange Sie denn bei uns bleiben möchten?

Darf ich fragen, wie viel ein Einzelzimmer kostet?

Können Sie mir erklären, wie das Telefon funktioniert?

Wissen Sie, ob die Geschäfte noch offen sind?

Können Sie mir sagen, wo man schnell einen Kaffee trinken kann?

Ich weiß nicht, warum mein Gepäck noch nicht angekommen ist.

Ich würde gern wissen, wohin man am Abend gehen kann?

Darf ich fragen, ob Ihr Essen scharf ist?

Ist Ihr Essen scharf?

Können Sie mir sagen, ob man einen Tisch reservieren muss?

Muss man einen Tisch reservieren?

Wissen Sie, ob der Platz noch frei ist?

Ist der Platz noch frei?

Ich weiß nicht, ob man in diesem Restaurant vegetarisch essen kann.

Kann man in diesem Restaurant vegetarisch essen.

Sie reisen nach Deutschland und möchten ein Zimmer in einem Hotel buchen.

Suchen Sie zuerst im Internet ein Hotel, in dem Sie wohnen wollen. Schreiben Sie dann eine E-Mail an das Hotel. Notieren Sie die Internetadresse des Hotels in Ihrem Text. Schreiben Sie zu folgenden Aspekten: Daten

Preis

Personen

Anzahl der Nächte

Mit/ohne Frühstück, WIFI, Bad/Dusche/Parkplatz

Zimmertyp

Serviceangebote


17


Simone und Felix fahren in den Urlaub.

Die Nachbarin soll auf das Haus aufpassen.

Simone und Felix wollen ein Tagebuch im Internet schreiben.

Unsere Reise nach Rumänien


18


Ihre Meinung zum Wetter

Darf ich kurz mit Ihnen über diesen wunderbaren Winter sprechen? Haben Sie denn keine Lust auf Eis und Schnee? Ich interessiere mich nicht für Wintersport. Die meisten Menschen freuen sich auf einen heißen Tee. Sprechen Sie mit mir? Ich interessiere mich für Ihre Meinung zum Wetter. Ich denke, Sie sind so richtig zufrieden mit diesem schönen Sommertag. Quatsch, ich habe vom Winter geträumt. Ich ärgere mich über die Hitze.

  • Verben mit Präpositionen

    • Verben mit Präpositionen + Akkusativ

Sie freuen sich auf einen heißen Tee.

Ich ärgere mich über die Hitze.

auch so: sprechen über, Lust haben auf, sich interessieren für

  • Verben mit Präpositionen + Dativ

Sind Sie zufrieden mit diesem schönen Sommertag?

Sprechen Sie mit mir?

auch so: träumen von


19


Wenn eine Ausstellung eröffnet wird, dann nennt man das eine Vernissage.

Im Zirkus können Sie Clowns und Artisten sehen.

Wenn Sie klassische Musik mögen, ist ein klassisches Konzert genau das Richtige für Sie.

Wo warst du so lange?
Woher kommst du so spät?
Wohin gehst du schon wieder?

Wo hast du deine Jacke vergessen?
Woher hast du diese Blumen?
Wohin hast du den Brief geschickt?

Wo ist dein Lachen geblieben?
Woher kommt meine Angst?
Wohin ist unsere Liebe gegangen?

bei + dem = beim
in + dem = im
zu + der = zur
in + das = ins

Petra ist …
bei ihrer Freundin
beim Joggen
im Konferenzraum
im Schwimmbad
bei einer Veranstaltung
beim Arzt
in einem Lokal

Petra geht …
zu ihrer Freundin.
zum Joggen.
in den Konferenzraum.
ins Schwimmbad.
zu einer Veranstaltung.
zum Arzt.
in ein Lokal.

  • Warst du bei deiner Tante oder kommst du erst jetzt von der Stadt?
  • Ich komme vom Einkaufen. Zu Tante Thea gehe ich erst morgen. Jetzt bin ich total müde. Ich glaube, ich kann heute nicht mehr zum Joggen gehen.

  • Das habe ich mir schon gedacht. Du warst doch bestimmt den ganzen Tag im Kaufhaus.
  • Na ja, in anderen Geschäften war ich natürlich auch.

  • Was machen wir eigentlich heute Abend? Sollen wir ins Kino gehen oder möchtest du lieber zum Essen gehen?
  • Beim Essen waren wir doch gestern schon und im Kino war ich erst letzte Woche. Lass uns ins Theater gehen.

Wo? Wohin?
Orte in der Werkstatt in den Konferenzraum
Aktivitäten beim Rauchen zum Schwimmen
zur Beratung
Personen bei der Schwiegertochter zu den Freunden
bei den Leuten

Veranstaltungstipps

Für die Oper “Carmen” im Stadttheater gibt es noch Karten.

Die Ausstellung mit Landschaftsbildern wird verlängert.

Bei der Vernissage kann man Fotos sehen.

Das kulturelle Highlight der Woche ist die Musiknacht am Samstag. An vielen verschiedenen Orten finden Konzerte und Workshops statt.

Am Sonntag findet im Zentrum ab 15.00 Uhr ein Stadtspaziergang statt.

  • Wir können am Wochenende mal wieder etwas zusammen unternehmen. Hast du Lust?
  • Oh ja, lass uns zusammen weggehen.
  • Ich habe da einen Vorschlag. Am Samstag gibt es eine Lesung von Wladimir Kaminer.
  • Eine Lesung? Das hört sich ja nicht so toll an.
  • Unsinn! Eine Lesung mit Kaminer ist etwas Besonderes. Glaub mir, das lohnt sich.
  • Ich würde lieber in den neuen Club gehen.
  • Das können wir ja danach immer noch machen.
  • Also gut, dann lass uns zu der Lesung gehen.

  • Lass uns doch mal in eine Karaoke-Bar gehen.
  • Also, ich weiß nicht. Ich war noch nie in einer Karaoke-Bar.
  • Ich auch nicht. Aber das macht bestimmt Spaß. Bist du denn gar nicht neugierig?
  • Ich weiß nicht, ob ich singen kann.
  • Dann probier das doch mal.
  • Ich glaube, ich singe wirklich schlecht.
  • Sieh das doch nicht so negativ. Die anderen können doch auch nicht singen. Deshalb ist es doch so lustig.
  • Na ja. Vielleicht hast du recht.
  • Außerdem ist der Eintritt kostenlos.
  • Schon gut. Ich komme mit.


20


Heute Abend gehe ich zu einer Lesung. Wollt ihr auch mitkommen?

Ich mag keine Krimis.

Hier in der Buchhandlung darfst du kein Eis essen. Das ist verboten.

Psychologen sagen, man soll Kindern vorlesen. Es ist gut für sie.

Meine Kinder gehen noch nicht in die Schule. Sie können noch nicht lesen.

Für unseren Literaturkurs müssen wir bis zum nächsten Mal 500 Seiten von einem total langweiligen Autor lesen.

Heute Abend gehe ich zu einer Lesung. Wollt ihr auch mitkommen?
Ich mag keine Krimis.
Hier in der Buchhandlung darfst du kein Eis essen. Das ist verboten.
Psychologen sagen, man soll Kindern vorlesen. Es ist gut für sie.
Meine Kinder gehen noch nicht in die Schule. Sie können noch nicht lesen.
Für unseren Literaturkurs müssen wir bis zum nächsten Mal 500 Seiten von einem total langweiligen Autor lesen.

Mein großer Bruder konnte schon lesen, aber ich noch nicht. Das hat mich als kleines Kind sehr geärgert. Als ich dann endlich auch lesen konnte, wollte ich am liebsten nichts anderes mehr machen. Comics mochte ich besonders gern. Leider musste ich aber auch viel Hausaufgaben machen. Einmal sollten wir eine Geschichte schreiben. Das hat mir großen Spaß gemacht. Alle Schüler durften die Geschichte in der Schule vorlesen. Meine hat vielen am besten gefallen. Von da an wollte ich Autor werden.

Ich konnte schon mit fünf Jahren meinen Namen schreiben.
Mochtet ihr als Kind auch so gern Märchen?
Wir mussten als Kinder sonntags oft Verwandte besuchen. Das war immer sehr langweilig.
Julia durfte als kleines Kind nicht fernsehen. Ihre Eltern haben es verboten.
Am liebsten mochte ich Comics. Meine Eltern meinten aber, ich sollte lieber Karl-May-Bücher lesen.
Dirk war sehr gut im Sport. Deshalb wollte er Profisportler werden.


21


Eine Zeugenaussage - Können Sie den Täter wiedererkennen? - Oh ja. Der da war es! Ich bin ziemlich sicher. - Welchen meinen Sie? Den hier? - Nein. Den da. - Den mit der Nummer 0815? - Ja, genau. Den meine ich. Der kann es gewesen sein.

Ich lasse morgen ein Sicherheitsschloss einbauen und meine Fenster sichern.

Herr Winter lässt seine Reifen immer in der Werkstatt wechseln.

Wir lassen unsere Wohnung immer donnerstags putzen.

Das ist schwer. Warum lässt du dir nicht helfen?

Meine Nachbarn lassen kommende Woche ihre Wohnung renovieren.

Lasst ihr eure Fahrräder auch immer reparieren?

Meine Eltern putzen ihr Haus nicht selbst. Sie lassen ihr Haus putzen.

Wir holen unsere Getränke nicht selbst. Wir lassen uns die Getränke bringen.

Joachim installiert Computerprogramme nicht selbst. Joachim lässt sie installieren.

Ich repariere mein Auto nie selbst. Ich lasse es reparieren.

Tauschringe


22


Radiosendung Carsharing - eine sinnvolle Alternative?

Seitdem ich mehr Gehalt bekomme, muss ich auch mehr Steuern bezahlen.

Mit dem Fahrrad dauert es höchstens eine Stunde, bis wir unser Ziel erreichen.

Seitdem ich ein neues Auto habe, macht mir das Fahren wieder mehr Spaß.

Seitdem wir uns ein Auto mit den Nachbarn teilen, sparen wir viel Geld.

Hoffentlich kann die Werkstatt unser Auto reparieren, bis wir in Urlaub fahren.

Bis mein Bus kommt, muss ich noch eine halbe Stunde warten.


23



24




B1


https://hueber.de/shared/uebungen/menschen/kb/b1/menu.php

https://www.goethe.de/ins/tr/tr/sta/ist/prf/gzb1/ueb.html


B1.2


https://www.hueber.de/shared/uebungen/menschen/kb/b1-2/menu.php

https://www.hueber.de/media/36/Loesungsschluessel_Menschen_AB_B1-2.pdf


13


Aus diesem Grund gab es ein Missverstãndis

der Advokat | die Advokaten
die Advokatin | die Advokatinnen
die Avocado | die Avocados
die Essigsoße | die Essigsoßen
der Rechtsanwalt | die Rechtsanwãlte
die Rechtsanwãltin | die Rechtsanwãltinnen
der Übersetzungsfehler

der Hahn | die Hãhne
der Nagel | die Nãgel
die Schlange | die Schlangen
das Schloss | die Schlössr
der Schalter | die Schalter
die Birne | die Birnen
die (Glüh-)Birne | die Glühbirnen
der Hahn | die Hãhne
der (Wasser-)Hahn | die Wasserhãhne
die Bank | die Bãnke
die Bank | die Bãnken
die Leiter | die Leitern
der Leiter | die Leiter
die Aussprache
die Begabung | die Begabungen
der Dialekt | die Dialekte
der Trommelkurs | die Trommelkurse
die Übersetzung | die Übersetzungen
die Wortbedeutung | die Wortbedeutungen
das Wortspiel | die Wortspiele
der Zoobesuch | die Zoobesuche
der Anschlussflug | die Anschlussflüge
die Datei | die Dateien
die Geschãftskleidung
der Akzent | die Akzente
der Beamte | die Beamten (officer)
die Beamtin | die Beamtinnen
das Redemittel-Kãrtchen
das Sprechen
das Standesamt | die Standesãmter (registry office)
das Teekesselchen | die Teekesselchen
das Fantasiewort | die Fantasiewörter
der Vokal | die Vokale
die Bedeutung | die Bedeitungen
das Missverstãndis | die Missverstãndisse


weglassen (omit) umschreiben (transcribe)
ein prãgen (sich) (memorise) durchfallen (fail a test) besorgen
abfliegen | fliegt ab | flog ab | ist abgeflogen nach erzãhlen
nach fragen
beißen (bite)
böse sein (to be mad, angry)
erschrecken (sich)
missverstehen
mitwollen
veröffentlichen


deswegen
daraufhin


augenblicklich
sprachlich
undeutlich (indistinct, fuzzy)
kausal


Sie kennen bereits die vier am häufigsten gebrauchten Präpositionen mit dem Genitiv: während, wegen, trotz und (an)statt.

Es gibt noch eine Reihe anderer Präpositionen, die mit dem Genitiv verwendet werden.

Temporale Präpositionen

während Während des Flugs hat er geschlafen. innerhalb / binnen Der Tisch wird innerhalb einer Woche geliefert. Der Tisch wird binnen einer Woche geliefert. außerhalb Außerhalb der Sprechzeiten kann man ihn nicht erreichen.

Lokale Präpositionen:

innerhalb / außerhalb Sie wohnen außerhalb / innerhalb der Stadt. oberhalb / unterhalb Er hat sich oberhalb / unterhalb des Knies verletzt. abseits Das Haus liegt etwas abseits der Hauptstraße. unweit Der Bauernhof befindet sich unweit der Stadt. längs Längs des Flusses stehen viele alte Bäume. inmitten Die Pension ist inmitten der Berge. beiderseits Beiderseits der Straße stehen Bäume. diesseits / jenseits Jenseits / Diesseits dieser Grenze liegt Polen.


14


Die Teilnahme ist auf eigene Gefahr
(participation is own risk)


sich fallen lassen
vormachen (önceden yapıp göstermek)
auffrischen (refresh)
ausbauen (reconstruct)
belegen (document, reserve)
benötigen (need)
fördern (promote, support)


- -
das Gelingen
der Kletterkurs die Kletterkurse
das Selbsvertrauen (kendine güven)
das Multimedia
das Abspielen
das Afghanistan
die Argumentationstechnik die Argumentationstechnicken
die Atemübung die Atemübungen (breathing exercise)
der Behãlter die Behãlter (container, bowl)
der Blickkontakt die Blickkontakte
das Chorsingen
der Eindruck die Eindrucke
der Einsteiger die Einsteiger
die Einsteigerin die Einsteigerin

die Fertigkeit | die Fertigkeiten
die Fragetechnik | die Fragetechniken
das Frühjahrsprogramm | die Frühjahrsprogramme
die Gefahr | die Gefahren (danger, hazard, risk)
die Geschmacksrichtung | die Geschmacksrichtungen
das Gesprãchsklima
das Gesprãchsverhalten
die Gestik
die Grammatikkenntnisse
die Grundlage | die Grundlagen
die Grundtechnik | die Grundtechniken
die Haftung


geistig (intellectual, mental)
heraus fordern (challenging)


rückwãrts



15


B1.3


Sicher B1

https://www.hueber.de/exercises/530-25156/?rootPath=/exercises/530-25156/

https://www.hueber.de/sicher/lehren/loesungen/ab


Verben mit Prãposition

verb+prãposition +Kasus Satz
ab hãngen von D Die höhe der Stromkosten hãngt vom Verbrauch ab.
abstimmen über A Sie können jetzt über den Gewinner des Mallwetbewerbs abstimmen.
achten auf A Achten Sie bei Bank-Angeboten auf den Zins.
an fangen mit D Lassen Sie uns mit dem Unterricht anfangen.
an kommen auf A Es kommt nur auf dich selbst an, ob du Erfolg hast.
antworten auf A Ich antworte dem Chef morgen auf seine E-mail, heute habe ich keine Lust mehr.

1


Temporal Adverbien

Bedeutung
Hãufigkeit immer, oft, manchmal, selten, nie
Wiederholung morgens, vormittags, montags, dienstags, tãglich, monatlich
zeitliche Reihenfolge zuerst, dann, danach, anschließend, schießendlich

Adjektivdeklination

Singular, definiter artikel maskulin neutral feminin
Nominativ der schöne Satz das schöne Wort die schöne Sprache
Akkusativ den schönen Satz das schöne Wort die schöne Sprache
Dativ dem schönen Satz dem schönen Wort der schönen Sprache
Genitiv des schönes Satsez des schönen Wortes der schönen Sprache
Singular, Indefiniter Artikel (ein), Possessivartikel (mein, dein), Negativartikel (kein) maskulin neutral feminin
Nominativ ein schöner Satz ein schönes Wort eine schöne Sprache
Akkusativ einen schönen Satz ein schönes Wort eine schöne Sprache
Dativ einem schönen Satz einem schönen Wort einer schönen Sprache
Genitiv eines schönen Satzes eines schönen Wortes einer schönen Sprache
Singular Ohne Artikel maskulin neutral feminin
Nominativ schneller Erfolg langes Warten gute Leistung
Akkusativ schennelen Erfolg langes Warten gute Leistung
Dativ schnellem Erfolg langem Warten guter Leistung
Genitiv schnellen Erfolgs langen Wartens guter Leistung
Plural Definiter Artilel Ohne Artikel Possessivartikel
Nominativ die schönen Wörter schöne Wörter meine schönen Wörter
Akkusativ die schönen Wörter schöne Wörter meine schönen Wörter
Dativ den schönen Wörtern schönen Wörtern meinen schönen Wörtern
Genitiv der schönen Wörter schöner Wörter meiner schönen Wörter


2


3


4


5


6


7


8



About


See the code here.
If you want to contribute send a pull request to this file.


This document will be continiously updated and the last update was on 2019-03-21.



wird organisiert


  • Studio d

https://www.cornelsen.de/reihen/studio-d-deutsch-als-fremdsprache-120000010000

  • Deutsch als Fremdsprache

https://www.cornelsen.de/empfehlungen/erwachsenenbildung-sprachen/daf-daz

  • DaZ/DaF-Unterricht

http://www.graf-gutfreund.at/

  • Mein Weg Nach Deutschland

https://www.goethe.de/prj/mwd/de/index.html

  • Ticket nach Berlin – die Abenteuerspielshow!

https://www.dw.com/de/deutsch-lernen/ticket-nach-berlin/s-32294

  • Deutsche Sprache

https://www.goethe.de/de/spr.html

  • KOSTENLOS DEUTSCH ÜBEN

https://www.goethe.de/de/spr/ueb.html

  • Kultur

https://www.dw.com/de/themen/reise/s-1644

  • Aspekte neu C1

https://www.klett-sprachen.de/aspekte-neu-c1/t-1/9783126050340

https://www.klett-sprachen.de/aspekte-neu/r-1/15#reiter=titel&niveau=B1Plus

  • ALMANYA – WILLKOMMEN IN DEUTSCHLAND

https://www.goethe.de/resources/files/pdf130/didaktisierungsvorschlag_almanya_hinweise-lehrer.pdf

https://www.imdb.com/title/tt1630027/

  • Kokowääh

https://www.imdb.com/title/tt1700258/

  • Gegen die Wand

https://www.imdb.com/title/tt0347048/

  • Das Kino der doppelten Kulturen.

Migration als filmisches Thema: Im deutsch-türkischen Film anhand ausgewählter Beispiele

https://books.google.com.tr/books/about/Das_Kino_der_doppelten_Kulturen_Migratio.html?id=-1ltaRsyGhsC

  • 40 qm Deutschland

https://www.imdb.com/title/tt0090566/

https://www.filmportal.de/film/40-qm-deutschland_4ecff652d8c342299b576c8d59e6f592

  • Bülent Ceylan: Wir Türken | Quatsch Comedy Club Classics

https://www.youtube.com/watch?v=klnQFfE9TTw

  • Komiker Bülent Ceylan | NDR Talk Show | NDR

https://www.youtube.com/watch?v=QKe3vD6OiLo

  • Sicher! Übungsgrammatik Deutsch als Fremdsprache

https://shop.hueber.de/de/sicher-uebungsgrammatik.html


LS0tCnRpdGxlOiAiW0RhcyBOb3RpemJ1Y2hdKGh0dHBzOi8vc2JhbGNpLmdpdGh1Yi5pby9EZXV0c2NoTGVybmVuL05vdGl6YnVjaC5uYi5odG1sKSIKc3VidGl0bGU6ICJbRGFzIE5vdGl6YnVjaF0oaHR0cHM6Ly9zYmFsY2kuZ2l0aHViLmlvL0RldXRzY2hMZXJuZW4vTm90aXpidWNoLmh0bWwpIgpvdXRwdXQ6CiAgcm1kZm9ybWF0czo6bWF0ZXJpYWw6CiAgICBoaWdobGlnaHQ6IGthdGUKICAgIHNlbGZfY29udGFpbmVkOiB0cnVlCiAgICBjb2RlX2ZvbGRpbmc6IG5vbmUKICAgIHRodW1ibmFpbHM6IHRydWUKICAgIGdhbGxlcnk6IHRydWUKICAgIGZpZ193aWR0aDogNAogICAgZmlnX2hlaWdodDogNAogICAgZGZfcHJpbnQ6IGthYmxlICAgIAogIGh0bWxfbm90ZWJvb2s6IAogICAgZmlnX2NhcHRpb246IHllcwogICAgaGlnaGxpZ2h0OiBrYXRlCiAgICB0b2M6IHllcwogICAgdG9jX2RlcHRoOiA1CiAgICB0b2NfZmxvYXQ6IHllcwogICAgY29kZV9mb2xkaW5nOiBub25lCiAgcm1kZm9ybWF0czo6cmVhZHRoZWRvd246CiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUKICAgIHNlbGZfY29udGFpbmVkOiB0cnVlCiAgICB0aHVtYm5haWxzOiBmYWxzZQogICAgbGlnaHRib3g6IGZhbHNlCiAgaHRtbF9kb2N1bWVudDogCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUKICAgIGZpZ19jYXB0aW9uOiB5ZXMKICAgIGtlZXBfbWQ6IHllcwogICAgdGh1bWJuYWlsczogdHJ1ZQogICAgZ2FsbGVyeTogdHJ1ZQogICAgZmlnX3dpZHRoOiA0CiAgICBmaWdfaGVpZ2h0OiA0CiAgICBkZl9wcmludDoga2FibGUKICAgIHRvYzogeWVzCiAgICB0b2NfZGVwdGg6IDQKICAgIHRvY19mbG9hdDogeWVzCiAgICBsaWdodGJveDogZmFsc2UKICBmbGV4ZGFzaGJvYXJkOjpmbGV4X2Rhc2hib2FyZDoKICAgIG9yaWVudGF0aW9uOiByb3dzCiAgICBzb2NpYWw6IG1lbnUKICBybWRmb3JtYXRzOjpodG1sX2NsZWFuOgogICAgZmlnX3dpZHRoOiA2CiAgICBmaWdfaGVpZ2h0OiA2CiAgICBoaWdobGlnaHQ6IGthdGUKICAgIHRodW1ibmFpbHM6IHRydWUKICAgIGxpZ2h0Ym94OiB0cnVlCiAgICBnYWxsZXJ5OiB0cnVlCiAgcm1kZm9ybWF0czo6aHRtbF9kb2NjbzoKICAgIGZpZ193aWR0aDogNgogICAgZmlnX2hlaWdodDogNgogICAgaGlnaGxpZ2h0OiBrYXRlCiAgICB0aHVtYm5haWxzOiB0cnVlCiAgICBsaWdodGJveDogdHJ1ZQogICAgZ2FsbGVyeTogdHJ1ZQotLS0KCgpgYGB7ciBrbml0cl9pbml0LCBlY2hvPUZBTFNFLCBjYWNoZT1GQUxTRX0KbGlicmFyeShrbml0cikKbGlicmFyeShybWRmb3JtYXRzKQoKIyMgR2xvYmFsIG9wdGlvbnMKb3B0aW9ucyhtYXgucHJpbnQ9Ijc1IikKb3B0c19jaHVuayRzZXQoZWNobz1GQUxTRSwKCSAgICAgICAgICAgICBjYWNoZT1UUlVFLAogICAgICAgICAgICAgICBwcm9tcHQ9RkFMU0UsCiAgICAgICAgICAgICAgIHRpZHk9VFJVRSwKICAgICAgICAgICAgICAgY29tbWVudD1OQSwKICAgICAgICAgICAgICAgbWVzc2FnZT1GQUxTRSwKICAgICAgICAgICAgICAgd2FybmluZz1GQUxTRSkKb3B0c19rbml0JHNldCh3aWR0aD03NSkKYGBgCgoKPCEtLSB4YXJpbmdhbjo6OmluZl9tcigpICAtLT4KCjwhLS0gT3BlbiBhbGwgbGlua3MgaW4gbmV3IHRhYi0tPiAgCjwhLS0gPGJhc2UgdGFyZ2V0PSJfYmxhbmsiLz4gLS0+CgoKPCEtLSBHbyB0byB3d3cuYWRkdGhpcy5jb20vZGFzaGJvYXJkIHRvIGN1c3RvbWl6ZSB5b3VyIHRvb2xzIC0tPgo8IS0tIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vczcuYWRkdGhpcy5jb20vanMvMzAwL2FkZHRoaXNfd2lkZ2V0LmpzI3B1YmlkPXJhLTViYzM2OTAwYTQwNTA5MGIiPiAgIC0tPgo8IS0tIDwvc2NyaXB0PiAgLS0+CgotLS0KCiMgRGFzIE5vdGl6YnVjaAoKW0RhcyBOb3RpemJ1Y2ggIE1vYmlsZV0oaHR0cHM6Ly9zYmFsY2kuZ2l0aHViLmlvL0RldXRzY2hMZXJuZW4vTm90aXpidWNoLm5iLmh0bWwpICAKW0RhcyBOb3RpemJ1Y2ggRGVza3RvcF0oaHR0cHM6Ly9zYmFsY2kuZ2l0aHViLmlvL0RldXRzY2hMZXJuZW4vTm90aXpidWNoLmh0bWwpICAKW0Fib3V0XSgjYWJvdXQpCgoKLS0tCgoKCiMgV8O2cnRlcmJ1Y2ggey50YWJzZXQgLnRhYnNldC1mYWRlIC50YWJzZXQtcGlsbHN9CgotLS0KCiMjIExlbwoKLS0tCgpodHRwczovL3d3dy5sZW8ub3JnL2dlcm1hbi1lbmdsaXNoCgpodHRwczovL2RpY3QubGVvLm9yZy90cmFpbmVyL2pvaW5Hcm91cC5waHA/dG9rZW49MzBYR0kyVUombHA9ZW5kZSZsYW5nPWVuCgotLS0KCiMjIFBvbnMKCi0tLQoKaHR0cHM6Ly9lbi5wb25zLmNvbS90cmFuc2xhdGUKCi0tLQoKIyMgRHVkZW4KCi0tLQoKaHR0cHM6Ly93d3cuZHVkZW4uZGUvCgotLS0KCiMjIEtvcnJla3R1cmVuCgotLS0KCi0gU3VwZXJsYXRpdi1Lb21wYXJhdGl2CgpodHRwczovL3d3dy5rb3JyZWt0dXJlbi5kZQoKLS0tCgojIyBIdWViZXIKCi0tLQoKaHR0cHM6Ly93d3cuaHVlYmVyLmRlL3dvZXJ0ZXJidWNoL29ubGluZQoKaHR0cDovL3d3dy5odWViZXIuZGUvZHJvcC1hLXdvcmQtZ28vCgotLS0KCiMjIHZlcmJmb3JtZW4KCi0tLQoKRGV1dHNjaGUgV8O2cnRlciBrb25qdWdpZXJlbiB1bmQgZGVrbGluaWVyZW4KCmh0dHBzOi8vd3d3LnZlcmJmb3JtZW4uY29tLwoKaHR0cHM6Ly93d3cudmVyYmZvcm1lbi5jb20vY29uanVnYXRpb24vZXhhbXBsZXMvP3c9c2l0emVuCgotLS0KCiMjIExpbmd1ZWUKCmh0dHBzOi8vd3d3Lmxpbmd1ZWUuY29tLwoKLS0tCgojIyBXb3J0YXVza3VuZnRzc3lzdGVtCgotLS0KCmh0dHBzOi8vd3d3LmR3ZHMuZGUvCgoKLS0tCgojIEJpYmxpb3RoZWsgey50YWJzZXQgLnRhYnNldC1mYWRlIC50YWJzZXQtcGlsbHN9CgotLS0KCgojIyBNZWluIEdvZXRoZQoKaHR0cHM6Ly9teS5nb2V0aGUuZGUvCgotLS0KCiMjIE9ubGVpaGUKCmh0dHA6Ly93d3cyLm9ubGVpaGUuZGUvZ29ldGhlLWluc3RpdHV0L2Zyb250ZW5kL3dlbGNvbWUsNTEtMC0wLTEwMC0wLTAtMS0wLTAtMC0wLmh0bWw/bEs9NjU2ZQoKLS0tCgojIyBBbmthcmEgQmlibGlvdGhlawoKCmh0dHBzOi8vYW5rYXJhLmJpYmxpb3RoZWsuZ29ldGhlLmRlIAoKCi0tLQoKIyMgS3VycwoKLS0tCgojIyMgRGV1dHNjaCBMZXJuZW4KCi0tLQoKaHR0cHM6Ly93d3cuZGV1dHNjaGFrYWRlbWllLmRlL29ubGluZS1kZXV0c2Noa3Vycy9hdWRpby1jb3Vyc2UvCgotLS0KCiMjIyBDb3Vyc2VyYQoKLS0tCgojIyMjIFNwcmFjaHRlY2hub2xvZ2llIGluIGRlbiBEaWdpdGFsIEh1bWFuaXRpZXMKCmh0dHBzOi8vd3d3LmNvdXJzZXJhLm9yZy9sZWFybi9kaWdpdGFsLWh1bWFuaXRpZXMvaG9tZS93ZWxjb21lCgoKCi0tLQoKIyBNZWRpYSB7LnRhYnNldCAudGFic2V0LWZhZGUgLnRhYnNldC1waWxsc30KCi0tLQoKIyMgQVJEICAKCi0tLQoKaHR0cDovL3d3dy5hcmQuZGUKCmh0dHBzOi8vd3d3LmFyZG1lZGlhdGhlay5kZS90dgoKLS0tCgojIyBaREYKCi0tLQoKaHR0cHM6Ly93d3cuemRmLmRlLwoKaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci96ZGYKCi0tLQoKIyMgTkRSCgotLS0KCmh0dHBzOi8vd3d3Lm5kci5kZS8KCi0tLQoKIyMgRGFzIEVyc3RlCgotLS0KCmh0dHBzOi8vd3d3LmRhc2Vyc3RlLmRlLwoKCi0tLQoKIyMjIFRhdG9ydCAgCgotLS0KCmh0dHBzOi8vd3d3LmRhc2Vyc3RlLmRlL3VudGVyaGFsdHVuZy9rcmltaS90YXRvcnQvc3BlY2lhbHMvdGF0b3J0LXZpZGVvcy1pbi1kZXItbWVkaWF0aGVrMTAwLmh0bWwKCgotLS0KCiMjIE4tVFYKCi0tLQoKaHR0cHM6Ly93d3cubi10di5kZS9tZWRpYXRoZWsvbGl2ZXN0cmVhbS8KCi0tLQoKIyMgRFcgIHsudGFic2V0fQoKLS0tCgojIyMgRFcgTGl2ZQoKLS0tCgo8aWZyYW1lIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL1VCTGYxeWNiZHk0IiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CgotLS0KCiMjIyBEVyBLdXJzCgotLS0KCi1LZWxpbWUgdmUgU2V2aXllIEdlbGnFn3Rpcm1lCmh0dHBzOi8vc2VlZGxhbmcuY29tLwoKLSBBMSBTRVbEsFlFU8SwCgpodHRwczovL3d3dy5kdy5jb20vdHIvYWxtYW5jYS0lQzMlQjYlQzQlOUZyZW5pbi9hMS1zZXZpeWVzaS1pJUMzJUE3aW4tJUMzJUI2JUM0JTlGcmVubWUtaW1rJUMzJUEybmxhciVDNCVCMS9zLTMwMDk1CgotIFBsYWNlbWVudCBUZXN0CgpodHRwczovL2xlYXJuZ2VybWFuLmR3LmNvbS9lbi9wbGFjZW1lbnREYXNoYm9hcmQKCi0gQTEsIEEyLCBCMSB8IERldXRzY2ggSW50ZXJha3RpdgoKaHR0cHM6Ly93d3cuZHcuY29tL3RyL2FsbWFuY2EtJUMzJUI2JUM0JTlGcmVuaW4vZGV1dHNjaC1pbnRlcmFrdGl2L3MtMTEyMDUKCi0gQTEsIEEyLCBCMSB8IERldXRzY2gg4oCTIHdhcnVtIG5pY2h0PwoKaHR0cHM6Ly93d3cuZHcuY29tL3RyL2FsbWFuY2EtJUMzJUI2JUM0JTlGcmVuaW4vZGV1dHNjaC13YXJ1bS1uaWNodC9zLTI2MDkKCi0gQTEgfCBNaXNzaW9uIEV1cm9wZQoKaHR0cHM6Ly93d3cuZHcuY29tL3RyL2FsbWFuY2EtJUMzJUI2JUM0JTlGcmVuaW4vbWlzc2lvbi1ldXJvcGUvcy0xMTIwNgoKLSBBMSB8IFJhZGlvIEQg4oCTIELDtmzDvG0gMQoKaHR0cHM6Ly93d3cuZHcuY29tL3RyL2FsbWFuY2EtJUMzJUI2JUM0JTlGcmVuaW4vcmFkaW8tZC0xLWIlQzMlQjZsJUMzJUJDbS9zLTExMjExCgotIEExLCBBMiB8IFNFUyBET1NZQUxBUkkgRcWeTMSwxJ7EsE5ERSBBTE1BTkNBCgpodHRwczovL3d3dy5kdy5jb20vdHIvYWxtYW5jYS0lQzMlQjYlQzQlOUZyZW5pbi9hdWRpb3RyYWluZXIvcy0xMTIxMwoKLS0tCgojIyMgRFcgVG9wLVRoZW1hCgotLS0KCltTY2huZWVjaGFvcyBpbiBCYXllcm5dKGh0dHBzOi8vd3d3LmR3LmNvbS9kZS9zY2huZWVjaGFvcy1pbi1iYXllcm4vbC00NzA4NjYwNSkKCi0tLQoKIyMjIERXIFNvdW5kQ2xvdWQKCi0tLQoKaHR0cHM6Ly9zb3VuZGNsb3VkLmNvbS9kdy1sZWFybmdlcm1hbgoKLS0tCgojIyBZb3VUdWJlCgotLS0KCjxpZnJhbWUgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvdmlkZW9zZXJpZXM/bGlzdD1QTHhSQk9hb0VvUDRKbVBlbkJaNVFkQm9QRmNkajdvcjdsIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CgotLS0KCgoKLSBEaWUgRGV1dHNjaGVuIChUaGUgR2VybWFucykgUzAxRTA5ICdCaXNtYXJjayB1bmQgZGFzIERldXRzY2hlIFJlaWNoJyAoR2VyJkVuZyBTdWJzKSAgCmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9VHlldTJaX3A5c00KCgotIE5hdGlvbmFsIEdlb2dyYXBoaWMgIApodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTRKNWkzeXhIMWtzJmxpc3Q9UExmQllkUTNRczNJclJEakhVdi1ueS10OF91c1FmUDFQQgoKLSBFYXN5IEdlcm1hbiAgCmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUNieGIyZnFlOW9OZ2dsQW9ZcXNZT3RRICAKCgoKaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvNXpXcHlFNUhPeHMgIAoKCgotIFNlbGJzdGdlbWFjaHQ6IERJWSBUaXNjaCBhdXMgSG9semRpZWxlbiAgCgpodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVp6TktOVTBxRWE4ICAKCi0gU2Nod2VpemVyIEvDpHNlIGluIGRlciBUw7xya2VpICAKaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1LLWM2SmV4YzFYMCAgCgotLS0KCiMjIFBvZGNhc3QKCi0tLQoKLSBEZXV0c2NoIOKAkyB3YXJ1bSBuaWNodD8KCmh0dHBzOi8vd3d3LmR3LmNvbS90ci9hbG1hbmNhLcO2xJ9yZW5pbi9kZXV0c2NoLXdhcnVtLW5pY2h0L3MtMjYwOT9tYWNhPXR1ci1ES3BvZGNhc3RfZHduMV90dXItMzgwMy14bWwtbXJzcwoKaHR0cDovL3Jzcy5kdy5jb20veG1sL0RLcG9kY2FzdF9kd24xX3R1cgoKaHR0cDovL3Jzcy5kdy5jb20veG1sL0RLcG9kY2FzdF9kd24yX3R1cgoKCi0gUkFESU8gRCBBVURJT1NQUkFDSEtVUlMgIAoKaHR0cHM6Ly93d3cuZ29ldGhlLmRlL2RlL3Nwci91ZWIvcm9kLmh0bWw/d3Rfc2M9cmFkaW9kCgpodHRwOi8vd3d3Mi5nb2V0aGUuZGUvbHJuL3Byby9yYWQvcnNzMl9kZS54bWwKCgotLS0KCiMjIE11c2lrCgotLS0KCi0gRmFsY28gIApodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWN5cmRQdEVIS3pFICAKCgotIFNhYnJpbmEgU2V0bHVyICAKaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ0hoQVNjcm4ybGxuVzl1bGxRZnI0N0EgIAoKLSBESUUgVE9URU4gSE9TRU4gICAKaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci9qa3BsYWIgIAoKLSBKdWxpICAKaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1hZDh1a0k3Wi1iOCAgCgotIFJldm9sdmVyaGVsZCAgCmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3VzZXIvUmV2b2x2ZXJoZWxkICAKCi0gQ2x1ZXNvICAKaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci9jbHVlc29tdXNpay92aWRlb3MgIAoKCi0gWmlnZXVuZXJqdW5nZSBBbGV4YW5kcmEgMTk2NyAgCmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eEFlNmZ6MXZuZFUgIApodHRwczovL29wZW4uc3BvdGlmeS5jb20vdHJhY2svMHBPZ2lTYThjVGN6djZzaHBVcWZwRz9zaT1yZVFkSkprX1JUcXZEYjJhemlZNzZnICAKCi0tLQoKIyMgRGVyIFNwaWVnZWwKCi0tLQoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3NwaWVnZWwvCgotLS0KCiMjIFR3aXR0ZXIKCi0tLQoKPGJsb2NrcXVvdGUgY2xhc3M9InR3aXR0ZXItdHdlZXQiIGRhdGEtbGFuZz0iZW4iPjxwIGxhbmc9ImRlIiBkaXI9Imx0ciI+PGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9oYXNodGFnL0RldXRzY2hsZXJuZW4/c3JjPWhhc2gmYW1wO3JlZl9zcmM9dHdzcmMlNUV0ZnciPiNEZXV0c2NobGVybmVuPC9hPiBtaXQgZGVtIFRvcC1UaGVtYTogU2NobmVlY2hhb3MgaW4gQmF5ZXJuIDxhIGhyZWY9Imh0dHBzOi8vdC5jby9ENTNTY3diRU5uIj5odHRwczovL3QuY28vRDUzU2N3YkVObjwvYT4gW1RleHQrQXVkaW9dPC9wPiZtZGFzaDsgRFcgRGV1dHNjaCBsZXJuZW4gKEBkd19sZWFybmdlcm1hbikgPGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9kd19sZWFybmdlcm1hbi9zdGF0dXMvMTA4NTE4NzM3NzI4OTU4NDY0Mj9yZWZfc3JjPXR3c3JjJTVFdGZ3Ij5KYW51YXJ5IDE1LCAyMDE5PC9hPjwvYmxvY2txdW90ZT4KPHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vcGxhdGZvcm0udHdpdHRlci5jb20vd2lkZ2V0cy5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgoKLS0tCgojIyBUZXh0CgotIEljaCBoYWJlIGVpbmVuIFRyYXVtCgpodHRwczovL3VzYS51c2VtYmFzc3kuZGUvZXRleHRzL3NvYy90cmF1bS5odG0KCgoKLS0tCgojIERldXRzaCBpc3Qgc2Nod2VyIHsudGFic2V0IC50YWJzZXQtZmFkZSAudGFic2V0LXBpbGxzfQoKCi0tLQoKPGJsb2NrcXVvdGUgY2xhc3M9Imluc3RhZ3JhbS1tZWRpYSIgZGF0YS1pbnN0Z3JtLWNhcHRpb25lZCBkYXRhLWluc3Rncm0tcGVybWFsaW5rPSJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL3AvQnVfYUFxRUFTencvP3V0bV9zb3VyY2U9aWdfZW1iZWQmYW1wO3V0bV9tZWRpdW09bG9hZGluZyIgZGF0YS1pbnN0Z3JtLXZlcnNpb249IjEyIiBzdHlsZT0iIGJhY2tncm91bmQ6I0ZGRjsgYm9yZGVyOjA7IGJvcmRlci1yYWRpdXM6M3B4OyBib3gtc2hhZG93OjAgMCAxcHggMCByZ2JhKDAsMCwwLDAuNSksMCAxcHggMTBweCAwIHJnYmEoMCwwLDAsMC4xNSk7IG1hcmdpbjogMXB4OyBtYXgtd2lkdGg6NTQwcHg7IG1pbi13aWR0aDozMjZweDsgcGFkZGluZzowOyB3aWR0aDo5OS4zNzUlOyB3aWR0aDotd2Via2l0LWNhbGMoMTAwJSAtIDJweCk7IHdpZHRoOmNhbGMoMTAwJSAtIDJweCk7Ij48ZGl2IHN0eWxlPSJwYWRkaW5nOjE2cHg7Ij4gPGEgaHJlZj0iaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9wL0J1X2FBcUVBU3p3Lz91dG1fc291cmNlPWlnX2VtYmVkJmFtcDt1dG1fbWVkaXVtPWxvYWRpbmciIHN0eWxlPSIgYmFja2dyb3VuZDojRkZGRkZGOyBsaW5lLWhlaWdodDowOyBwYWRkaW5nOjAgMDsgdGV4dC1hbGlnbjpjZW50ZXI7IHRleHQtZGVjb3JhdGlvbjpub25lOyB3aWR0aDoxMDAlOyIgdGFyZ2V0PSJfYmxhbmsiPiA8ZGl2IHN0eWxlPSIgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsgYWxpZ24taXRlbXM6IGNlbnRlcjsiPiA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBib3JkZXItcmFkaXVzOiA1MCU7IGZsZXgtZ3JvdzogMDsgaGVpZ2h0OiA0MHB4OyBtYXJnaW4tcmlnaHQ6IDE0cHg7IHdpZHRoOiA0MHB4OyI+PC9kaXY+IDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGZsZXgtZ3JvdzogMTsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Ij4gPGRpdiBzdHlsZT0iIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGJvcmRlci1yYWRpdXM6IDRweDsgZmxleC1ncm93OiAwOyBoZWlnaHQ6IDE0cHg7IG1hcmdpbi1ib3R0b206IDZweDsgd2lkdGg6IDEwMHB4OyI+PC9kaXY+IDxkaXYgc3R5bGU9IiBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBib3JkZXItcmFkaXVzOiA0cHg7IGZsZXgtZ3JvdzogMDsgaGVpZ2h0OiAxNHB4OyB3aWR0aDogNjBweDsiPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9InBhZGRpbmc6IDE5JSAwOyI+PC9kaXY+PGRpdiBzdHlsZT0iZGlzcGxheTpibG9jazsgaGVpZ2h0OjUwcHg7IG1hcmdpbjowIGF1dG8gMTJweDsgd2lkdGg6NTBweDsiPjxzdmcgd2lkdGg9IjUwcHgiIGhlaWdodD0iNTBweCIgdmlld0JveD0iMCAwIDYwIDYwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwczovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwczovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGcgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUxMS4wMDAwMDAsIC0yMC4wMDAwMDApIiBmaWxsPSIjMDAwMDAwIj48Zz48cGF0aCBkPSJNNTU2Ljg2OSwzMC40MSBDNTU0LjgxNCwzMC40MSA1NTMuMTQ4LDMyLjA3NiA1NTMuMTQ4LDM0LjEzMSBDNTUzLjE0OCwzNi4xODYgNTU0LjgxNCwzNy44NTIgNTU2Ljg2OSwzNy44NTIgQzU1OC45MjQsMzcuODUyIDU2MC41OSwzNi4xODYgNTYwLjU5LDM0LjEzMSBDNTYwLjU5LDMyLjA3NiA1NTguOTI0LDMwLjQxIDU1Ni44NjksMzAuNDEgTTU0MSw2MC42NTcgQzUzNS4xMTQsNjAuNjU3IDUzMC4zNDIsNTUuODg3IDUzMC4zNDIsNTAgQzUzMC4zNDIsNDQuMTE0IDUzNS4xMTQsMzkuMzQyIDU0MSwzOS4zNDIgQzU0Ni44ODcsMzkuMzQyIDU1MS42NTgsNDQuMTE0IDU1MS42NTgsNTAgQzU1MS42NTgsNTUuODg3IDU0Ni44ODcsNjAuNjU3IDU0MSw2MC42NTcgTTU0MSwzMy44ODYgQzUzMi4xLDMzLjg4NiA1MjQuODg2LDQxLjEgNTI0Ljg4Niw1MCBDNTI0Ljg4Niw1OC44OTkgNTMyLjEsNjYuMTEzIDU0MSw2Ni4xMTMgQzU0OS45LDY2LjExMyA1NTcuMTE1LDU4Ljg5OSA1NTcuMTE1LDUwIEM1NTcuMTE1LDQxLjEgNTQ5LjksMzMuODg2IDU0MSwzMy44ODYgTTU2NS4zNzgsNjIuMTAxIEM1NjUuMjQ0LDY1LjAyMiA1NjQuNzU2LDY2LjYwNiA1NjQuMzQ2LDY3LjY2MyBDNTYzLjgwMyw2OS4wNiA1NjMuMTU0LDcwLjA1NyA1NjIuMTA2LDcxLjEwNiBDNTYxLjA1OCw3Mi4xNTUgNTYwLjA2LDcyLjgwMyA1NTguNjYyLDczLjM0NyBDNTU3LjYwNyw3My43NTcgNTU2LjAyMSw3NC4yNDQgNTUzLjEwMiw3NC4zNzggQzU0OS45NDQsNzQuNTIxIDU0OC45OTcsNzQuNTUyIDU0MSw3NC41NTIgQzUzMy4wMDMsNzQuNTUyIDUzMi4wNTYsNzQuNTIxIDUyOC44OTgsNzQuMzc4IEM1MjUuOTc5LDc0LjI0NCA1MjQuMzkzLDczLjc1NyA1MjMuMzM4LDczLjM0NyBDNTIxLjk0LDcyLjgwMyA1MjAuOTQyLDcyLjE1NSA1MTkuODk0LDcxLjEwNiBDNTE4Ljg0Niw3MC4wNTcgNTE4LjE5Nyw2OS4wNiA1MTcuNjU0LDY3LjY2MyBDNTE3LjI0NCw2Ni42MDYgNTE2Ljc1NSw2NS4wMjIgNTE2LjYyMyw2Mi4xMDEgQzUxNi40NzksNTguOTQzIDUxNi40NDgsNTcuOTk2IDUxNi40NDgsNTAgQzUxNi40NDgsNDIuMDAzIDUxNi40NzksNDEuMDU2IDUxNi42MjMsMzcuODk5IEM1MTYuNzU1LDM0Ljk3OCA1MTcuMjQ0LDMzLjM5MSA1MTcuNjU0LDMyLjMzOCBDNTE4LjE5NywzMC45MzggNTE4Ljg0NiwyOS45NDIgNTE5Ljg5NCwyOC44OTQgQzUyMC45NDIsMjcuODQ2IDUyMS45NCwyNy4xOTYgNTIzLjMzOCwyNi42NTQgQzUyNC4zOTMsMjYuMjQ0IDUyNS45NzksMjUuNzU2IDUyOC44OTgsMjUuNjIzIEM1MzIuMDU3LDI1LjQ3OSA1MzMuMDA0LDI1LjQ0OCA1NDEsMjUuNDQ4IEM1NDguOTk3LDI1LjQ0OCA1NDkuOTQzLDI1LjQ3OSA1NTMuMTAyLDI1LjYyMyBDNTU2LjAyMSwyNS43NTYgNTU3LjYwNywyNi4yNDQgNTU4LjY2MiwyNi42NTQgQzU2MC4wNiwyNy4xOTYgNTYxLjA1OCwyNy44NDYgNTYyLjEwNiwyOC44OTQgQzU2My4xNTQsMjkuOTQyIDU2My44MDMsMzAuOTM4IDU2NC4zNDYsMzIuMzM4IEM1NjQuNzU2LDMzLjM5MSA1NjUuMjQ0LDM0Ljk3OCA1NjUuMzc4LDM3Ljg5OSBDNTY1LjUyMiw0MS4wNTYgNTY1LjU1Miw0Mi4wMDMgNTY1LjU1Miw1MCBDNTY1LjU1Miw1Ny45OTYgNTY1LjUyMiw1OC45NDMgNTY1LjM3OCw2Mi4xMDEgTTU3MC44MiwzNy42MzEgQzU3MC42NzQsMzQuNDM4IDU3MC4xNjcsMzIuMjU4IDU2OS40MjUsMzAuMzQ5IEM1NjguNjU5LDI4LjM3NyA1NjcuNjMzLDI2LjcwMiA1NjUuOTY1LDI1LjAzNSBDNTY0LjI5NywyMy4zNjggNTYyLjYyMywyMi4zNDIgNTYwLjY1MiwyMS41NzUgQzU1OC43NDMsMjAuODM0IDU1Ni41NjIsMjAuMzI2IDU1My4zNjksMjAuMTggQzU1MC4xNjksMjAuMDMzIDU0OS4xNDgsMjAgNTQxLDIwIEM1MzIuODUzLDIwIDUzMS44MzEsMjAuMDMzIDUyOC42MzEsMjAuMTggQzUyNS40MzgsMjAuMzI2IDUyMy4yNTcsMjAuODM0IDUyMS4zNDksMjEuNTc1IEM1MTkuMzc2LDIyLjM0MiA1MTcuNzAzLDIzLjM2OCA1MTYuMDM1LDI1LjAzNSBDNTE0LjM2OCwyNi43MDIgNTEzLjM0MiwyOC4zNzcgNTEyLjU3NCwzMC4zNDkgQzUxMS44MzQsMzIuMjU4IDUxMS4zMjYsMzQuNDM4IDUxMS4xODEsMzcuNjMxIEM1MTEuMDM1LDQwLjgzMSA1MTEsNDEuODUxIDUxMSw1MCBDNTExLDU4LjE0NyA1MTEuMDM1LDU5LjE3IDUxMS4xODEsNjIuMzY5IEM1MTEuMzI2LDY1LjU2MiA1MTEuODM0LDY3Ljc0MyA1MTIuNTc0LDY5LjY1MSBDNTEzLjM0Miw3MS42MjUgNTE0LjM2OCw3My4yOTYgNTE2LjAzNSw3NC45NjUgQzUxNy43MDMsNzYuNjM0IDUxOS4zNzYsNzcuNjU4IDUyMS4zNDksNzguNDI1IEM1MjMuMjU3LDc5LjE2NyA1MjUuNDM4LDc5LjY3MyA1MjguNjMxLDc5LjgyIEM1MzEuODMxLDc5Ljk2NSA1MzIuODUzLDgwLjAwMSA1NDEsODAuMDAxIEM1NDkuMTQ4LDgwLjAwMSA1NTAuMTY5LDc5Ljk2NSA1NTMuMzY5LDc5LjgyIEM1NTYuNTYyLDc5LjY3MyA1NTguNzQzLDc5LjE2NyA1NjAuNjUyLDc4LjQyNSBDNTYyLjYyMyw3Ny42NTggNTY0LjI5Nyw3Ni42MzQgNTY1Ljk2NSw3NC45NjUgQzU2Ny42MzMsNzMuMjk2IDU2OC42NTksNzEuNjI1IDU2OS40MjUsNjkuNjUxIEM1NzAuMTY3LDY3Ljc0MyA1NzAuNjc0LDY1LjU2MiA1NzAuODIsNjIuMzY5IEM1NzAuOTY2LDU5LjE3IDU3MSw1OC4xNDcgNTcxLDUwIEM1NzEsNDEuODUxIDU3MC45NjYsNDAuODMxIDU3MC44MiwzNy42MzEiPjwvcGF0aD48L2c+PC9nPjwvZz48L3N2Zz48L2Rpdj48ZGl2IHN0eWxlPSJwYWRkaW5nLXRvcDogOHB4OyI+IDxkaXYgc3R5bGU9IiBjb2xvcjojMzg5N2YwOyBmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweDsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0OjU1MDsgbGluZS1oZWlnaHQ6MThweDsiPiBWaWV3IHRoaXMgcG9zdCBvbiBJbnN0YWdyYW08L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJwYWRkaW5nOiAxMi41JSAwOyI+PC9kaXY+IDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IG1hcmdpbi1ib3R0b206IDE0cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7Ij48ZGl2PiA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBib3JkZXItcmFkaXVzOiA1MCU7IGhlaWdodDogMTIuNXB4OyB3aWR0aDogMTIuNXB4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSB0cmFuc2xhdGVZKDdweCk7Ij48L2Rpdj4gPGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgaGVpZ2h0OiAxMi41cHg7IHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWCgzcHgpIHRyYW5zbGF0ZVkoMXB4KTsgd2lkdGg6IDEyLjVweDsgZmxleC1ncm93OiAwOyBtYXJnaW4tcmlnaHQ6IDE0cHg7IG1hcmdpbi1sZWZ0OiAycHg7Ij48L2Rpdj4gPGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgYm9yZGVyLXJhZGl1czogNTAlOyBoZWlnaHQ6IDEyLjVweDsgd2lkdGg6IDEyLjVweDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDlweCkgdHJhbnNsYXRlWSgtMThweCk7Ij48L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogOHB4OyI+IDxkaXYgc3R5bGU9IiBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBib3JkZXItcmFkaXVzOiA1MCU7IGZsZXgtZ3JvdzogMDsgaGVpZ2h0OiAyMHB4OyB3aWR0aDogMjBweDsiPjwvZGl2PiA8ZGl2IHN0eWxlPSIgd2lkdGg6IDA7IGhlaWdodDogMDsgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItbGVmdDogNnB4IHNvbGlkICNmNGY0ZjQ7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDE2cHgpIHRyYW5zbGF0ZVkoLTRweCkgcm90YXRlKDMwZGVnKSI+PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IGF1dG87Ij4gPGRpdiBzdHlsZT0iIHdpZHRoOiAwcHg7IGJvcmRlci10b3A6IDhweCBzb2xpZCAjRjRGNEY0OyBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpOyI+PC9kaXY+IDxkaXYgc3R5bGU9IiBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBmbGV4LWdyb3c6IDA7IGhlaWdodDogMTJweDsgd2lkdGg6IDE2cHg7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsiPjwvZGl2PiA8ZGl2IHN0eWxlPSIgd2lkdGg6IDA7IGhlaWdodDogMDsgYm9yZGVyLXRvcDogOHB4IHNvbGlkICNGNEY0RjQ7IGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KSB0cmFuc2xhdGVYKDhweCk7Ij48L2Rpdj48L2Rpdj48L2Rpdj48L2E+IDxwIHN0eWxlPSIgbWFyZ2luOjhweCAwIDAgMDsgcGFkZGluZzowIDRweDsiPiA8YSBocmVmPSJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL3AvQnVfYUFxRUFTencvP3V0bV9zb3VyY2U9aWdfZW1iZWQmYW1wO3V0bV9tZWRpdW09bG9hZGluZyIgc3R5bGU9IiBjb2xvcjojMDAwOyBmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweDsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgbGluZS1oZWlnaHQ6MTdweDsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IHdvcmQtd3JhcDpicmVhay13b3JkOyIgdGFyZ2V0PSJfYmxhbmsiPlRqYSwgZGllIGRldXRzY2hlIEdyYW1tYXRpayBoYXQgd29obCBzY2hvbiBtYW5jaGUgTGVybmVyIHVuZCBMZXJuZXJpbm5lbiBpbiBkZW4gV2FobnNpbm4gZ2V0cmllYmVuIC4uLiBIYWJ0IGlociBUaXBwcywgd2llIG1hbiBzaWNoIGRpZSBFbmR1bmdlbiBkZXIgRsOkbGxlIGJlc3NlciBtZXJrZW4ga2Fubj8gQGR3X2V1cm9tYXh4PC9hPjwvcD4gPHAgc3R5bGU9IiBjb2xvcjojYzljOGNkOyBmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweDsgbGluZS1oZWlnaHQ6MTdweDsgbWFyZ2luLWJvdHRvbTowOyBtYXJnaW4tdG9wOjhweDsgb3ZlcmZsb3c6aGlkZGVuOyBwYWRkaW5nOjhweCAwIDdweDsgdGV4dC1hbGlnbjpjZW50ZXI7IHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7IHdoaXRlLXNwYWNlOm5vd3JhcDsiPkEgcG9zdCBzaGFyZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9kd19kZXV0c2NobGVybmVuLz91dG1fc291cmNlPWlnX2VtYmVkJmFtcDt1dG1fbWVkaXVtPWxvYWRpbmciIHN0eWxlPSIgY29sb3I6I2M5YzhjZDsgZm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjE0cHg7IGZvbnQtc3R5bGU6bm9ybWFsOyBmb250LXdlaWdodDpub3JtYWw7IGxpbmUtaGVpZ2h0OjE3cHg7IiB0YXJnZXQ9Il9ibGFuayI+IERXIC0gRGV1dHNjaCBsZXJuZW48L2E+IChAZHdfZGV1dHNjaGxlcm5lbikgb24gPHRpbWUgc3R5bGU9IiBmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweDsgbGluZS1oZWlnaHQ6MTdweDsiIGRhdGV0aW1lPSIyMDE5LTAzLTE0VDEzOjM5OjQ5KzAwOjAwIj5NYXIgMTQsIDIwMTkgYXQgNjozOWFtIFBEVDwvdGltZT48L3A+PC9kaXY+PC9ibG9ja3F1b3RlPiA8c2NyaXB0IGFzeW5jIHNyYz0iLy93d3cuaW5zdGFncmFtLmNvbS9lbWJlZC5qcyI+PC9zY3JpcHQ+CgotLS0KCgoKCgoKLS0tCgoKCi0tLQoKIyBOYW1lbiB7LnRhYnNldCAudGFic2V0LWZhZGUgLnRhYnNldC1waWxsc30KCi0tLQoKIyMgTmFtZW4gTm9taW5hdGl2ICB7LnRhYnNldCAudGFic2V0LWZhZGUgLnRhYnNldC1waWxsc30KCi0tLQoKR2VudXMgKEdlbmRlcikgIAoqbWFza3VsaW5lKiBkZXIgVGlzY2ggIAoqbmV1dHJhbCogZGFzIEJpbGQgIAoqZmVtaW5pbmUqIGRpZSBMYW1wZQoKUmVnaXN0cmllcnVuZ3Njb2RlICAKU3RhZHQgU3TDpGR0ZSAKU3TDpGR0ZW5hbWVuICAKZGllIFRheGlzICAKUGF1c2UgIApHZXNwcsOkY2ggIAplaW4gcGFhciBIYW5kZSAgCmVoZXBhYXIgIAoKCk1hbm4gfCBNw6RubmVyICAKRnJhdSB8IEZyYXVlbiAgClZpc2l0ZW5rYXJ0ZSB8IFZpc2l0ZW5rYXJ0ZW4gIApCZXJ1ZiB8IEJlcnVmZSAgCkJ1Y2ggfCBCw7xjaGVyICAKTGVocmVyaW4gfCBMZWhyZW5pbm5lbiAgCkxlaHJlciB8IExlaHJlciAgCkt1cnN0ZWlsbmVobWVyaW4gfCBLdXJzdGVpbG5laG1lcmlubmVuICAKS3Vyc3RlaWxuZWhtZXIgfCBLdXJzdGVpbG5laG1lciAgCkZlbnN0ZXIgfCBGZW5zdGVyICAKVGlzY2ggfCBUaXNjaGUgIAoKCmRhcyBIYXVzICsgZGllIEZyYXUgLT4gZGllIEhhdXNmcmF1ICAKCldhcyBpc3QgZGVyIEFydGlrZWwgdm9uIC4uLiA/ICAKRGVyIEFydGlrZWwgdm9uIEJhbGwgaXN0IGRlci4gIAoKCgotLS0KCiMjIyBkZXIKPHNwYW4gc3R5bGU9ImNvbG9yOmJsdWUiPgpkZXIgQXVmenVnIHwgZGllIEF1ZnrDvGdlICAKZGVyIFN1cGVybWFya3QgIApkZXIgRG9tICAKZGVyIEF1c3dlaXMgIApkZXIgV2VnIHwgZGllIFdlZ2UKZGVyIE5hdmlnYXRvciB8IGRpZSBOYXZpZ2F0b3JlbiAgCmRlciBTdGFkdHBsYW4gfCBkaWUgU3RhZHRwbMOkbmUKZGVyIEJhaG5vZiAgCmRlciBCcsO8Y2tlICAKZGVyIFfDvHJmZWwgIApkZXIgU3RhYiAgCiB8IGRpZSBTdGFkdG1pdHRlICAKZGVyIFRpc2NoCmRlciBCYWxsCjwvc3Bhbj4KCgoKCgotLS0KCiMjIyBkaWUKPHNwYW4gc3R5bGU9ImNvbG9yOnJlZCI+CmRpZSBEaXNjbyAgCmRpZSBTcHJhY2hzaHVsZSAgCmRpZSBQb3N0CmRpZSBCYW5rIE5hdGlvbmFsICAKZGllIFBvbGl6ZWkgIApkaWUgQmFuayAgCmRpZSBzdHJhw59lIHwgZGllIHN0cmHDn2VuCmRpZSBBbXBlbCAgCmRpZSBCdXNoYWx0ZXN0ZWxsZSAgCmRpZSBQeXJhbWlkZSAgCmRpZSBCcsO8Y2tlICAKZGllIEJlaWRlbiAgCmRpZSBOw6RoZSAgCmRpZSBGZXJuZSAgCmRpZSBMYW1wZSAgCmRpZSBUYXNjaGUgIAouICAKLi5oZWl0ICAKLi5rZWl0ICAKLi51bmcgIAouICAKPC9zcGFuPgoKCgotLS0KCiMjIyBkYXMKPHNwYW4gc3R5bGU9ImNvbG9yOmdyZWVuIj4KZGFzIEZhaHJyYWQgIApkYXMgU2N3aGltbWJhZCAgCmRhcyBNdXNldW0gIApkYXMgUG9saXR6ZWlhdXRvICAKZGFzIFJlc3RhdXJhbnQgIApkYXMgQXV0byB8IGRpZSBBdXRvcyAgCmRhcyBIb3RlbCB8IGRpZSBIb3RlbHMgIApkYXMgWmVudHJ1bSAgCmRhcyBLaW5vCmRhcyBDYWbDqSAgCmRhcyBUZXBwaWNobWVzc2VyIChNYWtldCBixLHDp2HEn8SxKSAgCmRhcyBIYW5keSAgCmRhcyBCaWxkICAKZGFzIE3DtmJlbCAgCmRhcyBCZXR0ICAKZGFzIEhhdXMgfCBkaWUgSMOkdXNlciAgCgo8L3NwYW4+CgotLS0KCi0tLQoKIyMgTmFtZW4gQWtrdXNhdGl2IHsudGFic2V0IC50YWJzZXQtZmFkZSAudGFic2V0LXBpbGxzfQoKfCAqKkRBVMSwVioqICAgICAgfCAqKkRhdGl2IG9kZXIgQWtrdXNhdGl2KiogICAgIHwgKipBS0tVU0FUSVYqKiAgICAgIHwgCnwtLS0gICAgICAgICAgICAgfC0tLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwtLS0gICAgICAgICAgICAgICAgIHwKfCBhdXMgICAgICAgICAgICB8ICoqYW4qKiAgICAgICAgICAgICAgICAgICAgICAgfCBkdXJjaCAgICAgICAgICAgICAgfCAKfCBiZWkgICAgICAgICAgICB8ICoqYXVmKiogICAgICAgICAgICAgICAgICAgICAgfCBmw7xyICAgICAgICAgICAgICAgIHwgCnwgbWl0ICAgICAgICAgICAgfCAqKmhpbnRlcioqICAgICAgICAgICAgICAgICAgIHwgZ2VnZW4gICAgICAgICAgICAgIHwgCnwgbmFjaCAgICAgICAgICAgfCAqKmluKiogICAgICAgICAgICAgICAgICAgICAgIHwgb2huZSAgICAgICAgICAgICAgIHwgCnwgc2VpdCAgICAgICAgICAgfCAqKm5lYmVuKiogICAgICAgICAgICAgICAgICAgIHwgdW0gICAgICAgICAgICAgICAgIHwgCnwgdm9uICAgICAgICAgICAgfCAqKsO8YmVyKiogICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICB8IAp8IHp1ICAgICAgICAgICAgIHwgKip1bnRlcioqICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICB8IAp8ICAgICAgICAgICAgICAgIHwgKip2b3IqKiAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICB8IAp8ICAgICAgICAgICAgICAgIHwgKip6d2lzY2hlbioqICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICB8CgoqKldvLS0tPiBEQVTEsFYqKgoKei5CCgpkZXIgU2NocmFuayAtLSA+IGluIGRlbSBTY2hyYW5rCmRpZSBUYXNjaGUgLS0+IGluIGRlciBUYXNjaGUKZGFzIFJlZ2FsIC0tPiBpbiBkZW0gUmVnYWwKZGllIEF1dG9zIC0tPiBpbiBkZW4gQXV0b3MKCmFuIGRlbSAtLT4gYW0KYmVpIGRlbSAtLT4gYmVpbQppbiBkZW0gLS0+IGltCnZvbiBkZW0gLS0+dm9tCnp1IGRlbSAtLT56dW0gLyB6dSBkZXIgLS0+IHp1cgoKKipXb2hpbj8tLS0tLT4gQWtrdXNhdGl2KioKCmRlciBTY2hyYW5rIC0tPiBpbiBkZW4gU2NocmFuawpkaWUgVGFzY2hlIC0tPiBpbiBkaWUgVGFzY2hlCmRhcyBSZWdhbCAtLT4gaW4gZGFzIFJlZ2FsCmRpZSBBdXRvcyAtLT4gaW4gZGllIEF1dG9zCgphbiBkYXMgLS0+IGFucwppbiBkYXMgLS0+IGlucwoKIyMgTmFtZW4gQWtrdXNhdGl2IHsudGFic2V0IC50YWJzZXQtZmFkZSAudGFic2V0LXBpbGxzfQoKCi0tLQoKIyMgTmFtZW4gRGF0aXYgey50YWJzZXQgLnRhYnNldC1mYWRlIC50YWJzZXQtcGlsbHN9CgoKCgpkaWUgQmFuayAtPiBkZXIgQmFuayAgCmRpZSBBbXBlbCAtPiBkZXIgQW1wZWwgIApkaWUgQnLDvGNrZSAtPiBkZXIgQnLDvGNrZSAgCgphbiBkZW0gQmFobm9mCmFtIEJhaG5vZmYgIAp6d2lzY2hlbiBkZW0gU3VwZXJtYXJrdCB1bmQgZGVtIEhvdGVsCmhpbnRlciBkZXIgSMOkdXNlcm4KaW4gZGVtIFplbnRydW0gIAppbSBaZW50cnVtICAKbmViZW4gZGVyIFBvbGl6ZWkgIAp6d2lzY2hlbiBkZW0gQmFobm9mZiB1bmQgZGVyIFBvc3QgIAp2b3IgZGVyIEJhbmsKaGludGVyIGRlciBCcsO8Y2tlICAKbmViZW4gZGVtIE11c2V1bQp2b3IgZGVtIFJlc3RhdXJhbnQKCgotLS0KCiMjIyBkZXIgLT4gZGVtICB7LnRhYnNldCAudGFic2V0LWZhZGUgLnRhYnNldC1waWxsc30KCmRlci9laW4gQmFobmhvZiB8IHZvciBkZW0gZWluZW0gQmFobmhvZgoKCi0tLQoKIyMjIGRhcyAtPiBkZW0gIHsudGFic2V0IC50YWJzZXQtZmFkZSAudGFic2V0LXBpbGxzfQoKZGFzIGVpbiBSZXN0YXVyYW50IHwgdm9yIGRlbSBlaW5lbSBSZXN0YXVyYW50CmRhcyBaZW50cnVtIHwgaW4gZGVtIChpbSkgWmVudHJ1bQoKLS0tCgojIyMgZGllIC0+IGRlciAgey50YWJzZXQgLnRhYnNldC1mYWRlIC50YWJzZXQtcGlsbHN9CgpkaWUgZWluZSBBbXBlbCB8IHZvciBkZXIgZWluZXIgQW1wZWwKCmRpZSBTdGFkdG1pdHRlIHwgaW4gZGVyIFN0YWR0bWl0dGUKCi0tLQoKIyMjIGRpZSBwbC4gLT4gZGVuICsgbiAgey50YWJzZXQgLnRhYnNldC1mYWRlIC50YWJzZXQtcGlsbHN9CgpkaWUgQ2Fmw6lzL0jDpHVzZXIgfCB2b3IgZGVuIENhZsOpcy9Iw6R1c2VybgoKCgoKCgoKCi0tLQoKIyBWZXJiZW4gey50YWJzZXQgLnRhYnNldC1mYWRlIC50YWJzZXQtcGlsbHN9CgoKa29tbWVuICAKdmVyYnN0YW1tIChrb21tKSAgCmVuZHVuZyAoZW4pICAKCiMjIHJlZ2VsbWHDn2lnZSBWZXJiZW4KCmhhYmVuLS1nZWhhYnQKbWFjaGVuLS1nZW1hY2h0CnNhZ2VuLS1nZXNhZ3QKw7xiZW4tLWdlw7xidAphbnR3b3J0ZW4tLWdlYW50d29ydGV0CmFyYmVpdGVuLS1nZWFyYmVpdGV0CmtvY2hlbi0tZ2Vrb2NodApsZXJuZW4tLWdlbGVybnQKCiMjIHVucmVnZWxtYcOfaWdlIHZlcmJlbgogIAogc3ByZWNoZW4tLWdlc3ByYWNoZW4KIHNjZ3JlaWJlbi0tZ2VzY2hpZWJlbgogdHJlZmZlbi0tZ2V0cm9mZmVuCiBuZWhtZW4tLWdlbm9tbWVuCiB0cmlua2VuLS1nZXRydW5rZW4KIHNpbmdlbi0tZ2VzdW5nZW4KIGZpbmRlbi0tZ2VmdW5kZW4KIGVzc2VuLWdlZ2Vzc2VuCiBzZWhlbi0tZ2VzZWhlbgogbGVzZW4tLWdlbGVzZW4KIGJhY2tlbi1nZWJhY2tlbgogCiMjIFJlZ2VsbWHDn2lnZSB0cmVubmJhcmUgdmVyYmVuCgogLS1nZS0tLXQKYXVmcmF1bWVuLS1hdWZnZXLDpHVtdAplaW5rYXVmZW4tLWVpbmdla2F1ZgphYmhvbGVuLS1hYmdlaG9sdAoKIyMgdW5yZWdsbcOkw59pZ2UgdHJlbm5iYXJlIHZlcmJlbgoKYW5ydWZlbi1hbmdlcnVmZW4KZWlubGFkZW4tLWVpbmdlbGFkZW4KZmVybnNlaGVuLS1mZXJuZ2VzZWhlbgoKIyMgdmVyYmVuIGF1ZiAtaWVyZW4KCnRlbGVmb25pZXJlbi0tdGVsZWZvbmllcnQKZm90b2dyYWZpZXJlbi1mb3RvZ3JhZmllcnQKbWFya2llcmVuLS1tYXJraWVydAoKCgoKCi0tLQoKIyMgS29uanVnaWVyZW4gIAoKfCAqKnZlcmIqKiAgICAgIHwgKippY2gqKiAgICAgfCAqKmR1KiogICAgICB8ICoqZXIvc2llL2VzKiogICB8ICoqd2lyKiogICAgIHwgKippaHIqKiAgICAgfCAqKnNpZS9TaWUqKiAgICAgfAp8LS0tICAgICAgICAgICAgfC0tLSAgICAgICAgICB8LS0tICAgICAgICAgIHwtLS0gICAgICAgICAgICAgIHwtLS0gICAgICAgICAgfC0tLSAgICAgICAgICB8LS0tICAgICAgICAgICAgICB8CnwgKmtvbW1lbiogICAgICB8IGtvbW1lICAgICAgIHwga29tbXN0ICAgICAgfCBrb21tdCAgICAgICAgICAgfCBrb21tZW4gICAgICB8IGtvbW10ICAgICAgIHwga29tbWVuICAgICAgICAgIHwgCnwgKmhlacOfZW4qICAgICAgfCBoZWnDn2UgICAgICAgfCBoZWnDn3QgICAgICAgfCBoZWnDn3QgICAgICAgICAgIHwgaGVpw59lbiAgICAgIHwgaGVpw590ICAgICAgIHwgaGVpw59lbiAgICAgICAgICB8IAp8ICp3b2huZW4qICAgICAgfCB3b2huZSAgICAgICB8IHdvaG5zdCAgICAgIHwgd29obnQgICAgICAgICAgIHwgd29obmVuICAgICAgfCB3b2hudCAgICAgICB8IHdvaG5lbiAgICAgICAgICB8IAp8ICphcmJlaXRlbiogICAgfCBhcmJlaXRlICAgICB8IGFyYmVpdGVzdCAgIHwgYXJiZWl0ZXQgICAgICAgIHwgYXJiZWl0ZW4gICAgfCBhcmJlaXRldCAgICB8IGFyYmVpdGVuICAgICAgICB8IAp8ICpsZWJlbiogICAgICAgfCBsZWJlICAgICAgICB8IGxlYnN0ICAgICAgIHwgbGVidCAgICAgICAgICAgIHwgbGViZW4gICAgICAgfCBsZWJ0ICAgICAgICB8IGxlYmVuICAgICAgICAgICB8IAp8ICprZW5uZW4qICAgICAgfCBrZW5uZSAgICAgICB8IGtlbm5zdCAgICAgIHwga2VubnQgICAgICAgICAgIHwga2VubmVuICAgICAgfCBrZW5udCAgICAgICB8IGtlbm5lbiAgICAgICAgICB8IAp8ICpow6RuZ2VuKiAgICAgIHwgaMOkbmdlICAgICAgIHwgaMOkbmdzdCAgICAgIHwgaMOkbmd0ICAgICAgICAgICB8IGjDpG5nZW4gICAgICB8IGjDpG5ndCAgICAgICB8IGjDpG5nZW4gICAgICAgICAgfCAKCnN1Y2hlbiAgCnphaGxlbiAgCgoKCi0tLQoKIyMgVmVyYiBtaXQgVm9rYWwgd2VjaHNlbAoKZSAtPiBpICgyLTMgc2luZ3VsYXIpCgoKfCAqKnZlcmIqKiAgICAgIHwgKippY2gqKiAgICAgfCAqKmR1KiogICAgICB8ICoqZXIvc2llL2VzKiogICB8ICoqd2lyKiogICAgIHwgKippaHIqKiAgICAgfCAqKnNpZS9TaWUqKiAgICAgfAp8LS0tICAgICAgICAgICAgfC0tLSAgICAgICAgICB8LS0tICAgICAgICAgIHwtLS0gICAgICAgICAgICAgIHwtLS0gICAgICAgICAgfC0tLSAgICAgICAgICB8LS0tICAgICAgICAgICAgICB8CnwgKnNwcmVjaGVuKiAgICB8IHNwcmVjaGUgICAgIHwgc3ByaWNoc3QgICAgfCBzcHJpY2h0ICAgICAgICAgfCBzcHJlY2hlbiAgICB8IHNwcmVjaHQgICAgIHwgc3ByZWNoZW4gICAgICAgIHwKfCAqaGVsZmVuKiAgICAgIHwgaGVsZmUgICAgICAgfCBoaWxmc3QgICAgICB8IGhpbGZ0ICAgICAgICAgICB8IGhlbGZlbiAgICAgIHwgaGVsZnQgICAgICAgfCBoZWxmZW4gICAgICAgICAgfAp8ICp0cmFnZW4qICAgICAgfCB0cmFnZSAgICAgICB8IHRyw6Rnc3QgICAgICB8IHRyw6RndCAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwKfCAqZ2VmYWxsZW4qICAgIHwgZ2VmYWxsZSAgICAgfCBnZWbDpGxsc3QgICAgfCBnZWbDpGxsdCAgICAgICAgIHwgZ2VmYWxsZW4gICAgfCBnZWZhbGx0ICAgICB8IGdlZmFsbGVuICAgICAgICB8CnwgKndlcmRlbiogICAgICB8IHdlcmRlICAgICAgIHwgd2lyc3QgICAgICAgfCB3aXJkICAgICAgICAgICAgfCB3ZXJkZW4gICAgICB8IHdlcmRldCAgICAgIHwgd2VyZGVuICAgICAgICAgIHwKCgoKCgoKCi0tLQoKIyMgTW9kYWx2ZXJiZW4KCnwgKip2ZXJiKiogICAgICB8ICoqaWNoKiogICB8ICoqZHUqKiAgICB8ICoqZXIvc2llL2VzKiogfCAqKndpcioqICAgfCAqKmlocioqICAgfCAqKnNpZS9TaWUqKiAgIHwKfC0tLSAgICAgICAgICAgIHwtLS0gICAgICAgIHwtLS0gICAgICAgIHwtLS0gICAgICAgICAgICB8LS0tICAgICAgICB8LS0tICAgICAgICB8LS0tICAgICAgICAgICAgfAp8ICpzZWluKiAgICAgICAgfCBiaW4gICAgICAgfCBiaXN0ICAgICAgfCBpc3QgICAgICAgICAgIHwgc2luZCAgICAgIHwgc2VpZCAgICAgIHwgc2luZCAgICAgICAgICB8CnwgKmhhYmVuKiAgICAgICB8IGhhYmUgICAgICB8IGhhc3QgICAgICB8IGhhdCAgICAgICAgICAgfCBoYWJlbiAgICAgfCBoYWJ0ICAgICAgfCBoYWJlbiAgICAgICAgIHwKfCAqc29sbGVuKiAgICAgIHwgc29sbCAgICAgIHwgc29sbHN0ICAgIHwgc29sbCAgICAgICAgICB8IHNvbGxlbiAgICB8IHNvbGx0ICAgICB8IHNvbGxlbiAgICAgICAgfAp8ICprw7ZubmVuKiAgICAgIHwga2FubiAgICAgIHwga2FubnN0ICAgIHwga2FubiAgICAgICAgICB8IGvDtm5uZW4gICAgfCBrw7ZubnQgICAgIHwga8O2bm5lbiAgICAgICAgfAp8ICp3b2xsZW4qICAgICAgfCB3aWxsICAgICAgfCB3aWxsc3QgICAgfCB3aWxsICAgICAgICAgIHwgd29sbGVuICAgIHwgd29sbHQgICAgIHwgd29sbGVuICAgICAgICB8CnwgKmTDvHJmZW4qICAgICAgfCBkYXJmICAgICAgfCBkYXJmc3QgICAgfCBkYXJmICAgICAgICAgIHwgZMO8cmZlbiAgICB8IGTDvHJmdCAgICAgfCBkw7xyZmVuICAgICAgICB8CnwgKm3DvHNzZW4qICAgICAgfCBtdXNzICAgICAgfCBtdXNzdCAgICAgfCBtdXNzICAgICAgICAgIHwgbcO8c3NlbiAgICB8IG3DvHNzdCAgICAgfCBtw7xzc2VuICAgICAgICB8CgoKbcO2Y2h0ZW4KCkR1IHNvbGxzdCBkaWVzZW4gVGVlIHRyaW5rZW4uICAKCkZhYmlhbiB3aWxsIGxpZWRlciBtYWNoZXIgd2VyZGVuLiAgCkljaCBtw7ZjaHRlIC4uLiAoQmVydWYpIHdlcmRlbi4gIAoKSWNoIHdpbGwgZWluIEF1dG8ga2F1ZmVuLiAgCkljaCB3aWxsIGR1cmNoIEV1cm9wYSByZWlzZW4uICAKCgoKLS0tCgojIyBUcmVuYmFyZQoKCnwgKip2ZXJiKiogICAgICB8ICoqaWNoKiogICB8ICoqZHUqKiAgICB8ICoqZXIvc2llL2VzKiogfCAqKndpcioqICAgfCAqKmlocioqICAgfCAqKnNpZS9TaWUqKiAgIHwKfC0tLSAgICAgICAgICAgIHwtLS0gICAgICAgIHwtLS0gICAgICAgIHwtLS0gICAgICAgICAgICB8LS0tICAgICAgICB8LS0tICAgICAgICB8LS0tICAgICAgICAgICAgfAp8IGFuZmFuZ2VuICAgICAgfCBmYW5nZSBhbiAgfCBmw6RuZ3N0IGFuIHwgZsOkbmd0IGFuICAgICAgfCBmYW5nZW4gYW4gfCBmYW5ndCBhbiAgfCBmYW5nZW4gYW4gICAgIHwKCgoKCmFuZmFuZ2VuCmFubWFjaGVuIFggYXVzbWFjaGVuICAKYW5tYWNoZW4gWCBhdWZtYWNoZW4gIAplaW5sYWRlbiAgCmF1ZmjDtnJlbiAgCmZlcm5zZWhlbiAgCmFiZ2llYmVuICAKdW1zdGVpZ2VuICAKbWl0YnJpbmdlbiAgCmFiZmFocmVuICAKYXVmc3RlaGVuICAKYXVza29tbWVuICAKCgoKCgoqTmljaHQgdHJlbmJhcmUgdmVyYmVuOiAgKgoKYmUtICAKdmVyLSAgCmVyLSAgCmVudC0gIAptaXNzLSAgCnplci0gIAplbXAtICAKZ2UtICAKCgoKCi0tLQoKIyMgTmFtZSArIFZlcmIKCkh1c3RlbiBoYWJlbiAgCgoKCgoKCi0tLQoKIyMgUHogSUkKCmdld2lubmVuIHwgZ2V3b25uZW4KCgoKLS0tCgojIyAzMCBWZXJiZW4sIGRlbmVuIGRlciBEQVRJViBmb2xndDoKamRtLiBhYnNhZ2VuIOKeoSBJY2ggbXVzcyBJaG5lbiBsZWlkZXIgYWJzYWdlbi4gTWlyIGlzdCBlaW4gd2ljaHRpZ2VyIFRlcm1pbiBkYXp3aXNjaGVuZ2Vrb21tZW4uCmpkbS4gw6RobmVsbiDinqEgRXIgw6RobmVsdCBzZWluZXIgU2Nod2VzdGVyIGFiZXIgc2VociEKamRtLiBhbnR3b3J0ZW4g4p6hIEFudHdvcnRlIG1pciEKamRtLiBiZWdlZ25lbiDinqEgSWNoIGJpbiBpaG0genVmw6RsbGlnIGJlZ2VnbmV0LgpqZG0uIGV0dy4gYmVmZWhsZW4g4p6hIERlciBLw7ZuaWcgaGF0IGRlbSBNaW5pc3RlciBiZWZvaGxlbiwgZGFzIEdlc2V0eiB6dSDDpG5kZXJuLgpqZG0uIGRhbmtlbiDinqEgSWNoIGRhbmtlIGFsbGVuIG1laW5lbiBVbnRlcnN0w7x0emVybiEKamRtLiBkcm9oZW4g4p6hIEVyIGhhdCBtaXIgZ2Vkcm9odCwgbWljaCBhbnp1emVpZ2VuLgpqZG0uIGVudGdlZ2Vua29tbWVuIOKeoSBLYW5uc3QgZHUgdW5zIG5pY2h0IGVudGdlZ2Vua29tbWVuPwpqZG0uIGZlaGxlbiDinqEgRHUgZmVobHN0IG1pciEKamRtLiBmb2xnZW4g4p6hIERpZSBLYXR6ZSBmb2xndCBtaXIgc2Nob24gc2VpdCBlaW5lciBXb2NoZS4KamRtLiBnZWZhbGxlbiDinqEgRGFzIGdlZsOkbGx0IG1pciBuaWNodC4KamRtLiBnZWhvcmNoZW4g4p6hIFNlaW5lIEtpbmRlciBnZWhvcmNoZW4gaWhtIG5pY2h0LgpqZG0uIGdlaMO2cmVuIOKeoSBHZWjDtnJ0IGRhcyBkaXI/CmpkbS4gZ2xhdWJlbiDinqEgR2xhdWJzdCBkdSBtaXIgZXR3YSBuaWNodD8KamRtLiBncmF0dWxpZXJlbiDinqEgRGFyZiBpY2ggZGlyIHNjaG9uIGdyYXR1bGllcmVuPwpqZG0uIGd1dCB0dW4g4p6hIFNwb3J0IHR1dCBtaXIgZ3V0LgpqZG0uIGhlbGZlbiDinqEgSWNoIGhhYmUgYW5nZWJvdGVuLCBpaG5lbiB6dSBoZWxmZW4uCmpkbS4gbmFjaGxhdWZlbiDinqEgTXVzc3QgZHUgbWlyIGRlbm4gdW5iZWRpbmd0IG5hY2hsYXVmZW4/CmpkbS4gbsO8dHplbiDinqEgV2VtIG7DvHR6dCBkYXM/CmpkbS4gcGFzc2VuIOKeoSBPaCwgbmVpbiEgRGFzIEtsZWlkIHBhc3N0IG1pciBuaWNodCBtZWhyLgpqZG0uIHBhc3NpZXJlbiDinqEgTWlyIGlzdCBldHdhcyBnYW56IEJsw7ZkZXMgcGFzc2llcnQgLi4uCmpkbS4gZXR3LiByYXRlbiDinqEgRXIgaGF0IGlociBnZXJhdGVuLCBzaWNoIGVpbmVuIG5ldWVuIEpvYiB6dSBzdWNoZW4uCmpkbS4gc2NobWVja2VuIOKeoSBEYXMgc2NobWVja3QgaWhtIG5pY2h0LgpqZG0uIHZlcnRyYXVlbiDinqEgVmVydHJhdXN0IGR1IG1pcj8KamRtLiB2ZXJ6ZWloZW4g4p6hIEJpdHRlIHZlcnplaWggbWlyLgpqZG0uIHdlaCB0dW4g4p6hIEF1YSwgZGFzIHR1dCBtaXIgd2VoIQpqZG0uIHdpZGVyc3ByZWNoZW4g4p6hIE11c3N0IGR1IG1pciBpbW1lciB3aWRlcnNwcmVjaGVuPwpqZG0uIHp1aMO2cmVuIOKeoSBIw7ZyIG1pciBkb2NoIGVuZGxpY2ggbWFsIHp1IQpqZG0uIHp1c2VoZW4g4p6hIEthbm4gaWNoIGRpciBiZWltIEtvY2hlbiB6dXNlaGVuPwpqZG0uIHp1c3RpbW1lbiDinqEgSWNoIHN0aW1tZSBtZWluZW0gS29sbGVnZW4genUuIFdpciBicmF1Y2hlbiBuZXVlIENvbXB1dGVyLgoKCgo8YmxvY2txdW90ZSBjbGFzcz0iaW5zdGFncmFtLW1lZGlhIiBkYXRhLWluc3Rncm0tY2FwdGlvbmVkIGRhdGEtaW5zdGdybS1wZXJtYWxpbms9Imh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vcC9CdkNCT2xibHBVZi8/dXRtX3NvdXJjZT1pZ19lbWJlZCZhbXA7dXRtX21lZGl1bT1sb2FkaW5nIiBkYXRhLWluc3Rncm0tdmVyc2lvbj0iMTIiIHN0eWxlPSIgYmFja2dyb3VuZDojRkZGOyBib3JkZXI6MDsgYm9yZGVyLXJhZGl1czozcHg7IGJveC1zaGFkb3c6MCAwIDFweCAwIHJnYmEoMCwwLDAsMC41KSwwIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjE1KTsgbWFyZ2luOiAxcHg7IG1heC13aWR0aDo1NDBweDsgbWluLXdpZHRoOjMyNnB4OyBwYWRkaW5nOjA7IHdpZHRoOjk5LjM3NSU7IHdpZHRoOi13ZWJraXQtY2FsYygxMDAlIC0gMnB4KTsgd2lkdGg6Y2FsYygxMDAlIC0gMnB4KTsiPjxkaXYgc3R5bGU9InBhZGRpbmc6MTZweDsiPiA8YSBocmVmPSJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL3AvQnZDQk9sYmxwVWYvP3V0bV9zb3VyY2U9aWdfZW1iZWQmYW1wO3V0bV9tZWRpdW09bG9hZGluZyIgc3R5bGU9IiBiYWNrZ3JvdW5kOiNGRkZGRkY7IGxpbmUtaGVpZ2h0OjA7IHBhZGRpbmc6MCAwOyB0ZXh0LWFsaWduOmNlbnRlcjsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IHdpZHRoOjEwMCU7IiB0YXJnZXQ9Il9ibGFuayI+IDxkaXYgc3R5bGU9IiBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93OyBhbGlnbi1pdGVtczogY2VudGVyOyI+IDxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGJvcmRlci1yYWRpdXM6IDUwJTsgZmxleC1ncm93OiAwOyBoZWlnaHQ6IDQwcHg7IG1hcmdpbi1yaWdodDogMTRweDsgd2lkdGg6IDQwcHg7Ij48L2Rpdj4gPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZmxleC1ncm93OiAxOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsiPiA8ZGl2IHN0eWxlPSIgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgYm9yZGVyLXJhZGl1czogNHB4OyBmbGV4LWdyb3c6IDA7IGhlaWdodDogMTRweDsgbWFyZ2luLWJvdHRvbTogNnB4OyB3aWR0aDogMTAwcHg7Ij48L2Rpdj4gPGRpdiBzdHlsZT0iIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGJvcmRlci1yYWRpdXM6IDRweDsgZmxleC1ncm93OiAwOyBoZWlnaHQ6IDE0cHg7IHdpZHRoOiA2MHB4OyI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0icGFkZGluZzogMTklIDA7Ij48L2Rpdj48ZGl2IHN0eWxlPSJkaXNwbGF5OmJsb2NrOyBoZWlnaHQ6NTBweDsgbWFyZ2luOjAgYXV0byAxMnB4OyB3aWR0aDo1MHB4OyI+PHN2ZyB3aWR0aD0iNTBweCIgaGVpZ2h0PSI1MHB4IiB2aWV3Qm94PSIwIDAgNjAgNjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHBzOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHBzOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTExLjAwMDAwMCwgLTIwLjAwMDAwMCkiIGZpbGw9IiMwMDAwMDAiPjxnPjxwYXRoIGQ9Ik01NTYuODY5LDMwLjQxIEM1NTQuODE0LDMwLjQxIDU1My4xNDgsMzIuMDc2IDU1My4xNDgsMzQuMTMxIEM1NTMuMTQ4LDM2LjE4NiA1NTQuODE0LDM3Ljg1MiA1NTYuODY5LDM3Ljg1MiBDNTU4LjkyNCwzNy44NTIgNTYwLjU5LDM2LjE4NiA1NjAuNTksMzQuMTMxIEM1NjAuNTksMzIuMDc2IDU1OC45MjQsMzAuNDEgNTU2Ljg2OSwzMC40MSBNNTQxLDYwLjY1NyBDNTM1LjExNCw2MC42NTcgNTMwLjM0Miw1NS44ODcgNTMwLjM0Miw1MCBDNTMwLjM0Miw0NC4xMTQgNTM1LjExNCwzOS4zNDIgNTQxLDM5LjM0MiBDNTQ2Ljg4NywzOS4zNDIgNTUxLjY1OCw0NC4xMTQgNTUxLjY1OCw1MCBDNTUxLjY1OCw1NS44ODcgNTQ2Ljg4Nyw2MC42NTcgNTQxLDYwLjY1NyBNNTQxLDMzLjg4NiBDNTMyLjEsMzMuODg2IDUyNC44ODYsNDEuMSA1MjQuODg2LDUwIEM1MjQuODg2LDU4Ljg5OSA1MzIuMSw2Ni4xMTMgNTQxLDY2LjExMyBDNTQ5LjksNjYuMTEzIDU1Ny4xMTUsNTguODk5IDU1Ny4xMTUsNTAgQzU1Ny4xMTUsNDEuMSA1NDkuOSwzMy44ODYgNTQxLDMzLjg4NiBNNTY1LjM3OCw2Mi4xMDEgQzU2NS4yNDQsNjUuMDIyIDU2NC43NTYsNjYuNjA2IDU2NC4zNDYsNjcuNjYzIEM1NjMuODAzLDY5LjA2IDU2My4xNTQsNzAuMDU3IDU2Mi4xMDYsNzEuMTA2IEM1NjEuMDU4LDcyLjE1NSA1NjAuMDYsNzIuODAzIDU1OC42NjIsNzMuMzQ3IEM1NTcuNjA3LDczLjc1NyA1NTYuMDIxLDc0LjI0NCA1NTMuMTAyLDc0LjM3OCBDNTQ5Ljk0NCw3NC41MjEgNTQ4Ljk5Nyw3NC41NTIgNTQxLDc0LjU1MiBDNTMzLjAwMyw3NC41NTIgNTMyLjA1Niw3NC41MjEgNTI4Ljg5OCw3NC4zNzggQzUyNS45NzksNzQuMjQ0IDUyNC4zOTMsNzMuNzU3IDUyMy4zMzgsNzMuMzQ3IEM1MjEuOTQsNzIuODAzIDUyMC45NDIsNzIuMTU1IDUxOS44OTQsNzEuMTA2IEM1MTguODQ2LDcwLjA1NyA1MTguMTk3LDY5LjA2IDUxNy42NTQsNjcuNjYzIEM1MTcuMjQ0LDY2LjYwNiA1MTYuNzU1LDY1LjAyMiA1MTYuNjIzLDYyLjEwMSBDNTE2LjQ3OSw1OC45NDMgNTE2LjQ0OCw1Ny45OTYgNTE2LjQ0OCw1MCBDNTE2LjQ0OCw0Mi4wMDMgNTE2LjQ3OSw0MS4wNTYgNTE2LjYyMywzNy44OTkgQzUxNi43NTUsMzQuOTc4IDUxNy4yNDQsMzMuMzkxIDUxNy42NTQsMzIuMzM4IEM1MTguMTk3LDMwLjkzOCA1MTguODQ2LDI5Ljk0MiA1MTkuODk0LDI4Ljg5NCBDNTIwLjk0MiwyNy44NDYgNTIxLjk0LDI3LjE5NiA1MjMuMzM4LDI2LjY1NCBDNTI0LjM5MywyNi4yNDQgNTI1Ljk3OSwyNS43NTYgNTI4Ljg5OCwyNS42MjMgQzUzMi4wNTcsMjUuNDc5IDUzMy4wMDQsMjUuNDQ4IDU0MSwyNS40NDggQzU0OC45OTcsMjUuNDQ4IDU0OS45NDMsMjUuNDc5IDU1My4xMDIsMjUuNjIzIEM1NTYuMDIxLDI1Ljc1NiA1NTcuNjA3LDI2LjI0NCA1NTguNjYyLDI2LjY1NCBDNTYwLjA2LDI3LjE5NiA1NjEuMDU4LDI3Ljg0NiA1NjIuMTA2LDI4Ljg5NCBDNTYzLjE1NCwyOS45NDIgNTYzLjgwMywzMC45MzggNTY0LjM0NiwzMi4zMzggQzU2NC43NTYsMzMuMzkxIDU2NS4yNDQsMzQuOTc4IDU2NS4zNzgsMzcuODk5IEM1NjUuNTIyLDQxLjA1NiA1NjUuNTUyLDQyLjAwMyA1NjUuNTUyLDUwIEM1NjUuNTUyLDU3Ljk5NiA1NjUuNTIyLDU4Ljk0MyA1NjUuMzc4LDYyLjEwMSBNNTcwLjgyLDM3LjYzMSBDNTcwLjY3NCwzNC40MzggNTcwLjE2NywzMi4yNTggNTY5LjQyNSwzMC4zNDkgQzU2OC42NTksMjguMzc3IDU2Ny42MzMsMjYuNzAyIDU2NS45NjUsMjUuMDM1IEM1NjQuMjk3LDIzLjM2OCA1NjIuNjIzLDIyLjM0MiA1NjAuNjUyLDIxLjU3NSBDNTU4Ljc0MywyMC44MzQgNTU2LjU2MiwyMC4zMjYgNTUzLjM2OSwyMC4xOCBDNTUwLjE2OSwyMC4wMzMgNTQ5LjE0OCwyMCA1NDEsMjAgQzUzMi44NTMsMjAgNTMxLjgzMSwyMC4wMzMgNTI4LjYzMSwyMC4xOCBDNTI1LjQzOCwyMC4zMjYgNTIzLjI1NywyMC44MzQgNTIxLjM0OSwyMS41NzUgQzUxOS4zNzYsMjIuMzQyIDUxNy43MDMsMjMuMzY4IDUxNi4wMzUsMjUuMDM1IEM1MTQuMzY4LDI2LjcwMiA1MTMuMzQyLDI4LjM3NyA1MTIuNTc0LDMwLjM0OSBDNTExLjgzNCwzMi4yNTggNTExLjMyNiwzNC40MzggNTExLjE4MSwzNy42MzEgQzUxMS4wMzUsNDAuODMxIDUxMSw0MS44NTEgNTExLDUwIEM1MTEsNTguMTQ3IDUxMS4wMzUsNTkuMTcgNTExLjE4MSw2Mi4zNjkgQzUxMS4zMjYsNjUuNTYyIDUxMS44MzQsNjcuNzQzIDUxMi41NzQsNjkuNjUxIEM1MTMuMzQyLDcxLjYyNSA1MTQuMzY4LDczLjI5NiA1MTYuMDM1LDc0Ljk2NSBDNTE3LjcwMyw3Ni42MzQgNTE5LjM3Niw3Ny42NTggNTIxLjM0OSw3OC40MjUgQzUyMy4yNTcsNzkuMTY3IDUyNS40MzgsNzkuNjczIDUyOC42MzEsNzkuODIgQzUzMS44MzEsNzkuOTY1IDUzMi44NTMsODAuMDAxIDU0MSw4MC4wMDEgQzU0OS4xNDgsODAuMDAxIDU1MC4xNjksNzkuOTY1IDU1My4zNjksNzkuODIgQzU1Ni41NjIsNzkuNjczIDU1OC43NDMsNzkuMTY3IDU2MC42NTIsNzguNDI1IEM1NjIuNjIzLDc3LjY1OCA1NjQuMjk3LDc2LjYzNCA1NjUuOTY1LDc0Ljk2NSBDNTY3LjYzMyw3My4yOTYgNTY4LjY1OSw3MS42MjUgNTY5LjQyNSw2OS42NTEgQzU3MC4xNjcsNjcuNzQzIDU3MC42NzQsNjUuNTYyIDU3MC44Miw2Mi4zNjkgQzU3MC45NjYsNTkuMTcgNTcxLDU4LjE0NyA1NzEsNTAgQzU3MSw0MS44NTEgNTcwLjk2Niw0MC44MzEgNTcwLjgyLDM3LjYzMSI+PC9wYXRoPjwvZz48L2c+PC9nPjwvc3ZnPjwvZGl2PjxkaXYgc3R5bGU9InBhZGRpbmctdG9wOiA4cHg7Ij4gPGRpdiBzdHlsZT0iIGNvbG9yOiMzODk3ZjA7IGZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4OyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6NTUwOyBsaW5lLWhlaWdodDoxOHB4OyI+IFZpZXcgdGhpcyBwb3N0IG9uIEluc3RhZ3JhbTwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9InBhZGRpbmc6IDEyLjUlIDA7Ij48L2Rpdj4gPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsgbWFyZ2luLWJvdHRvbTogMTRweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsiPjxkaXY+IDxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGJvcmRlci1yYWRpdXM6IDUwJTsgaGVpZ2h0OiAxMi41cHg7IHdpZHRoOiAxMi41cHg7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHRyYW5zbGF0ZVkoN3B4KTsiPjwvZGl2PiA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBoZWlnaHQ6IDEyLjVweDsgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVYKDNweCkgdHJhbnNsYXRlWSgxcHgpOyB3aWR0aDogMTIuNXB4OyBmbGV4LWdyb3c6IDA7IG1hcmdpbi1yaWdodDogMTRweDsgbWFyZ2luLWxlZnQ6IDJweDsiPjwvZGl2PiA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBib3JkZXItcmFkaXVzOiA1MCU7IGhlaWdodDogMTIuNXB4OyB3aWR0aDogMTIuNXB4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOXB4KSB0cmFuc2xhdGVZKC0xOHB4KTsiPjwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiA4cHg7Ij4gPGRpdiBzdHlsZT0iIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGJvcmRlci1yYWRpdXM6IDUwJTsgZmxleC1ncm93OiAwOyBoZWlnaHQ6IDIwcHg7IHdpZHRoOiAyMHB4OyI+PC9kaXY+IDxkaXYgc3R5bGU9IiB3aWR0aDogMDsgaGVpZ2h0OiAwOyBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1sZWZ0OiA2cHggc29saWQgI2Y0ZjRmNDsgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTZweCkgdHJhbnNsYXRlWSgtNHB4KSByb3RhdGUoMzBkZWcpIj48L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogYXV0bzsiPiA8ZGl2IHN0eWxlPSIgd2lkdGg6IDBweDsgYm9yZGVyLXRvcDogOHB4IHNvbGlkICNGNEY0RjQ7IGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7Ij48L2Rpdj4gPGRpdiBzdHlsZT0iIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGZsZXgtZ3JvdzogMDsgaGVpZ2h0OiAxMnB4OyB3aWR0aDogMTZweDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyI+PC9kaXY+IDxkaXYgc3R5bGU9IiB3aWR0aDogMDsgaGVpZ2h0OiAwOyBib3JkZXItdG9wOiA4cHggc29saWQgI0Y0RjRGNDsgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHRyYW5zbGF0ZVgoOHB4KTsiPjwvZGl2PjwvZGl2PjwvZGl2PjwvYT4gPHAgc3R5bGU9IiBtYXJnaW46OHB4IDAgMCAwOyBwYWRkaW5nOjAgNHB4OyI+IDxhIGhyZWY9Imh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vcC9CdkNCT2xibHBVZi8/dXRtX3NvdXJjZT1pZ19lbWJlZCZhbXA7dXRtX21lZGl1bT1sb2FkaW5nIiBzdHlsZT0iIGNvbG9yOiMwMDA7IGZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4OyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6bm9ybWFsOyBsaW5lLWhlaWdodDoxN3B4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsgd29yZC13cmFwOmJyZWFrLXdvcmQ7IiB0YXJnZXQ9Il9ibGFuayI+MzAgVmVyYmVuLCBkZW5lbiBkZXIgREFUSVYgZm9sZ3Q6IGpkbS4gYWJzYWdlbiDinqEgSWNoIG11c3MgSWhuZW4gbGVpZGVyIGFic2FnZW4uIE1pciBpc3QgZWluIHdpY2h0aWdlciBUZXJtaW4gZGF6d2lzY2hlbmdla29tbWVuLiBqZG0uIMOkaG5lbG4g4p6hIEVyIMOkaG5lbHQgc2VpbmVyIFNjaHdlc3RlciBhYmVyIHNlaHIhIGpkbS4gYW50d29ydGVuIOKeoSBBbnR3b3J0ZSBtaXIhIGpkbS4gYmVnZWduZW4g4p6hIEljaCBiaW4gaWhtIHp1ZsOkbGxpZyBiZWdlZ25ldC4gamRtLiBldHcuIGJlZmVobGVuIOKeoSBEZXIgS8O2bmlnIGhhdCBkZW0gTWluaXN0ZXIgYmVmb2hsZW4sIGRhcyBHZXNldHogenUgw6RuZGVybi4gamRtLiBkYW5rZW4g4p6hIEljaCBkYW5rZSBhbGxlbiBtZWluZW4gVW50ZXJzdMO8dHplcm4hIGpkbS4gZHJvaGVuIOKeoSBFciBoYXQgbWlyIGdlZHJvaHQsIG1pY2ggYW56dXplaWdlbi4gamRtLiBlbnRnZWdlbmtvbW1lbiDinqEgS2FubnN0IGR1IHVucyBuaWNodCBlbnRnZWdlbmtvbW1lbj8gamRtLiBmZWhsZW4g4p6hIER1IGZlaGxzdCBtaXIhIGpkbS4gZm9sZ2VuIOKeoSBEaWUgS2F0emUgZm9sZ3QgbWlyIHNjaG9uIHNlaXQgZWluZXIgV29jaGUuIGpkbS4gZ2VmYWxsZW4g4p6hIERhcyBnZWbDpGxsdCBtaXIgbmljaHQuIGpkbS4gZ2Vob3JjaGVuIOKeoSBTZWluZSBLaW5kZXIgZ2Vob3JjaGVuIGlobSBuaWNodC4gamRtLiBnZWjDtnJlbiDinqEgR2Vow7ZydCBkYXMgZGlyPyBqZG0uIGdsYXViZW4g4p6hIEdsYXVic3QgZHUgbWlyIGV0d2EgbmljaHQ/IGpkbS4gZ3JhdHVsaWVyZW4g4p6hIERhcmYgaWNoIGRpciBzY2hvbiBncmF0dWxpZXJlbj8gamRtLiBndXQgdHVuIOKeoSBTcG9ydCB0dXQgbWlyIGd1dC4gamRtLiBoZWxmZW4g4p6hIEljaCBoYWJlIGFuZ2Vib3RlbiwgaWhuZW4genUgaGVsZmVuLiBqZG0uIG5hY2hsYXVmZW4g4p6hIE11c3N0IGR1IG1pciBkZW5uIHVuYmVkaW5ndCBuYWNobGF1ZmVuPyBqZG0uIG7DvHR6ZW4g4p6hIFdlbSBuw7x0enQgZGFzPyBqZG0uIHBhc3NlbiDinqEgT2gsIG5laW4hIERhcyBLbGVpZCBwYXNzdCBtaXIgbmljaHQgbWVoci4gamRtLiBwYXNzaWVyZW4g4p6hIE1pciBpc3QgZXR3YXMgZ2FueiBCbMO2ZGVzIHBhc3NpZXJ0IC4uLiBqZG0uIGV0dy4gcmF0ZW4g4p6hIEVyIGhhdCBpaHIgZ2VyYXRlbiwgc2ljaCBlaW5lbiBuZXVlbiBKb2IgenUgc3VjaGVuLiBqZG0uIHNjaG1lY2tlbiDinqEgRGFzIHNjaG1lY2t0IGlobSBuaWNodC4gamRtLiB2ZXJ0cmF1ZW4g4p6hIFZlcnRyYXVzdCBkdSBtaXI/IGpkbS4gdmVyemVpaGVuIOKeoSBCaXR0ZSB2ZXJ6ZWloIG1pci4gamRtLiB3ZWggdHVuIOKeoSBBdWEsIGRhcyB0dXQgbWlyIHdlaCEgamRtLiB3aWRlcnNwcmVjaGVuIOKeoSBNdXNzdCBkdSBtaXIgaW1tZXIgd2lkZXJzcHJlY2hlbj8gamRtLiB6dWjDtnJlbiDinqEgSMO2ciBtaXIgZG9jaCBlbmRsaWNoIG1hbCB6dSEgamRtLiB6dXNlaGVuIOKeoSBLYW5uIGljaCBkaXIgYmVpbSBLb2NoZW4genVzZWhlbj8gamRtLiB6dXN0aW1tZW4g4p6hIEljaCBzdGltbWUgbWVpbmVtIEtvbGxlZ2VuIHp1LiBXaXIgYnJhdWNoZW4gbmV1ZSBDb21wdXRlci48L2E+PC9wPiA8cCBzdHlsZT0iIGNvbG9yOiNjOWM4Y2Q7IGZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4OyBsaW5lLWhlaWdodDoxN3B4OyBtYXJnaW4tYm90dG9tOjA7IG1hcmdpbi10b3A6OHB4OyBvdmVyZmxvdzpoaWRkZW47IHBhZGRpbmc6OHB4IDAgN3B4OyB0ZXh0LWFsaWduOmNlbnRlcjsgdGV4dC1vdmVyZmxvdzplbGxpcHNpczsgd2hpdGUtc3BhY2U6bm93cmFwOyI+QSBwb3N0IHNoYXJlZCBieSA8YSBocmVmPSJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2R3X2RldXRzY2hsZXJuZW4vP3V0bV9zb3VyY2U9aWdfZW1iZWQmYW1wO3V0bV9tZWRpdW09bG9hZGluZyIgc3R5bGU9IiBjb2xvcjojYzljOGNkOyBmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTRweDsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgbGluZS1oZWlnaHQ6MTdweDsiIHRhcmdldD0iX2JsYW5rIj4gRFcgLSBEZXV0c2NoIGxlcm5lbjwvYT4gKEBkd19kZXV0c2NobGVybmVuKSBvbiA8dGltZSBzdHlsZT0iIGZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4OyBsaW5lLWhlaWdodDoxN3B4OyIgZGF0ZXRpbWU9IjIwMTktMDMtMTVUMTQ6MDA6NTkrMDA6MDAiPk1hciAxNSwgMjAxOSBhdCA3OjAwYW0gUERUPC90aW1lPjwvcD48L2Rpdj48L2Jsb2NrcXVvdGU+IDxzY3JpcHQgYXN5bmMgc3JjPSIvL3d3dy5pbnN0YWdyYW0uY29tL2VtYmVkLmpzIj48L3NjcmlwdD4KCgoKCi0tLQoKCiMgQWRqZWt0aXZlbiB7LnRhYnNldCAudGFic2V0LWZhZGUgLnRhYnNldC1waWxsc30KCgoKCnwqKlVuZGVmaW5pZXJ0KiogICAgICAgfCAqKk5vbWluYXRpdioqICAgICAgfCAqKkFra3VzYXRpdioqICAgICB8ICoqRGF0aXYqKiAgICAgICAgICAgfCAqKk5vbWVuKiogICAgIHwgCnwtLS0gICAgICAgICAgICAgICAgICAgfC0tLSAgICAgICAgICAgICAgICAgfC0tLSAgICAgICAgICAgICAgICB8LS0tICAgICAgICAgICAgICAgICAgfC0tLSAgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICB8RGFzIGlzdC9zaW5kICAgICAgICB8SWNoIGjDpHR0ZSBnZXJuICAgICB8bWl0ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgIHwKfCBlaW4gICAgICAgICAgICAgICAgICB8IG1hZ2VyKmVyKiAgICAgICAgICB8KiplaW5lbioqIG1hZ2VyKmVuKnwqKmVpbmVtKiogbWFnZXJlKmVuKiB8IFNjaGlua2VuICAgICAgfCAKfCBlaW4gICAgICAgICAgICAgICAgICB8IGhlbGwqZXMqICAgICAgICAgICB8KiplaW4qKiBoZWxsKmVzKiAgIHwqKmVpbmVtKiogaGVsbCplbiogICB8IEJyb3QgICAgICAgICAgfAp8IGVpbmUgICAgICAgICAgICAgICAgIHwgZ3LDvG4qZSogICAgICAgICAgICB8KiplaW5lKiogZ3LDvG4qZSogICB8KiplaW5lcioqIGdyw7xuKmVuKiAgIHwgUGFwcmlrYSAgICAgICB8IAp8IFAuTCAgICAgICAgICAgICAgICAgIHwgaGVsbCplKiAgICAgICAgICAgIHwgaGVsbCplKiAgICAgICAgICAgfCBoZWxsKmVuKiAgICAgICAgICAgIHwgQnLDtnRjaGVuICAgICAgfCAKCnwqKkRlZmluaWVydCAqKiAgICAgICAgfCAqKk5vbWluYXRpdioqICAgICAgIHwgKipBa2t1c2F0aXYqKiAgICAgfCAqKkRhdGl2KiogICAgICAgICAgIHwgKipOb21lbioqICAgICB8IAp8LS0tICAgICAgICAgICAgICAgICAgIHwtLS0gICAgICAgICAgICAgICAgICB8LS0tICAgICAgICAgICAgICAgIHwtLS0gICAgICAgICAgICAgICAgICB8LS0tICAgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgIHxNaXIgZ2Vmw6RsbHQvZ2VmYWxsZW4gfEljaCBmaW5kZSAuLi50b2xsICB8bWl0ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgIHwKfCBkZXIgICAgICAgICAgICAgICAgICB8IGJlcsO8aG10KmUqICAgICAgICAgIHwqKmRlbioqIGFsdGUqZW4qICAgfCoqZGVtKiogbmV0dGUqZW4qICAgIHwgUmVpc2Vmw7xocmVyICAgfCAKfCBkYXMgICAgICAgICAgICAgICAgICB8IGJ1bnQqZSogICAgICAgICAgICAgfCoqZGFzKiogYnVudCplKiAgICB8KipkZW0qKiBidW50KmVuKiAgICAgfCBGZW5zdGVyICAgICAgIHwKfCBkaWUgICAgICAgICAgICAgICAgICB8IG5ldSplKiAgICAgICAgICAgICAgfCoqZGllKiogbmV1KmUqICAgICB8KipkZXIqKiBuZXUqZW4qICAgICAgfCBLYW1lcmEgICAgICAgIHwgCnwgUC5MICAgICAgICAgICAgICAgICAgfCBuZXR0KmUqICAgICAgICAgICAgIHwgbmV0dGUqZW4qICAgICAgICAgfCBuZXR0ZSplbiogICAgICAgICAgIHwgTGV1aXRlbiAgICAgICB8IAoKfCAqKk5vbWluYXRpdioqICAgICAgfCAqKkFra3VzYXRpdioqICAgfCAqKkRhdGl2KiogICAgICB8ICoqTm9tZW4qKiAgICAgfCAKfC0tLSAgICAgICAgICAgICAgICAgfC0tLSAgICAgICAgICAgICAgfC0tLSAgICAgICAgICAgICB8LS0tICAgICAgICAgICAgfAp8IGd1dCplciogICAgICAgICAgICB8IGd1dCplbiogICAgICAgICB8IGd1dCplbSogICAgICAgIHwgTG9obiAgICAgICAgICB8IAp8IGdyb8OfKmVzKiAgICAgICAgICAgfCBncm/Dn2VzKmVzKiAgICAgIHwgZ3Jvw58qZW0qICAgICAgIHwgTGFnZXIgICAgICAgICB8CnwgZmxleGlibCplKiAgICAgICAgIHwgb3JkZW50bGljaCplKiAgIHwgZmxleGlibCplciogICAgfCBBcmJlaXRzemVpdCAgIHwgCnwga2xlaW4qZSogICAgICAgICAgIHwgZnJldW5kbGljaCplKiAgIHwgZ3Vuc3RpZyplbiogICAgfCBQcmVpc2VuICAgICAgIHwgCgoKCgotLS0KCiMgUmVnZWwgey50YWJzZXQgLnRhYnNldC1mYWRlIC50YWJzZXQtcGlsbHN9CgoKZGFubiwgZGFubmFjaCwgbGVpZGVyIChwb3NpdGlvbiAxKSAgCmFiZXIsIHVuZCAocG9zaXRpb24gMCkgIAoKZGFubiBiaW4gaWNoIC4uLiAoZGFubiArIFYgaW4gcG9zIDIgKyBTdWJqKQoKYWJlciBpY2ggYmluIC4uLiAoYWJlciArIHN1YiArIFYgaW4gcG9zIDIpCgoKCgoKCi0tLQoKIyMgQXJ0aWtlbCAgCgoKZGFzIEhhdXMgKyBkaWUgRnJhdSAtPiBkaWUgSGF1c2ZyYXUgCgoKCgoKCgoKLS0tCgojIyBEb2NoICAKCldvaGVyIGtvbW1lbiBTaWU/IEljaCBrb21tZSBhdXMgQW5rYXJhLiAgCgpLb21tZW4gU2llIGF1cyBBbmthcmE/IC0+ICgrKSBKYSwgaWNoIGtvbW1lIGF1cyBBbmthcmEuICgtKSBOZWluLCBpY2gga29tbWUgbmljaHQgYXVzIEFua2FyYS4gIApLb21tZW4gU2llIG5pY2h0IGF1cyBBbmthcmE/IC0+ICgrKSBEb2NoLCBpY2gga29tbWUgYXVzIEFua2FyYS4gKC0pIE5laW4sIGljaCBrb21tZSBuaWNodCBhdXMgQW5rYXJhLgoKCgoKCgoKCi0tLQoKIyMgbmljaHQga2VpbmUKCm5pY2h0OiBuZWdhdGlvbiBhZGpla3RpdmUgIAprZWluZTogbmVnYXRpb24gbmFtZSAgCgpJY2ggYmluIG5pY2h0IHZlcmhlaXJhdGV0LiAgCkljaCBoYWJlIGtlaW5lIGtpbmRlci4gIAoKCnN0IC0+IMWfICAKc2NoIC0+IMWfICAKc3BvcnQgLT4gxZ9wb3J0CgpWZXJiIGluIHBvc2l0aW9uIDI6ICAKCkZyYWdlOiAgCldlciBpc3QgZGFzPyAgCldpZSBoZWnDn2VuIFNpZT8gIApXb2hlciBrb21tc3QgZHU/ICAKCkFudHdvcnQgLyBhdXNzYWdlICAKSWNoIGJpbiBQYWNvLiAgCkljaCBrb21tZSBhdXMgw5ZzdGVycmVpY2guICAKTWVpbiBOYW1lIGlzdCBWYWxlcmllLiAgCgoKCgoKCgoKTG9rYWxlIFByw7Zwb3NpdGlvbmVuICsgRGF0aXY6IFdvPwoKSW1wZXJhdGl2IC0+IFZlcmIgKDEpICsgU3ViaiArIC4uLiAgClRyaW5rZW4gU2llIChkb2NoKSBUZWUhIC0+IGRvY2ggaXN0IGjDtmZsaWNoCgoKZW1vdGlvbiAtPiBudWxsIGFydGlrZWwgIGhhYmUgYW5nc3QgIAoKKk5pY2h0IHRyZW5iYXJlIHZlcmJlbjoqICAKYmUtICAKdmVyLSAgCmVyLSAgCmVudC0gIAptaXNzLSAgCnplci0gIAplbXAtICAKZ2UtICAKCgoKCgoKCgoKCgoKCi0tLQoKIyBBcnRpa2VsCgoKCgp8ICoqQXJ0aWtlbCoqICAgICAgICAgICAgICAgICAgIHwgKipOb21pbmF0aXYqKiB8ICoqQWtrdXNhdGl2KiogICB8ICoqRGF0aXYqKiAgICAgICB8CnwgLS0tLS0tLS0tLS0tLS0tLS0gICAgICAgICAgICAgfCAtLS0tLS0tLSAgICAgIHwgLS0tLS0tLS0gICAgICAgIHwgLS0tLS0tLS0gICAgICAgIHwKfCAqKmJlc3RpbW10ZXIgQXJ0aWtlbCoqICAgICAgICB8IGRlciAgICAgICAgICAgfCBkZW4gICAgICAgICAgICAgfCBkZW0gICAgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGllICAgICAgICAgICB8IGRpZSAgICAgICAgICAgICB8IGRlciAgICAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBkYXMgICAgICAgICAgIHwgZGFzICAgICAgICAgICAgIHwgZGVtICAgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGRpZSAoUGwpICAgICAgfCBkaWUgKFBsKSAgICAgICAgfCBkZW4gKFBsKSAgICAgICAgfAp8ICoqdW5iZXN0aW1tdGVyIEFydGlrZWwqKiAgICAgIHwgZWluIChkZXIpICAgICB8IGVpbmVuICAgICAgICAgICB8IGVpbmVtICAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBlaW4gKGRhcykgICAgIHwgZWluICAgICAgICAgICAgIHwgZWluZW0gICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGVpbmUgKGRpZSkgICAgfCBlaW5lICAgICAgICAgICAgfCBlaW5lciAgICAgICAgICAgfAp8ICoqUG9zc2Vlc3NpdiBBcnRpa2VsICJtZWluIioqIHwgbWVpbiAoZGVyKSAgICB8IG1laW5lbiAgICAgICAgICB8IG1laW5lbSAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBtZWluIChkYXMpICAgIHwgbWVpbiAgICAgICAgICAgIHwgbWVpbmVtICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG1laW5lIChkaWUpICAgfCBtZWluZSAgICAgICAgICAgfCBtZWluZXIgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgbWVpbmUgKFBsKSAgICB8IG1laW5lIChQbCkgICAgICB8IG1laW5lbiAoUGwpICsgbiB8CnwgKipQb3NzZWVzc2l2IEFydGlrZWwgImRlaW4iKiogfCBkZWluICAgICAgICAgIHwgZGVpbmVuICAgICAgICAgIHwgZGVpbmVtICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGRlaW5lICAgICAgICAgfCBkZWluZSAgICAgICAgICAgfCBkZWluZXIgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGVpbiAgICAgICAgICB8IGRlaW4gICAgICAgICAgICB8IGRlaW5lbSAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBkZWluZSAoUGwpICAgIHwgZGVpbmUgKFBsKSAgICAgIHwgZGVpbmVuIChQbCkgICAgIHwKfCAqKlBvc3NlZXNzaXYgQXJ0aWtlbCAic2VpbiIqKiB8IHNlaW4gICAgICAgICAgfCBzZWluZW4gICAgICAgICAgfCBzZWluZW0gICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgc2VpbiAgICAgICAgICB8IHNlaW4gICAgICAgICAgICB8IHNlaW5lbSAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzZWluZSAgICAgICAgIHwgc2VpbmUgICAgICAgICAgIHwgc2VpbmVyICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHNlaW5lIChQbCkgICAgfCBzZWluZSAoUGwpICAgICAgfCBzZWluZW4gKFBsKSAgICAgfAp8ICoqUG9zc2Vlc3NpdiBBcnRpa2VsICJpaHIiKiogIHwgaWhyICAgICAgICAgICB8IGlocmVuICAgICAgICAgICB8IGlocmVtICAgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBpaHIgICAgICAgICAgIHwgaWhyICAgICAgICAgICAgIHwgaWhyZW0gICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGlocmUgICAgICAgICAgfCBpaHJlICAgICAgICAgICAgfCBpaHJlciAgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgaWhyZSAoUGwpICAgICB8IGlocmUgKFBsKSAgICAgICB8IGlocmVuIChQbCkgICAgICB8CgoKCmRlciAvIGVpbiAvIGtlaW4gIApkaWUgLyBlaW5lIC8ga2VpbmUgIApkYXMgLyBlaW4gLyBrZWluICAKCgoKKipQZXJzb25hbCBQcm9ub21lbioqICAKaWNoIGR1IGVyIHNpZSBlcyB3aXIgaWhyIHNpZSBTaWUKCgp8ICoqRGVmaW5pdCBBcnRpa2VsKiogICAgICAgICAgIHwgKipJbmRlZmluaXQgQXJ0aWtlbCoqIHwgKipQZXJzb25hbCBQcm9ub21lbioqIHwKfCAtLS0tLS0tLS0tLS0tLS0tLSAgICAgICAgICAgICB8IC0tLS0tLS0tICAgICAgICAgICAgICB8IC0tLS0tLS0tICAgICAgICAgICAgICB8CnwgZGVyIFNjaHJpbSAgICAgICAgICAgICAgICAgICAgfCBEYXMgaXN0IGVpbiBTY2hyaW0gICAgfCBFciBpc3QgZ3LDvG4gICAgICAgICAgIHwKfCBkYXMgQnVjaCAgICAgICAgICAgICAgICAgICAgICB8IERhcyBpc3QgZWluIEJ1Y2ggICAgICB8IEVzIGlzdCByb3QgICAgICAgICAgICB8CnwgZGllIFVociAgICAgICAgICAgICAgICAgICAgICAgfCBEYXMgaXN0IGVpbmUgVWhyICAgICAgfCBTaWUgaXN0IGJyYXVuICAgICAgICAgfAoKCgoKCi0tLQoKIyBGcmFnZSB7LnRhYnNldCAudGFic2V0LWZhZGUgLnRhYnNldC1waWxsc30KCgoKCi0tLQoKIyMgVyBmcmFnZSB7LnRhYnNldCAudGFic2V0LWZhZGUgLnRhYnNldC1waWxsc30KCi0tLQoKSGFsbG8uICAKV2llIGhlacOfZW4gU2llPyBJY2ggaGVpw59lIC4uLgpGcmV1dCBtaWNoLiBGcmV1dCBtaWNoIGF1Y2guCgpXZXIgYmlzdCBkdT8gIAoKV2VyIGlzdCBkYXM/IERhcyBpc3QgLi4uCgpXaWUgaXN0IElociBWb3JuYW1lPyBNZWluIFZvcm5hbWUgaXN0IC4uLgoKV2llIGlzdCBJaHIgRmFtaWxpZW5uYW1lL05hY2huYW1lPwpNZWluIEZhbWlsaWVubmFtZSBpc3QgLi4uCgpXb2hlciBrb21tZW4gU2llPyBJY2gga29tbWUgYXVzIC4uLgoKV28gd29obmVuIFNpZT8gSWNoIHdvaG5lIGluIC4uLgoKV28gYWx0IGJpc3QgZHU/IEljaCBiaW4gLi4uIEphaHJlIGFsdC4KCgoKCi0tLQoKIyMjIFdhcyAKCi0tLQoKV2FzIGlzdCBzZWluZSBUZWxlZm9ubnVtbWVyPyBNZWluZSB0ZWxlZm9ubnVtbWVyIGlzdCAuLi4KCldhcyBoZWnDn3Qgc2VpbmUgRGV1dHNjaGxlaHJlcmluPyBXZXIgaXN0IHNlaW5lIERldXRzY2hsZWhyZW5pbj8gTWVpbmUgRGV1dHNjaGxlaHJlbmluIGhlacOfdCAuLi4KCldhcyBpc3QgZGFzPyBEYXMgaXN0IGVpbiBCdWNoLiBEYXMgc2luZCB6d2VpIELDvGNoZXIuCgoKCgoKCi0tLQoKIyMjIFdvCgotLS0KCkljaCBzdWNoZSBkaWUgRGlzY28uIFdvIGlzdCBzaWUsIGJpdHRlPyAgClNpZSBpc3QgbmViZW4gZGFzIE11c2V1bS4gIAoKV28gaXN0IGRpZSBNYXVzPyAgCgpXbyBhcmJlaXRlc3QgZHU/ICAKV28gYXJiZWl0ZW4gU2llPyAgCkljaCBhcmJlaXRlIGJlaSAuLi4gIAoKCgoKCgoKLS0tCgojIyMgV2VyCgotLS0KCi0gV2VyIGJpc3QgZHU/ICAKLSBJY2ggYmluIC4uLgoKLSBXZXIgc2luZCBTaWU/ICAKLSBJY2ggYmluIEhlcnIvRnJhdSAuLi4KCi0gV2VyIGtlbm50IEJyYWQgUGl0dD8gIApJY2gga2VubmUgQnJhZCBQaXR0LiAgCgoKCgoKCgoKLS0tCgoKIyMjIFdpZQoKCi0tLQoKLSBXaWUgaGVpw59lbiBTaWU/ICAKCi0gV2llIGdlaHQncyBkaXI/ICAKV2llIGdlaHQgZXMgZGlyPyAgCgotIFdpZSBnZWh0J3MgSWhuZW4/ICAKV2llIGdlaHQgZXMgSWhuZW4/ICAKRGFua2UsIHNlaHIgZ3V0LiBVbmQgSWhuZW4/CgoKLSBEYW5rZSBzZWhyIGd1dCAvIHN1cGVyIC8gdG9sbApndXQvcHJpbWEgIAplcyBnZWh0ICAKbmljaHQgc28gZ3V0ICAKc2NobGVjaHQgIAoKCi0gV2llIGJpdHRlPyAgCgotIFdpZSBhbHQgc2luZCBTaWU/ICAKLSBXaWUgYWx0IGJpc3QgZHU/ICAKSWNoIGJpbiB6d2FuemlnIEphaHJlIGFsdC4KCgoKCgoKCgoKCgoKLS0tCgojIyMgV2llIHZpZWxlCgotLS0KCldpZSB2aWVsZSBUaXNjaGUgc2luZCBoaWVyPyAoRnJhZ2UpICAgIApIaWVyIHNpbmQgZsO8bmYgVGlzY2hlLiAoQW50d29ydCkgIAoKV2llIHZpZWxlIGtpbmRlciBoYWJlbiBTaWU/ICAKV2llIHZpZWxlIGtpbmRlciBoYXN0IGR1PyAgCkljaCBoYWJlIGVpbiBraW5kLiAgCgoKCgoKCgoKCgotLS0KCiMjIyBXb2hlcgoKLS0tCgpXb2hlciBrb21tc3QgZHU/IChpbmZvcm1lbGwpICAKV29oZXIga29tbWVuIFNpZT8gKGZvcm1lbGwpICAKV29oZXIga29tbXQgc2llPyAgCldvaGVyIGtvbW10IGVyPyAgCldvaGVyIGtvbW1lbiBTaWU/ICAKCmtvbW1lbiArIGF1cyArIGxhbmQvc3RhZHQgIApJY2gga29tbWUgYXVzIE1leGlrbyAgClNpZSBrb21tdCBhdXMgRGV1dHNjbGFuZCAgCkVyIGtvbW10IGF1cyBGcmFua3JlaWNoICAKU2llIGtvbW1lbiBhdXMgU3BhbmluZW4gIApkZXIgVMO8cmtlaSAgCmRlciBTY2h3ZWl6ICAKZGVtIElyYW4gIApkZW0gSXJhayAgCgoKCgoKCgoKCgoKCi0tLQoKIyMjIFdlbGNoZQoKLS0tCgpXZWxjaGUgU3ByYWNoZW4gc3ByZWNoZW4gU2llPyBJY2ggc3ByZWNoZSBndXQgVMO8cmtpc2NoLCBmbHVlw59lbiBFbmdsaXNjaCB1bmQgZWluIGJpc3NjaGVuIERldXRzY2guCgoKCgoKCgoKCgoKCi0tLQoKIyMjIFdlbQoKLS0tCgpXZW0gZ2Vow7ZydCBkaWUgVWhyPyAgCkRpZSBVaHIgZ2Vow7ZydCBpaG0uCgpXZW0gZ2Vow7ZyZW4gZGllIELDvGNoZXI/ICAKRGllIELDvGNoZXIgZ2Vow7ZyZW4gaWhtLiAKCgoKCgoKCgoKCgotLS0KCiMjIEphLU5laW4gRnJhZ2UKCi0tLQoKU2luZCBTaWUgdmVyaGVpcmF0ZXQ/ICAKSmEsIGljaCBiaW4gdmVyaGVpcmF0ZXQuICAKTmVpbiwgaWNoIGJpbiBuaWNodCB2ZXJoZWlyYXRldC4gIApOZWluLCBpY2ggYmluIGxlZGlnLiAgCgpIYWJlbiBTaWUgS2luZGVyPyAgCkhhc3QgZHUgS2luZGVyPyAgCgpKYSwgaWNoIGhhYmUgZWluIGtpbmQuICAKTmVpbiwgaWNoIGhhYmUga2VpbmUga2luZGVyLiAgCgoKS2VubmVuIFNpZSBCcmFkIFBpdHQ/ICAKSmEsIGljaCBrZW5uZSBCcmFkLgpOZWluLCBpY2gga2VubmUgQnJhZCBuaWNodC4gIAoKCkhhc3QgZHUga2VpbiBLaW5kZXI/ICAKRG9jaCwgaWNoIGhhYmUgendlaSBraW5kZXIuICAKTmVpbiwgaWNoIGhhYmUga2VpbmUga2luZGVyLiAgCgoKCgoKCgoKCgotLS0KCiMgQmlsZHfDtnJ0ZXIgey50YWJzZXQgLnRhYnNldC1mYWRlIC50YWJzZXQtcGlsbHN9CgotLS0KCiMjIEvDtnJwZXIgdW5kIEdlc3VuZGhlaXQKCi0tLQoKZGVyIEvDtnJwZXIgIApkZXIgS29wZiB8IGRpZSBLw7ZwZmUgIApkaWUgQnJ1c3QgfCBkaWUgQnLDvHN0ZSAoZ8O2xJ/DvHMpICAKZGFzIEJlaW4gfCBkaWUgQmVpbmUgIApkZXIgRnXDnyB8IGRpZSBGw7zDn2UgIApkZXIgSGFscyB8IGRpZSBIw6Rsc2UgKGJveXVuKSAgCmRlciBCYXVjaCB8IGRpZSBCYXVjaGUgKGJhdMSxbikgIApkYXMgS2luZSB8IGRpZSBLbmllICAKZGVyIFplaCB8IGRpZSBaZWhlbiAoVG9lKSAgCmRlciBSw7xja2VuIChiZWwpICAKZGllIFNjaHVsdGVyIHwgZGllIFNjaHVsdGVyaW4gKG9tdXopICAKZGVyIEFybSB8IGRpZSBBcm1lICAKZGVyIEVsbGJvZ2VuIHwgZGllIEVsbGJvZ2VuIChkaXJzZWspICAKZGVyIFBvIHwgZGllIFBvcyAgCmRpZSBIYW5kIHwgZGllIEjDpG5kZSAgCmRlciBGaW5nZXIgfCBkaWUgRmluZ2VyICAKZGFzIEdlc2ljaHQgfCBkaWUgR2VzaWNodGVyICAKZGFzIEhhYXIgfCBkaWUgSGFhcmUgIApkaWUgTmFzZSB8IGRpZSBOYXNlbiAgCmRlciBNdW5kIHwgZGllIE3DvG5kZXIgIApkaWUgTGlwcGUgfCBkaWUgTGlwcGVuICAKZGVyIFphaG4gfCBkaWUgWsOkaG5lICAKZGllIFp1bmdlIHwgZGllIFp1bmdlbiAgCmRhcyBPaHIgfCBkaWUgT2hyZW4gIApkYXMgQXVnZSB8IGRpZSBBdWdlbiAgCgoKZGllIFNlaWZlIHwgZGllIFNlaWZlbiAgCmRhcyBTaGFtcG9vIHwgZGllIFNoYW1wb29zICAKZGFzIEhhbmR0dWNoIHwgZGllIEjDpG5kdHVjaGVyICAKZGllIFphaG5iw7xyc3RlIHwgZGllIFphaG5iw7xyc3RlbiAgCmRpZSBaYWhucGFzdGEgfCBkaWUgWmFobnBhc3RhcyBkaWUgWmFobnBhc3RhcyAgCmRpZSBDcmVtZSB8IGRpZSBDcmVtZXMgIAoKZGVyIFNjaG1lcnogfCBkaWUgU2NobWVyemVuICAKZGFzIEZpZWJlciAgCmRhcyBCbHV0ICAKZGFzIFBmbGFzdGVyIHwgZGllIFBmbGFzdGVyICAKZGFzIE1lZGlrYW1lbnQgfCBkaWUgTWVkaWthbWVudGUgIApkaWUgVGFibGV0dGUgfCBkaWUgVGFibGV0dGVuICAKZGVyIEFyenQgfCBkaWUgw6R6dGUgIApkaWUgw6RyenRpbiB8IGRpZSDDpHJ6dGlubmVuICAKZGllIEtyYW5rZW5zY2h3ZXN0ZXIgIApkZXIgUGF0aWVudCB8IGRpZSBQYXRpZW50ZW4gIApkaWUgUGF0aWVudGluIHwgZGllIFBhdGllbnRpbm5lbiAgCmRpZSBWZXJzaWNoZXJ0ZW5rYXJ0ZSB8IGRpZSBWZXJzaWNoZXJ0ZW5rYXJ0ZW4gIApkaWUgUHJheGlzIHwgZGllIFByYXhlbiAgCmRhcyBLcmFua2VuaGF1cyB8IGRpZSBLcmFua2VuaMOkdXNlciAgCmRlciBLcmFua2Vud2FnZW4gZGllIEtyYW5rZW53YWdlbiAgCgoKZHVzY2hlbiB8IGhhdCBnZWR1c2NodCAgCmJhZGVuIHwgaGF0IGdlYmFkZXQgIApzaWNoIGvDpG1tZW4gfCBoYXQgc2ljaCBnZWvDpG1tdCAgKGNvbWIgaGFpcikgIApzaWNoIHJhc2llcmVuIHwgaGF0IHNpY2ggcmFzaWVydCAoc2hhdmUpICAKCmdlc3VuZCB8IGdlc8O8bmRlciB8IGFtIGdlc8O8bmRlc3RlbiAgCmtyYW5rIHwga3LDpG5rZXIgfCBhbSBrcsOkbmtlc3RlbiAgCnRvdCAgCgoKLS0tCgojIyBLbGVpZHVuZwoKLS0tCgpkaWUgS2xlaWR1bmcgIApkaWUgSG9zZSB8IGRpZSBIb3NlbiAgCmRlciBSb2NrIHwgZGllIFLDtmNrZSAoZXRlaykgIApkYXMgS2xlaWQgfCBkaWUgS2xlaWRlciAgCmRpZSBCbHVzZSB8IGRpZSBCbHVzZW4gIApkYXMgSGVtZCB8IGRpZSBIZW1kZW4gKGfDtm1sZWspICAKZGVyIEFuenVnIHwgZGllIEFuesO8Z2UgKHRha8SxbSBlbGJpc2UpICAKZGllIEtyYXdhdHRlIHwgZGllIEtyYXdhdHRlbiAgCmRhcyBLb3N0w7xtIHwgZGllIEtvc3TDvG1lICAKZGVyIFB1bGxvdmVyIHwgZGllIFB1bGxvdmVyIChrYXphaykgIApkaWUgV2VzdGUgfCBkaWUgV2VzdGVuIChjZXBrZW4pICAKZGFzIFQtc2hpcnQgfCBkaWUgVC1zaGlydHMgIApkaWUgSmVhbnMgfCBkaWUgSmVhbnMgIApkaWUgSmFja2UgfCBkaWUgSmFja2VuICAKZGVyIE1hbnRlbCB8IGRpZSBNw6RudGVsICAKZGllIE3DvHR6ZSB8IGRpZSBNw7x0emVuIChiZXJlKSAgCmRlciBIYW5kc2NodWggfCBkaWUgSGFuZHNjaHVoZSAgCmRlciBTY2hhbCB8IGRpZSBTY2hhbHMgZGllIFNjaGFsZSAoYXRrxLEpICAKZGVyIEfDvHJ0ZWwgfCBkaWUgR8O8cnRlbCAoa2VtZXIpICAKZGVyIFNjaHVoIHwgZGllIFNjaHVoZSAgCmRlciBTdGllZmVsIHwgZGllIFN0aWVmZWwgKMOnaXptZSkgIApkZXIgU3RydW1wZiB8IGRpZSBTdHLDvG1wZmUgKMOnb3JhcCkgIApkYXMgVW50ZXJoZW1kIHwgZGllIFVudGVyaGVtZGVuIChhdGxldCkgIApkaWUgVW50ZXJob3NlIHwgZGllIFVudGVyaG9zZW4gIApkZXIgVW50ZXJyb2NrIHwgZGllIFVudGVycsO2Y2tlICAKCnNpY2ggYXVzemllaGVuIHwgaGF0IHNpY2ggYXVzZ2V6b2dlbiAoc295dW5tYWspICAgIApzaWNoIGFuemllaGVuIHwgaGF0IHNpY2ggYW5nZXpvZ2VuIChnaXlpbm1laykgIAoKLS0tCgojIyBFc3NlbiB1bmQgVHJpbmtlbiAgCgotLS0KCkltIFN1cGVybWFya3Q6IGh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9tZWRpYS8zNi9zY2hyMS1sZXNldGV4dGUtTDMucGRmICAKCmRlciBIdW5nZXIgIApkZXIgRHVyc3QgIAoKZXNzZW4gfCBoYXQgZ2VnZXNzZW4gIAp0cmlua2VuIHwgaGF0IGdldHJ1bmtlbiAgCmZyw7xoc3TDvGNrZW4gfCBoYXQgZ2VmcsO8aHN0w7xjayAgCgoKc2F0dCAodG9rKSAgCgoKZGFzIEZyw7xoc3TDvGNrIHwgZGllIEZyw7xoc3TDvGNrZSAgCmRhcyBNaXR0YWdlc3NlbiB8IGRpZSBNaXR0YWdlc3NlbiAgCmRhcyBBYmVuZGVzc2VuIHwgZGllIEFiZW5kZXNzZW4gIApkaWUgTGViZW5zbWl0dGVsIChlcnphaykgIApkaWUgQnV0dGVyICAKZGVyIEvDpHNlIHwgZGllIEvDpHNlICAKZGllIFd1cnN0IHwgZGllIFfDvHJzdGUgIApkYXMgRWkgfCBkaWUgRWllciAgCmRhcyBNZWhsICh1bikgIApkZXIgUGZlZmZlciAgCmRhcyBTYWx6ICAKZGVyIFp1Y2tlciAgKMWfZWtlcikgIAoKZGFzIE9ic3QgKG1leXZlKSAgCmRlciBBcGZlbCB8IGRpZSDDpHBmZWwgIApkaWUgQmlybmUgfCBkaWUgQmlybmVuICAKZGllIE9yYW5nZSB8IGRpZSBPcmFuZ2VuICAKZGllIFRyYXViZSB8IGRpZSBUcmF1YmVuICjDvHrDvG0pICAKZGllIEJhbmFuZSB8IGRpZSBCYW5hbmVuICAKZGllIFppdHJvbmUgfCBkaWUgWml0cm9uZW4gIApkaWUgQW5hbmFzIHwgZGllIEFuYW5hcyAvIGRpZSBBbmFuYXNzZSAgCmRpZSBLaXJzY2hlIHwgZGllIEtpcnNjaGVuICAoa2lyYXopICAKZGllIFBmbGF1bWUgfCBkaWUgUGZsYXVtZW4gIChlcmlrKSAgCmRpZSBBcHJpa29zZSB8IGRpZSBBcHJpa29zZW4gIChrYXnEsXPEsSkgIApkaWUgRXJkYmVlcmUgfCBkaWUgRXJkYmVlcmVuICAow6dpbGVrKSAgCmRpZSBIaW1iZWVyZSB8IGRpZSBIaW1iZWVyZW4gIChyZWRiZXJyeSkgIApkaWUgQnJvbWJlZXJlIHwgZGllIEJyb21iZWVyZW4gKGJsdWViZXJyeSkgIAoKZGFzIEdlbcO8c2UgfCBkaWUgR2Vtw7xzZSAoc2ViemUpICAKZGllIEF1YmVyZ2luZSB8IGRpZSBBdWJlcmdpbmVuIChwYXRsxLFjYW4pICAKZGllIFBhcHJpa2EgfCBkaWUgUGFwcmlrYSBkaWUgUGFwcmlrYXMKZGVyIFNwaW5hdCAgICAKZGllIEJvaG5lIChmYXPDvGx5ZSkgIApkaWUgRXJic2UgfCBkaWUgRXJic2VuIChiZXplbHllKSAgCmRpZSBLYXJvdHRlICAKZGVyIE1haXMgKG3EsXPEsXIpICAKZGllIEthcnRvZmZlbCB8IGRpZSBLYXJ0b2ZmZWxuICAKZGllIFRvbWF0ZSB8IGRpZSBUb21hdGVuICAKZGllIEd1cmtlIHwgZGllIEd1cmtlbiAoc2FsYXRhbMSxaykgIApkaWUgWndpZWJlbCB8IGRpZSBad2llYmVsbiAgKHNvxJ9hbikgIApkaWUgWnVjY2hpbmkgfCBkaWUgWnVjY2hpbmkgIChrYWJhaykgIApkZXIgUGlseiB8IGRpZSBQaWx6ZSAobWFudGFyKSAgCmRpZSBOdXNzIHwgZGllIE7DvHNzZSAoY2V2aXopICAKZGVyIFNhbGF0IHwgZGllIFNhbGF0ZSAgCmRhcyDDlmwgfCBkaWUgw5ZsZSAgCmRlciBFc3NpZyB8IGRpZSBFc3NpZ2UgKHNpcmtlKSAgCmRpZSBOdWRlbG4gIApkZXIgUmVpcyAgCgpkZXIgRmlzY2ggfCBkaWUgRmlzY2hlICAKZGFzIEZsZWlzY2ggIApkYXMgR2VmbMO8Z2VsICAodGF2dWspICAKZGFzIEJyb3QgfCBkaWUgQnJvdGUgIApkYXMgQnLDtnRjaGVuIHwgZGllIEJyw7Z0Y2hlbiAgCmRlciBLdWNoZW4gfCBkaWUgS3VjaGVuIChrZWspICAKZGllIFN1cHBlIHwgZGllIFN1cHBlbiAgCmRpZSBQb21tZXMgZnJpdGVzICAKCmRpZSBTY2hva29sYWRlIHwgZGllIFNjaG9rb2xhZGVuICAKZGFzIEVpcyB8IGRpZSBFaXMgKGRvbmR1cm1hKSAgCmRpZSBHZXRyw6Rua2UgIApkYXMgQmllciB8IGRpZSBCaWVyZSAgCmRlciBXZWluIHwgZGllIFdlaW5lICAKZGVyIEthZmZlZSB8IGRpZSBLYWZmZXMgIApkZXIgVGVlIHwgZGllIFRlZXMgIApkaWUgTWlsY2ggIApkZXIgU2FmdCB8IGRpZSBTw6RmdGUgIAoKCmRhcyBHbGFzIHwgZGllIEdsw6RzZXIgIApkaWUgRmxhc2NoZSB8IGRpZSBGbGFzY2hlbiAgCmRhcyBHZXNjaGlyciAodGFiYWsgw6dhbmFrKSAgCmRpZSBUYXNzZSB8IGRpZSBUYXNzZW4gKGZpbmNhbikgIApkaWUgVW50ZXJ0YXNzZSB8IGRpZSBVbnRlcnRhc3NlbiAgCmRlciBUZWxsZXIgfCBkaWUgVGVsbGVyICh0YWJhaykgIApkYXMgQmVzdGVjayB8IGRpZSBCZXN0ZWNrZSAow6dhdGFsIGLEscOnYWspICAKZGFzIE1lc3NlciB8IGRpZSBNZXNzZXIgKGLEscOnYWspICAKZGllIEdhYmVsIHwgZGllIEdhYmVsbiAow6dhdGFsKSAgCmRlciBMw7ZmZmVsIHwgZGllIEzDtmZmZWwgKGthxZ/EsWspICAKZGVyIFRlZWzDtmZmZWwgfCBkaWUgVGVlbMO2ZmZlbCAgCgpkZXIgR2VzY2htYWNrIHwgZGllIEdlc2NobcOkY2tlICh0YXQpICAKCnNhdWVyIHwgc2F1cmVyIHwgYW0gc2F1cmVzdGVuIChla8WfaSkgIApzw7zDnyB8IHPDvMOfZXIgfCBhbSBzw7xlw590ZW4gKHRhdGzEsSkgIApzY2hhcmYgfCBzY2jDpHJmZXIgfCBhbSBzY2hyw6Rmc3RlbiAoYWPEsSkgIApzYWx6aWcgfCBzYWx6aWdlciB8IGFtIHNhbHppZ3N0ZW4gKHR1emx1KSAgCgpkaWUgS8O8Y2hlIHwgZGllIEvDvGNoZW4gIApkZXIgSGVyZCB8IGRpZSBIZXJkZSAob2NhaykgIApkZXIgT2ZlbiB8IGRpZSDDlmZlbiAoZsSxcsSxbikgIAoKa29jaGVuIHwgaGF0IGdlY29odCAgCmJhY2tlbiB8IGhhdCBnZWJhY2tlbgoKZGFzIFJlc3RhdXJhbnQgfCBkaWUgUmVzcmF1cmFudHMgIApkZXIgS2VsbG5lciB8IGRpZSBLZWxsbmVyIChnYXJzb24pICAKZGllIEtlbGxuZXJpbiB8IGRpZSBLZWxsbmVyaW5uZW4gIApkaWUgU3BlaXNla2FydGUgfCBkaWUgU3BhaXNla2FydGVuICh5ZW1layBsaXN0ZXNpKQoKYmVzdGVsbGVuIHwgaGF0IGJlc3RlbGx0ICAoc2lwYXJpxZ8gdmVybWVrKQoKLS0tCgojIyBEaWUgRmFyYmVuCgotLS0KCmRpZSBGYXJiZSB8IGRpZSBGYXJiZW4gIAoKcm90ICAKZ2VsYiAgCmJsYXUgIApncsO8biAgCmJyYXVuICAKZ3JhdSAgCnNjaHdhcnogIAp3ZWnDnyAgCnJvc2EgIApvcmFuZ2UgIApsaWxhICAKCgotLS0KCiMjIEdlYsOkdWRlIHVuZCBXb2huZW4gIAoKLS0tCgpkaWUgU3RhZHQgfCBkaWUgU3TDpGR0ZSAgCmRhcyBEb3JmIHwgZGllIETDtnJmZXIgIApkaWUgS2lyY2hlIHwgZGllIEtpcmNoZW4gIApkYXMgSG90ZWwgfCBkaWUgSG90ZWxzICAKZGFzIEVpbnplbHppbW1lciB8IGRpZSBFaW56ZWx6aW1tZXIgIApkYXMgRG9wcGVsemltbWVyIHwgZGllIERvcHBlbHppbW1lciAgCmRpZSBKdWdlbmhlcmJlcmdlIHwgZGllIEp1Z2VuaGVyYmVyZ2VuICAKZGVyIFBsYXR6IHwgZGllIFBsw6N0emUgIApkaWUgR2FyYWdlIHwgZGllIEdhcmFnZW4gIApkYXMgSGF1cyB8IGRpZSBIw6N1c2VyICAKZGFzIERhY2ggfCBkaWUgRMOjY2hlciAow6dhdMSxKSAgCmRlciBEYWNoYm9kZW4gfCBkaWUgRGFjaGLDtmRlbiAgCmRhcyBGZW5zdGVyIHwgZGllIEZlbnN0ZXIgIApkZXIgQmFsa29uIHwgZGllIEJhbGtvbnMgLyBkaWUgQmFsa29uZSAgCmRpZSBUw7xyIHwgZGllIFTDvHJlbiAgCmRlciBHYXJ0ZW4gfCBkaWUgR8OjcnRlbiAgCkVyZGdlc2Nob3NzIHwgRXJkZ2VzY2hvc3NlICAKZGVyIEtlbGxlciB8IGRpZSBLZWxsZXIgIApkaWUgV29obnVuZyB8IGRpZSBXb2hudW5nZW4gIAoKZGVyIFVtenVnIHwgZGllIFVtesO8Z2UgIAoKdW16aWVoZW4gfCBpc3QgdW1nZXpvZ2VuCmF1c3ppZWhlbiB8IGlzdCBhdXNnZXpvaGVuICAKZWluemllaGVuIHwgaXN0IGVpbmdlem9nZW4gIAoKZGVyIEVpbmdhbmcgfCBkaWUgRWluZ8OjbmdlIChnaXJpxZ8pICAKZGVyIEF1c2dhbmcgfCBkaWUgQXVzZ8OjbmdlICjDp8Sxa8SxxZ8pICAKCmRhcyBaaW1tZXIgfCBkaWUgWmltbWVyICAKZGFzIFNjaGxhZnppbW1lciAgCmRhcyBXb2huemltbWVyICAKZGFzIEJhZCB8IGRpZSBCw6NkZXIgIApkaWUgRHVzY2hlIHwgZGllIER1c2NoZW4gIApkaWUgVG9pbGV0dGUgfCBkaWUgVG9pbGV0dGVuICAKZGFzIFRvaWxldHRlbnBhcGllciAgCmRpZSBNw7ZiZWwgIApkYXMgQmV0dCB8IGRpZSBCZXR0ZW4gIApkZXIgU2NocmFuayB8IGRpZSBTY2hyw6Nua2UgKGRvbGFwKSAgICAKZGFzIFJlZ2FsIHwgZGllIFJlZ2FsZSAocmFmbMSxaykgIApkZXIgVGlzY2ggfCBkaWUgVGlzY2hlICAKZGVyIFN0dWhsIHwgZGllIFN0dWhsZSAgCmRpZSBCYW5rIHwgZGllIELDo25rZSAgCmRlciBTZXNzZWwgfCBkaWUgU2Vzc2VsICAKZGFzIFNvZmEgfCBkaWUgU29mYXMgIApkaWUgTGFtcGUgfCBkaWUgTGFtcGVuICAKZGVyIFRlcHBpY2ggfCBkaWUgVGVwcGljaGUgIApkYXMgQmlsZCB8IGRpZSBCaWxkZXIgIApkZXIgU2NobMO8c3NlbCB8IGRpZSBTY2hsw7xzc2VsICAKCgotLS0KCiMjIERpZSBaYWhsZW4KCi0tLQoKZGllIFphaGwgfCBkaWUgWmFobGVuICAKClphaGxlbiAwIGJpcyAzMCAgCgowIG51bGwgIAoxIGVpbnMgKGVpIC0+IGFpKSAgCjIgendlaSAoeiAtPiB0cykgIAozIGRyZWkgIAo0IHZpZXIgKGllIC0+IGlpKSAgCjUgZsO8bmYgIAo2IHNlY2hzICAKNyBzaWViZW4gIAo4IGFjaHQgIAo5IG5ldW4gKGV1IC0+IG9pKSAgCjEwIHplaG4gKGVoIC0+IGVlKSAgCjExIGVsZiAgCjEyIHp3w7ZsZiAgCjEzIGRyZWl6ZWhuICAKMTQgdmllcnplaG4gIAoxNSBmw7xuZnplaG4gIAoxNiBzZWNoemVobiAgCjE3IHNpZWJ6ZWhuICAKMTggYWNodHplaG4gIAoxOSBuZXVuemVobiAgCjIwIHp3YW56aWcgIAoyMSBlaW51bmR6d2FuemlnICAKMjIgIAoyMyAgCjI0ICAKMjUgIAoyNiAgCjI3ICAKMjggIAoyOSAgCjMwIGRyZWnDn2lnICAKNDAgdmllcnppZyAgCjUwIGbDvG5memlnICAKNjAgc2VjaHppZyAgCjcwIHNpZWJ6aWcgIAo4MCBhY2h0emlnICAKOTAgbmV1bnppZyAgCjEwMCAoZWluKSBodW5kZXJ0ICAKMTAxIGh1bmRlcnRlaW5zICAKMzQgIAo0MyAgCjUyICAKNjEgIAo3NSAgCjg2ICAKOTcgIAoKMTAwIChlaW4paHVuZGVydCAgCjEwMSAoZWluKWh1bmRlcnRlaW5zICAKMjAwIHp3ZWlodW5kZXJ0ICAKMzAwIGRyZWlodW5kZXJ0ICAKNDAwIHZpZXJodW5kZXJ0ICAKNTAwIGbDvG5maHVuZGVydCAgCjYwMCBzZWNoc2h1bmRlcnQgIAoxMDAwIChlaW4pdGF1c2VuZCAgCjIwMDAgendlaXRhdXNlbmQgIAoxMDAwMCB6ZWhudGF1c2VuZCAgCjIwMDAwIHp3YW56aWd0YXVzZW5kICAKMTAwMDAwIChlaW4paHVuZGVydHRhdXNlbmQgIAoxMDAwMDAwIGVpbmUgTWlsbGlvbiAgCmRpZSBNaWxsaW9uICAKZGllIE1pbGxpYXJkZSAgCgoyNDg5OTkgfCB6d2VpaHVuZGVydGFjaHR1bmR2aWVyemlndGF1c2VuZG5ldW5odW5kZXJ0bmV1bnVuZG5ldW56aWcgIAoKcmVjaG5lbiB8IGhhdCBnZXJlY2huZXQgIAoKcGx1cyAgKyAgCm1pbnVzICAtICAgCm1hbCAgKiAgIApkdXJjaCAgLyAgIAppc3QvZ2xlaWNoID0gICAKCmRhcyBQcm96ZW50IHwgZGllIFByb3plbnQgJSAgIAoKMSsxID0gMiBlaW5zIHBsdXMgZWlucyBpc3QgLyBnbGVpY2ggendlaSAgCgpkaWUgRm9ybSB8IGRpZSBGb3JtZW4gIApkZXIgS3JlaXMgfCBkaWUgS3Jlc2llICjDp2VtYmVyKSAgCmRhcyBEcmVpZWNrIHwgZGllIERyZWllY2tlICjDvMOnZ2VuKSAgCmRhcyBWaWVyZWNrIHwgZGllIFZpZXJlY2tlIChkw7ZydGdlbikgIAoKZ2FueiAoYWRqLCB5dXZhcmxhaykgIAoKZGVyIFRlaWwgfCBkaWUgVGVpbGUgKHBhcsOnYSkgIAoKZGllIEjDo2xmdGUgfCBkaWUgSMOjbGZ0ZW4gKHlhcsSxbSkgIApkYXMgRHJpdHRlbCB8IGRpZSBEcml0dGVsICjDvMOndGViaXIpICAKZGFzIFZpZXJ0ZWwgIApkYXMgRsO8bmZ0ZWwgIApkYXMgU2VjaHN0ZWwgIApkYXMgU2llYnRlbCAgCmRhcyBBY2h0ZWwgIApkYXMgTmV1bnRlbCAgCmRhcyBaZWhudGVsICAKCmVyc3RlICAKendlaXRlICAKZHJpdHRlCnZpZXJ0ZSAgCmbDvG5mdGUgIApzZWNoc3RlICAKc2llYnRlICAKYWNodGUgIApuZXVudGUgIAp6ZWhudGUgIAoKZGVyL2RpZS9kYXMgendlaXRlIC4uCgoKLS0tCgojIyBFaW5rYXVmZW4gdW5kIEdlbGQKCi0tLQoKZGFzIEdlc2Now6NmdCB8IGRpZSBHZXNjaMOjZnRlICAKZGllIEthc3NlIHwgZGllIEthc3NlbiAoa2FzYSkgIApkZXIgVmVya8OjdWZlciB8ICBkaWUgVmVya8OjdWZlcmluIChzZWxsZXIpICAKZGllIFZlcmvDo3VmZXJpbiB8IGRpZSBWZXJrw6N1ZmVyaW5uZW4gIApkZXIgS3VuZGUgfCBkaWUgS3VuZGVuIChhbMSxY8SxLCBtw7zFn3RlcmkpICAKZGllIEt1bmRpbiB8IGRpZSBLdW5kaW5uZW4gIApkZXIgUHJlaXMgIAoKZWlua2F1ZmVuIHwgZWluIGdla2F1ZnQgIAprb3N0ZW4gfCBoYXQgZ2Vrb3N0ZXQgIAp2ZXJrYXVmZW4gfCBoYXQgdmVya2F1ZnQgKHNhdG1haykgIAprYXVmZW4gfCBoYXQgZ2VrYXVmdCAoc2F0xLFuIGFsbWFrKSAgCnphaGxlbiB8IGhhdCBnZXphaGx0ICh0byBwYXkpICAKCgpiaWxsaWcgfCBiaWxsaWdlciB8IGFtIGJpbGxpZ3N0ZW4gICh1Y3V6KSAgCnRldWVyIHwgdGV1cmVyIHwgYW0gdGV1cmVzdGVuICAocGFoYWzEsSkgIAoKCgpkaWUgVMO8dGUgfCBkaWUgVMO8dGVuIChiYWcpICAgIApkaWUgR2VsZGLDtnJzZSB8IGRpZSBHZWxkYsO2cnNlbiAoY8O8emRhbikgIApkaWUgQnJpZWZ0YXNjaGUgfCBkaWUgQnJpZWZ0YXNjaGVuIChrYXJ0IGPDvHpkYW7EsSkgIApkZXIgTWFya3QgfCBkaWUgTcOjcmt0ZSAocGF6YXIpICAKZGVyIFN1cGVybWFya3QgfCBkaWUgU8O8cGVybcOjcmt0ZSAgCmRlciBLaW9zayB8IGRpZSBLaW9za2UgKGLDvGZlKSAgCmRpZSBCw6Nja2VyZWkgfCBkaWUgQsOjY2tlcmVpZW4gKGbEsXLEsW4pICAKZGllIEZsZWlzY2hlcmVpIHwgZGllIEZsZWlzY2hlcmVpZW4gKGthc2FwKSAgCmRlciBGcmlzw7ZyIHwgZGllIEZyaXPDtnJlIChrdWFmw7ZyKSAgCmRpZSBSZWhudW5nIHwgZGllIFJlaG51bmdlbiAgCmRpZSBLb250b251bW1lciB8IGRpZSBLb250b251bW1lcm4gIApkaWUgQmFua2xlaXR6YWhsIHwgZGllIEJhbmtsZWl0emFobGVuICAKZGllIEtyZWRpdGthcnRlIHwgZGllIEtyZWRpdGthcnRlbiAgCmRhcyBHZWxkICAKZGVyIEV1cm8gfCBkaWUgRXVyb3MgIApkZXIgQ2VudCB8IGRpZSBDZW50cyAgCmRpZSBCYW5rIHwgZGllIEJhbmtlbiAgCgotLS0KCgojIyBBbmdhYmVuIHp1ciBQZXJzb24gIAoKLS0tCgpBbmdhYmVuIHp1ciBQZXJzb24gKFBlcnNvbmFsIGluZm9ybWF0aW9uKSAgCgpkaWUgQWRyZXNzZSB8IGRpZSBBZHJlc3NlbiAgCmRlciBOYW1lIHwgZGllIE5hbWVuICAKZGVyIFZvcm5hbWUgfCBkaWUgVm9ybmFtZW4gIApkZXIgRmFtaWxpZW5uYW1lIHwgZGllIEZhbWlsaWVubmFtZW4gIApkaWUgU3RyYcOfZSB8IGRpZSBTdHJhw59lbiAgCmRpZSBOdW1tZXIgfCBkaWUgTnVtbWVybiAgCmRlciBPcnQgfCBkaWUgT3J0ZSAgCmRpZSBQb3N0bGVpdHphaGwgfCBkaWUgUG9zdGxlaXR6YWhsZW4gIApkZXIgR2VidXJ0c29ydCB8IGRpZSBHZWJ1cnRzb3J0ZSAgCmRhcyBHZWJ1cnRzamFociB8IGRpZSBHZWJ1cnRzamFocmUgIApkYXMgR2VidXJ0c2RhdHVtIHwgZGllIEdlYnVydHNkYXRlbiAgCmRhcyBBbHRlciB8IGRpZSBBbHRlciAgCmRpZSBVbnRlcnNjaHJpZnQgfCBkaWUgVW50ZXJzY2hyaWZ0ZW4gIAoKCm3Do25ubGljaCAobWFsZSkgIAp3ZWlibGljaCAoZmVtYWxlKSAgCgpkYXMgRm9ybXVsYXIgfCBkaWUgRm9ybXVsYXJlICAKCmF1c2bDvGxsZW4gfCBoYXQgYXVzZ2Vmw7xsbHQgKGZpbGwgaW4pICAKaGVpw59lbiB8IGhhdCBnZWhlacOfZW4gIAp1bnRlcnNjaHJlaWJlbiB8IGhhdCB1bnRlcnNjaHJlaWJlbiAgCgoKZGVyIEZhbWlsaWVuc3RhbmQgIApsZWRpZyAoc2luZ2xlKSAgCnZlcmhlaXJhdGV0IChtYXJyaWVkKSAgCmdlc2NoaWVkZW4gKGRpdm9yY2VkKSAgCnZlcndpdHdldCAod2lkb3cpICAKCmhlaXJhdGVuIHwgaGF0IGdlaGFpcmF0ZXQgIAoKZGllIFBhcGllcmUgKGtpbWxpaykgIApkZXIgQXVzd2VpcyB8IGRpZSBBdXN3ZWlzZSAgCmRlciBQYXNzIHwgZGllIFDDo3NzZSAgCgoKVm9ybmFtZSAgCkZhbWlsaWVuc3RhbmQgIAoKSWNoIGJpbiB2ZXJoZWlyYXRldC4gIApTaWUgaXN0IHZlcmhlaXJhdGV0LiAgCmxlZGlnIChiZWthcikgIAp2ZXJsaWVidCAoc2V2Z2lsaSkgIAp2ZXJsb2J0IChzw7Z6bMO8L25pxZ9hbmzEsSkgIAp2ZXJoZWlyYXRldCAoZXZsaSkgIApnZXNjaGllZGVuIChib8WfYW5txLHFnykgIAp2ZXJ3aXR3ZXQgKGR1bCkgCgoKCgoKLS0tCgojIyBGYW1pbGllIHVuZCBGcmV1bmRlCgotLS0KCkZhbWlsaWUgUG9sYXQ6ICBodHRwczovL3d3dy5odWViZXIuZGUvbWVkaWEvMzYvc2NocjEtbGVzZXRleHRlLUwyLnBkZiAgCgpkaWUgRmFtaWxpZSB8IGRpZSBGYW1pbGllbiAgCmRpZSBHcm/Dn2VsdGVybiAgCmRlciBHcm/Dn3ZhdGVyIHwgZGllIEdyb8OfdsOjdGVyICAKZGllIEdyb8OfbXV0dGVyIHwgZGllIEdyb8OfbcO8dHRlciAgCmRpZSBFbHRlcm4gIApkZXIgVmF0ZXIgfCBkaWUgVsOjdGVyICAKZGVyIFBhcGEgfCBkaWUgUGFwYXMgIApkaWUgTXV0dGVyIHwgZGllIE3DvHR0ZXIgIApkaWUgTWFtYSB8IGRpZSBNYW1hcyAgCmRlciBTb2huIHwgZGllIFPDtmhuZSAgCmRpZSBUb2NodGVyIHwgZGllIFTDtmNodGVyICAKZGllIEdlc2Nod2lzdGVyICAKZGVyIEJydWRlciB8IGRpZSBCcsO8ZGVyICAKZGllIFNjaHdlc3RlciB8IGRpZSBTY2h3ZXN0ZXJuICAKZGllIFRhbnRlIHwgZGllIFRhbnRlbiAgCmRlciBPbmtlbCB8IGRpZSBPbmtlbCAgCmRlciBDb3VzaW4gfCBkaWUgQ291c2lucyAgCmRpZSBDb3VzaW5lIHwgZGllIENvdXNpbmVuICAKZGFzIEVoZXBhYXIgfCBkaWUgRWhlcGFhcmUgIApkZXIgTWFubiB8IGRpZSBNw6NubmVyICAKZGllIEZyYXUgfCBkaWUgRnJhdWVuICAKZGVyIEZyZXVuZCB8IGRpZSBGcmV1bmRlICAKZGllIEZyZXVuZGluIHwgZGllIEZyZXVkaW5uZW4gIApkZXIgUGFydG5lciB8IGRpZSBQYXJ0bmVyICAKZGllIFBhcnRuZXJpbiB8IGRpZSBQYXJ0bmVyaW5uZW4gIAoKCkVoZW1hbiArIEVoZWZyYXUgLT4gRWhlcGFhciAgCkVua2VsICsgRW5rZWxpbiAtPiBFbmtlbGtpbmRlciAgCgpGYW1pbGllICAKRWx0ZXJuICAKT3BhICAKU2Nod2VzdGVyICAKTXV0dGVyIE1hbWEgIApWYXRlciBQYXBhICAKCgp8IE1hc2t1bGluIHwgRmVtaW5pbmUgfCBQbHVyYWwgfAp8IC0tLSB8IC0tLSB8IC0tLSB8CnwgbWVpbiB8IG1laW5lIHwgbWVpbmUgfAp8IGRlaW4gfCBkZWluZSB8IGRlaW5lIHwKfCBWYXRlciB8IE11dHRlciB8IEVsdGVybiB8CnwgU29obiB8IFRvY2h0ZXIgfCBLaW5kZXIgfAp8IEJydWRlciB8IFNjaHdlc3RlciB8IEdlc2Nod2lzdGVyIHwKfCBHcm/Dn3ZhdGVyIHwgR3Jvw59tdXR0ZXIgfCBHcm/Dn2VsdGVybiB8ICAKCm1laW5lIEVsdGVybiAgCm1laW5lIEVua2VsaW4KbWVpbmUgRmFtaWxpZSAgCgoKQnJ1ZGVyIHwgQnLDvGRlciAgClRvY2h0ZXIgfCBUw7ZjaHRlciAgClNvaG4gfCBTw7ZobmUgIApFbmtlbCB8IEVua2VsICAKRmFtaWxpZSB8IEZhbWlsaWVuCgoKV2llIGlzdCBkZWluZSBUZWxlZm9ubnVtbWVyPyAgCldpZSBpc3QgSWhyZSBUZWxlZm9ubnVtbWVyPyAgCgpGYW1pbGllbm1pdGdsaWVkIChGYW1pbHkgbWVtYmVyKSAgCgpXaWUgaGVpw590IElocmUgTXV0dGVyPyAgCldpZSBoZWnDn3QgZGVpbmUgTXV0dGVyPyAgCgpXYXMgbWFjaHQgc2llIEJlcnVmbGljaD8KV2FzIG1hY2h0IGRlaW5lIE11dHRlciBCZXJ1ZmxpY2g/CgpXaWUgYWx0IGlzdCBkZWluZSBNdXR0ZXI/ICAKCldvIHdvaG50IGRlaW5lIE11dHRlcj8gIAoKSXN0IGRlaW5lIE11dHRlciB2ZXJoZWlyYXRldD8gIAoKV2llIHZpZWxlIGtpbmRlciBoYXQgZGVpbmUgTXV0dGVyPyAgCgotLS0KCiMjIEFyYmVpdAoKLS0tCgpkaWUgRmlybWEgfCBkaWUgRmlybWVuICAKZGVyIEVtcGZhbmcgfCBkaWUgRW1wZsOjbmdlICAKZGFzIELDvHJvIHwgZGllIELDvHJvcyAgCmRlciBTY2hyZWlidGlzY2ggfCBkaWUgU2NocmVpYnRpc2NoZSAgCmRpZSBBcmJlaXQgIApkaWUgUGF1c2UgfCBkaWUgUGF1c2VuICAKZGVyIEZlaWVyYWJlbmQgfCBkaWUgRmVpZXJhYmVuZGUgIApkZXIgQ2hlZiB8IGRpZSBDaGVmcyAgCmRpZSBDaGVmaW4gfCBkaWUgQ2hlZmlubmVuICAKZGVyIEtvbGxlZ2UgfCBkaWUgS29sbGVnZW4gIApkaWUgS29sbGVnaW4gfCBkaWUgS29sbGVnaW5uZW4gIAoKdGVsZWZvbmllcmVuIHwgaGF0IHRlbGVmb25pZXJ0ICAKYXJiZWl0ZW4gfCBoYXQgZ2VhcmJlaXRldCAgCgpkZXIgQmVydWYgfCBkaWUgQmVydWZlICAKZGVyIEFud2FsdCB8IGRpZSBBbnfDo2x0ZSAgCmRpZSBBbnfDo2x0aW4gfCBkaWUgQW53w6NsdGlubmVuICAKZGVyIEFyYmVpdGVyIHwgZGllIEFyYmVpdGVyaW4gIApkaWUgQXJiZWl0ZXJpbiB8IGRpZSBBcmJlaXRlcmlubmVuICAKZGVyIELDo2NrZXIgfCBkaWUgQsOjY2tlciAgCmRpZSBCw6Nja2VyaW4gfCBkaWUgQsOjY2tlcmlubmVuICAKZGVyIEJhdWVyIHwgZGllIEJhdWVybiAgCmRpZSBCw6N1ZXJpbiB8IGRpZSBCw6N1ZXJpbm5lbiAgCmRlciBCcmllZnRyw6NnZXIgfCBkaWUgQnJpZWZ0csOjZ2VyICAKZGllIEJyaWVmdHLDo2dlcmluIHwgZGllIEJyaWVmdHLDo2dlcmlubmVuICAKZGVyIEVsZWt0cmlrZXIgIHwgZGllIEVsZWt0cmlrZXIgIApkZXIgRWxla3RyaWtlcmluIHwgZGllIEVsZWt0cmlrZXJpbm5lbiAgCmRlciBGbGVpc2NoZXIgfCBkaWUgRmxlaXNjaGVyICAKZGllIEZsZWlzY2hlcmluIHwgZGllIEZsZWlzY2hlcmlubmVuICAKZGVyIEfDo3J0bmVyIHwgZGllIEfDo3J0bmVyaW4gIApkaWUgR8OjcnRuZXJpbiB8IGRpZSBHw6NydG5lcmlubmVuICAKZGVyIEhhdXNtYW5uIHwgZGllIEhhdXNtw6NubmVyICAKZGllIEhhdXNmcmF1IHwgZGllIEhhdXNmcmF1ZW4gIApkZXIgSGF1c21laXN0ZXIgfCBkaWUgSGF1c21laXN0ZXIgIApkaWUgSGF1c21laXN0ZXJpbiB8IGRpZSBIYXVzbWVpc3RlcmlubmVuICAKZGVyIEluc3RhbGxhdGV1ciB8IGRpZSBJbnN0YWxsYXRldXJlICAKZGllIEluc3RhbGxhdGV1cmluIHwgZGllIEluc3RhbGxhdGV1cmlubmVuICAKZGVyIE1hbGVyIHwgZGllIE1hbGVyICAKZGVyIE1hbGVyaW4gfCBkaWUgTWFsZXJpbm5lbiAgCmRlciBNYXVlciB8IGRpZSBNYXVlciAgCmRlciBNYXVlcmluIHwgZGllIE1hdWVyaW5uZW4gIApkZXIgTWVjaGFuaWNrZXIgfCBkaWUgTWVjaGFuaWNrZXIgIApkaWUgTWVjaGFuaWNrZXJpbiB8IGRpZSBNZWNoYW5pY2tlcmlubmVuICAKZGVyIFBvbGl6aXN0IHwgZGllIFBvbGl6aXN0ZW4gIApkaWUgUG9saXppc3RlbiB8IGRpZSBQb2xpemlzdGlubmVuICAKZGVyIFNjaG5laWRlciB8IGRpZSBTY2huZWlkZXIgIApkZXIgU2NobmVpZGVyaW4gfCBkaWUgU2NobmVpZGVyaW5uZW4gIApkZXIgU2VrcmV0w6NyIHwgZGllIFNla3JldMOjciAgCmRpZSBTZWtyZXTDo3JpbiB8IGRpZSBTZWtyZXTDo3JpZW5uZW4gIAoKCkljaCBiaW4gKyBCZXJ1ZiAgCkljaCBhcmJlaXRlIGFscyArIEJlcnVmIChpxZ8pICAKSWNoIGFyYmVpdGUgYmVpICsgRmlybWEgIApJY2ggYXJiZWl0ZSBiZWkgKyBBcmJlaXRnZWJlciAoacWfdmVyZW4pICAKCldhcyBzaW5kIFNpZSB2b24gQmVydWY/ICAKV2FzIGJpc3QgZHUgdm9uIEJlcnVmPyAgCgpXYXMgbWFjaGVuIFNpZSBCZXJ1ZmxpY2g/ICAKV2FzIG1hY2hzdCBkdSBCZXJ1ZmxpY2g/ICAKCgpXYXMgc3R1ZGllcmVuIFNpZT8gIApXYXMgc3R1ZGllcnN0IGR1PyAgCgpJY2ggc3R1ZGllcmUgTXVzaWsgYXVmIGxlaHJhbXQuICAKUGh5c2lrICAKTWF0aGVtdGFpayAgCgpJY2ggYmluIGFyYmVpdHNsb3MuICAoacWfc2l6KSAgCgpJbmdlbmlldXJ3ZXNlbiAgCldpcnRzY2hhZnRzd2lzc2Vuc2NoYWZ0ZW4gIApSZWNodHN3aXNzZW5zY2hhZnRlbiAgCkJpb2xvZ2llICAKQ2hlbWllICAKTmF0dXJ3aXNzZW5zY2hhZnQgIAoKSWNoIGJpbiBTdHVkZW50IC8gU3R1ZGVudGluLiBVbml2ZXJzaXTDpHQgIApJY2ggYmluIFNjdWxlciAvIFNjaMO8bGVyaW4uIFNjaHVsZSAgCgplaW4gUHJha3Rpa3VtIG1hY2hlbiAgCkljaCBtYWNoZSBlaW4gUHJha3Rpa3VtIGJlaSAuLi4gLyBhbHMgLi4uICAKCmVpbmUgQXVzYmlsZHVuZyBtYWNoZW4gKGEgbG9uZyBlZHVjYXRpb24pICAKSWNoIG1hY2hlIGVpbmUgQXVzYmlsZHVuZyBiZWkgLi4uIC8gYWxzIC4uLgoKSWNoIGhhYmUgZWluZW4gSm9iIGFscyAoQmVydWYpIGJlaSAoRmlybWEpICAKCkFud2FsdCB8IEFud8OkbHRpbiAoYXZ1a2F0KSAgCkJpb2xvZ2UgfCBCaW9sb2dpbgoKS3JpbWluYWxyZWNodCAgClN0dWRlbnRpY2hlIEhpbGZza3JhZnQgIApCYXVpbmdlbml1ciAgCkluZ2VuaXVyd2Vpc3MgIApCaW9tZWRpemluICAKCi0tLQoKIyMgU3BvcnQgdW5kIEZyZWl6ZWl0ICAKCi0tLQoKZGVyIFNwb3J0ICAKCkJhc2tldGJhbGwgIApGdcOfYmFsbCAgCkpvZ2dpbmcgIApIYW5kYmFsbCAgClRlbm5pcyAgClRpc2NodGVubmlzICAKVm9sbGV5YmFsbCAgCgpkZXIgQmFsbCB8IGRpZSBCw6NsbGUgIApkZXIgU3BhemllcmdhbmcgfCBkaWUgU3BhemllcmfDo25nZSAgCmRhcyBTY2h3aW1tYmFkIHwgZGllIFNjaHdpbW1iw6NkZXIgIApkaWUgU3BvcnRoYWxsZSB8IGRpZSBTcG9ydGhhbGxlbiAgCmRlciBTcG9ydHBsYXR6IHwgZGllIFNwb3J0cGzDo3R6ZSAgCmRhcyBLaW5vIHwgZGllIEtpbm9zICAKZGFzIE11c2V1bSB8IGRpZSBNdXNlZW4gIApkYXMgVGhlYXRlciB8IGRpZSBUaGVhdGVyICAKCnNjaHdpbW1lbiB8IGlzdCBnZXNjaHdvbW1lbiAgICAKdGFuemVuIHwgaGF0IGdldGFuenQgIAp3YW5kZXJuIHwgaXN0IGdld2FuZGVydCAgCgpXaWUgd2FyZW4gSWhyZSBGZWllcnRhZ2U/ICAKV2llIHdhcmVuIGRlaW5lIEZlaWVydGFnZT8gIAoKTWVpbmUgRmVpZXJ0YWdlIHdhcmVuIHNjaMO2bi4gIAoKV2FzIGhhYmVuIFNpZSBnZW1hY2h0PwoKLS0tCgojIyBFaW5sYWRlbiB1bmQgQmVzdWNoZW4gIAoKLS0tCgpkZXIgR2VidXJ0c3RhZyB8IGRpZSBHZWJ1cnRzdGFnZSAgCmRpZSBFaW5sYWR1bmcgfCBkaWUgRWlubGFkdW5nZW4gIApkaWUgVG9ydGUgfCBkaWUgVG9ydGVuICAKZGFzIEdlc2NoZW5rIHwgZGllIEdlc2NoZW5rZSAgCmRlciBHYXN0IHwgZGllIEfDo3N0ZSAgCgpiZXN1Y2hlbiB8IGhhdCBiZXN1Y2h0ICAKZ3LDvMOfZW4gfCBoYXQgZ2VncsO8w590ICAKc2ljaCB2ZXJhYnNjaGllZGVuIHwgaGF0IHNpY2ggdmVyYWJzY2hpZWRldCAgCgpncmF0dWxpZXJlbiB8IGhhdCBncmF0dWxpZXJ0ICAKZGFua2VuIHwgaGF0IGdlZGFua3QgIAoKCgoKSGFsbG8gIApHdXRlbiBUYWcgIApIZXJ6bGljaGVuIEdsw7xja3d1bnNjaCAgCmJpdHRlICAKZGFua2UgIApBdWYgd2llZGVyc2VoZW4gIAp0c2Now7xzcyAgCgotLS0KCiMjIGRpZSBVaHJ6ZWl0ICAKCi0tLQoKZGllIFVociB8IGRpZSBVaHJlbiAgCmRlciBaZWlnZXIgfCBkaWUgWmVpZ2VyICAKZGllIFN0dW5kZSB8IGRpZSBTdHVuZGVuICAKZWluZSBIYWxiZSBTdHVuZGUgIAplaW5lIHZpZXJ0ZWwgU3R1bmRlICAKZGllIE1pbnV0ZSB8IGRpZSBNaW51dGVuICAKZGllIFNla3VuZGUgfCBkaWUgU2VrdW5kZW4gIAoKZnLDvGggfCBmcsO8aGVyIHwgYW0gZnLDvGhlc3RlbiAgCnNww6N0IHwgc3DDo3RlciB8IGFtIHNww6N0ZXN0ZW4gIAoKZGllIFVocnplaXQgfCBkaWUgVWhyemVpdGVuICAKZWluIFVociAgCnp3ZWkgVWhyICAKendlaSBVaHIgbW9yZ2VucyAgCnp3ZWkgVWhyIG5hY2htaXR0YWdzICAKc2VjaHMgVWhyIGFiZW5kcyAgCnp3w7ZsZiBVaHIgbWl0dGFncyAgCnp3w7ZsZiBVaHIgbmFjaHRzICAKCldpZSBzcMOjdCBpc3QgZXM/ICAKRXMgaXN0IHZpZXJ0ZWwgbmFjaCBlaW5zLiAgCmhhbGIgendlaSAgCnZpZXJ0ZWwgdm9yIHp3ZWkgIAoKSXJpbmFzIFRhZ2VzYWJsYXVmOiBodHRwczovL3d3dy5odWViZXIuZGUvbWVkaWEvMzYvc2NocjEtbGVzZXRleHRlLUw1LnBkZgoKCi0tLQoKIyMgZGVyIEthbGVuZGFyCgotLS0KCmRpZSBXb2NoZSAgCmRlciBUYWcgIApkYXMgSmFociAgCmRpZSBTdHVuZGUgIApkaWUgTWludXRlICAKZGVyIE1vbmF0ICAKCgpkZXIgVGFnIHwgZGllIFRhZ2UgIAoKdm9yZ2VzdGVybiAgCmdlc3Rlcm4gIApoZXV0ZSAgCm1vcmdlbiAgCsO8YmVybW9yZ2VuICAKCmRlciBNb250YWcgfCBkaWUgTW9udGFnZSAgICAKZGVyIERpZW5zdGFnIHwgZGllIERpZW5zdGFnZSAgICAKZGVyIE1pdHR3b2NoIHwgZGllIE1pdHR3b2NoZSAgICAKZGVyIERvbm5lcnN0YWcgfCBkaWUgRG9ubmVyc3RhZ2UgICAgCmRlciBGcmVpdGFnIHwgZGllIEZyZWl0YWdlICAgIApkZXIgU2Ftc3RhZyB8IGRpZSBTYW1zdGFnZSBkZXIgU29ubmFiZW5kIHwgZGllIFNvbm5hYmVuZGUgIApkZXIgU29udGFnICB8IGRpZSBTb250YWdlICAKCmRlciBNb3JnZW4gfCBkaWUgTW9yZ2VuICAKbW9yZ2VucyAgCkd1dGVuIE1vcmdlbiAgCmRlciBNaXR0YWcgfCBkaWUgTWl0dGFnZSAgCm1pdHRhZ3MgIApkZXIgQWJlbmQgIHwgZGllIEFiZW5kZSAgCmFiZW5kcyAgCkd1dGVuIEFiZW5kICAKZGVyIFRhZyB8IGRpZSBUYWdlICAKdGFnc8O8YmVyICAKR3V0ZW4gVGFnICAKZGllIE5hY2h0IHwgZGllIE7Do2NodGUgIApuYWNodHMgIApHdXRlIE5hY2h0ICAKCgpkaWUgV29jaGUgfCBkaWUgV29jaGVuICAKZGVyIFdvY2hlbnRhZyB8IGRpZSBXb2NoZW50YWdlICAKZGVyIFdlcmt0YWcgfCBkaWUgV2Vya3RhZ2UgIApkYXMgV29jaGVuZW5kZSB8IGRpZSBXb2NoZW5lbmRlbiAgCgpkYXMgSmFociB8IGRpZSBKYWhyZSAgCmRpZSBKYWhyZXN6ZWl0IHwgZGllIEphaHJlc3plaXRlbiAgCmRlciBGcsO8aGxpbmcgZGFzIEZyw7xoamFociAgCmRlciBTb21tZXIgIApkZXIgSGVic3QgIApkZXIgV2ludGVyICAKCmRlciBNb25hdCB8IGRpZSBNb25hdGUgIApkZXIgSmFudWFyICAKZGVyIEZlYnJ1YXIgIApkZXIgTcOjcnogIApkZXIgQXByaWwgIApkZXIgTWFpICAKZGVyIEp1bmkgIApkZXIgSnVsaSAgCmRlciBBdWd1c3QgIApkZXIgU2VwdGVtYmVyICAKZGVyIE9rdG9iZXIgIApkZXIgTm92ZW1iZXIgIApkZXIgRGV6ZW1iZXIgIAoKLS0tCgojIyBNYcOfZSB1bmQgR2V3aWNodGUgIAoKLS0tCgpkYXMgTWHDnyB8IGRpZSBNYcOfZSAoY2V0dmVsKSAgCmRpZSBCcmVpdGUgfCBkaWUgQnJlaXRlbiAoZ2VuacWfbGlrKSAgCmRpZSBIw7ZoZSB8IGRpZSBIw7ZoZW4gKHnDvGtzZWtsaWspICAKZGllIFRpZWZlIHwgZGllIFRpZWZlbiAgCmRpZSBMw6NuZ2UgfCBkaWUgTMOjbmdlbiAgCmRlciBaZW50aW1ldGVyICAKZGVyIE1ldGVyICAKZGVyIFF1YWRyYXRtZXRlciAgCmRlciBLaWxvbWV0ZXIgfCBkaWUgS2lsb21ldGVyICAKZGFzIEdld2ljaHQgfCBkaWUgR2V3aWNodGUgIApkYXMgR3JhbW0gfCBkaWUgR3JhbW0gIApkYXMgUGZ1bmQgfCBkaWUgUGZ1bmQgIApkYXMgS2lsb2dyYW1tIHwgZGllIEtpbG9ncmFtbSAgCkdyYWQgQ2Vsc2l1cyAgCmRlciBNaWxsaWxpdGVyIHwgZGllIE1pbGxpbGl0ZXIgIApkZXIgTGl0ZXIgfCBkaWUgTGl0ZXIgIAplaW4gaGFsYmVyIExpdGVyICAKCm1lc3NlbiB8IGhhdCBnZW1lc3NlbiAgCgoKLS0tCgojIyBMw6NuZGVyIE5hdGlvbmFsaXTDo3RlbiAgCgotLS0KCgpkYXMgTGFuZCB8IGRpZSBMw6NuZGVyICAKS29udGluZW50IHwgS29udGluZW50ZSAgCgpFdXJvcGEgIApFdXJvcMOjZXIgfCBFdXJvcMOjZXIgIApkaWUgRXVyb3DDo2VyaW4gfCBkaWUgRXVyb3DDo2VyaW5uZW4gIApldXJvcMOjaXNjaCAgCgpkZXIvZGllIERldXRzaGUgfCBkaWUgRGV1dHNjaGVuICAKZWluIERldXRzY2hlciB8IGVpbmUgRGV1dHNjaGUgIApEZXV0c2NobGFuZCAgCmRldXRzY2ggIAoKZGVyIMOWc3RlcnJlaWNoZXIgfCBkaWUgw5ZzdGVycmVpY2hlciAgCmRpZSDDlnN0ZXJyZWljaGVyaW4gfCBkaWUgw5ZzdGVycmVpY2hlcmlubmVuICAKw5ZzdGVycmVpY2ggIArDtnN0ZXJyZWljaGlzY2ggIAoKCgoKLS0tCgojIyBTcHJhY2hlCgotLS0KCgpTcHJhY2hlIHwgU3ByYWNoZW4gIApEZXV0c2NoICAKVMO8cmtpc2NoICAKRW5nbGlzY2ggIAoKSWNoIHNwcmVjaGUgc2VociBndXQgRGV1dHNjaC4gKDEwMCUpICAKSWNoIHNwcmVjaGUgZ3V0IC8gZmxpZcOfZW5kIEVuZ2xpc2NoIHVuZCBUw7xya2lzY2guICg4MCUpICAKSWNoIHNwcmVjaGUgZWluIGJpc3NjaGVuIFNwYW5pc2NoLiAoMjAlKSAgCgoKV2VsY2hlIFNwcmFjaGVuIHNwcmljaHN0IGR1PyAgCldlbGNoZSBTcHJhY2hlbiBzcHJlY2hlbiBTaWU/ICAKCkljaCBzcHJlY2hlIERldXRzY2guICAKRW5nbGlzY2ggIApJdGFsaWVuaXNjaCAgClNwYW5pc2NoICAKRnJhbnrDtnNpY2ggIApEw6RuaXNjaCAgCk5pZWRlcmzDpG5kaXNjaCAgCkJlbGdpc2NoICAKUG9sbmlzY2ggIApSdXNzaXNjaCAgCkFyYWJpc2NoICAKQ2hpZW5lc2lzY2ggIAoKRGV1dHNjaCBpc3QgbWVpbmUgTXV0dGVyc3ByYWNoZS4gIAoKZGllIEZyZW1kc3ByYWNoZSAgCgoKCi0tLQoKIyMgV2VnZSBiZXNjaHJlaWJlbiAgCgotLS0KCgpCaXR0ZSBsaW5rcyBhYmJpZWdlbiAgCkJpdHRlIHJlY2h0cyBhYmJpZWdlbiAgCkdlaGVuL0ZhaHJlbiBTaWUgZ2VyYWRlYXVzICAKQml0dGUgd2VuZGVuIFNpZSAgCkFuIGRlciBBbXBlbCBmYWhyZW4gU2llIGdlcmFkZWF1cyAgCkdlaGVuL0ZhaHJlbiBTaWUgYW4gZGVyIEtpcmNoZSB2b3JiZWkgIApHZWhlbi9GYWhyZW4gU2llIGRpZSB6d2VpdGUgU3RyYcOfZSBsaW5rcyAgCgplcnN0ZSAgKGZpcnN0KSAgCm7DpGNoc3RlICAobmV4dCkgIAp6d2VpdGUgIChzZWNvbmQpICAKZHJpdHRlICh0aGlyZCkgIAoKZWluYmFobnN0cmHDn2UgIAoKCgoKCgoKCgoKCgotLS0KCiMgUGVyc29uYWwgdW5kIFJlZmxleGl2ZSBQcm9ub21lbgoKLS0tCgohW10oZmlndXJlcy9wZXJzb25hbF91bmRfcmVmbGV4aXZlX3Byb25vbWVuLnBuZykKCgoKLS0tCgojIExva2FsZSBQcsOkcG9zaXRpb25lbgoKLS0tCgpMb2thbGUgUHLDtnBvc2l0aW9uZW4gKyBEYXRpdjogV28/CgoqKmRlciAtPiBkZW0gIGRhcyAtPiBkZW0gIGRpZSAtPiBkZXIgZGllKFBsKSAtPiBkZW4gKyBuKioKCgpkZXIgV8O8cmZlbDogIApEaWUgcHlybWlkZSBpc3QgYXVmIGRlbSBXw7xyZmVsLgoKZGFzIEhhdXM6ICAKRGVyIFfDvHJmZWwgaXN0IG5lYmVuIGRlbSBIYXVzLgoKZGllIFB5cmFtaWRlOiAgCkRlciBXw7xyZmVsIGlzdCBuZWJlbiBkZXIgUHlyYW1pZGUuCgpkaWUgSMOkdXNlciAoUGwuKTogIApEYXMgQXV0byBpc3Qgendpc2NoZW4gZGVuIEjDpHVzZXJuLgoKZGllIFB5cmFtaWRlbiAoUGwuKTogIApEYXMgQXV0byBpc3Qgendpc2NoZW4gZGVuIFB5cmFtaWRlbi4gIApEYXMgQXV0byBpc3Qgendpc2NoZW4gZGVuIFRheGlzLiAgCgoKaW4gZGVtIC0+IGltICAKCmRhcyBDYWbDqSB8IGRpZSBDYWbDqXMgIAoKRGllIEZyYXUgaXN0IGluIGRlbSBDYWbDqS4gICjDlnplbGxpa2xlIHZ1cmd1bGFubWFrIGlzdGVuaXJzZSBidSBkYSBrdWxsYW7EsWxhYmlsaXIpICAKRGllIEZyYXUgaXN0IGltIENhZsOpLiAgCgoKYW4gZGVtIC0+IGFtICAKCkRpZSBMZWhyZW5pbiBpc3QgYW4gZGVtIFRpc2NoLiAgCkRpZSBMZWhyZW5pbiBpc3QgYW0gVGlzY2guICAKCkFsaSBzdGllaHQgYW0gRmVuc3Rlci4gIAoKZGllIFdhbmQgfCBkaWUgV8OkbmRlICAKCkRlciBLYWxlbmRlciBpc3QgYW4gZGVyIFdhbmQuICAKRGVyIEthbGVuZGFyIGjDpG5ndCBhbiBkZXIgV2FuZC4gIAoKCgoKCgoKSWNoIHN1Y2hlIGRpZSBEaXNjby4gV28gaXN0IHNpZSwgYml0dGU/ICAKU2llIGlzdCBuZWJlbiBkYXMgTXVzZXVtLiAgCgpXbyBpc3QgZGllIE1hdXM/ICAKRGllIE1hdXMgaXN0IHZvciBkZW0gS8Okc2UuICAKRGllIE1hdXMgaXN0IGF1ZiBkZW0gS8Okc2UuICAKRGllIE1hdXMgaXN0IG5lYmVuIGRlbSBLw6RzZS4gIApEaWUgTWF1cyBpc3QgaGludGVyIGRlbSBLw6RzZS4gIApEaWUgTWF1cyBpc3Qgendpc2NoZW4gZGVtIEvDpHNlLiAgCkRpZSBNYXVzIGlzdCBhbiBkZW0gS8Okc2UuICAKRGllIE1hdXMgaXN0IHVudGVyIGRlbSBLw6RzZS4gIApEaWUgTWF1cyBpc3QgaW4gZGVtIEvDpHNlLiAgCkRpZSBNYXVzIGlzdCDDvGJlciBkZW0gS8Okc2UuICAKCgpBdWYgZGVtIFNvZmEgc2NobMOkZnQgZWluIE1hbm4KVm9yIGRlbSBTb2ZhIGlzdCBlaW4gVGVwcGljaCAgCkF1ZiBkZW0gVGVwcGljaCBpc3QgZWluIGtsZWluZXIgVGlzY2ggIApVbnRlciBkZW0gVGlzY2ggaXN0IGVpbmUgVGFzY2hlICAKSGludGVyLyDDnGJlciBkZW0gU29mYSBpc3QgZWluIEJpbGQgIApOZWJlbiBkZW0gU29mYSBpc3QgZWluIExhcHRvcCAgCgpXbyBpc3QgZGVyIFN0YWI/CgoKLS0tCgojIFplaXRwcsOkcG9zaXRpb25lbgoKLS0tCgoKCgoKCgoKLS0tCgojIEdlZ2VudGVpbAoKw7ZmZm5lbiBYIHNjaGxpZcOfZW4KCkljaCDDtmZmbmUgZGFzIEJ1Y2guIEljaCBzY2hsaWXDn2UgZGFzIEJ1Y2guCgpkaWUgTsOkaGUgIFggZGllIEZlcm5lICAKCldhcyBpc3QgZGFzIEdlZ2VudGVpbCB2b24gZ3Jvw58/ICAKRGFzIEdlZ2VudGVpbCB2b24gZ3Jvw58gaXN0IGtsZWluLiAgCgoKCgpncm/DnyBYIGtsZWluICAKU2Now7ZuIFggSMOkc3NsaWNoICAKU2NoYXVlciBYIGxlaWNodCAgCkxhbmcgWCBrdXJ6ICAKCgoKCgoKCgoKCgoKCgoKLS0tCgojIEt1cnNzcHJhY2hlCgotLS0KCi0gU2NocmVpYmVuIFNpZSBCaXR0ZSAgCi0gU3ByZWNoZW4gU2llIEJpdHRlICAKLSBCdWNoc3RhYmllcmVuIFNpZSBCaXR0ZSAgCi0gRnJhZ2VuIFNpZSBCaXR0ZSAgCi0gw5ZmZm5lbiBTaWUgZGllIELDvGNoZXIgYml0dGUgIAotIFNjbGllw59lbiBTaWUgZGllIELDvGNoZXIgYml0dGUgIAotIEjDtnJlbiBTaWUgYml0dGUgIAotIFrDpGhsZW4gU2llIGJpdHRlICAodG8gY291bnQpICAKLSBBbnR3b3J0ZW4gc2llIGJpdHRlICAKLSBTdGVoZW4gc2llIGJpdHRlIGF1ZiAgCi0gU2NoYXVuIFNpZSBiaXR0ZSAgCi0gZWluZSBtb21lbnQgYml0dGUgIAotIEtvbmp1Z2llcmVuIFNpZSBiaXR0ZSAgCi0gSWNoIGhhYmUgZWluZSBGcmFnZSAgCi0gTGVzZW4gU2llIGJpdHRlICAKLSBPcmRuZW4gU2llIGJpdHRlIHp1ICAoT3JkZXIpICAKLSBLb250cm9sbGllcmVuIFNpZSBiaXR0ZQotIE1lcmtpZXJlbiBzaWUgYml0dGUgIAotIFdhcyBoZWnDn3QgIi4uLi4iIGF1ZiBEZXV0c2NoPyAgCi0gV2FzIGlzdCBkYXMgR2VnZW50aWFsIHZvbiAiLi4uIj8gIAotIFdhcyBpc3QgZGVyIEFydGlrZWwgdm9uIC4uLiA/ICAKLSBFbnRzY2h1bGRpZ3VuZyAgCi0gV2llIHNjaHJlaWJ0IG1hbiAuLi4gPyAgCi0gV2llIGdlaHQncyBpaG5lbj8gIApNaXIgZ2VodCdzIGd1dC4gIApEYW5rZSwgZ3V0LiAgICAKLSBXaWUgaGVpw590IGRpZSBQbHVyYWxmb3JtIHZvbiAuLi4gPyAgCkRpZSBwbHVyYWxmb3JtIHZvbiBUYWNoZSBoZWnDn3QvaXN0IFRhc2NoZW4uICAgCi0gV2llIGhlacOfdCBkZXIgUGx1cmFsIHZvbiAuLi4gPyAgCkRlciBQbHVyYWwgdm9uIFRhc2NoZSBpc3QvaGVpw590IFRBc2NoZW4uICAKLSBLw7ZubmVuIFNpZSBkYXMgbGVzZW4/ICAKLSBXaWUgYml0dGVuIFNpZSB1bSBIaWxmZT8gIAotIEljaCB2ZXJzdGVoZSBkYXMgbmljaHQuICAKLSBXaWUgc2NocmVpYnQgbWFuIGRhcz8gIAotIFdhcyBoZWnDn3QgZGFzPyAgCi0gV2llIHNwcmljaHQgbWFuIGRhcyBhdXM/ICAKLSBXYXMgd29sbGVuIHdpciB0dW4/ICAodHVuIC0+IG1hY2hlbiwgV2hhdCBzaG91bGQgd2UgZG8/KSAgCi0gQml0dGUgaGVsZmVuIFNpZSBtaXIuICAKCgoKLS0tCgojIEFuZGVyZXMKCi0tLQoKTWVpbiBUcmF1bWhhdXM6IGh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9tZWRpYS8zNi9zY2hyMS1sZXNldGV4dGUtTDQucGRmCgoKCgoKQW5nZWxhcyBCdWNoICAKU2llIGlzdCBBbmdlbGFzIEtpbmQuICAKRGFzIGlzdCBKdWxpYXMgQnVjaC4gIApEYXMgaXN0IFl1bnVzJyBCdWNoLiAgCkRhcyBpc3QgQXppeicgQnVjaC4gIAoKSGVya3VuZmYgIAoKSWNoIHdvaG5lIGluIEtpemlsYXkgaW4gQW5rYXJhIGluIGRlciBUdXJrZWkuCgpJY2ggbGVybmUgRGV1dHNjaC4gIApXaXIgbGVybmVuIGRhcyBBbHBoYWJldC4gIAoKS2FubiBpY2ggU2llIGV0d2FzIGZyYWdlbj8KCgotLS0KCgojIEExIHsudGFic2V0IC50YWJzZXQtZmFkZSAudGFic2V0LXBpbGxzfQoKCi0tLQoKIyMgQTEuMQoKLSBMw7ZzdW5nc3NjaGzDvHNzZWwgQXJiZWl0c2J1Y2ggQTEuMSAgCmh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9tZWRpYS8zNi9tZWgtYTExLWxvZXN1bmdzc2NobHVlc3NlbC4xMjUwMDEucGRmCgoKLSBMZXNldGV4dGUgIAoKaHR0cHM6Ly93d3cuaHVlYmVyLmRlL3NlaXRlL3BnX2xlaHJlbl9sZXNldGV4dGVfc3JpCgpodHRwOi8vYmZ1LmdvZXRoZS5kZS9hMV9zZDEvCgoKLS0tCgoKIyMgMQoKLS0tCgpodHRwczovL2h1ZWJlci5kZS9zaGFyZWQvdWVidW5nZW4vbWVuc2NoZW4va2IvYTEvbGl2ZWJvb2svbDAxL2luZGV4LnBocAoKCldlciBpc3QgZGFzID8KICtEYXMgaXN0IEF5xZ9lL0ZyYXUgw5Z6dMO8cmsKICAgICAgICAgfHZvcm5hbWV8ICB8ZmFtaWxpZW5uYW1lfAoKV2llIGlzdCBpaHIgVm9ybmFtZSA/CiArTWVpbmUgVm9ybmFtZSBpc3QuLi4uCiAKV2llIGlzdCBpaHIgRmFtaWxpZW5uYW1lCiAgICAgICAgICAgIE5hY2huYW1lCiArTWVpbiBGYW1pbGllbm5hbWUgaXN0Li4uCiAKIFdpZSBoZWnDn2VuIFNpZSA/CiArSWNoIGhlacOfZSAuLi4KICAtRnJldXQgbWljaAogICAtRnJldXQgbWljaCBhdWNoCiAgIAogMC1udWxsICAKIDEtZWlucwogMi16d2VpCiAzLWRyZWkKIDQtdmllcgogNS1mw7xuZgogNi1zZWNocwogNy1zaWViZW4KIDgtYWNodAogOS1uZXVuCiAxMC16ZWhuCiAxMS1lbGYKIDEyLXp3w7ZsZgogLgogLgogMTUtZsO8bmZ6ZWhuCiAxNi1zZWNoemVobgogMTctc2llYnplaG4KIDE4LWFjaHR6ZWhuCiAxOS1uZXVuemVobgogMjAtendhbnppZwogCiBBcmJlaXRzYmxhdHQtIMOnYWzEscWfbWEgc2F5ZmFzxLEKIAogV2FzIGlzdCBkYXMgPwogIERhcyBpc3QgZWluIEJ1Y2gKICBEYXMgc2luZCB6d2VpIELDvGNoZXIKICAKICBJY2ggw7ZmZm5lbiBkYXMgQnVjaAogIEljaCBzY2hsaWXDn2UgZGFzIEJ1Y2gKCi1TdGFkdC1TdGFkdGUKCi1IZWxsbyAsd2VyIGJpc3QgZHUgPyAtIGluZm9ybWVsbAogIEljaCBiaW4gU2ltb25lCiAgCi1XZXIgc2luZCBTaWUgPwogIEljaCBiaW4gU2ltb25lIEguLi4uCiAgCiBXb2hlciBrb21tZW4gU2llID8KIAogV29oZXIga29tbXN0IGR1ID8KIApXLUZyYWdlbiBWIDIgcG9zaXRpb24KICAgICAgICAgIC1XZXIgaXN0IGRhcyA/CiAgICAgICAgICAgV2llIGhlacOfZW4gU2llPwogICAgICAgICAgIFdvaGVyIGtvbW1zdCBkdT8KCkFudHdvcnQvQXVzc2FnZQoKQnVjaCBCw7xjaGVyCkxlaHJlcmluIExlaHJlcmlubmVuCkxlaHJlciAgTGVocmVyCkt1cnN0ZWlsbmFobWVyaW4gIEt1cnN0ZWlsbmVobWVyaW5uZW4KS3Vyc3RlaWxuZWhtZXIgIEt1cnN0ZXJpbG5laG1lcgpGZW5zdGVyIEZlbnN0ZXIKVGlzY2ggVGlzY2hlCgpXaWUgdmllbGUgVGlzY2hlIHNpbmQgaGllcj8KLUhpZXIgc2luZCAuLi4uIFRpc2NoZQoKa29tbWVuICsgYXVzICsgTGFuZC9MYW5kZXIgU3RhZHQgU3RhZHRlCgpJY2gga29tbWUgYXVzIFNwYW5uaWVuCiAgICAgICAgICAgICAgLWRlciBUdXJrZWkKICAgICAgICAgICAgICAtZGVyIFNjaHdlaXoKICAgICAgICAgICAgICAtZGVtIElyYW4KICAgICAgICAgICAgICAtZGVtIElyYWsKClBlcnNvbmFscHJvbm9tZW4ga29tbW1lL2tvbXNzdC9rb21tZW4va29tbXQKCldvaGVyIGtvbW10IHNpZS9lciA/CipTaWUga29tbW1lbgoKV2llIGdlaHQncyBkaXIgPwogICAgZ2VodCBlcwogICAgCldpZSBnZWh0J3MgSWhuZW4KICAgIGdlaHQgZXMKICAgIApEYW5rZSB8c2VociBndXQvc3VwZXIvdG9sbAogICAgICAgZ3V0L3ByaW1hCiAgICAgICBlcyBnZWh0CiAgICAgICBuaWNodCBzbyBndXQKICAgICAgIHNjaGxlY2h0Cgprb21tZW4gICAgaGVpw59lbgprb21tZSAgICAgaGVpw59lCmtvbW1zdCAgICBoZWnDn3QKa29tbWVuICAgIGhlacOfZW4Ka29tbXQgICAgIGhlacOfdAoKV2llIGJpdHRlID8KCgogICAgICAgICAgICAgIAogIAogIAoKCgotLS0KCiMjIDIKCi0tLQoKSWNoIHdvaG5lIGluIC4uLi4KCkJlcnVmCgpNYW5uLSBNYW5uZXIKRnJhdS1GcmFtZW4KVmlzaXRlbmthcnRlLVZpc2l0ZW5rYXJ0ZW4KQmVydWYtQmVydWZlCgpJY2ggYmluICsgKkJlcnVmCgpJY2ggYXJiZWl0ZSBhbHMgKyAqQmVydWYKCkljaCBhcmJlaXRlIGJlaSArICpGaXJtYSBBcmJlaXRnZWJlcgoKV2FzIHNpbmQgU2llIHZvbiBCZXJ1ZiA/CiAgICBiaXN0IGR1CiAgICAKV2FzIG1hY2hlbiBTaWUgYmVydWZsaWNoID8KICAgIG1hY2hzdCBkdQogICAgCiphcmJlaXRlbgphcmJlaXRlL2FyYmVpdGVzdC9hcmJlaXRldC9hcmJlaXRlbgoKS09OSlVHxLBFUkVOIFPEsEUgQsSwVFRFCgpXYXMgbWFjaGVuIFNpZSBiZXJ1ZmxpY2ggPwogIEljaCBiaW4gU3R1ZGVudAogIApXYXMgU3R1ZGllcmVuIFNpZSA/CiAgICBTdHVkaWVyc3QgZHUgPwogSWNoIFN0dWRpZXJlIE11c2lrIGF1ZmxlaHJhbXQuCiAgICAgICAgICAgICAgICAgICAgSW5nZW5pZXVyd2VzZW4uCiAgICAgICAgICAgICAgICAgICAgCkljaCBiaW4gYXJiZWl0c2xvcy4KICAgICAgICBXaXJ0c2hhZnRzd2lzc2Vuc2NoYWZ0ZW4tIEJXTAogICAgICAgIFJlY2h0c3dpc3NlbnNjaGFmdGVuCiAgICAgICAgQmlvbG9naWUKICAgICAgICBDaGVtaWUKICAgICAgICBOYXR1cndpc3NlbnNjaGFmdGVuCiAgICAgICAgQmlvbG9nZS9CaW9sb2dpbgogICAgICAgIEFud2FsdGluL0Fud2FsdAoKZWluIFByYWt0aWt1bSBtYWNoZW4KSWNoIG1hY2hlIGVpbiBQcmF0aWt1bS4gYmVpIC4uLi4gLyBhbHMuLgoKZWluZSBBdXNiaWxkdW5nIG1hY2hlbgpJY2ggbWFjaGUgZWluZSBBdXNiaWxkdW5nIGJlaS4uLi9hbHMuLi4KClJFR0VMIGVpbmVuIEpvYiBoYWJlbiAvIGFscyBCZXJ1ZgogICAgICAgICAgICAgICAgICAgICAgICBiZWkgRmlybWEKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIApzdC0tLS0+xZ90CnNjaC0tLS0+xZ8Kc3AtLS0tPsWfcAoKMjctc2llYmVudW5kendhbnppZwozMC1kcmVpw59pZwoyMS1laW51bmR6d2FuemlnCjIyLXp3YWl1bmR6d2FuemlnCjM0LXZpZXJ1bmRkcmVpw59pZwo0My1kZXJpdW5kdmllcnppZwoKV2llIGFsdCBzaW5kIFNpZT8KICAgICAgICBiaXN0IGR1PwogICAgICAgIAogSWNoIGJpbiAuLi4gSmFocmUgYWx0LgogCmxlZGlnCnZlcmxpZWJ0CnZlcmxvYnQKdmVyaGVpcm90ZXQKdmVyaGVpcm90ZXQKZ2VzY2hpZWRlbgp2ZXJ3aXR3ZXQKCkJpc3QgZHUgdmVyaGVyaXJhdGV0ID8KU2lucyBzaWUgdmVyaGVpcmF0ZXQKCiBKYSxJY2ggYmluIHZlcmdlaXJhdGV0CiBOZWluLEljaCBiaW4gbmljaHQgdmVyaGVpcmF0ZXQKIE5laW4sSWNoIGJpbiBsZWRpZy4KCnNlaW4KSWNoICpiaW4KZHUgICpiaXN0ClNpZSAqc2luZAplci9TaWUgKmlzdAoKbGViZW4gICAgICB3b2huZW4KKmxlYmUgICAgICAqd29obmUKKmxlYnN0ICAgICAgKndvaG5zdAoqbGViZW4gICAgICAqd29obmVuCipsZWJ0ICAgICAgICp3b2hudAoKSWNoIGhhYmUgZWluIGtpbmQgLyBLaW5kZXIKCldpZSB2aWVsZSBLaW5kZXIgaGFiZW4gU2llID8KICAgICAgICAgICAgICAgICBoYXN0IGR1ID8KICAgICAgICAgICAgICAgICAKSGFiZW4gU2llIEtpbmRlcj8KSGFzdCBkdSBLaW5kZXIgPwoKa2VpbmUgIEphLCBJY2ggaGFiZSBlaW4ga2luZC4KICAgICAgIE5laW4sSWNoIGhhYmUga2VpbmUga2luZGVyLgoKCgoKCgoKCgotLS0KCiMjIDMKCi0tLQoKV28gYXJiZWl0ZW4gU2llID8KICAgYXJiZWl0ZSBiZWkgU2llbWVucwogICAKICAgCkphaHItSmFocmUKCgpTaW1vbmVzIEJ1Y2gKRW1pcnMgQnVjaApZdW51cycgQnVjaApBeml6JyBCdWNoCgprZW5uZW4KKmtlbm5lCiprZW5uc3QKKmtlbm50CiprZW5uZW4KKmtlbm50CiprZW5uZW4KCkRyZWhidWNoCkF1c3NjaG5pdHQKCktlbm5lbiBTaWUgQnJhZCBQaXR0PwoKV2VyIGtlbm50IERpZXN0ZXIgQmFobGVuID8KClBvc3Nlc2l2YXJ0aWtlbAogICAgIG1hc2t1bGluIGZlbWluaW4gUGx1cmFsCkljaCAgIG1laW4gICAgbWVpbmUgICBtZWluZQpkdSAgICBkaWVuICAgIGRlaW5lICAgZGVpbmUKClZhdGVyIC8gTXV0dGVyIC8gRWx0ZXJuClNvaG4vU2Nod2VzdGVyL0dlc2Nod2VzdGVyCkdyb8OfbXV0dGVyLyBHcm/Dn2ZhdGhlci9Hcm/Dn2VsdGVybgoKQnJ1ZGVyL1RvY2h0ZXIvRW5rZWxpbgooRWhlKU1hbm4gLyAoZWhlKSBGcmF1CgpWYXRlcitNdXR0ZXI9RWx0ZXJuClNvaG4rVG9jaHRlcj1LaW5kZXIKQnJ1ZGVyK1NjaHdlc3Rlcj1HZXNjaHdlc3RlcgpHcm/Dn3ZhdGVyK0dyb8OfbXV0dGVyPUdyb8OfZWx0ZXJuCkVua2VsICsgRW5rZWxpbj1FbmVsa2luZGVyCkVoZW1hbm4gKyBFaGUgZnJhdSA9IEVoZXBhYXItc2luZ3VsYXIKCkJyw7xkZXIgQnLDvGRlcgpUb2NodGVyIFTDtmNodGVyClNvaG4gICAgU8O2aG5lCkVua2VsICAgRW5rZWwKZmFtaWxpZSAgZmFtaWxpZW4KCktvbW1lbiBTaWUgbmljaCBhdXMgQW5rYXJhID8KCisgRG9jaCBJY2gga29tbWUgYXVzIEFua2FyYS4KCi1OZWluIEljaCBrb21tZSBuaWNoIGF1cyBBbmthcmEuCgpLb21tZW4gU2llIGF1cyBBbmthcmEgPwoKK0phLCBJY2gga29tbWUgYXVzIEFua2FyYQotTmVpbiwgSWNoIGtvbW1lIG5pY2h0IGF1cyBBbmthcmEKClBvc2l0aW9uIDIKClctRnJhZ2UgLVdvaGVyIGtvbW1lbiBTaWUgPwpBdXNzYWdlIC1JY2gga29tbWUgYXVzIEFua2FyYS4KCiAgICAgICAgICAgICAgICAgIC1BbnR3b3J0PU5laW4KUmVnZWwgICtGcmFnZSAgICAgK0FudHdvcnQ9SmEKICAgICAgIC1GcmFnZSAgICAgLUFudHdvcnQ9TmVpbgogICAgICAgICAgICAgICAgICArQW50d29ydD1Eb2NoCiAgICAgICAgICAgICAgICAgIAoKLS0tCgojIyA0CgotLS0KCk3DtmJlbCAgClRpc2NoICAKTGFtcGUgIApCZXR0ICAKCgpJY2ggZ2xhdWJlIFNpZSBzaW5kIChuaWNodCkgdmVyaGVpcmF0ZXQuCgpNw7ZiZWxoYXVzIChsaWtlIElLRUEpCgpEYXMgYmlsZCBrb3N0ZXQgMTUg4oKsLiBEYXMgaXN0IGJpbGxpZy4gIApEYXMgYmlsZCBrb3N0ZXQgMTAwMCDigqwuIERhcyBpc3QgdGV1ZXIuICAKCkJyYXVjaGVuIFNpZSBoaWxmZT8gIApKYSwgYml0dGUuICAKTmVpbiwgZGFua2UuICAKCldpZSB2aWVsIGtvc3RldCBkZXIgVGlzY2g/ICAKV2FzIGtvc3RldCBkZXIgVGlzY2g/ICAKCmRlciBQcmVpcyAgCmRlciBGZXJuc2hlZXIgIAoKRGVyIFRpc2NoIGtvc3RldCAxNDc4IOKCrCB8IGVpbnRhdXNlbmR2aWVyaHVuZGVydGFjaHR1bmRzaWViemlnIGV1cm8KCgpEaWUgQ291Y2ggIApEaWUgQ291Y2gga29zdGV0IC4uLgpTaWUga29zdGV0IC4uLgpTaWUga29tbXQgYXVzIEl0YWxpZW4uICAKU2llIGlzdCBzZWhyIHRldWVyLiAgCgoKTWF0ZXJpYWxlbiAgCmRhcyBIb2x6ICAKZGFzIE1ldGFsbCAgCmRhcyBHbGFzICAKZGFzIFBvcGllciAgCmRlciBLdW5zdG9mZiAgCmRhcyBQbGFzdGlrIChkaWUgUGxhc3RpayBzYW5hdCBlc2VybGVyaSBpw6dpbiBrdWxsYW7EsWzEsXIpCgpGYXJiZW4gIApyb3QKZ3LDvG4Kb3JhbmdlCnNjaHdhcnoKYmxhdQpnZWxiCndlacOfCmJyYXVuCgpGb3JtZW4KZWNoaWcgKGvDtsWfZWxpKQpydW5kCnN0ZXJuZsO8cm1pZyAoc3RhcnNoYXBlZCkKd29sa2VuZm9ybWlnIChidWx1dCDFn2VrbGkpCgpkZXIgc3Rlcm4KZGllIFdvbGtlICAKCmF1cyArIE1hdGVyaWFsIChrZWluZSBhcnRpa2VsKSAgCkZyYXUgS2x1bXMgQnJpbGxlIGlzdCBhdXMgS3Vuc3RzdG9mZi4gIApEYXMgaXN0IFBpbm9jY2hpby4gRXIgaXN0IGF1cyBIb2x6LiAgCkRpZSBGbGFzY2hlIGlzdCBhdXMgUGxhc3Rpay4gIAoKdmVya2F1ZmVuICAKCgoKRGFzIGlzdCBCcmlsbGUgdm9uIFRvcC1EZXNpZ25lcm0gUy5BLkgKRGllIEJyaWxsZSBpc3Qgc3RlbWbDtnJtaWcsYmxhdS1nZWxiIHVuZCBhdXMgUGxhc3RpawpNZWluIEdvZXRoZS1Tb25kZXJ1bmRlYm90IG51ciAyMSBFdXJvLgoKZGFzIEV0aWtldHQKZGVyIFp1c3RhbmQKVmVyc3RlaWdlcm4KbmV1IGdlYnJhdWNodApJY2ggYmlldGVuIC4uLi4hCgpXaWUgc2NocmVpYnQgbWFuID8KV2llIGhlacOfdCBkYXMgYXVmIERldXRzY2guCgpFbnRzY3VsZGlndW5nICwgV2llIGhlacOfdCBkYXMgYXVmIERldXRzY2ggPwoKRGVmaW5pdGFydGlrZWwgfCAgSW5kZWZpbml0IGFydGlrZWwgICB8IFBlcnNvbmVscHJvbm9tdAoKRGVyIFNjaHJpbSAgICAgICAgRGFzIGlzdCBlaW4gU2NocmltICAgIEVyIGlzdCBncsO8biAgIChtKQpEYXMgQnVjaCAgICAgICAgICBEYXMgaXN0IGVpbiBCdWNoICAgICAgRXMgaXN0IHJvdCAgICAobikKRGllIFVociAgICAgICAgICAgRGFzIGlzdCBlaW5lIFVociAgICAgIFNpZSBpc3QgYnJhdW4gKGYpCgplaW5tYWwgYmVudXR6dCAtLS0xIGtleiBrdWxsYW7EsWxtxLHFnwoKKmR1cmNoc2ljaHRpZwoKZGVyIChSZWdlbCkgU2NocmVtCmRhcyBTdHJlaWNoaG9segpkaWUgR2VsZGLDtnJzZQpkaWUgU2VpZmUKZGVyIEJsZWlzdGlmdApkaWUgQnJpbGxlCmRhcyBCdWNoCmRpZSBGbGFzY2hlCmRhcyBGZXVlcnpldWcKZGVyIEZvdG9hcHBhcmF0CmRpZSBLYXR0ZQpkZXIgS3VnZWxzY2hyZWliZXIKZGVyIFNjaMO8c3NlbApkaWUgVGFzY2hlCgoKCi0tLQoKCiMjIDUKCi0tLQoKCiphdXN3ZWlzCiptaXQgZnJldW5kbGljaGVuIGdyw7zDn2VuCgpXaWUgZ2V0aCdzID8KLU1pciBnZWh0J3MgZ3V0LgoKZGllIFplaXR1bmctLXVuZy0tLT5ExLBFCgpBdWt0aW9uCnLDvGNrd8OkcnRzCnMgTWVlcgplIEZyZXVuZGluLG5lbgpyIEZyZXVuZCxlCmUgS29sbGVnaW4saW4KYmVzdGVsbGVuCmUgQmVzdGVsbHVuZwpyIEtvbGxlZ2UsbgpyIENoZWYscwplIENoZWZpbixuZW4KZSBQb3N0d8OkcnRzCnIgQXJiZWl0c3BsYXR6CnIgUGxhdHoKZ2zDvGNrbGljaApUZXJtaW4KCldpZSBoZWnDn3QgZGllIFBsdXJhbCBmb3JtIHZvbiAuLi4gPwogICAgICAgICAgZGVyIFBsdXJhbAoKCkRpZSBQbHVyYWxmb3JtIHZvbiBUYWNoZSBoZWnDn3QvaXN0IFRhc2NoZW4KRGVyIFBsdXJhbAoKemlnYXJldHRlbiByYXVjaGVuCndhc3NlIHRyaW5rZW4KCk5hbWVuICsgVmVyYiBrb21iaW5vdGlvbgoKV2VyIHN1Y2h0IFJlY2hudW5nZW4gPwoKV2VyIGJyYXVjaHQgU3RpZnRlbCA/CgpXYXMgaXN0IGRhcyBIYW5keSA/CgpXbyBzaW5kIGRpZSBIYW5keXMgPwoKV28gaXN0IGRlbm4gZGVyIFNjaGzDvHNzZWwgPwpXbyBpc3QgZGVyIFNjaGzDvHNzZWwgPwogICAgICAgZGllIE1hdXMgPwogICAgICAgZGFzIEZvcm11bGFyID8KICAgICAgIApIaWVyIGlzdCBkZXIgU2NobMO8c3NlbC4KICAgICAgICAgZGllIE1hdXMuCiAgICAgICAgIGRhcyBGb3JtdWxhci4KCgpIaWVyIHNpbmQgZGllIEZvcm11bGFyZS4KCgpXbyBzaW5kIGRpZSBTY2hsw7xzc2VsID8KK0hpZXIgfCBpc3QgfCBkaWUgfCBUYXNjaGUgICB8CiAgICAgIHx2ZXJiIHwgICAgIHwgU3ViamVja3QgfAoKV2FzIHN1Y2hlbiBTaWUgPwoKK0ljaCBzdWNoZSBkYXMgfCBLdXJzYnVjaCB8LgogICAgICAgICAgICAgICB8IE9iamVrdCAgIHwKICAgICAgICAgICAgICAgCkljaCBzdWNoZSB8IGRlbiBTY2hsw7xzc2VsCiAgICAgICAgICB8IGRpZSBNYXVzCiAgICAgICAgICB8IGRhcyBGb3JtdWxhci4KCmRlci0tLS0+ZGVuICBkZW4gTGFwdG9wCiAgICAgICAgICAgICBkaWUgQnJpZWZtYXJrZQogICAgICAgICAgICAgZGFzIEZvcm11bGFyCiAgICAgICAgICAgICAKCkFsbGUgc3ViamVrdGUgc2luZCBpbW1lciBpbSBOb21pbmF0aXYuCgogICpEZXIgc2NobMO8c3NlbCBpc3Qga2xlaW4uIFdhcwogICpEaWUgTGFocmVyaW4gaXN0IGdyb8OfLiBXZXIKClZlcmJlbisgQWtrdXNhdGl2CgrDtmZmbmVuIAptYWNoZW4Kc2NobGllw59lbgpow7ZyZW4Kc2NocmVpYmVuCnNwcmVjaGVuCmhhYmVuCmZpbmRlbgpzdWNoZW4KbGVzZW4KbWFya2llcmVuCmJ1Y2hzdGFiaWVyZW4KZnJhZ2VuCmJyYXVjaGVuCmxpZWJlbgprb25qdWdpZXJlbgplcmfDpG56ZW4KZmluZGVuCnNjaHJlaWJlbgoKSWNoIGhhYmVuIGRlbiBTY2hsw7xzc2VsLgogICAgc3VjaGUKICAgIGZpbmRlCgoKV2FzIHN1Y2hzdCBkdSA/CkljaCBzdWNoZSBkZW4gTGVocmVyLiBXZW4gPwoKV2VuIHN1Y2hzdCBkdSA/CkljaCBzdWNoZSBkZW4gbWFubi4KCkR1IHN1Y2hzdCBkZW4gTGFwdG9wIApEZW4gTGFwdG9wIHN1Y2hzdCBkdS4KCkljaCBicmF1Y2hlIGRlbiBMYXB0b3AKICAgICAgICAgICAgZWluZW4gTGFwdG9wCiAgICAgICAgICAgIAogICAgTm9taW5hdGl2ICAgIEFra3VzYXRpdgpEZXJ8IGtlaW4gICAgICB8ICAgIGtlaW5lbnwKRGllfCBrZWluZSAgICAgfCAgICBrZWluZSB8CkRhc3wga2VpbiAgICAgIHwgICAga2VpbiAgfApEaWV8IGtlaW5lICAgICB8ICAgIGtlaW5lIHwKICAgICAgICAgICAgCiAgICAgICAgICAgIApXaWUgdmllbGUgLi4uIGhhYmVuIFNpZSA/CgpJY2ggaGFiZSAuLi4uLiBlaW4KICAgICAgICAgICAgICAga2VpbgogICAgICAgICAgICAgICBlaW5lCiAgICAgICAgICAgICAgIGtlaW5lCiAgICAgICAgICAgICAgIGVpbmVuCiAgICAgICAgICAgICAgIGtlaW5lbgogICAgICAgICAgICAgICAKLS0tCgoKCiMjIDYKCi0tLQoKCnwgU2ljaCBtZWlkZW4gIHwgIFNpY2ggbWVpZGVuICAgICAgICAgICAgIHwgU2ljaCB2ZXJhYnNjaGllZGVuCnwgLS0tIHwgLS0tIHwgLS0tIHwKCnwgRmlybWEgKyBOYW1lIHwgR3V0ZW4gVGFnICAgICAgICAgICAgICAgIHwgVHNjaMO8c3MKfCAgICAgICAgICAgICB8ICBoaWVyIGlzdCBNYXJsZW5lIE5ldW1hbm58QXVmIFdpZGVyaMO2cmVuCnwgICAgICAgICAgICAgfCAgSGFsbG8gaGllciBpc3QgLi4uLiAgICAgfEF1ZiB3aWRlcnNlaGVuCgoKRGFzIEdld2l0dGVyCmRlciBEb25uZXIKZGVyIEJsaXR6CmRlciBSZWdlbgpkYXMgU3TDvGNrLGUKZGVyIEF1dG9yLGVuCmhhbmRlbG4KZ2VicmF1Y2h0CmRlciBUcsO2ZGVsLC0KZGVyIFRyw7ZkbGVyLC0KZGVyIFRyw7ZkbGVyaW4sbmVuCmRlciBLb2NoLCJlCmRpZSBLw7ZjaGluLG5lbgota29jaGVuCgpTcGF6aWVyZW4gZ2VoZW4KUmFkIEZhaHJlbgpTY2FjaCBzcGllbGVuCk11c2lrIGjDtnJlbgpGcmV1bmRlIHRyZWZmZW4KbGVzZW4KZm90b2dyYWZpZXJlbgpzY2h3aW1tZW4KSW0gxLFudGVybmV0IHN1cmZlbgpzaW5nZW4Ka29jaGVuCnNjaG5lbGx4bGFuZ3NhbQpQb3N0a2FydGUKSMOkbmRsZXIKVGVsbGVyClRhc3NlCkhhbmR0dWNoCkvDtm5pZwpQdXBwZQpTY2hsw7xzc2VsYW5ow6RuZ2VyCmRlciBOYWNodGZsb2htYXJrdApOdW1tZXIgZWlucwpTYWNoc2VuCgpEdSBrYW5uc3Qgd2lya2xpY2ggZ3V0IFRlbmlzIHNwaWVsZW4KLVNpZSBrw7ZubmVuIGd1dCBUZW5uaXMgc3BpZWxlbgoKV293ISBEdSBrYW5uc3QgamEgc3VwZXIgdGFuemVyLgotU2llIGvDtm5uZW4gc3VwZXIgdGFuemVuLgoKRHUga2FubnN0IHdpcmtsaWNoIHRvbGwga29jaGVuLgogICAKKk1vZGFsdmVyYiAyLiAtLS0tLS0tLS0tIEluZmluaXRlICAgCgogKkR1IGtvY2hlc3Qgc2VociBndXQuCiAKa8O2bm5lbgpJY2gga2FubgpkdSBrYW5uc3QKZXIvc2llIGthbm4Kd2lyIGvDtm5uZW4KaWhyIGvDtm5udApzaWUvU2llIGvDtm5uZW4KCkR1IHNwaWVsc3Qgd2lya2xpY2ggZ3V0IEdpdGFycmUuCkR1IGthbm4gd2lya2xpY2ggZ3V0IEdpdGFycmUgc3BpZWxlbi4KCldhcyBzaW5kIGRlaW5lIEhvYmJ5cyA/CiAgICAgICAgIGlocmUgIEhvYmJ5cyA/CgoKV2FzIGlzdCBkZWluIEhvYmJ5ID8KICAgICAgICBJaHIgIEhvYmJ5cyA/CiAgICAgICAgCiAgICAgICAgCk1laW5lIEhvYmJ5cyBzaW5kIGZ1w59iYWxsIHNwaWVsZW4KTWVpbiBIb2JieSBpc3Qgc2luZ2VuLEJhc2tldGJhbGwgc3BpZWxlbi4KCgoKLS0tCgoKCiMjIDcKCi0tLQoKdGF1Y2hlbgpkaWUgSGFycHVuZSxuCkphZ2VuCmRpZSBCcsO8Y2tlLG4KTMO2c3VuZwpkZXIgQXVzZmx1ZywiZQplaW5lbiBBdXNmbHVnbWFjaGVuCgpmdcOfYmFsbCBzcGllbGVuIG1hY2h0IFNwYcOfIQprb2NoZW4gbWFjaHQgIFNwYcOfIQoKS2xhdmllciBTcGllbGVuIExpZWJsaW5nc8Okbmdlci4KICBGYWhyZW4gU2llIGdlcm4gU2tpID8KICBGw6RocnN0IGR1CiAgCiAgK0phICwgSWNoIGZhaHJlIGdlcm4gU2tpLgogIC1OZWluLEljaCBmYWhyZSBuaWNodCBnZXJuIFNraS4KICAKICBWZXJiZW4gbWl0IGxva29sIHdlY2hzZWwKICAKfCAqKnZlcmIqKiAgICAgIHwgKippY2gqKiAgICAgfCAqKmR1KiogICAgICB8ICoqZXIvc2llL2VzKiogICB8ICoqd2lyKiogICAgIHwgKippaHIqKiAgICAgfCAqKnNpZS9TaWUqKiAgICAgfAp8LS0tICAgICAgICAgICAgfC0tLSAgICAgICAgICB8LS0tICAgICAgICAgIHwtLS0gICAgICAgICAgICAgIHwtLS0gICAgICAgICAgfC0tLSAgICAgICAgICB8LS0tICAgICAgICAgICAgICB8CnwgKmZhaHJlbiogICAgICB8IGZhaHJlICAgICAgIHwgZsOkaHJzdCAgICAgIHwgICBmw6RocnQgICAgICAgICB8IGZhaHJlbiAgICAgIHwgZmFocnQgICAgICAgfCBmYWhyZW4gICAgICAgICAgfAp8ICpsZXNlbiogICAgICAgfCBsZXNlICAgICAgICB8IGxpZXN0ICAgICAgIHwgbGllc3QgICAgICAgICAgIHwgbGVzZW4gICAgICAgfCBsZXN0ICAgICAgICB8IGxlc2VuICAgICAgICAgICB8CnwgKnRyZWZmZW4qICAgICB8IHRyZWZmZSAgICAgIHwgdHJpZmZzdCAgICAgfCB0cmlmZnQgICAgICAgICAgfCAgIHRyZWZmZW4gICB8IHRyZWZmdCAgICAgIHwgdHJlZmZlbiAgICAgICAgIHwKfCAqc3ByZWNoZW4qICAgIHwgc3ByZWNoZSAgICAgfCBzcHJpY2hzdCAgICB8IHNwcmljaHQgICAgICAgICB8IHNwcmVjaGVuICAgIHwgc3ByZWNodCAgICAgfCBzcHJlY2hlbiAgICAgICAgfAp8ICpzZWhlbiogICAgICAgfCBzZWhlICAgICAgICB8IHNpZWhzdCAgICAgIHwgc2llaHQgICAgICAgICAgIHwgc2VoZW4gICAgICAgfCBzZWh0ICAgICAgICB8IHNlaGVuICAgICAgICAgICB8CgpJY2ggc3BpZWxlIGdlcm4gR2l0YXJyZS5JY2ggYXJiZWl0ZSBnZXJuLgoKV2FzIG1hY2hzdCBkdSBpbiBkZXIgRnJlaXplaXQgPwogICAgbWFjaGVuIFNpZQogICBMZWlkZXIgaGFiZSBpY2gga2VpbiBaZWl0CiAgIEljaCBoYWJlIGxpZGVyIGtlaW5lIFplaXQuCiAgIEFtIHdvY2hlbmRlIGhhYmUgaWNoIC4uLi4uCiAgICAKSWNoIHNwaWVsZSBnZXJuIEdpdGFycmUuCkljaCBiYWNrZSBnZXJuCkljaCBhcmJlaXRlIGdlcm4KSWNoIG1hY2hlIGdlcm4gSGF1c29mZ2FiZW4uCgpGw6RocnN0IGR1IGdlcm4gUmFkID8KTGllc3QgZHUgZ2VybiBCw7xjaGVyID8KVHJpZmZzdCBkdSBnZXJuIEZyZXVuZGUgPwoKV2llIG9mdCBnZWhzdCBkdSBpbnMgVGhlYXRlci4KK0ljaCBnZWhlIHxpbW1lcnwgaW5zIFRoZWF0ZXIuCiAgICAgICAgICB8LS0tLS18CiAgICAgICAgICB8b2Z0fAogICAgICAgICAgfG1hbmNobWFsfAogICAgICAgICAgfGZhc3QgbmllfAogICAgICAgICAgfG5pZXwKICAgICAgICAgIApkZXIgV8O8cmZlbAp3w7xyZmVsbiAtemFyIGF0bWFrCmRhcyBXw7ZydGVyYnVjaCwiZXMKZGllIFBhbnRvbWltZSxuCk3DtmdsaWNoa2VpdAoKS8O2bm5lbiBTaWUgYml0dGUgZGllIEZlbnN0ZXIgw7ZmZm5lbi4KS2FubiBpY2ggbWFsIHRlbGVmb25pZXJlbiA/Ckthbm4gaWNoIGRhcyBmZXVlcnpldWcgaGFiZW4gPwpMZWlkZXIgaGFiZSBpY2ggZG9jaCBrZWluZSB6ZWl0IC4KS8O2bm5lbiBGZWxpeCB1bmQgS2F0amEga29jaGVuID8KICArSmEsZmVsaXggdW5kIEthdGphIGvDtm5uZW4gc3VwZXIga29jaGVyLgogIApuaWNodCBzbyBndXQgICAgCnN1cGVyCnRvbGwgZWluIGJpc3NjaGVuCm5pY2h0IHNvIGd1dApuaWNodApnYXIgbmljaHQKCgpzZW5rcmVjaHQKd2FhZ2VyZWNodCAtLS0tPj4+CmRpYWdvbmFsCgpTcGllbHN0IGR1IHNlaHIgb2Z0IGZ1w59iYWxsID8KICArSmEsSWNoIHNwaWVsZSBzZWhyIG9mdCBGdcOfYmFsbCA/CiAgLU5laW4sSWNoIHNwaWVsZSBudXIgbWFuY2htYWwgZnXDn2JhbGwuCgpXaWUgb2Z0IHNjaHdpbW1zdCBkdSA/CitJY2ggc3dpbW1lIGZhc3QgbmllLgoKCgotLS0KCiMjIDgKCi0tLQoKSWNoIGthbm4gQsO8Y2tlciBsZXNlbi4KSWNoIGxlc2UgbGVpYmVyLgpLYW5uc3QgZHUgU2NoYWNoIHNwaWVsZW4uCkljaCB2ZXJzdGVoZSBkYXMgbmljaHQuCldpZSBzaHJlaWJ0IG1hbiBkYXMuCldpZSBzcHJpY2h0IG1hbiBkYXMgYXVzID8KV2FzIHNvbGxlbiB3aXIgdHVuID8KQml0dGUgaGVsZmVuIFNpZSBtaXIuCgoKCmRlciBLYWxlbmRlcgpkYXMgV29jaGVuZW5kZSxuCmRhcyBFbmRlLG4KZGllIFdvY2hlLG4KCkhldXRlIE5hY2htaXR0YWcgZ2VoZSBpY2ggaW5zIFNjaHdpbWJhZC4KLS0tLS0tLS0tLS0tLS0tICAgICAgIC0tLSAgICAgICAtLS0tLS0KICAgV2FubiA/ICAgICAgICAgICAgIFdlcj8gICAgICAgV29oaW4gPwoKUmVnZWwgV29oaW4gPyAtLS0tPmluK0Fra3VzYXRpdgogICAgaW4gKyBkYXMgPSBpbnMKICAgIGluICsgZGllID0gS25laXBlCiAgICBpbiArIGRlbiA9IFpvbwogICAgCldvaGluIGdlaGVuIFNpZSBtb3JnZW4gQWJlbmQgPwogIEljaCBnZWhlIG1vcmdlbiBpbnMgQ2Fmw6oKICBtb3JnZW4gYWJlbmQgZ2VucyBpbiAtLS0tLT4gaW4gZGVuIFpvbyAvIGluIGRpZSBEaXNrIC8gaW5zIEtpbm8KICAKICAKV29oaW4gZ2VoZW4gU2llIGdlcm4gPwoKSGFiZW4gU2llIGhldXRlIE5hY2htaXR0YWcgemVpdCA/CiAgLU5laW4gLCBsZWlkZXIgaGFiZSBpY2gga2VpbmUgemVpdC4KCldpZSBzcMOkdCBpc3QgZXMgPyAtLSBmb3JtZWwKICBFcyBpc3QgMTE6NDAgVWhyLgoKRXMgaXN0IGbDvG5mIG5vY2ggc2llYmVuIDc6MDUKSGFsYiBhY2h0IC0gNzozMAoKCjc6MzAgLSBIYWxiIGFjaHQKODozMCAtIEhhbGIgbmV1bgo3OjM1LSBmw7xuZiBuYWNoCjc6MjUtIGbDvG5mIHZvciBoYWxiIGFjaHQKNzo0NS0gdmlldGVsIHZvciBhY2h0Cjc6MjgtIEt1cnogdm9yIGhhbGIgYWNodAo3OjMyLSBLdXJ6IG5hY2ggaGFsYiBhY2h0CjA0OjAzIGt1cnogbmFjaCB2aWVyCgoKZGVyIE1vcmdlbgpkZXIgS3VycyxlCkZsdXNzCkZ1w59iYWxsCgoKV2Vpw58gaWNoIG5hY2ggbmljaHQtLS1oZW7DvHogYmlsbWl5b3J1bQoKfHdpc3NlbnwKfC0tLS0tLXwKfCB3ZWnDn3R8Cnwgd2Vpw58gfAp8d2lzc2VufAp8d2lzc3QgfAp8d2lzc2VufAoKSWNoIHdlacOfIG5pY2h0LgpJY2ggd2Vpw58gbmljaHQgd2FzIGR1IG1laW5zdC4KCgpMdXN0IEhhYmVuLi4uLi4KCkx1c3QgYXVmICBTY2h3aW1tYmFkID8KICAgICAgICAgIEtpbm8gPwogICAgICAgICAgRGlzY28gPwogICAgICAgICAgCkx1c3QgSGFiZW4gLi4uLi4KICArSWNoIGhhYmUgTHVzdAogIC1JY2ggaGFiZSBrZWluZSBMdXN0CiAgCiBIYXN0IGR1IEx1c3QgYXVmID8KIAogTcO2Y2h0ZXN0IGR1IGlucyBTY2h3aW1tYmFkIGdlaGVuID8KIAogc3DDpHQgeCBmcsO8aAogCiB1bSAxOTo5OSBVaHIKIGFtIE1vbnRhZwogYW0gRGllbnN0YWcKIGFtIE1pdHR3b2NoCiBhbSBEb25uZXJzdGFnCiBhbSBGcmVpdGFnCiBhbSBTYW1zdGFnICAgYW0KIGFtIFNvbm50YWcgICBXb2NoYW5lbmRlCiAKIEljaCBnZWhlIGFtIE1vbnRhZyB1bSAxOTowMCBpbnMgS2luby4KICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLSAgLS0tLS0tCiAgICAgICAgICAgICAgV2FubiA/ICAgICAgICAgIFdvaGluID8KICAgICAgICAgICAgICAKICAgICAgICAgICAgICAKICAgICAgICAgICAgICAKIFN1Ympla3QgKyBWZXJiICtaZWl0ICsgV29oaW4vT3J0CiAKIGVpbmVuIFZvcnNjaGxhbmcgbWFjaGVuIC0tIMO2bmVyaWRlIGJ1bHVubWFrCiAKIHJlYWdpZXJlbgogRSBSZWFrdGlvbixlbgogUiBWb3JzY2hsYW5nLCJlCiArUGFzc3QgZXMgZGlyICB8IHVtIDE4OjAwIFVocgogICAgICAgICAgICAgICAgfCBhbSBNb250YWcgPwogIAoKSGFzdCBkdSBoZXV0ZSBOYWNobWl0dGFnIFplaXQgPwpKYSxXYXJ1bQotV2lyIGvDtm5lbiBoZXV0ZSBTY2hhY2ggc3BpZWxlbgogIC1MdXN0IGF1ZiBTY2hhY2ggc3BpZWxlbi4KICAtR2VoZW4gd2lyIGlucyBLaW5vCiAgLUdlaGVuIHdpciBpbnMgZGllIEF1c3N0ZWxsdW5nID8KICAKICBJY2ggaGFiZSBrZWluZSBMdXN0CiAgLUdlaGVuIHdpciBpbnMgS29uemVydCA/CiAgS2Esd2FubiBkZW5uID8KICBVbSBhY2h0IFVoci4tSWNoIGhhYmUgdW0gMjA6MDAgVWhyIGtlaW5lIFplaXQuUGFzc3QgZXMgZGlyIHVtIDE4OjAwIFVocgogIC1Pa2F5CiAgCiAgR2VoZW4gd2lyIGFtIFdvY2hlbmVuZGUgdGFuemVuID8KICAKICBzY2hsYWZlbiBnZWhlbgogIGjDtmZsaWNoCiAgdW5ow7ZmbGljaAogIGRpZSBFaW5sYWR1bmcsZW4KICBlaW5lIEF1c3N0ZWxsdW5nCiAgCiAgICBXYW5uIGhhYmVuIHdpciB3aWVkZXIgS3Vycy4KICAgIEFtIE1pdHR3b2NoIGhhYmVuIHdpciB3aWVkZXIgRGV1dHNjaCBrdXJzLgogICAgQW0gV29jaGVuZW5kZSBpc3Qga2VpbiBLdXJzLgoKYW0tLS0tLS0tPiBXb2NoZW50YWdlCiAgICAgICAgICBUYWdlc3plaXRlbgogICAgICAgICAgCiAgICAgICAgICAKQW0gQWJlbmQvTW9yZ2VuIGxlcm5lIGljaCBnZXJuIERldXRzY2gKKipJbiBkZXIgTmFjaHQqKiBzcGllbGUgaWNoIGdlcm4gLi4uLgpBbSBEaWVuc3RhZ25hY2ptaXR0YWcgZ2VoZSBpbnMgU2hpbW1iYWQKCgoqZXR3YXMgdm9yc2NobGFnZW4qClZpZWxsZWljaHQga8O2bm5lbiB3aXIgbW9yZ2VuIEFiZW5kIGlucyBUaGVhdGVyIGdlaGVuLgpWaWVsbGVpY2h0IGvDtm5lbiB3aXIgc3DDpHRlciB6dXNhbW1lbiBrYWZmZWUgdHJpbmtlbi4KCkhldXRlIE5hY2htaXR0YWcgZ2VoZSBpY2ggaW5zIE11c2V1bQpIZXV0ZSBOYWNobWl0dGFnIG1hbGUgaWNoLgpJY2ggZ2VoZSBoZXV0ZSBOYWNobWl0dGFnIGlucyBNdXNldW0uCgpkaWUgVWhyemVpdCxlbgoKCgogIAoKLS0tCgojIyA5CgotLS0KCgpXaWVkZXIgPwoKYW0gTmFjaG1pdHRhZyBvZGVyIGluIGRlciBOYWNodCA/CgphbSBOYWNobWl0dGFnIHVtIDE0OjAwIFVoci4KCgpMaWViZSoqcioqIC4uLi4sCiAgaGFzdCBkdSBhbSBTb25uZXJ0YWcgemVpdCA/IEvDtm5uZW4gd2lyIHNraSBmYWhyZW4gZ2VoZW4gb2RlciB2aWVsbGVpY2h0IGvDtm5uZW4gd2lyIGluIGRpZSBCaWJsaW90aGVrIGdlaGVuLgogIExlaWJlIEdyw7zDn2UKICAKICBWaWVsZSBHcsO8w59lCiAgRnJldW5kbGljaGUgR3LDvMOfZQogIAogIFNlaHIgZ2VlaHRlKipyKiogRnJhdSBGcmV1bmRlbmJ1cmcKICAKICBkZXIgT25rZWwsLQogIGRpZSB0YW50ZSxuCiAgZGVyIEvDvGhsc2NocmFuaywiZQogIGRlciBIdW5nZXIKICBkZXIgRHVyc3QKICBkZXIgUGlseixlCiAgZGFzIEVpLGVyCiAgZGVyIE9saXZlCiAgZGFzIE9ic3QKICBkYXMgR2Vtw7xzZQogIAogIEVyIGhhdCBIdW5yZSA/CiAgLUhhYmVuIFNpZSBIdW5nZXIKICAtSGFzdCBEdQogIAogIEljaCBoYWJlIGF1Y2ggSHVuZ2VyCiAgTmVpbiBJY2ggaGFiZSBrZWluZW4gRHVyc3QuCiAgCiAgQmlzdCBkdSBkdXJzdGlnID8KICAgICAgICAgIGh1bmdyaWc/CiArSmEsSWNoIGJpbiBkdXJzdGlnLgogLU5laW4sSWNoIGJpbiBuaWNodCBkdXJzdGlnLgogCiBpbW1lci0tJTEwMAogZmFzdCBpbW1lci0tJTg1CiBvZnQtLSU2MAogbWFuY2htYWwtLSU1MAogZmFzdCBuaWUtLSUyMAogbmllLS0lMAogCiAKIEljaCBlc3NlIGdlcm4gPSBJY2ggbWFnCiAKIEljaCBtYWcgU2Nob2tvbGFkZQogICAgICAgICBLdWNoZXIKICAgICAgICAgCiAgICAgICAgIApJY2ggbWFnIGtlaW5lbiBIYW1idXJnZXIgU3BpbmF0LgoKc2Nob249c2VociBmcsO8aCAow6dvayBlcmtlbikKZXJzdCA9IHNlaHIgc3DDvHQgKCDDp29rIGdlw6cpCgpXYXMgbcO2Y2h0ZW4gU2llIGVzc2VuID8KLUljaCBtw7ZjaHRlIGVpbmUgRmlzY2hzdXBwZSBlc3Nlbi4KCkVyIHRyaW5rdCBrZWluZW4ga2FmZmVlLgotU2llIGVpbmVuIGthZmZlZSA/Ci1JY2ggbcO2Y2h0ZSBlaW5lbiBrYWZmZWUgdHJpbmtlbi4KLU1hcmllIG3DtmNodGUgaGV1dGUgQWJlbmQgdGFuemVuLgoKV2FzIGlzdCBkZWluIExpZWJsaW5nc2Vzc2VuID8KLU1laW4gTGllYmxpbmdzZXNzZW4gaXN0IC4uLi4uCgpOb21pbmF0aXYgLSBkZXIgLWVpbiBkZWdpxZ9taXlvcgpBa3VzYXRpdiBkZXItZWluZW4KCldhcyBpc3N0IGR1IGdlaW4uCgp8bcO2Y2h0ZW58CnwtLS0tLS0tfAp8bcO2Y2h0ZXwKfG3DtmNodGVzdHwKfG3DtmNodGV8Cnxtw7ZjaHRlbnwKfG3DtmNodGV0fAp8bcO2Y2h0ZW58Cgp8bcO2Z2VufAp8LS0tLS0tLXwKfG1hZ3wKfG1hZ3N0fAp8bWFnfAp8bcO2Z2VufAp8bcO2Z3R8Cnxtw7ZnZW58CgoKCgoKCgotLS0KCiMjIDEwCgotLS0KCgpkYXMgZmx1Z3pldWcKZGllIFNvbm5lbmJyaWxsZSxuCmRlciBCbGluZGVuc3RvY2ssImUKZGVyIEdlaHN0b2NrLCJlCgpJY2gga29tbWUgdW0gMjIgVWhyIHVtIHp1IEhhdXNlIGFuLiBhbmtvbW1lbgoKRHUga29tbXN0IHVtIDIyIFVociB6dSBIYXVzZSBhbi4KCkVyL3NpZS9lcyBrb21tdCB1bSAyMiBVaHIgenUgSGF1c2UgYW4uCgpJY2gga2F1ZmUgaW0gc3VwZXJtYXJrdCBlaW4uLS1laW5rYXVmZW4KCkR1IGthdWZzdCBpbSBzdXBlcm1hcmt0IGVpbi4KCkljaCBydWZlIGRpY2ggYW4uLS1hbnJ1ZmVuCgpXYW5uIHJ1ZnN0IGR1IG1pY2ggYW4gPwoKUmVnZWwga29uanVnaWVyZSBWZXJiICBQcmFmaXggYW0KICAgICAgICBQb3NpdGlvbiAyICAgICAgRW5kZSAKICAgICAgICAKICAgICAgICAKUnVmc3QgZHUgbWljaCBhbiA/IC0tIEphL05laW4gRnJhZ2UKCldhbm4gcnVmc3QgZHUgPwotLUljaCBydWZlIGRpZSBMZWhyZXJpbiBhbgoKSGFzdCBkdSBtaWNoIGFiID8KCldvbiBob2xzdCBkdSBhYiA/Ci0tSWNoIGhvbGUgZGljaCBhYiA/Cm1laW5lCgpXYXMgaGFsc3QgZHUgYWIgPwotSWNoIGhvbGUgZGFzIFBha2V0IGFiLgoKSG9sc3QgZHUgbWljaCBhYiA/CgptZWluZW4gU29obgptZWluZSBGcmVuZGluCmVpbmUgRnJldW5kaW4KZGllIEFiZmFocnQKZGllIEFua3VuZnQKCkljaCBob2xlIGRpY2ggYWIuCkljaCBob2xlIG1laW5lIFRvY2h0ZXIgYWIKSWNoIGhvbGUgWmV5ZWIgYWIuCkljaCBob2xlIG1laW5lbiBTb2huIGFiLgoKV2FzIGJyaW5zdCBkdQpXZW4gYnJpbmdzdCBkdQoKTWVpbiBCdXMgZsOkaHJ0IHVtIDIxOjAwIFVociBhYi4KCk1laW4vRGVyIEJ1cyBrb21tdCB1bSAyMTowMCBVaHIgYW0KCkhhbGJzdCBkdSBtaWNoIGFiID8KS2FubnN0IGR1IG1pY2ggYWJob2xlbiA/CgpoYWxzdCBkdSBtaWNoIGFiID8KSWNoIGhhYmUgZGljaCBhYiAKCldlbiBoYWxzdCBkdSBhYiA/CgphbGxlIDIwIG1pbnV0ZW4gZsOkaHJ0IGRpciBTLUJhaG4KCldhbiBzaW5kIHdpciBhbiBGbHVnaGFmZW4gPwpXaWUgaGVpw590IGRlciBuw6RjaHN0ZSBIYWx0ID8KClZvciBzaWNodCBhbiBkZXIgQmFobnN0ZWlna2FudGUgRGVyIFp1ZyBmw6RocnQgYWIuCgpJY2ggc3VjaGUgZGllIFUyIHp1bSBPbHltcGlhemVudHVtLgoKRGllIEJhaG4gZsOkaHJ0IGdlcmFkZSBhbSBCYWhuc3RlaWcgNSBlaW4uCgpTdGVpZ2h0IGlociBhbSBHb2V0aGVwbGF0eiBlaW4gPwp4IFdhbm4gdGVsZWZvbmllcnN0IGR1IG1pdCBPbWEuCkhldXRlIEFiZW5kIHNlaGVuIHdpciBmZXJuLktvbW1zdCBkdSBhdWNoID8KV28gc3RlaWd0IGlociB1bSA/CnggQmVrb21tZSBpY2ggYml0dGUgZWluZW4gS2FmZmVlID8KVmllbGxlaWNodCBicmluZ2UgaWNoIGFtIFNhbXN0YWcgbWVpbmUgRnJldW5kaW4gbWl0Lgp4IEFtIFNvbm50YWcgZnLDvGhzdMO8a2UgaWNoIGVyc3QgdW0gMTIgVWhyLgoKeCBuaWNodCB0cmVubmJhcgotdHJlbm5iYXIKCldhbm4ga29tbXN0IGR1IGFuID8KLUljaCBrb21tZSB1bSAxMiBVaHIgNDUgYW4KCldvIHN0ZWlnc3QgZHUgZWluID8KLUljaCBzdGVpZ2UgYXVmIEdsZWlzIDEwIGVpbi4KCgoKCgoKLS0tCgojIyAxMQoKLS0tCgoKV29oaW4gPwogICAgSW4rQWtrxLFzdGl2CiAgICAKV28gPwogICAgSW4gKyBkYXRpdgogICAgZGllLS0+ZGVyCgpXZW4gPwpXZW5uCmRpZSBOdXNzLCJlCgpXYW4gZsOkaHJzdCBkdSB6dSBIYXVzZSBhYiA/Ci1JY2ggZmFocmUgdW0gMTY6MDAgVWhyIGFiLgoKdW5zdGVpZ2VuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCnwgKipTdWJqZWN0IFZlcmIqKiAgIHwgKiotKiogICB8ICAqKi0qKiAgIHwKfCAtLS0gICAgICAgICAgICAgICAgICB8IC0tLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgLS0tICAgICAgICAgICAgICAgfCAKfCBJY2ggZmFocmUgICAgICAgICAgICB8ICB0w6RnbGljaCAgICAgICAgICAgICAgICAgICAgICB8IG1pdCAgZGVubiBGYWhyYWQgIHwKfCBJY2ggZmFocmUgICAgICAgICAgICB8ICAyIGJpcyAzIG1hbCBkaWUgV29jaGUgICAgICAgIHx6dXIgQXJiZWl0ICAgICAgICAgfAp8IEljaCBmYWhyZSAgICAgICAgICAgIHwgIG51ciBhbSBXb2NoZW5lbmRlICAgICAgICAgICAgfCB6dW0gRWlua2F1ZmVuICAgICB8IAp8IEljaCBmYWhyZSAgICAgICAgICAgIHwgIGZhc3QgbmllICAgICAgICAgICAgICAgICAgICAgfCBpbnMgQ2Fmw6ogICAgICAgICAgfCAKfCBJY2ggZmFocmUgICAgICAgICAgICB8ICBuaWUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSW5zIEtpbm8gICAgICAgICAgfCAKICAgICAgICAgIApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgpXaWUgb2Z0ID8gV29oaW4gPwoKR2VzdGVybgogIEljaCBoYWJlIEhhdXNhdWZnYWJlbiBnZW1hY2h0CiAgICAgIGhpbGZzdHZlcmIgICAgICAgIHBhcnRpemlwIDIKICBUZW1wdXM9UGVyZmVrdAogIAogIFBlcmZla3QtLT5rb21tdW5pa2F0aW9uCgoKSWNoIGhhYmUgRGV1dHNjaCBnZWxlcm50LgpXYW5uIGhhc3QgZHUgRGV1dHNjaCBnZWxlcm50ID8KCkhhc3QgZHUgRGV1dHNjaCBnZWxlcm50LiBKYS9OZWluIEZyYWdlCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCmRhcyBHbGVpcwpkZXIgQmFobm9mCmRlciBGbHVnaGFmZW4KZGllIFMtQmFobgpkZXIgWnVnCmRpZSBTdHJhw59lbmJhaG4KZGllIFUtQmFobgpEZXIgQmFobnN0ZWlnCmRhcyBUYXhpCmRlciBCdXMKZGllIEhhbHRlc3RlbGxlCmRhcyBGbHVnemV1ZwpkZXIgS29mZmVyCmRpZSBUYXNjaGUKZGFzIEdlcMOkY2sKCk1hY2gncyBndXQKT2FzcyBhdWYgZGljaCBhdWYKVmVya2VocnNtaXR0ZWwKR2Vww6RjawphbSBCYWhuaG9mCmRhcyBGYWhycmFkLCJlcgpkaWUgQ2VsbGkKZGFzIENlbGxvCmRhcyBJbnN0cnVtZW50LDMKZGVyIFRlcm1pbmthbGVuZGVyLC0KZGFzIEdlc2NoZW5rLGUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKCgoKCi0tLQoKIyMgMTIKCi0tLQoKCnwgKipGcsO8aGxpbmcqKiAgIHwgKipTb21tZXIqKiAgIHwgICoqSGVyYnN0KiogICB8ICoqV2ludGVyKiogICAgfAp8IC0tLSAgICAgICAgICAgIHwgLS0tICAgICAgICAgIHwgLS0tICAgICAgICAgICB8IC0tLSAgICAgICAgICAgfAp8IE1hcnogICAgICAgICAgIHwgIEp1bmkgICAgICAgIHwgU2VwdGVtYmVyICAgICB8IERlemVtYmVyICAgICAgfAp8IEFwcmlsICAgICAgICAgIHwgIEp1bGkgICAgICAgIHwgT2t0b2JlciAgICAgICB8IEphbnVhciAgICAgICAgfAp8IE1haSAgICAgICAgICAgIHwgIEF1Z3VzdCAgICAgIHwgTm92ZW1iZXIgICAgICB8IEZlYnJ1YXIgICAgICAgfAoKCgpXYXMgaGFiZW4gU2llIHwgbGV0enRlbiBGcmVpdGFnIHwgZ2VtYWNodAogICAgICAgICAgICAgIHwgbGV0enRlICBXb2NoZSAgIHwKICAgICAgICAgICAgICB8IGxldHp0ZXMgSmFocmUgICB8CgoKZGVyIFRhZyxlCmRpZSBXb2NoZSxuCmRhcyBKYWhyLHIKZGVyIFNjaHVsYWJzY2hsdXNzLCdzCmRlciBCYWNoZWxvcgpkZXIgQmFjaGVsb3JwcsO8ZnVuZyxlbgpkZXIgTWFzdGVyCmRpZSBGYWNob2Noc2NodWxlLG4KZGVyIFfDvHJmZWwKZGVyIFN0YWIsJ2UKZGllIFB5cmFtaWRlLG4KCiAKIGhhdHRlCiBfX19fX18KIAogaWNoIGhhdHRlCiBkdSAgaGF0dGVzdAogZXIvc2llIGhhdHRlCiB3aXIgICAgaGF0dGVuCiBpaHIgICAgaGF0dGV0CiB3aXIgICAgaGF0dGVuCiAKPyBXYXMgaGFiZW4gU2llIGdlc3Rlcm4gZ2VtYWNodD8KICArSWNoIGhhYmUgZ2VzdGVybiBIYXVzYXVmZ2FiZSBnZW1hY2h0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCgoKV28gaXN0IFNpZSA/CiBXaWUga29tbWUgaWNoIHp1bSBCYWhuaG9mLgoKYXVmIMO8c3TDvG5kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9NxLBOQVTEsFYgICAgICAgICAgICAgICAgIERBVMSwVgphbiB5YW7EsW5kYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlci9laW4gQmFobmhvZiAgICAgfCB2b3IgIGRlbSBlaW5lbQpuZWJlbiB5YW7EsW5kYSh0ZW1hcyB5b2spICAgICAgICAgICAgICAgICAgICAgIGRhcy9laW4gUmVzdGV1cmFudCAgfCAgICAgIGRlbSBlaW5lbQp2b3Igw7Zuw7xuZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWUvZWluZSBBbXBlbCAgICAgIHwgICAgICBkZXIgZWluZXIKaGludGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZS8tIENhZmUncyBIYXVzZXIgfCAgICAgIGRlbiAtIEhhdXNlcm4Kendpc2NoZW4Kw7xiZXIKdW50ZXIKaW4KCmluIGRlbSA9IGltCmFuIGRlbSA9IGFtCgpXYXMgaXN0IGRhcyBIb3RlbCBNYXJyaGltID8KICtEYXMgaG90ZWwgaXN0IG5lYmVuIGRlciBiYW5rLgogCiBMT0tBTEUgUFJBUE9TxLBIxLBNRU4gTcSwVCBEQVTEsFYKIAogcmVnZWwgUFJBU1BPU8SwVE9OICsgQVJUxLBLRUwgLVIgLS0tPkRFTQogCiBEaWUgUHlyYW1pZGUgaXN0IGF1ZiBkZW0gV8O8cmZlbC4KIERlciBXw7xyZmVsIGlzdCBuZWJlbiBkZW0gSGF1cy4KIERlciBXw7xyZmVsIGlzdCBuZWJlbiBkZXIgUHlyYW1pZGUuCiAKIFdPPy0tLS0tPiBkaWUtLS0+ZGVyCiAKIGRlciBTdGFkdHBsYW5nLCdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjaHRzIGFiYmllZ2VuCiBkaWUgU3RyYXNzZSxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlbmRlbgogZGVyIE5hdmlnYXRvcixlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6dXLDvGNrZmFocmVuCiBkYXMgSG90ZWwscyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlcmFkZWF1cyBmYWhyZW4KIGFubWFjaGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua3MgYWJiaWVnZW4KIGF1c21hY2hlbgogZGllIFN0YWRtaXR0ZQogZGFzIFplbnRydW0KIGRlciBQb2xpemlzdCxlbgogZGllIFBvbGl6aXN0aW4sbmVuCiBkaWUgV2FuZCwnZQoKIFN0aW1tK25pY2h0IC0tLS0+ZmFsc2UKIAogRGVyIEthbGVuZGVyIGhhbmd0IGFuIGRlciBXYW5kKGRpZSBXYW5kKS4KIERhcyBBdXRvIGlzdCB6d2lzY2hlbiBkZW4gSGF1c2Vybi4KIAogV28/CiBkaWUtLS0tLT4gZGVuK05vbWVuICsnbicKIAogRGllIEZyYXUgaXN0IGluIGRlbShpbSkgQ2FmZScuCiAKIERpZSBMZWhyZXJpbiBpc3QgYW4gZGVtIChhbSkgVGlzY2guCiAKIEVnZWhhbiBpc3QgYW0gRmVuc3RlcgogCiBEYW5uIGtvbW1lbiBTaWUgdW50ZXIgZWluZXIgQnLDvGNrZSBkdXJjaC4oZHVyY2hrb21tZW4pCiAKIE1hcml0aW0gaXN0IGluIGRlbShpbSkgWmVudHJ1bSA/CgpBbiBkZW4gQ2FmZSdzIGZhaHJlbiBTaWUKCkJpdHRlIGxpbmtzIGFiYmllZ2VuCgpCaXR0ZSByZWNodHMgYWJiaWVnZW4KR2VoZW4vRmFocmVuIFNpZSBnZXJhZGVhdXMKQml0dGUgd2VuZGVuIFNpZQpBbiBkZXIgQW1wZWwgZmFocmVuIFNpZSBnZXJhZGVhdXMuCkdlaGVuL0ZhaHJlbiBTaWUgYW4gZGVyIEtpcmNoZSB2b3JiZWkKR2VoZW4vRmFocmVuIFNpZSBkaWUgendlaXRlIFN0cmFzc2UgbGlua3MuCgoKCgoKLS0tCgoKIyMgMTMKCi0tLQoKaHR0cHM6Ly9odWViZXIuZGUvc2hhcmVkL3VlYnVuZ2VuL21lbnNjaGVuL2tiL2ExL2xpdmVib29rL2wxMy9pbmRleC5waHAKCgoKZGFzIEF1dG8gfCBkaWUgQXV0b3MgIApkYXMgSG90ZWwgfCBkaWUgSG90ZWxzICAKCmRpZSBTdHJhw59lIHwgZGllIFN0cmHDn2VuICAKCmRlciBOYXZpZ2F0b3IgfCBkaWUgTmF2aWdhdG9yZW4gIApkZXIgU3RhZHRwbGFuIHwgZGllIFN0YWR0cGzDpG5lICAKCgpCZWlkZW4gKMOnaWZ0KSAgCkZ1c3NnZW5nZXIgKHlheWEpICAgIAoKc3VjaGVuIFggZmluZGVuICAKc3RpbW10IChyaWNodGlnKSAgCnN0aW1tdCBuaWNodCAoZmFsc2NoKSAgCgoKYW5tYWNoZW4gWCBhdXNtYWNoZW4gKHR1cm4gb24gWCB0dXJuIG9mZikKCkljaCBtYWNoZSBkZW4gQ0QtUGxheWVyIGFuLiAgCkljaCBtYWNoZSBkaWUgTGFtcGUgYW4uICAKRGllIEZyYXUgbWFjaHQgZGVuIE5hdmlnYXRvciBhbi4gIAoKCnJlY2h0cyBhYmJpZWdlbiAodHVybiByaWdodCkgIApsaW5rcyBhYmJpZWdlbiAodHVybiBsZWZ0KSAgCndlbmRlbiAoVSB0dXJuKSAgCnrDvHLDvGNrZmFocmVuIChha3NpIHnDtm5kZSBnaWRpbikgIApoaW5kZmFocmVuICAKZ2VyYWRlYXVzIGZhaHJlbiAoZ28gZGlyZWN0bHkpCgoKV28gaXN0IGRhcyBIb3RlbCBNLi4uID8gIApEYXMgSG90ZWwgaXN0IG5lYmVuIGRlciBCYW5rLiAgCgpkZXIgV8O8cmZlbCB8IGRpZSBXw7xyZmVsIChrdXR1LCB6YXIpICAKZGVyIFN0YWIgfCBkaWUgU3TDpGJlIChzaWxpbmRpcikgIApkaWUgUHlyYW1pZGUgfCBkaWUgUHlyYW1pZGVuICAKCldvIGlzdCAuLi4gPwoKV28gc2luZCAuLi4gPwoKV28gaMOkbmd0IGRlciBLYWxlbmRlcj8KV28gaMOkbmdlbiAuLiA/CldvIGxpZWd0IGRlciBTdGlmdD8gIApXbyBsaWVnZW4gZGVyIFN0aWZ0PyAgCnNpdHp0ICAKc2l0emVuICAKc3RlaHQgIApzdGVoZW4gIAoKCi0gbmViZW4gZGVtIEhhdXMKCnwgTm9taW5hdGl2IHwgRGF0aXYgfAp8IC0tLSB8IC0tLSB8IC0tLSB8CnwgZGVyIFfDvHJmZWwgfCBkZW0gV8O8cmZlbCB8CnwgZGllIFB5cmFtaWRlIHwgZGVyIFB5cmFtaWRlIHwKfCBkYXMgSGF1cyB8IGRlbSBIYXVzIHwKfCBkaWUgV8O8cmZlbCB8IGRlbiBXw7xyZmVsIHwgCgoKS8O2bm5lbiBTaWUgYml0dGUgZGFzIExpY2h0IGFubWFjaGVuPyAgCkvDtm5uZW4gU2llIGJpdHRlIGRhcyBGZW5zdGVyIGF1Zm1hY2hlbj8gIAoKCipadWVyc3QqICsgVmVyYiArIFN1Ympla3QgIAoKKlp1ZXJzdCogZ2VoZW4gU2llIGltbWVyIGdlcmFkZWF1cyB1bmQKKmRhbm4qIGdlaGVuIFNpZSBsaW5rcy4gLi4uICAKKmRhbmFjaCogKyBWZXJiICsgU3ViamVrdCAgCgpmb3JiZWlmYWhyZW4gKGtlaW4gc3RvcCkgIAoKIC4uLiBkYW5uIGZhaHJlbiBTaWUgYW4gZGVuIENhZsOpcyB2b3JiZWkgLi4uIAoKCgoKQmFsbCAxIGlzdCBuZWJlbiBkZW0gU2NocmFuay4KCkJhbGwgMiBpc3QgYXVmIGRlciBDb3VjaC4KCkJhbGwgMyBpc3QgaW0gU2NocmFuay4KCkJhbGwgNCBpc3QgdW50ZXIgZGVyIENvdWNoLgoKQmFsbCA1IGlzdCB6d2lzY2hlbiBkZXIgQ291Y2ggdW5kIGRlbSBTY2hyYW5rLgoKQmFsbCA2IGlzdCBoaW50ZXIgZGVtIFNjaHJhbmsuCgpCYWxsIDcgaXN0IMO8YmVyIGRlciBDb3VjaC4KCkJhbGwgOCBpc3QgYW4gZGVtIFNjaHJhbmsuCgpCYWxsIDkgaXN0IHZvciBkZXIgQ291Y2guCgpCYWxsIDkgaXN0IGF1ZiBkZW0gVGVwcGljaC4KCgotIEvDtm5uZW4gU2llIG1pciBoZWxmZW4/IFdvIGlzdCBkYXMgQ2Fmw6kgIkdsb2NrbmVyIj8gIAotIFR1dCBtaXIgbGVpZCwgaWNoIGJpbiBmcmVtZCBoaWVyLiAvIGljaCBiaW4gbmljaHQgdm9uIGhpZXIuICAKCgotIEphLCBkYXMgaXN0IGdsZWljaCBkaWUgbsOkY2hzdGUgU3RyYcOfZSBsaW5rcy4gIAotIFZpZWxlbiBEYW5rLCBkYXMgaXN0IHNlaHIgbmV0dC4gIAoKLSBPaCwgdHV0IG1pciBsZWlkLiBEYXMgd2Vpw58gaWNoIG5pY2h0LiAgCi0gU2NoYWRlLiBUcm90emRlbTogRGFua2VzY2jDtm4uICAKCi0gS2FubiBpY2ggU2llIGV0d2FzIGZyYWdlbj8gaWNoIHN1Y2hlIGRlbiBCYWhuaG9mLiAgCi0gRmFocmVuIFNpZSB6d2VpIEtpbG9tZXRlciBnZXJhZGVhdXMuIERhbm4gc2VoZW4gU2llIHNjaG9uIGRlbiBCYWhuaG9mLiAgCgotIEtlbm5lbiBTaWUgZGFzIFJlc3RhdXJhbnQgIlNjaMO2bmJsaWNrIj8gIAotIEphLCBkYXMgaXN0IGdhbnogaW4gZGVyIE7DpGhlLiBXZW5kZW4gU2llIGhpZXIgdW5kIGZhaHJlbiBTaWUgenVyw7xjayBiaXMgenVyIEFtcGVsIHVuZCBkYW5uIGxpbmtzLiAgCgoKCgoKLSBXbyBpc3QgZGFzIE5hdGlvbmFsbXVzZXVtPyAgCi0gV2llIGthbm4gbWFuIGRhaGluIGZhaHJlbi8gZ2VoZW4/ICAKLSBXYXMga2FubiBtYW4gbm9jaCBpbiBJaHJlbSBIZWltYXRsYW5kLyBJaHJlciBIZWltYXRzdGFkdCBiZXN1Y2hlbj8gIAoKRGFzIE11c2V1bSBpc3Qgc2VociBuYWgvIHdlaXQgdm9tIEJhaG5ob2YuICAKRGEga2FubnN0IHp1IEZ1w58gZ2VoZW4vIERhIG11c3N0IGR1IGRlbiBCdXMgb2RlciBkaWUgVS1CYWhuIG5laG1lbi4gIApEdSBnZWhzdCBnZXJhZGVhdXMgYmlzIHp1ciAoZmVtLikgLyB6dW0gKG1hc2suL25ldXRydW0pIC4uLiAgCkRhbm4gZ2Voc3QgZHUgZGllIGVyc3RlL3p3ZWl0ZS9uw6RjaHN0ZSBTdHJhw59lIGxpbmtzL3JlY2h0cy4gIApOYWNoIC4uLiBNZXRlcm4gZmluZGVzdCBkdSBkYXMgTXVzZXVtIGxpbmtzLyByZWNodHMuICAKRHUgbmltbXQgZGVuIEJ1cyBvZGVyIGRpZSBVLUJhaG4gTnVtbWVyIC4uLi4gRHUgc3RlaWdzdCBhbiBkZXIgU3RhdGlvbiAuLi4uIGF1cy4gIAoKClNpZSBrw7ZubmVuIGhpZXIgZXNzZW4gLT4gUmVzdGF1cmFudCAgCkFuZGVyZXMgV29ydCBmw7xyIFN0YWR0bWl0dGUgLT4gWmVudHJ1bSAgCkhpZXIgZmFocmVuIFrDvGdlIGFiIHVuZCBlcyBrb21tZW4gWsO8Z2UgYW4gLT4gQmFobmhvZiAgCkhpZXIgYmVrb21tZW4gU2llIEdlbGQgLT4gQmFuayAgCkhpZXIga8O2bm5lbiBTaWUgQnJpZWZtYXJrZW4ga2F1ZmVuIC0+IFBvc3QgIApSb3Q6IFNpZSBibGVpYmVuIHN0ZWhlbi4gR3LDvG46IFNpZSBrw7ZubmVuIGZhaHJlbiAtPiBBbXBlbCAgCkhpZXIga8O2bm5lbiBTaWUgZWluZW4gVGVlIG9kZXIgS2FmZmVlIHRyaW5rZW4gLS0+IENhZsOpICAKIAoKCkFuemVpZ2UgIApTY2jDtm5lIDItWmltbWVyLVdvaG51bmcgZnJlaSBhYiAxLjUuICAKNDUgUXVhZHJhdG1ldGVyIG1pdCBncm/Dn2VtIEJhbGtvbiAgCk3DtmJsaWVydCwgbWl0IFN0ZWxscGxhdHogaW4gZGVyIFRpZWZnYXJhZ2UgIApNaWV0ZSAzODAuLSDigqwgaW5rbC4gTmViZW5rb3N0ZW4gIAoKMi1aaW1tZXItV29obnVuZyB6dSB2ZXJtaWV0ZW4gIAo1NSBRdWFkcmF0bWV0ZXIsIEJhbGtvbiwgS8O8Y2hlIHVuZCBCYWQuICAKTWlldGUgNDUwLi0g4oKsICsgTmViZW5rb3N0ZW4gIAoKCgpEYXMgaXN0IEJydW5vLiBCcnVubyB3b2hudCBnZW5hdSAqd2llKiBPdHRvIHVuZCBWYW5pbGxhIGluIEdsw7xja3N0YWR0LiAKKlNlaW4gSGF1cyogbGllZ3QgKm5lYmVuKiBPdHRvcyBIYXVzLiBFciBpc3QgZ2VzY2hpZWRlbiwgYWJlciBlciB3b2hudCBuaWNodCBhbGxlaW4uICpJbiBkZW0gSGF1cyogd29obnQgYXVjaCAqc2VpbmUqIG5ldWUgUGFydG5lcmluIE1pYS4gTWlhIGhhdCB6d2VpIEtpbmRlci4gKklocmUgVG9jaHRlciogaGVpw590IFNhbmRyYSB1bmQgaXN0IDggSmFocmUgYWx0IHVuZCAqaWhyIFNvaG4qIGhlacOfdCBNYXJrIHVuZCBpc3QgNCBKYWhyZSBhbHQuIFNhbmRyYSB1bmQgKmlociBCcnVkZXIqIHdvaG5lbiAqaW0gZXJzdGVuIFN0b2NrKi4gQnJ1bm8gbGllYnQgYmVzb25kZXJzICpzZWluIEFyYmVpdHN6aW1tZXIqICppbSBFcmRnZXNjaG9zcyouIERvcnQgc3RlaHQgKnNlaW4gQ29tcHV0ZXIqLiBFciBzdXJmdCBnZXJuIGltIEludGVybmV0IHVuZCBzcGllbHQgZ2VybiBDb21wdXRlcnNwaWVsZS4gKlNlaW5lIFBhcnRuZXJpbiogaXN0IGdlcm4gaW0gR2FydGVuLiBTaWUgZmluZGV0IENvbXB1dGVyc3BpZWxlIGxhbmd3ZWlsaWcuIEFiZXIgc2llIGxpZWJ0ICppaHJlbiBHYXJ0ZW4qIHVuZCAqaWhyZSBCbHVtZW4qLgoKCmRhcyBIYXVzICAKc2VpbiBIYXVzICAKaW4gZGVtIEhhdXMgIAoKCmRlciBQYXJ0bmVyIHwgZGllIFBhcnRuZXJpbiAgCnNlaW5lIFBhcnRuZXJpbiAgCgoKZGllIFRvY2h0ZXIgIAppaHJlIFRvY2h0ZXIgIAoKZGVyIFNvaG4gIAppaHIgU29obiAgCgpkZXIgQnJ1ZGVyICAKaWhyIEJydWRlciAgCgppbSBlcnN0ZW4gU3RvY2sgIAoKc2VpbiBBcmJlaXRzemltbWVyICAKCmRlciBHYXJ0ZW4gIAppaHJlbiBHYXJ0ZW4gIAoKZGllIEJsdW1lbiAgCmlocmUgQmx1bWVuICAKCgoKVFJBVU1XT0hOVU5HICAKClRyYXVtICAKCldvaG51bmcgIAoKTWVpbmUgVHJhdW13b2hudW5nICAKCgpJY2ggbGVybmUgRGV1dHNjaCAtLT4gIEljaCBiaW4gKmluIGVpbmVyIFNwcmFjaGVuc2NodWxlKi4gIAoKSWNoIGJpbiBzaG9wcGVuIC0tPgkqaW4gZWluZW0gTGFkZW4qICAgIAoKSWNoIHN1Y2hlIELDvGNoZXIsIGFiZXIgaWNoIGthdWZlIHNpZSBuaWNodCAtLT4gKmluIGVpbmVyIEJpYmxpb3RoZWsqICAgIAoKSWNoIGJpbiBpbiBlaW5lbSBIYXVzLiBFcyBpc3Qgc2VociBncm/Dny4gSWNoIHdvaG5lIGhpZXIgbmljaHQuIEljaCBiaW4gaW0gVXJsYXViIHVuZCBzZWhlIG1pciBkYXMgSGF1cyBhbiAtLT4gKmluIGVpbmVtIFNjaGxvc3MqICAKCkljaCBnZWhlIHNwYXppZXJlbi4gSGllciBzaW5kIELDpHVtZSwgYWJlciBpY2ggYmluIG5pY2h0IGltIFdhbGQuIEljaCBiaW4gaW4gZWluZXIgU3RhZHQuIC0tPiAqaW4gZWluZW0gUGFyayogIAoKSWNoIGJpbiBpbiBkZXIgU3RhZHRtaXR0ZS4gQW4gRG9ubmVyc3RhZyBnaWJ0IGVzIGhpZXIgaW1tZXIgT2JzdCB1bmQgR2Vtw7xzZS4gLS0+ICphdWYgZWluZW0gTWFya3QqCgpJY2ggYmluIGluIGVpbmVyIEtpcmNoZSB1bmQgaGFiZSBlaW5lbiBCbGljayBhdWYgZGllIFN0YWR0IHZvbiBvYmVuLiAtLT4gKmF1ZiBlaW5lbSBUdXJtKiAgCgpEYXMgV2V0dGVyIGlzdCBzY2jDtm4gdW5kIGljaCBzY2h3aW1tZS4gSWNoIGJpbiBpbSBXYXNzZXIsIGFiZXIgbmljaHQgaW0gTWVlci4gLS0+ICppbiBlaW5lbSBGbHVzcyoKCgoKCgoKCi0tLQoKIyMgMTQKCi0tLQoKaHR0cHM6Ly9odWViZXIuZGUvc2hhcmVkL3VlYnVuZ2VuL21lbnNjaGVuL2tiL2ExL2xpdmVib29rL2wxNC9pbmRleC5waHAKCgpTY2hsYWZ6aW1tZXIgIApLaW5kZXJ6aW1tZXIgIApBcmJlaXRzemltbWVyICAKQmFkICAKZXJzdGVyIFN0b2NrICAKQXJiZWl0c3ppbW1lciAgCkVyZGdlc2Nob3NzICAKS8O8Y2hlICAKV29obnppbW1lciAgCkZsdXIgIApUb2lsZXR0ZSAgClNjaGxhZnppbW1lciAgICAKS2luZGVyemltbWVyICAKQmFkICAKCldvaG5nZW1laW5zY2hhZnQKCgoKCgoqKkdlbmV0aXYgOioqIE5hbWUgKyBzCgpEYXMgaXN0IGRlciBCYWxsIHZvbiBGcmFuay4gIApEYXMgaXN0IEZyYW5rcyBCYWxsLiAgCgoqTmFtZScqIChiZWkgcywgc3MsIMOfLCB6LCBjLCB4KSAgCkFuZHJlYXMnIFZhdGVyICAKQXppeicgQmFsbCAgCkhhbnMnIFZhdGVyCgpEZXIgQmFsbCB2b24gRGVuaXogLT4gRGVuaXonIEJhbGwgIApEaWUgTXV0dGVyIHZvbiBMZW5hIC0+IExlbmFzIE11dHRlcgoKCnwgKirimYIqKiB8ICoqTm9taW5hdGl2KiogfCAqKkFra3VzYXRpdioqIHwgCnwgLS0tIHwgLS0tIHwgLS0tIHwKfCAqZGVyKiB8IERhcyBpc3Qgc2VpbiBCYWxsLiB8IEVyIG1hZyBzZWluKmVuKiBCYWxsLiB8CnwgZGFzIHwgRGFzIGlzdCBzZWluIEF1dG8uIHwgRXIgbWFnIHNlaW4gQXV0by4gfAp8ICpkaWUqIHwgRGFzIGlzdCBzZWluZSBGbGFzY2hlLiB8IEVyIG1hZyBzZWluKmUqIEZsYXNjaGUuIHwKfCAqZGllIChQbC4pKiB8IERhcyBzaW5kIHNlaW5lIEZsYXNjaGVuLiB8IEVyIG1hZyBzZWluKmUqIEZsYXNjaGVuIHwKCgpJY2ggbWFnIEZyYW5rcyBCYWxsLiBJY2ggbWFnIHNlaW5lbiBCYWxsLiAgCgpkYXMgSGF1cwoKV2llIGZpbmRlc3QgZHUgT3R0b3MgSGF1cz8gIApEYXMgSGF1cyB2b24gT3R0byBmaW5kZSBpY2ggc2Now7ZuLiAgClNlaW4gSGF1cyBmaW5kZSBpY2ggc2Now7ZuLiAgCgpkZXIgR2FydGVuCgpJY2ggZmluZGUgZGVuIEdhcnRlbiB2b24gT3R0byBzY2jDtm4uICAKSWNoIGZpbmRlIHNlaW5lbiBHYXJ0ZW4gc2Now7ZuLiAgCgpkaWUgS8O8Y2hlICAKCkljaCBmaW5kZSBkaWUgS8O8Y2hlIHZvbiBPdHRvIHNjaMO2bi4gIApJY2ggZmluZGUgc2VpbmUgS8O8Y2hlIHNjaMO2bi4gIAoKCmRpZSBUZWxlZm9ubnVtbWVyICAKCldpZSBpc3Qgc2VpbmUgVGVsZWZvbm51bW1lcj8gIApXaWUgaXN0IGlocmUgVGVsZWZvbm51bW1lcj8gIApGb3JtZWxsIEZyYWdlOiBXaWUgaXN0IElocmUgVGVsZWZvbm51bW1lcj8gIAoKCgoKfCAqKuKZgCoqIHwgKipOb21pbmF0aXYqKiB8ICoqQWtrdXNhdGl2KiogfCAKfCAtLS0gfCAtLS0gfCAtLS0gfAp8ICpkZXIqIHwgRGFzIGlzdCBpaHIgU2NodWguIHwgU2llIG1hZyBpaHIqZW4qIFNjaHVoLiB8CnwgZGFzIHwgRGFzIGlzdCBpaHIgS2xlaWQuIHwgU2llIG1hZyBpaHIgS2xlaWQuIHwKfCAqZGllKiB8IERhcyBpc3QgaWhyZSBGbGFzY2hlLiB8IFNpZSBtYWcgaWhyKmUqIEZsYXNjaGUuIHwKfCAqZGllIChQbC4pKiB8IERhcyBzaW5kIGlocmUgU2h1aGUuIHwgU2llIG1hZyBpaHIqZSogU2NodWhlLiB8CgoKCkhvY2ggWCBUaWV0IChIaWdoIFggTG93KSAgCgoKCgpkaWUgTWlldGUgKHJlbnQpICAKZGllIFdhcm1taWV0ZSB8IGRpZSBXYXJtbWlldGVuIHwgbWlldGUgbWl0IE5lYmVua29zdGVuIChyZW50IHdpdGggd2F0ZXIsIGVsZWN0cmljaXR5LCAuLi4gKSAgCmRpZSBLYWx0bWlldGUgfCBkaWUgS2FsdG1pZXRlbiAgCgoKZGVyIEJhbGtvbiAtPiBlaW5lbiBCYWxrb24gIAoKSGF0IGRpZSBXb2hudW5nIGVpbmVuIEJhbGtvbj8gIAoKV2llIHZpZWxlIFppbW1lciBoYXQgZGllIFdvaG51bmc/ICAKV2llIGdyb8OfIGlzdCBkaWUgV29obnVuZz8gIApXaWUgZ3Jvw58gaXN0IGRlaW5lIFdvaG51bmc/ICAKV2llIGdvw58gaXN0IElocmUgV29obnVuZz8gIAoKMyBaaW1tZXIsIEvDvGNoZSwgQmFkICAKTWVpbmUgV29obnVuZyBpc3QgMTAwIG1eMl4gZ3Jvw58uIHF1YWRyYXRtZXRlcgoKdW16aWVoZW4gKyBzZWluIHwgdW1nZXpvZ2VuICAodG8gbW92ZSkgIApJY2ggYmluIHVtZ2V6b2dlbi4gIAoKV2llIGhvY2ggaXN0IGRpZSBNaWV0ZT8gIApXaWUgdmllbCBrb3N0ZXQgZGllIE1pZXRlPyAgCgpkaWUgTWlldGUgfCBkaWUgTWlldGVuIChraXJhKSAgCm1pZXRlbiAoa2lyYWxhbWFrKSAgCmRlciBNaWV0ZXIgKGtpcmFjxLEpICAKZGllIE1pZXRlcmluIChraXJhY8SxKSAgCgp2ZXJtaWV0ZW4gKGtpcmF5YSB2ZXJtZWspICAKZGVyIFZlcm1pZXRlciAgKGV2IHNhaGliaSkgIApkaWUgVmVybWlldGVyaW4gIChldiBzYWhpYmVzaSkgIAoKYmV6YWhsZW4gKHRvIHBheSkgIAoKZGllIFplaXR1bmcgfCBkaWUgWmVpdHVuZ2VuICAKZGllIEFuemVpZ2UgfCBkaWUgQW56ZWlnZW4gKGlsYW4pICAKCgoKLS0tCgojIyAxNQoKLS0tCgpodHRwczovL2h1ZWJlci5kZS9zaGFyZWQvdWVidW5nZW4vbWVuc2NoZW4va2IvYTEvbGl2ZWJvb2svbDE1L2luZGV4LnBocAoKCkhhbGxiZXJnbWFzcyBiZWkgTcO8bmNoZW4gIApEYXMgaXN0IERhcmYgKHZpbGxhZ2UpICAKYXVkIGRlbSBMYW5kIGxpZWJlbiAoa8O2eWUgeWHFn8SxeW9yKSAgCmluIGRlciBTdGFkdCBsZWJlbiAgCgpXYXMgc2VoZW4gU2llIGF1cyBJaHJlbSBGZW5zdGVyPyAgCgpkaWUgTW9zY2hlZSB8IGRpZSBNb3NjaGVlbiAgCmRlciBQb29sICAKCkxlc2VuIFNpZSBCbG9ncz8gIApXZWxjaGUgQmxvZ2dlciBrZW5uZW4gU2llPyAgCgoKKipXbyArIERhdGl2KiogIChOZXJlPykgIAoqKldvaGluICsgQWtrdXNhdGl2KiogIChOZXJleWU/KSAgCgpJY2ggZmxpZWdlIGlucyBBdXNsYW5kIC8gbmFjaCBEZXV0c2NoYWxuZCAvIGluIGRpZSBUw7xya2VpIC8gaW4gZGVuICAKCgplcyBnaWd0ICsgQWtrdXNhdGl2ICAKRXMgZ2lidCBkcmVpIELDvGNoZXIgaGllci4gIAoKd2VuaWcgWCB2aWVsIChheiBYIMOnb2spICAgCgpkZW5rZW4gZ2xhdWJlbiBtZWluZW4gKHRoaW5rKQoKSWNoIGRlbmtlIC4uLiAgCkljaCBnbGF1YmUgLi4uICAKSWNoIG1laW5lIC4uLiAgClZpZWxsZWljaHQgKHBlcmhhcHMpIC4uLiAgIAoKCgpLZWxsbmVyIGZyYWd0OiBadXNhbW1lbiBvZGVyIGdldHJlbm50PyAoaGVzYXAgYmlybGlrdGUgbWkgYXlyxLEgbcSxKSAgCgpsaWViZW4gKyBBa2t1c2F0aXYgIApJY2ggbGllYmUgZGljaC4gIAoKZ2Vow7ZyZW4gKyBwZXJzb25hbCBwcm9ub21lbiBkYXRpdiAgCm1laW5lIHBvc3Nlc3NpdmUgcHJvbm9tZW4gIAoKRGllIFRhc2NoZSBnZWjDtnJ0IG1pciA9IERhcyBpc3QgbWVpbmUgVGFzY2hlICAKCmdlZmFsbGVuICsgRGF0aXYgIApnZWjDtnJlbiArIERhdGl2ICAKCkRpZSBUYXNjaGUgZ2Vmw6RsbHQgbWlyID0gSWNoIGZpbmRlIGRpZSBUYXNjaGUgc2Now7ZuICAKCmhlbGZlbiArIHBlcnNvbmFsIHByb25vbWVuIGRhdGl2ICAKZGFua2VuICsgcGVyc29uYWwgcHJvbm9tZW4gZGF0aXYgIAoKSWNoIGhlbGZlIGRpci4gIApJY2ggZGFua2UgZGlyLiAgCkljaCBnbGF1YmUgZGlyLiAgCgoKRGllIFRhc2NoZSBnZWjDtnJ0IG1pci4gKGljaCAtPiBtaXIpICAKRGllIFRhc2NoZSBnZWjDtnJ0IGRpci4gKGR1IC0+IGRpcikgIAoKRGllIFRhc2NoZSBnZWjDtnJ0IGRlbSBNYW5uLiAgCkRpZSBUYXNjaGUgZ2Vow7ZydCBpaG0uIChlciAtPiBpaG0pICAKCkRpZSBUYXNjaGUgZ2Vow7ZydCBkZW0gS2luZC4gIApEaWUgVGFzY2hlIGdlaMO2cnQgaWhtLiAoZXMgLT4gaWhtKSAgCgp3aXIgLT4gdW5zICAKaWhyIC0+IGV1Y2ggIApzaWUvU2llIC0+IGlobmVuL0lobmVuICAKCmF1ZiAow7xzdMO8IGHDp8SxayBhbGFubGFyZGEgaW4geWVyaW5lIGF1ZiBrdWxsYW7EsWzEsXIpICAKYXVmIGRlbSBNYXJrdCAgCmF1ZiBkZW0gVMO8ciAgCgoKRHUgZ2Vmw6RsbHN0IG1pci4gIApEdSBnZWjDtnJzdCBtaXIuICAKCgoKKipQZXJzb25hbHByb25vbWVuIGltIERhdGl2KioKCi0gSGFsbG8gTWFyaWEgdW5kIFBlZHJvLCB3aWUgZ2VodCBlcyAqZXVjaCo/ICAKLSBEYW5rZSwgZ3V0LiAgCgotIE1hcmlhLCBrb21tc3QgZHUgPyAgCi0gSmEsIFBlZHJvLCBpY2gga29tbWUgZ2xlaWNoIHVuZCBoZWxmZSAqZGlyKiAgCgotIFdpciBoYWJlbiBQcm9ibGVtZSBtaXQgZGVuIEhhdXNhdWZnYWJlbi4gS2FubnN0IGR1ICp1bnMqIGhlbGZlbj8gIAotIEphLCBrbGFyLiAgCgotIFNpbmQgZGFzICpkZWluZSogQsO8Y2hlcj8gCi0gTmVpbiwgZGllIGdlaMO2cmVuIG5pY2h0ICptaXIqLiBTaWUgZ2Vow7ZyZW4gTWFyaWEuCgotIFdhcyBtYWNoc3QgZHU/ICAgCi0gSWNoIHNjaHJlaWJlIGVpbmUgUG9zdGthcnRlIGFuIFNhbmRyYSB1bmQgZGFua2UgKmlociogZsO8ciBkaWUgRWlubGFkdW5nLiAgCgotIEhhc3QgZHUgYW0gU29ubnRhZyBaZWl0PyAgCi0gTmVpbiwgUGV0ZXIgdW5kIEFuamEgemllaGVuIHVtIHVuZCBpY2ggaGVsZmUgKmlobmVuKiAgCgoKCgoKTGVzZW4gU2llIEJsb2cuIFNpbmQgZGllIFPDpHR6ZSByaWNodGlnIG9kZXIgZmFsc2NoPyAgCgpIYW1idXJnIC0gZGFzIFRvciB6dXIgV2VsdCAgCgpNZWluZSBMaWVibGluZ3NzdGFkdCBpc3QgSGFtYnVyZy4gSWNoIGJpbiBvZnQgZG9ydCB1bmQgYmVzdWNoZSBGcmV1bmRlLiBEaWUgU3RhZHQgaGF0IDEuOCBNaWxsaW9uZW4gRWlud29obmVyIHVuZCBsaWVndCBpbiBOb3JkZGV1dHNjaGxhbmQgYW4gZGVyIEVsYmUuIEluIEhhbWJ1cmcgZ2lidCBlcyBhbGxlczogS3Vuc3QgdW5kIEt1bHR1ciwgUmVzdGF1cmFudHMgdW5kIEJhcnMsIEzDpGRlbiB1bmQgR2VzY2jDpGZ0ZSAtIHVuZCB2aWVsIFdhc3Nlci4gSWhyIHdvbGx0IEhhbWJ1cmcgYmVzdWNoZW4/IERhcyBtw7xzc3QgaWhyIHNlaGVuLiAgCgpIYW1idXJnIGFtIFdhc3NlciAgCgpCZXNvbmRlcnMgc3Bhbm5lZCBzaW5kIGRlciBIYWZlbiBtaXQgZGVuIENvbnRhaW5lci1TY2hpZmZlbiBhdXMgZGVyIGdhbnplbiBXZWx0IHVuZCBkaWUgU3BlaWNoZXJzdGFkdC4gRG9ydCBsYWdlcm4gV2FyZW4gdm9uIGRlbiBTY2hpZmZlbjogS2FmZmVlLCBUZWUsIEdld8O8cnplLCBLYWthbywgZWxla3Ryb25pc2NoZSBQcm9kdWt0ZSwgVGVwcGljaGUgdW5kIHZpZWxlcyBtZWhyLiBBYmVyIGVzIGdpYnQgYXVjaCBNdXNlZW4sIEF1c3N0ZWxsdW5nZW4sIExlc3VuZ2VuIHVuZCBUaGVhdGVyYXVmZsO8aHJ1bmdlbi4gIAoKSGFtYnVyZyB2b24gb2JlbiAgCgpEaWUgS2lyY2hlIFN0LiBNaWNoYWVsaXMgKGRpZSBIYW1idXJnZXIgbmVubmVuIHNpZSAiTWljaGVsIikgaXN0IGRhcyBXYWhyemVpY2hlbiB2b24gSGFtYnVyZy4gRGVyIEJsaWNrIHZvbSBLaXJjaGVudHVybSAoMTMyIE1ldGVyIGhvY2ghKSBhdWYgZGllIFN0YWR0IHVuZCBkZW4gSGFmZW4gaXN0IGVpbmZhY2ggdG9sbCEgIAoKSGFtYnVyZyBhbSBBYmVuZCAgCgpOYXTDvHJsaWNoIGdpYnQgZXMgaW4gSGFtYnVyZyDDvGJlcmFsbCB2aWVsZSBLbmVpcGVuLiBCZXNvbmRlcnMgZ2VybiBtYWcgaWNoIGFiZXIgZGllIEF0bW9zcGjDpHJlIGFtIEdyb8OfbmV1bWFya3QsIGRhcyBpc3QgZWluIFBsYXR6IGluIGRlciBIYW1idXJnZXIgTmV1c3RhZHQgbWl0IEtuZWlwZW4sIENhZmVzIHVuZCBSZXN0YXVyYW50cy4gVmllbGxlaWNodCBzZWhlbiB3aXIgdW5zIGlyZ2VuZHdhbm4gbWFsPyAgCgpFd2EgYXVzIEtyYWthdSAgCgpEYW5rZSBmw7xyIGRpZSBUaXBwcywgSmFuISBEZWluIEJsb2cgZ2Vmw6RsbHQgbWlyIGd1dC4gSGFtYnVyZyBrZW5uZSBpY2ggbm9jaCBuaWNodCwgYWJlciBqZXR6dCBtw7ZjaHRlIGljaCB1bmJlZGluZ3QgaGluIHVuZCBkZW4gSGFmZW4gc2VoZW4uICAgIAoKCgpFaW53b2huZXIgfCBXYXBwZW4gfCBhbHQgfCA1MDAgfCBCZXJuIHwgc3ByaWNodCB8IEhhdXB0c3RhZHQgfCBCZXJsaW4gIApNYXJ0aW4gbGVidCBpbiBCZXJuICAKQmVybiBoYXQgMTMwLjAwMCBFaW53b2huZXIgdW5kIGlzdCBkaWUgSGF1cHRzdGFkdCBkZXIgU2Nod2Vpei4gIApJbiBCZXJuIHNwcmljaHQgbWFuIEJlcm5lciBEZXV0c2NoLiAgCkRlciBaeXRnbG9nZ2UsIGRhcyBpc3QgZGVyIFplaXRnbG9ja2VudHVybSwgaXN0IHNlaHIgYWx0LiBEaWUgVWhyIGlzdCA1MDAgSmFocmUgYWx0LiAgCkJlcm4gdW5kIEJlcmxpbiBoYWJlbiBldHdhcyBnZW1laW5zYW0uIEJlaWRlIFdhcHBlbiBoYWJlbiBlaW5lbiBCw6RyZW4uICAKCgoKLS0tCgojIyAxNgoKLS0tCgpodHRwczovL2h1ZWJlci5kZS9zaGFyZWQvdWVidW5nZW4vbWVuc2NoZW4va2IvYTEvbGl2ZWJvb2svbDE2L2luZGV4LnBocAoKCkhpbGZlIHJ1ZmVuICAKd2FydGVuICAKCmRpZSBBbmdzdCB8IGRpZSDDpG5nc3RlICAgIApBbmdzdCBoYWJlbiAgCgpnZW5lcnZ0IHNlaW4gIAoKCm5pY2h0cyB0dW4gKGhpw6diaXLFn2V5IHlhcG1hZGFuIGJla2xlbWVrKSAgClNpZSB0dW5uc3QgbmljaHQuICAKCndhcnRlbiAgCkhpbGZlIHJ1ZmVuCgpkaWUgQXVmenVnZmlybWEgfCBkaWUgQXVmenVnZmlybWVuICAKCmRlciBUZWNobmlrZXIgfCBkaWUgVGVjaG5pa2VyaW4gIAoKcmVwYXJpZXJlbgoKCmRlciBLb3BmIHwgZGllIEvDtnBmZSAgCmRhcyBGZWxkIHwgZGllIEZlbGRlciAgKGZpZWxkKSAgCgpXaWUgZ2VodCdzIGRpciAvIElobmVuID8gIApNaXIgZ2VodCdzIGd1dC4KVW5zIGdlaHQncyBndXQuICAKCldlbSBnZWjDtnJ0IGRpZSBVaHI/ICAKRGllIFVociBnZWjDtnJ0IGlobS4KCldlbSBnZWjDtnJlbiBkaWUgQsO8Y2hlcj8gIApEaWUgQsO8Y2hlciBnZWjDtnJlbiBpaG0uIAoKCgoqKmVpbmVuIFRlcm1pbiB2ZXJlaW5iYXJlbioqCgpQYXNzdCBlcyBJaG5lbiBoZXV0ZSBOYWNobWl0dGFnIHVtIDE2IFVocj8gIApJY2ggaGFiZSBlaW5lbiBhbmRlcmVuIFRlcm1pbiB1bSAxMSBVaHIuCkthbm4gaWNoIHVtIDE0IFVociBrb21tZW4/ICAKCioqZGVuIFRlcm1pbiB2ZXJzY2hpZWJlbioqICAKaWNoIHZlcnNjaGllYmUgZGVuIFRlcm1pbiB2b24gRnJlaXRhZyBhdWYgRGVpbnN0YWcuICAKCkljaCBoYWJlIGVpbmVuIFRlcm1pbiB1bSAxMSBVaHIuIEljaCBrYW5uIGFiZXIgbGVpZGVyIG5pY2h0IGtvbW1lbi4gIAoKKiplaW5lbiBUZXJtaW4gYWJzYWdlbioqIChjYW5jZWwpCkljaCBzYWdlIGRlbiBUZXJtaW4gYWIuICAKCgoKKipXbyArIGluIERhdGl2KiogIAoKKmRlcio6IEljaCBrb21tZSBpbiBlaW4qZW0qIE1vbmF0IHp1csO8Y2suICAKKmRhcyo6IEljaCBrb21tZSBpbiBlaW4qZW0qIEphaHIgenVyw7xjay4gIAoqZGllKjogSWNoIGtvbW1lIGluIGVpbiplciogU3R1bmRlIHp1csO8Y2suICAKKlBsLio6IEljaCBrb21tZSBpbiB6d2VpIFdvY2hlbiB6dXLDvGNrLgoKCi0gV2FubiBrb21tc3QgZHUgenVyw7xjaz8gIApJbiBlaW5lbSBNb25hdC4gIAoKCioqdm9yIFggbmFjaCoqIChiZWZvcmUgWCBhZnRlcikgIAoKV2FubiBrb21tdCBlcj8gIAoKKmRlcio6IEVyIGtvbW10IHZvciAqZGVtKiBLdXJzLiAgCipkYXMqOiBFciBrb21tdCBuYWNoICpkZW0qIEVzc2VuLiAgCipkaWUqOiBFciBrb21tdCBuYWNoICpkZXIqIFVuaS4gIAoqUGwuKjogRXIga29tbXQgdm9yICpkZW4qIEhhdXNhdWZnYWJlbi4gIAoKCihGw7xyKSBXaWUgbGFuZ2Uga29tbWVuIFNpZT8gIAooRsO8cikgV2llIGxhbmdlIGJsZWliZW4gU2llPyAgCkljaCBrb21tZSBmw7xyIGVpbmVuIE1vbmF0LiAgCkljaCBibGVpYmUgZsO8ciBlaW5lbiBNb25hdC4gIAoKYmxlaWJlbiAoc3RheSkgIAoKCgpUdXQgbWlyIGxlaWQsIGRlciBCdXMgaXN0IG5pY2h0IGdla29tbWVuLiAgCkVudHNjaHVsZGlndW5nLCBpY2ggaGFiZSB6dSBsYW5nIGdlc2NobGFmZW4uICAKVHV0IG1pciBsZWlkLCBpY2ggd2FyIGluIGVpbmVyIGFuZGVyZW4gc3RyYcOfZS4gIApJY2ggaGFiZSBrZWluZSBUYXhpIGdlZnVuZGVuLiAgCkljaCB3YXIgZ2VzdGVybiBrcmFuay4gIAoKSWNoIGdsYXViZSBpaG0uICAKCkhhc3QgZHUgYW0gU29ubnRhZyB6ZWl0PyAgCkphLCBpY2ggaGFiZSB6ZWl0LiAgKHZlcmVpbmJhcmVuKQpOZWluLCBpY2ggaGFiZSBrZWluZSB6ZWl0LiAgCgpJY2gga2FubiBkb2NoIG5pY2h0IChhYnNhZ2VuKS4gIAoKCioqc2VpbiB8IGdld2V3c2VuKiogIAoKQmlzdCBkdSBpbiBLw7ZsbiBnZXdlc2VuIC0+ICpXYXJzdCBkdSAuLi4uIGluIEvDtmxuPyoKCgppbiBXYW5uICsgRGF0aXYgIApuYWNoIC0gdm9yIFdhbm4gKyBEYXRpdiAgCihmw7xyKSB3aWUgbGFuZ2UgKyBBa2t1c2F0aXYgIAoKYWIgV2Fubj8gQWJ3YW5uPyAgCgpBYndhbm4gaXN0IGRpZSBQYXJ0eT8gIApXYW5uIGlzdCBkaWUgUGFydHk/ICAKCnVtIHdpZSB2aWVsIHVocj8gIChXYW5uKSAgCmFtIFdhbm4/ICAKCnZvbiAuLiBiaXMgIFZvbiB3YW5uIGJpcyB3YW5uPyBXYW5uPwoKCmFuZmFuZ2VuIHwgYW5nZWZhbmdlbiAgKHRvIGJlZ2luKSAgCgpEZXIgRGV1dHNjaGt1cnMgaGF0IHZvbiBlaW5lciBXb2NoZSBhbmdlZmFuZ2VuLiAgCgpXYW5uIGdlaGVuIFNpZSBlaW5rYXVmZW4/ICAKSWNoIGdlaGUgbmFjaCBkZW0gS3VycyBlaW5rYXVmZW4uICAKCgoiRGFzIHdhciBlaW5lIHNjaHdlcmUgR2VidXJ0IiAow6dvayB6b3IgYmlyIGnFnyBpw6dpbiBrdWxsYW7EsWxhbiBkZXlpbSkgICAgCiJJY2ggdmVyc3RlaGUgbnVyIEJhaG5vZiIgKGhpw6cgYmlyIMWfZXkgYW5sYW1hZMSxbSBhbmxhbcSxbmRhIGRleWltKSAgCgoKCgoqKlpFSVRQUsOEUE9TSVRJT05FTioqCgpMZXNlbiBTaWUgZGllIFPDpHR6ZS4gIAoiVm9yIiBpc3QgZWluZSBQcsOkcG9zaXRpb24gZsO8ciB2ZXJnYW5nZW5lIEVyZWlnbmlzc2UsICh2ZXJnYW5nZW5lIEVyZWlnbmlzc2U6IHBhc3QgZXZlbnQpICAgIAoiZsO8ciIgaXN0IGVpbmUgUHLDpHBvc2l0aW9uIGbDvHIgZGllIERhdWVyLCAoRGF1ZXI6IHBlcmlvZCkgICAgCiJpbiIgaXN0IGbDvHIgZGllIHp1a8O8bmZ0aWdlIEVyZWlnbmlzc2UgdW5kICh6dWvDvG5mdGlnZTogZnV0dXJlKSAgICAKIm5hY2giIGbDvHIgc2Nob24gYWJnZXNjaGxvc3NlbmUgRXJlaWduaXNzZS4gKGFiZ2VzY2hsb3NzZW5lOiB0ZXJtaW5hdGVkKSAgCgoKClBldGVyIG3DtmNodGUgKmbDvHIqIGVpbiBKYWhyIG5hY2ggSmFwYW4gZ2VoZW4uICAKRXIgaGF0ICp2b3IqIGVpbmVtIEphaHIgc2Nob24gZWluIFByYWt0aWt1bSBpbiBKYXBhbiBnZW1hY2h0LiAgCkFubmUgbcO2Y2h0ZSAqbmFjaCogaWhyZW0gTWVkaXppbnN0dWRpdW0gaW4gQWZyaWthIGFscyDDhHJ6dGluIGFyYmVpdGVuLiAgCkJhcmJhcmEgYmVnaW5udCAqaW4qIGRyZWkgTW9uYXRlbiBtaXQgZGVtIFN0dWRpdW0uICAKTW9yaXR6IGhhdCAqdm9yKiBlaW5lbSBoYWxiZW4gSmFociBtaXQgc2VpbmVtIEluZ2VuaWV1ci1TdHVkaXVtIGFuZ2VmYW5nZW4uICAKKkluKiB2aWVyIEphaHJlbiBpc3QgZXIgZmVydGlnLiBEYW5uIG3DtmNodGUgZXIgZ2VybiBpbiBlaW5lciBBdXRvZmlybWEgYXJiZWl0ZW4uICAKTWFyaWEgbcO2Y2h0ZSAqbmFjaCogZGVtIERldXRzY2hrdXJzIGRpZSBQcsO8ZnVuZyBtYWNoZW4uICAKCgoKV2FzIGthbm4gaWNoIGbDvHIgU2llIHR1bj8KCipOYWNoKiBkZXIgU2NodWxlIGhhdCBlciBFbGVrdHJvaW5zdGFsbGF0ZXVyIGdlbGVybnQuICAKU2VpdCAxNiBhcmJlaXRldCBIZXJyIEJydW5uZXIgYWxzIEhhdXNtZWlzdGVyIGJlaSBkZXIgRmlybWEuICAKRXIga8O8bW1lcnQgc2ljaCB1bSBkaWUgSGVpenVuZywgZGFzIFdhc3NlciB1bmQgZGVuIFN0cm9tLiAgCkVyIHJlcGFyaWVydCBGZW5zdGVyIHVuZCBUw7xyZW4uIEF1w59lcmRlbSBzY2huZWlkZXQgZXIgQsOkdW1lLCBCw7xzY2hlIHVuZCBIZWNrZW4uIAoqVm9uKiBNb250YWcgKmJpcyogRnJlaXRhZyBhcmJlaXRldCBlciBpbW1lciAqdm9uKiA4LjAwICpiaXMqIDE2IFVoci4KRXIgaGF0IE1pdHRhZ3NwYXVzZSAqdm9uKiAxMi4wMCAqYmlzKiAxMi4zMCBVaHIuICAKRGllIEFyYmVpdCBtYWNodCAqaWhtKiBTcGHDny4KCgoKKipURVJNSU4qKgoKKlRlcm1pbmUgdmVyc2NoaWViZW4qCgotIEljaCBrYW5uIGxlaWRlciBkb2NoIG5pY2h0IGlucyBLaW5vIGdlaGVuLyBrb21tZW4uICAgCi0gS8O2bm5lbiB3aXIgZGVuIFRlcm1pbiB2ZXJzY2hpZWJlbj8gIAotIEljaCBtw7ZjaHRlIGRlbiBUZXJtaW4gdmVyc2NoaWViZW4uICAKCgoqUGzDpG5lIGJlc2NocmVpYmVuKgoKLSBWb3IvIE5hY2ggZGVtIERldXRzY2hrdXJzLyBkZXIgVW5pIC4uLiAgCi0gQWIgU2Ftc3RhZyBiaW4gaWNoIGbDvHIgMiBXb2NoZW4gaW0gVXJsYXViLiAgCi0gQW0gTW9udGFnIGJpbiBpY2ggYXVzIGRlbSBVcmxhdWIgenVyw7xjay4gIAotIFZvbiBGcmVpdGFnIGJpcyBEaWVuc3RhZyBiaW4gaWNoIGluIEJlcmxpbi4gIAoKCgoqQWx0ZXJuYXRpdmVuIHZvcnNjaGxhZ2VuKgoKLSBJY2gga2FubiBhbSBGcmVpdGFnLiAgCi0gQW0gU29ubnRhZyBoYWJlIGljaCBaZWl0LiAgCi0gUGFzc3QgZXMgRGlyIGFtIFNvbm50YWc/ICAKLSBXb2xsZW4gd2lyIGFtIEZyZWl0YWcgaW5zIEtpbm8gZ2VoZW4/ICAKCgoqSWhyZSBUYW5kZW0tUGFydG5lcmluIHNjaHJlaWJ0IElobmVuIGZvbGdlbmRlIE1haWwgdW5kIG3DtmNodGUgZWluZW4gVGVybWluIHZlcmVpbmJhcmVuLiogICAKCkxpZWJlci8gTGllYmUgLi4uLiAgIAp3b2xsZW4gd2lyIHVucyBkaWVzZSBXb2NoZSBlbmRsaWNoIG1hbCB0cmVmZmVuPyBJY2ggaGFiZSBhYmVyIGxlaWRlciBlaW4gdm9sbGVzIFByb2dyYW1tLiBWb24gTW9udGFnIGJpcyBGcmVpdGFnIGJpbiBpY2ggYXVmIGVpbmVyIFRhZ3VuZyBpbiBCZXJsaW4uIEFtIERvbm5lcnN0YWcgVm9ybWl0dGFnIGdlaGUgaWNoIHp1ciBVbmkgdW5kIGFtIEFiZW5kIGhhYmUgZWluZW4gU3BhbmlzY2hrdXJzLiBBbSBTYW1zdGFnIE5hY2htaXR0YWcgYmVzdWNoZSBpY2ggbWVpbmUgR3Jvw59lbHRlcm4gdW5kIGFiIFNvbm50YWcgZmFocmUgaWNoIGbDvHIgZWluZSBXb2NoZSBpbiBVcmxhdWIgYXVmIFN5bHQuIEFtIEZyZWl0YWcgaGFiZSBpY2ggYWJlciBkZW4gZ2FuemVuIFRhZyBmcmVpLiBUcmVmZmVuIHdpciB1bnMgaW0gQ2FmZSAiTHV4dXMiIHVtIGbDvG5mPyBIYXN0IGR1IGRhIFplaXQ/ICAKSWNoIGZyZXVlIG1pY2ggc2Nob24gYXVmIEZyZWl0YWcuICAgCkxpZWJlIEdyw7zDn2UgIAoKCgotLS0KCiMjIDE3CgotLS0KCmh0dHBzOi8vaHVlYmVyLmRlL3NoYXJlZC91ZWJ1bmdlbi9tZW5zY2hlbi9rYi9hMS9saXZlYm9vay9sMTcvaW5kZXgucGhwCgoKKmluICsgRGF0aXYqICAKV2FubiBpc3QgZGllIFBhdXNlPyAgCmluIDUgbWludXRlbiAgCmluIGVpbmVyIFN0dW5kZSAgCmluIGVpbmVtIFRhZyAgCmluIGVpbmVtIEphaHIgIAoKCioqbWl0ICsgRGF0aXYqKgoKRmFiaWFuIGdlaHQgbWl0IGRlbSBIdXQgaW4gZGllIFByw7xmdW5nLiAgCkZhYmlhbiBnZWh0IG1pdCBkZXIgR2l0YXJyZSBpbiBkaWUgUHLDvGZ1bmcuICAKRmFiaWFuIGdlaHQgbWl0IGRlbSBLdXJzYnVjaCBpbiBkaWUgUHLDvGZ1bmcuICAKRmFiaWFuIGdlaHQgbWl0IGRlbiBCbHVtZW4gaW4gZGllIFByw7xmdW5nLiAgCgoKZGVyIC0+IGRlbSAgbWVpbiAtPiBtZWluZW0gIApkaWUgLT4gZGVyICBtZWluIC0+IG1laW5lciAgCgpzZWluZW0gSHV0ICAKc2VpbmVyIEdpdGFycmUgIApzZWluZW0gS3Vyc2J1Y2ggIApzZWluZW4gQmx1bWVuICAKbWVpbmVuIEJsdW1lbiAgCmlocmVuIEJsdW1lbiAgCgoKCgoqKm9obmUgKyBBa2t1c2F0aXYqKgoKZGVyIC0+IGRlbiAgbWVpbiAtPiBtZWluZW4gIAoKQ2hlcnJ5IGdlaHQgb2huZSBkZW4gSHV0IC8gbWVpbmVuIEh1dCBpbiBkaWUgUHLDvGZ1bmcuICAKZGllIEdpdGFycmUgLyBtZWluZSBHaXRhcnJlICAKZGFzIEt1cnNidWNoIC8gbWVpbiBLdXJzYnVjaCAgCmRpZSBCbHVtZSAvIG1laW5lIEJsdW1lbiAgCgoKV2FzIG5laG1lbiBTaWUgaW4gZGVuIFVybGF1YiBtaXQ/ICAKSWNoIGZhaHJlIG1pdCBtZWluZW0gLyBkZW0gSGFuZHkgaW4gZGVuIFVybGF1Yi4gIApJY2ggZmFocmUgb2huZSBtZWluZW4gLyBkZW4gV2Vja2VyIGluIGRlbiBVcmxhdWIuICAKCgpGYWJpYW4gd2lsbCBsaWVkZXIgbWFjaGVyIHdlcmRlbi4gIApJY2ggbcO2Y2h0ZSAuLi4gKEJlcnVmKSB3ZWRlbi4gIAoKSWNoIHdpbGwgZWluIEF1dG8ga2F1ZmVuLiAgCkljaCB3aWxsIGR1cmNoIEV1cm9wYSByZWlzZW4uICAKCgpCRVdFUkJVTkcgKGFwcGxpY2F0aW9uKQoKYW5tZWxkZW4gKHJlZ2lzdGVyKSAgCmxlc2VuICAKYmVrb21tZW4KCnNjaGFmZmVuIChhY2NvbXBsc2loKQoKYWJzY2hsaWXDn2VuIChmaW5pc2gsIGNvbXBsZXRlKQoKYmVnaW5uZW4KCmZpbmRlbgphdWZuZWhtZW4KCmJlc3RlaGVuCgp3ZXJkZW4gIAoKCgpJbSBTb21tZXIgaGF0IFNvZmllIGlocmUgQXVzYmlsZHVuZyBhbHMgRnJpc2V1cmluIGFiZ2VzY2hsb3NzZW4uICAKU2llIGhhdHRlIGdyb8OfZSBBbmdzdCB2b3IgZGVyIFByw7xmdW5nLiAgCkFiZXIgenVtIEdsw7xjayBoYXQgc2llIGRpZSBQcsO8ZnVuZyBnZXNjaGFmZnQuICAKSmV0enQgbcO2Y2h0ZSBzaWUgZW5kbGljaCBHZWxkIHZlcmRpZW5lbi4gIApEYW5uIG3DtmNodGUgc2llIG1pdCBpaHJlbSBGcmV1bmQgSm9obm55IGVpbiBNb3RvcnJhZCBrYXVmZW4gdW5kIGR1cmNoIEV1cm9wYSBmYWhyZW4uICAKWnVlcnN0IG1hY2h0IHNpZSBhYmVyIG5vY2ggZGVuIEbDvGhyZXJzY2hlaW4uICAKU2llIG3DtmNodGVuIGR1cmNoIHZpZWxlIEzDpG5kZXIgcmVpc2VuLCBkaWUgV2VsdCB1bmQgYW5kZXJlIGp1bmdlIExldXRlIGtlbm5lbmxlcm5lbi4gIApJbiBlaW4gcGFhciBKYWhyZW4gbcO2Y2h0ZW4gc2llIHVuZCBKb2hubnkgaGVpcmF0ZW4gdW5kIEtpbmRlciBoYWJlbi4gIAoKCgoqV8OcTlNDSEUgVU5EIFBMw4RORSoKCldlbGNoZSBXw7xuc2NoZSBoYXN0IGR1PwoKV2VsY2hlIFfDvG5zY2hlIGhhYmVuIGRpZSBMZXV0ZT8KCkljaCB3aWxsIC4uLiAgCgphdWYga2VpbmVuIEZhbGwgZGljayB3ZXJkZW4uICAKYmFsZCBoZWlyYXRlbi4gIAplbmRsaWNoIHdpZWRlciBvaG5lIEtyw7xja2VuIGdlaGVuLiAgCkthcnJpZXJlIG1hY2hlbi4gIAplaW4gRmVzdCBudXIgZsO8ciBGcmF1ZW4gbWFjaGVuLiAgCm5pY2h0IHdpZSBtZWluZSBNdXR0ZXIgd2VyZGVuLiAgCk11c2lrIHN0dWRpZXJlbi4gICAKd2VuaWcgYXJiZWl0ZW4gdW5kIHZpZWwgR2VsZCB2ZXJkaWVuZW4uICAKbWl0IGRlbSBadWcgZHVyY2ggRXVyb3BhIGZhaHJlbi4gIApNb2RlbCB3ZXJkZW4uICAKcmVpY2ggd2VyZGVuLiAgClRpZXLDpHJ6dGluIHdlcmRlbi4gIApQYXVzZSBtYWNoZW4uICAKCgoqV09MTEVOIFVORCBLw5ZOTkVOKgoKCkNoZXJyeSAqd2lsbCogdW5iZWRpbmd0IFPDpG5nZXJpbiB3ZXJkZW4uICAKClNhcmEgdW5kIEZlbGl4ICp3b2xsZW4qIGF1ZiBrZWluZW4gRmFsbCBoZWlyYXRlbi4KCk7DpGNoc3RlcyBKYWhyICp3aWxsKiBpY2ggbWVpbmUgQXVzYmlsZHVuZyBhYnNjaGxpZcOfZW4uCgpXaXIgKndvbGxlbiogdW5iZWRpbmd0IGRpZSBGw7xocmVyc2NoZWlucHLDvGZ1bmcgc2NoYWZmZW4uCgpEYW5uICprw7ZubmVuKiB3aXIgbWl0IGRlbSBNb3RvcnJhZCBkdXJjaCBFdXJvcGEgcmVpc2VuLgoKVmllbGxlaWNodCAqd2lsbCogSmFuIExpZWRlcm1hY2hlciB3ZXJkZW4uCgoKCgotLS0KCiMjIDE4CgotLS0KCmh0dHBzOi8vaHVlYmVyLmRlL3NoYXJlZC91ZWJ1bmdlbi9tZW5zY2hlbi9rYi9hMS9saXZlYm9vay9sMTgvaW5kZXgucGhwCgpkaWUgS3JhbmtoZWl0IHwgZGllIEtyYW5raGVpdGVuIHwgaGFzdGFsxLFrICAgIApkaWUgR2VzdW5kaGVpdCB8IHNhxJ9sxLFrICAKZGllIEbDpGhpZ2tlaXQgfCBkaWUgRsOkaGlna2VpdGVuIHwgYWJpbGl0eSAgCgpkYXMgVGhlcm1vbWV0ZXIgfCBkaWUgVGhlcm1vbWV0ZXIgIApkaWUgSGFuZCB8IGRpZSBIw6RuZGUgIAoKaHVzdGVuICAKCndlaHR1biB8IFNjaG1lcnplbiBoYWJlbgoKaWNoIHR1ZSB3ZWggIApkdSB0dXN0IHdlaCAgCmVyIHR1dCB3ZWggIAoKd2VoZ2V0YW4gKFBJSSkgIAoKYmxlaWJlbiAgKHN0YXkpICAKCgpuaWNodCBtZWhyOiBJY2ggaGFiZSBtZWRpa2FtZW50ZSBnZW5vbW1lbiB1bmQgamV0enQgZ2VodCBlcyBtaXIgZ3V0LiBEYXMgZmllYmVyIGlzdCB3ZWcsIGFsc28gZXMgaXN0IG5pY2h0IG1laHIgZGEuICAKCmltbWVyIG5vY2g6IEljaCBoYWJlIHNlaXQgendlaSBUYWdlbiBGaWViZXIgdW5kIGpldHp0IGF1Y2guIEVzIGlzdCBuaWNodCB3ZWcuIEljaCBoYWJlIE1lZGlrYW1hbnRlIGdlbm9tbWVuIGFiZXIgZXMgaXN0IGltbWVyIG5vY2ggZGEuCgpkaWUgQW1idWxhbnogIApkaWUgTm90YXVmbmFobWUgfCBlbWVyZ2VuY3kgIApBcnp0ICAKSGF1c2FyenQgIAoKR2ViZW4gWCBOZW1lbgoKR2ViZW4gU2llIGlobSBkaWVzZW4gVGVlISAtPiBCZWZhaGwsIEVtcGZlaGx1bmcsIEF1c3J1ZmV6ZWljaGVuCgpHZWJlbiBTaWUgaWhtIGRpZXNlbiBUZWU/IC0+IEphLCBOZWluIEZyYWdlLCBGcmFnZXplaWNoZW4KClRyaW5rZW4gU2llIHZpZWwgd2Fzc2FyIGJpdHRlIQoKVHJpbmtlbiBTaWUgVGVlPwoKR2VoZW4gU2llIHp1bSBBcnp0IQoKR2VoZW4gU2llIHp1bSBBcnp0PwoKCgoKCkdlYmVuIFNpZSBpaG0gZG9jaCBkaWVzZW4gVGVlIQoKU2Nod2VzdGVyICAKZGllIE5vbm5lIHwgZGllIE5vbm5lbgpkYXMgS3JhdXQgfCBkaWUgS3LDpHV0ZXIgfCBoZXJiYWwgICAgCmRpZSBCbHVtZW4gIApkZXIgS29yYiB8IGRpZSBLw7ZyYmUKCmRhcyBLbG9zdGVyIHwgZGllIEtsw7ZzdGVyIHwgbWFuYXN0xLFyICAKS2xvc3RlcmxhZGVuICAKClNpZSB0csOkZ3QgZGllIEvDtnJiZS4KCkRpZSBOb25uZSBsaWVidCBpbiBkYXMgS2xvc3RlciAgCktvbW1lbiBTaWUgbWl0ICAKCmtyYW5rIFggZ2VzdW5kIChzZWlkKSAgCkljaCBiaW4ga3JhbmsuIEljaCBiaW4gZ2VzdW5kLiAgCgpLb3Bmc2NtZXJ6ZW4gaGFiZXIKCkljaCBnZWhlIHp1bSBBcnp0LiAgCgpTY2htZXJ6ZW4gZ2VzY2hyaWViZW46ICAKTWVpbiBLb3BmIHR1dCB3ZWggIAoKUmF0c2hsw6RnZSBnZWJlbjogIApXZWxjaGUgUmF0c2hsw6RnZSBnaWJ0IFNjaHdlc3RlciBBbmdlbGlrYSBkZW4gTGV1dGVuPyAgCkltcGVyYXRpdiAgCkJsZWliZW4gU2llIGRvY2ggaW0gQmV0dCEgIApHZWJlbiBTaWUgaWhtIGRvY2ggZGllc2VtIFRlZSEgIApUcmlua2VuIFNpZSAoZG9jaCkgdmllbCBUZWUhICAKR2VoZW4gU2llIChkb2NoKSB6dW0gQXJ6dCEKCldhcyBoYXQgU2Nod2VzdGVyIEFuZ2VsaWthIGdlc2FndD8gIAoKU2llIHNhZ3QsIGR1IHNvbGxzdCBpbSBCZXR0IGJsZWliZW4uICAKU2llIHNhZ3QsIGR1IHNvbGxzdCBkaWVzZW4gVGVlIHRyaW5rZW4uICAKU2llIHNhZ3QsIGljaCBzb2xsIHZpZWwgVGVlIHRyaW5rZW4uICAKU2llIHNhZ3QsIGljaCB6dW0gQXJ6dCBnZWhlbi4gIAoKCsO8YmVyIEtyYW5raGVpdGVuIHNwcmVjaGVuOiAgCkdlZ2VuIEJhdWNoc2NobWVyemVuIHRyaW5rZSBpY2ggLi4uICAKCnNvbGxlbiAtPiBNb2RhbHZlcmIgfCBzaG91bGQKCkljaCBzb2xsIGRpciBkaWVzZW4gVGVlIGdlYmVuLgoKRHUgc29sbHN0IGRpZXNlbiBUZWUgdHJpbmtlbi4gIAoKc29sbGVuCnNvbGwKc29sbHN0CnNvbGwKc29sbGVuCnNvbGx0CnNvbGxlbgoKCmRlciBSYXRzY2hsYWcgfCBkaWUgUmF0c2NobMOkZ2UgfCBhZHZpY2UsIHN1Z2dlc3Rpb24KCmRlciBSYXRnZWJlciB8IGRpZSBSYXRnZWJlciB8IGFkdmlzb3IgIApkaWUgUmF0Z2ViZXJpbiB8IGRpZSBSYXRnZWJlcmlubmVuIHwgYWR2aXNvcgoKV29ydGZlbGQKCkvDtnJwZXJ0ZWlsZSAgCgpHZWhlbiBTaWUgenVtIEFyenQhCgoKCgpkZXIgRG9rdG9yICB8IGRpZSBEb2t0b3JlbiAgCmRlciBBcnp0ICB8IGRpZSDDpHJ6dGUgIApkaWUgQXBvdGhla2UgIHwgIGRpZSBBcG90aGVrZW4gIApkYXMgTWVkaWthbWVudCB8IGRpZSBNZWRpa2FtZW50ZSAgCmRhcyBSZXplcHQgIHwgZGllIFJlemVwdGUgIHwgZWluIFJlemVwdCB2ZXJzY2hpZWJlbiAgCmRpZSBQcmF4aXMgIHwgZGllIFByYXhlbiAgCmRlciBIdXN0ZW4gIHwgZGllIEh1c3RlbiB8IEh1c3RlbiBoYWJlbgpkYXMgRmllYmVyICB8IGRpZSBGaWViZXIgIApkZXIgU2NobnVwZmVuIHwgZGllIFNudXBmZW4gfCBNZWluZSBub3NlIGzDtmZ0ICAKZGVyIFNjaG1hcnogfCBkaWUgU2NobWVyemVuICAKZGllIFRhYmxldHRlICB8IGRpZSBUYWJsZXR0ZW4gICAKZGllIFNhbGJlICB8IGRpZSBTYWxiZW4gIApkYXMgUGZsYXN0ZXIgIHwgZGllIFBmbGFzdGVyICAKCmRlciBBcm0gfCBkaWUgQXJtZSAgfCBhcm0gIApkYXMgQmVpbiB8IGRpZSBCZWluZSAgfCBsZWcgIAoKRXIgaGF0IGtlaW5lIFNjaG1lcnplbiBpbiBkZW4gQXJtZW4gdW5kIEJlaW5lbiAgIApEYXMgRmllYmVyIGlzdCBuaWNodCBzZWhyIGhvY2guICAKRXIgaHVzdGV0IGdhciBuaWNodC4gIApFciBodXN0ZXQgc2VociB2aWVsLiAgCk1laW4gS29wZiB0dXQgaW1tZXIgbm9jaCB3ZWguICAKTWVpbiBLb3BmIHR1dCBuaWNodCBtZWhyIHdlaC4gIApEYXMgRmllYmVyIGlzdCBpbW1lciBub2NoIGhvY2guICAKRGFzIEZpZWJlciBpc3QgbmljaHQgbWVociBob2NoLiAgCgpibGVpYmVuICAKYmxlaWJlbiBpbSBCZXR0ICAKCgpkYXMgU2tlbGV0dCB8IGRpZSBTa2VsZXR0ZSAgCmRhcyBUZWlsIHwgZGllIFRlaWxlICAKZGVyIEvDtnJwZXIgfCBkaWUgS8O2cnBlciAgCgpkZXIgS29wZiB8IEhlYWQgICAgCmRlciBIYWxzICB8IFRocm9hdCAgCmRlciBSw7xja2VuICB8IEJhY2sgIApkaWUgQnJ1c3QgIHwgIENoZXN0ICAKZGVyIEJhdWNoICB8IFN0b21hY2ggIApkZXIgQXJtICAgIApkaWUgSGFuZCAgICAKZGVyIEZpbmdlcgpkYXMgQmVpbiAgfCBMZWcKZGVyIEZ1w58gIApkYXMgS25pZSAgCmRhcyBPaHIgIHwgRWFyICAKZGFzIEF1Z2UgIHwgRXllICAKZGVyIFphaG4gIHwgVG9vdGggfCBaYWhuYXJ6dApkaWUgTmFzZSAgCmRlciBNdW5kICB8IE1vdXRoICAKCgpSdW5kIHVtIGRpZSBHZXN1bmRoZWl0ICAKCipUZWxlZm9uZ2VzcHLDpGNoKgoKLSBIYWxsbyBMZWEsIGljaCBrYW5uIGhldXRlIGxlaWRlciBuaWNodCB6dW0gU2Nod2ltbWVuIGtvbW1lbi4gSWNoIG11c3MgYWJzYWdlbi4gIAotIFdhcnVtIGRlbm4/ICAKLSBJY2ggYmluIGtyYW5rICAKLSBPaCwgd2FzIGhhc3QgZHUgZGVubj8gIAotIEljaCBoYWJlIEtvcGZzY2htZXJ6ZW4gdW5kIGljaCBodXN0ZSAgCi0gT2gsIGRhcyB0dXQgbWlyIGxlaWQuIEhhc3QgZHUgYXVjaCBGaWViZXIgPyAgCi0gSmEsIGVzIGlzdCBuaWNodCBzZWhyIGhvY2guIEFiZXIgZ3V0IGdlaHQgZXMgbWlyIG5pY2h0LiBVbmQgbWVpbmUgQXJtZSB1bmQgQmVpbmUgdHVuIG1pciBhdWNoIHdlaCAgCi0gQWNoIE1lbnNjaCEgV2llIHNjaGFkZSEgIAotIEphLCBkYXMgZmluZGUgaWNoIGF1Y2guIEFsc28gaWNoIGJsZWliZSBpbSBCZXR0LiAgCgoKCipSYXRzY2hsw6RnZSogKGFkdmljZSkgIAoKSWhyIE5hY2hiYXIgYXJiZWl0ZXQgZWluIGhhbGJlcyBKYWhyIG5pY2h0LiBHZWJlbiBTaWUgaWhtIFJhdHNjaGzDpGdlIG1pdCAiZG9jaCIuCsOELCDDtiwgw7wga8O2bm5lbiBTaWUgYXVjaCBhZSwgb2UsIHVlIHNjaHJlaWJlbi4KCiAKZHVyY2ggRXVyb3BhIHJlaXNlbiAtPiBSZWlzZW4gU2llIGRvY2ggZHVyY2ggRXVyb3BhISAgIAppbnMgQXVzbGFuZCBnZWhlbiAtPiBHZWhlbiBTaWUgZG9jaCBpbnMgQXVzbGFuZCEgIAplaW4gSW5zdHJ1bWVudCBsZXJuZW4gLT4gTGVybmVuIFNpZSBkb2NoIGVpbiBJbnN0cnVtZW50ISAgCmRlbiBNb3RvcnJhZGbDvGhyZXJzY2hlaW4gbWFjaGVuIC0+IE1hY2hlbiBTaWUgZG9jaCBkZW4gTW90b3JyYWRmw7xocmVyc2NoZWluISAgCm5vY2ggZWluZSBGcmVtZHNwcmFjaGUgbGVybmVuIC0+IExlcm5lbiBTaWUgZG9jaCBub2NoIGVpbmUgRnJlbWRzcHJhY2hlISAgCgoKCipXaWUgZXNzZW4gd2lyIGdlc3VuZD8qCgpEZXIgRXJuw6RocnVuZ3N3aXNzZW5zY2hhZnRsZXIgVC4gTG9obWFubiBzYWd0OiAiRXNzZW4gU2llLCB3YXMgU2llIHdvbGxlbi4iIFNpZSBoYWJlbiB2aWVsIHp1bSBUaGVtYSBFc3NlbiBnZWxlcm50IHVuZCBnZWxlc2VuPyBWZXJnZXNzZW4gU2llIGVzISBFcyBpc3QgbmljaHQgd2ljaHRpZy4gRXMgZ2lidCBrZWluZSBnZXN1bmRlbiB1bmQgYXVjaCBrZWluZSB1bmdlc3VuZGVuIExlYmVuc21pdHRlbC4gV2lyIHNvbGxlbiBmw7xuZm1hbCBhbSBUYWcgT2JzdCB1bmQgR2Vtw7xzZSBlc3Nlbj8gIk5pY2h0IHVuYmVkaW5ndCIsIHNhZ3QgVC4gTG9obWFubi4gTcO2Y2h0ZW4gU2llIE9ic3QgdW5kIEdlbcO8c2UgZXNzZW4gdW5kIHNjaG1lY2t0IGVzIElobmVuPyBTY2jDtm4sIGRhbm4gZXNzZW4gU2llIGVzLiBTaWUgbcO2Y2h0ZW4gZWlnZW50bGljaCBnZXJhZGUgZ2FyIGtlaW4gT2JzdCB1bmQgR2Vtw7xzZSBlc3Nlbj8gRGFubiBzb2xsZW4gU2llIGVzIGF1Y2ggbmljaHQgdHVuLiAgIApVbmQgd2llIGVzc2VuIHdpciBkYW5uIGdlc3VuZD8gIApULiBMb2htYW5ucyBSYXRzY2hsYWcgbGF1dGV0OiAiSWhyIEvDtnJwZXIgd2Vpw58gZXMuIiBTaWUgZnLDvGhzdMO8Y2tlbiBpbW1lciBtb3JnZW5zIHVtIDcuMDAgVWhyPyBEYXMgc29sbGVuIFNpZSBuaWNodCB0dW4uIEVzc2VuIFNpZSBuaWNodCB6dSBmZXN0ZW4gWmVpdGVuISBGcmFnZW4gU2llIGltbWVyIElocmVuIEvDtnJwZXI6IGhhYmUgaWNoIGdlcmFkZSBIdW5nZXI/ICAKVW5kIHdhcyBzb2xsZW4gd2lyIGVzc2VuPyIgQXVjaCBkYXMgaXN0IGdhbnogbGVpY2h0LiBGcmFnZW4gU2llIHNpY2g6ICJXYXMgbcO2Y2h0ZSBpY2ggZ2VyYWRlIGdlcm4gZXNzZW4/IiBVbnNlciBLw7ZycGVyIGJyYXVjaHQgdmllbGUgdmVyc2NoaWVkZW5lIE5haHJ1bmdzbWl0dGVsIHVuZCBrYW5uIHVucyBpbW1lciBzYWdlbiwgd2FzIGd1dCBmw7xyIGlobiBpc3QuICAKCgpHZWhlbiA6IHlheWFsYXIgacOnaW4gIGdlaGVuIGxpbmtzICAKRmFocmVuOiBhcmHDp2xhciBpw6dpbiAgZmFocmVuIGxpbmtzICAKCmFuIGRpZSAuLi5zdHJhw59lCgpkaWUgemFobnBhc3RhIHwgZGnFnyBtYWN1bnUgIAoKV2FzIHR1dCBkaXIgd2VoPyAgCldhcyB0dXQgSWhuZW4gd2VoPyAgCk1laW4gS29tcGYgdHV0IHdlaC4gfCBJY2ggaGFiZSBLb3Bmc2NobWVyemVuLiB8IE1pciB0dXQgZGVyIGtvbXBmIHdlaC4gIAoKV2FzIGZlaGx0IGRpcj8gIApXYXMgZmVobGVuIElobmVuPyAgCgoKZGVyIFdpdHplOiAgCk1laW5lIG5vc2UgbMOkdWZ0LiAgCkRhbm4gaGFsdCBzaWUgZG9jaCBmZXN0LiAgKGZlc3QgaGFsdGVuKSAgCgpkYXMgSGVpbGtyYXV0IHwgZGllIEhlaWxrcsOkdXRlciAgCmRpZSBOYXR1cm1lZGl6aW4gIAoKZ2xhdWJlbiBhbiBHb3R0ICAKZ2xhdWJlbiBhbiBOYXR1cm1lZGl6aW4gIApJY2ggZ2xhdWJlIChuaWNodCkgYW4gTmF0dXJtZWRpemluLiAgCgoKZGllIEVya8OkbHR1bmcgIApkaWUgR3JpcHBlICAKZGllIFdhcm1mbGFzY2hlIHwgc8SxY2FrIHN1IHRvcmJhc8SxICAKCkljaCBnZWhlIHdhcm1kdXNjaGVuLiB8IEljaCBkdXNjaGUgd2FybS4gfCBJY2ggbmVobWUgZWluZSB3YXJtIGR1c2NoZS4gIAoKW1dhcm1kdXNjaGVyXShodHRwczovL2RpY3QubGVvLm9yZy9nZXJtYW4tZW5nbGlzaC9XYXJtZHVzY2hlcikgfCBsb29zZXIKTWltb3NlIAoKClNjaGF1IG1hbCwgaGllciBzaW5kIGRpZSBGb3RvcyB2b24gZnLDvGhlcjoKRGEgd2FyIG1laW4gQnJ1ZGVyLCBpY2ggd2FyCnNlY2hzIHVuZCBtZWluZSBTY2h3ZXN0ZXIKd2FyIHplaG4gSmFocmUgYWx0LiBJY2ggCmhhdHRlIHNjaG9uIGVpbiBGYWhycmFkIHVuZCAKd2FyIHNlaHIgZ2zDvGNrbGljaCBtaXQgbWVpbmVtIFJhZCEgTWVpbiBCcnVkZXIgdW5kIGljaCAKd2FyZW4gaW1tZXIgZnLDtmhsaWNoIHVuZCB3aXIgendlaSAKaGF0dGVuIGltbWVyIHZpZWwgU3Bhw58uIEFiZXIgbWVpbmUgZ3Jvw59lIFNjaHdlc3RlciAKd2FyIGltbWVyIG51ciBtaXQgaWhyZW4gRnJldW5kaW5uZW4genVzYW1tZW4uIERpZSAKd2FyZW4gbmljaHQgc28gc3ltcGF0aGlzY2ggdW5kIGhhYmVuIG5pZSBtaXQgdW5zIGdlc3BpZWx0LgoKCldhcnVtIGhhc3QgZHUgZGljaCBiZWkgU2ltb24gbmljaHQgZW50c2NodWxkaWd0PyAgCkhhYmVuIFNpZSBkaWUgRS1NYWlsIHZvbiBQcm9mZXNzb3IgS2zDvGdlciBzY2hvbiBiZWtvbW1lbj8gIApXaWUgaGF0IElobmVuIGRhcyBLb256ZXJ0IGdlZmFsbGVuPyAgCldhciBkYXMgRXNzZW4gd2lya2xpY2ggc2NobGVjaHQ/IEhhc3QgZHUgZGljaCBiZXNjaHdlcnQ/ICAKSWNoIG11c3Mgbm9jaCBlaW5tYWwgaW5zIELDvHJvIGdlaGVuLiBJY2ggaGFiZSBtZWluIEhhbmR5IHZlcmdlc3Nlbi4gIApEYXMgQXV0byBoYXQgbWlyIGZyw7xoZXIgZ2Vow7ZydC4gICAKCgoKLS0tCgojIyAxOQoKLS0tCgpodHRwczovL2h1ZWJlci5kZS9zaGFyZWQvdWVidW5nZW4vbWVuc2NoZW4va2IvYTEvbGl2ZWJvb2svbDE5L2luZGV4LnBocAoKCsO8YmVyIGV0d2FzIHNwcmVjaGVuICAKCsO8YmVyIGV0d2FzIC8gVGhlbWEgLyBOYWNoYmFyaW4gLyBkYXMgQnVjaCAvIGRhcyBCaWxkIC8gTGV1dGUgc3ByZWNoZW4gIAoKU28gd2FyIFdhbHRlciBmcsO8aGVyLgoKc2VpbiArIGFkagoKMTk5MCAtPiBFciB3YXIgZGljay4gRXIgaGF0dGUga2VpbmUgQmFydC4gRXIgaGF0dGUga3VyemUgaGFhcmUuIEVyIHdhciBrbGVpbi4gIAoyMDE4IC0+IEVyIGlzIGTDvG5uLiBFciBoYXQgZWluZSBCYXJ0LiAgCgoKZGFzIEhhcnIgfCBkaWUgSGFycmUgIAoKCgpJY2ggYmluIGdlZ2FuZ2VuLiAgCkljaCBiaW4gZ2VsZXNlbi4gIApJY2ggd2FyLiB8IEljaCBiaW4gZ2V3ZXNlbi4gIApJY2ggaGF0dGUuIHwgSWNoIGhhYmUgZ2VoYWJ0LiAgCgphdXNzZWhlbiAodHJlbmJhcmUgdmVyYikgIApTaWUgc2llaHQgaMO8YnNoIGF1cy4gIApXaWUgc2llaHQgZXIgYXVzPyAgCldpZSBmaW5kZW4gU2llIGVyPyAgCgpkYXMgQXVzc2VoZW4gfCBvdXRsb29rICAKCgpOaWNodCB0cmVuYmFyZSB2ZXJiZW46ICAKYmUtICAKdmVyLSAgCmVyLSAgCmVudC0gIAptaXNzLSAgCnplci0gIAplbXAtICAKZ2UtICAKCgoKCgp2ZXJsaWVyZW4gfCB2ZXJsb3JlbiAgKHRvIGxvc2UpICAKd2VodHVuIHwgd2VoZ2V0YW4gKHRvIGh1cnQpICAKCk1laW4gQXJtIGhhdCBtaXIgd2VoZ2V0YW4uICAKCgoKCgoKKlByw6R0ZXJpdHVtIHZvbiBoYWJlbiB1bmQgc2VpbioKClNjaGF1IG1hbCwgaGllciBzaW5kIGRpZSBGb3RvcyB2b24gZnLDvGhlcjogRGEgKndhciogbWVpbiBCcnVkZXIgNCwgaWNoICp3YXIqIHNlY2hzIHVuZCBtZWluZSBTY2h3ZXN0ZXIgKndhciogemVobiBKYWhyZSBhbHQuIEljaCAqaGF0dGUqIHNjaG9uIGVpbiBGYWhycmFkIHVuZCAqd2FyKiBzZWhyIGdsw7xja2xpY2ggbWl0IG1laW5lbSBSYWQhIE1laW4gQnJ1ZGVyIHVuZCBpY2ggKndhcmVuKiBpbW1lciBmcsO2aGxpY2ggdW5kIHdpciB6d2VpICpoYXR0ZW4qIGltbWVyIHZpZWwgU3Bhw58uIEFiZXIgbWVpbmUgZ3Jvw59lIFNjaHdlc3RlciAqd2FyKiBpbW1lciBudXIgbWl0IGlocmVuIEZyZXVuZGlubmVuIHp1c2FtbWVuLiBEaWUgKndhcmVuKiBuaWNodCBzbyBzeW1wYXRoaXNjaCB1bmQgaGFiZW4gbmllIG1pdCB1bnMgZ2VzcGllbHQgCgoKKlBlcmZla3Qgdm9uIG5pY2h0IHRyZW5uYmFyZW4gVmVyYmVuKgoKCnNpY2ggZW50c2NodWxkaWdlbiAtIGdlaMO2cmVuIC0gZ2VmYWxsZW4gLSBiZXNjaHdlcmVuIC0gdmVyZ2Vzc2VuIC0gYmVrb21tZW4gIAoKCldhcnVtIGhhc3QgZHUgZGljaCBiZWkgU2ltb24gbmljaHQgZW50c2NodWxkaWd0PyAgCkhhYmVuIFNpZSBkaWUgRS1NYWlsIHZvbiBQcm9mZXNzb3IgS2zDvGdlciBzY2hvbiBiZWtvbW1lbj8gIApXaWUgaGF0IElobmVuIGRhcyBLb256ZXJ0IGdlZmFsbGVuPyAgCldhciBkYXMgRXNzZW4gd2lya2xpY2ggc2NobGVjaHQ/IEhhc3QgZHUgZGljaCBiZXNjaHdlcnQ/ICAKSWNoIG11c3Mgbm9jaCBlaW5tYWwgaW5zIELDvHJvIGdlaGVuLiBJY2ggaGFiZSBtZWluIEhhbmR5IHZlcmdlc3Nlbi4gIApEYXMgQXV0byBoYXQgbWlyIGZyw7xoZXIgZ2Vow7ZydC4gIAoKCgoKCgoKCgoKLS0tCgojIyAyMAoKLS0tCgpodHRwczovL2h1ZWJlci5kZS9zaGFyZWQvdWVidW5nZW4vbWVuc2NoZW4va2IvYTEvbGl2ZWJvb2svbDIwL2luZGV4LnBocAoKCgoqKnJ1bnRlciBYIGF1ZioqIChkb3duIFggdXApCgpydW50ZXJmYWxsZW4gIApydW50ZXJnZWhlbiBYIHJhdWZnZWhlbiAgCnJ1bnRlcnNlaGVuIFggcmF1ZnNlaGVuICAKCktvbW0gc29mdCBydW50ZXIhICAKCgoqKnJhdXMgWCByZWluKiogKG91dCBYIGluKSAgCgpyYXVzYnJpbmdlbiBYIHJlaW5icmluZ2VuICAgCgpQdXR6ZnJhdSAgCgoKCioqSW5mb3JtZWwgSW1wZXJhdGl2KioKCgpEdSBkZWNrdHMgZGVuIFRpc2NoIC0+IERlY2sgZGVuIFRpc2NoISAgCgpJaHIgZGVja3QgZGVuIFRpc2NoIC0+IERlY2t0IGRlbiBUaXNjaCEgIAoKRHUgbWFjaHN0IGRhcyBCZXR0IC0+IE1hY2ggZGFzIEJldHQhIE1hY2ggYml0dGUgZGFzIEJldHQhICAKCklociBtYWNodCBkYXMgQmV0dCAtPiBNYWNodCBkYXMgQmV0dCEgTWFjaHQgYml0dGUgZGFzIEJldHQhICAKCgp8ICoqRHUqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKipJaHIqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAKfCAtLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IC0tLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgCnwgU2NobGFmISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBTY2hsYWZ0ISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgRHUgc2NobMOkZnN0IHZpZWwgLT4gU2NobGFmIG5pY2h0IHp1L3NvIHZpZWwgICAgICAgICAgIHwgSWhyIHNjaGxhZnQgdmllbCAtPiBTY2hsYWZ0IG5pY2h0IHZpZWwgICAgfCAKfCBEdSByw6R1bXN0IGF1cyAtPiBSw6R1bSBhdXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSWhyIHLDpHVtdCBhdXMgLT4gUsOkdW10IGF1cyAgICAgICAgICAgICAgICB8IAp8IFNlaSEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU2VpZCEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8IER1IGJpc3QgZmxlacOfaWcgLT4gU2VpIGZsZWnDn2lnICAgICAgICAgICAgICAgICAgICAgICAgfCBJaHIgc2VpZCBmbGVpw59pZyAtPiBTZWlkIEZsZWnDn2lnICAgICAgICAgIHwgCnwgSGFiISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBIYWJ0ISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IAp8IEhhYiBrZWluZSBhbmdzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgSGFidCBrZWluZSBhbmdzdCAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU2VpZCBsZWlzZSBiaXR0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgU2VpZCBsb3VkIGJpdHRlICAgICAgICAgICAgICAgICAgICAgICAgICAgfAoKCgoKCgoqKkRyZWkgSW1wZXJhdGl2KiogIApEdSAgfCBJaHIgIHwgU2llICAKCgoKfCAqKmRlY2tlbioqICAgICAgICAgICAgfCAqKkltcGVyYXRpdioqICAgICB8ICAKfCAtLS0gICAgICAgICAgICAgICAgICAgfCAtLS0gICAgICAgICAgICAgICB8Cnwgfn5kZWNrZX5+ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfAp8IH5+RHV+fiBkZWNrfn5zdH5+ICAgICB8ICAgICAgRGVjayEgICAgICAgIHwKfCB+fmRlY2t+fiAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8Cnwgfn5kZWNrZW5+fiAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfAp8IH5+SWhyfn4gZGVja3QgICAgICAgICB8ICAgRGVja3QhICAgICAgICAgIHwKfCBTaWUgZGVja2VuICAgICAgICAgICAgfCBEZWNrZW4gU2llIGJpdHRlISB8CgoKRHUgZGVja3RzIGRlbiBUaXNjaCAtPiBEZWNrIGRlbiBUaXNjaCAgCklociBkZWNrdCBkZW4gVGlzY2ggLT4gRGVja3QgZGVuIFRpc2NoICAKU2llIGRlY2tlbiBkZW4gVGlzY2ggLT4gRGVja2VuIFNpZSBiaXR0ZSBkZW4gVGlzY2ggKGZvcm1lbCkgIAoKCioqc2NobGFmZW4gKHZva2FsIHdlY2hzZWwgYSAtPiDDpCkgLT4gZHUgc2NobMOkZnN0ICjDpCAtPiBhKSAtPiBzY2hsYWYqKiAgIAoKZHUgc2NobMOkZnN0IC0+IHNjaGxhZgoKCmZhaHJlbiAtPiBkdSBmw6RocnN0IC0+IGZhaHIgIAoKc3ByZWNoZW4gLT4gZHUgc2NwcmljaHN0ID4gc3ByaWNoICAKCmxlc2VuIC0+IGR1IGxpZXN0IC0+IGxpZXMgIApsZXNlbiAtPiBpaHIgbGVzdCAtPiBsZXN0ICAKCmVzc2VuIC0+IFNpZSBlc3NlbiAtPiBFc3NlbiBTaWUhICAKZXNzZW4gLT4gaWhyIGVzc3QgLT4gRXNzdCEgIAplc3NlbiAtPiBEdSBpc3N0IC0+IElzcyEgIAoKYXVzcsOkdW1lbiAtPiBkdSByw6R1bXN0IGF1cyAtPiBSw6R1bSBhdXMhICAKc2NobGFmZW4gLT4gRHUgc2NobMOkZnN0IC0+IFNjaGxhZiEgIAp2ZXJnZXNzZW4gLT4gdmVyZ2lzc3QgLT4gdmVyZ2lzcyAgCgpzdGlsbCBzZWluID0gbGVpc2UgIAphdWZwYXNzZW4gLT4gUGFzcyBhdWYhICAKYXVmcGFzc2VuIC0+IFBhc3N0IGF1ZiEKCkdlZHVsZCBoYWJlbiAocGF0aWVuY2UpICAKCgoKKip0cmVmZmVuICsgV2VuIGFra3VzYXRpdioqICAKCkljaCBoYWJlIG1laW5lbiBWYXRlciBnZXRyb2ZmZW4uICAKSWNoIGhhYmUgbWVpbmUgTXV0dGVyIGdldHJvZmZlbi4gIApJY2ggaGFiZSBlaW5lbiBGcmV1bmQgZ2V0cm9mZmVuLiAgCgpJY2ggdHJlZmZlIGVpbiBGcmV1bmQuICAKSWNoIGhhYmUgQWxpIGdldHJvZmZlbi4gIAoKCgpBbGV4IHB1dHp0IGRhcyBCYWQuICAKRXIgcHV0enQgZXMuICAKClN1YmogKyBWZXJiICsgQWtrIE9iaiAgCgpTYXJhIHJ1ZnQgUGV0ZXIgYW4uICAKU2llIHJ1ZnQgaWhuIGFuLiAgCgoKVmVyZ2lzcyBlcy4gIAoKZ8O8bnN0aWcgLyBiaWxsaWcgWCB0ZXVlciAgCmZyZWl3aWxsaWcgWCB1bmZyZWl3aWxsaWcgIAoKCgoKKldhcyBzb2xsZW4gQ2FybGEgdW5kIFRpbSBpbSBIYXVzaGFsdCBtYWNoZW4/KiAgCgpUaW0sICpyZXBhcmllciogYml0dGUgQ2FybGFzIEZhaHJyYWQhICAKKkJyaW5nKiBkZW4gQWJmYWxsICpyYXVzKi4gIApDYXJsYSwgKnLDpHVtKiBiaXR0ZSB1bmJlZGluZ3QgZGVpbiBaaW1tZXIgKmF1ZiogIAoqV2FzY2gqIGJpdHRlIGRpZSBXw6RzY2hlISAgClRpbSB1bmQgQ2FybGEsICpQdXR6dCogYml0dGUgZGllIEZlbnN0ZXIgaW4gZGVyIEvDvGNoZSEgIAoqR2VodCogenVzYW1tZW4gZWlua2F1ZmVuISBVbmQgKnNjaGlja3QqIG1pciBtYWwgZWluZSBFLU1haWwuICAKSWNoIHZlcm1pc3NlIGV1Y2ggc2Nob24gamV0enQhICAgCkV1cmUgTWFtYSAgCgp8IEltcGVyYXRpdiAgICAgfCBkdSAgICAgICAgICAgIHwgaWhyICAgICAgICAgICB8CnwgLS0tICAgICAgICAgICB8IC0tLSAgICAgICAgICAgfCAtLS0gICAgICAgICAgIHwKfCBnZWhlbiAgICAgICAgIHwgR2VoICAgICAgICAgICB8IEdlaHQgICAgICAgICAgfAp8IHNjaGlja2VuICAgICAgfCBTY2hpY2sgICAgICAgIHwgU2NoaWNrdCAgICAgICB8CnwgcmVwYXJpZXJlbiAgICB8IHJlcGFyaWVyICAgICAgfCByZXBhcmllcnQgICAgIHwKfCByYXVzYnJpbmdlbiAgIHwgYnJpbmcgcmF1cyAgICB8IGJyaW5ndCByYXVzICAgfAp8IHB1dHplbiAgICAgICAgfCBwdXR6ICAgICAgICAgIHwgcHV0enQgICAgICAgICB8CnwgYXVmcsOkdW1lbiAgICAgfCByw6R1bSBhdWYgICAgICB8IHLDpHVtdCBhdWYgICAgIHwKfCB3YXNjaGVuICAgICAgIHwgd2FzY2ggICAgICAgICB8IHdhc2NodCAgICAgICAgfAoKCioqUGVyc29uYWxwcm9ub21lbiBpbSBBa2t1c2F0aXYqKgoKLSAqRGllIFTDvHIqIGlzdCBhdWYuIEthbm5zdCBkdSAqc2llKiBiaXR0ZSB6dW1hY2hlbj8gIAotIEphIGdlcm5lLiAgCgotIFN1c2FubmUgdW5kIFBldGVyLCBoYWJ0ICppaHIqIGFtIFNhbXN0YWcgWmVpdD8gSWNoIG3DtmNodGUgKmV1Y2gqIHp1bSBFc3NlbiBlaW5sYWRlbi4gIAoKLSBXbyBpc3QgKkRvbWluaWsqPyBJY2ggaGFiZSAqaWhuKiBuaWNodCBnZXNlaGVuLiAgCi0gKkVyKiBpc3QgYmVpIE1heC4gIAoKLSBXYW5uIGtvbW10ICppaHIqPwotIFVtIDEzLjM0IFVoci5LYW5uc3QgZHUgKnVucyogYml0dGUgYWJob2xlbj8gIAoKLSBEaWUgVmVyYmluZHVuZyBpc3Qgc28gc2NobGVjaHQsICpEYW5pZWwqLiBJY2gga2FubiAqZGljaCogbmljaHQgaMO2cmVuLiAgCgotICpEZWluZSBFbHRlcm4qIGhhYmVuIGFuZ2VydWZlbi4KLSBXaXJrbGljaD8gSWNoIHJ1ZmUgKnNpZSogZ2xlaWNoIHp1csO8Y2suICAKCgoKKipQZXJzb25hbHByb25vbWVuKioKCgp8ICpOb21pbmF0aXYqICAgfCAqQWtrdXNhdGl2KiAgIHwKfCAtLS0gICAgICAgICAgIHwgLS0tICAgICAgICAgICB8CnwgSWNoICAgICAgICAgICB8IG1pY2ggICAgICAgICAgfAp8IGR1ICAgICAgICAgICAgfCBkaWNoICAgICAgICAgIHwKfCBlciAgICAgICAgICAgIHwgaWhuICAgICAgICAgICB8Cnwgc2llICAgICAgICAgICB8IHNpZSAgICAgICAgICAgfAp8IGVzICAgICAgICAgICAgfCBlcyAgICAgICAgICAgIHwKfCB3aXIgICAgICAgICAgIHwgdW5zICAgICAgICAgICB8CnwgaWhyICAgICAgICAgICB8IGV1Y2ggICAgICAgICAgfAp8IHNpZSAvIFNpZSAgICAgfCBzaWUgLyBTaWUgICAgIHwKCgoKSGFsbG8gLi4uLi4sICAKZGVpbiBBbmdlYm90IGZpbmRlIGljaCB0b2xsLiBJY2ggaGVpw59lIEdlcnQsIGJpbiAyNyBKYWhyZSBhbHQgdW5kIHN0dWRpZXJlIEFyY2hpdGVrdHVyLiBVbmQgaWNoIGJpbiAobmljaHQvc2Vocikgb3JkZW50bGljaCB1bmQgcHV0emUgKG9mdC9zZWx0ZW4pIHVuZCAoZ3LDvG5kbGljaC8gb2JlcmZsw6RjaGxpY2gpLiBJY2gga29jaGUgd2FobnNpbm5pZyBnZXJuLiBEZWluIHBlcmZla3RlciBNaXRiZXdvaG5lciBhbHNvISAgIApJY2ggZnJldWUgbWljaCBzY2hvbiBhdWYgRGVpbmUgQW50d29ydC4gIApMaWViZSBHcsO8w59lICAKCgoKTGllYmUgLi4uLCAgCmRlaW5lIFdvaG51bmcgaXN0IGltIFplbnRydW0gdW5kIHNpZWh0IHNlaHIgZ3V0LiBEYXMgWmltbWVyIGdlZsOkbGx0IG1pci4gIApJY2ggaGVpw59lIFNlcmRhciB1bmQgYmluIDM4IEphaHJlIGFsdC4gRsO8ciBzZWNocyBNb25hdGUgaW4gQW5rYXJhIG3DtmNodGUgSWNoIGVpbiBBdXNiaWxkdW5nIG1hY2hlbi4gIApJY2gga2FubiBuaWNodCBrb2NoZW4gZ3V0IGFiZXIgaWNoIGthbm4gZGllIFNww7xsbWFzY2hpbmUgZWluIHVuZCBhdXNyw6R1bWVuLiBJY2ggcHV0emUgZGllIEvDvGNoZSBnZXJuLCBpY2ggc3RhdWJzYXVnZSB1bmQgd2lzY2hlIGRlbiBCb2Rlbi4gIApJY2ggYmluIHNlaHIgb3JkZW50bGljaCB1bmQgbGVpc2UuICAKSWNoIGZyZXVlIG1pY2ggc2Nob24gYXVmIERlaW5lIEFudHdvcnQuICAKVmllbGUgR3LDvMOfZQoKCgoKCgotLS0KCioqSGFiIGtlaW5lIGFuZ3N0ISoqCgo8c2NyaXB0IGFzeW5jIHNyYz0iaHR0cHM6Ly9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzLmpzIiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3JpcHQ+PGJsb2NrcXVvdGUgY2xhc3M9InR3aXR0ZXItdHdlZXQiIGRhdGEtbGFuZz0iZW4iPjxwIGxhbmc9InRyIiBkaXI9Imx0ciI+TWljaGFlbCBFbmRlJiMzOTtuaW4gw7Zsw7xtIHnEsWwgZMO2bsO8bcO8IGJ1Z8O8biAoMTk5NSkuPGJyPiZxdW90O0JpdG1leWVjZWsgw5Z5a8O8JnF1b3Q7IHZlICZxdW90O01vbW8mcXVvdDsgZ2liaSBoYXJpa3VsYWRlIHJvbWFubGFyIHlhemTEsS4gPGJyPjxicj5NZXphcsSxIG9sZHVrw6dhIGRpa2thdCDDp2VraWNpLiBLYXBsdW1iYcSfYSDFn2VrbGluZGVraSBtZXphciB0YcWfxLEgZGV0YXnEsW5kYSDFn3UgeWF6xLF5b3I6ICZxdW90O0theWfEsWxhbm1hbmEgZ2VyZWsgeW9rJnF1b3Q7LiA8YSBocmVmPSJodHRwczovL3QuY28vc3FwaElTWHo1aiI+cGljLnR3aXR0ZXIuY29tL3NxcGhJU1h6NWo8L2E+PC9wPiZtZGFzaDsgS2FhbiBILiDDlmt0ZW4gKEBLYWFuX0hfT2t0ZW4pIDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vS2Fhbl9IX09rdGVuL3N0YXR1cy8xMDM0Mjk4MzM5OTU5OTU1NDU2P3JlZl9zcmM9dHdzcmMlNUV0ZnciPkF1Z3VzdCAyOCwgMjAxODwvYT48L2Jsb2NrcXVvdGU+CgoKLS0tCgoKCgoKCgoKCi0tLQoKIyMgMjEKCi0tLQoKaHR0cHM6Ly9odWViZXIuZGUvc2hhcmVkL3VlYnVuZ2VuL21lbnNjaGVuL2tiL2ExL2xpdmVib29rL2wyMS9pbmRleC5waHAKCgoqKmVybGF1YnQgWCB2ZXJiYXRlbioqIChpemlubGkgWCB5YXNhaykKCgpodXBlbiAoa29ybmEpCgoKZGVyIEZ1w59nw6RuZ2VyIHwgZGllIEZ1w59nYW5nZXIgIApkZXIgRmFocnJhZGZhaHJlbiB8IGRpZSBGYWhycmFkZmFocmVuICAKZGVyIFN0cmHDn2VudmVya2VociB8IGRpZSBTdHJhw59lbnZlcmtlaHIgIApkaWUgQW1wZWwgfCBkaWUgQW1wZWxuICAKZGVyIELDvHJnZXJzdGVpZyB8IGRpZSBCw7xyZ2Vyc3RlaWcgIAoKenUgRnXDnyBnZWhlbiAgCgpBbHMgQXV0b2ZhaHJlciBmYWhyZSBpY2ggaW1tZXIgYmVpIEdyw7xuIMO8YmVyIGRpZSBBbXBlbC4gIApadSBGdcOfIGdlaGUgaW1tZXIgLyBuaWUgYmVpIFJvdCDDvGJlciBkaWUgQW1wZWwuICAKCk1pdCBkZW0gQXV0byBmYWhyZSBpY2ggLi4uICAgCk1pdCBkZW0gRmFocnJhZCBmYWhyZSBpY2ggbmllIGJlaSBSb3Qgw7xiZXIgZGllIEFtcGVsLiAgCgoKQmVpIGdyw7xuIGluIEFtcGVsIGdlaGVuIGlzdCBlcmxhdWJ0LiAgCgpEaWUgS2luZGVyIGhpZXIgc3BpZWx0IGFuIGRlciBTdHJhw59lLiAgCkRpZSBLaW5kZXIgZGFyZiBhYmVyIG5pY2h0IG5lYmVuIGRlciBTdHJhw59lIHNwaWVsZW4uICAKRGllIEVsdGVybiBtdXNzIGF1ZiBLaW5kZXIgYWNodGVuLiAgCgpEaWUgZmFtaWxpZSBoaWVyIGdyaWxsZW4uICAKTWFuIGRhcmYgbmljaHQgZ3JpbGxlbiBpbiBkZW4gUGFyay4gIApNYW4gZGFyZiBpbSBQb29sIG5pY2h0IFdhc3NlciB0cmlua2VuLiAgCgoKKipEZXIgQW1wZWxtYW5uKioKCmllIFJlZ2VsbiBmw7xyIEFtcGVsbiBzaW5kIGVpbmZhY2guIEJlaSBSb3QgbcO8c3NlbiBTaWUgc3RlaGVuIGJsZWliZW4sIGJlaSBHcsO8biBkw7xyZmVuIFNpZSBnZWhlbi4gIApBdXRvZmFocmVyIHVuZCBGYWhycmFkZmFocmVyIG3DvHNzZW4gYXVmIEFtcGVsbiBhY2h0ZW4gLSB1bmQgbmF0w7xybGljaCBhdWNoIGF1ZiBGdcOfZ8Okbmdlci4gICAKRGllIEFtcGVsbiBmw7xyIEZ1w59nw6RuZ2VyIHNlaGVuIGFiZXIgYmVzb25kZXJzIGF1czogIApTaWUgaGFiZW4gZWluZW4gIkFtcGVsbWFubiIuIERpZXNlciBBbXBlbG1hbm4gaXN0IGluIERldXRzY2hsYW5kIHNlaHIgYmVrYW5udC4gRXMgZ2lidCBpaG4gc2VpdCAxOTYxLCBlciBpc3QgYWxzbyDDvGJlciA1MCBKYWhyZSBhbHQuICAgIApWaWVsZSBMw6RuZGVyIGhhYmVuIGVpbmVuIEFtcGVsbWFubi4gU2llIHNlaGVuIHZlcnNjaGllZGVuIGF1cy4gIApNYW5jaG1hbCBpc3QgZXIgZGljayBvZGVyIGTDvG5uLCBtYW5jaG1hbCBzY2hpZWJ0IGVyIGVpbiBGYWhycmFkIG9kZXIgdHLDpGd0IGVpbmVuIEh1dCwgdW5kIG1hbmNobWFsIGdpYnQgZXMgYXVjaCBlaW5lIEFtcGVsZnJhdS4gIAoKCipNb2RlbHZlcmJlbioKCmvDtm5uZW4gLSB3b2xsZW4gLSBzb2xsZW4gLSBkw7xyZmVuIC0gbcO8c3NlbgoKV2lyICptw7xzc2VuKiBmcsO8aCBhdWZzdGVoZW4uIERpZSBQcsO8ZnVuZyBmw6RuZ3Qgc2Nob24gdW0gNy4wMCBVaHIgYW4uICAKSWNoICprYW5uKiBoZXV0ZSBsZWlkZXIgbmljaHQga29tbWVuLiAqS8O2bm5lbiogd2lyIGRlbiBUZXJtaW4gdmVyc2NoaWViZW4/ICAKU2FyYSAqd2lsbCogdW5iZWRpbmd0IGlocmVuIEbDvGhyZXJzY2hlaW4gbWFjaGVuLCBhYmVyIHNpZSAqZGFyZiogbm9jaCBuaWNodC4gU2llIGlzdCBlcnN0IDE2LiAgCkR1ICptdXNzdCogbm9jaCBhYndhc2NoZW4uIEhldXRlIEFiZW5kIGhhYmVuIHdpciBHw6RzdGUuICAKRGllIMOEcnp0aW4gc2FndCwgaWNoICpzb2xsKiB2aWVsIHNjaGxhZmVuLCBhYmVyIGljaCAqd2lsbCogdGFuemVuIGdlaGVuLgoKCi0gKkthbm5zdCogZHUgVGVubmlzIHNwaWVsZW4/ICAKLSBKYSwgYWJlciBpY2ggKmRhcmYqIGltIE1vbWVudCBuaWNodCBzcGllbGVuLiBJY2ggaGFiZSBQcm9ibGVtZSBtaXQgbWVpbmVtIFLDvGNrZW4uICAKCi0gKldpbGxzdCogZHUgaGV1dGUgbWl0IG1pciBGdcOfYmFsbCBzcGllbGVuPyAgCi0gTmVpbiwgaWNoIGhhYmUgbGVpZGVyIGtlaW5lIFplaXQuIEljaCAqbXVzcyogYXJiZWl0ZW4uICAKCi0gRGVyIERva3RvciBzYWd0LCBkdSAqc29sbHN0KiB2aWVsIHRyaW5rZW4uICAgCi0gSWNoIGhhYmUgYWJlciBrZWluZW4gRHVyc3QuICAKCi0gKkRhcmYqIGljaCBoaWVyIHJhdWNoZW4/ICAKLSBOZWluLCB0dXQgbWlyIExlaWQuIERhcyBpc3QgaGllciBuaWNodCBlcmxhdWJ0LiAgCgotIEljaCAqbXVzcyogaGV1dGUgbm9jaCBIYXVzYXVmZ2FiZW4gbWFjaGVuLiAqS2FubnN0KiBkdSBtaXIgaGVsZmVuPyAgIAotIEphLCBrZWluIFByb2JsZW0uICAKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKLS0tCgojIyAyMgoKLS0tCgpodHRwczovL2h1ZWJlci5kZS9zaGFyZWQvdWVidW5nZW4vbWVuc2NoZW4va2IvYTEvbGl2ZWJvb2svbDIyL2luZGV4LnBocAoKCnZlcnLDvGNodCAoY3JhenkpICAKYnVudCAoY29sb3JmdWwpICAKCk1vdHRvcGFydHkgKCkKCgphbmhhYmVuIC0+IFdhcyBoYXQgRmFiaWFuIGFuPyAgCnRyYWd0ICAgLT4gV2FzIHRyw6RndCBGYWJpYW4/ICAKCiphbmhhYmVuICsgQWtrdXNhdGl2KiAgIAoKKnRyYWdlbiArIGluZmluaXRpdiogIAoKCkVyIHRyw6RndCBlaW5lIEhvc2UuIERpZSBIb3NlIGlzdCBrdXJ6LiAgCgpXYXMgaGF0IG3DpGRjaGVuIGxpbmtzIG5lYmVuIC8gdm9uIGlobT8gIAoKCkljaCBmaW5kZSBkYXMgVC1zaGlydCBiZXNzZXIgYWxzIC4uLiAgCkljaCBmaW5kZSBBbGlzIGJyaWxsZXIgYmVzc2VyIGFscyBWZWxpcyAoYnJpbGxlKS4gIAoKClJlZ2VsOiBnZW5hdXNvICsgQWRqZWt0aXYgKyB3aWUgIAorKyAgLT4gKysgIAorICAgLT4gKwoKSmFuYXMgSG9zZSBnZWbDpGxsdCBtaXIgZ2VuYXVzbyBndXQgd2llIGlocmUgQmx1c2UuICAKSmFuYXMgSG9zZSAoTm9taW5hdGl2KSBnZWbDpGxsdCBtaXIgKERhdGl2KSBnZW5hdXNvIGd1dCB3aWUgaWhyZSBCbHVzZSAoTm9taW5hdGl2KS4gIAoKSWNoIG1hZyBQaXp6YSBnZW5hdXNvIGdlcm4gd2llIFNwaGFnZXR0aS4gIAoKClJlZ2VsOiBLb21wZXJhdGl2ICsgYWxzICAKKysgIC0+ICsgIAoKCkljaCBmaW5kZSBGYWJpYW5zIEhhc2UgYmVzc2VyIGFscyBzZWluIEhlbWQuICAKSWNoIG1hZyBUZWUgbGllYmVyIGFscyBLYWZmZWUuICAKCldlbiArIEFrawoKCioqZ3V0IGdlZmFsbGVuKiogIAoqKmd1dCBmaW5kZW4qKiAgCioqZ2VybiBtw7ZnZW4qKiAgCgoKCgpJY2ggZmluZGUgSGFycnlzIEtvc3TDvG0gYmVzc2VyIGFscyBGYWJpYW5zIChLb3N0w7xtKS4gIApWZXJhcyBLbGVpZCBnZWbDpGxsdCBtaXIgYmVzc2VyIGFscyBKYXNtaW5zLiAgCkljaCBtYWcgbGlsYSBnZW5hdXNvIGdlcm4gd2llIHJvc2EuICAKCnwgSWNoIHwgZmluZGUgfCBGYWJpYW5zIEtvc3TDvG0gfCBndXQuIHwKfCAtLS0gfCAtLS0gfCAtLS0gfCAtLS0gfCAKfCBTdWJqIE5vbWluYXRpdiB8IFZlcmIgUG9zIDIgfCBBa2sgT2JqIHwgfAoKCkZhYmlhbnMgS29zdMO8bSBnZWbDpGxsdCBtaXIuICAKKFN1YiBOb21pbmF0aXYgV2VyPyArIFZlcmIgKyBEYXRpdikgIAoKSWNoIG1hZyBGYWJpYW5zIEtvc3TDvG0uICAKKFN1YmogKyBWZXJiICsgQWtrIE9iaikgIAoKCgoqS29tcGFyYXRpdiB1bmQgU3VwZXJsYXRpdiogIAoKUGV0ZXJzIEhhdXMgaXN0ICpncsO2w59lciBhbHMqIEthaXMgSGF1cywgYWJlciAqYW0gZ3LDtsOfdGVuKiBpc3QgUGF1bHMgSGF1cy4gIApQZXRlcnMgSGF1cyBpc3QgKmtsZWluZXIgYWxzKiBQYXVscyBIYXVzLiBBbSAqa2xlaW5zdGVuKiBpc3QgS2FpcyBIYXVzLiAgCkthaXMgSGF1cyBpc3QgKmFtIMOkbHRlc3RlbiouIFBhdWxzIEhhdXMgaXN0ICphbSBtb2Rlcm5zdGVuKi4gIApQYXVscyBIYXVzIGtvc3RldCAqdmllbCouICpBbSBiaWxsaWdzdGVuKiBpc3QgS2FpcyBIYXVzLiAgCkluIEthaXMgR2FydGVuIGdpYnQgZXMgKm1laHIqIELDpHVtZSAqYWxzKiBpbiBQYXVscyBHYXJ0ZW4uIEthaXMgR2FydGVuIGlzdCAqdmllbCBzY2jDtm5lciogIAoKCgpEZXIgSHV0IGdlZsOkbGx0IG1pciBiZXNzZXIgYWxzIGRpZSBNw7x0emUuICAgIApTY2hhdSBtYWwsIGRpZSBCbHVzZSBrb3N0ZXQgZ2VuYXVzbyB2aWVsIHdpZSBkYXMgVC1TaGlydC4gIApEaWUgSmFja2UgZmluZGUgaWNoIHNjaMO2bmVyIGFscyBkZW4gTWFudGVsLiAgCkRpZSBIb3NlIGZpbmRlIGljaCBuaWNodCBzY2jDtm4uIE5pbW0gZG9jaCBkaWUgSmVhbnMgaGllci4gRGllIGZpbmRlIGljaCB2aWVsIGJlc3NlciBhbHMgZGllIEhvc2UuICAKSWNoIG1hZyBULVNoaXJ0cyBnZW5hdXNvIGdlcm4gd2llIEJsdXNlbi4gIAoKCgotbmFjaCBzLSwgZC0gdC0sIHNzLSAsIMOfLSwgc2NoLSwgcy0sIHotCgotZXN0ZW4gZ3LDtsOfdGVuCgpJc3QgTlkgc28gZ3Jvw58gd2llIEhvbmdrb25nPwoKLU5laW4gLE5ZIGlzdCBuaWNodCBzbyBncm/DnyB3aWUgSEsuCgpISyBoYXQgYWJlciBtZWhlciBFaW53b2huZXIgYWxzIEhLLgoKSEsgaGF0IHdlbmlnZXIgRWlud29obmVyIGFscyBOWS4KCgoKZHVua2VsLWR1bmtsZXItYW0gZHVuZWxzdGVuCgpsYW5nIC0gbMOkbmdlciAtIGFtIGzDpG5nc3RlbgoKZ3V0IC0gYmVzc2VyIC0gYW0gYmVzdGVuCgpob2NoIC0gaMO2aGVyIC0gYW0gaMO2Y2hzdGVuCgp0ZXVlciAtIHRldXJlci1hbSB0ZXVlcnN0ZW4KCnNjaG5lbGwtc2NobmVsbGVyLWFtIHNjaG5lbGxzdGVuCgp2aWVsLW1laHItYW0gbWVpc3RlbgoKZ2Vybi1saWViZXItbGllYnN0ZW4KCi0tLQoKIyMgMjMKCi0tLQoKaHR0cHM6Ly9odWViZXIuZGUvc2hhcmVkL3VlYnVuZ2VuL21lbnNjaGVuL2tiL2ExL2xpdmVib29rL2wyMy9pbmRleC5waHAKCgoKCgotIE5hdGFzY2hhIHVuZCBFbGxhIHNpbmdlbiB1bmQgc2NocmVpYmVuIExpZWRlci4gICAKLSBTaWUgd8O8cmRlbiBnZXJuIGVpbmUgQ0QgbWFjaGVuLiAgCiAgCi0gS2xhdXMgaGF0IGtlaW4gQXV0by4JCi0gQWJlciBlciB3w7xyZGUgZ2VybiBkZW4gRsO8aHJlcnNjaGVpbiBtYWNoZW4uICAKCgotIE1laW5lIFRvY2h0ZXIgZsOkaHJ0IGdlcm4gTW90b3JyYWQuCQotIEljaCB3w7xyZGUgaWhyIGdlcm4gZWluIE1vdG9ycmFkIHNjaGVua2VuLiAgCgoKLSBBbSBGcmVpdGFnIHNwaWVsdCB1bnNlcmUgTGllYmxpbmdzYmFuZCBpbiBCZXJsaW4gdW5kIGVzIGdpYnQga2VpbmUgVGlja2V0cyBtZWhyLiAgCi0gV2llIHNjaGFkZSEgV2lyIHfDvHJkZW4gZ2VybiB6dW0gS29uemVydCBnZWhlbi4gIAoKCi0gSWNoIHdhciBub2NoIG5pZSBpbiBEZXV0c2NobGFuZC4gIAotIEljaCB3w7xyZGUgZ2VybiBCZXJsaW4gYmVzdWNoZW4uICAKCgoKKlplaXRwcsOkcG9zaXRpb25lbioKCipBbSogTWl0dHdvY2ggaGF0IElzYWJlbGxhIFByw7xmdW5nLiBXaXIgdHJlZmZlbiB1bnMgKnVtKiAxNy4wMCB2b3IgZGVyIFNjaHVsZSB1bmQgd29sbGVuIGlociBncmF0dWxpZXJlbi4KCkZyYXUgU3Rlcm4gaGF0ICphbSogMTcuIEF1Z3VzdCBHZWJ1cnRzdGFnLiAqVm9uKiAxNS4wMCBVaHIgKmJpcyogMTYuMDAgVWhyIGdpYnQgZXMgS2FmZmVlIHVuZCBLdWNoZW4gaW4gaWhyZW0gQsO8cm8uCgoqaW0qIEp1bGkgaGF0IEhlcnIgQmVsbG1hbm4gVXJsYXViLCAqdm9tKiA1LiBKdWxpICpiaXMqIHp1bSAxOS4gSnVsaSAKCipuYWNoKiBkZW0gVXJsYXViIHppZWh0IGVyIGRhbm4gbWl0IHNlaW5lciBGYW1pbGllIHVtLgoKKmluKiB2aWVyIFdvY2hlbiBpc3Qgc2Nob24gd2llZGVyIFdlaWhuYWNodGVuLiBVbmQgaWNoIGhhYmUgbm9jaCBrZWluZSBHZXNjaGVua2UuCiAKKmFiKiBNb250YWcgYmluIGljaCAqZsO8ciogZHJlaSBXb2NoZW4gaW0gVXJsYXViLgoKCgoKQW5yZWRlIOKAkyBMaWViZSAuLi4gKHdlaWJsaWNoKS8gTGllYmVyIC4uLiAobcOkbm5saWNoKSwgQnJpZWZhbmZhbmcg4oCTIGljaCBmcmV1ZSBtaWNoIHNlaHIgYXVmIGRpZSBFaW5sYWR1bmcgenVtIGRlaW5lciBHZWJ1cnRzdGFnc3BhcnR5LiBIZXJ6bGljaGVuIEdsw7xja3d1bnNjaCEsIEJyaWVmdGV4dCAg4oCTIEljaCBow6R0dGUgaGllciBlaW5lIEZyYWdlOiBTb2xsIGljaCBldHdhcyBtaXRicmluZ2VuPywgQnJpZWZzY2hsdXNzIOKAkyBMaWViZS8gVmllbGUvIEhlcnpsaWNoZSBHcsO8w59lLCBVbnRlcnNjaHJpZnQg4oCTIE5hbWUgZGVzIEFic2VuZGVycwoKCgoKCgpTaWUgYmVrb21tZW4gZWluZSBFaW5sYWR1bmcgdm9uIEpvc2ggV2VsbGVyIGF1cyBkZW0gRmFjaHNjaGFmdHNyYXQgYW4gSWhyZXIgVW5pdmVyc2l0w6R0LgoKTGVzZW4gU2llIGRpZSBFaW5sYWR1bmcgdW5kIHNjaHJlaWJlbiBTaWUgZWluZSBBbnR3b3J0LgoKQmllbGVmZWxkLCAxNSBKdW5pIDIwMTMKCkxpZWJlIFN0dWRlbnRpbm5lbiB1bmQgU3R1ZGVudGVuICwKCmFtIDI4LiBKdWxpIHdvbGxlbiB3aXIgZGFzIFNlbWVzdGVyZW5kZSBmZWllcm4uCgpXaWUgamVkZXMgSmFociB3b2xsZW4gd2lyIGVpbiBQaWNrbmljayBtYWNoZW4gdW5kIG5hdMO8cmxpY2ggdmllbCBTcGHDnyBoYWJlbi4gRGllc2VzIEphaHIgaGFiZW4gd2lyIGF1Y2ggZWluIFByb2dyYW1tIHZvcmJlcmVpdGV0LiAKCldpciBmcmV1ZW4gdW5zIHNjaG9uIHNlaHIhCgpXaXIgdHJlZmZlbiB1bnMgdW0gMTAuMDAgVWhyIGFtIEhhdXB0YmFobmhvZiB1bmQgZmFocmVuIG1pdCBCdXNzZW4gYW4gZGVuIEthbG1iYWNoZXIgU2VlLiBNYWNodCBpaHIgYXVjaCBkaWVzZXMgSmFociBtaXQ/IApCaXR0ZSBnZWJ0IHVucyBiaXMgenVtIDMwLiBKdW5pIEJlc2NoZWlkLgoKVmllbGUgR3LDvMOfZQoKSm9zaCBXZWxsZXIKClNjaHJlaWJlbiBTaWUgZWluZW4gVGV4dCB2b24gNTAgV8O2cnRlciB6dSBkZW4gZHJlaSBQdW5rdGVuLgoKLSBEYW5rZW4gU2llIGbDvHIgZGllIEVpbmxhZHVuZy4KCi0gU2FnZW4gU2llOiBTaWUga29tbWVuIGdlcm4genVtIEZlc3QuCgotIEZyYWdlbiBTaWU6IFNvbGxlbiBTaWUgZXR3YXMgbWl0YnJpbmdlbj8KClRpcHA6IApTaWUgbcO2Y2h0ZW4gZWluZW4gQnJpZWYgc2NocmVpYmVuLiBXYXMgaXN0IGJlc29uZGVycyB3aWNodGlnPwotIFZlcmdlc3NlbiBTaWUgbmljaHQgZGFzIERhdHVtLCBkaWUgQW5yZWRlIHVuZCBkZW4gR3J1w58uCi0gw5xiZXJsZWdlbiBTaWUgdm9yIGRlbSBTY2hyZWliZW46IEtlbm5lIGljaCBkaWUgUGVyc29uIGd1dD8gU29sbCBpY2ggImR1IiBvZGVyICJTaWUiIHNhZ2VuPwotIFNjaHJlaWJlbiBTaWUgenUgamVkZW0gUHVua3QgMS0yIFPDpHR6ZS4KCgpKYWhyZXN6ZWl0ZW4KCgpJbnMgV2Fzc2VyIGdlZmFsbGVuID8KCiBQZsO8dHplLG4KIFdvaG5tb2JpbAogZGVyIFdvaG53YWdlbgogZGFzIFplbHQKIGRhcyBXZXR0ZXIKIHVubcO2Z2xpY2gKIGNhbXBlbgogemVsdGVuCiAKIGRpZSBTb25uZQogZGVyIFNjaG5lZSAKIGRlciBSZWdlbiAKIGRpZSBXb2xrZQogZGVyIFdpbmQgCiBkZXIgTmViZWwgCiBkYXMgR2V3aXR0ZXIgCiBEZXIgRG9ubmVyCiBkZXIgQmxpdHoKIGRlciBTdHVybS4tc3TDvHJtaWcKIGRlciBHcnVuZCwnZQogCiBTw7xkdGlyb2wKIHp3ZWkgR3JhZAogbmljaHQgd2VpdCBnZW51ZwogSGF1c2RhY2gKIFp1bSBHbMO8Y2sgaGFiZW4gd2lyIG5vY2ggYW0gc2VsYmVuIFRhZwogc2VsYmVuIFRhZyA9IGdlbGljaGVuIFRhZwogR2zDvGNrIFggUGVjaAogYnJhdWNoYmFyZW4KIGZhcmJsb3MKIFRyYXVtd2V0dGVyCiBTY2h3YXJ6d2FsZAogCiBEZXIgTm9yZGVuCiBEZXIgV2VzdGVuCiBEZXIgU8O8ZGVuCiBkZXIgT3N0ZW4KIAogTmllbWFscyBvaG5lIHNlaWZlIHdhc2NoZW4hIQogCiB3b2xrZW5sb3MKIGFyYmVpdGxvcwogCiBXaXIgaGF0dGVuIEx1c3QgYXVmIEZyw7xobGluZy4KIAogV2llIGlzdCBkYXMgV2V0dGVyID8gZGVyIFdpbnRlciBkZXIgSGVyYnN0IERlciBTb21tZXIgRGVyIEZyw7xobGlnCiAKIEVzIFJlZ25ldC4tLS1kZXIgUmVnZW4KIEVzIHNjaG5laXQuLS0tZGFzIFNjaG5lZQogRXMgaXN0IHNvbm5pZy4tLWRpZSBTb25uZQogRXMgaXN0IHdpbmRpZy4tLWRlciBXaW5kCiBFcyBpc3QgYmV3w7Zsa3QuLS1kaWUgV29sa2UKIEVzIGlzdCBuZWJsaWcuLS1kZXIgTmViZWwKIEVzIGRvbm5lcnQgdW4gYmxpdHp0Li4tLWRhcyBHZXdpdHRlcgogCiAKIEVzIGlzdCB3YXJtIEVzIHNpbmQgMjUgR3JhZC4KIAogRXMgaXN0IGthbHQuRXMgc2luZCBtaW51cyAtMiBHcmFkLgogCiBFcyBpc3Qga8O8aGwuRXMgc2luZCBwbHVzICsgOCBHcmFkLgoKSW4gSGVyYnN0IGlzdCBlcyBrYWx0LiB8fCBJbSBIZXJic3QgaXN0IGVzIGvDvGhsLgoKICAgICAgICAgICAgICAgICAgICAgICAgICBJbSBGcsO8Z2xpZyByZWduZXQgZXMuCgpVbnNlciBaaWVsIHdhciBTw7xkdGlyb2wsZGVubiBkb3J0IGlzdCBlcyBpbSBNw6RyeiBzY2hvbiBvZnQgc2VociB3YXJtLgpMZWlkZXIgd2FyZW4gd2lyIG51ciBlaW4gcGFhciBkZW5uIGRhbm4gaXN0IGQgVW53ZXR0ZXIgZ2Vrb21tZW4uCkVzIHdhciBwZXJmZWt0LGRlbm4gd2lyIGhhdHRlbiBlaW4gVHJhdW13ZXR0ZXIuCk7DpGNoc3RlcyBKYWhyIGZhaHJlbiB3aXIgbGllYmVyIGFucyBNaXR0ZWxtZWVyLGRlZW4gZG9ydCBpc3QgZXMgYXVjaCBpbSBIZXJic3Qgbm9jaCBzY2jDtm4gd2FybS4KCgpkYSBpc3QgZXMgaW1tZXIgc28gd2luZGlnLkljaCBtw7ZjaHRlIGxpZWJlciBpbSBDYWbDqiBpbiBkZXIgU29ubmUgc2l0emVuCgpIaWVyIGVzIHJlZ25ldCBzY2hvbiBzZWl0IGRyZSBUYWdlbiBzY2hvbixzZWl0IGRyZWkgVGFnZW4uCgpXaXIgaGFiZW4gd3VuZGVyc2Now7ZuZXMgRnLDvGhsaW5nc3dldHRlci5FcyBpc3Qgd2FybSB1bmQgc29ubmlnLgoKSW4gZGVuIEJlcmdlbiBpc3QgZXMga2FsdCB1bmQgZXMgZ2lidCB2aWVsIHNjaG5lZS4KCkhldXRlIE5hY2htaXR0YWcgZ2lidCBlcyBHZXdpdHRlci4KCi0tLQoKIyMgMjQKCi0tLQoKaHR0cHM6Ly9odWViZXIuZGUvc2hhcmVkL3VlYnVuZ2VuL21lbnNjaGVuL2tiL2ExL2xpdmVib29rL2wyNC9pbmRleC5waHAKCgoKCldlbGNoZXMgRGF0dW0gd2FyIGdlc3Rlcm4vdm9yZ2VzdGVybi92b3JlaW5lciBXb2NoZXI/CiAgCiAgR2VzdGVybiAvIFZvcnNnZXN0ZXJuIC8gVm9yIGVpbmVyIFdvY2hlCiAgCldlbGNoZXMgRGF0dW0gaXN0IGhldXRlIC9tb3JnZW4gL8O8YmVybW9yZ2VuIC8gaW4gZWluZXIgV29jaGUgPwoKICBIZXV0ZSAvTW9yZ2VuL8OcYmVybW9yZ2VuL0luIGVpbmVyCiAgCiAgV29jaGUgaXN0IGRlciAuLi4uLi4KICAKICBXZWxjaGUgZGF0dW0gd2FyIE1pdHR3b2NoIGZvciBlaW5lciBXb2NoZQogIAogIFdlbGNoZSBkYXR1bSBpc3QgbsOkY2hzdGVuIEZyZWl0YWcuCiAgCiAgSGV1dGUgaXN0IGRlciBzaWVic3RlIEF1Z3VzdC4KICAKICBIZXV0ZSBpc3QgZGVyIHNpZWJzdGUgQWNodGUKICAKICBJY2ggZmFocmUgYW0gYWNodGVuIEF1Z3VzdC9BY2h0ZW4gbmFjaCBCZXJsaW4KICAKICBJY2ggZmFocmUgdm9tIHNlY2h6ZWhudGVuIGJpcyh6dW0pIGRyZWl1bmR6d2Fuemlnc3RlbiBBdWd1c3QvQWNodGVuIG5hY2ggQmVybGluLgogIAogIFdlbGNoZXIgVGFnIGlzdCBoZXV0ZSA/IAogIAogIC1kZXIgYWNodHVuZHp3YW56aWdzdGUgRmVicnVhci4KICAKICBJY2ggd8O8cmRlIGdlcm4gbWl0IGRlciBmZWllcm4uCiAgCiAgd8O8cmRlbgogIMSxY2ggIHwgd8O8cmRlbgogIGR1ICAgfCB3w7xyZGVzdAogIGVyL3NpZS9lcyB8IHfDvHJkZQogIHdpciB8IHfDvHJkZW4KICBpaHIgfCB3w7xyZGV0CiAgc2llL1NpZSB8IHfDvHJkZW4KICAKICBJY2ggd8O8cmRlIGRpY2ggZ2VybiBpbnMgS2lubyBlaW5sYWRlbi4KICAKICBJY2ggd8O8cmRlIGdlcm4gdmllbCBHZWxkIGhhYmVuLgogIAogIFdpciB3w7xyZGVuIGRhcyBnZXJuIG1pdCBkaXIgZmVpZXJuLgogIAogIEljaCB3w7xyZGUgZ2VybiBHbMO8a2xpY2ggc2Vpbi4KICAKICBXYXMgd8O8cmRlbiBTaWUgYW0gbGllYnN0ZW4gamVkZW4gVGFnIG1hY2hlbiA/CiAgICtJY2ggd8O8cmRlIGdlcm4gamVkZW4gTW9yZ2VuIHNww6R0IGF1ZnN0ZWhlbgogICAKICAgQW0gbGllYnN0ZW4gd8O8cmRlIGljaCBqZWRlbiBUYWcgc2Nod2ltbWVuIGdlaGVuLkljaCB3w7xyZGUgZ2VybiB1bSBkaWUgV2VsdC4KICAgCiAgIEljaCB3w7xyZGUgZ2VybiBtaXQgZGlyIGluIGVpbmVyIEFsdGJhdXdvaG51bmcgd29obmVuLjIgemltbWVyICwgS8O8Y2hlICxCYWQgdW5kIGVpbmVtICh1bmQnbmVtKSBrbGVpbmVuIEJhbGtvbi4KICAgCiAgIEljaCBtdXNzIEJlbnppbiBrYXVmZW4uCiAgIAogIEljaCBtdXNzIHVuYmVkaW5ndCBCZW56aW4ga2F1ZmVuLiAtLW5pY2h0IHNvZm9ydC4KCgogIGRhcyBHZXNjaGVuayxlCiAgCiAgZGllIEVpbndlaWh1bmdzcGFydHkscwogIAogIGRpZSBUcmFkaXRpb24sZW4KICAKICBkYXMgQnJvdCxlCiAgCiAgZGFzIFNhbHosZQogIAogIFdlaWhuYWNodGVuCiAgCiAgZGFzIE9zdGVybgogIAogIGRpZSBQcsO8ZnVuZyxlbgogIAogIGJlc3RhbmRlbgogIAogIGRpZSBFaW53ZWlodW5nc3BhcnR5LHMKICAKICBkYXMgU2lsdmVzdGVyCiAgCiAgZGVyIEthcm5ldmFsCiAgCiAgZGllIEhvY2h6ZWl0LGVuCiAgCiAgZGFzIE5ldWphaHIKICAKICBkZXIgR2VidXJzdGFnLGUKICAKICBkYXMgR2VzY2hlbmssZQoKZGFzIEJhbmQKZGllIEJhbmQKZGVyIEJhbmQKCmRhcyBHZXNjaGFua2JhbmQsJydlciAgICAgICAgICAgICAgICAgICAgICAgICAgIApkYXMgU2NoZXJlLG4Kc2NobmVpZGVuCmVpbnBhY2tlbgpkYXMgR2VzY2hlbmtwYXBpZXIsZQpkYXMgRXhhbWVuLC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGllIEV4YW1pbmEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmZlaWVybiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCjEtNgoxLXNlaHIgZ3V0CjItZ3V0CjMtYmVmcmllZGlnZW4KNC1HdXNyZWljaGVuZAo1LW1vbmdlbGhhZnQKNi11bmdhbsO8Z2VuZCAKCgoKCgoKCgoKCgotLS0KCgoKCiMgQTIgey50YWJzZXQgLnRhYnNldC1mYWRlIC50YWJzZXQtcGlsbHN9CgpodHRwczovL2h1ZWJlci5kZS9zaGFyZWQvdWVidW5nZW4vbWVuc2NoZW4va2IvYTIvbWVudS5waHAKCmh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9tZWRpYS8zNi9NZW5zY2hlbl9Mb2VzdW5nZW5fQUJfQTIucGRmCgotLS0KCiMjIDEKCi0tLQoKTWVpbiBPcGEgd2FyIGF1Y2ggc2Nob24gQsOkY2tlci4KCmRpZSBCcmV6ZWwgfCBkaWUgQnJlemVsbiAgCgprbGFwcGVuICAKCmtvbXBsaXppZXJ0ICAKCmRlciBUZWlnIHwgZGllIFRlaWdlICAKCmRhcyBTdHVkaXVtICAKCmRhcyBFaW5yYWQgfCBkaWUgRWlucsOkZGVyICAKCmRhcyBGdcOfYmFsbGJpbGQgfCBkaWUgRnXDn2JhbGxiaWxkZXIgIAoKa2xldHRlcm4gIAoKw7xiZXJuYWNodGVuICAKCmRhcyBTa2F0ZWJvYXJkIHwgZGllIFNrYXRlYm9hcmRzICAKCmRpZSBTw7zDn2lna2VpdGVuICAKCgphdWYgQsOkdW1lIGtsZXR0ZXJuICAKQ29taWNzIGxlc2VuICAKQ29tcHV0ZXJzcGllbCBzcGllbGVuICAKZHJhdcOfZW4gw7xiZXJuYWNodGVuICAKRWlucmFkIGZhaHJlbiAgClNhY2hlbiBhdWYgZGVtIEZsb2htYXJrdCB2ZXJrYXVmZW4gIAptaXQgUHVwcGV0IHNwaWVsZW4gIApHZXNjaGljdGVuIGVyesOkaGxlbiAgCkZ1w59iYWxsYmlsZGVyIHNhbW1lbG4gIAp6ZWljaG5lbiAgCldpdHplIGVyesOkaGxlbiAgClPDvMOfaWdrZWl0ZW4gZXNzZW4gIApTa2F0ZWJvYXJkIGZhaHJlbiAgCgpkZXIgQXVzc2Nobml0dCB8IGRpZSBBdXNzY2huaXR0ZSAgICAKZGVyIELDpGNrZXIgfCBkaWUgQsOkY2tlciAgCmRpZSBCw6Rja2VyaW4gfCBkaWUgQsOkY2tlcmlubmVuICAKZGVyIENvdXNpbiB8IGRpZSBDb3VzaW5zICAKZGVyIE5lZmZlIHwgZGllIE5lZmZlbiAgCmRpZSBOaWNodGUgfCBkaWUgTmljaHRlbiAgCmRlciBTY2h3aWVnZXJzb2huIHwgZGllIFNjaHdpZWdlcnPDtmhuZSAgCmRlciBTY2h3aWVnZXJ2YXRlciB8IGRpZSBTY2h3aWVnZXJ2w6R0ZXIgIAoKCsO8YmVyZ2ViZW4gIAoKCmRpZSBaaWdhcmV0dGUgfCBkaWUgWmlnYXJldHRlbiAgCgp2ZXJyw7xja3QgKHNlaW4pICAKCndhY2hzZW4gIAoKZGVyIEp1ZGVubGljaGUgfCBkaWUgSnVkZW5saWNoZW4gIApkaWUgS2luZGhlaXRzZXJpbm5lcnVuZ2VuICAKRmFtaWxpZW5oZWl0c2VyaW5uZXJ1bmdlbiAgCmRpZSBMaWVibGluZ3NkaXNjbyB8IGRpZSBMaWVibGluZ3NkaXNjb3MgIApkaWUgU2VrdW5kZSB8IGRpZSBTZWt1bmRlbiAgCmRhcyBXYWhyaGVpdHNzcGllbCB8IGRpZSBXYWhyaGVpdHNzcGllbGUgIAoKYXVmbWFjaGVuICAKZGVyIFNjaGx1c3MgIAp6dW0gU2NobHVzcyAgCgpkaWUgQWJzdGltbXVuZyB8IGRpZSBBYnN0aW1tdW5nZW4gIAoKZGFzIEVyZWlnbmlzIHwgZGllIEVyZWlnbmlzc2UgIAoKZGllIEZhbWlsaWVuZ2VzY2hpY2h0ZSAgCkZhbWlsaWVuZ2VzY2hpY2h0ZW4gZXJ6w6RobGVuICAKZGllIEdlc2NoaWNodGUgfCBkaWUgR2VzY2hpY2h0ZW4gIAoKc3RyZWl0ZW4gfCBoYWJlbiBnZXN0cml0dGVuICh0byBmaWdodCkgIApHbMO8Y2sgaGFiZW4gIApydWZlbiB8IGhhYmVuIGdlcnVmZW4gIApow7ZyZW4gfCBoYWJlbiBnZWjDtnJ0ICAKc2FnZW4gfCBoYWJlbiBnZXNhZ3QgIApiZXN0ZWhlbiB8IGhhYmVuIGJlc3RhbmRlbiAgKHRvIHBhc3MpICAKYmVzdWNoZW4gfCBoYXQgYmVzdWNodCAodG8gdmlzaXQpICAKdW16aWVoZW4gfCBoYWJlbiB1bWdlem9nZW4gKHRvIG1vdmUpCgoKTWVpbmUgU2Nod2VzdGVyIHVuZCBpY2ggaGFiZW4gYWxzIEtpbmRlciB2aWVsIGdlc3RyaXR0ZW4uICAKCkVzIGdhYiBlaW4gVW53ZXR0ZXIsIGFiZXIgd2lyIGhhdHRlbiBHbMO8Y2suIEVzIGlzdCBuaWNodHMgcGFzc2llcnQuICAKCkljaCBoYWJlIGRpY2ggZ2VydWZlbiwgYWJlciBkdSBoYXN0IG1pY2ggbGVpZGVyIG5pY2h0IGdlaMO2cnQuICAKCkphbiBoYXQgbWlyIGdlc2FndCwgQWxpbmEgaGF0IGlocmUgUHLDvGZ1bmcgYmVzdGFuZGVuLiAgCgpMZXR6dGUgV29jaGUgaGFiZW4gd2lyIFhhdmVyIHVuZCBNaWNoZWxlIGJlc3VjaHQuIFNpZSBzaW5kIHVtZ2V6b2dlbi4gIAoKCktvbGphLCBoYWJlIGljaCBkaXIgc2Nob24gdm9uIG1laW5lbSBDb3VzaW4gRnJpZG9saW4gZXJ6w6RobHQ/ICAKTmFjaCBkZXIgU2NodWxlIGhhdCBlciAqKnp1ZXJzdCoqIGVpbmUgQXVzYmlsZHVuZyBhbHMgRnJpc2V1ciBnZW1hY2h0LiBFciB3YXIgaW1tZXIgZmxlacOfaWcgdW5kIGhhdCBzY2hvbiBtaXQgMTggSmFocmVuIGVpbmVuIGVpZ2VuZW4gRnJpc2V1cnNhbG9uIGF1ZmdlbWFjaHQuIEVyIGhhdCB2aWVsIEdlbGQgdmVyZGllbnQgdW5kIHNlaW4gR2VzY2jDpGZ0IGlzdCB2aWVsIGdld2FjaHNlbi4gIApVbmQgd2Vpw590IGR1LCAqKndhcyBkYW5uIHBhc3NpZXJ0IGlzdCoqPyBFaW5lcyBNb3JnZW5zIGhhdCBlciBhbGxlbiBlcnrDpGhsdDogSWNoIHZlcmthdWZlIGRhcyBHZXNjaMOkZnQuIEVyIGhhdCBhYmVyIG5pY2h0IHNvZm9ydCBlaW5lbiBLw6R1ZmVyIGdlZnVuZGVuLiAgCioqWnVtIFNjaGx1c3MqKiBoYXQgZXIgZGFzIEdlc2Now6RmdCBlaW5mYWNoIGdlc2NobG9zc2VuLCBlaW4gcGFhciBTYWNoZW4gZ2VwYWNrdCB1bmQgaXN0IG5hY2ggQWxhc2thIGdlZmxvZ2VuLiBIZXV0ZSBsZWJ0IGVyIGRvcnQgYWxsZWluIGluIGRlbiBXw6RsZGVybiB1bmQgaXN0IGdsw7xja2xpY2guCgoKQWxzbyBwYXNzdCBhdWY6IC4uLgoKVW5kIHdpc3N0IGlociwgd2FzIC4uLiBkYW5uIGdlbWFjaHQgaGF0PwoKV2lzc3QgaWhyLCB3YXMgZGFubiBwYXNzaWVydCBpc3Q/CgpFciAvIFNpZSB3YXIgc2Nob24gdmVycsO8Y2t0IC8gbmV0dCAvIGx1c3RpZywgbWVpbiAvIG1laW5lIC4uLgoKCgoKCgotLS0KCiMjIDIKCi0tLQoKV29oaW4gbWl0IGRlciBLb21tb2RlPyAgCgp1bXppZWhlbiAgCgpibMO2ZCAgCgplaW7Ct3JpY2h0ZW4gIAoKcmVub3ZpZXJlbiAgCgoKZGlza3V0aWVyZW4gIAoKZGFzIEZlcm5zZWhnZXLDpHQgfCBkaWUgRmVybnNlaGdlcsOkdGUgIApow6RuZ2VuICAKZGFzIEtpc3NlbiB8IGRpZSBLaXNzZW4gIAp2ZXJzdGVja2VuICAKCmRpZSBHZW1laW5zYW1rZWl0IHwgZGllIEdlbWVpbnNhbWtlaXRlbiAgCgoqKkltIFppbW1lcioqICAKCmRpZSBLb21tb2RlIHwgZGllIEtvbW1vZGVuICAKZGllIFdhbmQgfCBkaWUgV8OkbmRlICAKZGFzIFJlZ2FsIHwgZGllIFJlZ2FsZSAgCmRpZSBMYW1wZSB8IGRpZSBMYW1wZW4gIApkYXMgRmVybnNlaGdlcsOkdCB8IGRpZSBGZXJuc2VoZ2Vyw6R0ZSAgCmRlciBTY2hyZWlidGlzY2ggfCBkaWUgU2NocmliZXRpc2NoZSAgCmRlciBTdHVobCB8IGRpZSBTdMO8aGxlICAKZGVyIFRpc2NoIHwgZGllIFRpc2NoZSAgCmRlciBTY2hyYW5rIHwgZGllIFNjaHLDpG5rZSAgCmRlciBWb3JoYW5nIHwgZGllIFZvcmjDpG5nZSAgCmRhcyBCZXR0IHwgZGllIEJldHRlbiAgCmRhcyBLaXNzZW4gfCBkaWUgS2lzc2VuICAKZGFzIFNvZmEgfCBkaWUgU29mYXMgIApkaWUgQ291Y2ggfCBkaWUgQ291Y2hzICAKZGVyIFNlc3NlbCB8IGRpZSBTZXNzZWwgIApkZXIgVGVwcGljaCB8IGRpZSBUZXBwaWNoZSAgCgoKYmlzOiBiaXMgaGluICAKZGFzIERlY2tlbmxpc2NodCB8IGRpZSBEZWNrZW5saWNodGVyICAKCmRpcmVrdCAgWCBpbmRpcmVrdCAgCmR1bmtlbCAgWCBoZWxsICAKCgpkaWUgRG9taXppbC1SZWRha3Rpb24gfCBkaWUgRG9taXppbC1SZWRha3Rpb25lbiAgCgoKZGllIEdlc2NobWFja3NzYWNoZSAgCmRhcyBIZWZ0IHwgZGllIEhlZnRlICAKCmRlciBLbGFzc2lrZXIgfCBkaWUgS2xhc3Npa2VyICAKZGllIEt1c2NoZWwtRWNrZSAgCgpkYXMgTcO2YmVsc3TDvGNrIHwgZGllIE3DtmJlbHN0w7xja2UgIApkYXMgUmVnYWwgfCBkaWUgUmVnYWxlICAKCmRlciBSb21hbnRpa2VyIHwgZGllIFJvbWFudGlrZXIgIApkaWUgUm9tYW50aWtlcmluIHwgZGllIFJvbWFudGlrZXJpbm5lbiAgCgpkaWUgU29mYS1MYW5kc2NoYWZ0IHwgZGllIFNvZmEtTGFuZHNjaGFmdGVuICAKCmdlbcO8dGxpY2ggWCB1bmdlbcO8dGxpY2ggIAoKZGFzIFVybGF1Yi1Tb3V2ZW5pciB8IGRpZSBVcmxhdWItU291dmVuaXJzICAKCmRlciBTcGllZ2VsIHwgZGllIFNwaWVnZWwgIAoKZGFzIFdlcmt6ZXVnIHwgZGllIFdlcmt6ZXVnZSAgCgpkZXIgRWlucmljaHR1bmdzdGlwcCB8IGRpZSBFaW5yaWNodHVuZ3N0aXBwcyAgCkVpbnJpY2h0dW5nc3RpcHAgZ2ViZW4gIAoKZGVyIE1hZ2F6aW50ZXh0IHwgZGllIE1hZ2F6aW50ZXh0ZSAgCmRlciBVbXp1ZyB8IGRpZSBVbXp1Z2UgIAoKZGllIFdlY2hlbHByw6Rwb3NpdGlvbiB8IGRpZSBXZWNoZWxwcsOkcG9zaXRpb25lbiAgCgpkYXMgTcO2YmVsaGF1cwoKbGVnZW4gIApzdGVsbGVuICAKaMOkbmdlbgoKSWNoIGxlZ2UgZGllIFplaXR1bmcgYXVmIGRpZSBDb3VjaC4KCldpciBzdGVsbGVuIGRhcyBHZXNjaGlyciBpbiBkaWUgS8O8Y2hlbnNjaHLDpG5rZS4KCkxlZ3N0IGR1IGJpdHRlIGRlbiBCbGVpc3RpZnQgbmViZW4gZGFzIFBhcGllcj8KCkp1bGlhIGjDpG5ndCBkaWUgTGFtcGUgw7xiZXIgZGVuIFRpc2NoLgoKCipJbSBNw7ZiZWxoYXVzKgoKRGFzIGlzdCBkb2NoIGVpbiB0b2xsKmVzKiBCaWxkLiBEYXMga8O2bm5lbiB3aXIgKsO8YmVyIGRhcyBTb2ZhKiBow6RuZ2VuLgpBYmVyIGJlaSB1bnMgaMOkbmdlbiBkb2NoIHNjaG9uIHNvIHZpZWxlIEJpbGRlciAqw7xiZXIgZGVtIFNvZmEqLgoKCkRlciBUZXBwaWNoIGlzdCBzY2jDtm4gdW5kIG5pY2h0IG1hbCB0ZXVlci4gKkRlbiogbGVnZW4gd2lyICppbiBkYXMgU2NobGFmemltbWVyKi4KQWJlciAqdm9yIGRlbSBCZXR0KiBsaWVndCBkb2NoIHNjaG9uIGVpbiBUZXBwaWNoLgoKRGEgc3RlaHQgZWluZSBLb21tb2RlICp6d2lzY2hlbiB6d2VpIEZlbnN0ZXJuKi4gRGFzIHNpZWh0IGd1dCBhdXMuCkphLCBoaWVyIHNjaG9uLiBBYmVyICppbiB1bnNlcmVyIFdvaG51bmcqIGvDtm5uZW4gd2lyIGRpZXNlIEtvbW1vZGUgbmljaHQgKnp3aXNjaGVuIGRpZSBGZW5zdGVyIHN0ZWxsZW4qLiBTaWUgaXN0IHZpZWwgenUgZ3Jvw58uCgoKSW4gZGVyIG5ldWVuIFdvaG51bmcuCgpTdGVsbCBsaWViZXIgbmljaHQgenUgdmllbGUgTcO2YmVsIGluIGRhcyBaaW1tZXIuIFNvbnN0IC4uLgoKKCBsaWViZXIgbmljaHQgenUgdmllbGUgTcO2YmVsIGluIGRhcyBaaW1tZXIgc3RlbGxlbiAvIHNvbnN0IFJhdW0gbm9jaCBrbGVpbmVyIHdlcmRlbikKKCBlaW5lbiBTcGllZ2VsIGFuIFdhbmQgaMOkbmdlbiAvIGRhbm4gUmF1bSBncsO2w59lciBhdXNzZWhlbikKKCB2b3JzaWNodGlnIHNlaW4gbWl0IGR1bmtsZW4gTcO2YmVsbikKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgotLS0KCiMjIDMKCi0tLQoKSGllciBmaW5kZW4gU2llIFJ1aGUgdW5kIEVyaG9sdW5nICAKCkdyw7x6ZWkgbWl0ZW5hbmQgIApUYWNoICAKCiJUYWNoIiB1bmQgIkdyw7x6ZWkgbWl0ZW5hbmQiIGJlZGV1dGV0ICJHdXRlbiBUYWciLgoKZGllIFJlZ2lvbiB8IGRpZSBSZWdpb25lbiAgCmRhcyBEb3JmIHwgZGllIETDtnJmZXIgIApkZXIgRnJvY2ggfCBkaWUgRnLDtmNoZSAgCmRlciBIw7xnZWwgfCBkaWUgSMO8Z2VsIChoaWxsKSAgCmRpZSBLYXR6ZSB8IGRpZSBLYXR6ZW4gIApkaWUgUGZsYW56ZSB8IGRpZSBQZmxhbnplbiAgCgpJY2ggbWFjaGUgZWluZSBGYWhydCBkdXJjaCBkaWUgRMO2cmZlciB8IMO8YmVyIGRpZSBIw7xnZWwuICAKCmRlciBTdHJhbmQgfCBkaWUgU3RyYW5kZSAgKGJlYWNoKSAgCmRhcyBVZmVyIHwgZGllIFVmZXIgIChyaXZlciBiYW5rKSAgCmRlciBWb2dlbCB8IGRpZSBWw7ZnZWwgIApkZXIgV2FsZCAgCmRlciBGaXNjaCB8IGRpZSBGaXNjaGUgIApkZXIgSHVuZCB8IGRpZSBIdW5kZSAgCgpha3RpdiAgCkljaCBiaW4gc3BvcnRsaWNoIGFrdGl2ICAKCmFuZGVycyBnZWhlbiAgCgpkZXIgQW5mw6RuZ2VyIHwgZGllIEFuZsOkbmdlciAgKGJlZ2lubmVyLCBhbWF0ZXVyKSAgCmRlci9kaWUgRm9ydGdlc2Nocml0dGVuZSB8IGRpZSBGb3J0Z2VzY2hyaXRlbm5lbiAoYWR2YW5jZWQgbGVhcm5lcikgIAoKCmRpZSBBbmbDpG5nZXJpbiB8IGRpZSBBbmbDpG5nZXJpbm5lbiAgCmRpZSBBbnN0cmVuZ3VuZyB8IGRpZSBBbnN0ZXJuZ3VuZ2VuICAoZWZmb3J0KSAgCmRpZSBBdXNyw7xzdHVuZyB8IGRpZSBBdXNyw7xzdHVuZ2VuIChlcXVpcG1lbnQpICAKYXXDn2VyZGVtICAoYWxzbywgaW4gYWRkaXRpb24pICAKZGVyIEJhdWVybmhvZiB8IGRpZSBCYXVlcm5ob2ZlICAoZmFybSkgIAoKYmVyYXRlbiAoYWR2aWNlKSAgCmRpZSBCZXJhdHVuZyB8IGRpZSBCZXJhdHVuZ2VuICAoY29uc3VsdGF0aW9uKSAgCmRlciBCZXJna3LDpHV0ZXJyZSB8IGRpZSBCZXJna3LDpHV0ZXJ0ZWVzICAow6dpw6dlayDDp2F5xLEpICAKZGVyIEJvZGVuc2VlICAoTGFrZSBDb25zdGFuY2UpICAKZGVyIENhbXBhaWducGxhdHogfCBkaWUgQ2FtcGFpZ25wbMOkdHplICAKZGVyIEVpbmthdWZzYnVtbWVsICAKCmVuZGVuICAKCmVudGxhbmcgIChhbG9uZ3NpZGUpICAKCmRpZSBFbnRzcGFubnVuZyAocmVsYXhhdGlvbikgIApkaWUgRXJob2x1bmcgKHJlc3QpICAKZGllIEVyZmFocnVuZyAoZXBlcmllbmNlKSAgCmRlciBFeHRyYS1TZXJ2aWNlICAKZGVyIEdyb8Ofc3RhZHQtRmFuIHwgZGllIEdyb8Ofc3RhZHQtRmFucyAgCgpoZWxsZ3LDvG4gKGHDp8SxayB5ZcWfaWwpCgoKCmhpbnVudGVyIChkb3duKSAgIApkZW4gRmx1c3MgaGludW50ZXIgKGRvd24gdGhlIHJpdmVyKSAgCgppZGVhbCAgCgpkYXMgSW5udGFsICAoVmFsbGV5IG9mIElubikgIAoKZGVyL2RhcyBLYWphayB8IGRpZSBLYWpha3MgKGthbm8pICAKZGFzIEtpdGUtU3VyZmVuICAod2luZHN1cmYpICAKZGllIExhbmRzY2hhZnRzcmVpc2UgfCBkaWUgTGFuZHNjaGFmdHJlaXNlbiAgCmRpZSBTdMOkZHRyZWlzZSB8IGRpZSBTdMOkZHRyZWlzZW4gIApkaWUgTW90aXZhdGlvbiB8IGRpZSBNb3RpdmF0aW9uZW4gIAoKZGllIE5hdHVybGllYmhhYmVyaW4gfCBkaWUgTmF0w7xybGllYmhhYmVyaW5uZW4gIAoKb2ZmZW4gKHNlaW4pICAKCnF1YWNrZW4gIAoKZGFzIFNhbHpoYWZmIHwgZGllIFNhbHpoYWZmZSAvIFNhbHpoYWZmcyAoZWluIGR1cmNoIHZvbiBkZXIgT3N0c2VlKSAgCgpkaWUgU2Nod2VpemVyIEFscGVuICAKCmRpZSBTZWdlbC1TY2h1bGUgIApkaWUgU3VyZi1TY2h1bGUgfCBkaWUgU3VyZi1TY2h1bGVuICAKZGVyIFNwcmVld2FsZCAgKHRoZSBHcmVlbiBWZW5pY2UgbmVhciBCZXJsaW4pICAKZGVyIFN0YWR0YnVtbWVsICAoxZ9laGlyIHR1cnUpICAKClN0b3BwIQoKZGFzIFN1cGVyYW5nZWJvdCB8IGRpZSBTdXBlcmFuZ2Vib3RlICAoc3VwZXIgb2ZmZXIpICAKZGllIFN1cmYtTW9kZSAgCmRlciBUb3AtUHJlaXMgfCBkaWUgVG9wLVByZWlzZSAgCmRpZSBUb3VyIHwgZGllIFRvdXJlbiAgCmRpZSBWZWxvLVRvdXIgfCBkaWUgVmVsby1Ub3VyZW4gKGJpY3ljbGUgdG91cikgIApkZXIgVmVsb3Zlcm1pZXRlciAgCmRlciBXYW5kZXJlciB8IGRpZSBXYW5kZXJlciAoaGlraW5nIG1hbikKZGllIFdhbmRlcmluIHwgZGllIFdhbmRlcmlubmVuICAKZGllIFdhbmRlcnVuZyAgCmRhcyBXZXNzZXJ3YW5kZXJuICAKZGVyIFdlcmJldGV4dCB8IGRpZSBXZXJiZXRleHRlICAoYWR2ZXJzaXRpbmcgdGV4dCkgIAoKd29yYXVmICh3aGVyZW9uKSAgCldvcmF1ZiB3YXJ0ZXN0IGR1IG5vY2g/ICAKCmRpZSBNb2RlIHwgZGllIE1vZGVuICAKZGllIE1pdHRlIHwgZGllIE1pdHRlbiAobWlkZGxlKSAgCgppbiBzZWluICAKS2l0ZS1TdXJmZW4gaXN0IGdlcmFkZSBpbiAoV2luZHN1cmYgaXMganVzdCBpbikgIAoKZGFzIFN0aWNod29ydCB8IGRpZSBTdGljaHfDtnJ0ZXIgKGtleXdvcmQpICAKCmRlciBUcmVuZCB8IGRpZSBUcmVuZHMgIAoKZGllIEdlc2Now6RmdHNpZGVlIHwgZGllIEdlc2Now6RmdHNpZGVlbiAgCmRlciBSZWlzZXZlcmFuc3RhbHRlciAoc2V5aGF0IG9yYWduaXphdMO2csO8KSAgClZlcmFuc3RhbHRlcihpbikgKG9yZ2FuaXphdMO2cikgIApkZXIgUm9kZWwgKGvEsXphaykgIApkaWUgU2NobGl0dGVuZmFocnQgfCBkaWUgU2NobGl0dGVuZmFocnRlbiAgKGvEsXphayBrYXltYWspICAKZGllIFNoaWt1cnMgfCBkaWUgU2hpa3Vyc2UgIAoKYXVzZHLDvGNrZW4gICh5YXpkxLFybWFrKSAgCmJld2VydGVuICAoZGXEn2VybGVuZGlybWVrKSAgCmJ1Y2hlbiAgCnRvdXJpc3Rpc2NoICAKCsO8YmVyaGF1cHQgKGVuaW5kZSBzb251bmRhKSBYIMO8YmVyaGF1cHQgbmljaHQgKGFzbGEpICAKTWlyIGdlZsOkbGx0IGRhcyBBbmdlYm90IMO8YmVyaGF1cHQgbmljaHQgIAoKZGllIFZvcmxpZWJlIHwgZGllIFZvcmxpZWJlbiAoZcSfaWxpbSkgIApkaWUgV2VyYmVicm9zY2jDvHJlIHwgZGllIFdlcmJlYnJvc2Now7xyZW4gIChyZWtsYW0gYnJvxZ/DvHLDvCkgIAoKNTBlci1KYWhyZSAgCmF1c3dhbmRlcm4gIApiZXNpdHplbiAgKHRvIHBvc3Nlc3MpICAKZGFzIELDtnJlayAgCgplcnJhdGVuICh0byBndWVzcykgIAoKZGVyIEhhdXRhcnp0ICAoZGVybWF0b2xvZ2lzdCkgIApkaWUgSGF1YXJ0emluICAKZGllIE1lZGl6aW4gIAoKbcO8dHRlcmxpY2hlcnNlaXRzIChhbm5lIHRhcmFmxLEpICAKdmF0ZXJsaWNoZXJzZWl0cyAoYmFiYSB0YXJhZsSxKSAgCgp2ZXJicmluZ2VuIHwgdmVyYnJhY2h0IChzcGVuZCB0aW1lKSAgCgpkZXIgWndpbGxpbmcgfCBkaWUgWndpbGxpbmdlICh0d2lucykgIAoKc3RvbHogKGF1ZikgKHByb3VkKSAgCkljaCBiaW4gc2VociBzdG9seiBhdWYgbWVpbmUgRmFtaWxpZS4gIAoKCmRhcyBKb2JhbmdlYm90IHwgZGllIEpvYmFuZ2Vib3RlICAoam9iIG9mZmVyKSAgCmRlciBTY2hsw7xzc2VsYnVuZCB8IGRpZSBTY2hsw7xzc2VsYnVuZGUgIApkZXIgU2NobMO8c3NlbGRpZW5zdCB8IGRpZSBTY2hsw7xzc2VsZGllbnN0ZSAow6dpbGluZ2lyKSAgCgpkZXIgR2zDvGNrYnJpbmdlciAgCmRhcyBQZWNoICAKZGllIFNjaGVyYmUgfCBkaWUgU2NoZXJiZW4gKGJyb2tlbiBmcmFnbWVudCkgIApTY2hlcmJlbiBicmluZ2VuIEdsw7xjayAgCgplbWlncmllcmVuICAKZGFzIEhlaW1hdGxhbmQgfCBkaWUgSGVpbWF0bMOkbmRlciAoaG9tZWxhbmQpICAKCmRlciBLYXVmbWFubiBLYXVmbGV1dGUgIApkaWUgTGl0ZXJhdHVyIHwgZGllIExpdGVyYXR1cmVuICAKZGVyIE5vYmVscHJlaXMgfCBkaWUgTm9iZWxwcmVpc2UgIApkZXIgUHJvZmVzc29yIHwgZGllIFByb2Zlc29yZW4gIApkaWUgUHJvZmVzc29yaW4gfCBkaWUgUHJvZmVzc29yaW5uZW4gIApkZXIgUm9tYW4gfCBkaWUgUm9tYW5lCmRlciBTY2hyaWZ0c3RlbGxlciAoYXV0aG9yKSAgICAKZGllIFNjaHJpZnRzdGVsbGVyaW4gIApkZXIgVW50ZXJ0YW4gaHR0cHM6Ly9kZS53aWtpcGVkaWEub3JnL3dpa2kvRGVyX1VudGVydGFuICAKCgpkZXIgR2FydGVuendlcmcgfCBkaWUgR2FydGVuendlcmdlICAKZGllIEdhcnRlbnp3ZXJnZnJhdSB8IGRpZSBHYXJ0ZW56d2VyZ2ZyYXVlbiAgCmRpZSBHYXJ0ZW56d2VyZ2luIHwgZGllIEdhcnRlbnp2ZXJnaW5uZW4gIApkZXIgR2FydG5lendlcmdtYW5uIHwgZGllIEdhcnRlbnp3ZXJnbcOkbm5lciAgCmRhcyBQdXBlbmhhdXMgfCBkaWUgUHVwZW5ow6R1c2VyICAKZGllIFVudGVyd2VsdCB8IGRpZSBVbnRlcndlbHRlbiAgKHVuZGVyd29ybGQpICAKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpEYXMgQW5nZWJvdCBnZWbDpGxsdCBtaXIKCldlbGNoZXMgQW5nZWJvdCBnZWbDpGxsdCBJaG5lbiBhbSBiZXN0ZW4/CgpXaWUgZmluZGVuIFNpZSBkaWUgSWRlZT8KV2FydW0/ClfDvHJkZW4gU2llIGRpZXNlIFJlaXNlIGJ1Y2hlbj8KV2FydW0gLyBXYXJ1bSBuaWNodD8KCmdhbnogaW4gT3JkbnVuZwp2aWVsZSBNZW5zY2hlbiBoYWJlbiB6dSB2aWVsIFN0cmVzcwphdWYga2VpbmVuIEZhbGwKenUgbGFuZ3dlaWxpZywgenUgd2VuaWcgTWVuc2NoZW4KCgoqTm9tZW4gbWl0IC11bmcqCgp3YW5kZXJuIHwgZGllIFdhbmRlcnVuZyAodG8gaGlrZSwgaGlraW5nKSAgCmVyZmFocmVuIHwgZGllIEVyZmFocnVuZyAoZXhwZXJpZW5jZSkgIAphbnN0cmVuZ2VuIHwgZGllIEFuc3RyZW5ndW5nIChlZmZvcnQpICAKYmVyYXRlbiB8IGRpZSBCZXJhdHVuZyAoYWR2aWNlKSAgIAphbm1lbGRlbiB8IGRpZSBBbm1lbGR1bmcgKHJlZ2lzdGVyLCBhcHBseSwgYXBwbGljYXRpb24pICAKZXJob2xlbiB8IGRpZSBFcmhvbHVuZyAocmVzdCkgIAoKCipXYXMgd2FyIGZyw7xoZXIgYW5kZXJzIGFscyBoZXV0ZT8qICAKRnLDvGhlciBoYWJlIGljaCBhbSBUYWcgMjAgWmlnYXJldHRlbiBnZXJhdWNodCwgaGV1dGUgbGViZSBpY2ggZ2Vzw7xuZGVyLiAgICAKQWxzIEtpbmQgaGFiZSBpY2ggbWl0IFB1cHBlbiBnZXNwaWVsdC4gTWVpbmUgVG9jaHRlciBmaW5kZXQgQ29tcHV0ZXJzcGllbGUgaW50ZXJlc3NhbnRlci4gIApJbiB1bnNlcmVtIERvcmYgd2FyIGRpZSBMdWZ0IGZyw7xoZXIgYmVzc2VyLCBoZXV0ZSBnaWJ0IGVzIHZpZWxlIEZhYnJpa2VuLiAgIApNZWluZSBHcm/Dn2VsdGVybiBoYWJlbiBhdWYgZWluZW0gQmF1ZXJuaG9mIGdlbGVidCwgd2lyIHdvaG5lbiBpbiBkZXIgU3RhZHQuICAKSW4gbWVpbmVyIEtpbmRoZWl0IGhhdHRlbiB3aXIgYXVjaCBrZWluIEZlcm5zZWhnZXLDpHQuICAKTWVpbmUgU2Nod2llZ2VybXV0dGVyIGhhdCBmcsO8aGVyIG1pdCBIb2x6IGdla29jaHQsIGpldHp0IGhhdCBzaWUgZWluZW4gSGVyZC4gIApEZXIgVW50ZXJyaWNodCBpbiBkZXIgU2NodWxlIHdhciBhbmRlcnMsIGhldXRlIGRpc2t1dGllcmVuIGRpZSBMZWhyZXIgbWVociBtaXQgZGVuIFNjaMO8bGVybi4KCgoKMS4gQ2hyaXN0aWFuIGthbm4gZGVuIFNjaGzDvHNzZWwgbmljaHQgZmluZGVuLgoKMi4gTWVsYW5pZSB1bmQgTWF4IHNpbmQgZGllIG5ldWVuIE5hY2hiYXJuIHZvbiBMZW5hIHVuZCBDaHJpc3RpYW4uCgozLiBMZW5hIHVuZCBDaHJpc3RpYW4gaGFiZW4gc2ljaCBIYW1idXJnIGtlbm5lbmdlbGVybnQuCgo0LiBTaWUgc2luZCBuYWNoIE3DvG5jaGVuIGdlem9nZW4sIHdlaWwgQ2hyaXN0aWFuIGVpbiB0b2xsZXMgSm9iYW5nZWJvdCBiZWtvbW1lbiBoYXQuCgo1LiBMZW5hIHVuZCBDaHJpc3RpYW4gYnJhdWNoZW4gZG9jaCBrZWluZW4gU2NobMO8c3NlbGRpZW5zdCwgd2VpbCBNYXggZGVuIFNjaGzDvHNzZWxidW5kIGF1ZiBkZXIgU3RyYcOfZSBnZWZ1bmRlbiBoYXQuCgo2LiBNYXggaGlsZnQgTGVuYSBtaXQgZGVtVGlzY2guCgoKTWl0IEJyb3QgdW5kIFNhbHogd8O8bnNjaGVuIE5hY2hiYXJuIEdsw7xjayBpbSBuZXVlbiBIYXVzLgoKRWluIHplcmJyb2NoZW5lciBTcGllZ2VsIGJlZGV1dGV0IHNpZWJlbiBKYWhyZSBQZWNoLgoKU2NoZXJiZW4gYnJpbmdlbiBHbMO8Y2suCgoKKkdlZsO8aGxlIGJlaW0gVW16dWcqCgpTY2hyZWliZW4gU2llIGVpbmVtIEZyZXVuZCBlaW5lIE1haWwgdW5kIGVyesOkaGxlbiBTaWUgaWhtLCB3ZWxjaGUgR2Vmw7xobGUgU2llIGJlaW0gVW16dWcgaGF0dGVuLCB1bmQgb2IgU2llIHZvbiBqZW1hbmQgZWluZW4gR2zDvGNrc2JyaW5nc2VsIGJla29tbWVuIGhhYmVuLgoKU2NocmVpYmVuIFNpZSBtaW5kZXN0ZW5zIDUwIFfDtnJ0ZXIuCgpCZWdpbm5lbiBTaWUgc286CgpMaWViZeKApi9MaWViZXLigKYsCgppbiBkZXIgbGV0enRlbiBXb2NoZSBiaW4gaWNoLi4uCgpSZWRlbWl0dGVsOgoKc2ljaCBhdWYgZGllIG5ldWUgV29obnVuZyBmcmV1ZW4vIGRlciBTdHJlc3MsIGRhc3MgbWFuIGFsbGVzIHBhY2tlbiB1bmQgYmV3ZWdlbiBtdXNzLyBlaW4gc2NobGVjaHRlcyBHZWbDvGhsLCB3ZWlsIG1hbiBlaW5lbiBMZWJlbnNhYnNjaG5pdHQgaGludGVyIHNpY2ggbMOkc3N0LyBGcmV1bmRlLyBlaW5lIGJla2FubnRlIFVtZ2VidW5nCgoKCgoKCgoKCgoKCgoKCk1pY2hhZWwgc3RlaHQgdW0gOC4xNSBVaHIgYXVmLgpNaWNoYWVsIGlzdCB1bSA4LjE1IFVociBhdWZnZXN0YW5kZW4uCgpFciBkdXNjaHQgdW5kIHB1dHp0IHNpY2ggZGllIFrDpGhuZS4KRXIgaGF0IGdlZHVzY2h0IHVuZCBzaWNoIGRpZSBaw6RobmUgZ2VwdXR6dC4KCkRhbm4ga29jaHQgZXIgS2FmZmVlIHVuZCBtYWNoIEZyw7xoc3TDvGNrLiAKRGFubiBoYXQgZXIgS2FmZmVlIGdla29jaHQgdW5kIEZyw7xoc3TDvGNrIGdlbWFjaHQuCgpNaWNoYWVsIGlzc3QgVG9hc3QgbWl0IEhvbmlnICwgZWluIEVpIHVuZCBNw7xzbGkuCk1pY2hhZWwgaGF0IFRvYXN0IG1pdCBIb25pZyAsIGVpbiBFaSB1bmQgTcO8c2xpIGdlZ2Vzc2VuLgoKRXIgbGllc3QgZGllIFplaXR1bmcuCkVyIGhhdCBkaWUgWmVpdHVuZyBnZWxlc2VuLgoKClVtIDkuMzAgVWhyIGdlaHQgTWljaGFlbCB6dXIgU2NodWxlICwgZXIgemllaHQgc2VpbmVuIE1hbnRlbCBhbiB1bmQgaG9sdCBkYXMgRmFocnJhZC4KVW0gOS4zMCBVaHIgaXN0IE1pY2hhZWwgenVyIFNjaHVsZSBnZWdhbmdlbixlciBoYXQgc2VpbmVuIE1hbnRlbCBhbmdlem9nZW4gdW5kIGRhcyBGYWhycmFkIGdlaG9sdC4KCkVyIGbDpGhydCBkdXJjaCBkaWUgU3RhZHQgdW5kIGjDpGx0IGFtIEtpb3NrLgpFciAqaXN0KiBkdXJjaCBkaWUgU3RhZHQgdW5kICpoYXQqIGFtIEtpb3NrIGdlaGFsdGVuLgoKRG9ydCBrYXVmdCBlciBTw7zDn2lna2VpdGVuIHVuZCBLYXVndW1taS4KRG9ydCBoYXQgZXIgU8O8w59pZ2tlaXRlbiB1bmQgS2F1Z3VtbWkgZ2VrYXVmdC4KClVtIDEwLjAwIFVociBrb21tdCBNaWNoYWVsIGluIGRlciBTY2h1bGUgYW4gdW5kIGdlaHQgaW4gZGllIEtsYXNzZS4gQWxsZSBhbmRlcmVuIHNpbmQgc2Nob24gZGEuClVtIDEwIFVociBpc3QgTWljaGFlbCBpbiBkZXIgU2NodWxlIGFuZ2Vrb21tZW4gdW5kIGlzdCBpbiBkaWUgS2xhc3NlIGdlZ2FuZ2VuLkFsbGUgYW5kZXJlbiBzaW5kIHNjaG9uIGRhIGdld2VzZW4uCgoKCi0tLQoKIyMgNAoKLS0tCgpXYXMgZGFyZiBlcyBzZWluPyBIb3cgbWF5IEkgaGVscD8sIE5lIHZlcmV5aW0gYWJpbWUgOikgIAoKZGllIERvc2UgfCBkaWUgRG9zZW4gIApkZXIgRWlua2F1ZnN6ZXR0ZWwgfCBkaWUgRWlua2F1ZnN6ZXR0ZWwgIChzaG9wcGluZyBsaXN0KSAgCmplIChlYWNoKSAgCmRhcyBLaWxvIHwgZGllIEtpbG9zICAKZGllIEtub2JsYXVjaHNhbGFtaSAgCmRlciBMaXRlciB8IGRpZSBMaXRlciAgCmRpZSBQYWNrdW5nIHwgZGllIFBhY2t1bmdlbiAgCmRlciBTZW5mIChtdXN0YXJkKSAgCmRpZSBXZWludHJhdWJlIHwgZGllIFdlaW50cmF1YmVuICAoZ3JhcGVzKSAgCgpodW5ncmlnIFggc2F0dCAgCgpzb25zdCAoZWxzZSwgb3RoZXJ3aXNlKSAgCgpkaWUgQmFuYW5lIHwgZGllIEJhbmFuZW4gIApkZXIgQXBmZWwgfCBkaWUgw6RwZmVsICAKZGllIEJpcm5lIHwgZGllIEJpcm5lbiAgCmRpZSBCb2huZSB8IGRpZSBCb2huZW4gIChmYXPDvGx5ZSkgIApkYXMgQm9uYm9uIHwgZGllIEJvbmJvbnMgIApkaWUgQ29sYSB8IGRpZSBDb2xhcyAgCmRlciBFaXN0ZWUgIApkZXIgS25vYmxhdWNoIChzYXLEsW1zYWspICAKZGFzIE1laGwgIApkZXIvZGllIFBhcHJpa2EgIApkZXIgUGZpcnNpY2ggfCBkaWUgUGZpcnNpY2hlICAgCmRlciBRdWFyayAgCmRpZSBTYWxhbWkgfCBkaWUgU2FsYW1pcyAgCmRlciBUaHVuZmlzY2ggfCBkaWUgVGh1bmZpc2NoZSAgCmRlciBLYXJ0b2ZmZWwgfCBkaWUgS2FydG9mZmVsbiAgCmRpZSBUb21hdGUgfCBkaWUgVG9tYXRlbiAgCmRpZSBXZWludHJhdWJlIHwgZGllIFdlaW50cmF1YmVuICAKZGllIFppdHJvbmUgfCBkaWUgWml0cm9uZW4gIApkaWUgWndpZWJlbCB8IGRpZSBad2llYmVsbiAgCgpkaWUgQnV0dGVybWlsY2ggIApkaWUgRXNzZ2V3b2huaGVpdGVuICAoZWF0aW5nIGhhYmJpdHMpICAKZGFzIEZldHQgfCBkaWUgRmV0dGUgIApmZXR0YXJtICAKZGVyIEZyaXNjaGvDpHNlICAKZGFzIEdyYW1tICAKZGFzIEtpbG9ncmFtICAKZGllIE1hZ2VybWlsY2ggIApkaWUgVm9sbG1pbGNoICAKZGllIFBmZWZmZXJzYWxhbWkgIApkYXMgUGZ1bmQgKDUwMCBncikgIAoKcm9oIFggZ2Vjb2h0IChyYXcgWCBjb29rZWQpICAKCmRlciBTdXBlcm1hcmt0IHwgZGllIFN1cGVybcOkcmt0ZSAgCgp3ZWljaCBYIGhhcnQgKHNvZnQgWCBoYXJkKSAgCndlaWNoZW4gS8Okc2UgIApoYXJ0ZW4gS8Okc2UgIAoKbWl0aGlsZmUgIAoKZGFzIEVpbmthdWZzZ2VzcHLDpGNoICAKZGVyIE9ic3QgdW5kIEdlbcO8c2VsYWRlbiAgKG1hbmF2KSAgCmRlciBUZWVsYWRlbiAgKHRlZSBzaG9wKSAgCmRpZSBXdXJzdHRoZWtlIHwgZGllIFd1cnN0dGhla2VuIChldCByZXlvbnUpICAKCmRlciBOZXJ2IHwgZGllIE5lcnZlbiAgCkljaCBoYWJlIGtlaW5lIGd1dGVuIE5lcnZlbiAgCgpkZXIgQnJvdGtvcmIgfCBkaWUgQnJvdGtvcmJlICAoYnJlYWQgYmFza2V0KSAgCgplaW5mYWNoL2RvcHBlbHQgRXNwcmVzc28gKGR1YmxlKSAgCgpkZXIgRXNwcmVzc28gfCBkaWUgRXNwcmVzc29zIGRpZSBFc3ByZXNzaSAgCgpkYXMgRXh0cmEgfCBkaWUgRXh0cmFzICAKCmRhcyBGcsO8aHN0w7xja3MtQ2Fmw6kgIApkaWUgRnLDvGhzdMO8Y2tza2FydGUgIAoKZGVyIE9ic2FsYXQgfCBkaWUgT2JzYWxhdGUgIAoKcHJlc3NlbiAgCk9yYW5nZW5zYWZ0LCBmcmVzaCBnZXByZXNzdCAgCgpkYXMgUsO8aHJlaSB8IGRpZSBSw7xocmVpZXIgIChvbWxldCkgIAoKZGllIFNjaGVpYmUgfCBkaWUgU2NoZWliZW4gIChzbGljZSkgIAplaW5lIFNjaGVpYmUgQnJvdCAgCgpkaWUgQWRqZWt0aXZlZGVrbGluYXRpb24gbmFjaCBpbmRlZmluaXRlbSBBcnRpa2VsOiBlaW5lbiBtaWxkZW4gS8Okc2UgIAoKZGFzIEdld2ljaHQgfCBkaWUgR2V3aWNodGUgIAoKbWFnZXIgIChza2lubnkpICAKSWNoIGjDpHR0ZSBnZXJuIGVpbmVuIG1hZ2VyZW4gU2NoaW5rZW4gIAoKbWlsZCAgCkJpdHRlIGVpbmVuIG1pbGRlbiBLw6RzZSAgCgpkaWUgVmVycGFja3VuZyB8IGRpZSBWZXJwYWNrdW5nZW4gIAoKCgoKCgotLS0KCiMjIDUKCi0tLQoKU2NoYXV0IG1hbCwgZGVyIHNjaMO2bmUgRG9tICAKCmRpZSBTdGFkdGJlc2ljaHRpZ3VuZyAgCmRpZSBEb20tRsO8aHJ1bmcgIAoKZGllIEbDvGhydW5nIHwgZGllIEbDvGhydW5nZW4gIAoKZ2VzY2hsb3NzZW4gIAoKZGllIEthbWVyYSB8IGRpZSBLYW1lcmFzICAKZGVyIFByb3NwZWt0IHwgZGllIFByb3NwZWt0ZSAgCmRlciBSZWlzZWbDvGhyZXIgfCBkaWUgUmVpc2Vmw7xocmVyICAKZGllIFJlaXNlZsO8aHJlcmluIHwgZGllIFJlaXNlZsO8aHJlcmlubmVuICAKCmRlciBSdWRnYW5nIHwgZGllIFJ1ZGfDpG5nZSAgClJ1ZGdhbmcgbWFjaGVuICAKCmRpZSBTY2hpZmZhaHJ0IHwgZGllIFNjaGlmZmFocnRlbiAgCgpkYXMgVHJpbmtnZWxkICAKZGllIFVudGVya3VuZnQgfCBkaWUgVW50ZXJrw7xmdGUgKHBsYWNlIHRvIHN0YXkpICAKCndlc2NoZWxuOiBHZWxkIHdlc2NoZWxuICAKCgoqKmRlciBUb3VyaXN0KiogfCBkaWUgVG91cmlzdGVuCgoqKlQqKnJpbmtnZWxkICAKKipPKipmZmVuICAKKipVKipudGVya3VuZnQgIAoqKlIqKnVuZGdhbmcgIAoqKkkqKm50ZXJlc3NpZXJlbiAgCioqUyoqZWhlbnfDvHJkaWdrZWl0ICAKKipUKipheGkgIAoKZGllIEbDvGhydW5nIHwgZGllIEbDvGhydW5nZW4gIAoKYmVzaWNodGlnZW4gfCBiZXNpY2h0aWd0ICAKCmFiZ2ViZW4gfCBoYXQgYWJnZWdlYmVuIChyZXR1cm4pICAKCmFic3RyYWt0IChzb3l1dCkgIAoKw6RyZ2VybiAoc2ljaCkgIApDaGFybG90dGUgw6RyZ2VydCBzaWNoICAKCmJlcsO8aG10IChmYW1vdXMpICAKYnVudCAoY29sb3JmdWwpICAKCmRhcyBCdXNzaSB8IGRpZSBCdXNzaXMgIApkaWNrZXMgQnVzc2kgIApkZXIgRGFuayAodGhhbmspICAKenVtIERhbmsgaGFiZSBpY2ggLi4uICAgCmRpZSBGYWNlYm9vay1OYWNocml0ICAKCmdyb8OfYXJ0aWcgKGV4Y2VsbGVudCkgIApkZXIgSMO2aGVwdW5rdCAoemlydmUgbm9rdGFzxLEpICAKCmxhc3NlbiB8IGhhYmVuIGdlbGFzc2VuIChsZWF2ZSBzdGgpICAKCmRhcyBMb2NoIHwgZGllIExvY2hlciAoaG9sZSkgIApTaWUgaGF0IGRlbSBSZWlzZWbDvGhyZXIgZWluIExvY2ggaW4gZGVuIEJhdWNoIGdlZnJhZ3QgKHNvcnVsYXLEsSBpbGUgYWRhbcSxIGRlbGlrIGRlxZ9payBldHRpKSAgCgpkZXIgUmhlaW4gIApkaWUgUmhlaW5mYWhydCAgCgpkYXMgUsO2bWlzY2gtR2VybWFuaXNjaGUgTXVzZXVtICAKCnNlaGVuc3dlcnQgKHdvcnRoIHRvIHNlZSkgIAoKZGVyL2RpZSBTw7zDn2UgfCBkaWUgU8O8w59lbiAgCkhhbGxvIFPDvMOfZSAobWVyaGFiYSDFn2VrZXJpbSkgIAoKCndpZWRlcmZpbmRlbiB8IGhhYmVuIHdpZWRlcmdlZnVuZGVuICAoZmluZCBhZ2FpbiwgcmVsb2NhdGUpICAKCmRhcyBCcmF1aGF1cyAgCmRhcyBJbnRlcmVzc2UgfCBkaWUgSW50ZXJlc3NlbiAgCgpkaWUgS2xvc3RlcmtpcnNjaGUgIAoKc2hpY2sgIAppbiBlaW5lbSBzaGlja2VuIENsdWIgIAoKCnZlcnRlaWxlbiAoc3ByZWFkLCBkaXN0cmlidXRlKSAgCgoKYWxzbyBndXQgIAoKYmVlaW5kcnVja2VuZCAgKGF3ZXNvbWUpICAKCmRlciBCZXN1Y2ggKHZpc2l0KSAgCgpJY2ggYmluIGluIGRhZsO8ciAoSSBmYXZvdXIpICAKCkljaCBiaW4gZGFnZWdlbiAoSSBhbSBhZ2FpbnN0KSAgCgpkYXMgRmlsbW11c2V1bSAgCgpkaWUgR2VnZW5kICAoZGlzdHJpY3QpICAKCmRlciBLZWlzZXJkb20gIAoKbWVpc3RlbnMgICh1c3VhbGx5KSAgCgpkZXIgU2Ftc3RhZ2FiZW5kICAKCnNpY2hlciAgKGNlcnRhaW5seSkgIAoKZGllIFBsYW51bmcgIAoKYmVyaWNodGVuICAodG8gcmVwb3J0LCB0byB0ZWxsKSAgCmVpbnZlcnN0YW5kZW4gIChva2F5LCBhZ3JlZWQpICAKCmRlciBJbnRlcm5ldC1FaW50cmFnIChlbnRyeSkgIApkZXIgVG91cmlzbXVzICAKCgoKCgoKCgoKCgoKCgoqKlZpZWxlIEdyw7zDn2UgYXVzIEvDtmxuKioKCkRpZSBPbWEgc2NocmVpYnQgZWluZW4gQnJpZWYgYW4gaWhyZW4gTWFubi4KCkRpZSBNdXR0ZXIgc2NocmVpYnQgZWluZSBQb3N0a2FydGUgYW4gaWhyZW4gTWFubi4uCgpEaWUgVG9jaHRlciBzY2hyZWlidCBlaW5lIEZhY2Vib29rLU5hY2hyaWNodCBhbiBpaHJlIEZyZXVuZGluLgoKSnV0dGEgZnJldXQgc2ljaCBhbSBtZWlzdGVuIGF1ZiBkZW4gQXVzZmx1ZyBtaXQgZGVtIFNjaGlmZi4KCk1lbGFuaWUgaGF0IENoYXJsb3R0ZXMgS2FtZXJhIGltIEhvdGVsIGFiZ2VnZWJlbi4KCkNoYXJsb3R0ZSDDpHJnZXJ0IHNpY2g6IFNpZSBoYXQgaWhyZSBuZXVlIEthbWVyYSBpbSBEb20gdmVyZ2Vzc2VuLgoKCkRlciBiZXLDvGhtdGUgRG9tIGlzdCB3aXJrbGljaCBzZWhlbnN3ZXJ0CgpiZXLDvGhtdCAoZmFtb3VzKSAgCnNlaGVuc3dlcnQgKHdvcnRoIHNlZWluZykgIAoKCipOb21pbmF0aXYqICAKTWlyIGdlZsOkbGx0L2dlZmFsbGVuIC4uLiAgICAKZGVyIGJlcsO8aG10KmUqIERvbSAgCmRhcyBidW50KmUqIEZlbnN0ZXIgICAKZGllIG5ldSplKiAgS2FtZXJhICAKZGllIG5ldHQqZW4qICBMZXV0ZSAgCgoKKkFra3VzYXRpdiogIApJY2ggZmluZGUgIC4uLiB0b2xsICAgICAgCipkZW4qIGFsdCplbiogRG9tICAKZGFzICBidW50KmUqICBGZW5zdGVyICAKZGllIG5ldSplKiAgS2FtZXJhICAgCmRpZSBuZXR0KmVuKiBMZXV0ZSAgCgoKKkRhdGl2KiAgCm1pdCAuLi4gICAgICAgICAgICAgICAKKmRlbSogbmV0dCplbiogICAgIFJlaXNlZsO8aHJlciAgCipkZW0qIGJ1bnQqZW4qICAgIEZlbnN0ZXIgIAoqZGVyKiBuZXUqZW4qICAgICAgIEthbWVyYSAgCipkZW4qIG5ldHQqZW4qICAgICAgTGV1dGVuICAKCgoKaHR0cHM6Ly93d3cua29lbG50b3VyaXNtdXMuZGUvCgpBbSBTYW1zdGFnbW9yZ2VuLi4uL1p1ZXJzdC4uLi9NaXR0YWdzLi4uL0FtIE5hY2htaXR0YWcuLi4uL0FtIEFiZW5kLi4uLi8gVW5kIGFtIFNvbm50YWcuLi4uL1dhcyBkZW5rc3QgZHU/CgpJY2ggc2NobGFnZSB2b3IsIHdpciBnZWhlbiBpbiBkZW4gS8O2bG5lciBEb20sIGRlbm4gZGFzIGlzdCBkYXMgV2FocnplaWNoZW4gdm9uIEvDtmxuLgoKCgoKCgoKCgoKCgoKCgoKCipkaWUqIGZyZXVuZGxpY2gqZW4qIFggZGllIHVuZnJldW5kbGxpY2gqZW4qIFRvdXJpc3QqZW4qCipkaWUqIHNjaMO2biplbiogWCBow6Rzc2xpY2gqZW4qIFBvc3RrYXJ0KmVuKgoqZGVyKiBnZXNjaGxvc3NlbiplKiBYIGdlw7ZmZm5ldCplKiBTdXBlcm1hcmt0CipkaWUqIGxhbmd3ZWlsaWcqZSogWCBsdXN0aWcqZSogU3RhZHRmw7xocnVuZwoqZGllKiBsYW5nKmUqIFgga3VyeiplKiBTY2hpZmZmYWhydAoqZGFzKiBndXQqZSogWCBzY2hsZWNodCplKiBXZXR0ZXIKKmRhcyogYWx0KmUqIFggbmV1KmUqIEhhdXMKKmRlcioga3VyeiplKiBYIGxhbmcqZSogQnJpZWYKCgoqRGVuKiBhbHQqZW4qIERvbSBmaW5kZSBpY2ggdmllbCBzY2jDtm4qZXIqIGFscyAqZGllKiBtb2Rlcm4qZSogS2lyY2hlLiAgCkluICpkZW4qIGJ1bnQqZW4qIFByb3NwZWt0ZW4gc2llaHQgKmRpZSogU3RhZHQgdmllbCBzY2jDtm4qZXIqIGF1cy4gIAoqRGllKiBhbHQqZSogS2FtZXJhIGlzdCB0b3RhbCBzY2h3ZXIuIFdhcnVtIGhhc3QgZHUgZGVubiBuaWNodCAqZGllKiBuZXUqZSogbWl0Z2Vub21tZW4/ICAKSW4gKmRlbSogc2NoaWNrKmVuKiBSZXN0YXVyYW50ICpuZWJlbiogKmRlciogUG9zdCB3w7xyZGUgaWNoIGF1Y2ggZ2VybmUgZXNzZW4uICAKSGFzdCBkdSAqZGFzKiBuZXR0KmUqIENhZmUgZ2VzZWhlbj8gRGEga8O2bm5lbiB3aXIgKm5hY2gqICpkZXIqIEbDvGhydW5nIGhpbmdlaGVuLiAgCldhcnVtIGhhc3QgZHUgZGVubiAqZGllKiBiaWxsaWcqZW4qIFBvc3RrYXJ0KmVuKiBnZWthdWZ0PyAgCldpZSBmaW5kZXN0IGR1IGRlbm4gKmRhcyogZ3LDvG4qZSogSGF1cyAqbWl0KiAqZGVtKiBrbGVpbiplbiogVHVybSBkYSB2b3JuZT8gIApJbiAqZGVyKiBrbGVpbiplbiogS2lyY2hlIHdhcmVuIHdpciBqYSBzY2hvbi4gIAoKCkhhbGxvIC4uLiwKdmllbGUgR3LDvMOfZSAqYXVzKiAqZGVtKiBzY2jDtm4qZW4qIFdpZW4uCkRpZSBTdGFkdCBpc3QgdG9sbC4gKkFtKiBlcnN0KmVuKiBUYWcgaGFiZSBpY2ggZWluKmVuKiBsYW5nKmVuKiBSdW5kZ2FuZyAqZHVyY2gqICpkYXMqIFplbnRydW0gZ2VtYWNodC4gRGVyIFN0YWR0ZsO8aHJlciB3YXIgZWluIHRvdGFsIGx1c3RpZyplcioganVuZyplciogV2llbmVyLiAqRGllKiBhbHQqZW4qIEjDpHVzZXIgaGllciBmaW5kZSBpY2ggYmVzb25kZXJzIHNjaMO2bi4gSWNoIGhhYmUgYXVjaCBlaW5lIG5ldHQqZSogU2NoaWZmZmFocnQgYXVmICpkZXIqIHNjaMO2biplbiogYmxhdSplbiogRG9uYXUgZ2VtYWNodC4gR2VzdGVybiBBYmVuZCB3YXIgaWNoICppbSogYmVyw7xobXQqZW4qIEJ1cmd0aGVhdGVyLiBEaWUgU2NoYXVzcGllbGVyIHdhcmVuIHdpcmtsaWNoIHRvbGwuIExlaWRlciBoYWJlIGljaCBrZWluZSBiaWxsaWcqZSogVW50ZXJrdW5mdCBnZWZ1bmRlbi4gRGFzIEhvdGVsIGxpZWd0IGF1Y2ggbm9jaCBpbiBlaW4qZW0qIHppZW1saWNoIGxhbmd3ZWlsaWcqZW4qIFN0YWR0dmllcnRlbC4gQWJlciBzb25zdCBpc3QgZXMgaGllciB0b2xsLiBJY2ggaG9mZmUsIGR1IGhhc3QgYXVjaCBzY2jDtm4qZSogRmVyaWVuLgpCaXMgYmFsZCEKLi4KCgoKCgoKCgotLS0KCiMjIDYKCi0tLQoKTWVpbmUgTGllYmxpbmdzdmVyYW5zdGFsdHVuZyAgCgoKZGVyIEJlZ3JpZmYgfCBkaWUgQmVncmlmZmUgIApkYXMgRmV1ZXIgKGZpcmUpICAKZGFzIE1pdHRlbGFsdGVyZmVzdCB8IGRpZSBNaXR0ZWxhbHRlcmZlc3RlICAKZGFzIFRoZWF0ZXJmZXN0aXZhbCB8IGRpZSBUaGVhdGVyZmVzdGl2YWxzICAKCmRpZSBCw7xobmUgfCBkaWUgQsO8aG5lbiAoc2FobmUpICAgCmRpZSBFaW50cml0c2thcnRlIHwgZGllIEVpbnRyaXRza2FydGVuICAKZGllIEVybcOjw59pZ3VuZyB8IGRpZSBFcm3Do8OfaWd1bmdlbiAoaW5kaXJpbSkgIApkYXMgVGhlYXRlcnN0w7xjayB8IGRpZSBUaGVhdGVyc3TDvGNrZSAodGl5YXRybyBveXVudSkgIApkZXIgVm9ydHJhZyB8IGRpZSBWb3J0csOjZ2UgKHN1bnVtKSAgCgpkaWUgQXJzIEVsZWN0cm9uaWNhCgoKCgoKCgoKCgoKKipXaWUgbGFuZ2U/KiogIAp2b20gOC4gYmlzIDEwLkp1bGkgICAgCmJlZ2lubiAtLS0tLS0tLS0tLS0tLT4gRW5kZSAgCgoKCioqQWIgd2Fubj8qKiAgCgpqZXR6dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEJlZ2lubiAtPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgoKdm9uIG1vcmdlbiBhbiAgCnZvbSAxLiBKYW51YXIgYW4gIAoKCioqU2VpdCB3YW5uPyoqICAKClZlcmdhbmdlbmhlaXQgLT4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4gamV0enQKCgpzZWl0IDE5NzkgLyBKdWxpICAKCgoqKldpZSBsYW5nZT8qKiAgCgooIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICkKCmzDpG5nZXIgLyBtZWhyIGFscyAvIMO8YmVyIDMwIEphaHJlCgoKLS0tCgotIEbDpGhyc3QgZHUgZWlnZW50bGljaCBkaWVzZXMgSmFociB3aWVkZXIgbmFjaCBEZXV0c2NobGFuZD8KLSBKYSwgKmluKiB2aWVyICpNb25hdGVuKiBmYWhyZSBpY2ggbmFjaCBEw7xzc2VsZG9yZi4KLSBVbmQgd2FzIG1hY2hzdCBkdSBkb3J0PwotIEljaCBtYWNoZSAqZsO8ciogendlaSBXb2NoZW4gZWluZW4gS3Vycy4KLSBXYXJzdCBkdSBkYSBuaWNodCBzY2hvbiAqaW0qIGxldHp0ZW4gSmFocj8KLSBKYSwgZGFzIG1hY2hlIGljaCBzY2hvbiAqc2VpdCogZHJlaSBKYWhyZW4gamVkZW4gU29tbWVyLiBFcyBtYWNodCBncm/Dn2VuIFNwYcOfLiBWb3JtaXR0YWdzIGhhYmVuIHdpciBEZXV0c2NodW50ZXJyaWNodCB1bmQgKm5hY2gqIGRlbSBVbnRlcnJpY2h0IGdpYnQgZXMgbm9jaCBlaW4gaW50ZXJlc3NhbnRlcyBGcmVpemVpdHByb2dyYW1tIG1pdCB2aWVsZW4gQXVzZmzDvGdlbiB1bmQgVmVyYW5zdGFsdHVuZ2VuLgotIEtsaW5ndCBndXQuCi0gSmEsIGljaCBrYW5uIGRpciBtYWwgZWluZW4gUHJvc3Bla3QgbWl0YnJpbmdlbi4gVW5kIGR1LCBmw6RocnN0IGR1IGRpZXNlcyBKYWhyIGF1Y2ggbmFjaCBEZXV0c2NobGFuZD8KLSBKYSwgdm9yIGRlciBQcsO8ZnVuZy4gSWNoIGZhaHJlIG5hY2ggQmVybGluLgotIFRvbGwuIEluIEJlcmxpbiB3YXIgaWNoIG5vY2ggbmllLgotIEljaCB3YXIgZG9ydCBzY2hvbiBlaW5tYWwsIGFiZXIgZGFzIGlzdCBzY2hvbiAqw7xiZXIqIDEwIEphaHJlIGhlci4KCgoKLS0tCgoKLSAqKnRlbXBvcmFsZSBQcsOkcG9zaXRpb25lbiArIERhdGl2KiogIAoKKmluKiAsICp2b3IqICwgKnNlaXQqICwgKm5hY2gqICArIGVpbiplbSogTW9uYXQgLyBlaW4qZW0qIEphaHIgLyBlaW4qZXIqIFdvY2hlIC8gendlaSBKYWhyZSpuKiAgCgotICoqdGVtcG9yYWxlIFByw6Rwb3NpdGlvbmVuICsgQWtrdXNhdGl2KiogIAoKKsO8YmVyKiAsICpmw7xyKiArIGVpbiplbiogTW9uYXQgLyBlaW4gSmFociAvIGVpbmUgV29jaGUgLyB6d2VpIEphaHJlICAKCgoKLS0tCgoKICAKV2llIGxhbmdlIHdvaG5zdCBkdSBzY2hvbiBpbiBkZXIgV0c/ICAKKlNlaXQqIGRyZWkgKkphaHJlbiogIApXaWUgbGFuZ2UgbcO2Y2h0ZXN0IGR1IGluIEV1cm9wYSBibGVpYmVuPyAgCipGw7xyKiAqZWluKiAqSmFociogIApXYW5uIGJlZ2lubnQgZGVyIERldXRzY2hrdXJzPyAgCipJbiogKmVpbmVtKiBNb25hdCAgCldhbm4gaGFzdCBkdSBnZWhlaXJhdGV0PyAgCipWb3IqIHplaG4gSmFocmUqbiogIApXaWUgbGFuZ2UgZGF1ZXJ0IGRpZSBtw7xuZGxpY2hlIFByw7xmdW5nPyAgCirDnGJlciogZWluZSBTdHVuZGUgIApXaWUgbGFuZ2UgaXN0IGRpZSBBdXNzdGVsbHVuZyBpbiBCZXJsaW4/ICAKKlZvbSogZXJzdCplbiogKmJpcyogZWludW5kZHJlacOfaWdzdCplbiogSnVsaSAgCkFiIHdhbm4gc3R1ZGllcnQgZGVpbmUgRnJldW5kaW4gaW4gUGFyaXM/ICAKKlZvbSogZXJzdCplbiogU2VwdGVtYmVyICphbiogIAoKCgoqKkVpbmUgVmVyYW5zdGFsdHVuZyBiZXN1Y2hlbioqICAKV29sbGVuIHdpciBtaXQgZGVtIERldXRzY2hrdXJzIG5pY2h0IG1hbCBlaW5lIFZlcmFuc3RhbHR1bmcgYmVzdWNoZW4/ICAKSmEsIGd1dGUgSWRlZS4gSGFidCBpaHIgZWluZW4gVm9yc2NobGFnPyAgCldpciBrw7ZubmVuIHp1IGVpbmVyIExlc3VuZyBnZWhlbi4gIApBY2ggbmVpbiwgZGFzIGZpbmRlIGljaCBub2NoIHp1IHNjaHdlci4gSWNoIGJpbiBkYWdlZ2VuLiAgCkRhcmYgaWNoIGV0d2FzIHZvcnNjaGxhZ2VuPyBXaXIga8O2bm5lbiBkb2NoIGlucyBLaW5vIGdlaGVuLiBFcyBsw6R1ZnQgZ2VyYWRlIGRlciBkZXV0c2NoZSBGaWxtICJNw6RubmVyaGVyemVuIiBpbSBPcmlnaW5hbCBtaXQgVW50ZXJ0aXRlbG4uICAKRWludmVyc3RhbmRlbiEgIFdpZSB3w6RyZSBlcyBtaXQgbW9yZ2VuPyAgCkRhcyBmaW5kZSBpY2ggc3VwZXIuIFdhbm4gZGVubj8gIApVbSAxOSBVaHIuIFdhcyBoYWx0ZXQgaWhyIGRhdm9uPyAgCkphLCBva2F5LiBEYXMgbWFjaGVuIHdpci4gV29sbGVuIHdpciB6dXNhbW1lbiBoaW5mYWhyZW4gb2RlciB3b2xsZW4gd2lyIHVucyB2b3IgZGVtIEtpbm8gdHJlZmZlbj8gIApJY2ggd8O8cmRlIG1pY2ggbGllYmVyIGRpcmVrdCB2b3IgZGVtIEtpbm8gdmVyYWJyZWRlbi4gSWNoIHdvaG5lIGRhIGluIGRlciBOw6RoZS4gIApPa2F5LCBkYW5uIHRyZWZmZW4gd2lyIHVucyBtb3JnZW4gdW0gMTguNDUgVWhyIHZvciBkZW0gS2luby4gSWNoIGJlc3RlbGxlIGRpZSBFaW50cml0dHNrYXJ0ZW4uICAKCgoKTWVpbiBUb3AtVGlwcCBpc3QgLi4uICAKLi4uLi4uLiBnaWJ0IGVzIHNlaXQgLyBpc3QgYXVzIGRlbSBKYWhyIC4uLiAgCkZyw7xoZXIgaGF0IC4uLiBkb3J0IGdld29obnQgLyB3YXIgZG9ydCAuLi4gIApIZXV0ZSBrYW5uIG1hbiAuLi4gYmVzaWNodGlnZW4uIEJlc3VjaGVuIFNpZSAvQmVzdWNodCAuLi4gSGllciBmaW5kZW4gU2llIC8gZmluZGV0IGlociAuLi4gIAoKCgoKLS0tCgojIyA3CgotLS0KCkbDvHIgZGllc2UgU3BvcnRhcnRlbiBicmF1Y2h0IG1hbiBlaW5lIE1hbm5zY2hhZnQuICAKCkbDvHIgZGllc2UgU3BvcnRhcnRlbiBicmF1Y2h0IG1hbiB1bmJlZGluZ3QgZWluZW4gUGFydG5lci4gIAoKRGllc2UgU3BvcnRhcnRlbiBrYW5uIG1hbiBhdWNoIGFsbGVpbmUgbWFjaGVuICAKCgoKCgoKQW0gQWJlbmQgdm9yIGRlbiBTcGllbGVuIHNvbGx0ZXQgaWhyIGV1Y2ggYXVzcnVoZW4uICAKU2NoYXUgbWFsLCB3aXIga8O2bm50ZW4gYXVjaCBlaW5lbiBUYXVjaGt1cnMgbWFjaGVuLiAgCkFiZW5kcyBzb2xsdGVuIFNpZSBrZWluZSBOdWRlbG4gbWVociBlc3Nlbi4gIApBYiBuw6RjaHN0ZW4gTW9uYXQga8O2bm50ZXQgaWhyIGZyZWl0YWdzIGF1Y2ggenVtIExhdWZ0cmFpbmluZyBrb21tZW4uICAKU2llIHNvbGx0ZW4gcmVnZWxtw6TDn2lnIFNwb3J0IG1hY2hlbi4gIAoKCldhcyBzb2xsIGljaCBkZW5uIGhldXRlIEFiZW5kIGtvY2hlbj8gIApEdSBrw7ZubnRlc3QgbWFsIHdpZWRlciBlaW5lIEdlbcO8c2VzdXBwZSBtYWNoZW4uICAKCkljaCBoYWJlIG9mdCBzdGFya2UgSGFsc3NjaG1lcnplbi4gSGFzdCBkdSBlaW5lbiBUaXBwIGbDvHIgbWljaD8gIApBbiBkZWluZXIgU3RlbGxlIHfDvHJkZSBpY2ggU2FsYmVpdGFibGV0dGVuIG5laG1lbi4gIAoKSWNoIG11c3MgdW5iZWRpbmd0IHdpZWRlciBtZWhyIGbDvHIgbWVpbmUgR2VzdW5kaGVpdCB0dW4uIFdvbGxlbiB3aXIgenVzYW1tZW4gU3BvcnQgbWFjaGVuPyAgCkd1dGUgSWRlZSEgV2llIHfDpHJlIGVzIG1pdCBBcXVhLUZpdG5lc3M/ICAKCk1laW4gTWFubiBzY2hsw6RmdCBuYWNodHMgaW1tZXIgc28gc2NobGVjaHQuIFdhcyB3w7xyZGVuIFNpZSBpaG0gZW1wZmVobGVuLiAgClNpZSBzb2xsdGVuIGlobSBlaW5lbiBUZWUgZ2ViZW4uICAKCkljaCB3w7xyZGUgZ2VybmUgZXR3YXMgYW4gZGVyIGZyaXNjaGVuIEx1ZnQgbWFjaGVuLiBLYW5uc3QgZHUgbWlyIGVpbmUgU3BvcnRhcnQgZW1wZmVobGVuPyAgCkR1IGvDtm5udGVzdCBqb2dnZW4gZ2VoZW4uICAKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgotLS0KCiMjIDgKCi0tLQoKCgpFciB3aWxsIG1pciBudXIgbmljaHRzIHNhZ2VuLCB3ZWlsIG1laW5lIEtyYW5raGVpdCBzbyBzY2hsaW1tIGlzdC4gIAoKw4RyenRlIHNhZ2VuIG5pY2h0IGRpZSBXYWhyaGVpdC4gRGVzaGFsYiBnZWhlIGljaCBuaWNodCBtZWhyIGFsbGVpbiBoaW4uICAKCgpLbGF1cyDDtmZmbmV0IGRhcyBGZW5zdGVyLCB3ZWlsCgooRXMgaXN0IGltIFppbW1lciB6dSBoZWnDny4pCgpLbGF1cyDDtmZmbmV0IGRhcyBGZW5zdGVyLCB3ZWlsIGVzIGltIFppbW1lciB6dSBoZWnDnyBpc3QuCgpJY2ggdmVydHJhdWUgbWVpbmVtIEZyZXVuZCwgd2VpbAoKKEVyIHNhZ3QgbWlyIGltbWVyIGRpZSBXYWhyaGVpdC4pCgpJY2ggdmVydHJhdWUgbWVpbmVtIEZyZXVuZCwgd2VpbCBlciBtaXIgaW1tZXIgZGllIFdhaHJoZWl0IHNhZ3QuCgpNZWluZSBOYWNoYmFybiBzaW5kIHRyYXVyaWcsIHdlaWwKCihJaHIgSHVuZCBpc3QgZ2VzdG9yYmVuLikKCgpNZWluZSBOYWNoYmFybiBzaW5kIHRyYXVyaWcsIHdlaWwgSWhyIEh1bmQgZ2VzdG9yYmVuIGlzdC4KCkNhcmxhIG1hY2h0IGVpbmUgRGnDpHQsIHdlaWwKCihTaWUgbcO2Y2h0ZSBhYm5laG1lbi4pCgpDYXJsYSBtYWNodCBlaW5lIERpw6R0LCB3ZWlsIHNpZSBhYm5laG1lbiBtw7ZjaHRlLgoKCkZyYXUgUHJldcOfIGxpZWd0IGltIEtyYW5rZW5oYXVzLCBkZW5uIHNpZSBoYXR0ZSBlaW5lbiBIZXJ6aW5mYXJrdC4KCgpTYW5kcmEga2FubiBuaWNodCB6dW0gQXJ6dCBnZWhlbiwgd2VpbCBlciBoZXV0ZSBrZWluZSBTcHJlY2hzdHVuZGUgaGF0LgoKCkRpZSBFbHRlcm4gbWFjaGVuIHNpY2ggc29yZ2VuLCB3ZWlsIGlocmUgVG9jaHRlciBrcmFuayBpc3QuCgoKSGVyciBNb2xsIGhhdCB6dSB2aWVsIEthZmZlZSBnZXRydW5rZW4uIERlc2hhbGIgdHV0IHNlaW4gTWFnZW4gd2VoLgoKCkZyYXUgV2ludGVyIGlzdCBrcmFuay4gRGVzaGFsYiBrYW5uIHNpZSBuaWNodCBhcmJlaXRlbi4KCgoKSnVsaWFuIGhhdCBzZWl0IFRhZ2VuIEJhdWNoc2NobWVyemVuLAoKKGRlciBBcnp0IC0gaWhuIC0gZ2VuYXUgdW50ZXJzdWNoZW4gd29sbGVuKQoKSWNoIGthbm4gaGV1dGUgbmljaHQgYW0gRnXDn2JhbGx0cmFpbmluZyB0ZWlsbmVobWVuLAoKKGljaCAtIHNlaW4gLSBlcmvDpGx0ZXQpCgpGcmF1IEtyYXVzZSBnZWh0IGVzIHNjaGxlY2h0LAoKKGVpbmUgc2Nod2VyZSBHcmlwcGUgLSBzaWUgLSBoYWJlbikKCkljaCBiaW4gZXJrw6RsdGV0LAoKKG3DvHNzZW4gaHVzdGVuIC0gaWNoIC0gc28gb2Z0KQoKRWxrZSBpc3QgaGV1dGUgZWluZSBTdHVuZGUgZ2Vqb2dndCwKCiggc2llIC0gamV0enQgbcO8ZGUgc2VpbikKCgoKSG9mZmVudGxpY2ggaGFzdCBkdSBuaWNodHMgU2NobGltbWVzLiAKCkRhcyBmaW5kZSBpY2ggYWJlciB0cmF1cmlnLiAgCgpJY2ggaG9mZmUsIGVzIGlzdCBhbGxlcyBpbiBPcmRudW5nLiAgCgpPaCwgZGFzIHR1dCBtaXIgd2lyY2tsaWNoIHNlaHIvIGVjaHQgTGVpZC4gIAoKV2FzIGlzdCBsb3M/ICAKCkljaCBoYWJlIEFuZ3N0IHZvciBIZXJ6a3JhbmtoZWl0ZW4uICAKCklzdCBhbGxlcyBpbiBPcmRudW5nPyAgCgoKCldhcyBpc3QgbG9zPyBJc3QgYWxsZXMgaW4gT3JkbnVuZz8KSWNoIGhhYmUgc28gc2NobGltbWUgWmFobnNjaG1lcnplbi4KT2gsIGRhcyB0dXQgbWlyIHdpcmtsaWNoIHNlaHIgTGVpZC4gV2Fyc3QgZHUgc2Nob24gYmVpbSBaYWhuYXJ6dD8KTmVpbiwgaWNoIGhhYmUgQW5nc3Qgdm9yIGRlbSBaYWhuYXJ6dC4KSG9mZmVudGxpY2ggaGFzdCBkdSBuaWNodHMgU2NobGltbWVzLiBJY2ggaG9mZmUsIGVzIGlzdCBhbGxlcyBpbiBPcmRudW5nLgoKCldhcyBpc3QgbG9zPyBJc3QgYWxsZXMgaW4gT3JkbnVuZz8KSWNoIGhhYmUgTWFnZW5zY2htZXJ6ZW4uCk9oLCBkYXMgdHV0IG1pciB3aXJrbGljaCBzZWhyIExlaWQuIFdhcnN0IGR1IHNjaG9uIGJlaW0gWmFobmFyenQ/Ck5laW4sIGhvZmZlbnRsaWNoIG11c3MgaWNoIG5pY2h0IGlucyBLcmFua2VuaGF1cy4gSWNoIGhhYmUgQW5nc3Qgdm9yIEtyYW5rZW5ow6R1c2VybiB1bmQgT3BlcmF0aW9uZW4uCkhvZmZlbnRsaWNoIGhhc3QgZHUgbmljaHRzIFNjaGxpbW1lcy4gSWNoIGhvZmZlLCBlcyBpc3QgYWxsZXMgaW4gT3JkbnVuZy4KCgpHZXN0ZXJuIGhhdHRlIGljaCBlaW5lbiAgVW5mYWxsIG1pdCBkZW0gRmFocnJhZC4gRWluZSBGcmF1IGhhdCBkZW4gS3JhbmtlbndhZ2VuIGdlcnVmZW4sIHdlaWwgbWVpbmUgSGFuZCB2ZXJsZXR6dCB3YXIuIFNpZSBoYXQgc3RhcmsgZ2VibHV0ZXQuIERlciBOb3Rhcnp0IGhhdCBnZW1laW50LCBkYXNzIGljaCBpbnMgS3JhbmtlbmhhdXMgbXVzcy4gSW4gZGVyIE5vdGF1Zm5haG1lIGhhdCBtYW4gbWVpbmUgSGFuZCB1bnRlcnN1aHQuIEVzIHdhciBnYXIgbmljaHQgc2NobGltbS4gSWNoIGhhYmUgZWluZW4gVmVyYmFuZCBiZWtvbW1lbiB1bmQgYmluIGRhbm4gbWl0IGRlbSBUYXhpIG5hY2ggSGF1c2UgZ2VmYWhyZW4uIE51ciBtZWluZW0gRmFocnJhZCBnZWh0IGVzIGxlaWRlciBpbW1lciBub2NoIG5pY2h0IGd1dC4KCgpFbWFpbCDDvGJlciBJaHJlbiBLcmFua2VuaGF1c2F1ZmVudGhhbHQKCldhcnVtIHdhcmVuIFNpZSBpbSBLcmFua2VuaGF1cz8KV2VyIGhhdCBTaWUgaW5zIEtyYW5rZW5oYXVzIGdlYnJhY2h0PwpXaWUgbGFuZ2Ugd2FyZW4gU2llIGltIEtyYW5rZW5oYXVzPwpXaWUgaGFiZW4gU2llIHNpY2ggZ2Vmw7xobHQ/CldpZSBzaW5kIFNpZSBuYWNoIEhhdXNlIHp1csO8Y2tnZWtvbW1lbj8KCgpHZXJzdGVybiBBYmVuZCBoYXR0ZSBpY2ggLi4uLi4uCgplaW5lbiBkaWNrZW4gVmVyYmFuZCB1bSBkYXMgS25pZSBoYWJlbgoKZWluZSBWZXJsZXR6dW5nIGhhYmVuCgplaW5lbiBVbmZhbGwgaGFiZW4KCm1pdCBkZW0gU2thdGVib2FyZCBoaW5mYWxsZW4KClNjaG1lcnplbiBoYWJlbgoKZWluZW4gSGVyemluZmFya3QgaGFiZW4KCmJsdXRlbgoKd2VodHVuCgppbiBkaWUgTm90YXVmbmFobWUgZmFocmVuCgpBbmdzdCBoYWJlbiB2b3IgZGVyIE9wZXJhdGlvbgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgotLS0KCiMjIDkKCi0tLQoKRnJldW5kbGljaGUgTWlyYXJiZWl0ZXIgZ2VzdWNodCEKCgp8IEFydGlrZWwgfCBOb21pbmF0aXYgICAgICAgIHwgICAgICAJQWtrdXNhdGl2ICAgICAgICAgIHwgICAgICAgIAlEYXRpdgp8IC0tLSB8IC0tLSB8IC0tLSB8IC0tLSB8CmRlcgpkYXMKZGllCmRpZSBQbAoKCmd1dGVyIE1lY2hhdHJvbmlrZXIgICAgICAgICAgIAoKZ3Jvw59lcyBMYWdlcgoKZmxleGlibGUgQXJiZWl0c3plaXQKCkFuc3dlcgprbGVpbmUKQ29ycmVjdAoKIELDvHJvcwoKZ3V0ZW4gTG9obiAgICAgICAgICAgICAgICAgCgpBbnN3ZXIKZ3Jvw59lcwpDb3JyZWN0CgogTGFnZXIKCkFuc3dlcgpvcmRlbnRsaWNoZQpDb3JyZWN0CgogSGF1c2hhbHRzaGlsZmUKCkFuc3dlcgpmcmV1bmRsaWNoZQpDb3JyZWN0CgogTWl0YXJiZWl0ZXIKCkFuc3dlcgpndXRlbQpDb3JyZWN0CgogTG9obgoKZ3Jvw59lbSBMYWdlcgoKQW5zd2VyCmZsZXhpYmxlcgpDb3JyZWN0CgogQXJiZWl0c3plaXQKCkFuc3dlcgpnw7xuc3RpZ2VuCkNvcnJlY3QKCiBQcmVpc2VuCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgotLS0KCiMjIDEwCgotLS0KCgotLS0KCiMjIDExCgotLS0KCgotLS0KCiMjIDEyCgotLS0KCi0tLQoKIyBBMi4yIHsudGFic2V0IC50YWJzZXQtZmFkZSAudGFic2V0LXBpbGxzfQoKCmh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9zaGFyZWQvdWVidW5nZW4vbWVuc2NoZW4vYWIvYTItMi9tZW51Lmh0bWwKCgpodHRwczovL3d3dy5odWViZXIuZGUvbWVkaWEvMzYvTG9lc3VuZ3NzY2hsdWVzc2VsX01lbnNjaGVuX0FCX0EyLTIucGRmCgoKLS0tCgojIyAxMwoKLS0tCgpodHRwczovL2h1ZWJlci5kZS9zaGFyZWQvdWVidW5nZW4vbWVuc2NoZW4va2IvYTIvbGl2ZWJvb2svbDEzL2luZGV4LnBocAoKCkRpZSBPcmdhbmlzYXRvcmVuIHZvbiDigJ5XZWlobmFjaHRlbiBpbSBTY2h1a2FydG9uIOKAnCB2ZXJzY2hpY2tlbiBHZXNjaGVua2UgYW4gYXJtZSBLaW5kZXIgaW4gT3N0ZXVyb3BhIHVuZCBBc2llbi4gIApEYXMgUHJvamVrdCBoYXQgZ3Jvw59lbiBFcmZvbGcuCgoKCgoKLS0tCgojIyAxNAoKLS0tCgoKRGFua2VzYnJpZWYKCldhcyBoYXQgU2llIGdlZnJldXQ/CldhcyBnZWbDpGxsdCBJaG5lbiAoYmVzb25kZXJzKSBndXQ/CldhcyBrw7ZubmVuIFNpZSAgKGJlc29uZGVycykgZ3V0IGdlYnJhdWNoZW4/CgpMaWViZXIvTGllYmUgLi4uLiAsCnZpZWxlbiBEYW5rIGbDvHIgRGVpbmUgdG9sbGVuIEdlc2NoZW5rZSEKClNjaMO2biwgZGFzcyBkdSBhbiBtaWNoIGdlZGFjaHQgaGFzdC4vIC4uLgoKLi4uIGhhdC8gaGFiZW4gbWljaCBzZWhyIGdlZnJldXQuCgpJY2ggbGllYmUuLi4gLyAuLi4gbWFnIC4uLiBiZXNvbmRlcnMgZ2Vybi4KCi4uLiBpc3Qvc2luZCBzdXBlci4gLyBlaW5lIHRvbGxlIElkZWUuCgpJY2ggYmluIHNlaHIgZnJvaCwgZGFzcyAuLi4KCkljaCBmcmV1ZSBtaWNoIHNlaHIgYXVmIC4uLgoKCgoKCkxpZWJlciAuLi4sCnNjaMO2biwgZGFzcyBkdSBhbiBtZWluZW4gR2VidXJ0c3RhZyAgIGdlZGFjaHQgaGFzdC4gRGllIEJsdW1lbiBoYWJlbiBtaWNoIHNlaHIgZ2VmcmV1dC4gRnLDvGhsaW5nc2JsdW1lbiBtYWcgaWNoIGJlc29uZGVycyBnZXJuLgoKTGllYmUgLi4uLCBsaWViZXIgLi4uLAp2aWVsZW4gRGFuayBmw7xyIEV1cmUgdG9sbGVuIEdlc2NoZW5rZS4gRGVyIELDvGNoZXJndXRzY2hlaW4gaXN0IGVpbmUgc3VwZXIgSWRlZQouCkljaCBmcmV1ZSBtaWNoIHNjaG9uIGF1ZiBtZWluZW4gVXJsYXViLiBEYSBsaWVnZSBpY2ggZGFubiBudXIgYW0gU3RyYW5kIHVuZCBsZXNlLiBVbmQgZGllIEdlc2ljaHRzY3JlbWUga2FubiBpY2ggd2lya2xpY2ggZ3V0IGdlYnJhdWNoZW4uIERpZSBiZW51dHplIGljaCBqZXR6dCBqZWRlbiBUYWcuIEljaCBnbGF1YmUsIGljaCBzZWhlIHNjaG9uIHZpZWwgasO8bmdlciBhdXMuCgoKCgoKLS0tCgojIyAxNQoKLS0tCgoKCgpGZXJuc2VoZW4gaW4gRGV1dHNjaGxhbmQKCld1c3N0ZW4gU2llLCBkYXNzCgotIDk1ICUgZGVyIGRldXRzY2hlbiBIYXVzaGFsdGUgZWluZW4gRmVybnNlaGVyIGhhYmVuPwoKLSBTZWFuIENvbm5lcnkgZsO8ciBtZWhyIGFscyBkaWUgSMOkbGZ0ZSBhbGxlciBEZXV0c2NoZW4gZGVyIGJlc3RlIEphbWVzIEJvbmQtIERhcnN0ZWxsZXIgaXN0PwoKLSBpbSBKYWhyIDIwMTAgZGllIG1laXN0ZW4gWnVzY2hhdWVyIGRlcyAiVGF0b3J0cyIgw7xiZXIgNDUgSmFocmUgYWx0IHdhcmVuPwoKLSBmYXN0IDkwJSBhbGxlciBEZXV0c2NoZW4gYXVmc3RlaGVuIHVuZCBkYXMgUHJvZ3JhbW0gd2VjaHNlbG4sIHdlbm4gZGllIEZlcm5iZWRpZW51bmcgbmljaHQgZnVua3Rpb25pZXJ0PyBEaWUgYW5kZXJlbiBibGVpYmVuIHNpdHplbiB1bmQgc2NoYXVlbiBzaWNoIGRpZSBTZW5kdW5nIGFuLCBhdWNoIHdlbm4gc2llIGlobmVuIG5pY2h0IGdlZsOkbGx0LgoKLSA0NyUgZGVyIERldXRzY2hlbiBnbGF1YmVuLCBkYXNzIGRpZSBRdWFsaXTDpHQgZGVzIEZlcm5zZWhlbnMgZHVyY2ggZGllIFByaXZhdHNlbmRlciBuaWNodCBzbyBndXQgaXN0LiA0NSUgZ2xhdWJlbiwgZGFzcyBkaWUgUXVhbGl0w6R0IGdsZWljaCBndXQgaXN0LgoKCkljaCBzZWhlIGFtIGxpZWJzdGVuIGRlbiBUYXRvcnQuCkljaCBzZWhlIGRlbiBUYXRvcnQgaW1tZXIgenVzYW1tZW4gbWl0IEZyZXVuZGVuLgpNYW5jaG1hbCBndWNrZSBpY2ggaWhuIGFsbGVpbiB6dSBIYXVzZSwgYWJlciBtZWlzdGVucyB6dXNhbW1lbiBtaXQgZWluZXIgRnJldW5kaW4uCkRhenUgZ2lidCdzIGltbWVyIEVyZG7DvHNzZSB1bmQgZWluLCB6d2VpIEdsw6RzY2hlbiBTZWt0IG9kZXIgV2Vpbi4KSWNoIHNlaGUgb2Z0IGRlbiBUYXRvcnQsIGFiZXIgaWNoIGhhYmUga2VpbmUgZmVzdGUgR2V3b2huaGVpdC4KSmEsIGRlbiBUYXRvcnQuCldlbm4gaWNoIGFtIFNvbm50YWcgQWJlbmQga2VpbmUgWmVpdCBoYWJlLCBndWNrZSBpY2ggaWhuIHNww6R0ZXIgaW4gZGVyIE1lZGlhdGhlay4KV2lyIHRyZWZmZW4gdW5zIGFtIFNvbm50YWcgaW1tZXIgaW4gZGVyIEtuZWlwZSB1bmQgc2VoZW4gZGVuIG5ldWVuIEZhbGwgZ2VtZWluc2FtLgpNZWluZSBMaWVibGluZ3NzZW5kdW5nIGlzdCBkZXIgVGF0b3J0LgpJY2ggaGFiZSBrZWluZSBMaWVibGluZ3NzZW5kdW5nLgpJY2ggdHJlZmZlIG1pY2ggYW4gamVkZW0gU29ubnRhZ2FiZW5kIG1pdCB6d2VpIEZyZXVuZGlubmVuLgpEYW5uIGtvY2hlbiB3aXIgenVzYW1tZW4gdW5kIGFuc2NobGllw59lbmQgc2VoZW4gd2lyIHVucyBkZW4gbmV1ZW4gVGF0b3J0IGFuLgoKCldhcyBzZWhlbiBTaWUgZ2VybiBpbSBGZXJuc2VoZW4/CkhhYmVuIFNpZSBlaW5lIExpZWJsaW5nc3NlbmR1bmcvIExpZWJsaW5nc3NlcmllPwpXbywgd2FubiB1bmQgbWl0IHdlbSBzZWhlbiBTaWUgc2llPwpIYWJlbiBTaWUgYmVzdGltbXRlIEdld29obmhlaXRlbj8KCgpFaW5lIFdvY2hlIG9obmUgSW50ZXJuZXQKCgpXYXMga29ubnRlbiBTaWUgbmljaHQgbWFjaGVuPwpXYXMgaGFiZW4gc2llIHN0YXR0ZGVzc2VuIGdlbWFjaHQ/IHouQi4gRnJldW5kZSDigJxsaXZl4oCcIHRyZWZmZW4KV2llIGhhYmVuIFNpZSBzaWNoIGdlZsO8aGx0PwpIYWJlbiBTaWUgZXR3YXMgYXVzIGRlciBTaXR1YXRpb24gZ2VsZXJudD8KClBsw7Z0emxpY2ggLi4uLyBVbmQgd2Vpw590IGR1LCB3YXMgZGFubiBwYXNzaWVydCBpc3Q/IC8gQWxzbyBwYXNzIGF1ZjogLi4uLyBadW0gR2zDvGNrLi4uLyBIb2ZmZW50bGljaC4uLi8gTGVpZGVyIC4uLi8gLi4uCgoKRmVybnNlaGVuIGZyw7xoZXIuCgpJY2ggaGFiZSBudXIgd2VuaWcgZmVybmdlc2VoZW4sICphbHMqIGljaCBrbGVpbiB3YXIuCgoqQWxzKiBlcyBub2NoIGtlaW5lIFByaXZhdHNlbmRlciBnZWdlYmVuIGhhdCwgaGF0dGVuIHdpciBudXIgZHJlaSBQcm9ncmFtbWUuCgoqV2Vubiogc29ubnRhZ3MgZGllIFNlcmllICJMaW5kZW5zdHJhw59lIiBnZWxhdWZlbiBpc3QsIGhhYmUgaWNoIGltbWVyIHZvciBkZW0gRmVybnNlaGVyIGdlc2Vzc2VuLgoKSWNoIHdhciBzY2hvbiA4IEphaHJlIGFsdCwgKmFscyogbWVpbmUgRWx0ZXJuIGRlbiBlcnN0ZW4gRmVybnNlaGVyIGdla2F1ZnQgaGFiZW4uCgpJY2ggaGFiZSBpbW1lciBkYW5uIGRlbiAiVGF0b3J0IiBnZWd1Y2t0LCAqd2VubiogbWVpbmUgRWx0ZXJuIG5pY2h0IHp1IEhhdXNlIHdhcmVuLgoKCgpXYXMgd2lyZCBpbSBEZXV0c2Noa3VycyBnZW1hY2h0PyAKCkVpbiBUZXN0IHdpcmQgZ2VzY2hyaWViZW4uCgphIE1hbmNobWFsIChTw6R0emUgw7xiZXJzZXR6ZW4gKSB3ZXJkZW4gU8OkdHplIMO8YmVyc2V0enQuCgpiIE5ldWUgV8O2cnRlciAoYXVmc2NocmVpYmVuKSB3ZXJkZW4gYXVmZ2VzY2hyaWViZW4uCgpjIEVpbiBGaWxtIChhbnNjaGF1ZW4pIHdpcmQgYW5nZXNjaGF1dC4KCmQgT2Z0IChkaWUgR3JhbW1hdGlrIHdpZWRlcmhvbGVuKSB3aXJkIGRpZSBHcmFtbWF0aWsgd2llZGVyaG9sdC4KCmUgQXVmZ2FiZW4gKGzDtnNlbikgd2VyZGVuIGdlbMO2c3QuCgpmIFRleHRlIChrb3JyaWdpZXJlbikgd2VyZGVuIGtvcnJpZ2llcnQuCgotLS0KCiMjIDE2CgotLS0KCkljaCB3w7xyZGUgZ2VybiB3aXNzZW4sIG9iIFNpZSBub2NoIGVpbiBaaW1tZXIgZnJlaSBoYWJlbi4KCgoKRGllIFBlcnNvbmVuIG1hY2hlbiBlaW5lIEF1c2JpbGR1bmcgaW4gZWluZW0gSG90ZWwuCkZyYXUgVGhhbGF1IGJsZWlidCB6d2VpIE7DpGNodGUgdW5kIGJla29tbXQgZWluIEVpbnplbHppbW1lciBudXIgbWl0IEhhbGJwZW5zaW9uLgoKSGVyciBLbGVpbiBiZWtvbW10IGVpbiBaaW1tZXIgbWl0IFN0cmFuZGJsaWNrLgoKRsO8ciBkaWUgQW5ydWZlcmluIGdpYnQgZXMgbm9jaCBlaW4gWmltbWVyLgoKCkljaCB3w7xyZGUgZ2VybiB3aXNzZW4sIG9iIFNpZSBub2NoIGVpbiBaaW1tZXIgZnJlaSBoYWJlbi4KCkRhcmYgaWNoIGZyYWdlbiwgd2llIGxhbmdlIFNpZSBiZWkgdW5zIGJsZWliZW4gbcO2Y2h0ZW4/CgpCcmF1Y2hlbiBTaWUgZWluIEVpbnplbHppbW1lciBvZGVyIGVpbiBEb3BwZWx6aW1tZXI/CgpJbSBCYWQgc2luZCDDvGJlcmFsbCBIYWFyZS4KCkVzIHR1dCBtaXQgbGVpZCwgd2VubiBzaWUgw4RyZ2VyIGhhdHRlbi4KClR1dCBtaXIgbGVpZCwgd2lyIHNpbmQgYXVzZ2VidWNodC4KCgoKCkphLyBOZWluLUZyYWdlbiAgCkhhYmVuIHNpZSBub2NoIGVpbiBaaW1tZXIgZnJlaT8gIAoqSWNoIHfDvHJkZSBnZXJuIHdpc3NlbiosICpvYiogU2llIG5vY2ggZWluIFppbW1lciBmcmVpICpoYWJlbio/CgpGcmFnZW4gbWl0IEZyYWdld29ydCAgCldpZSBsYW5nZSBtw7ZjaHRlbiBzaWUgZGVubiBiZWkgdW5zIGJsZWliZW4/ICAKKkRhcmYgaWNoIGZyYWdlbiosICp3aWUgbGFuZ2UqIFNpZSBkZW5uIGJlaSB1bnMgYmxlaWJlbiAqbcO2Y2h0ZW4qPwoKCkRhcmYgaWNoIGZyYWdlbiwgd2llIHZpZWwgZWluIEVpbnplbHppbW1lciBrb3N0ZXQ/IAoKS8O2bm5lbiBTaWUgbWlyIGVya2zDpHJlbiwgd2llIGRhcyBUZWxlZm9uIGZ1bmt0aW9uaWVydD8KCldpc3NlbiBTaWUsIG9iIGRpZSBHZXNjaMOkZnRlIG5vY2ggb2ZmZW4gc2luZD8KCkvDtm5uZW4gU2llIG1pciBzYWdlbiwgd28gbWFuIHNjaG5lbGwgZWluZW4gS2FmZmVlIHRyaW5rZW4ga2Fubj8KCkljaCB3ZWnDnyBuaWNodCwgd2FydW0gbWVpbiBHZXDDpGNrIG5vY2ggbmljaHQgYW5nZWtvbW1lbiBpc3QuCgpJY2ggd8O8cmRlIGdlcm4gd2lzc2VuLCB3b2hpbiBtYW4gYW0gQWJlbmQgZ2VoZW4ga2Fubj8KCgpEYXJmIGljaCBmcmFnZW4sIG9iIElociBFc3NlbiBzY2hhcmYgaXN0PwoKSXN0IElociBFc3NlbiBzY2hhcmY/CgpLw7ZubmVuIFNpZSBtaXIgc2FnZW4sIG9iIG1hbiBlaW5lbiBUaXNjaCByZXNlcnZpZXJlbiBtdXNzPwoKTXVzcyBtYW4gZWluZW4gVGlzY2ggcmVzZXJ2aWVyZW4/CgpXaXNzZW4gU2llLCBvYiBkZXIgUGxhdHogbm9jaCBmcmVpIGlzdD8KCklzdCBkZXIgUGxhdHogbm9jaCBmcmVpPwoKSWNoIHdlacOfIG5pY2h0LCBvYiBtYW4gaW4gZGllc2VtIFJlc3RhdXJhbnQgdmVnZXRhcmlzY2ggZXNzZW4ga2Fubi4KCkthbm4gbWFuIGluIGRpZXNlbSBSZXN0YXVyYW50IHZlZ2V0YXJpc2NoIGVzc2VuLgoKCgoKU2llIHJlaXNlbiBuYWNoIERldXRzY2hsYW5kIHVuZCBtw7ZjaHRlbiBlaW4gWmltbWVyIGluIGVpbmVtIEhvdGVsIGJ1Y2hlbi4KClN1Y2hlbiBTaWUgenVlcnN0IGltIEludGVybmV0IGVpbiBIb3RlbCwgaW4gZGVtIFNpZSB3b2huZW4gd29sbGVuLgpTY2hyZWliZW4gU2llIGRhbm4gZWluZSBFLU1haWwgYW4gZGFzIEhvdGVsLgpOb3RpZXJlbiBTaWUgZGllIEludGVybmV0YWRyZXNzZSBkZXMgSG90ZWxzIGluIElocmVtIFRleHQuClNjaHJlaWJlbiBTaWUgenUgZm9sZ2VuZGVuIEFzcGVrdGVuOgpEYXRlbgoKUHJlaXMKClBlcnNvbmVuCgpBbnphaGwgZGVyIE7DpGNodGUKCk1pdC9vaG5lIEZyw7xoc3TDvGNrLCBXSUZJLCBCYWQvRHVzY2hlL1BhcmtwbGF0egoKWmltbWVydHlwCgpTZXJ2aWNlYW5nZWJvdGUKCgoKCgotLS0KCiMjIDE3CgotLS0KClNpbW9uZSB1bmQgRmVsaXggZmFocmVuIGluIGRlbiBVcmxhdWIuCgpEaWUgTmFjaGJhcmluIHNvbGwgYXVmIGRhcyBIYXVzIGF1ZnBhc3Nlbi4KClNpbW9uZSB1bmQgRmVsaXggd29sbGVuIGVpbiBUYWdlYnVjaCBpbSBJbnRlcm5ldCBzY2hyZWliZW4uCgoKVW5zZXJlIFJlaXNlIG5hY2ggUnVtw6RuaWVuCgoKCgoKCi0tLQoKIyMgMTgKCi0tLQoKCklocmUgTWVpbnVuZyB6dW0gV2V0dGVyCgoKRGFyZiBpY2gga3VyeiBtaXQgSWhuZW4gw7xiZXIgZGllc2VuIHd1bmRlcmJhcmVuIFdpbnRlciBzcHJlY2hlbj8KSGFiZW4gU2llIGRlbm4ga2VpbmUgTHVzdCBhdWYgRWlzIHVuZCBTY2huZWU/CkljaCBpbnRlcmVzc2llcmUgbWljaCBuaWNodCBmw7xyIFdpbnRlcnNwb3J0LgpEaWUgbWVpc3RlbiBNZW5zY2hlbiBmcmV1ZW4gc2ljaCBhdWYgZWluZW4gaGVpw59lbiBUZWUuClNwcmVjaGVuIFNpZSBtaXQgbWlyPwpJY2ggaW50ZXJlc3NpZXJlIG1pY2ggZsO8ciBJaHJlIE1laW51bmcgenVtIFdldHRlci4KSWNoIGRlbmtlLCBTaWUgc2luZCBzbyByaWNodGlnIHp1ZnJpZWRlbiBtaXQgZGllc2VtIHNjaMO2bmVuIFNvbW1lcnRhZy4KUXVhdHNjaCwgaWNoIGhhYmUgdm9tIFdpbnRlciBnZXRyw6R1bXQuCkljaCDDpHJnZXJlIG1pY2ggw7xiZXIgZGllIEhpdHplLgoKCi0gVmVyYmVuIG1pdCBQcsOkcG9zaXRpb25lbgoKICAtIFZlcmJlbiBtaXQgUHLDpHBvc2l0aW9uZW4gKyBBa2t1c2F0aXYKClNpZSBmcmV1ZW4gc2ljaCBhdWYgZWluZW4gaGVpw59lbiBUZWUuCgpJY2ggw6RyZ2VyZSBtaWNoIMO8YmVyIGRpZSBIaXR6ZS4KCmF1Y2ggc286IHNwcmVjaGVuIMO8YmVyLCBMdXN0IGhhYmVuIGF1Ziwgc2ljaCBpbnRlcmVzc2llcmVuIGbDvHIKCiAgLSBWZXJiZW4gbWl0IFByw6Rwb3NpdGlvbmVuICsgRGF0aXYKClNpbmQgU2llIHp1ZnJpZWRlbiBtaXQgZGllc2VtIHNjaMO2bmVuIFNvbW1lcnRhZz8KClNwcmVjaGVuIFNpZSBtaXQgbWlyPwoKYXVjaCBzbzogdHLDpHVtZW4gdm9uCgoKCgoKCi0tLQoKIyMgMTkKCi0tLQoKCldlbm4gZWluZSBBdXNzdGVsbHVuZyBlcsO2ZmZuZXQgd2lyZCwgZGFubiBuZW5udCBtYW4gZGFzIGVpbmUgVmVybmlzc2FnZS4KCkltIFppcmt1cyBrw7ZubmVuIFNpZSBDbG93bnMgdW5kIEFydGlzdGVuIHNlaGVuLgoKV2VubiBTaWUga2xhc3Npc2NoZSBNdXNpayBtw7ZnZW4sIGlzdCBlaW4ga2xhc3Npc2NoZXMgS29uemVydCBnZW5hdSBkYXMgUmljaHRpZ2UgZsO8ciBTaWUuCgoKCldvIHdhcnN0IGR1IHNvIGxhbmdlPyAgCldvaGVyIGtvbW1zdCBkdSBzbyBzcMOkdD8gIApXb2hpbiBnZWhzdCBkdSBzY2hvbiB3aWVkZXI/ICAKCldvIGhhc3QgZHUgZGVpbmUgSmFja2UgdmVyZ2Vzc2VuPyAgCldvaGVyIGhhc3QgZHUgZGllc2UgQmx1bWVuPyAgCldvaGluIGhhc3QgZHUgZGVuIEJyaWVmIGdlc2NoaWNrdD8gIAoKV28gaXN0IGRlaW4gTGFjaGVuIGdlYmxpZWJlbj8gIApXb2hlciBrb21tdCBtZWluZSBBbmdzdD8gIApXb2hpbiBpc3QgdW5zZXJlIExpZWJlIGdlZ2FuZ2VuPyAgCgoKYmVpICsgZGVtID0gYmVpbSAgCmluICsgZGVtID0gaW0gIAp6dSArIGRlciA9IHp1ciAgCmluICsgZGFzID0gaW5zICAKCgpQZXRyYSBpc3QgLi4uICAKYmVpIGlocmVyIEZyZXVuZGluICAKKmJlaW0qIEpvZ2dlbiAgCmltIEtvbmZlcmVuenJhdW0gIAppbSBTY2h3aW1tYmFkICAKYmVpIGVpbmVyIFZlcmFuc3RhbHR1bmcgIApiZWltIEFyenQgIAppbiAgZWluZW0gTG9rYWwgIAoKUGV0cmEgZ2VodCAuLi4gIAp6dSBpaHJlciBGcmV1bmRpbi4gIAp6dW0gSm9nZ2VuLiAgCmluIGRlbiBLb25mZXJlbnpyYXVtLiAgCmlucyBTY2h3aW1tYmFkLiAgCnp1IGVpbmVyIFZlcmFuc3RhbHR1bmcuICAKenVtIEFyenQuICAKaW4gZWluIExva2FsLiAgCgoKKiBXYXJzdCBkdSBiZWkgZGVpbmVyIFRhbnRlIG9kZXIga29tbXN0IGR1IGVyc3QgamV0enQgdm9uIGRlciBTdGFkdD8KKiBJY2gga29tbWUgdm9tIEVpbmthdWZlbi4gWnUgVGFudGUgVGhlYSBnZWhlIGljaCBlcnN0IG1vcmdlbi4gSmV0enQgYmluIGljaCB0b3RhbCBtw7xkZS4gSWNoIGdsYXViZSwgaWNoIGthbm4gaGV1dGUgbmljaHQgbWVociB6dW0gSm9nZ2VuIGdlaGVuLgoKKiBEYXMgaGFiZSBpY2ggbWlyIHNjaG9uIGdlZGFjaHQuIER1IHdhcnN0IGRvY2ggYmVzdGltbXQgZGVuIGdhbnplbiBUYWcgaW0gS2F1ZmhhdXMuCiogTmEgamEsIGluIGFuZGVyZW4gR2VzY2jDpGZ0ZW4gd2FyIGljaCBuYXTDvHJsaWNoIGF1Y2guCgoqIFdhcyBtYWNoZW4gd2lyIGVpZ2VudGxpY2ggaGV1dGUgQWJlbmQ/IFNvbGxlbiB3aXIgaW5zIEtpbm8gZ2VoZW4gb2RlciBtw7ZjaHRlc3QgZHUgbGllYmVyIHp1bSBFc3NlbiBnZWhlbj8KKiBCZWltIEVzc2VuIHdhcmVuIHdpciBkb2NoIGdlc3Rlcm4gc2Nob24gdW5kIGltIEtpbm8gd2FyIGljaCBlcnN0IGxldHp0ZSBXb2NoZS4gTGFzcyB1bnMgaW5zIFRoZWF0ZXIgZ2VoZW4uCgoKCgoKCnwgICAgICAgICAgIHwgV28/ICAgICAgICAgICAgICAgICAgICAgfCBXb2hpbj8gICAgICAgICAgICAgIHwKfC0tOiAgICAgICAgfC0tOiAgICAgICAgICAgICAgICAgICAgICB8LS06ICAgICAgICAgICAgICAgICAgfAp8T3J0ZSAgICAgICB8aW4gZGVyIFdlcmtzdGF0dCAgICAgICAgIHxpbiBkZW4gS29uZmVyZW56cmF1bSB8CnxBa3Rpdml0w6R0ZW58YmVpbSBSYXVjaGVuICAgICAgICAgICAgIHx6dW0gU2Nod2ltbWVuICAgICAgICB8CnwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfHp1ciBCZXJhdHVuZyAgICAgICAgIHwKfFBlcnNvbmVuICAgfGJlaSBkZXIgU2Nod2llZ2VydG9jaHRlciB8enUgZGVuIEZyZXVuZGVuICAgICAgfAp8ICAgICAgICAgICB8YmVpIGRlbiBMZXV0ZW4gICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8CgogCgoKVmVyYW5zdGFsdHVuZ3N0aXBwcwoKRsO8ciBkaWUgT3BlciAiQ2FybWVuIiBpbSBTdGFkdHRoZWF0ZXIgZ2lidCBlcyBub2NoIEthcnRlbi4KCkRpZSBBdXNzdGVsbHVuZyBtaXQgTGFuZHNjaGFmdHNiaWxkZXJuIHdpcmQgdmVybMOkbmdlcnQuCgpCZWkgZGVyIFZlcm5pc3NhZ2Uga2FubiBtYW4gRm90b3Mgc2VoZW4uCgpEYXMga3VsdHVyZWxsZSBIaWdobGlnaHQgZGVyIFdvY2hlIGlzdCBkaWUgTXVzaWtuYWNodCBhbSBTYW1zdGFnLiBBbiB2aWVsZW4gdmVyc2NoaWVkZW5lbiBPcnRlbiBmaW5kZW4gS29uemVydGUgdW5kIFdvcmtzaG9wcyBzdGF0dC4KCkFtIFNvbm50YWcgZmluZGV0IGltIFplbnRydW0gYWIgMTUuMDAgVWhyIGVpbiBTdGFkdHNwYXppZXJnYW5nIHN0YXR0LgoKCgoKKiBXaXIga8O2bm5lbiBhbSBXb2NoZW5lbmRlIG1hbCB3aWVkZXIgZXR3YXMgenVzYW1tZW4gdW50ZXJuZWhtZW4uIEhhc3QgZHUgTHVzdD8KKiBPaCBqYSwgbGFzcyB1bnMgenVzYW1tZW4gd2VnZ2VoZW4uCiogSWNoIGhhYmUgZGEgZWluZW4gVm9yc2NobGFnLiBBbSBTYW1zdGFnIGdpYnQgZXMgZWluZSBMZXN1bmcgdm9uIFdsYWRpbWlyIEthbWluZXIuCiogRWluZSBMZXN1bmc/IERhcyBow7ZydCBzaWNoIGphIG5pY2h0IHNvIHRvbGwgYW4uCiogVW5zaW5uISBFaW5lIExlc3VuZyBtaXQgS2FtaW5lciBpc3QgZXR3YXMgQmVzb25kZXJlcy4gR2xhdWIgbWlyLCBkYXMgbG9obnQgc2ljaC4KKiBJY2ggd8O8cmRlIGxpZWJlciBpbiBkZW4gbmV1ZW4gQ2x1YiBnZWhlbi4KKiBEYXMga8O2bm5lbiB3aXIgamEgZGFuYWNoIGltbWVyIG5vY2ggbWFjaGVuLgoqIEFsc28gZ3V0LCBkYW5uIGxhc3MgdW5zIHp1IGRlciBMZXN1bmcgZ2VoZW4uCgoKLSBMYXNzIHVucyBkb2NoIG1hbCBpbiBlaW5lIEthcmFva2UtQmFyIGdlaGVuLgotIEFsc28sIGljaCB3ZWnDnyBuaWNodC4gSWNoIHdhciBub2NoIG5pZSBpbiBlaW5lciBLYXJhb2tlLUJhci4KLSBJY2ggYXVjaCBuaWNodC4gQWJlciBkYXMgbWFjaHQgYmVzdGltbXQgU3Bhw58uIEJpc3QgZHUgZGVubiBnYXIgbmljaHQgbmV1Z2llcmlnPwotIEljaCB3ZWnDnyBuaWNodCwgb2IgaWNoIHNpbmdlbiBrYW5uLgotIERhbm4gcHJvYmllciBkYXMgZG9jaCBtYWwuCi0gSWNoIGdsYXViZSwgaWNoIHNpbmdlIHdpcmtsaWNoIHNjaGxlY2h0LgotIFNpZWggZGFzIGRvY2ggbmljaHQgc28gbmVnYXRpdi4gRGllIGFuZGVyZW4ga8O2bm5lbiBkb2NoIGF1Y2ggbmljaHQgc2luZ2VuLiBEZXNoYWxiIGlzdCBlcyBkb2NoIHNvIGx1c3RpZy4KLSBOYSBqYS4gVmllbGxlaWNodCBoYXN0IGR1IHJlY2h0LgotIEF1w59lcmRlbSBpc3QgZGVyIEVpbnRyaXR0IGtvc3Rlbmxvcy4KLSBTY2hvbiBndXQuIEljaCBrb21tZSBtaXQuCgoKCgoKCi0tLQoKIyMgMjAKCi0tLQoKCkhldXRlIEFiZW5kIGdlaGUgaWNoIHp1IGVpbmVyIExlc3VuZy4gV29sbHQgaWhyIGF1Y2ggbWl0a29tbWVuPwoKSWNoIG1hZyBrZWluZSBLcmltaXMuCgpIaWVyIGluIGRlciBCdWNoaGFuZGx1bmcgZGFyZnN0IGR1IGtlaW4gRWlzIGVzc2VuLiBEYXMgaXN0IHZlcmJvdGVuLgoKUHN5Y2hvbG9nZW4gc2FnZW4sIG1hbiBzb2xsIEtpbmRlcm4gdm9ybGVzZW4uIEVzIGlzdCBndXQgZsO8ciBzaWUuCgpNZWluZSBLaW5kZXIgZ2VoZW4gbm9jaCBuaWNodCBpbiBkaWUgU2NodWxlLiBTaWUga8O2bm5lbiBub2NoIG5pY2h0IGxlc2VuLgoKRsO8ciB1bnNlcmVuIExpdGVyYXR1cmt1cnMgbcO8c3NlbiB3aXIgYmlzIHp1bSBuw6RjaHN0ZW4gTWFsIDUwMCBTZWl0ZW4gdm9uIGVpbmVtIHRvdGFsIGxhbmd3ZWlsaWdlbiBBdXRvciBsZXNlbi4KCgoKSGV1dGUgQWJlbmQgZ2VoZSBpY2ggenUgZWluZXIgTGVzdW5nLiBXb2xsdCBpaHIgYXVjaCBtaXRrb21tZW4/ICAKSWNoIG1hZyBrZWluZSBLcmltaXMuICAKSGllciBpbiBkZXIgQnVjaGhhbmRsdW5nIGRhcmZzdCBkdSBrZWluIEVpcyBlc3Nlbi4gRGFzIGlzdCB2ZXJib3Rlbi4gIApQc3ljaG9sb2dlbiBzYWdlbiwgbWFuIHNvbGwgS2luZGVybiB2b3JsZXNlbi4gRXMgaXN0IGd1dCBmw7xyIHNpZS4gIApNZWluZSBLaW5kZXIgZ2VoZW4gbm9jaCBuaWNodCBpbiBkaWUgU2NodWxlLiBTaWUga8O2bm5lbiBub2NoIG5pY2h0IGxlc2VuLiAgCkbDvHIgdW5zZXJlbiBMaXRlcmF0dXJrdXJzIG3DvHNzZW4gd2lyIGJpcyB6dW0gbsOkY2hzdGVuIE1hbCA1MDAgU2VpdGVuIHZvbiBlaW5lbSB0b3RhbCBsYW5nd2VpbGlnZW4gQXV0b3IgbGVzZW4uCgoKCk1laW4gZ3Jvw59lciBCcnVkZXIga29ubnRlIHNjaG9uIGxlc2VuLCBhYmVyIGljaCBub2NoIG5pY2h0LiBEYXMgaGF0IG1pY2ggYWxzIGtsZWluZXMgS2luZCBzZWhyIGdlw6RyZ2VydC4gQWxzIGljaCBkYW5uIGVuZGxpY2ggYXVjaCBsZXNlbiBrb25udGUsIHdvbGx0ZSBpY2ggYW0gbGllYnN0ZW4gbmljaHRzIGFuZGVyZXMgbWVociBtYWNoZW4uIENvbWljcyBtb2NodGUgaWNoIGJlc29uZGVycyBnZXJuLiBMZWlkZXIgbXVzc3RlIGljaCBhYmVyIGF1Y2ggdmllbCBIYXVzYXVmZ2FiZW4gbWFjaGVuLiBFaW5tYWwgc29sbHRlbiB3aXIgZWluZSBHZXNjaGljaHRlIHNjaHJlaWJlbi4gRGFzIGhhdCBtaXIgZ3Jvw59lbiBTcGHDnyBnZW1hY2h0LiBBbGxlIFNjaMO8bGVyIGR1cmZ0ZW4gZGllIEdlc2NoaWNodGUgaW4gZGVyIFNjaHVsZSB2b3JsZXNlbi4gTWVpbmUgaGF0IHZpZWxlbiBhbSBiZXN0ZW4gZ2VmYWxsZW4uIFZvbiBkYSBhbiB3b2xsdGUgaWNoIEF1dG9yIHdlcmRlbi4KCgoKSWNoIGtvbm50ZSBzY2hvbiBtaXQgZsO8bmYgSmFocmVuIG1laW5lbiBOYW1lbiBzY2hyZWliZW4uICAKTW9jaHRldCBpaHIgYWxzIEtpbmQgYXVjaCBzbyBnZXJuIE3DpHJjaGVuPyAgCldpciBtdXNzdGVuIGFscyBLaW5kZXIgc29ubnRhZ3Mgb2Z0IFZlcndhbmR0ZSBiZXN1Y2hlbi4gRGFzIHdhciBpbW1lciBzZWhyIGxhbmd3ZWlsaWcuICAKSnVsaWEgZHVyZnRlIGFscyBrbGVpbmVzIEtpbmQgbmljaHQgZmVybnNlaGVuLiBJaHJlIEVsdGVybiBoYWJlbiBlcyB2ZXJib3Rlbi4gIApBbSBsaWVic3RlbiBtb2NodGUgaWNoIENvbWljcy4gTWVpbmUgRWx0ZXJuIG1laW50ZW4gYWJlciwgaWNoIHNvbGx0ZSBsaWViZXIgS2FybC1NYXktQsO8Y2hlciBsZXNlbi4gIApEaXJrIHdhciBzZWhyIGd1dCBpbSBTcG9ydC4gRGVzaGFsYiB3b2xsdGUgZXIgUHJvZmlzcG9ydGxlciB3ZXJkZW4uCgoKCi0tLQoKIyMgMjEKCi0tLQoKCkVpbmUgWmV1Z2VuYXVzc2FnZQotIEvDtm5uZW4gU2llICpkZW4qIFTDpHRlciB3aWVkZXJlcmtlbm5lbj8KLSBPaCBqYS4gKkRlciogZGEgd2FyIGVzISBJY2ggYmluIHppZW1saWNoIHNpY2hlci4KLSAqV2VsY2hlbiogbWVpbmVuIFNpZT8gKkRlbiogaGllcj8KLSBOZWluLiAqRGVuKiBkYS4KLSAqRGVuKiBtaXQgZGVyIE51bW1lciAwODE1PwotIEphLCBnZW5hdS4gKkRlbiogbWVpbmUgaWNoLiAqRGVyKiBrYW5uIGVzIGdld2VzZW4gc2Vpbi4KCgoKCkljaCBsYXNzZSBtb3JnZW4gZWluIFNpY2hlcmhlaXRzc2NobG9zcyBlaW5iYXVlbiB1bmQgbWVpbmUgRmVuc3RlciBzaWNoZXJuLgoKSGVyciBXaW50ZXIgbMOkc3N0IHNlaW5lIFJlaWZlbiBpbW1lciBpbiBkZXIgV2Vya3N0YXR0IHdlY2hzZWxuLiAKCldpciBsYXNzZW4gdW5zZXJlIFdvaG51bmcgaW1tZXIgZG9ubmVyc3RhZ3MgcHV0emVuLgoKRGFzIGlzdCBzY2h3ZXIuIFdhcnVtIGzDpHNzdCBkdSBkaXIgbmljaHQgaGVsZmVuPwoKTWVpbmUgTmFjaGJhcm4gbGFzc2VuIGtvbW1lbmRlIFdvY2hlIGlocmUgV29obnVuZyByZW5vdmllcmVuLgoKTGFzc3QgaWhyIGV1cmUgRmFocnLDpGRlciBhdWNoIGltbWVyIHJlcGFyaWVyZW4/CgpNZWluZSBFbHRlcm4gcHV0emVuIGlociBIYXVzIG5pY2h0IHNlbGJzdC4KU2llIGxhc3NlbiBpaHIgSGF1cyBwdXR6ZW4uCgpXaXIgaG9sZW4gdW5zZXJlIEdldHLDpG5rZSBuaWNodCBzZWxic3QuCldpciBsYXNzZW4gdW5zIGRpZSBHZXRyw6Rua2UgYnJpbmdlbi4KCkpvYWNoaW0gaW5zdGFsbGllcnQgQ29tcHV0ZXJwcm9ncmFtbWUgbmljaHQgc2VsYnN0LgpKb2FjaGltIGzDpHNzdCBzaWUgaW5zdGFsbGllcmVuLgoKSWNoIHJlcGFyaWVyZSBtZWluIEF1dG8gbmllIHNlbGJzdC4KSWNoIGxhc3NlIGVzIHJlcGFyaWVyZW4uCgoKClRhdXNjaHJpbmdlCgoKCgoKCgotLS0KCiMjIDIyCgotLS0KCgoKUmFkaW9zZW5kdW5nIENhcnNoYXJpbmcgLSBlaW5lIHNpbm52b2xsZSBBbHRlcm5hdGl2ZT8KCgoKCgoKClNlaXRkZW0gaWNoIG1laHIgR2VoYWx0IGJla29tbWUsIG11c3MgaWNoIGF1Y2ggbWVociBTdGV1ZXJuIGJlemFobGVuLgoKTWl0IGRlbSBGYWhycmFkIGRhdWVydCBlcyBow7ZjaHN0ZW5zIGVpbmUgU3R1bmRlLCBiaXMgd2lyIHVuc2VyIFppZWwgZXJyZWljaGVuLgoKU2VpdGRlbSBpY2ggZWluIG5ldWVzIEF1dG8gaGFiZSwgbWFjaHQgbWlyIGRhcyBGYWhyZW4gd2llZGVyIG1laHIgU3Bhw58uCgpTZWl0ZGVtIHdpciB1bnMgZWluIEF1dG8gbWl0IGRlbiBOYWNoYmFybiB0ZWlsZW4sIHNwYXJlbiB3aXIgdmllbCBHZWxkLgoKSG9mZmVudGxpY2gga2FubiBkaWUgV2Vya3N0YXR0IHVuc2VyIEF1dG8gcmVwYXJpZXJlbiwgYmlzIHdpciBpbiBVcmxhdWIgZmFocmVuLgoKQmlzIG1laW4gQnVzIGtvbW10LCBtdXNzIGljaCBub2NoIGVpbmUgaGFsYmUgU3R1bmRlIHdhcnRlbi4KCgoKCi0tLQoKIyMgMjMKCi0tLQoKCi0tLQoKIyMgMjQKCi0tLQoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKLS0tCgoKCgoKCgoKCgoKCgoKCi0tLQoKIyBCMQoKLS0tCgpodHRwczovL2h1ZWJlci5kZS9zaGFyZWQvdWVidW5nZW4vbWVuc2NoZW4va2IvYjEvbWVudS5waHAKCmh0dHBzOi8vd3d3LmdvZXRoZS5kZS9pbnMvdHIvdHIvc3RhL2lzdC9wcmYvZ3piMS91ZWIuaHRtbAoKLS0tCgojIyBCMS4xIHsudGFic2V0IC50YWJzZXQtZmFkZSAudGFic2V0LXBpbGxzfSAgCgotLS0KCmh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9zaGFyZWQvdWVidW5nZW4vbWVuc2NoZW4va2IvYjEtMS9tZW51LnBocAoKaHR0cHM6Ly93d3cuaHVlYmVyLmRlL21lZGlhLzM2L01lbnNjaGVuX0xvZXN1bmdzc2NobHVlc3NlbF9BQl9CMS0xLnBkZgoKCi0tLQoKIyMgQjEuMiB7LnRhYnNldCAudGFic2V0LWZhZGUgLnRhYnNldC1waWxsc30gIAoKLS0tCgpodHRwczovL3d3dy5odWViZXIuZGUvc2hhcmVkL3VlYnVuZ2VuL21lbnNjaGVuL2tiL2IxLTIvbWVudS5waHAKCmh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9tZWRpYS8zNi9Mb2VzdW5nc3NjaGx1ZXNzZWxfTWVuc2NoZW5fQUJfQjEtMi5wZGYKCgotLS0KCiMjIyAxMyAKCi0tLQoKQXVzIGRpZXNlbSBHcnVuZCBnYWIgZXMgZWluIE1pc3N2ZXJzdMOjbmRpcyAgCgpkZXIgQWR2b2thdCB8IGRpZSBBZHZva2F0ZW4gIApkaWUgQWR2b2thdGluIHwgZGllIEFkdm9rYXRpbm5lbiAgCmRpZSBBdm9jYWRvIHwgZGllIEF2b2NhZG9zICAKZGllIEVzc2lnc2/Dn2UgfCBkaWUgRXNzaWdzb8OfZW4gIApkZXIgUmVjaHRzYW53YWx0IHwgZGllIFJlY2h0c2Fud8OjbHRlICAKZGllIFJlY2h0c2Fud8OjbHRpbiB8IGRpZSBSZWNodHNhbnfDo2x0aW5uZW4gIApkZXIgw5xiZXJzZXR6dW5nc2ZlaGxlciAgCgpkZXIgSGFobiB8IGRpZSBIw6NobmUgIApkZXIgTmFnZWwgfCBkaWUgTsOjZ2VsICAKZGllIFNjaGxhbmdlIHwgZGllIFNjaGxhbmdlbiAgCmRhcyBTY2hsb3NzIHwgZGllIFNjaGzDtnNzciAgCmRlciBTY2hhbHRlciB8IGRpZSBTY2hhbHRlciAgCmRpZSBCaXJuZSB8IGRpZSBCaXJuZW4gIApkaWUgKEdsw7xoLSlCaXJuZSB8IGRpZSBHbMO8aGJpcm5lbiAgCmRlciBIYWhuIHwgZGllIEjDo2huZSAgCmRlciAoV2Fzc2VyLSlIYWhuIHwgZGllIFdhc3NlcmjDo2huZSAgCmRpZSBCYW5rIHwgZGllIELDo25rZSAgCmRpZSBCYW5rIHwgZGllIELDo25rZW4gIApkaWUgTGVpdGVyIHwgZGllIExlaXRlcm4gIApkZXIgTGVpdGVyIHwgZGllIExlaXRlciAgCmRpZSBBdXNzcHJhY2hlICAKZGllIEJlZ2FidW5nIHwgZGllIEJlZ2FidW5nZW4gIApkZXIgRGlhbGVrdCB8IGRpZSBEaWFsZWt0ZSAgCmRlciBUcm9tbWVsa3VycyB8IGRpZSBUcm9tbWVsa3Vyc2UgIApkaWUgw5xiZXJzZXR6dW5nIHwgZGllIMOcYmVyc2V0enVuZ2VuICAKZGllIFdvcnRiZWRldXR1bmcgfCBkaWUgV29ydGJlZGV1dHVuZ2VuICAKZGFzIFdvcnRzcGllbCB8IGRpZSBXb3J0c3BpZWxlICAKZGVyIFpvb2Jlc3VjaCB8IGRpZSBab29iZXN1Y2hlICAKZGVyIEFuc2NobHVzc2ZsdWcgfCBkaWUgQW5zY2hsdXNzZmzDvGdlICAKZGllIERhdGVpIHwgZGllIERhdGVpZW4gIApkaWUgR2VzY2jDo2Z0c2tsZWlkdW5nICAKZGVyIEFremVudCB8IGRpZSBBa3plbnRlICAKZGVyIEJlYW10ZSB8IGRpZSBCZWFtdGVuICAob2ZmaWNlcikgIApkaWUgQmVhbXRpbiB8IGRpZSBCZWFtdGlubmVuICAKZGFzIFJlZGVtaXR0ZWwtS8OjcnRjaGVuICAKZGFzIFNwcmVjaGVuICAKZGFzIFN0YW5kZXNhbXQgfCBkaWUgU3RhbmRlc8OjbXRlciAgKHJlZ2lzdHJ5IG9mZmljZSkgIApkYXMgVGVla2Vzc2VsY2hlbiB8IGRpZSBUZWVrZXNzZWxjaGVuICAKZGFzIEZhbnRhc2lld29ydCB8IGRpZSBGYW50YXNpZXfDtnJ0ZXIgIApkZXIgVm9rYWwgfCBkaWUgVm9rYWxlICAKZGllIEJlZGV1dHVuZyB8IGRpZSBCZWRlaXR1bmdlbiAgCmRhcyBNaXNzdmVyc3TDo25kaXMgfCBkaWUgTWlzc3ZlcnN0w6NuZGlzc2UgIAoKCgotLS0KCndlZ2xhc3NlbiAgKG9taXQpCnVtc2NocmVpYmVuICAodHJhbnNjcmliZSkgIAplaW4gcHLDo2dlbiAoc2ljaCkgKG1lbW9yaXNlKQpkdXJjaGZhbGxlbiAoZmFpbCBhIHRlc3QpCmJlc29yZ2VuICAKYWJmbGllZ2VuIHwgZmxpZWd0IGFiIHwgZmxvZyBhYiB8IGlzdCBhYmdlZmxvZ2VuCm5hY2ggZXJ6w6NobGVuICAKbmFjaCBmcmFnZW4gIApiZWnDn2VuICAoYml0ZSkgIApiw7ZzZSBzZWluICh0byBiZSBtYWQsIGFuZ3J5KSAgCmVyc2NocmVja2VuIChzaWNoKSAgCm1pc3N2ZXJzdGVoZW4gIAptaXR3b2xsZW4gIAp2ZXLDtmZmZW50bGljaGVuICAKCgotLS0KCmRlc3dlZ2VuICAKZGFyYXVmaGluICAKCi0tLQoKYXVnZW5ibGlja2xpY2ggIApzcHJhY2hsaWNoICAKdW5kZXV0bGljaCAoaW5kaXN0aW5jdCwgZnV6enkpICAKa2F1c2FsICAKCgotLS0KClNpZSBrZW5uZW4gYmVyZWl0cyBkaWUgdmllciBhbSBow6R1Zmlnc3RlbiBnZWJyYXVjaHRlbiBQcsOkcG9zaXRpb25lbiBtaXQgZGVtIEdlbml0aXY6IHfDpGhyZW5kLCB3ZWdlbiwgdHJvdHogdW5kIChhbilzdGF0dC4gCgpFcyBnaWJ0IG5vY2ggZWluZSBSZWloZSBhbmRlcmVyIFByw6Rwb3NpdGlvbmVuLCBkaWUgbWl0IGRlbSBHZW5pdGl2IHZlcndlbmRldCB3ZXJkZW4uIAoKClRlbXBvcmFsZSBQcsOkcG9zaXRpb25lbgoKd8OkaHJlbmQJICAgICAgICAgICAgV8OkaHJlbmQgZGVzIEZsdWdzIGhhdCBlciBnZXNjaGxhZmVuLgppbm5lcmhhbGIgLyBiaW5uZW4gIERlciBUaXNjaCB3aXJkIGlubmVyaGFsYiBlaW5lciBXb2NoZSBnZWxpZWZlcnQuIAogICAgICAgICAgICAgICAgICAgIERlciBUaXNjaCB3aXJkIGJpbm5lbiBlaW5lciBXb2NoZSBnZWxpZWZlcnQuCmF1w59lcmhhbGIJQXXDn2VyaGFsYiBkZXIgU3ByZWNoemVpdGVuIGthbm4gbWFuIGlobiBuaWNodCBlcnJlaWNoZW4uCgpMb2thbGUgUHLDpHBvc2l0aW9uZW46Cgppbm5lcmhhbGIgLyBhdcOfZXJoYWxiCSAgICBTaWUgd29obmVuIGF1w59lcmhhbGIgLyBpbm5lcmhhbGIgZGVyIFN0YWR0LgpvYmVyaGFsYiAvIHVudGVyaGFsYgkgICAgRXIgaGF0IHNpY2ggb2JlcmhhbGIgLyB1bnRlcmhhbGIgZGVzIEtuaWVzIHZlcmxldHp0LgphYnNlaXRzCSAgICAgICAgICAgICAgICAgIERhcyBIYXVzIGxpZWd0IGV0d2FzIGFic2VpdHMgZGVyIEhhdXB0c3RyYcOfZS4KdW53ZWl0CSAgICAgICAgICAgICAgICAgIERlciBCYXVlcm5ob2YgYmVmaW5kZXQgc2ljaCB1bndlaXQgZGVyIFN0YWR0Lgpsw6RuZ3MgICAgICAgICAgICAgICAgICAgCUzDpG5ncyBkZXMgRmx1c3NlcyBzdGVoZW4gdmllbGUgYWx0ZSBCw6R1bWUuCmlubWl0dGVuICAgICAgICAgICAgICAgIAlEaWUgUGVuc2lvbiBpc3QgaW5taXR0ZW4gZGVyIEJlcmdlLgpiZWlkZXJzZWl0cyAgICAgICAgICAgICAJQmVpZGVyc2VpdHMgZGVyIFN0cmHDn2Ugc3RlaGVuIELDpHVtZS4KZGllc3NlaXRzIC8gamVuc2VpdHMJICAgIEplbnNlaXRzIC8gRGllc3NlaXRzIGRpZXNlciBHcmVuemUgbGllZ3QgUG9sZW4uCgoKCi0tLQoKIyMjIDE0CgotLS0KCkRpZSBUZWlsbmFobWUgaXN0IGF1ZiBlaWdlbmUgR2VmYWhyICAKKHBhcnRpY2lwYXRpb24gaXMgb3duIHJpc2spICAKCi0tLQoKc2ljaCBmYWxsZW4gbGFzc2VuICAKdm9ybWFjaGVuICjDtm5jZWRlbiB5YXDEsXAgZ8O2c3Rlcm1laykgIAphdWZmcmlzY2hlbiAgKHJlZnJlc2gpICAKYXVzYmF1ZW4gKHJlY29uc3RydWN0KSAgCmJlbGVnZW4gKGRvY3VtZW50LCByZXNlcnZlKSAgCmJlbsO2dGlnZW4gKG5lZWQpICAKZsO2cmRlcm4gKHByb21vdGUsIHN1cHBvcnQpICAKCgoKCgoKCgoKCgoKLS0tCgp8ICAtfCAgLXwKfC0tOnwtLTp8CnwgZGFzIEdlbGluZ2VuICAKfCBkZXIgS2xldHRlcmt1cnMgfCBkaWUgS2xldHRlcmt1cnNlICAKfCBkYXMgU2VsYnN2ZXJ0cmF1ZW4gKGtlbmRpbmUgZ8O8dmVuKSAgCnwgZGFzIE11bHRpbWVkaWEgIAp8IGRhcyBBYnNwaWVsZW4gIAp8IGRhcyBBZmdoYW5pc3RhbiAgCnwgZGllIEFyZ3VtZW50YXRpb25zdGVjaG5payB8IGRpZSBBcmd1bWVudGF0aW9uc3RlY2huaWNrZW4gIAp8IGRpZSBBdGVtw7xidW5nIHwgZGllIEF0ZW3DvGJ1bmdlbiAoYnJlYXRoaW5nIGV4ZXJjaXNlKSAgCnwgZGVyIEJlaMOjbHRlciB8IGRpZSBCZWjDo2x0ZXIgKGNvbnRhaW5lciwgYm93bCkgIAp8IGRlciBCbGlja2tvbnRha3QgfCBkaWUgQmxpY2trb250YWt0ZSAgCnwgZGFzIENob3JzaW5nZW4gIAp8IGRlciBFaW5kcnVjayB8IGRpZSBFaW5kcnVja2UgIAp8IGRlciBFaW5zdGVpZ2VyIHwgZGllIEVpbnN0ZWlnZXIgIAp8IGRpZSBFaW5zdGVpZ2VyaW4gfCBkaWUgRWluc3RlaWdlcmluICAKCgpkaWUgRmVydGlna2VpdCB8IGRpZSBGZXJ0aWdrZWl0ZW4gIApkaWUgRnJhZ2V0ZWNobmlrIHwgZGllIEZyYWdldGVjaG5pa2VuICAKZGFzIEZyw7xoamFocnNwcm9ncmFtbSB8IGRpZSBGcsO8aGphaHJzcHJvZ3JhbW1lICAKZGllIEdlZmFociB8IGRpZSBHZWZhaHJlbiAoZGFuZ2VyLCBoYXphcmQsIHJpc2spICAKZGllIEdlc2NobWFja3NyaWNodHVuZyB8IGRpZSBHZXNjaG1hY2tzcmljaHR1bmdlbiAgCmRhcyBHZXNwcsOjY2hza2xpbWEgIApkYXMgR2VzcHLDo2Noc3ZlcmhhbHRlbiAgCmRpZSBHZXN0aWsgIApkaWUgR3JhbW1hdGlra2VubnRuaXNzZSAgCmRpZSBHcnVuZGxhZ2UgfCBkaWUgR3J1bmRsYWdlbiAgCmRpZSBHcnVuZHRlY2huaWsgfCBkaWUgR3J1bmR0ZWNobmlrZW4gIApkaWUgSGFmdHVuZyAgCgoKCgotLS0KCmdlaXN0aWcgIChpbnRlbGxlY3R1YWwsIG1lbnRhbCkgIApoZXJhdXMgZm9yZGVybiAoY2hhbGxlbmdpbmcpICAKCgoKCgoKCgoKLS0tCgpyw7xja3fDo3J0cwoKCi0tLQoKCgoKCgoKCgoKCi0tLQoKIyMjIDE1CgoKLS0tCgojIyBCMS4zIHsudGFic2V0IC50YWJzZXQtZmFkZSAudGFic2V0LXBpbGxzfSAgCgoKLS0tCgojIyMgU2ljaGVyIEIxIHsudGFic2V0fSAKCmh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9leGVyY2lzZXMvNTMwLTI1MTU2Lz9yb290UGF0aD0vZXhlcmNpc2VzLzUzMC0yNTE1Ni8KCmh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9zaWNoZXIvbGVocmVuL2xvZXN1bmdlbi9hYgoKCi0tLQoKCiMjIyMgVmVyYmVuIG1pdCBQcsOjcG9zaXRpb24KCgoKfCAqKnZlcmIrcHLDo3Bvc2l0aW9uKip8ICoqK0thc3VzKip8ICoqU2F0eioqfAp8LS06fDotLXwtLXwKfCAgYWIgaMOjbmdlbiB2b258IER8IERpZSBow7ZoZSBkZXIgU3Ryb21rb3N0ZW4gaMOjbmd0IHZvbSBWZXJicmF1Y2ggYWIufAp8ICBhYnN0aW1tZW4gw7xiZXJ8ICBBfCAgU2llIGvDtm5uZW4gamV0enQgw7xiZXIgZGVuIEdld2lubmVyIGRlcyBNYWxsd2V0YmV3ZXJicyBhYnN0aW1tZW4ufAp8ICBhY2h0ZW4gYXVmfCAgQXwgIEFjaHRlbiBTaWUgYmVpIEJhbmstQW5nZWJvdGVuIGF1ZiBkZW4gWmlucy58CnwgIGFuIGZhbmdlbiBtaXR8ICBEfCAgTGFzc2VuIFNpZSB1bnMgbWl0IGRlbSBVbnRlcnJpY2h0IGFuZmFuZ2VuLnwKfCAgYW4ga29tbWVuIGF1ZnwgIEF8ICBFcyBrb21tdCBudXIgYXVmIGRpY2ggc2VsYnN0IGFuLCBvYiBkdSBFcmZvbGcgaGFzdC58CnwgIGFudHdvcnRlbiBhdWZ8ICBBfCAgSWNoIGFudHdvcnRlIGRlbSBDaGVmIG1vcmdlbiBhdWYgc2VpbmUgRS1tYWlsLCBoZXV0ZSBoYWJlIGljaCBrZWluZSBMdXN0IG1laHIufAp8ICB8ICB8ICB8CnwgIHwgIHwgIHwKfCAgfCAgfCAgfAp8ICB8ICB8ICB8CnwgIHwgIHwgIHwKfCAgfCAgfCAgfAp8ICB8ICB8ICB8CnwgIHwgIHwgIHwKfCAgfCAgfCAgfAp8ICB8ICB8ICB8CnwgIHwgIHwgIHwKfCAgfCAgfCAgfAp8ICB8ICB8ICB8CnwgIHwgIHwgIHwKfCAgfCAgfCAgfAoKCgoKCgoKCgotLS0KCiMjIyMgMQoKLS0tCgojIyMjIyBUZW1wb3JhbCBBZHZlcmJpZW4KCi0tLQoKfCAgQmVkZXV0dW5nfCB8ICBUZW1wb3JhbGFkdmVyYnwKfC0tOnwtLTp8CnwgIEjDo3VmaWdrZWl0fCAgaW1tZXIsIG9mdCwgbWFuY2htYWwsIHNlbHRlbiwgbmllfAp8ICBXaWVkZXJob2x1bmd8ICBtb3JnZW5zLCB2b3JtaXR0YWdzLCBtb250YWdzLCBkaWVuc3RhZ3MsIHTDo2dsaWNoLCBtb25hdGxpY2h8ICAKfCAgIHplaXRsaWNoZSBSZWloZW5mb2xnZXwgIHp1ZXJzdCwgZGFubiwgZGFuYWNoLCBhbnNjaGxpZcOfZW5kLCBzY2hpZcOfZW5kbGljaHwKCi0tLQoKIyMjIyMgQWRqZWt0aXZkZWtsaW5hdGlvbgoKLS0tCgoKfCAgKipTaW5ndWxhciwgZGVmaW5pdGVyIGFydGlrZWwqKnwgIG1hc2t1bGluIHwgbmV1dHJhbCB8IGZlbWluaW4gfAp8LS06fC0tOnwtLTp8LS06fAp8ICBOb21pbmF0aXZ8ICBkZXIgc2Now7ZuZSBTYXR6fCAgZGFzIHNjaMO2bmUgV29ydHwgIGRpZSBzY2jDtm5lIFNwcmFjaGV8CnwgIEFra3VzYXRpdnwgIGRlbiBzY2jDtm5lbiBTYXR6IHwgIGRhcyBzY2jDtm5lIFdvcnR8ICBkaWUgc2Now7ZuZSBTcHJhY2hlfAp8ICBEYXRpdnwgIGRlbSBzY2jDtm5lbiBTYXR6fCAgZGVtIHNjaMO2bmVuIFdvcnR8ICBkZXIgc2Now7ZuZW4gU3ByYWNoZXwKfCAgR2VuaXRpdnwgIGRlcyBzY2jDtm5lcyBTYXRzZXp8ICBkZXMgc2Now7ZuZW4gV29ydGVzfCAgZGVyIHNjaMO2bmVuIFNwcmFjaGV8CgoKfCAgKipTaW5ndWxhciwgSW5kZWZpbml0ZXIgQXJ0aWtlbCAoZWluKSwgUG9zc2Vzc2l2YXJ0aWtlbCAobWVpbiwgZGVpbiksIE5lZ2F0aXZhcnRpa2VsIChrZWluKSoqfCAgbWFza3VsaW4gfCBuZXV0cmFsIHwgZmVtaW5pbiB8CnwtLTp8LS06fC0tOnwtLTp8CnwgIE5vbWluYXRpdnwgIGVpbiBzY2jDtm5lciBTYXR6fCAgZWluIHNjaMO2bmVzIFdvcnR8ICBlaW5lIHNjaMO2bmUgU3ByYWNoZXwKfCAgQWtrdXNhdGl2fCAgZWluZW4gc2Now7ZuZW4gU2F0enwgIGVpbiBzY2jDtm5lcyBXb3J0fCAgZWluZSBzY2jDtm5lIFNwcmFjaGV8CnwgIERhdGl2fCAgZWluZW0gc2Now7ZuZW4gU2F0enwgIGVpbmVtIHNjaMO2bmVuIFdvcnR8ICBlaW5lciBzY2jDtm5lbiBTcHJhY2hlfAp8ICBHZW5pdGl2fCAgZWluZXMgc2Now7ZuZW4gU2F0emVzfCAgZWluZXMgc2Now7ZuZW4gV29ydGVzfCAgZWluZXIgc2Now7ZuZW4gU3ByYWNoZXwKCgp8ICAqKlNpbmd1bGFyIE9obmUgQXJ0aWtlbCoqfCAgbWFza3VsaW4gfCBuZXV0cmFsIHwgZmVtaW5pbiB8CnwtLTp8LS06fC0tOnwtLTp8CnwgIE5vbWluYXRpdnwgIHNjaG5lbGxlciBFcmZvbGd8ICBsYW5nZXMgV2FydGVufCAgZ3V0ZSBMZWlzdHVuZ3wKfCAgQWtrdXNhdGl2fCAgc2NoZW5uZWxlbiBFcmZvbGd8ICBsYW5nZXMgV2FydGVufCAgZ3V0ZSBMZWlzdHVuZ3wKfCAgRGF0aXZ8ICBzY2huZWxsZW0gRXJmb2xnfCAgbGFuZ2VtIFdhcnRlbnwgIGd1dGVyIExlaXN0dW5nfAp8ICBHZW5pdGl2fCAgc2NobmVsbGVuIEVyZm9sZ3N8ICBsYW5nZW4gV2FydGVuc3wgIGd1dGVyIExlaXN0dW5nfAoKCnwgICoqUGx1cmFsKip8ICAqKkRlZmluaXRlciBBcnRpbGVsKiogfCAqKk9obmUgQXJ0aWtlbCoqIHwgKipQb3NzZXNzaXZhcnRpa2VsKiogfAp8LS06fC0tOnwtLTp8LS06fAp8ICBOb21pbmF0aXZ8ICBkaWUgc2Now7ZuZW4gV8O2cnRlcnwgIHNjaMO2bmUgV8O2cnRlcnwgIG1laW5lIHNjaMO2bmVuIFfDtnJ0ZXJ8CnwgIEFra3VzYXRpdnwgIGRpZSBzY2jDtm5lbiBXw7ZydGVyfCAgc2Now7ZuZSBXw7ZydGVyfCAgbWVpbmUgc2Now7ZuZW4gV8O2cnRlcnwKfCAgRGF0aXZ8ICBkZW4gc2Now7ZuZW4gV8O2cnRlcm58ICBzY2jDtm5lbiBXw7ZydGVybnwgIG1laW5lbiBzY2jDtm5lbiBXw7ZydGVybnwKfCAgR2VuaXRpdnwgIGRlciBzY2jDtm5lbiBXw7ZydGVyfCAgc2Now7ZuZXIgV8O2cnRlcnwgIG1laW5lciBzY2jDtm5lbiBXw7ZydGVyfAoKLS0tCgoKCgoKCgotLS0KCiMjIyMgMgoKLS0tCgojIyMjIDMKCi0tLQoKIyMjIyA0CgotLS0KCiMjIyMgNQoKLS0tCgojIyMjIDYKCi0tLQoKIyMjIyA3CgoKLS0tCgojIyMjIDgKCgotLS0KCgoKCi0tLQoKIyBCMgoKLS0tCgojIyBTaWNoZXIgQjIgCgotLS0KCmh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9leGVyY2lzZXMvNTMwLTI1MTU4Lz9yb290UGF0aD0vZXhlcmNpc2VzLzUzMC0yNTE1OC8KCi0tLQoKIyMgU2ljaGVyISBCMiBha3R1ZWxsCgotLS0KCmh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9leGVyY2lzZXMvNTMwLTI2NDk0Lz9yb290UGF0aD0vZXhlcmNpc2VzLzUzMC0yNjQ5NC8KCi0tLQoKIyBDMQoKLS0tCgojIyBTaWNoZXIgQzEKCi0tLQoKaHR0cHM6Ly93d3cuaHVlYmVyLmRlL2V4ZXJjaXNlcy81MzAtMjUxNjAvP3Jvb3RQYXRoPS9leGVyY2lzZXMvNTMwLTI1MTYwLwoKCgoKLS0tCgojIEIyLSBDMQoKLS0tCgpodHRwczovL3d3dy5odWViZXIuZGUvc2hhcmVkL2xpdmVib29rL21lbnNjaGVuLWltLWJlcnVmL21lZGl6aW4vYjItYzEvaHRtbDUuaHRtbAoKCmh0dHBzOi8vd3d3Lmh1ZWJlci5kZS9sZXJuZW4vZGV1dHNjaC1hbHMtZnJlbWRzcHJhY2hlCgotLS0KCiMgRGV1dHNjaCBpbSBLcmFua2VuaGF1cyBOZXUgIAoKLS0tCgpodHRwczovL3d3dy5rbGV0dC1zcHJhY2hlbi5kZS9kZXV0c2NoLWltLWtyYW5rZW5oYXVzLW5ldS9yLTEvNzgjcmVpdGVyPXRpdGVsJm5pdmVhdT1BMi1CMgoKLS0tCgojIEFib3V0ICB7I2Fib3V0fQoKLS0tCgpTZWUgdGhlIGNvZGUgW2hlcmVdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYmFsY2kvRGV1dHNjaExlcm5lbikuICAKSWYgeW91IHdhbnQgdG8gY29udHJpYnV0ZSBzZW5kIGEgcHVsbCByZXF1ZXN0IFt0byB0aGlzIGZpbGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9zYmFsY2kvRGV1dHNjaExlcm5lbi9ibG9iL21hc3Rlci9Ob3RpemJ1Y2guUm1kKS4gIAoKCi0tLQoKVGhpcyBkb2N1bWVudCB3aWxsIGJlIGNvbnRpbmlvdXNseSB1cGRhdGVkIGFuZCB0aGUgbGFzdCB1cGRhdGUgd2FzIG9uIGByIFN5cy5EYXRlKClgLiAgCgotLS0KCjxzY3JpcHQgaWQ9ImRzcS1jb3VudC1zY3IiIHNyYz0iLy9odHRwcy1zYmFsY2ktZ2l0aHViLWlvLmRpc3F1cy5jb20vY291bnQuanMiIGFzeW5jPjwvc2NyaXB0PgoKPGRpdiBpZD0iZGlzcXVzX3RocmVhZCI+PC9kaXY+CjxzY3JpcHQ+CgovKioKKiAgUkVDT01NRU5ERUQgQ09ORklHVVJBVElPTiBWQVJJQUJMRVM6IEVESVQgQU5EIFVOQ09NTUVOVCBUSEUgU0VDVElPTiBCRUxPVyBUTyBJTlNFUlQgRFlOQU1JQyBWQUxVRVMgRlJPTSBZT1VSIFBMQVRGT1JNIE9SIENNUy4KKiAgTEVBUk4gV0hZIERFRklOSU5HIFRIRVNFIFZBUklBQkxFUyBJUyBJTVBPUlRBTlQ6IGh0dHBzOi8vZGlzcXVzLmNvbS9hZG1pbi91bml2ZXJzYWxjb2RlLyNjb25maWd1cmF0aW9uLXZhcmlhYmxlcyovCi8qCnZhciBkaXNxdXNfY29uZmlnID0gZnVuY3Rpb24gKCkgewp0aGlzLnBhZ2UudXJsID0gUEFHRV9VUkw7ICAvLyBSZXBsYWNlIFBBR0VfVVJMIHdpdGggeW91ciBwYWdlJ3MgY2Fub25pY2FsIFVSTCB2YXJpYWJsZQp0aGlzLnBhZ2UuaWRlbnRpZmllciA9IFBBR0VfSURFTlRJRklFUjsgLy8gUmVwbGFjZSBQQUdFX0lERU5USUZJRVIgd2l0aCB5b3VyIHBhZ2UncyB1bmlxdWUgaWRlbnRpZmllciB2YXJpYWJsZQp9OwoqLwooZnVuY3Rpb24oKSB7IC8vIERPTidUIEVESVQgQkVMT1cgVEhJUyBMSU5FCnZhciBkID0gZG9jdW1lbnQsIHMgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwpzLnNyYyA9ICdodHRwczovL2h0dHBzLXNiYWxjaS1naXRodWItaW8uZGlzcXVzLmNvbS9lbWJlZC5qcyc7CnMuc2V0QXR0cmlidXRlKCdkYXRhLXRpbWVzdGFtcCcsICtuZXcgRGF0ZSgpKTsKKGQuaGVhZCB8fCBkLmJvZHkpLmFwcGVuZENoaWxkKHMpOwp9KSgpOwo8L3NjcmlwdD4KPG5vc2NyaXB0PlBsZWFzZSBlbmFibGUgSmF2YVNjcmlwdCB0byB2aWV3IHRoZSA8YSBocmVmPSJodHRwczovL2Rpc3F1cy5jb20vP3JlZl9ub3NjcmlwdCI+Y29tbWVudHMgcG93ZXJlZCBieSBEaXNxdXMuPC9hPjwvbm9zY3JpcHQ+CgotLS0KCgojIHdpcmQgb3JnYW5pc2llcnQKCi0tLQoKLSBTdHVkaW8gZCAgCgpodHRwczovL3d3dy5jb3JuZWxzZW4uZGUvcmVpaGVuL3N0dWRpby1kLWRldXRzY2gtYWxzLWZyZW1kc3ByYWNoZS0xMjAwMDAwMTAwMDAKCi0gRGV1dHNjaCBhbHMgRnJlbWRzcHJhY2hlCgpodHRwczovL3d3dy5jb3JuZWxzZW4uZGUvZW1wZmVobHVuZ2VuL2Vyd2FjaHNlbmVuYmlsZHVuZy1zcHJhY2hlbi9kYWYtZGF6CgoKLSBEYVovRGFGLVVudGVycmljaHQKCmh0dHA6Ly93d3cuZ3JhZi1ndXRmcmV1bmQuYXQvCgotIE1laW4gV2VnIE5hY2ggRGV1dHNjaGxhbmQgIAoKaHR0cHM6Ly93d3cuZ29ldGhlLmRlL3Byai9td2QvZGUvaW5kZXguaHRtbAoKLSBUaWNrZXQgbmFjaCBCZXJsaW4g4oCTIGRpZSBBYmVudGV1ZXJzcGllbHNob3chCgpodHRwczovL3d3dy5kdy5jb20vZGUvZGV1dHNjaC1sZXJuZW4vdGlja2V0LW5hY2gtYmVybGluL3MtMzIyOTQKCi0gRGV1dHNjaGUgU3ByYWNoZQoKaHR0cHM6Ly93d3cuZ29ldGhlLmRlL2RlL3Nwci5odG1sCgotIEtPU1RFTkxPUyBERVVUU0NIIMOcQkVOCgpodHRwczovL3d3dy5nb2V0aGUuZGUvZGUvc3ByL3VlYi5odG1sCgotIEt1bHR1cgoKaHR0cHM6Ly93d3cuZHcuY29tL2RlL3RoZW1lbi9yZWlzZS9zLTE2NDQKCi0gQXNwZWt0ZSBuZXUgQzEKCmh0dHBzOi8vd3d3LmtsZXR0LXNwcmFjaGVuLmRlL2FzcGVrdGUtbmV1LWMxL3QtMS85NzgzMTI2MDUwMzQwCgpodHRwczovL3d3dy5rbGV0dC1zcHJhY2hlbi5kZS9hc3Bla3RlLW5ldS9yLTEvMTUjcmVpdGVyPXRpdGVsJm5pdmVhdT1CMVBsdXMKCi0gQUxNQU5ZQSDigJMgV0lMTEtPTU1FTiBJTiBERVVUU0NITEFORAoKaHR0cHM6Ly93d3cuZ29ldGhlLmRlL3Jlc291cmNlcy9maWxlcy9wZGYxMzAvZGlkYWt0aXNpZXJ1bmdzdm9yc2NobGFnX2FsbWFueWFfaGlud2Vpc2UtbGVocmVyLnBkZgoKCmh0dHBzOi8vd3d3LmltZGIuY29tL3RpdGxlL3R0MTYzMDAyNy8KCgo8aWZyYW1lIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2RpcW1EOFlvdlQwIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CgoKLSBLb2tvd8Okw6RoCgpodHRwczovL3d3dy5pbWRiLmNvbS90aXRsZS90dDE3MDAyNTgvCgo8aWZyYW1lIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2tlbm95QWhUc1lJIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CgoKCjxpZnJhbWUgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvemlHaFZhamxiZHMiIGZyYW1lYm9yZGVyPSIwIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4KCgotIEdlZ2VuIGRpZSBXYW5kCgpodHRwczovL3d3dy5pbWRiLmNvbS90aXRsZS90dDAzNDcwNDgvCgoKPGlmcmFtZSB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9Pb0Vza3ViNlZkWSIgZnJhbWVib3JkZXI9IjAiIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZSIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPgoKCjxpZnJhbWUgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvWUZqYzhGN1hUMTAiIGZyYW1lYm9yZGVyPSIwIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4KCi0gRGFzIEtpbm8gZGVyIGRvcHBlbHRlbiBLdWx0dXJlbi4gCgpNaWdyYXRpb24gYWxzIGZpbG1pc2NoZXMgVGhlbWE6IEltIGRldXRzY2gtdMO8cmtpc2NoZW4gRmlsbSBhbmhhbmQgYXVzZ2V3w6RobHRlciBCZWlzcGllbGUKCmh0dHBzOi8vYm9va3MuZ29vZ2xlLmNvbS50ci9ib29rcy9hYm91dC9EYXNfS2lub19kZXJfZG9wcGVsdGVuX0t1bHR1cmVuX01pZ3JhdGlvLmh0bWw/aWQ9LTFsdGFSc3lHaHNDCgotIDQwIHFtIERldXRzY2hsYW5kCgpodHRwczovL3d3dy5pbWRiLmNvbS90aXRsZS90dDAwOTA1NjYvCgpodHRwczovL3d3dy5maWxtcG9ydGFsLmRlL2ZpbG0vNDAtcW0tZGV1dHNjaGxhbmRfNGVjZmY2NTJkOGMzNDIyOTliNTc2YzhkNTllNmY1OTIKCjxpZnJhbWUgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvNkxHNm53am1iNzQiIGZyYW1lYm9yZGVyPSIwIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4KCgotIELDvGxlbnQgQ2V5bGFuOiBXaXIgVMO8cmtlbiB8IFF1YXRzY2ggQ29tZWR5IENsdWIgQ2xhc3NpY3MKCmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9a2xuUUZmRTlUVHcKCgotIEtvbWlrZXIgQsO8bGVudCBDZXlsYW4gfCBORFIgVGFsayBTaG93IHwgTkRSCgpodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVFLZTN2RDZPaUxvCgoKCi0gU2ljaGVyISDDnGJ1bmdzZ3JhbW1hdGlrIERldXRzY2ggYWxzIEZyZW1kc3ByYWNoZQoKaHR0cHM6Ly9zaG9wLmh1ZWJlci5kZS9kZS9zaWNoZXItdWVidW5nc2dyYW1tYXRpay5odG1sCgoKCi0tLQoKIyBVTlNFUkUgREVVVFNDSFBSw5xGVU5HRU4KCmh0dHBzOi8vd3d3LmdvZXRoZS5kZS9kZS9zcHIva3VwL3ByZi9wcmYuaHRtbAoKaHR0cHM6Ly93d3cuZ29ldGhlLmRlL2lucy90ci9kZS9zdGEvYW5rL3ByZi5odG1sCgpodHRwczovL3d3dy5nb2V0aGUuZGUvaW5zL3RyL2RlL3N0YS9pc3QvcHJmLmh0bWwKCgoKCgoKCgoKCg==