Weil es einige Diskussionen (https://wiendenken.wordpress.com/2018/04/06/die-besorgniserregende-homogenisierung-des-denkens-am-institut-fur-philosophie) über die genderfairness des neuen Promotionsstudiengang in der Philosophie gegeben hat, habe ich mir die Daten mal angeschaut. Ich möchte im Folgenden keine starken Behauptungen machen, ich bin kein Statistiker. Damit man gut nachvollziehen kann, was ich gerechnet habe, ist das Folgende ein R-Notebook, dass jeden Rechenschritt sofort überprüfbar macht.
Laden wir zuerst einmal die Date und schauen uns die ersten fünf Zeilen an.
dr_alt <- read.csv("dr_alt.csv")
dr_neu <- read.csv("dr_neu.csv")
head(dr_alt, n=5)
head(dr_alt, n=5)
Ich habe sie aus den von der Uni zur Verfügung gestellten pdfs (https://slw.univie.ac.at/wir-ueber-uns/koordination-studienservices/statistische-daten/) zusammengestellt. Die Frage die wir auf Grundlage dieser Daten untersuchen wollen ist: Gibt das Geschlechterverhältnis der Promotionen im 2009 eingeführten neuen Doktoratsstudium Anlass zur Beunruhigung in so fern, als dass es unfairer als das alte Studium ist? Darüber welche Geschlechterverhältnisse unter Absolventen akzeptabel oder inakzeptabel sind möchte ich keine starken Meinungen Vertreten. Die Uni Wien bezeichnet in ihrem einschlägigen Bericht von 2015 (https://personalwesen.univie.ac.at/fileadmin/user_upload/d_personalwesen/Gleichstellung/Dokumente/Gender-im-Fokus-5_2015.pdf)) Studien als genderfair, deren Geschlechterverhältnisse zwischen 40% und 60% liegen. Ich möchte im Folgenden ein bisschen progressiver sein, und bezeichne ein Studium mit einem Geschlechterverhältnis zwischen 45% und 55% als genderfair.
Die Frage ist nun, wie sicher wir uns sein können, dass die zwei betrachteten Promotionsstudien außerhalb dieses Bereiches fallen. Dazu brauchen wir erstenmal vier Zahlen aus den Rohdaten, nämlich jeweils die Gesamtzahl der männlichen und weiblichen Absolventen im alten und im neuen Studium.
#Abschlusszahlen der m/w im alten Studiengang:
alt_ab_w <- sum(dr_alt[,'abw'])
alt_ab_m <- sum(dr_alt[,'abm'])
#Abschlusszahlen der m/w im neuen Studiengang:
neu_ab_w <- sum(dr_neu[,'abw'])
neu_ab_m <- sum(dr_neu[,'abm'])
#Anfängerzahlen der m/w im alten Studiengang:
alt_neu_w <- sum(dr_alt[,'neuw'])
alt_neu_m <- sum(dr_alt[,'neum'])
#Anfängerzahlen der m/w im neuen Studiengang:
neu_neu_w <- sum(dr_neu[,'neuw'])
neu_neu_m <- sum(dr_neu[,'neum'])
alt_ab_w
[1] 66
alt_ab_m
[1] 117
neu_ab_w
[1] 4
neu_ab_m
[1] 9
Wie wir sehen haben im alten Studiengang 66 Frauen und 117 Männer in der betrachteten Zeit abgeschloßen. Im neuen Studiengang, der seit 2009 läuft, aber bis zum WS2017 erst vier Frauen und neun Männer. Die Geschlechterverhältnisse sind dementsprechend:
alt_ab_w/alt_ab_m
[1] 0.5641026
neu_ab_w/neu_ab_m
[1] 0.4444444
Die Geschlechterverhältnisse sind also etwa bei 1:1.8 im alten und 1:2.2 im neuen Studiengang. Woher die kolportierten Zahlen von 1:2 und 1:4 stammen weiß ich nicht. Vlt. gibt es fachbereichsinterne, aktuellere Statistiken. Aber auch diese Geschlechterverhältnisse sind vom erhofften 1:1 natürlich ein gutes Stück entfernt. Beim alten Studiengang kann man da nichts mehr tun. Beim neuen hingegen können wir uns jetzt natürlich fragen, ob man da etwas tun müsste.
Aber was wir uns jetzt fragen müssen: Reichen die 13 Abschlüsse im neuen Studiengang überhaupt aus um irgendwelche Aussagen zu machen? Oder machen wir, wenn wir aus dieser Datenlage Schlüsse ziehen, den Fehler, den ein Spieler machen würde, wenn er, nachdem er dreimal im Münzwurf Kopf bekommen hat, beschließt, dass die Münze gezinkt sein muss?
Tatsächlich ist unser Problem sehr ähnlich wie das des Spielers: Wir führen n-mal ein Zufallsexperiment mit zwei möglichen Ausgängen und versuchen zu ermitteln, wie die Wahrscheinlichkeitsverteilung ausschaut. Unsere Frage kann man gut beantworten, indem man sich die sogenante beta- oder Wahrscheinlichkeitsdichtefunktion anschaut. Sie ergibt sich aus dieser Formel:
\[f(x|M=m,W=w)=\frac{(m+w + 1)!}{m!*w!} *x^m*(1-x)^w\] Dabei ist \(m\) die Anzahl der Männer, \(w\) die der Frauen, die einen Abschluss bekommen haben. Schauen wir uns diese Funktionen einfach mal an:
x <- seq(0, 1, length=1000)
hx <- dbeta(x,alt_ab_m + 1, alt_ab_w+1)# Entspricht: exp(lfactorial(a+b+1)-(lfactorial(a)+lfactorial(b)))*x^a*(1-x)^b
ha <- dbeta(x,neu_ab_m + 1, neu_ab_w+1)#exp(lfactorial(c+d+1)-(lfactorial(c)+lfactorial(d)))*x^c*(1-x)^d
plot(x, hx, type="l", xlab="x value", ylab="Density", main="Beta-Verteilungen",col="#8441b4", lwd=2)
lines(x,ha,col="#fb8404", lwd=2)
points(x=(alt_neu_w/alt_neu_m),y=max(hx),col="#8441b4", pch=16)
points(x=(neu_neu_w/neu_neu_m),y=max(ha),col="#fb8404", pch=16)
legend("topright", legend = c("Dr_alt", "Dr_neu"), col = c("#8441b4", "#fb8404"), lty = 1, lwd=2)
legend("topleft", legend = c("Anfänger_alt","Anfänger_neu"), col = c("#8441b4", "#fb8404"), pch=16)

Wie verstehen wir die Beta-Verteilung? Nun, sie gibt uns die sogenannte Wahrscheinlichkeitsdichte an. Die kleinen markieren Punkte die Werte, die wir aus dem Verhältnis von Studienanfängern (Also die Zahl der Frauen die ein Promotionsstudium anfangen, geteilt durch die der Männer) erwarten würden. Wie wir sehen hat sich hier zwischen den Studien wenig geändert, was dafür spricht, dass sie auf Studienanfänger ähnlich ansprechend wirken.
Die Fläche unter der Kurve ist immer genau 1, weil sich alle möglichen Wahrscheinlicheiten zu 1 aufaddieren. Wenn wir jetzt wissen wollen, wie hoch die Wahrscheinlichkeit, dass das Verfahren in einem bestimmten Bereich fair ist (z.B. 45% - 55% ), dann müssen wir nur feststellen, wie groß die Fläche unter der Kurve in diesem Bereich ist, also das sogenannte Integral berechnen.
a <- alt_ab_m
b <- alt_ab_w
c <- neu_ab_m
d <- neu_ab_w
#Anmerkung: Um meinen PC nicht zu überlasten berechne ich die Fakultäten logarithmiert.
#Integrieren:
integrand <- function(x) {exp(lfactorial(a+b+1)-(lfactorial(a)+lfactorial(b)))*x^a*(1-x)^b}
integrate(integrand, lower = 0.45, upper = 0.55)
0.00748452 with absolute error < 8.3e-17
integrand <- function(x) {exp(lfactorial(c+d+1)-(lfactorial(c)+lfactorial(d)))*x^c*(1-x)^d}
integrate(integrand, lower = 0.45, upper = 0.55)
0.124566 with absolute error < 1.4e-15
#Illustration:
x <- seq(0, 1, length=1000)
hx <- dbeta(x,alt_ab_m + 1, alt_ab_w+1)# Entspricht: exp(lfactorial(a+b+1)-(lfactorial(a)+lfactorial(b)))*x^a*(1-x)^b
ha <- dbeta(x,neu_ab_m + 1, neu_ab_w+1)#exp(lfactorial(c+d+1)-(lfactorial(c)+lfactorial(d)))*x^c*(1-x)^d
plot(x, hx, type="l", xlab="x value", ylab="Density", main="Beta-Verteilungen",col="#8441b4", lwd=2)
lines(x,ha,col="#fb8404", lwd=2)
legend("topright", legend = c("Dr_alt", "Dr_neu"), col = c("#8441b4", "#fb8404"), lty = 1, lwd=2)
z <- seq(0.45, 0.55, length=1000)
hz <- dbeta(z,alt_ab_m + 1, alt_ab_w+1)
ht <- dbeta(z,neu_ab_m + 1, neu_ab_w+1)
polygon(c(0.45,z,.55),c(0,ht,0),col=rgb(((100*251)/255*0.01), ((100*132)/255*0.01), ((100*4)/255*0.01),0.5),border=rgb(((100*251)/255*0.01), ((100*132)/255*0.01), ((100*4)/255*0.01),0.5))
polygon(c(0.45,z,.55),c(0,hz,0),col=rgb(((100*132)/255*0.01), ((100*65)/255*0.01), ((100*180)/255*0.01),0.5),border=rgb(((100*132)/255*0.01), ((100*65)/255*0.01), ((100*180)/255*0.01),0.5))

Was bedeuten diese Werte? – Sie geben die Wahrscheinlichkeit an, dass das Verfahren, durch das unsere Kurven zustandegekommen sind, fair in dem Bereich 45%- 55% sind. Im Falle des alten Doktoratsstudiums ist diese Wahrscheinlichkeiten sehr gering, der Wert entspricht etwa 0.7%. Also sind wir uns umgekehrt zu 99.3% sicher, dass das Verfahren nicht in unseren Kriterien für ein genderfaires Studium ist. Der Maximalpunkt der Kurve deutet auf einen Wert irgendwo um 0.64 hin: Deutlich außerhalb unserer Kriterien, aber durchaus nahe an denen der Uni Wien.
Im Falle des neuen Doktorats schaut die Sache aber anders aus: Hier ist die Wahrscheinlichkeit, dass das Studium fair (Und das ungleiche Geschlechterverhältnis einfach Zufall) bei immerhin 12% (Ziemlich nahe an der Wahrscheinlichkeit, dreimal hintereinander Zahl zu werfen.). Da wir üblicherweise zu 99% oder zumindest zu 95% sicher sein wollen, wenn wir von Nachweisen sprechen, wir hier aber nicht einmal 90% erreichen, müssen wir uns die Behauptung, dass neue Doktoratsstudium oder die damit in Verbindung stehende fakultätsöffentliche Präsentation genderunfair oder gar strukturell sexistisch ist, bis auf weiteres Verkneifen. Wir dürfen natürlich sagen, dass von den 13 Absolventen in den letzten sieben Jahren vier Frauen und neun Männer sind. Aber momentan können wir noch gut erwarten, dass sich das in den nächsten Jahren auf den alten (immer noch problematischen) aber im internationalen Vergleich eigentlich überdurchschnittlich guten Wert von etwa 36% einpendeln wird. Zum Vergleich: Leslie et. al. 2015 gehen von durchschnittlich 31% Frauenanteil unter Philosophie Ph.D.s aus. Ich habe das mal für meine alte Uni Konstanz aufgeschlüsselt und kam auf 10% – Das war ein problematisches Ergebnis!(http://homepage.univie.ac.at/noichlm94/Gender/index.html)
Alles in allem mag es schon so ein, dass die Fachphilosophie noch immer Schwierigkeiten mit Sexismus hat. Aber zumindest nach unserem jetzigen Wissensstand können wir nicht sagen, dass das neue Dokoratsstudium zu diesen Schwierigkeiten gehört. Und dass die FÖP problematisch ist, lässt sich aus den öffentlich verfügbaren Daten schon gar nicht ableiten.
Leslie, Sarah-Jane, Andrei Cimpian, Meredith Meyer, und Edward Freeland. “Expectations of brilliance underlie gender distributions across academic disciplines”. Science 347, Nr. 6219 (2015): 262-265.
LS0tDQp0aXRsZTogIklzdCBkZXIgbmV1ZSBQaGlsb3NvcGhpZS1Eb2t0b3IgbmljaHQgZ2VuZGVyZmFpcj8iDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpXZWlsIGVzIGVpbmlnZSBEaXNrdXNzaW9uZW4gKGh0dHBzOi8vd2llbmRlbmtlbi53b3JkcHJlc3MuY29tLzIwMTgvMDQvMDYvZGllLWJlc29yZ25pc2VycmVnZW5kZS1ob21vZ2VuaXNpZXJ1bmctZGVzLWRlbmtlbnMtYW0taW5zdGl0dXQtZnVyLXBoaWxvc29waGllKSD8YmVyIGRpZSBnZW5kZXJmYWlybmVzcyBkZXMgbmV1ZW4gUHJvbW90aW9uc3N0dWRpZW5nYW5nIGluIGRlciBQaGlsb3NvcGhpZSBnZWdlYmVuIGhhdCwgaGFiZSBpY2ggbWlyIGRpZSBEYXRlbiBtYWwgYW5nZXNjaGF1dC4gDQpJY2ggbfZjaHRlIGltIEZvbGdlbmRlbiBrZWluZSBzdGFya2VuIEJlaGF1cHR1bmdlbiBtYWNoZW4sIGljaCBiaW4ga2VpbiBTdGF0aXN0aWtlci4gRGFtaXQgbWFuIGd1dCBuYWNodm9sbHppZWhlbiBrYW5uLCB3YXMgaWNoIGdlcmVjaG5ldCBoYWJlLCBpc3QgZGFzIEZvbGdlbmRlIGVpbiBSLU5vdGVib29rLCBkYXNzIGplZGVuIFJlY2hlbnNjaHJpdHQgc29mb3J0IPxiZXJwcvxmYmFyIG1hY2h0LiANCg0KTGFkZW4gd2lyIHp1ZXJzdCBlaW5tYWwgZGllIERhdGUgdW5kIHNjaGF1ZW4gdW5zIGRpZSBlcnN0ZW4gZvxuZiBaZWlsZW4gYW4uDQpgYGB7cn0NCmRyX2FsdCA8LSByZWFkLmNzdigiZHJfYWx0LmNzdiIpDQpkcl9uZXUgPC0gcmVhZC5jc3YoImRyX25ldS5jc3YiKQ0KDQpoZWFkKGRyX2FsdCwgbj01KQ0KaGVhZChkcl9uZXUsIG49NSkNCmBgYA0KDQpJY2ggaGFiZSBzaWUgYXVzIGRlbiB2b24gZGVyIFVuaSB6dXIgVmVyZvxndW5nIGdlc3RlbGx0ZW4gcGRmcyAoaHR0cHM6Ly9zbHcudW5pdmllLmFjLmF0L3dpci11ZWJlci11bnMva29vcmRpbmF0aW9uLXN0dWRpZW5zZXJ2aWNlcy9zdGF0aXN0aXNjaGUtZGF0ZW4vKSB6dXNhbW1lbmdlc3RlbGx0LiBEaWUgRnJhZ2UgZGllIHdpciBhdWYgR3J1bmRsYWdlIGRpZXNlciBEYXRlbiB1bnRlcnN1Y2hlbiB3b2xsZW4gaXN0OiBHaWJ0IGRhcyBHZXNjaGxlY2h0ZXJ2ZXJo5Gx0bmlzIGRlciBQcm9tb3Rpb25lbiBpbSAyMDA5IGVpbmdlZvxocnRlbiBuZXVlbiBEb2t0b3JhdHNzdHVkaXVtIEFubGFzcyB6dXIgQmV1bnJ1aGlndW5nIGluIHNvIGZlcm4sIGFscyBkYXNzIGVzIHVuZmFpcmVyIGFscyBkYXMgYWx0ZSBTdHVkaXVtIGlzdD8gDQpEYXL8YmVyIHdlbGNoZSBHZXNjaGxlY2h0ZXJ2ZXJo5Gx0bmlzc2UgdW50ZXIgQWJzb2x2ZW50ZW4gYWt6ZXB0YWJlbCBvZGVyIGluYWt6ZXB0YWJlbCBzaW5kIG32Y2h0ZSBpY2gga2VpbmUgc3RhcmtlbiBNZWludW5nZW4gVmVydHJldGVuLiBEaWUgVW5pIFdpZW4gYmV6ZWljaG5ldCBpbiBpaHJlbSBlaW5zY2hs5GdpZ2VuIEJlcmljaHQgdm9uIDIwMTUgKGh0dHBzOi8vcGVyc29uYWx3ZXNlbi51bml2aWUuYWMuYXQvZmlsZWFkbWluL3VzZXJfdXBsb2FkL2RfcGVyc29uYWx3ZXNlbi9HbGVpY2hzdGVsbHVuZy9Eb2t1bWVudGUvR2VuZGVyLWltLUZva3VzLTVfMjAxNS5wZGYpKSBTdHVkaWVuIGFscyBnZW5kZXJmYWlyLCBkZXJlbiBHZXNjaGxlY2h0ZXJ2ZXJo5Gx0bmlzc2Ugendpc2NoZW4gNDAlIHVuZCA2MCUgbGllZ2VuLiBJY2ggbfZjaHRlIGltIEZvbGdlbmRlbiBlaW4gYmlzc2NoZW4gcHJvZ3Jlc3NpdmVyIHNlaW4sIHVuZCBiZXplaWNobmUgZWluIFN0dWRpdW0gbWl0IGVpbmVtIEdlc2NobGVjaHRlcnZlcmjkbHRuaXMgendpc2NoZW4gNDUlIHVuZCA1NSUgYWxzIGdlbmRlcmZhaXIuDQoNCkRpZSBGcmFnZSBpc3QgbnVuLCB3aWUgc2ljaGVyIHdpciB1bnMgc2VpbiBr9m5uZW4sIGRhc3MgZGllIHp3ZWkgYmV0cmFjaHRldGVuIFByb21vdGlvbnNzdHVkaWVuIGF132VyaGFsYiBkaWVzZXMgQmVyZWljaGVzIGZhbGxlbi4gRGF6dSBicmF1Y2hlbiB3aXIgZXJzdGVubWFsIHZpZXIgWmFobGVuIGF1cyBkZW4gUm9oZGF0ZW4sIG7kbWxpY2ggamV3ZWlscyBkaWUgR2VzYW10emFobCBkZXIgbeRubmxpY2hlbiB1bmQgd2VpYmxpY2hlbiBBYnNvbHZlbnRlbiBpbSBhbHRlbiB1bmQgaW0gbmV1ZW4gU3R1ZGl1bS4NCg0KDQpgYGB7cn0NCiNBYnNjaGx1c3N6YWhsZW4gZGVyIG0vdyBpbSBhbHRlbiBTdHVkaWVuZ2FuZzoNCmFsdF9hYl93IDwtIHN1bShkcl9hbHRbLCdhYncnXSkNCmFsdF9hYl9tIDwtIHN1bShkcl9hbHRbLCdhYm0nXSkNCg0KI0Fic2NobHVzc3phaGxlbiBkZXIgbS93IGltIG5ldWVuIFN0dWRpZW5nYW5nOg0KbmV1X2FiX3cgPC0gc3VtKGRyX25ldVssJ2FidyddKQ0KbmV1X2FiX20gPC0gc3VtKGRyX25ldVssJ2FibSddKQ0KDQojQW5m5G5nZXJ6YWhsZW4gZGVyIG0vdyBpbSBhbHRlbiBTdHVkaWVuZ2FuZzoNCmFsdF9uZXVfdyA8LSBzdW0oZHJfYWx0WywnbmV1dyddKQ0KYWx0X25ldV9tIDwtIHN1bShkcl9hbHRbLCduZXVtJ10pDQoNCiNBbmbkbmdlcnphaGxlbiBkZXIgbS93IGltIG5ldWVuIFN0dWRpZW5nYW5nOg0KbmV1X25ldV93IDwtIHN1bShkcl9uZXVbLCduZXV3J10pDQpuZXVfbmV1X20gPC0gc3VtKGRyX25ldVssJ25ldW0nXSkNCg0KDQoNCg0KDQphbHRfYWJfdw0KYWx0X2FiX20NCm5ldV9hYl93DQpuZXVfYWJfbQ0KDQpgYGANCg0KV2llIHdpciBzZWhlbiBoYWJlbiBpbSBhbHRlbiBTdHVkaWVuZ2FuZyA2NiBGcmF1ZW4gdW5kIDExNyBN5G5uZXIgaW4gZGVyIGJldHJhY2h0ZXRlbiBaZWl0IGFiZ2VzY2hsb99lbi4gSW0gbmV1ZW4gU3R1ZGllbmdhbmcsIGRlciBzZWl0IDIwMDkgbOR1ZnQsIGFiZXIgYmlzIHp1bSBXUzIwMTcgZXJzdCB2aWVyIEZyYXVlbiB1bmQgbmV1biBN5G5uZXIuIERpZSBHZXNjaGxlY2h0ZXJ2ZXJo5Gx0bmlzc2Ugc2luZCBkZW1lbnRzcHJlY2hlbmQ6DQoNCg0KYGBge3J9DQphbHRfYWJfdy9hbHRfYWJfbQ0KbmV1X2FiX3cvbmV1X2FiX20NCmBgYA0KRGllIEdlc2NobGVjaHRlcnZlcmjkbHRuaXNzZSBzaW5kIGFsc28gZXR3YSBiZWkgMToxLjggaW0gYWx0ZW4gdW5kIDE6Mi4yIGltIG5ldWVuIFN0dWRpZW5nYW5nLiBXb2hlciBkaWUga29scG9ydGllcnRlbiBaYWhsZW4gdm9uIDE6MiB1bmQgMTo0IHN0YW1tZW4gd2Vp3yBpY2ggbmljaHQuIFZsdC4gZ2lidCBlcyBmYWNoYmVyZWljaHNpbnRlcm5lLCBha3R1ZWxsZXJlIFN0YXRpc3Rpa2VuLiBBYmVyIGF1Y2ggZGllc2UgR2VzY2hsZWNodGVydmVyaORsdG5pc3NlIHNpbmQgdm9tIGVyaG9mZnRlbiAxOjEgbmF0/HJsaWNoIGVpbiBndXRlcyBTdPxjayBlbnRmZXJudC4gQmVpbSBhbHRlbiBTdHVkaWVuZ2FuZyBrYW5uIG1hbiBkYSBuaWNodHMgbWVociB0dW4uIEJlaW0gbmV1ZW4gaGluZ2VnZW4ga/ZubmVuIHdpciB1bnMgamV0enQgbmF0/HJsaWNoIGZyYWdlbiwgb2IgbWFuIGRhIGV0d2FzIHR1biBt/HNzdGUuDQoNCkFiZXIgd2FzIHdpciB1bnMgamV0enQgZnJhZ2VuIG38c3NlbjogUmVpY2hlbiBkaWUgMTMgQWJzY2hs/HNzZSBpbSBuZXVlbiBTdHVkaWVuZ2FuZyD8YmVyaGF1cHQgYXVzIHVtIGlyZ2VuZHdlbGNoZSBBdXNzYWdlbiB6dSBtYWNoZW4/IE9kZXIgbWFjaGVuIHdpciwgd2VubiB3aXIgYXVzIGRpZXNlciBEYXRlbmxhZ2UgU2NobPxzc2UgemllaGVuLCBkZW4gRmVobGVyLCBkZW4gZWluIFNwaWVsZXIgbWFjaGVuIHf8cmRlLCB3ZW5uIGVyLCBuYWNoZGVtIGVyIGRyZWltYWwgaW0gTfxuend1cmYgS29wZiBiZWtvbW1lbiBoYXQsIGJlc2NobGll33QsIGRhc3MgZGllIE38bnplIGdlemlua3Qgc2VpbiBtdXNzPw0KDQpUYXRz5GNobGljaCBpc3QgdW5zZXIgUHJvYmxlbSBzZWhyIORobmxpY2ggd2llIGRhcyBkZXMgU3BpZWxlcnM6IFdpciBm/GhyZW4gbi1tYWwgZWluIFp1ZmFsbHNleHBlcmltZW50IG1pdCB6d2VpIG32Z2xpY2hlbiBBdXNn5G5nZW4gdW5kIHZlcnN1Y2hlbiB6dSBlcm1pdHRlbG4sIHdpZSBkaWUgV2FocnNjaGVpbmxpY2hrZWl0c3ZlcnRlaWx1bmcgYXVzc2NoYXV0LiBVbnNlcmUgRnJhZ2Uga2FubiBtYW4gZ3V0IGJlYW50d29ydGVuLCBpbmRlbSBtYW4gc2ljaCBkaWUgc29nZW5hbnRlIGJldGEtIG9kZXIgV2FocnNjaGVpbmxpY2hrZWl0c2RpY2h0ZWZ1bmt0aW9uIGFuc2NoYXV0LiBTaWUgZXJnaWJ0IHNpY2ggYXVzIGRpZXNlciBGb3JtZWw6IA0KDQokJGYoeHxNPW0sVz13KT1cZnJhY3sobSt3ICsgMSkhfXttISp3IX0gKnhebSooMS14KV53JCQNCkRhYmVpIGlzdCAkbSQgZGllIEFuemFobCBkZXIgTeRubmVyLCAkdyQgZGllIGRlciBGcmF1ZW4sIGRpZSBlaW5lbiBBYnNjaGx1c3MgYmVrb21tZW4gaGFiZW4uIFNjaGF1ZW4gd2lyIHVucyBkaWVzZSBGdW5rdGlvbmVuIGVpbmZhY2ggbWFsIGFuOg0KDQoNCmBgYHtyfQ0KDQp4IDwtIHNlcSgwLCAxLCBsZW5ndGg9MTAwMCkNCmh4IDwtIGRiZXRhKHgsYWx0X2FiX20gKyAxLCBhbHRfYWJfdysxKSMgRW50c3ByaWNodDogICBleHAobGZhY3RvcmlhbChhK2IrMSktKGxmYWN0b3JpYWwoYSkrbGZhY3RvcmlhbChiKSkpKnheYSooMS14KV5iDQpoYSA8LSBkYmV0YSh4LG5ldV9hYl9tICsgMSwgbmV1X2FiX3crMSkjZXhwKGxmYWN0b3JpYWwoYytkKzEpLShsZmFjdG9yaWFsKGMpK2xmYWN0b3JpYWwoZCkpKSp4XmMqKDEteCleZA0KDQpwbG90KHgsIGh4LCB0eXBlPSJsIiwgIHhsYWI9InggdmFsdWUiLCB5bGFiPSJEZW5zaXR5IiwgbWFpbj0iQmV0YS1WZXJ0ZWlsdW5nZW4iLGNvbD0iIzg0NDFiNCIsIGx3ZD0yKQ0KbGluZXMoeCxoYSxjb2w9IiNmYjg0MDQiLCBsd2Q9MikNCg0KDQpwb2ludHMoeD0oYWx0X25ldV93L2FsdF9uZXVfbSkseT1tYXgoaHgpLGNvbD0iIzg0NDFiNCIsIHBjaD0xNikNCnBvaW50cyh4PShuZXVfbmV1X3cvbmV1X25ldV9tKSx5PW1heChoYSksY29sPSIjZmI4NDA0IiwgcGNoPTE2KQ0KDQoNCmxlZ2VuZCgidG9wcmlnaHQiLCBsZWdlbmQgPSBjKCJEcl9hbHQiLCAiRHJfbmV1IiksIGNvbCA9IGMoIiM4NDQxYjQiLCAiI2ZiODQwNCIpLCBsdHkgPSAxLCBsd2Q9MikNCmxlZ2VuZCgidG9wbGVmdCIsIGxlZ2VuZCA9IGMoIkFuZuRuZ2VyX2FsdCIsIkFuZuRuZ2VyX25ldSIpLCBjb2wgPSBjKCIjODQ0MWI0IiwgIiNmYjg0MDQiKSwgIHBjaD0xNikNCmBgYA0KDQpXaWUgdmVyc3RlaGVuIHdpciBkaWUgQmV0YS1WZXJ0ZWlsdW5nPyBOdW4sIHNpZSBnaWJ0IHVucyBkaWUgc29nZW5hbm50ZSBXYWhyc2NoZWlubGljaGtlaXRzZGljaHRlIGFuLiBEaWUga2xlaW5lbiBtYXJraWVyZW4gUHVua3RlIGRpZSBXZXJ0ZSwgZGllIHdpciBhdXMgZGVtIFZlcmjkbHRuaXMgdm9uIFN0dWRpZW5hbmbkbmdlcm4gKEFsc28gZGllIFphaGwgZGVyIEZyYXVlbiBkaWUgZWluIFByb21vdGlvbnNzdHVkaXVtIGFuZmFuZ2VuLCBnZXRlaWx0IGR1cmNoIGRpZSBkZXIgTeRubmVyKSBlcndhcnRlbiB3/HJkZW4uIFdpZSB3aXIgc2VoZW4gaGF0IHNpY2ggaGllciB6d2lzY2hlbiBkZW4gU3R1ZGllbiB3ZW5pZyBnZeRuZGVydCwgd2FzIGRhZvxyIHNwcmljaHQsIGRhc3Mgc2llIGF1ZiBTdHVkaWVuYW5m5G5nZXIg5GhubGljaCBhbnNwcmVjaGVuZCB3aXJrZW4uDQoNCkRpZSBGbORjaGUgdW50ZXIgZGVyIEt1cnZlIGlzdCBpbW1lciBnZW5hdSAxLCB3ZWlsIHNpY2ggYWxsZSBt9mdsaWNoZW4gV2FocnNjaGVpbmxpY2hlaXRlbiB6dSAxIGF1ZmFkZGllcmVuLiBXZW5uIHdpciBqZXR6dCB3aXNzZW4gd29sbGVuLCB3aWUgaG9jaCBkaWUgV2FocnNjaGVpbmxpY2hrZWl0LCBkYXNzIGRhcyBWZXJmYWhyZW4gaW4gZWluZW0gYmVzdGltbXRlbiBCZXJlaWNoIGZhaXIgaXN0ICh6LkIuIDQ1JSAtIDU1JSApLCBkYW5uIG38c3NlbiB3aXIgbnVyIGZlc3RzdGVsbGVuLCB3aWUgZ3Jv3yBkaWUgRmzkY2hlIHVudGVyIGRlciBLdXJ2ZSBpbiBkaWVzZW0gQmVyZWljaCBpc3QsIGFsc28gZGFzIHNvZ2VuYW5udGUgSW50ZWdyYWwgYmVyZWNobmVuLiANCg0KDQoNCg0KDQoNCmBgYGB7cn0NCmEgPC0gYWx0X2FiX20gDQpiIDwtIGFsdF9hYl93IA0KYyA8LSBuZXVfYWJfbSANCmQgPC0gbmV1X2FiX3cgDQojQW5tZXJrdW5nOiBVbSBtZWluZW4gUEMgbmljaHQgenUg/GJlcmxhc3RlbiBiZXJlY2huZSBpY2ggZGllIEZha3VsdOR0ZW4gbG9nYXJpdGhtaWVydC4NCiNJbnRlZ3JpZXJlbjoNCmludGVncmFuZCA8LSBmdW5jdGlvbih4KSB7ZXhwKGxmYWN0b3JpYWwoYStiKzEpLShsZmFjdG9yaWFsKGEpK2xmYWN0b3JpYWwoYikpKSp4XmEqKDEteCleYn0NCmludGVncmF0ZShpbnRlZ3JhbmQsIGxvd2VyID0gMC40NSwgdXBwZXIgPSAwLjU1KQ0KaW50ZWdyYW5kIDwtIGZ1bmN0aW9uKHgpIHtleHAobGZhY3RvcmlhbChjK2QrMSktKGxmYWN0b3JpYWwoYykrbGZhY3RvcmlhbChkKSkpKnheYyooMS14KV5kfQ0KaW50ZWdyYXRlKGludGVncmFuZCwgbG93ZXIgPSAwLjQ1LCB1cHBlciA9IDAuNTUpDQoNCiNJbGx1c3RyYXRpb246DQp4IDwtIHNlcSgwLCAxLCBsZW5ndGg9MTAwMCkNCmh4IDwtIGRiZXRhKHgsYWx0X2FiX20gKyAxLCBhbHRfYWJfdysxKSMgRW50c3ByaWNodDogICBleHAobGZhY3RvcmlhbChhK2IrMSktKGxmYWN0b3JpYWwoYSkrbGZhY3RvcmlhbChiKSkpKnheYSooMS14KV5iDQpoYSA8LSBkYmV0YSh4LG5ldV9hYl9tICsgMSwgbmV1X2FiX3crMSkjZXhwKGxmYWN0b3JpYWwoYytkKzEpLShsZmFjdG9yaWFsKGMpK2xmYWN0b3JpYWwoZCkpKSp4XmMqKDEteCleZA0KDQpwbG90KHgsIGh4LCB0eXBlPSJsIiwgIHhsYWI9InggdmFsdWUiLCB5bGFiPSJEZW5zaXR5IiwgbWFpbj0iQmV0YS1WZXJ0ZWlsdW5nZW4iLGNvbD0iIzg0NDFiNCIsIGx3ZD0yKQ0KbGluZXMoeCxoYSxjb2w9IiNmYjg0MDQiLCBsd2Q9MikNCg0KbGVnZW5kKCJ0b3ByaWdodCIsIGxlZ2VuZCA9IGMoIkRyX2FsdCIsICJEcl9uZXUiKSwgY29sID0gYygiIzg0NDFiNCIsICIjZmI4NDA0IiksIGx0eSA9IDEsIGx3ZD0yKQ0KDQoNCnogPC0gc2VxKDAuNDUsIDAuNTUsIGxlbmd0aD0xMDAwKQ0KaHogPC0gZGJldGEoeixhbHRfYWJfbSArIDEsIGFsdF9hYl93KzEpDQpodCA8LSBkYmV0YSh6LG5ldV9hYl9tICsgMSwgbmV1X2FiX3crMSkNCg0KcG9seWdvbihjKDAuNDUseiwuNTUpLGMoMCxodCwwKSxjb2w9cmdiKCgoMTAwKjI1MSkvMjU1KjAuMDEpLCAoKDEwMCoxMzIpLzI1NSowLjAxKSwgKCgxMDAqNCkvMjU1KjAuMDEpLDAuNSksYm9yZGVyPXJnYigoKDEwMCoyNTEpLzI1NSowLjAxKSwgKCgxMDAqMTMyKS8yNTUqMC4wMSksICgoMTAwKjQpLzI1NSowLjAxKSwwLjUpKQ0KDQpwb2x5Z29uKGMoMC40NSx6LC41NSksYygwLGh6LDApLGNvbD1yZ2IoKCgxMDAqMTMyKS8yNTUqMC4wMSksICgoMTAwKjY1KS8yNTUqMC4wMSksICgoMTAwKjE4MCkvMjU1KjAuMDEpLDAuNSksYm9yZGVyPXJnYigoKDEwMCoxMzIpLzI1NSowLjAxKSwgKCgxMDAqNjUpLzI1NSowLjAxKSwgKCgxMDAqMTgwKS8yNTUqMC4wMSksMC41KSkNCg0KDQoNCg0KDQpgYGBgDQpXYXMgYmVkZXV0ZW4gZGllc2UgV2VydGU/IC0tIFNpZSBnZWJlbiBkaWUgV2FocnNjaGVpbmxpY2hrZWl0IGFuLCBkYXNzIGRhcyBWZXJmYWhyZW4sIGR1cmNoIGRhcyB1bnNlcmUgS3VydmVuIHp1c3RhbmRlZ2Vrb21tZW4gc2luZCwgZmFpciBpbiBkZW0gQmVyZWljaCA0NSUtIDU1JSBzaW5kLiBJbSBGYWxsZSBkZXMgYWx0ZW4gRG9rdG9yYXRzc3R1ZGl1bXMgaXN0IGRpZXNlIFdhaHJzY2hlaW5saWNoa2VpdGVuIHNlaHIgZ2VyaW5nLCBkZXIgV2VydCBlbnRzcHJpY2h0IGV0d2EgMC43JS4gQWxzbyBzaW5kIHdpciB1bnMgdW1nZWtlaHJ0IHp1IDk5LjMlIHNpY2hlciwgZGFzcyBkYXMgVmVyZmFocmVuIG5pY2h0IGluIHVuc2VyZW4gS3JpdGVyaWVuIGb8ciBlaW4gZ2VuZGVyZmFpcmVzIFN0dWRpdW0gaXN0LiBEZXIgTWF4aW1hbHB1bmt0IGRlciBLdXJ2ZSBkZXV0ZXQgYXVmIGVpbmVuIFdlcnQgaXJnZW5kd28gdW0gMC42NCBoaW46IERldXRsaWNoIGF132VyaGFsYiB1bnNlcmVyIEtyaXRlcmllbiwgYWJlciBkdXJjaGF1cyBuYWhlIGFuIGRlbmVuIGRlciBVbmkgV2llbi4NCg0KSW0gRmFsbGUgZGVzIG5ldWVuIERva3RvcmF0cyBzY2hhdXQgZGllIFNhY2hlIGFiZXIgYW5kZXJzIGF1czogSGllciBpc3QgZGllIFdhaHJzY2hlaW5saWNoa2VpdCwgZGFzcyBkYXMgU3R1ZGl1bSBmYWlyIChVbmQgZGFzIHVuZ2xlaWNoZSBHZXNjaGxlY2h0ZXJ2ZXJo5Gx0bmlzIGVpbmZhY2ggWnVmYWxsKSBiZWkgaW1tZXJoaW4gMTIlIChaaWVtbGljaCBuYWhlIGFuIGRlciBXYWhyc2NoZWlubGljaGtlaXQsIGRyZWltYWwgaGludGVyZWluYW5kZXIgWmFobCB6dSB3ZXJmZW4uKS4gRGEgd2lyIPxibGljaGVyd2Vpc2UgenUgOTklIG9kZXIgenVtaW5kZXN0IHp1IDk1JSBzaWNoZXIgc2VpbiB3b2xsZW4sIHdlbm4gd2lyIHZvbiBfTmFjaHdlaXNlbl8gc3ByZWNoZW4sIHdpciBoaWVyIGFiZXIgbmljaHQgZWlubWFsIDkwJSBlcnJlaWNoZW4sIG38c3NlbiB3aXIgdW5zIGRpZSBCZWhhdXB0dW5nLCBkYXNzIG5ldWUgRG9rdG9yYXRzc3R1ZGl1bSBvZGVyIGRpZSBkYW1pdCBpbiBWZXJiaW5kdW5nIHN0ZWhlbmRlIGZha3VsdOR0c/ZmZmVudGxpY2hlIFBy5HNlbnRhdGlvbiBnZW5kZXJ1bmZhaXIgb2RlciBnYXIgc3RydWt0dXJlbGwgc2V4aXN0aXNjaCBpc3QsIGJpcyBhdWYgd2VpdGVyZXMgVmVya25laWZlbi4gV2lyIGT8cmZlbiBuYXT8cmxpY2ggc2FnZW4sIGRhc3Mgdm9uIGRlbiAxMyBBYnNvbHZlbnRlbiBpbiBkZW4gbGV0enRlbiBzaWViZW4gSmFocmVuIHZpZXIgRnJhdWVuIHVuZCBuZXVuIE3kbm5lciBzaW5kLiBBYmVyIG1vbWVudGFuIGv2bm5lbiB3aXIgbm9jaCBndXQgZXJ3YXJ0ZW4sIGRhc3Mgc2ljaCBkYXMgaW4gZGVuIG7kY2hzdGVuIEphaHJlbiBhdWYgZGVuIGFsdGVuIChpbW1lciBub2NoIHByb2JsZW1hdGlzY2hlbikgYWJlciBpbSBpbnRlcm5hdGlvbmFsZW4gVmVyZ2xlaWNoIGVpZ2VudGxpY2gg/GJlcmR1cmNoc2Nobml0dGxpY2ggZ3V0ZW4gV2VydCB2b24gZXR3YSAzNiUgZWlucGVuZGVsbiB3aXJkLiBadW0gVmVyZ2xlaWNoOiBMZXNsaWUgZXQuIGFsLiAyMDE1IGdlaGVuIHZvbiBkdXJjaHNjaG5pdHRsaWNoIDMxJSBGcmF1ZW5hbnRlaWwgdW50ZXIgUGhpbG9zb3BoaWUgUGguRC5zIGF1cy4gSWNoIGhhYmUgZGFzIG1hbCBm/HIgbWVpbmUgYWx0ZSBVbmkgS29uc3RhbnogYXVmZ2VzY2hs/HNzZWx0IHVuZCBrYW0gYXVmIDEwJSAtLSAqKkRhcyB3YXIgZWluIHByb2JsZW1hdGlzY2hlcyBFcmdlYm5pcyEqKihodHRwOi8vaG9tZXBhZ2UudW5pdmllLmFjLmF0L25vaWNobG05NC9HZW5kZXIvaW5kZXguaHRtbCkNCg0KQWxsZXMgaW4gYWxsZW0gbWFnIGVzIHNjaG9uIHNvIGVpbiwgZGFzcyBkaWUgRmFjaHBoaWxvc29waGllIG5vY2ggaW1tZXIgU2Nod2llcmlna2VpdGVuIG1pdCBTZXhpc211cyBoYXQuIEFiZXIgenVtaW5kZXN0IG5hY2ggdW5zZXJlbSBqZXR6aWdlbiBXaXNzZW5zc3RhbmQga/ZubmVuIHdpciBuaWNodCBzYWdlbiwgZGFzcyBkYXMgbmV1ZSBEb2tvcmF0c3N0dWRpdW0genUgZGllc2VuIFNjaHdpZXJpZ2tlaXRlbiBnZWj2cnQuIFVuZCBkYXNzIGRpZSBG1lAgcHJvYmxlbWF0aXNjaCBpc3QsIGzkc3N0IHNpY2ggYXVzIGRlbiD2ZmZlbnRsaWNoIHZlcmb8Z2JhcmVuIERhdGVuIHNjaG9uIGdhciBuaWNodCBhYmxlaXRlbi4NCg0KDQoNCg0KDQoNCg0KDQoNCkxlc2xpZSwgU2FyYWgtSmFuZSwgQW5kcmVpIENpbXBpYW4sIE1lcmVkaXRoIE1leWVyLCB1bmQgRWR3YXJkIEZyZWVsYW5kLiAiRXhwZWN0YXRpb25zIG9mIGJyaWxsaWFuY2UgdW5kZXJsaWUgZ2VuZGVyIGRpc3RyaWJ1dGlvbnMgYWNyb3NzIGFjYWRlbWljIGRpc2NpcGxpbmVzIi4gU2NpZW5jZSAzNDcsIE5yLiA2MjE5ICgyMDE1KTogMjYyLTI2NS4NCg==