From mboxrd@z Thu Jan 1 00:00:00 1970 Message-Id: <200203150959.g2F9xIY07465@ns.micom.don.ru> From: =?koi8-r?b?89XLydHaz9cg88XSx8XKIOHMxcvTwc7E0s/Xyd4=?= Organization: =?koi8-r?b?7+/v?= "=?koi8-r?b?6c7Wxc7F0s7ZyiDjxc7U0g==?= =?koi8-r?b?IO3Jy8/N?=" To: kde-russian@lists.kde.ru Date: Fri, 15 Mar 2002 13:00:09 +0300 X-Mailer: KMail [version 1.3.2] MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="------------Boundary-00=_9GE0W1QKFNLFXQHD849B" Subject: [kde-russian] =?koi8-r?b?8MHU3skgxMzRIHF0My4g8NLPwszFzdkg0yDQ0sXPwtLB2s/Xwc7Jxc0=?= Sender: kde-russian-admin@lists.kde.ru Errors-To: kde-russian-admin@lists.kde.ru X-BeenThere: kde-russian@lists.kde.ru X-Mailman-Version: 2.0.8 Precedence: bulk Reply-To: kde-russian@lists.kde.ru X-Reply-To: corwin@micom.don.ru List-Help: List-Post: List-Subscribe: , List-Id: KDE russian translation mailing list List-Unsubscribe: , List-Archive: Archived-At: List-Archive: --------------Boundary-00=_9GE0W1QKFNLFXQHD849B Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: base64 X-MIME-Autoconverted: from 8bit to base64 by ns.micom.don.ru id g2F9xNk07483 8NLJ18XUDQoNCvEg08TFzMHMINDB1N7JIMvP1M/S2cUgzcXO0cDUINDP18XExc7JxSDLzMHT 08EgUVN0cmluZyDQ0skg0NLFz8LSwdrP18HOyckNCsnaIGNoYXIgKiA8LS0+IFFTdHJpbmcu IPDSz8LMxc3ZICDXz9rOycvBwNQgy8/HxMEgydPQz8zY2tXF1NPRINDSxc/C0sHaz9fBzsnF DQrQzyDVzc/M3sHOycAsINQuxS4gIMvPztPU0tXL1M/SIFFTdHJpbmcoY29uc3QgY2hhciAq KSDJINQu0C4g7yDX08XIIM7Awc7Twcgg0Q0K0MnTwcwg1yDT18/FyiDT1MHU2MUgIunT0M/M 2NrP18HOycUgUXQtMi4yLngg1yDS1dPTy8/R2tneztnIINDSz8fSwc3NwcggIiANCihodHRw Oi8vd3d3LmtkZS5ydS9kb2NzLnBocD9hY3Rpb249c2hvdyZpZD1xdF9ydXNzaWFuKS4g6yDT z9bBzMXOycAgydrCxdbB1NgNCsLJzsHSzs/KIM7F08/XzcXTyc3P09TJIM7FINXEwczP09gg OigoKCDuxdPP183F09TJzc/T1Ngg18/azsnLwcXUIMnaLdrBINTPx88gDQre1M8gzsXLz9TP 0tnFIMnazcXO0cXN2cUgzcXUz8TZINLFwczJ2s/Xwc7O2SDLwcsgaW5saW5lLg0KDQrzxcre wdMg9NLPzMzJINPPx8zB08nMydPYINLB09PNz9TSxdTYINzUySDawc3F3sHOydEsIMkg0SDO wcTFwNPYINDP18XExc7JxSANCsvPztPU0tXL1M/Sz9cgUVN0cmluZyDX06Mt1MHLySDJ2s3F zsnU09EgKM7B18XSzs/FINcg18XS08nJIDMuMSDJzMkgNC4wKS4NCg0K5dPMySDVIMvPx88g xdPU2CDWxczBzsnFIMkg19LFzdEg0M/UxdPUydLVytTFINzUySDQwdTeyS4g8SDEz8fP18/S yczT0SANCtMg9NLPzMzRzckg3tTPIM7BINPMxcTVwN3FyiDOxcTFzMUgKMfExS3UzyDXzyDX 1M/SzsnLIC0g09LFxNUpIM/U0NLB18zADQrJzSDQwdTeyS4g9MHLIN7UzywgxdPMySDVIMvP x88gxdPU2CDLwcvJxS3OycLVxNgg2sHNxd7BzsnRIMnMySDEz9DPzM7FzsnRDQrRINbE1SA6 KSkpKSkNCg0K8MHU3skgzsHLzMHE2dfBwNTT0SDXINDP0tHEy8Ug1cvB2sHOzs/NIMvByyAn c3RlcC54Jy4NCg0K69LB1MvPxSDP0MnTwc7JxToNCnF0LXgxMS1mcmVlLTMuMC4yLTAwMDQt c3RlcC4wLmRpZmYgDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQoJ/NTP1CDQwdTeINXCydLBxdQg2sHXydPJzc/T1NggzcXWxNUgy8zB09PBzckg UVRleHRDb2RlYyDJIMvPztPU0tXL1M/Swc3JDQoJUVN0cmluZyDJ2tDPzNja1cXN2c3JIMTM 0SDQ0sXPwsHaz9fBzsnRIGNoYXIgKiA8LS0+IFFTdHJpbmcuIPcg0NLP1MnXzs/NIA0KCdPM 1d7BxSwg1C7LLiDN2SDXIMvPztPU0tXL1M/SwcggwtXExc0gydPQz8zY2s/XwdTYIFFUZXh0 Q29kZWMsIMLVxNXUIA0KCdfP2s7Jy8HU2CAizcXS1NfZxSDDycvM2SIgKGRlYXRoIGxvb3Bz KSBb68/O09TS1cvUz9IgUVN0cmluZ10gLT4gW+3F1M/EIA0KCVFUZXh0Q29kZWNdIC0+IFvr z87T1NLVy9TP0iBRU3RyaW5nXSAtPiAuLi4uDQoNCnF0LXgxMS1mcmVlLTMuMC4yLTAwMDQt c3RlcC4xLmRpZmYgDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQoJ/NTP1CDQwdTeINDSydfPxMnUINcg08/P1NfF1NPU18nFINDP18XExc7JxSDN xdTPxMEgUVRleHRDb2RlYzo6dG9Vbmljb2RlINcNCgnTz8/U18XU09TXycUg0yDQz9fFxMXO ycXNIMvPztPU0tXL1M/Sz9cgUVN0cmluZyDP1NfF3sHA3cnIINrBINDSxc/C0sHaz9fBzsnF DQoJY2hhciAqIDwtLT4gUVN0cmluZy4g5MXMzyDXINTPzSDe1M8gz9LJx8nOwczYzs/FINDP 18XExc7JxSDX2cfM0cTJ1CDTzMXELiANCgnPwtLB2s/NOg0KCS0gUVN0cmluZyBzdHIoMCkg yczJIFFTdHJpbmcgc3RyIC0g08/axMHA1CDT1NLPy9Ugc3RyIMTM0SDLz9TP0s/KINfZ0M/M ztHA1C0NCgnT0SAg1dPMz9fJ0TogIHN0ci5pc051bGwoKSA9PSBUUlVFIMkgc3RyLmlzRW1w dHkoKSA9PSBUUlVFLg0KCS0gc3RyID0gUVRleHRDb2RlYzo6dG9Vbmljb2RlKDAsLi4uKSAt INPP2sTBwNQg09TSz8vVIHN0ciDEzNEgy8/Uz9LPyiDX2dDPzC0NCgnO0cDU09EgINXTzM/X ydE6ICBzdHIuaXNOdWxsKCkgPT0gVFJVRSDJIHN0ci5pc0VtcHR5KCkgPT0gVFJVRS4NCgn3 INzUz8og3sHT1Mkg0M/XxcTFzsnFINPP19DBxMHF1C4NCgktIFFTdHJpbmcgc3RyKCIiKSAg LSDTz9rEwcDUINPU0s/L1SBzdHIgxMzRIMvP1M/Sz8og19nQz8zO0cDU09EgINXTzM/XydE6 ICANCglzdHIuaXNOdWxsKCkgPT0gRkFMU0UgySBzdHIuaXNFbXB0eSgpID09IFRSVUUuDQoJ LSBzdHIgPSBRVGV4dENvZGVjOjp0b1VuaWNvZGUoIiIsLi4uKSAtINPP2sTBwNQg09TSz8vV IHN0ciDEzNEgy8/Uz9LPyiDX2dDPzC0NCgnO0cDU09EgINXTzM/XydE6ICBzdHIuaXNOdWxs KCkgPT0gVFJVRSDJIHN0ci5pc0VtcHR5KCkgPT0gVFJVRS4NCgn3INzUz8og3sHT1Mkg0M/X xcTFzsnFIM7FINPP19DBxMHF1C4NCgkNCnF0LXgxMS1mcmVlLTMuMC4yLTAwMDQtc3RlcC4y LmRpZmYgDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQoJ/NTP1CDQwdTeIMnazcXO0cXUINDP18XExc7JxSDLz87T1NLVy9TP0s/XIMvMwdPTwSBR U3RyaW5nLiDwz9PMxSDQ0snNxc7FzsnRIA0KCdzUz8fPINDB1N7BINDSxc/C0sHaz9fBzsnF IGNoYXIgKiA8LS0+IFFTdHJpbmcg19nQz8zO0cXU09Eg0yDQz83P3djAIMvPzMXLwQ0KCcTM 0SDV09TBzs/Xz8sgzM/LwczJLg0KDQpxdC14MTEtZnJlZS0zLjAuMi0wMDA0LXN0ZXAuMy5k aWZmIA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K CfzUz9Qg0MHU3iDJ09DB18zRxdQg19PFIM/T1MHM2M7ZxSDNxdTPxNkgySDLz87T1NLVy9TP 0tksINcg1C7eLiDJIMTM0SDLzMHT08ENCglRQ2hhci4g/NTP1CDQwdTeINfOz9PJ1CDCyc7B 0s7VwCDOxdPP183F09TJzc/T1NgsIMnaLdrBINTPx88g3tTPIM7Fy8/Uz9LZxSANCgnNxdTP xNkg08TFzMHO2SDLwcsgaW5saW5lLiANCg0KLS0gDQrzIPXXwdbFzsnFzQ0K89XLydHaz9cg 88XSx8XKDQoNCg== --------------Boundary-00=_9GE0W1QKFNLFXQHD849B Content-Type: text/x-diff; charset="koi8-r"; name="qt-x11-free-3.0.2-0004-step.3.diff" Content-Disposition: attachment; filename="qt-x11-free-3.0.2-0004-step.3.diff" Content-Transfer-Encoding: base64 ZGlmZiAtTmF1ciBxdC14MTEtZnJlZS0zLjAuMi5vcmlnL3NyYy90b29scy9xc3RyaW5nLmNwcCBx dC14MTEtZnJlZS0zLjAuMi9zcmMvdG9vbHMvcXN0cmluZy5jcHAKLS0tIHF0LXgxMS1mcmVlLTMu MC4yLm9yaWcvc3JjL3Rvb2xzL3FzdHJpbmcuY3BwCVR1ZSBNYXIgMTIgMjA6MTE6NTYgMjAwMgor KysgcXQteDExLWZyZWUtMy4wLjIvc3JjL3Rvb2xzL3FzdHJpbmcuY3BwCVR1ZSBNYXIgMTIgMjA6 MTg6MDAgMjAwMgpAQCAtMTE1MjEsMTIgKzExNTIxLDQyIEBACiAKIENvbnN0cnVjdHMgYSBRQ2hh ciBjb3JyZXNwb25kaW5nIHRvIEFTQ0lJL0xhdGluMSBjaGFyYWN0ZXIgXGEgYy4KICovCitRQ2hh cjo6UUNoYXIoIGNoYXIgYyApCit7CisjaWZkZWYgUVRfTk9fVEVYVENPREVDCisgICAgdWNzID0g KHVjaGFyKWM7CisjZWxzZQorICAgIGlmICggKHVjaGFyKWMgPiAxMjcgKSB7IC8vIE5vdCBVUy1B U0NJSSBjaGFyYWN0ZXIgd2Ugc2hvdWxkIHVzZSBUZXh0Q29kZWMKKwl1Y3MgPSBRU3RyaW5nOjpm cm9tTG9jYWw4Qml0KCAoY29uc3QgY2hhciAqKSAmIGMsIDEgKS5hdCgwKS51bmljb2RlKCk7Cisg ICAgfQorICAgIGVsc2UgCisJdWNzID0gKHVjaGFyKWM7IC8vIEZvciBVUy1BU0NJSSBjaGFyYWN0 ZXIgc2ltcGxlIGFzc2lnbm1lbnQKKyNlbmRpZiAvLyBRVF9OT19URVhUQ09ERUMKKyNpZmRlZiBR VF9RU1RSSU5HX1VDU180CisgICAgZ3JwID0gMDsKKyNlbmRpZgorfQogCiAKIC8qISBcZm4gUUNo YXI6OlFDaGFyKCB1Y2hhciBjICkKIAogQ29uc3RydWN0cyBhIFFDaGFyIGNvcnJlc3BvbmRpbmcg dG8gQVNDSUkvTGF0aW4xIGNoYXJhY3RlciBcYSBjLgogKi8KK1FDaGFyOjpRQ2hhciggdWNoYXIg YyApCit7CisjaWZkZWYgUVRfTk9fVEVYVENPREVDCisgICAgdWNzID0gYzsKKyNlbHNlCisgICAg aWYgKCBjID4gMTI3ICkgeyAvLyBOb3QgVVMtQVNDSUkgY2hhcmFjdGVyIHdlIHNob3VsZCB1c2Ug VGV4dENvZGVjCisJdWNzID0gUVN0cmluZzo6ZnJvbUxvY2FsOEJpdCggKGNvbnN0IGNoYXIgKikg JiBjLCAxICkuYXQoMCkudW5pY29kZSgpOworICAgIH0KKyAgICBlbHNlIAorCXVjcyA9IGM7IC8v IEZvciBVUy1BU0NJSSBjaGFyYWN0ZXIgc2ltcGxlIGFzc2lnbm1lbnQKKyNlbmRpZiAvLyBRVF9O T19URVhUQ09ERUMKKyNpZmRlZiBRVF9RU1RSSU5HX1VDU180CisgICAgZ3JwID0gMDsKKyNlbmRp ZgorfQogCiAKIC8qISBcZm4gUUNoYXI6OlFDaGFyKCB1Y2hhciBjLCB1Y2hhciByICkKQEAgLTEy Mjc3LDggKzEyMzA3LDExIEBACiAgICAgUUNoYXIgKnJlc3VsdCA9IHVjOwogICAgIGlmICggbGVu ICkKIAkqbGVuID0gbDsKLSAgICB3aGlsZSAobC0tKQotCSp1YysrID0gKnN0cisrOworICAgIHdo aWxlIChsLS0pIHsKKwl1Yy0+c2V0Q2VsbCggKnN0cisrICk7CisJdWMtPnNldFJvdyggMCApOwor CSp1YysrOworICAgIH0KICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjI5Niw4ICsxMjMy OSwxMSBAQAogICAgIFFDaGFyICpyZXN1bHQgPSB1YzsKICAgICBpZiAoIGxlbiApCiAJKmxlbiA9 IGw7Ci0gICAgd2hpbGUgKGwtLSkKLQkqdWMrKyA9ICpzdHIrKzsKKyAgICB3aGlsZSAobC0tKSB7 CisJdWMtPnNldENlbGwoICpzdHIrKyApOworCXVjLT5zZXRSb3coIDAgKTsKKwkqdWMrKzsKKyAg ICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTIzMjUsOCArMTIzNjEsMTEgQEAKIAlR Q2hhciAqdWMgPSBuZXcgUUNoYXJbIGwgXTsgLy8gQ2FuJ3QgdXNlIG1hY3JvIHNpbmNlIGZ1bmN0 aW9uIGlzIHB1YmxpYwogCXJlc3VsdCA9IHVjOwogCXVpbnQgaSA9IGw7Ci0Jd2hpbGUgKCBpLS0g KQotCSAgICAqdWMrKyA9ICpzdHIrKzsKKwl3aGlsZSAoaS0tKSB7CisJICAgIHVjLT5zZXRDZWxs KCAqc3RyKysgKTsKKwkgICAgdWMtPnNldFJvdyggMCApOworCSAgICAqdWMrKzsKKwl9CiAgICAg fQogICAgIGlmICggbGVuICkKIAkqbGVuID0gbDsKQEAgLTEyMzQ5LDggKzEyMzg4LDExIEBACiAJ UUNoYXIgKnVjID0gUVRfQUxMT0NfUUNIQVJfVkVDKCBsICk7CiAJcmVzdWx0ID0gdWM7CiAJdWlu dCBpID0gbDsKLQl3aGlsZSAoIGktLSApCi0JICAgICp1YysrID0gKnN0cisrOworCXdoaWxlIChp LS0pIHsKKwkgICAgdWMtPnNldENlbGwoICpzdHIrKyApOworCSAgICB1Yy0+c2V0Um93KCAwICk7 CisJICAgICp1YysrOworCX0KICAgICB9CiAgICAgaWYgKCBsZW4gKQogCSpsZW4gPSBsOwpAQCAt MTIzNjgsNiArMTI0MTAsNyBAQAogICAgIGlmICghdWMpIHsKIAlyZXR1cm4gMDsKICAgICB9Cisj aWZkZWYgUVRfTk9fVEVYVENPREVDCiAgICAgY2hhciAqYSA9IG5ldyBjaGFyW2wrMV07CiAgICAg Y2hhciAqcmVzdWx0ID0gYTsKICAgICB3aGlsZSAobC0tKSB7CkBAIC0xMjM3Nyw2ICsxMjQyMCw5 IEBACiAgICAgfQogICAgICphID0gJ1wwJzsKICAgICByZXR1cm4gcmVzdWx0OworI2Vsc2UKKyAg ICByZXR1cm4gcXN0cmR1cChRU3RyaW5nKHVjLGwpLmxvY2FsOEJpdCgpLmRhdGEoKSk7CisjZW5k aWYgLy8gUVRfTk9fVEVYVENPREVDCiB9CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTI3 MDQsNyArMTI3NTAsNyBAQAogCiB2b2lkIFFTdHJpbmc6OmRlcmVmKCkKIHsKLSAgICBpZiAoIGQt PmRlcmVmKCkgKSB7CisgICAgaWYgKCBkICYmIGQtPmRlcmVmKCkgKSB7CiAJaWYgKCBkID09IHNo YXJlZF9udWxsICkKIAkgICAgc2hhcmVkX251bGwgPSAwOwogCWRlbGV0ZSBkOwpAQCAtMTI3NTAs NyArMTI3OTYsNyBAQAogKi8KIFFTdHJpbmcgJlFTdHJpbmc6Om9wZXJhdG9yPSggY29uc3QgUUNT dHJpbmcmIGNzICkKIHsKLSAgICByZXR1cm4gc2V0TGF0aW4xKGNzKTsKKyAgICByZXR1cm4gc2V0 TGF0aW4xKGNzLmRhdGEoKSk7CiB9CiAKIApAQCAtMTUyNzEsNiArMTUzMTcsMTcgQEAKICAgUmV0 dXJucyBhIGxhdGluLTEgY29weSBvZiB0aGlzIGNoYXJhY3RlciwgaWYgdGhpcyBjaGFyYWN0ZXIg aXMgaW4KICAgdGhlIGxhdGluLTEgY2hhcmFjdGVyIHNldC4gIElmIG5vdCwgdGhpcyBmdW5jdGlv biByZXR1cm5zIDAuCiAqLworY2hhciBRQ2hhcjo6bGF0aW4xKCkgY29uc3QKK3sKKyNpZmRlZiBR VF9OT19URVhUQ09ERUMKKyAgICByZXR1cm4gdWNzID4gMHhmZiA/IDAgOiAoY2hhcikgdWNzOwor I2Vsc2UKKyAgICBpZiAoIHVjcyA+IDB4ZmYgKSB7IC8vIE5vbiBJU08tODg1OS0xIGNoYXJhY3Rl ciB3ZSBzaG91bGQgdXNlIFRleHRDb2RlYworCXJldHVybiBRU3RyaW5nKCp0aGlzKS5sb2NhbDhC aXQoKS5hdCgwKTsKKyAgICB9CisgICAgcmV0dXJuIChjaGFyKSB1Y3M7CisjZW5kaWYgLy8gUVRf Tk9fVEVYVENPREVDCit9CiAKIAogLyohCkBAIC0xNTI5Miw3ICsxNTM0OSwxMSBAQAogICAgIGlm ICggIWQtPmFzY2lpICkgewogCVEySEVMUEVSKHN0YXRfZ2V0X2FzY2lpKyspCiAJUTJIRUxQRVIo c3RhdF9nZXRfYXNjaWlfc2l6ZSs9ZC0+bGVuKQorI2lmZGVmIFFUX05PX1RFWFRDT0RFQwogCWQt PmFzY2lpID0gdW5pY29kZVRvQXNjaWkoIGQtPnVuaWNvZGUsIGQtPmxlbiApOworI2Vsc2UKKwlp ZiggZC0+dW5pY29kZSApIGQtPmFzY2lpID0gcXN0cmR1cChsb2NhbDhCaXQoKS5kYXRhKCkpOwor I2VuZGlmCiAgICAgfQogICAgIHJldHVybiBkLT5hc2NpaTsKIH0KQEAgLTE1MzE1LDkgKzE1Mzc2 LDggQEAKIFFDU3RyaW5nIFFTdHJpbmc6OnV0ZjgoKSBjb25zdAogewogICAgIHN0YXRpYyBRVGV4 dENvZGVjKiBjb2RlYyA9IFFUZXh0Q29kZWM6OmNvZGVjRm9yTWliKDEwNik7Ci0gICAgcmV0dXJu IGNvZGVjCi0JICAgID8gY29kZWMtPmZyb21Vbmljb2RlKCp0aGlzKQotCSAgICA6IFFDU3RyaW5n KGxhdGluMSgpKTsKKyAgICBpZiAoICFjb2RlYyApIGNvZGVjID0gUVRleHRDb2RlYzo6Y29kZWNG b3JNaWIoNCk7IC8vIFVzZSBJU08tODg1OS0xIGNvZGVjCisgICAgcmV0dXJuIGNvZGVjLT5mcm9t VW5pY29kZSgqdGhpcyk7CiB9CiAKIC8qIQpAQCAtMTUzMzcsNyArMTUzOTcsOCBAQAogewogICAg IHN0YXRpYyBRVGV4dENvZGVjKiBjb2RlYyA9IFFUZXh0Q29kZWM6OmNvZGVjRm9yTWliKCAxMDYg KTsKICAgICBpZiAoIGxlbiA8IDAgKSBsZW4gPSBxc3RybGVuKCB1dGY4ICk7Ci0gICAgcmV0dXJu IGNvZGVjID8gY29kZWMtPnRvVW5pY29kZSggdXRmOCwgbGVuICkgOiBmcm9tTGF0aW4xKCB1dGY4 LCBsZW4gKTsKKyAgICBpZiAoICFjb2RlYyApIGNvZGVjID0gUVRleHRDb2RlYzo6Y29kZWNGb3JN aWIoNCk7IC8vIFVzZSBJU08tODg1OS0xIGNvZGVjCisgICAgcmV0dXJuIGNvZGVjLT50b1VuaWNv ZGUoIHV0ZjgsIGxlbiApOwogfQogI2VuZGlmIC8vIFFUX05PX1RFWFRDT0RFQwogCkBAIC0xNTM2 MCw2ICsxNTQyMSw3IEBACiAqLwogUVN0cmluZyBRU3RyaW5nOjpmcm9tTGF0aW4xKCBjb25zdCBj aGFyKiBjaGFycywgaW50IGxlbiApCiB7CisjaWZkZWYgUVRfTk9fVEVYVENPREVDCiAgICAgdWlu dCBsOwogICAgIFFDaGFyICp1YzsKICAgICBpZiAoIGxlbiA8IDAgKSB7CkBAIC0xNTM2OCw2ICsx NTQzMCw5IEBACiAJdWMgPSBpbnRlcm5hbEFzY2lpVG9Vbmljb2RlKCBjaGFycywgJmwsIGxlbiAp OwogICAgIH0KICAgICByZXR1cm4gUVN0cmluZyggbmV3IFFTdHJpbmdEYXRhKHVjLCBsLCBsKSwg VFJVRSApOworI2Vsc2UKKyAgICByZXR1cm4gUVN0cmluZzo6ZnJvbUxvY2FsOEJpdCggY2hhcnMs IGxlbiApOworI2VuZGlmIC8vIFFUX05PX1RFWFRDT0RFQwogfQogCiAvKiEKQEAgLTE1MzkzLDI0 ICsxNTQ1OCwxOCBAQAogI2lmZGVmIFFUX05PX1RFWFRDT0RFQwogICAgIHJldHVybiBsYXRpbjEo KTsKICNlbHNlCi0jaWZkZWYgUV9XU19YMTEKLSAgICBRVGV4dENvZGVjKiBjb2RlYyA9IFFUZXh0 Q29kZWM6OmNvZGVjRm9yTG9jYWxlKCk7Ci0gICAgcmV0dXJuIGNvZGVjCi0JICAgID8gY29kZWMt PmZyb21Vbmljb2RlKCp0aGlzKQotCSAgICA6IFFDU3RyaW5nKGxhdGluMSgpKTsKLSNlbmRpZgot I2lmIGRlZmluZWQoIFFfV1NfTUFDWCApCi0gICAgcmV0dXJuIHV0ZjgoKTsKKyNpZiBkZWZpbmVk KCBRX1dTX1gxMSApIHx8IGRlZmluZWQoIFFfV1NfTUFDWCApIHx8IGRlZmluZWQoIFFfV1NfUVdT ICkKKyNpZiBkZWZpbmVkKCBRX1dTX01BQ1ggKSB8fCBkZWZpbmVkKCBRX1dTX1FXUyApIAorICAg IHN0YXRpYyBRVGV4dENvZGVjICpjb2RlYyA9IFFUZXh0Q29kZWM6OmNvZGVjRm9yTWliKDEwNik7 IC8vIFVzZSBVVEY4IGNvZGVjCisjZWxzZQorICAgIHN0YXRpYyBRVGV4dENvZGVjKiBjb2RlYyA9 IFFUZXh0Q29kZWM6OmNvZGVjRm9yTG9jYWxlKCk7CiAjZW5kaWYKLSNpZiBkZWZpbmVkKCBRX1dT X01BQzkgKQotICAgICByZXR1cm4gUUNTdHJpbmcobGF0aW4xKCkpOyAvL0knbSBldmlsLi4KKyAg ICBpZiAoICFjb2RlYyApIGNvZGVjID0gUVRleHRDb2RlYzo6Y29kZWNGb3JNaWIoNCk7IC8vIFVz ZSBJU08tODg1OS0xIGNvZGVjCisgICAgcmV0dXJuIGNvZGVjLT5mcm9tVW5pY29kZSgqdGhpcyk7 CiAjZW5kaWYKICNpZmRlZiBRX1dTX1dJTgogICAgIHJldHVybiBxdF93aW5RU3RyaW5nMk1CKCAq dGhpcyApOwogI2VuZGlmCi0jaWZkZWYgUV9XU19RV1MKLSAgICByZXR1cm4gdXRmOCgpOyAvLyAj IyMjIyBpZiB0aGVyZSBpcyBBTlkgOCBiaXQgZm9ybWF0IHN1cHBvcnRlZD8KLSNlbmRpZgogI2Vu ZGlmCiB9CiAKQEAgLTE1NDM3LDE1ICsxNTQ5NiwxNSBAQAogCiAgICAgaWYgKCAhbG9jYWw4Qml0 ICkKIAlyZXR1cm4gUVN0cmluZzo6bnVsbDsKLSNpZmRlZiBRX1dTX1gxMQotICAgIFFUZXh0Q29k ZWMqIGNvZGVjID0gUVRleHRDb2RlYzo6Y29kZWNGb3JMb2NhbGUoKTsKLSAgICBpZiAoIGxlbiA8 IDAgKSBsZW4gPSBxc3RybGVuKGxvY2FsOEJpdCk7Ci0gICAgcmV0dXJuIGNvZGVjCi0JICAgID8g Y29kZWMtPnRvVW5pY29kZSggbG9jYWw4Qml0LCBsZW4gKQotCSAgICA6IGZyb21MYXRpbjEoIGxv Y2FsOEJpdCwgbGVuICk7CisjaWYgZGVmaW5lZCggUV9XU19YMTEgKSB8fCBkZWZpbmVkKCBRX1dT X01BQyApIHx8IGRlZmluZWQoIFFfV1NfUVdTICkgCisjaWYgZGVmaW5lZCggUV9XU19NQUMgKSB8 fCBkZWZpbmVkKCBRX1dTX1FXUyApCisgICAgc3RhdGljIFFUZXh0Q29kZWMgKmNvZGVjID0gUVRl eHRDb2RlYzo6Y29kZWNGb3JNaWIoMTA2KTsgLy8gVXNlIFVURjggY29kZWMKKyNlbHNlCisgICAg c3RhdGljIFFUZXh0Q29kZWMqIGNvZGVjID0gUVRleHRDb2RlYzo6Y29kZWNGb3JMb2NhbGUoKTsK ICNlbmRpZgotI2lmIGRlZmluZWQoIFFfV1NfTUFDICkKLSAgICByZXR1cm4gZnJvbVV0ZjgobG9j YWw4Qml0LGxlbik7CisgICAgaWYgKCBsZW4gPCAwICkgbGVuID0gcXN0cmxlbihsb2NhbDhCaXQp OworICAgIGlmICggIWNvZGVjICkgY29kZWMgPSBRVGV4dENvZGVjOjpjb2RlY0Zvck1pYig0KTsg Ly8gVXNlIElTTy04ODU5LTEgY29kZWMKKyAgICByZXR1cm4gY29kZWMtPnRvVW5pY29kZSggbG9j YWw4Qml0LCBsZW4gKTsKICNlbmRpZgogLy8gU2hvdWxkIHRoaXMgYmUgT1NfV0lOMzI/CiAjaWZk ZWYgUV9XU19XSU4KQEAgLTE1NDU1LDkgKzE1NTE0LDYgQEAKICAgICB9CiAgICAgcmV0dXJuIHF0 X3dpbk1CMlFTdHJpbmcoIGxvY2FsOEJpdCApOwogI2VuZGlmCi0jaWZkZWYgUV9XU19RV1MKLSAg ICByZXR1cm4gZnJvbVV0ZjgobG9jYWw4Qml0LGxlbik7Ci0jZW5kaWYKICNlbmRpZiAvLyBRVF9O T19URVhUQ09ERUMKIH0KIApAQCAtMTU2NTksMTAgKzE1NzE1LDE3IEBACiAgICAgaWYgKCBsZW4g PT0gMCApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3b24ndCBtYWtlIGEgbnVsbCBz dHJpbmcKIAkqdGhpcyA9IFFTdHJpbmc6OmZyb21MYXRpbjEoICIiICk7CiAgICAgfSBlbHNlIHsK KyNpZmRlZiBRVF9OT19URVhUQ09ERUMKIAlzZXRVbmljb2RlKCAwLCBsZW4gKTsgICAgICAgICAg ICAgICAgICAgLy8gcmVzaXplIGJ1dCBub3QgY29weQogCVFDaGFyICpwID0gZC0+dW5pY29kZTsK IAl3aGlsZSAoIGxlbi0tICkKIAkgICAgKnArKyA9ICpzdHIrKzsKKyNlbHNlCisJUVN0cmluZyB0 bXAoIFFTdHJpbmc6OmZyb21Mb2NhbDhCaXQoIHN0ciApICk7CisJdG1wLmQtPnJlZigpOworCWRl cmVmKCk7CisJZCA9IHRtcC5kOworI2VuZGlmIC8vIFFUX05PX1RFWFRDT0RFQwogICAgIH0KICAg ICByZXR1cm4gKnRoaXM7CiB9CkBAIC0xNTg0NSwyMiArMTU5MDgsNyBAQAogCiAKIGJvb2wgb3Bl cmF0b3I9PSggY29uc3QgUVN0cmluZyAmczEsIGNvbnN0IGNoYXIgKnMyICkKLXsgCi0gICAgaWYg KCAhczIgKQotCXJldHVybiBzMS5pc051bGwoKTsKLSAgICAKLSAgICBpbnQgbGVuID0gczEubGVu Z3RoKCk7Ci0gICAgY29uc3QgUUNoYXIgKnVjID0gczEudW5pY29kZSgpOwotICAgIHdoaWxlKCBs ZW4gKSB7Ci0JaWYgKCAhKCpzMikgfHwgdWMtPnVuaWNvZGUoKSAhPSAqczIgKSB7Ci0JICAgIGJy ZWFrOwotCX0KLQkrK3VjOwotCSsrczI7Ci0JLS1sZW47Ci0gICAgfQotICAgIHJldHVybiAobGVu ID8gRkFMU0UgOiAoKnMyKSA/IEZBTFNFIDogVFJVRSk7Ci19Cit7IHJldHVybiAoczEgPT0gUVN0 cmluZzo6ZnJvbUxvY2FsOEJpdChzMikpOyB9CiAKIGJvb2wgb3BlcmF0b3I9PSggY29uc3QgY2hh ciAqczEsIGNvbnN0IFFTdHJpbmcgJnMyICkKIHsgcmV0dXJuIChzMiA9PSBzMSApOyB9CkBAIC0x NTg3MiwyOCArMTU5MjAsMjggQEAKIHsgcmV0dXJuICEoczE9PXMyKTsgfQogCiBib29sIG9wZXJh dG9yPCggY29uc3QgUVN0cmluZyAmczEsIGNvbnN0IGNoYXIgKnMyICkKLXsgcmV0dXJuIHVjc3Ry Y21wKHMxLHMyKSA8IDA7IH0KK3sgcmV0dXJuIHVjc3RyY21wKHMxLFFTdHJpbmc6OmZyb21Mb2Nh bDhCaXQoczIpKSA8IDA7IH0KIAogYm9vbCBvcGVyYXRvcjwoIGNvbnN0IGNoYXIgKnMxLCBjb25z dCBRU3RyaW5nICZzMiApCi17IHJldHVybiB1Y3N0cmNtcChzMSxzMikgPCAwOyB9Cit7IHJldHVy biB1Y3N0cmNtcChRU3RyaW5nOjpmcm9tTG9jYWw4Qml0KHMxKSxzMikgPCAwOyB9CiAKIGJvb2wg b3BlcmF0b3I8PSggY29uc3QgUVN0cmluZyAmczEsIGNvbnN0IGNoYXIgKnMyICkKLXsgcmV0dXJu IHVjc3RyY21wKHMxLHMyKSA8PSAwOyB9Cit7IHJldHVybiB1Y3N0cmNtcChzMSxRU3RyaW5nOjpm cm9tTG9jYWw4Qml0KHMyKSkgPD0gMDsgfQogCiBib29sIG9wZXJhdG9yPD0oIGNvbnN0IGNoYXIg KnMxLCBjb25zdCBRU3RyaW5nICZzMiApCi17IHJldHVybiB1Y3N0cmNtcChzMSxzMikgPD0gMDsg fQoreyByZXR1cm4gdWNzdHJjbXAoUVN0cmluZzo6ZnJvbUxvY2FsOEJpdChzMSksczIpIDw9IDA7 IH0KIAogYm9vbCBvcGVyYXRvcj4oIGNvbnN0IFFTdHJpbmcgJnMxLCBjb25zdCBjaGFyICpzMiAp Ci17IHJldHVybiB1Y3N0cmNtcChzMSxzMikgPiAwOyB9Cit7IHJldHVybiB1Y3N0cmNtcChzMSxR U3RyaW5nOjpmcm9tTG9jYWw4Qml0KHMyKSkgPiAwOyB9CiAKIGJvb2wgb3BlcmF0b3I+KCBjb25z dCBjaGFyICpzMSwgY29uc3QgUVN0cmluZyAmczIgKQoteyByZXR1cm4gdWNzdHJjbXAoczEsczIp ID4gMDsgfQoreyByZXR1cm4gdWNzdHJjbXAoUVN0cmluZzo6ZnJvbUxvY2FsOEJpdChzMSksczIp ID4gMDsgfQogCiBib29sIG9wZXJhdG9yPj0oIGNvbnN0IFFTdHJpbmcgJnMxLCBjb25zdCBjaGFy ICpzMiApCi17IHJldHVybiB1Y3N0cmNtcChzMSxzMikgPj0gMDsgfQoreyByZXR1cm4gdWNzdHJj bXAoczEsUVN0cmluZzo6ZnJvbUxvY2FsOEJpdChzMikpID49IDA7IH0KIAogYm9vbCBvcGVyYXRv cj49KCBjb25zdCBjaGFyICpzMSwgY29uc3QgUVN0cmluZyAmczIgKQoteyByZXR1cm4gdWNzdHJj bXAoczEsczIpID49IDA7IH0KK3sgcmV0dXJuIHVjc3RyY21wKFFTdHJpbmc6OmZyb21Mb2NhbDhC aXQoczEpLHMyKSA+PSAwOyB9CiAKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0xNjEwOCw3 ICsxNjE1Niw3IEBACiBRRGF0YVN0cmVhbSAmb3BlcmF0b3I8PCggUURhdGFTdHJlYW0gJnMsIGNv bnN0IFFTdHJpbmcgJnN0ciApCiB7CiAgICAgaWYgKCBzLnZlcnNpb24oKSA9PSAxICkgewotCVFD U3RyaW5nIGwoIHN0ci5sYXRpbjEoKSApOworCVFDU3RyaW5nIGwoIHN0ci5sb2NhbDhCaXQoKSAp OwogCXMgPDwgbDsKICAgICB9CiAgICAgZWxzZSB7CkBAIC0xNjE2Myw3ICsxNjIxMSw3IEBACiAg ICAgaWYgKCBzLnZlcnNpb24oKSA9PSAxICkgewogCVFDU3RyaW5nIGw7CiAJcyA+PiBsOwotCXN0 ciA9IFFTdHJpbmcoIGwgKTsKKwlzdHIgPSBRU3RyaW5nOjpmcm9tTG9jYWw4Qml0KCBsICk7CiAg ICAgfQogICAgIGVsc2UgewogCVFfVUlOVDMyIGJ5dGVzOwpkaWZmIC1OYXVyIHF0LXgxMS1mcmVl LTMuMC4yLm9yaWcvc3JjL3Rvb2xzL3FzdHJpbmcuaCBxdC14MTEtZnJlZS0zLjAuMi9zcmMvdG9v bHMvcXN0cmluZy5oCi0tLSBxdC14MTEtZnJlZS0zLjAuMi5vcmlnL3NyYy90b29scy9xc3RyaW5n LmgJTW9uIEZlYiAxOCAxNTo0Njo1NyAyMDAyCisrKyBxdC14MTEtZnJlZS0zLjAuMi9zcmMvdG9v bHMvcXN0cmluZy5oCVR1ZSBNYXIgMTIgMjA6MTg6MDAgMjAwMgpAQCAtMTczLDcgKzE3Myw3IEBA CiAgICAgRGVjb21wb3NpdGlvbiBkZWNvbXBvc2l0aW9uVGFnKCkgY29uc3Q7CiAgICAgdW5zaWdu ZWQgY2hhciBjb21iaW5pbmdDbGFzcygpIGNvbnN0OwogCi0gICAgY2hhciBsYXRpbjEoKSBjb25z dCB7IHJldHVybiB1Y3MgPiAweGZmID8gMCA6IChjaGFyKSB1Y3M7IH0KKyAgICBjaGFyIGxhdGlu MSgpIGNvbnN0OwogICAgIHVzaG9ydCB1bmljb2RlKCkgY29uc3QgeyByZXR1cm4gdWNzOyB9CiAg ICAgdXNob3J0ICZ1bmljb2RlKCkgeyByZXR1cm4gdWNzOyB9CiAjaWZuZGVmIFFUX05PX0NBU1Rf QVNDSUkKQEAgLTIyNSwyMCArMjI1LDYgQEAKICAgICBncnAgPSAwOwogI2VuZGlmCiB9Ci1pbmxp bmUgUUNoYXI6OlFDaGFyKCBjaGFyIGMgKQotewotICAgIHVjcyA9ICh1Y2hhciljOwotI2lmZGVm IFFUX1FTVFJJTkdfVUNTXzQKLSAgICBncnAgPSAwOwotI2VuZGlmCi19Ci1pbmxpbmUgUUNoYXI6 OlFDaGFyKCB1Y2hhciBjICkKLXsKLSAgICB1Y3MgPSBjOwotI2lmZGVmIFFUX1FTVFJJTkdfVUNT XzQKLSAgICBncnAgPSAwOwotI2VuZGlmCi19CiBpbmxpbmUgUUNoYXI6OlFDaGFyKCB1Y2hhciBj LCB1Y2hhciByICkKIHsKICAgICB1Y3MgPSAociA8PCA4KSB8IGM7CkBAIC0yODYsMTIgKzI3Miwx MiBAQAogCiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KCBjaGFyIGNoLCBRQ2hhciBjICkKIHsKLSAg ICByZXR1cm4gKCh1Y2hhcikgY2gpID09IGMudWNzOworICAgIHJldHVybiBRQ2hhcigodWNoYXIp IGNoKS51Y3MgPT0gYy51Y3M7CiB9CiAKIGlubGluZSBib29sIG9wZXJhdG9yPT0oIFFDaGFyIGMs IGNoYXIgY2ggKQogewotICAgIHJldHVybiAoKHVjaGFyKSBjaCkgPT0gYy51Y3M7CisgICAgcmV0 dXJuIFFDaGFyKCh1Y2hhcikgY2gpLnVjcyA9PSBjLnVjczsKIH0KIAogaW5saW5lIGJvb2wgb3Bl cmF0b3I9PSggUUNoYXIgYzEsIFFDaGFyIGMyICkKQEAgLTMwNiwyMiArMjkyLDIyIEBACiAKIGlu bGluZSBib29sIG9wZXJhdG9yIT0oIGNoYXIgY2gsIFFDaGFyIGMgKQogewotICAgIHJldHVybiAo KHVjaGFyKWNoKSAhPSBjLnVjczsKKyAgICByZXR1cm4gUUNoYXIoKHVjaGFyKSBjaCkudWNzICE9 IGMudWNzOwogfQogCiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KCBRQ2hhciBjLCBjaGFyIGNoICkK IHsKLSAgICByZXR1cm4gKCh1Y2hhcikgY2gpICE9IGMudWNzOworICAgIHJldHVybiBRQ2hhcigo dWNoYXIpIGNoKS51Y3MgIT0gYy51Y3M7CiB9CiAKIGlubGluZSBib29sIG9wZXJhdG9yPD0oIFFD aGFyIGMsIGNoYXIgY2ggKQogewotICAgIHJldHVybiBjLnVjcyA8PSAoKHVjaGFyKSBjaCk7Cisg ICAgcmV0dXJuIGMudWNzIDw9IFFDaGFyKCh1Y2hhcikgY2gpLnVjczsKIH0KIAogaW5saW5lIGJv b2wgb3BlcmF0b3I8PSggY2hhciBjaCwgUUNoYXIgYyApCiB7Ci0gICAgcmV0dXJuICgodWNoYXIp IGNoKSA8PSBjLnVjczsKKyAgICByZXR1cm4gUUNoYXIoKHVjaGFyKSBjaCkudWNzIDw9IGMudWNz OwogfQogCiBpbmxpbmUgYm9vbCBvcGVyYXRvcjw9KCBRQ2hhciBjMSwgUUNoYXIgYzIgKQpAQCAt NzE4LDcgKzcwNCw3IEBACiAvLwogaW5saW5lIFFTdHJpbmc6On5RU3RyaW5nKCkKIHsKLSAgICBp ZiAoIGQtPmRlcmVmKCkgKSB7CisgICAgaWYgKCBkICYmIGQtPmRlcmVmKCkgKSB7CiAgICAgICAg IGlmICggZCA9PSBzaGFyZWRfbnVsbCApCiAgICAgICAgICAgICBzaGFyZWRfbnVsbCA9IDA7CiAg ICAgICAgIGQtPmRlbGV0ZVNlbGYoKTsK --------------Boundary-00=_9GE0W1QKFNLFXQHD849B Content-Type: text/x-diff; charset="koi8-r"; name="qt-x11-free-3.0.2-0004-step.2.diff" Content-Disposition: attachment; filename="qt-x11-free-3.0.2-0004-step.2.diff" Content-Transfer-Encoding: base64 ZGlmZiAtTmF1ciBxdC14MTEtZnJlZS0zLjAuMi5vcmlnL3NyYy90b29scy9xc3RyaW5nLmNwcCBx dC14MTEtZnJlZS0zLjAuMi9zcmMvdG9vbHMvcXN0cmluZy5jcHAKLS0tIHF0LXgxMS1mcmVlLTMu MC4yLm9yaWcvc3JjL3Rvb2xzL3FzdHJpbmcuY3BwCVN1biBNYXIgIDMgMTQ6NTI6MzIgMjAwMgor KysgcXQteDExLWZyZWUtMy4wLjIvc3JjL3Rvb2xzL3FzdHJpbmcuY3BwCVN1biBNYXIgIDMgMTQ6 NTI6MzIgMjAwMgpAQCAtMTI2MDMsOSArMTI2MDMsOSBAQAogICBcc2EgaXNOdWxsKCkKICovCiAK LVFTdHJpbmc6OlFTdHJpbmcoIGludCBzaXplLCBib29sIC8qZHVtbXkqLyApCitRU3RyaW5nOjpR U3RyaW5nKCBpbnQgc2l6ZSwgYm9vbCBtYWtlX2JsYW5rICkKIHsKLSAgICBpZiAoIHNpemUgKSB7 CisgICAgaWYgKCBzaXplIHx8ICggIXNpemUgJiYgbWFrZV9ibGFuayApICkgewogCVEySEVMUEVS KHN0YXRfY29uc3RydWN0X2ludCsrKQogCWludCBsID0gc2l6ZTsKIAlRMkhFTFBFUihzdGF0X2Nv bnN0cnVjdF9pbnRfc2l6ZSs9bCkKQEAgLTEyNjI2LDkgKzEyNjI2LDE0IEBACiBRU3RyaW5nOjpR U3RyaW5nKCBjb25zdCBRQnl0ZUFycmF5JiBiYSApCiB7CiAgICAgUTJIRUxQRVIoc3RhdF9jb25z dHJ1Y3RfYmErKykKLSAgICB1aW50IGw7Ci0gICAgUUNoYXIgKnVjID0gaW50ZXJuYWxBc2NpaVRv VW5pY29kZShiYSwmbCk7Ci0gICAgZCA9IG5ldyBRU3RyaW5nRGF0YSh1YyxsLGwpOworICAgIGlm KGJhLmlzTnVsbCgpKSB7CisJUVN0cmluZyB0bXAgPSBiYS5zaXplKCkgPyBRU3RyaW5nOjpmcm9t TG9jYWw4Qml0KGJhLmRhdGEoKSkgOiBRU3RyaW5nKDAsdHJ1ZSk7CisJdG1wLmQtPnJlZigpOwor CWQgPSB0bXAuZDsKKyAgICB9IGVsc2UgeworCWQgPSBzaGFyZWRfbnVsbCA/IHNoYXJlZF9udWxs IDogbWFrZVNoYXJlZE51bGwoKTsKKwlkLT5yZWYoKTsKKyAgICB9CiB9CiAKIC8qIQpAQCAtMTI2 NzksMTAgKzEyNjg0LDE0IEBACiBRU3RyaW5nOjpRU3RyaW5nKCBjb25zdCBjaGFyICpzdHIgKQog ewogICAgIFEySEVMUEVSKHN0YXRfY29uc3RydWN0X2NoYXJzdGFyKyspCi0gICAgdWludCBsOwot ICAgIFFDaGFyICp1YyA9IGludGVybmFsQXNjaWlUb1VuaWNvZGUoc3RyLCZsKTsKLSAgICBRMkhF TFBFUihzdGF0X2NvbnN0cnVjdF9jaGFyc3Rhcl9zaXplKz1sKQotICAgIGQgPSBuZXcgUVN0cmlu Z0RhdGEodWMsbCxsKTsKKyAgICBpZihzdHIpIHsKKwlRU3RyaW5nIHRtcCA9IHN0clswXSA/IFFT dHJpbmc6OmZyb21Mb2NhbDhCaXQoc3RyKSA6IFFTdHJpbmcoMCx0cnVlKTsKKwl0bXAuZC0+cmVm KCk7CisJZCA9IHRtcC5kOworICAgIH0gZWxzZSB7CisJZCA9IHNoYXJlZF9udWxsID8gc2hhcmVk X251bGwgOiBtYWtlU2hhcmVkTnVsbCgpOworCWQtPnJlZigpOworICAgIH0KIH0KIAogCg== --------------Boundary-00=_9GE0W1QKFNLFXQHD849B Content-Type: text/x-diff; charset="koi8-r"; name="qt-x11-free-3.0.2-0004-step.1.diff" Content-Disposition: attachment; filename="qt-x11-free-3.0.2-0004-step.1.diff" Content-Transfer-Encoding: base64 ZGlmZiAtTmF1ciBxdC14MTEtZnJlZS0zLjAuMi5vcmlnL3NyYy9jb2RlY3MvcWJpZzVjb2RlYy5j cHAgcXQteDExLWZyZWUtMy4wLjIvc3JjL2NvZGVjcy9xYmlnNWNvZGVjLmNwcAotLS0gcXQteDEx LWZyZWUtMy4wLjIub3JpZy9zcmMvY29kZWNzL3FiaWc1Y29kZWMuY3BwCU1vbiBGZWIgMTggMTU6 NDY6MjggMjAwMgorKysgcXQteDExLWZyZWUtMy4wLjIvc3JjL2NvZGVjcy9xYmlnNWNvZGVjLmNw cAlUdWUgTWFyIDEyIDEyOjM3OjQxIDIwMDIKQEAgLTUyLDYgKzUyLDcgQEAKIAogI2RlZmluZSBJ c0JpZzVDaGFyKGMpCSgoKGMpID49IDB4ODEpICYmICgoYykgPD0gMHhmZSkpCiAjZGVmaW5lCVFW YWxpZENoYXIodSkJKCh1KSA/IFFDaGFyKCh1c2hvcnQpKHUpKSA6IFFDaGFyOjpyZXBsYWNlbWVu dCkKKyNkZWZpbmUJUUFzY2lpQ2hhcih1KQkoUUNoYXIoKHVzaG9ydCkodSkpKQogCiAKIGludCBR QmlnNUNvZGVjOjptaWJFbnVtKCkgY29uc3QKQEAgLTg4LDMyICs4OSwzNSBAQAogCiBRU3RyaW5n IFFCaWc1Q29kZWM6OnRvVW5pY29kZShjb25zdCBjaGFyKiBjaGFycywgaW50IGxlbikgY29uc3QK IHsKLSAgUVN0cmluZyByZXN1bHQ7Ci0gIGZvciAoaW50IGk9MDsgaTxsZW47IGkrKykgewotICAg IHVjaGFyIGNoID0gY2hhcnNbaV07Ci0gICAgaWYgKCBjaCA8IDB4ODAgKSB7Ci0gICAgICAvLyBB U0NJSQotICAgICAgcmVzdWx0ICs9IFFDaGFyKGNoKTsKLSAgICB9IGVsc2UgaWYgKCBJc0JpZzVD aGFyKGNoKSApIHsKLSAgICAgIC8vIEJpZzUgMTk4NAotICAgICAgaWYgKCBpIDwgbGVuLTEgKSB7 Ci0JdWNoYXIgYzIgPSBjaGFyc1srK2ldOwotCWlmICggKGMyID49MHg0MCkgJiYgKGMyIDw9MHhm ZSkgKSB7Ci0JICB1aW50IHUgPSBxdF9CaWc1VG9Vbmljb2RlKChjaCA8PCA4KSB8IGMyKTsKLQkg IHJlc3VsdCArPSBRVmFsaWRDaGFyKHUpOwotCX0gZWxzZSB7Ci0JICBpLS07Ci0JICByZXN1bHQg Kz0gUUNoYXI6OnJlcGxhY2VtZW50OworICAgIFFTdHJpbmcgcmVzdWx0OworICAgIGlmIChjaGFy cykgeworCXJlc3VsdC5zZXRMZW5ndGgoMCk7CisJZm9yIChpbnQgaT0wOyBpPGxlbjsgaSsrKSB7 CisJICAgIHVjaGFyIGNoID0gY2hhcnNbaV07CisJICAgIGlmICggY2ggPCAweDgwICkgeworCQkv LyBBU0NJSQorCQlyZXN1bHQgKz0gUUFzY2lpQ2hhcihjaCk7CisJICAgIH0gZWxzZSBpZiAoIElz QmlnNUNoYXIoY2gpICkgeworCQkvLyBCaWc1IDE5ODQKKwkJaWYgKCBpIDwgbGVuLTEgKSB7CisJ CSAgICB1Y2hhciBjMiA9IGNoYXJzWysraV07CisJCSAgICBpZiAoIChjMiA+PTB4NDApICYmIChj MiA8PTB4ZmUpICkgeworCQkJdWludCB1ID0gcXRfQmlnNVRvVW5pY29kZSgoY2ggPDwgOCkgfCBj Mik7CisJCQlyZXN1bHQgKz0gUVZhbGlkQ2hhcih1KTsKKwkJICAgIH0gZWxzZSB7CisJCQlpLS07 CisJCQlyZXN1bHQgKz0gUUNoYXI6OnJlcGxhY2VtZW50OworCQkgICAgfQorCQl9IGVsc2Ugewor CQkgICAgcmVzdWx0ICs9IFFDaGFyOjpyZXBsYWNlbWVudDsKKwkJfQorCSAgICB9IGVsc2Ugewor CQkvLyBJbnZhbGlkCisJCXJlc3VsdCArPSBRQ2hhcjo6cmVwbGFjZW1lbnQ7CisJICAgIH0KIAl9 Ci0gICAgICB9IGVsc2UgewotCXJlc3VsdCArPSBRQ2hhcjo6cmVwbGFjZW1lbnQ7Ci0gICAgICB9 Ci0gICAgfSBlbHNlIHsKLSAgICAgIC8vIEludmFsaWQKLSAgICAgIHJlc3VsdCArPSBRQ2hhcjo6 cmVwbGFjZW1lbnQ7CiAgICAgfQotICB9Ci0gIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIHJl c3VsdDsKIH0KIAogY29uc3QgY2hhciogUUJpZzVDb2RlYzo6bmFtZSgpIGNvbnN0CkBAIC0xOTcs NyArMjAxLDcgQEAKICAgICAgIGNhc2UgMDoKIAlpZiAoIGNoIDwgMHg4MCApIHsKIAkgIC8vIEFT Q0lJCi0JICByZXN1bHQgKz0gUUNoYXIoY2gpOworCSAgcmVzdWx0ICs9IFFBc2NpaUNoYXIoY2gp OwogCX0gZWxzZSBpZiAoIElzQmlnNUNoYXIoY2gpICkgewogCSAgLy8gQmlnNSAxOTg0CiAJICBi dWZbMF0gPSBjaDsKZGlmZiAtTmF1ciBxdC14MTEtZnJlZS0zLjAuMi5vcmlnL3NyYy9jb2RlY3Mv cWV1Y2pwY29kZWMuY3BwIHF0LXgxMS1mcmVlLTMuMC4yL3NyYy9jb2RlY3MvcWV1Y2pwY29kZWMu Y3BwCi0tLSBxdC14MTEtZnJlZS0zLjAuMi5vcmlnL3NyYy9jb2RlY3MvcWV1Y2pwY29kZWMuY3Bw CU1vbiBGZWIgMTggMTU6NDY6MjggMjAwMgorKysgcXQteDExLWZyZWUtMy4wLjIvc3JjL2NvZGVj cy9xZXVjanBjb2RlYy5jcHAJVHVlIE1hciAxMiAxMjozOTo1MCAyMDAyCkBAIC0xMjQsNiArMTI0 LDcgQEAKICNkZWZpbmUJSXNFdWNDaGFyKGMpCSgoKGMpID49IDB4YTEpICYmICgoYykgPD0gMHhm ZSkpCiAKICNkZWZpbmUJUVZhbGlkQ2hhcih1KQkoKHUpID8gUUNoYXIoKHVzaG9ydCkodSkpIDog UUNoYXI6OnJlcGxhY2VtZW50KQorI2RlZmluZQlRQXNjaWlDaGFyKHUpCShRQ2hhcigodXNob3J0 KSh1KSkpCiAKIC8qIQogICBDb25zdHJ1Y3RzIGEgUUV1Y0pwQ29kZWMuCkBAIC0yMTQsNjQgKzIx NSw2NyBAQAogUVN0cmluZyBRRXVjSnBDb2RlYzo6dG9Vbmljb2RlKGNvbnN0IGNoYXIqIGNoYXJz LCBpbnQgbGVuKSBjb25zdAogewogICAgIFFTdHJpbmcgcmVzdWx0OwotICAgIGZvciAoaW50IGk9 MDsgaTxsZW47IGkrKykgewotCXVjaGFyIGNoID0gY2hhcnNbaV07Ci0JaWYgKCBjaCA8IDB4ODAg KSB7Ci0JICAgIC8vIEFTQ0lJCi0JICAgIHJlc3VsdCArPSBRQ2hhcihjaCk7Ci0JfSBlbHNlIGlm ICggY2ggPT0gU3MyICkgewotCSAgICAvLyBKSVMgWCAwMjAxIEthbmEKLQkgICAgaWYgKCBpIDwg bGVuLTEgKSB7Ci0JCXVjaGFyIGMyID0gY2hhcnNbKytpXTsKLQkJaWYgKCBJc0thbmEoYzIpICkg ewotCQkgICAgdWludCB1ID0gY29udi0+amlzeDAyMDFUb1VuaWNvZGUoYzIpOwotCQkgICAgcmVz dWx0ICs9IFFWYWxpZENoYXIodSk7Ci0JCX0gZWxzZSB7Ci0JCSAgICBpLS07Ci0JCSAgICByZXN1 bHQgKz0gUUNoYXI6OnJlcGxhY2VtZW50OworICAgIGlmIChjaGFycykgeworCXJlc3VsdC5zZXRM ZW5ndGgoMCk7CisJZm9yIChpbnQgaT0wOyBpPGxlbjsgaSsrKSB7CisJICAgIHVjaGFyIGNoID0g Y2hhcnNbaV07CisJICAgIGlmICggY2ggPCAweDgwICkgeworCQkvLyBBU0NJSQorCQlyZXN1bHQg Kz0gUUFzY2lpQ2hhcihjaCk7CisJICAgIH0gZWxzZSBpZiAoIGNoID09IFNzMiApIHsKKwkJLy8g SklTIFggMDIwMSBLYW5hCisJCWlmICggaSA8IGxlbi0xICkgeworCQkgICAgdWNoYXIgYzIgPSBj aGFyc1srK2ldOworCQkgICAgaWYgKCBJc0thbmEoYzIpICkgeworCQkJdWludCB1ID0gY29udi0+ amlzeDAyMDFUb1VuaWNvZGUoYzIpOworCQkJcmVzdWx0ICs9IFFWYWxpZENoYXIodSk7CisJCSAg ICB9IGVsc2UgeworCQkJaS0tOworCQkJcmVzdWx0ICs9IFFDaGFyOjpyZXBsYWNlbWVudDsKKwkJ ICAgIH0KIAkJfQotCSAgICB9Ci0JfSBlbHNlIGlmICggY2ggPT0gU3MzICkgewotCSAgICAvLyBK SVMgWCAwMjEyCi0JICAgIGlmICggaSA8IGxlbi0xICkgewotCQl1Y2hhciBjMiA9IGNoYXJzWysr aV07Ci0JCWlmICggSXNFdWNDaGFyKGMyKSApIHsKLQkJICAgIGlmICggaSA8IGxlbi0xICkgewot CQkJdWNoYXIgYzMgPSBjaGFyc1srK2ldOwotCQkJaWYgKCBJc0V1Y0NoYXIoYzMpICkgewotCQkJ ICAgIHVpbnQgdSA9IGNvbnYtPmppc3gwMjEyVG9Vbmljb2RlKGMyICYgMHg3ZiwgYzMgJiAweDdm KTsKLQkJCSAgICByZXN1bHQgKz0gUVZhbGlkQ2hhcih1KTsKKwkgICAgfSBlbHNlIGlmICggY2gg PT0gU3MzICkgeworCQkvLyBKSVMgWCAwMjEyCisJCWlmICggaSA8IGxlbi0xICkgeworCQkgICAg dWNoYXIgYzIgPSBjaGFyc1srK2ldOworCQkgICAgaWYgKCBJc0V1Y0NoYXIoYzIpICkgeworCQkJ aWYgKCBpIDwgbGVuLTEgKSB7CisJCQkgICAgdWNoYXIgYzMgPSBjaGFyc1srK2ldOworCQkJICAg IGlmICggSXNFdWNDaGFyKGMzKSApIHsKKwkJCQl1aW50IHUgPSBjb252LT5qaXN4MDIxMlRvVW5p Y29kZShjMiAmIDB4N2YsIGMzICYgMHg3Zik7CisJCQkJcmVzdWx0ICs9IFFWYWxpZENoYXIodSk7 CisJCQkgICAgfSBlbHNlIHsKKwkJCQlpLS07CisJCQkJcmVzdWx0ICs9IFFDaGFyOjpyZXBsYWNl bWVudDsKKwkJCSAgICB9CiAJCQl9IGVsc2UgewotCQkJICAgIGktLTsKIAkJCSAgICByZXN1bHQg Kz0gUUNoYXI6OnJlcGxhY2VtZW50OwogCQkJfQogCQkgICAgfSBlbHNlIHsKKwkJCWktLTsKIAkJ CXJlc3VsdCArPSBRQ2hhcjo6cmVwbGFjZW1lbnQ7CiAJCSAgICB9CiAJCX0gZWxzZSB7Ci0JCSAg ICBpLS07CiAJCSAgICByZXN1bHQgKz0gUUNoYXI6OnJlcGxhY2VtZW50OwogCQl9Ci0JICAgIH0g ZWxzZSB7Ci0JCXJlc3VsdCArPSBRQ2hhcjo6cmVwbGFjZW1lbnQ7Ci0JICAgIH0KLQl9IGVsc2Ug aWYgKCBJc0V1Y0NoYXIoY2gpICkgewotCSAgICAvLyBKSVMgWCAwMjA4Ci0JICAgIGlmICggaSA8 IGxlbi0xICkgewotCQl1Y2hhciBjMiA9IGNoYXJzWysraV07Ci0JCWlmICggSXNFdWNDaGFyKGMy KSApIHsKLQkJICAgIHVpbnQgdSA9IGNvbnYtPmppc3gwMjA4VG9Vbmljb2RlKGNoICYgMHg3Ziwg YzIgJiAweDdmKTsKLQkJICAgIHJlc3VsdCArPSBRVmFsaWRDaGFyKHUpOworCSAgICB9IGVsc2Ug aWYgKCBJc0V1Y0NoYXIoY2gpICkgeworCQkvLyBKSVMgWCAwMjA4CisJCWlmICggaSA8IGxlbi0x ICkgeworCQkgICAgdWNoYXIgYzIgPSBjaGFyc1srK2ldOworCQkgICAgaWYgKCBJc0V1Y0NoYXIo YzIpICkgeworCQkgICAgICAgIHVpbnQgdSA9IGNvbnYtPmppc3gwMjA4VG9Vbmljb2RlKGNoICYg MHg3ZiwgYzIgJiAweDdmKTsKKwkJCXJlc3VsdCArPSBRVmFsaWRDaGFyKHUpOworCQkgICAgfSBl bHNlIHsKKwkJCWktLTsKKwkJCXJlc3VsdCArPSBRQ2hhcjo6cmVwbGFjZW1lbnQ7CisJCSAgICB9 CiAJCX0gZWxzZSB7Ci0JCSAgICBpLS07CiAJCSAgICByZXN1bHQgKz0gUUNoYXI6OnJlcGxhY2Vt ZW50OwogCQl9CiAJICAgIH0gZWxzZSB7CisJCS8vIEludmFsaWQKIAkJcmVzdWx0ICs9IFFDaGFy OjpyZXBsYWNlbWVudDsKIAkgICAgfQotCX0gZWxzZSB7Ci0JICAgIC8vIEludmFsaWQKLQkgICAg cmVzdWx0ICs9IFFDaGFyOjpyZXBsYWNlbWVudDsKIAl9CiAgICAgfQogICAgIHJldHVybiByZXN1 bHQ7CkBAIC00MTEsNyArNDE1LDcgQEAKIAkgICAgICBjYXNlIDA6CiAJCWlmICggY2ggPCAweDgw ICkgewogCQkgICAgLy8gQVNDSUkKLQkJICAgIHJlc3VsdCArPSBRQ2hhcihjaCk7CisJCSAgICBy ZXN1bHQgKz0gUUFzY2lpQ2hhcihjaCk7CiAJCX0gZWxzZSBpZiAoIGNoID09IFNzMiB8fCBjaCA9 PSBTczMgKSB7CiAJCSAgICAvLyBKSVMgWCAwMjAxIEthbmEgb3IgSklTIFggMDIxMgogCQkgICAg YnVmWzBdID0gY2g7CmRpZmYgLU5hdXIgcXQteDExLWZyZWUtMy4wLjIub3JpZy9zcmMvY29kZWNz L3FldWNrcmNvZGVjLmNwcCBxdC14MTEtZnJlZS0zLjAuMi9zcmMvY29kZWNzL3FldWNrcmNvZGVj LmNwcAotLS0gcXQteDExLWZyZWUtMy4wLjIub3JpZy9zcmMvY29kZWNzL3FldWNrcmNvZGVjLmNw cAlNb24gRmViIDE4IDE1OjQ2OjI4IDIwMDIKKysrIHF0LXgxMS1mcmVlLTMuMC4yL3NyYy9jb2Rl Y3MvcWV1Y2tyY29kZWMuY3BwCVR1ZSBNYXIgMTIgMTI6NDE6MjUgMjAwMgpAQCAtOTgsNiArOTgs NyBAQAogCiAjZGVmaW5lCUlzRXVjQ2hhcihjKQkoKChjKSA+PSAweGExKSAmJiAoKGMpIDw9IDB4 ZmUpKQogI2RlZmluZQlRVmFsaWRDaGFyKHUpCSgodSkgPyBRQ2hhcigodXNob3J0KSh1KSkgOiBR Q2hhcjo6cmVwbGFjZW1lbnQpCisjZGVmaW5lCVFBc2NpaUNoYXIodSkJKFFDaGFyKCh1c2hvcnQp KHUpKSkKIAogLyohCiAgIFxyZWltcApAQCAtMTU0LDMwICsxNTUsMzMgQEAKIFFTdHJpbmcgUUV1 Y0tyQ29kZWM6OnRvVW5pY29kZShjb25zdCBjaGFyKiBjaGFycywgaW50IGxlbikgY29uc3QKIHsK ICAgICBRU3RyaW5nIHJlc3VsdDsKLSAgICBmb3IgKGludCBpPTA7IGk8bGVuOyBpKyspIHsKLQl1 Y2hhciBjaCA9IGNoYXJzW2ldOwotCWlmIChjaCA9PSAwKQotCSAgICBicmVhazsKLQlpZiAoIGNo IDwgMHg4MCApIHsKLQkgICAgLy8gQVNDSUkKLQkgICAgcmVzdWx0ICs9IFFDaGFyKGNoKTsKLQl9 IGVsc2UgaWYgKCBJc0V1Y0NoYXIoY2gpICkgewotCSAgICAvLyBLU0MgNTYwMQotCSAgICBpZiAo IGkgPCBsZW4tMSApIHsKLQkJdWNoYXIgYzIgPSBjaGFyc1srK2ldOwotCQlpZiAoIElzRXVjQ2hh cihjMikgKSB7Ci0JCSAgICB1aW50IHUgPSBxdF9Lc2M1NjAxVG9Vbmljb2RlKChjaCA8PCA4KSB8 IGMyKTsKLQkJICAgIHJlc3VsdCArPSBRVmFsaWRDaGFyKHUpOworICAgIGlmIChjaGFycykgewor CXJlc3VsdC5zZXRMZW5ndGgoMCk7CisJZm9yIChpbnQgaT0wOyBpPGxlbjsgaSsrKSB7CisJICAg IHVjaGFyIGNoID0gY2hhcnNbaV07CisJICAgIGlmIChjaCA9PSAwKQorCQlicmVhazsKKwkgICAg aWYgKCBjaCA8IDB4ODAgKSB7CisJCS8vIEFTQ0lJCisJCXJlc3VsdCArPSBRQXNjaWlDaGFyKGNo KTsKKwkgICAgfSBlbHNlIGlmICggSXNFdWNDaGFyKGNoKSApIHsKKwkJLy8gS1NDIDU2MDEKKwkJ aWYgKCBpIDwgbGVuLTEgKSB7CisJCSAgICB1Y2hhciBjMiA9IGNoYXJzWysraV07CisJCSAgICBp ZiAoIElzRXVjQ2hhcihjMikgKSB7CisJCQl1aW50IHUgPSBxdF9Lc2M1NjAxVG9Vbmljb2RlKChj aCA8PCA4KSB8IGMyKTsKKwkJCXJlc3VsdCArPSBRVmFsaWRDaGFyKHUpOworCQkgICAgfSBlbHNl IHsKKwkJCWktLTsKKwkJCXJlc3VsdCArPSBRQ2hhcjo6cmVwbGFjZW1lbnQ7CisJCSAgICB9CiAJ CX0gZWxzZSB7Ci0JCSAgICBpLS07CiAJCSAgICByZXN1bHQgKz0gUUNoYXI6OnJlcGxhY2VtZW50 OwogCQl9CiAJICAgIH0gZWxzZSB7CisJCS8vIEludmFsaWQKIAkJcmVzdWx0ICs9IFFDaGFyOjpy ZXBsYWNlbWVudDsKIAkgICAgfQotCX0gZWxzZSB7Ci0JICAgIC8vIEludmFsaWQKLQkgICAgcmVz dWx0ICs9IFFDaGFyOjpyZXBsYWNlbWVudDsKIAl9CiAgICAgfQogICAgIHJldHVybiByZXN1bHQ7 CkBAIC0yOTEsNyArMjk1LDcgQEAKIAkgICAgY2FzZSAwOgogCQlpZiAoIGNoIDwgMHg4MCApIHsK IAkJICAgIC8vIEFTQ0lJCi0JCSAgICByZXN1bHQgKz0gUUNoYXIoY2gpOworCQkgICAgcmVzdWx0 ICs9IFFBc2NpaUNoYXIoY2gpOwogCQl9IGVsc2UgaWYgKCBJc0V1Y0NoYXIoY2gpICkgewogCQkg ICAgLy8gS1NDIDU2MDEKIAkJICAgIGJ1ZlswXSA9IGNoOwpkaWZmIC1OYXVyIHF0LXgxMS1mcmVl LTMuMC4yLm9yaWcvc3JjL2NvZGVjcy9xZ2JrY29kZWMuY3BwIHF0LXgxMS1mcmVlLTMuMC4yL3Ny Yy9jb2RlY3MvcWdia2NvZGVjLmNwcAotLS0gcXQteDExLWZyZWUtMy4wLjIub3JpZy9zcmMvY29k ZWNzL3FnYmtjb2RlYy5jcHAJTW9uIEZlYiAxOCAxNTo0NjoyOSAyMDAyCisrKyBxdC14MTEtZnJl ZS0zLjAuMi9zcmMvY29kZWNzL3FnYmtjb2RlYy5jcHAJVHVlIE1hciAxMiAxMjo0MzoyMiAyMDAy CkBAIC04NCw2ICs4NCw3IEBACiAjZGVmaW5lIElzRmlyc3RCeXRlKGMpICAoKChjKSA+PSAweDgx KSAmJiAoKGMpIDw9IDB4RkUpKQogI2RlZmluZSBJc1NlY29uZEJ5dGUoYykgKCgoKGMpID49IDB4 NDApICYmICgoYykgPD0gMHg3RSkpIHx8ICgoKChjKSA+PSAweDgwKSAmJiAoKGMpIDw9IDB4RkUp KSkpCiAjZGVmaW5lIFFWYWxpZENoYXIodSkgICAoKHUpID8gUUNoYXIoKHVzaG9ydCkodSkpIDog UUNoYXI6OnJlcGxhY2VtZW50KQorI2RlZmluZSBRQXNjaWlDaGFyKHUpICAgKFFDaGFyKCh1c2hv cnQpKHUpKSkKIAogc3RhdGljIHVuc2lnbmVkIGludCBxdF9HQktUb1VuaWNvZGUodW5zaWduZWQg aW50IGNvZGUpOwogdW5zaWduZWQgaW50IHF0X1VuaWNvZGVUb0dCSyh1bnNpZ25lZCBpbnQgdW5p Y29kZSk7CkBAIC0xMzAsMjkgKzEzMSwzMiBAQAogUVN0cmluZyBRR2JrQ29kZWM6OnRvVW5pY29k ZShjb25zdCBjaGFyKiBjaGFycywgaW50IGxlbikgY29uc3QKIHsKICAgICBRU3RyaW5nIHJlc3Vs dDsKLSAgICBmb3IgKGludCBpPTA7IGk8bGVuOyBpKyspIHsKLQl1Y2hhciBjaCA9IGNoYXJzW2ld OwotCWlmICggSXNMYXRpbihjaCkgKSB7Ci0JICAgIC8vIEFTQ0lJCi0JICAgIHJlc3VsdCArPSBR Q2hhcihjaCk7Ci0JfSBlbHNlIGlmICggSXNGaXJzdEJ5dGUoY2gpICkgewotCSAgICAvLyBHQksg PwotCSAgICBpZiAoIGkgPCBsZW4tMSApIHsKLQkJdWNoYXIgYzIgPSBjaGFyc1srK2ldOwotCQlp ZiAoIElzU2Vjb25kQnl0ZShjMikgKSB7Ci0JCSAgICB1aW50IHUgPSBxdF9HQktUb1VuaWNvZGUo KGNoIDw8IDgpIHwgYzIpOwotCQkgICAgcmVzdWx0ICs9IFFWYWxpZENoYXIodSk7CisgICAgaWYg KGNoYXJzKSB7CisJcmVzdWx0LnNldExlbmd0aCgwKTsKKwlmb3IgKGludCBpPTA7IGk8bGVuOyBp KyspIHsKKwkgICAgdWNoYXIgY2ggPSBjaGFyc1tpXTsKKwkgICAgaWYgKCBJc0xhdGluKGNoKSAp IHsKKwkJLy8gQVNDSUkKKwkJcmVzdWx0ICs9IFFBc2NpaUNoYXIoY2gpOyAKKwkgICAgfSBlbHNl IGlmICggSXNGaXJzdEJ5dGUoY2gpICkgeworCQkvLyBHQksgPworCQlpZiAoIGkgPCBsZW4tMSAp IHsKKwkJICAgIHVjaGFyIGMyID0gY2hhcnNbKytpXTsKKwkJICAgIGlmICggSXNTZWNvbmRCeXRl KGMyKSApIHsKKwkJCXVpbnQgdSA9IHF0X0dCS1RvVW5pY29kZSgoY2ggPDwgOCkgfCBjMik7CisJ CQlyZXN1bHQgKz0gUVZhbGlkQ2hhcih1KTsKKwkJICAgIH0gZWxzZSB7CisJCQlpLS07CisJCQly ZXN1bHQgKz0gUUNoYXI6OnJlcGxhY2VtZW50OworCQkgICAgfQogCQl9IGVsc2UgewotCQkgICAg aS0tOworCQkgICAgLy9CYWQgU3RyaW5nCiAJCSAgICByZXN1bHQgKz0gUUNoYXI6OnJlcGxhY2Vt ZW50OwogCQl9CiAJICAgIH0gZWxzZSB7Ci0JCS8vQmFkIFN0cmluZworCQkvLyBJbnZhbGlkCiAJ CXJlc3VsdCArPSBRQ2hhcjo6cmVwbGFjZW1lbnQ7CiAJICAgIH0KLQl9IGVsc2UgewotCSAgICAv LyBJbnZhbGlkCi0JICAgIHJlc3VsdCArPSBRQ2hhcjo6cmVwbGFjZW1lbnQ7CiAJfQogICAgIH0K ICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMjI0LDcgKzIyOCw3IEBACiAJICAgICAgY2FzZSAwOgog CQlpZiAoIGNoIDwgMHg4MCApIHsKIAkJICAgIC8vIEFTQ0lJCi0JCSAgICByZXN1bHQgKz0gUUNo YXIoY2gpOworCQkgICAgcmVzdWx0ICs9IFFBc2NpaUNoYXIoY2gpOwogCQl9IGVsc2UgaWYgKCBJ c0ZpcnN0Qnl0ZShjaCkgKSB7CiAJCSAgICAvLyBHQksgPwogCQkgICAgYnVmWzBdID0gY2g7CmRp ZmYgLU5hdXIgcXQteDExLWZyZWUtMy4wLjIub3JpZy9zcmMvY29kZWNzL3FqaXNjb2RlYy5jcHAg cXQteDExLWZyZWUtMy4wLjIvc3JjL2NvZGVjcy9xamlzY29kZWMuY3BwCi0tLSBxdC14MTEtZnJl ZS0zLjAuMi5vcmlnL3NyYy9jb2RlY3MvcWppc2NvZGVjLmNwcAlNb24gRmViIDE4IDE1OjQ2OjI5 IDIwMDIKKysrIHF0LXgxMS1mcmVlLTMuMC4yL3NyYy9jb2RlY3MvcWppc2NvZGVjLmNwcAlUdWUg TWFyIDEyIDEyOjQ2OjI0IDIwMDIKQEAgLTE0NSw2ICsxNDUsNyBAQAogI2RlZmluZQlJc0ppc0No YXIoYykJKCgoYykgPj0gMHgyMSkgJiYgKChjKSA8PSAweDdlKSkKIAogI2RlZmluZQlRVmFsaWRD aGFyKHUpCSgodSkgPyBRQ2hhcigodXNob3J0KSh1KSkgOiBRQ2hhcjo6cmVwbGFjZW1lbnQpCisj ZGVmaW5lCVFBc2NpaUNoYXIodSkJKFFDaGFyKCh1c2hvcnQpKHUpKSkKIAogZW51bSBJc28yMDIy U3RhdGV7IEFzY2lpLCBNaW5TdGF0ZSA9IEFzY2lpLAogCQkgICBKSVNYMDIwMV9MYXRpbiwgSklT WDAyMDFfS2FuYSwKQEAgLTI2MCwxMDYgKzI2MSwxMDkgQEAKIFFTdHJpbmcgUUppc0NvZGVjOjp0 b1VuaWNvZGUoY29uc3QgY2hhciogY2hhcnMsIGludCBsZW4pIGNvbnN0CiB7CiAgICAgUVN0cmlu ZyByZXN1bHQ7Ci0gICAgSXNvMjAyMlN0YXRlIHN0YXRlID0gQXNjaWksIHByZXYgPSBBc2NpaTsK LSAgICBmb3IgKGludCBpPTA7IGk8bGVuOyBpKyspIHsKLQl1Y2hhciBjaCA9IGNoYXJzW2ldOwot CWlmICggY2ggPT0gRXNjICkgewotCSAgICAvLyBFc2NhcGUgc2VxdWVuY2UKLQkgICAgc3RhdGUg PSBVbmtub3duOwotCSAgICBpZiAoIGkgPCBsZW4tMSApIHsKLQkJdWNoYXIgYzIgPSBjaGFyc1sr K2ldOwotCQlpZiAoYzIgPT0gJyQnKSB7Ci0JCSAgICBpZiAoIGkgPCBsZW4tMSApIHsKLQkJCXVj aGFyIGMzID0gY2hhcnNbKytpXTsKLQkJCWlmIChzdHJjaHIoRXNjX0NIQVJTLCBjMykpIHsKLQkJ CSAgICBpZiAoIGkgPCBsZW4tMSApIHsKLQkJCQl1Y2hhciBjNCA9IGNoYXJzWysraV07Ci0JCQkJ aWYgKGM0ID09ICcoJykgewotCQkJCSAgICBzd2l0Y2ggKGM0KSB7Ci0JCQkJICAgICAgY2FzZSAn RCc6Ci0JCQkJCXN0YXRlID0gSklTWDAyMTI7CS8vIEVzYyAkICggRAotCQkJCQlicmVhazsKLQkJ CQkgICAgfQotCQkJCX0KLQkJCSAgICB9Ci0JCQl9IGVsc2UgewotCQkJICAgIHN3aXRjaCAoYzMp IHsKLQkJCSAgICAgIGNhc2UgJ0AnOgotCQkJCXN0YXRlID0gSklTWDAyMDhfMTk3ODsJLy8gRXNj ICQgQAotCQkJCWJyZWFrOwotCQkJICAgICAgY2FzZSAnQic6Ci0JCQkJc3RhdGUgPSBKSVNYMDIw OF8xOTgzOwkvLyBFc2MgJCBCCi0JCQkJYnJlYWs7Ci0JCQkgICAgfQotCQkJfQotCQkgICAgfQot CQl9IGVsc2UgewotCQkgICAgaWYgKHN0cmNocihFc2NfQ0hBUlMsIGMyKSkgeworICAgIGlmIChj aGFycykgeworCXJlc3VsdC5zZXRMZW5ndGgoMCk7CisgICAgICAgIElzbzIwMjJTdGF0ZSBzdGF0 ZSA9IEFzY2lpLCBwcmV2ID0gQXNjaWk7CisJZm9yIChpbnQgaT0wOyBpPGxlbjsgaSsrKSB7CisJ ICAgIHVjaGFyIGNoID0gY2hhcnNbaV07CisgICAgCSAgICBpZiAoIGNoID09IEVzYyApIHsKKwkJ Ly8gRXNjYXBlIHNlcXVlbmNlCisJCXN0YXRlID0gVW5rbm93bjsKKwkJaWYgKCBpIDwgbGVuLTEg KSB7CisJCSAgICB1Y2hhciBjMiA9IGNoYXJzWysraV07CisJCSAgICBpZiAoYzIgPT0gJyQnKSB7 CiAJCQlpZiAoIGkgPCBsZW4tMSApIHsKIAkJCSAgICB1Y2hhciBjMyA9IGNoYXJzWysraV07Ci0J CQkgICAgaWYgKGMyID09ICcoJykgeworCQkJICAgIGlmIChzdHJjaHIoRXNjX0NIQVJTLCBjMykp IHsKKwkJCQlpZiAoIGkgPCBsZW4tMSApIHsKKwkJCQkgICAgdWNoYXIgYzQgPSBjaGFyc1srK2ld OworCQkJCSAgICBpZiAoYzQgPT0gJygnKSB7CisJCQkJCXN3aXRjaCAoYzQpIHsKKwkJCQkgICAg ICAgIGNhc2UgJ0QnOgorCQkJCQkgICAgc3RhdGUgPSBKSVNYMDIxMjsJLy8gRXNjICQgKCBECisJ CQkJCSAgICBicmVhazsKKwkJCQkJfQorCQkJCSAgICB9CisJCQkJfQorCQkJICAgIH0gZWxzZSB7 CiAJCQkJc3dpdGNoIChjMykgewotCQkJCSAgY2FzZSAnQic6Ci0JCQkJICAgIHN0YXRlID0gQXNj aWk7CS8vIEVzYyAoIEIKKwkJCSAgICAJY2FzZSAnQCc6CisJCQkJICAgIHN0YXRlID0gSklTWDAy MDhfMTk3ODsJLy8gRXNjICQgQAogCQkJCSAgICBicmVhazsKLQkJCQkgIGNhc2UgJ0knOgotCQkJ CSAgICBzdGF0ZSA9IEpJU1gwMjAxX0thbmE7CS8vIEVzYyAoIEkKLQkJCQkgICAgYnJlYWs7Ci0J CQkJICBjYXNlICdKJzoKLQkJCQkgICAgc3RhdGUgPSBKSVNYMDIwMV9MYXRpbjsJLy8gRXNjICgg SgorCQkJICAgICAgICBjYXNlICdCJzoKKwkJCQkgICAgc3RhdGUgPSBKSVNYMDIwOF8xOTgzOwkv LyBFc2MgJCBCCiAJCQkJICAgIGJyZWFrOwogCQkJCX0KIAkJCSAgICB9CiAJCQl9CisJCSAgICB9 IGVsc2UgeworCQkJaWYgKHN0cmNocihFc2NfQ0hBUlMsIGMyKSkgeworCQkJICAgIGlmICggaSA8 IGxlbi0xICkgeworCQkJCXVjaGFyIGMzID0gY2hhcnNbKytpXTsKKwkJCQlpZiAoYzIgPT0gJygn KSB7CisJCQkJICAgIHN3aXRjaCAoYzMpIHsKKwkJCQkgICAgY2FzZSAnQic6CisJCQkJCXN0YXRl ID0gQXNjaWk7CS8vIEVzYyAoIEIKKwkJCQkJYnJlYWs7CisJCQkJICAgIGNhc2UgJ0knOgorCQkJ CQlzdGF0ZSA9IEpJU1gwMjAxX0thbmE7CS8vIEVzYyAoIEkKKwkJCQkJYnJlYWs7CisJCQkJICAg IGNhc2UgJ0onOgorCQkJCQlzdGF0ZSA9IEpJU1gwMjAxX0xhdGluOwkvLyBFc2MgKCBKCisJCQkJ CWJyZWFrOworCQkJCSAgICB9CisJCQkJfQorCQkJICAgIH0KKwkJCX0KIAkJICAgIH0KIAkJfQot CSAgICB9Ci0JfSBlbHNlIGlmIChjaCA9PSBTbykgewotCSAgICAvLyBTaGlmdCBvdXQKLQkgICAg cHJldiA9IHN0YXRlOwotCSAgICBzdGF0ZSA9IEpJU1gwMjAxX0thbmE7Ci0JfSBlbHNlIGlmIChj aCA9PSBTaSkgewotCSAgICAvLyBTaGlmdCBpbgotCSAgICBpZiAocHJldiA9PSBBc2NpaSB8fCBw cmV2ID09IEpJU1gwMjAxX0xhdGluKSB7Ci0JCXN0YXRlID0gcHJldjsKLQkgICAgfSBlbHNlIHsK LQkJc3RhdGUgPSBBc2NpaTsKLQkgICAgfQotCX0gZWxzZSB7Ci0JICAgIHVpbnQgdTsKLQkgICAg c3dpdGNoIChzdGF0ZSkgewotCSAgICAgIGNhc2UgQXNjaWk6Ci0JCWlmIChjaCA8IDB4ODApIHsK LQkJICAgIHJlc3VsdCArPSBRQ2hhcihjaCk7Ci0JCSAgICBicmVhazsKKwkgICAgfSBlbHNlIGlm IChjaCA9PSBTbykgeworCQkvLyBTaGlmdCBvdXQKKwkJcHJldiA9IHN0YXRlOworCQlzdGF0ZSA9 IEpJU1gwMjAxX0thbmE7CisJICAgIH0gZWxzZSBpZiAoY2ggPT0gU2kpIHsKKwkJLy8gU2hpZnQg aW4KKwkJaWYgKHByZXYgPT0gQXNjaWkgfHwgcHJldiA9PSBKSVNYMDIwMV9MYXRpbikgeworCQkg ICAgc3RhdGUgPSBwcmV2OworCQl9IGVsc2UgeworCQkgICAgc3RhdGUgPSBBc2NpaTsKIAkJfQor CSAgICB9IGVsc2UgeworCQl1aW50IHU7CisJCXN3aXRjaCAoc3RhdGUpIHsKKwkgICAgICAgIGNh c2UgQXNjaWk6CisJCSAgICBpZiAoY2ggPCAweDgwKSB7CisJCQlyZXN1bHQgKz0gUUFzY2lpQ2hh cihjaCk7CisJCQlicmVhazsKKwkJICAgIH0KIAkJLyogZmFsbCB0aHJvdWdodCAqLwotCSAgICAg IGNhc2UgSklTWDAyMDFfTGF0aW46Ci0JCXUgPSBjb252LT5qaXN4MDIwMVRvVW5pY29kZShjaCk7 Ci0JCXJlc3VsdCArPSBRVmFsaWRDaGFyKHUpOwotCQlicmVhazsKLQkgICAgICBjYXNlIEpJU1gw MjAxX0thbmE6Ci0JCXUgPSBjb252LT5qaXN4MDIwMVRvVW5pY29kZShjaCB8IDB4ODApOwotCQly ZXN1bHQgKz0gUVZhbGlkQ2hhcih1KTsKLQkJYnJlYWs7Ci0JICAgICAgY2FzZSBKSVNYMDIwOF8x OTc4OgotCSAgICAgIGNhc2UgSklTWDAyMDhfMTk4MzoKLQkJaWYgKCBpIDwgbGVuLTEgKSB7Ci0J CSAgICB1Y2hhciBjMiA9IGNoYXJzWysraV07Ci0JCSAgICB1ID0gY29udi0+amlzeDAyMDhUb1Vu aWNvZGUoY2ggJiAweDdmLCBjMiAmIDB4N2YpOworCSAgICAgICAgY2FzZSBKSVNYMDIwMV9MYXRp bjoKKwkJICAgIHUgPSBjb252LT5qaXN4MDIwMVRvVW5pY29kZShjaCk7CiAJCSAgICByZXN1bHQg Kz0gUVZhbGlkQ2hhcih1KTsKLQkJfQotCQlicmVhazsKLQkgICAgICBjYXNlIEpJU1gwMjEyOgot CQlpZiAoIGkgPCBsZW4tMSApIHsKLQkJICAgIHVjaGFyIGMyID0gY2hhcnNbKytpXTsKLQkJICAg IHUgPSBjb252LT5qaXN4MDIxMlRvVW5pY29kZShjaCAmIDB4N2YsIGMyICYgMHg3Zik7CisJCSAg ICBicmVhazsKKwkgICAgICAgIGNhc2UgSklTWDAyMDFfS2FuYToKKwkJICAgIHUgPSBjb252LT5q aXN4MDIwMVRvVW5pY29kZShjaCB8IDB4ODApOwogCQkgICAgcmVzdWx0ICs9IFFWYWxpZENoYXIo dSk7CisJCSAgICBicmVhazsKKwkgICAgICAgIGNhc2UgSklTWDAyMDhfMTk3ODoKKwkgICAgICAg IGNhc2UgSklTWDAyMDhfMTk4MzoKKwkJICAgIGlmICggaSA8IGxlbi0xICkgeworCQkJdWNoYXIg YzIgPSBjaGFyc1srK2ldOworCQkJdSA9IGNvbnYtPmppc3gwMjA4VG9Vbmljb2RlKGNoICYgMHg3 ZiwgYzIgJiAweDdmKTsKKwkJCXJlc3VsdCArPSBRVmFsaWRDaGFyKHUpOworCQkgICAgfQorCQkg ICAgYnJlYWs7CisJICAgICAgICBjYXNlIEpJU1gwMjEyOgorCQkgICAgaWYgKCBpIDwgbGVuLTEg KSB7CisJCQl1Y2hhciBjMiA9IGNoYXJzWysraV07CisJCQl1ID0gY29udi0+amlzeDAyMTJUb1Vu aWNvZGUoY2ggJiAweDdmLCBjMiAmIDB4N2YpOworCQkJcmVzdWx0ICs9IFFWYWxpZENoYXIodSk7 CisJCSAgICB9CisJCSAgICBicmVhazsKKwkgICAgICAgIGRlZmF1bHQ6CisJCSAgICByZXN1bHQg Kz0gUUNoYXI6OnJlcGxhY2VtZW50OworCQkgICAgYnJlYWs7CiAJCX0KLQkJYnJlYWs7Ci0JICAg ICAgZGVmYXVsdDoKLQkJcmVzdWx0ICs9IFFDaGFyOjpyZXBsYWNlbWVudDsKLQkJYnJlYWs7CiAJ ICAgIH0KIAl9CiAgICAgfQpAQCAtNjQ2LDcgKzY1MCw3IEBACiAJCQlzd2l0Y2ggKHN0YXRlKSB7 CiAJCQkgIGNhc2UgQXNjaWk6CiAJCQkgICAgaWYgKGNoIDwgMHg4MCkgewotCQkJCXJlc3VsdCAr PSBRQ2hhcihjaCk7CisJCQkJcmVzdWx0ICs9IFFBc2NpaUNoYXIoY2gpOwogCQkJCWJyZWFrOwog CQkJICAgIH0KIAkJCSAgICAvKiBmYWxsIHRocm91Z2h0ICovCmRpZmYgLU5hdXIgcXQteDExLWZy ZWUtMy4wLjIub3JpZy9zcmMvY29kZWNzL3FydGxjb2RlYy5jcHAgcXQteDExLWZyZWUtMy4wLjIv c3JjL2NvZGVjcy9xcnRsY29kZWMuY3BwCi0tLSBxdC14MTEtZnJlZS0zLjAuMi5vcmlnL3NyYy9j b2RlY3MvcXJ0bGNvZGVjLmNwcAlNb24gRmViIDE4IDE1OjQ2OjI5IDIwMDIKKysrIHF0LXgxMS1m cmVlLTMuMC4yL3NyYy9jb2RlY3MvcXJ0bGNvZGVjLmNwcAlUdWUgTWFyIDEyIDE4OjU4OjE0IDIw MDIKQEAgLTQwLDYgKzQwLDggQEAKIAogI2lmbmRlZiBRVF9OT19DT0RFQ19IRUJSRVcKIAorI2Rl ZmluZQlRQXNjaWlDaGFyKHUpCShRQ2hhcigodXNob3J0KSh1KSkpCisKIC8vIE5PVCBSRVZJU0VE CiAKIHN0YXRpYyBjb25zdCB1Y2hhciB1bmtuID0gJz8nOyAvLyBCTEFDSyBTUVVBUkUgKDk0KSB3 b3VsZCBiZSBiZXR0ZXIKQEAgLTMwMiw3ICszMDQsNyBAQAogICAgIC8vIGRpcmVjdGlvbmFsaXR5 LCB3ZSBrbm93IHRoZSBhbnN3ZXIuCiAgICAgcG9zID0gMDsKICAgICB3aGlsZSAocG9zIDwgbGVu KSB7Ci0JaWYgKCBzdHIuYXQocG9zKSA9PSAnXG4nICkKKwlpZiAoIHN0ci5hdChwb3MpID09IFFB c2NpaUNoYXIoJ1xuJykgKQogCSAgICBzdGFydExpbmUgPSBwb3M7CiAJaWYgKHN0ci5hdChwb3Mp LmRpcmVjdGlvbigpIDwgMikgeyAvLyBEaXJSIG9yIERpckwKIAkgICAgZGlyMSA9IHN0ci5hdChw b3MpLmRpcmVjdGlvbigpOwpAQCAtMzE1LDcgKzMxNyw3IEBACiAJcmV0dXJuIFFDaGFyOjpEaXJM OwogCiAgICAgLy8gbW92ZSB0byBlbmQgb2YgbGluZQotICAgIHdoaWxlKCBwb3MgPCBsZW4gJiYg c3RyLmF0KHBvcykgIT0gJ1xuJyApCisgICAgd2hpbGUoIHBvcyA8IGxlbiAmJiBzdHIuYXQocG9z KSAhPSBRQXNjaWlDaGFyKCdcbicpICkKIAlwb3MrKzsKIAogICAgIHdoaWxlIChwb3MgPiBzdGFy dExpbmUpIHsKQEAgLTMzNiw3ICszMzgsNyBAQAogICAgIHBvcyA9IDA7CiAgICAgd2hpbGUgKHBv cyA8IGxlbi0xICkgewogCWlmKHN0ci5hdChwb3MpLmNhdGVnb3J5KCkgPT0gUUNoYXI6OlB1bmN0 dWF0aW9uX090aGVyKSB7Ci0JICAgIGlmKCBzdHIuYXQocG9zKSAhPSAoY2hhcikweGJmICYmIHN0 ci5hdChwb3MpICE9IChjaGFyKTB4YTEgKSAvLyBzcGFuaXNoIGludmVydGVkIHF1ZXN0aW9uIGFu ZCBleGNsYW1hdGlvbiBtYXJrCisJICAgIGlmKCBzdHIuYXQocG9zKSAhPSBRQXNjaWlDaGFyKDB4 YmYpICYmIHN0ci5hdChwb3MpICE9IFFBc2NpaUNoYXIoMHhhMSkgKSAvLyBzcGFuaXNoIGludmVy dGVkIHF1ZXN0aW9uIGFuZCBleGNsYW1hdGlvbiBtYXJrCiAJCWlmKCBzdHIuYXQocG9zKzEpLmRp cmVjdGlvbigpIDwgMiApIHJldHVybiBRQ2hhcjo6RGlyUjsKIAl9CiAJcG9zKys7CkBAIC00MzAs MzcgKzQzMiw0MyBAQAogUVN0cmluZyBRSGVicmV3Q29kZWM6OnRvVW5pY29kZShjb25zdCBjaGFy KiBjaGFycywgaW50IGxlbiApIGNvbnN0CiB7CiAgICAgUVN0cmluZyByOwotICAgIGNvbnN0IHVu c2lnbmVkIGNoYXIgKiBjID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiljaGFyczsKLSAgICBRQ2hh cjo6RGlyZWN0aW9uIGJhc2ljRGlyID0gUUNoYXI6OkRpck9OOyAvLyBuZXV0cmFsLCB3ZSBkb24n dCBrbm93CisgICAgaWYgKGNoYXJzKSB7CisJci5zZXRMZW5ndGgoMCk7CiAKLSAgICBpZiggbGVu ID09IDAgKSByZXR1cm4gUVN0cmluZzo6bnVsbDsKKwljb25zdCB1bnNpZ25lZCBjaGFyICogYyA9 IChjb25zdCB1bnNpZ25lZCBjaGFyICopY2hhcnM7CisJUUNoYXI6OkRpcmVjdGlvbiBiYXNpY0Rp ciA9IFFDaGFyOjpEaXJPTjsgLy8gbmV1dHJhbCwgd2UgZG9uJ3Qga25vdwogCi0gICAgLy8gVGVz dCwgaWYgdGhlIHVzZXIgZ2l2ZXMgdXMgYSBkaXJlY3Rpb25hbGl0eS4KLSAgICAvLyBXZSB1c2Ug MHhGRSBhbmQgMHhGRiBpbiBJU084ODU5LTggZm9yIHRoYXQuCi0gICAgLy8gVGhlc2UgY2hhcnMg YXJlIHVuZGVmaW5lZCBpbiB0aGUgY2hhcnNldCwgYW5kIGFyZSBtYXBwZWQgdG8KLSAgICAvLyBS VEwgb3ZlcndyaXRlCi0gICAgaWYoIGNbMF0gPT0gMHhmZSApIHsKLQliYXNpY0RpciA9IFFDaGFy OjpEaXJMOwotCWMrKzsgLy8gc2tpcCBkaXJlY3Rpb25hbGl0eSBoaW50Ci0gICAgfQotICAgIGlm KCBjWzBdID09IDB4ZmYgKSB7Ci0JYmFzaWNEaXIgPSBRQ2hhcjo6RGlyUjsKLQljKys7IC8vIHNr aXAgZGlyZWN0aW9uYWxpdHkgaGludAotICAgIH0KKwkvLyBXb24ndCBudWxsIHN0cmluZyBpZiBj aGFycyE9TlVMTAorCWlmKCBsZW4gIT0gMCApIHsKKwkgICAgLy8gVGVzdCwgaWYgdGhlIHVzZXIg Z2l2ZXMgdXMgYSBkaXJlY3Rpb25hbGl0eS4KKwkgICAgLy8gV2UgdXNlIDB4RkUgYW5kIDB4RkYg aW4gSVNPODg1OS04IGZvciB0aGF0LgorCSAgICAvLyBUaGVzZSBjaGFycyBhcmUgdW5kZWZpbmVk IGluIHRoZSBjaGFyc2V0LCBhbmQgYXJlIG1hcHBlZCB0bworCSAgICAvLyBSVEwgb3ZlcndyaXRl CisJICAgIGlmKCBjWzBdID09IDB4ZmUgKSB7CisJCWJhc2ljRGlyID0gUUNoYXI6OkRpckw7CisJ CWMrKzsgLy8gc2tpcCBkaXJlY3Rpb25hbGl0eSBoaW50CisJCWxlbi0tOworCSAgICB9CisJICAg IGlmKCBjWzBdID09IDB4ZmYgKSB7CisJCWJhc2ljRGlyID0gUUNoYXI6OkRpclI7CisJCWMrKzsg Ly8gc2tpcCBkaXJlY3Rpb25hbGl0eSBoaW50CisJCWxlbi0tOworCSAgICB9CiAKLSAgICBmb3Io IGludCBpPTA7IGk8bGVuOyBpKysgKSB7Ci0JaWYgKCBjW2ldID4gMTI3ICkKLQkgICAgcltpXSA9 IGhlYl90b191bmljb2RlW2NbaV0tMTI4XTsKLQllbHNlCi0JICAgIHJbaV0gPSBjW2ldOwotICAg IH0KKwkgICAgZm9yKCBpbnQgaT0wOyBpPGxlbjsgaSsrICkgeworCQlpZiAoIGNbaV0gPiAxMjcg KQorCQkgICAgcltpXSA9IGhlYl90b191bmljb2RlW2NbaV0tMTI4XTsKKwkJZWxzZQorCQkgICAg cltpXSA9IFFBc2NpaUNoYXIoY1tpXSk7CisJICAgIH0KIAotICAgIC8vIGRvIHRyYW5zZm9ybWF0 aW9uIGZyb20gdmlzdWFsIGJ5dGUgb3JkZXJpbmcgdG8gbG9naWNhbCBieXRlCi0gICAgLy8gb3Jk ZXJpbmcKLSAgICBpZiggYmFzaWNEaXIgPT0gUUNoYXI6OkRpck9OICkKLQliYXNpY0RpciA9IGZp bmRCYXNpY0RpcmVjdGlvbihyKTsKKwkgICAgLy8gZG8gdHJhbnNmb3JtYXRpb24gZnJvbSB2aXN1 YWwgYnl0ZSBvcmRlcmluZyB0byBsb2dpY2FsIGJ5dGUKKwkgICAgLy8gb3JkZXJpbmcKKwkgICAg aWYoIGJhc2ljRGlyID09IFFDaGFyOjpEaXJPTiApCisJCWJhc2ljRGlyID0gZmluZEJhc2ljRGly ZWN0aW9uKHIpOwogCi0gICAgcmV0dXJuIFFDb21wbGV4VGV4dDo6YmlkaVJlb3JkZXJTdHJpbmco cik7CisJICAgIHJldHVybiBRQ29tcGxleFRleHQ6OmJpZGlSZW9yZGVyU3RyaW5nKHIpOworCX0K ICNpZiAwICAgIAogICAgIAogICAgIFFTdHJpbmcgb3V0OwpAQCAtNDc2LDYgKzQ4NCw4IEBACiAg ICAgfQogICAgIHJldHVybiBvdXQ7CiAjZW5kaWYKKyAgICB9CisgICAgcmV0dXJuIHI7CiB9CiAK IC8qIQpkaWZmIC1OYXVyIHF0LXgxMS1mcmVlLTMuMC4yLm9yaWcvc3JjL2NvZGVjcy9xc2ppc2Nv ZGVjLmNwcCBxdC14MTEtZnJlZS0zLjAuMi9zcmMvY29kZWNzL3FzamlzY29kZWMuY3BwCi0tLSBx dC14MTEtZnJlZS0zLjAuMi5vcmlnL3NyYy9jb2RlY3MvcXNqaXNjb2RlYy5jcHAJTW9uIEZlYiAx OCAxNTo0NjoyOSAyMDAyCisrKyBxdC14MTEtZnJlZS0zLjAuMi9zcmMvY29kZWNzL3FzamlzY29k ZWMuY3BwCVR1ZSBNYXIgMTIgMTk6MDE6MDAgMjAwMgpAQCAtMTc2LDMyICsxNzYsMzUgQEAKIFFT dHJpbmcgUVNqaXNDb2RlYzo6dG9Vbmljb2RlKGNvbnN0IGNoYXIqIGNoYXJzLCBpbnQgbGVuKSBj b25zdAogewogICAgIFFTdHJpbmcgcmVzdWx0OwotICAgIGZvciAoaW50IGk9MDsgaTxsZW47IGkr KykgewotCXVjaGFyIGNoID0gY2hhcnNbaV07Ci0JaWYgKCBjaCA8IDB4ODAgfHwgSXNLYW5hKGNo KSApIHsKLQkgICAgLy8gSklTIFggMDIwMSBMYXRpbiBvciBKSVMgWCAwMjAxIEthbmEKLQkgICAg dWludCB1ID0gY29udi0+amlzeDAyMDFUb1VuaWNvZGUoY2gpOwotCSAgICByZXN1bHQgKz0gUVZh bGlkQ2hhcih1KTsKLQl9IGVsc2UgaWYgKCBJc1NqaXNDaGFyMShjaCkgKSB7Ci0JICAgIC8vIEpJ UyBYIDAyMDgKLQkgICAgaWYgKCBpIDwgbGVuLTEgKSB7Ci0JCXVjaGFyIGMyID0gY2hhcnNbKytp XTsKLQkJaWYgKCBJc1NqaXNDaGFyMihjMikgKSB7Ci0JCSAgICBpZiAoIElzVXNlckRlZmluZWRD aGFyMShjaCkgKSB7Ci0JCQlyZXN1bHQgKz0gUUNoYXI6OnJlcGxhY2VtZW50OworICAgIGlmIChj aGFycykgeworCXJlc3VsdC5zZXRMZW5ndGgoMCk7CisJZm9yIChpbnQgaT0wOyBpPGxlbjsgaSsr KSB7CisJICAgIHVjaGFyIGNoID0gY2hhcnNbaV07CisJICAgIGlmICggY2ggPCAweDgwIHx8IElz S2FuYShjaCkgKSB7CisJCS8vIEpJUyBYIDAyMDEgTGF0aW4gb3IgSklTIFggMDIwMSBLYW5hCisJ CXVpbnQgdSA9IGNvbnYtPmppc3gwMjAxVG9Vbmljb2RlKGNoKTsKKwkJcmVzdWx0ICs9IFFWYWxp ZENoYXIodSk7CisJICAgIH0gZWxzZSBpZiAoIElzU2ppc0NoYXIxKGNoKSApIHsKKwkJLy8gSklT IFggMDIwOAorCQlpZiAoIGkgPCBsZW4tMSApIHsKKwkJICAgIHVjaGFyIGMyID0gY2hhcnNbKytp XTsKKwkJICAgIGlmICggSXNTamlzQ2hhcjIoYzIpICkgeworCQkJaWYgKCBJc1VzZXJEZWZpbmVk Q2hhcjEoY2gpICkgeworCQkJICAgIHJlc3VsdCArPSBRQ2hhcjo6cmVwbGFjZW1lbnQ7CisJCQl9 IGVsc2UgeworCQkJICAgIHVpbnQgdSA9IGNvbnYtPnNqaXNUb1VuaWNvZGUoY2gsIGMyKTsKKwkJ CSAgICByZXN1bHQgKz0gUVZhbGlkQ2hhcih1KTsKKwkJCX0KIAkJICAgIH0gZWxzZSB7Ci0JCQl1 aW50IHUgPSBjb252LT5zamlzVG9Vbmljb2RlKGNoLCBjMik7Ci0JCQlyZXN1bHQgKz0gUVZhbGlk Q2hhcih1KTsKKwkJCWktLTsKKwkJCXJlc3VsdCArPSBRQ2hhcjo6cmVwbGFjZW1lbnQ7CiAJCSAg ICB9CiAJCX0gZWxzZSB7Ci0JCSAgICBpLS07CiAJCSAgICByZXN1bHQgKz0gUUNoYXI6OnJlcGxh Y2VtZW50OwogCQl9CiAJICAgIH0gZWxzZSB7CiAJCXJlc3VsdCArPSBRQ2hhcjo6cmVwbGFjZW1l bnQ7CiAJICAgIH0KLQl9IGVsc2UgewotCSAgICByZXN1bHQgKz0gUUNoYXI6OnJlcGxhY2VtZW50 OwogCX0KICAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtTmF1ciBxdC14MTEtZnJlZS0z LjAuMi5vcmlnL3NyYy9jb2RlY3MvcXRleHRjb2RlYy5jcHAgcXQteDExLWZyZWUtMy4wLjIvc3Jj L2NvZGVjcy9xdGV4dGNvZGVjLmNwcAotLS0gcXQteDExLWZyZWUtMy4wLjIub3JpZy9zcmMvY29k ZWNzL3F0ZXh0Y29kZWMuY3BwCVR1ZSBNYXIgMTIgMTI6MzQ6MjcgMjAwMgorKysgcXQteDExLWZy ZWUtMy4wLjIvc3JjL2NvZGVjcy9xdGV4dGNvZGVjLmNwcAlUdWUgTWFyIDEyIDE5OjEyOjA0IDIw MDIKQEAgLTE1NDQsOCArMTU0NCwxMCBAQAogewogICAgIFFTdHJpbmcgcmVzdWx0OwogICAgIGlm KGNoYXJzKSB7Ci0JY29uc3QgdWNoYXIqIHVjaGFycyA9IChjb25zdCB1Y2hhciopY2hhcnM7CiAJ cmVzdWx0LnNldExlbmd0aCgwKTsKKworCWNvbnN0IHVjaGFyKiB1Y2hhcnMgPSAoY29uc3QgdWNo YXIqKWNoYXJzOworCiAgICAgICAgIHdoaWxlIChsZW4tLSkgewogCSAgICBRTXVsdGlCeXRlVW5p Y29kZVRhYmxlJiB0ID0gbWJbKnVjaGFyc107CiAJICAgIGlmICggdC5tdWx0aWJ5dGUgKSB7CkBA IC0yMjcwLDE1ICsyMjcyLDE1IEBACiAgICAgUVN0cmluZyByOwogCiAgICAgaWYgKGNoYXJzKSB7 CisJci5zZXRMZW5ndGgoMCk7CisJCiAJY29uc3QgdW5zaWduZWQgY2hhciAqIGMgPSAoY29uc3Qg dW5zaWduZWQgY2hhciAqKWNoYXJzOwogCWludCBpOwogCiAJZm9yICggaSA9IDA7IGkgPCBsZW47 IGkrKyApIAogCSAgICBpZiAoIGNbaV0gPT0gJ1wwJyApIGxlbiA9IGk7CiAKLQlpZiggbGVuPD0w ICkgCi0JICAgIHIuc2V0TGVuZ3RoKDApOwotCWVsc2UgeworCWlmKCBsZW4gPiAwICkgewogCSAg ICByLnNldFVuaWNvZGUoMCwgbGVuKTsKIAkgICAgUUNoYXIqIHVjID0gKFFDaGFyKilyLnVuaWNv ZGUoKTsgLy8gY29uc3RfY2FzdAogCkBAIC0yNDYwLDE1ICsyNDYyLDE1IEBACiAgICAgUVN0cmlu ZyByOwogCiAgICAgaWYgKGNoYXJzKSB7CisJci5zZXRMZW5ndGgoMCk7CisKIAljb25zdCB1bnNp Z25lZCBjaGFyICogYyA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopY2hhcnM7CiAJaW50IGk7CiAK IAlmb3IgKCBpID0gMDsgaSA8IGxlbjsgaSsrICkgCiAJICAgIGlmICggY1tpXSA9PSAnXDAnICkg bGVuID0gaTsKIAotCWlmKCBsZW48PTAgKSAKLQkgICAgci5zZXRMZW5ndGgoMCk7Ci0JZWxzZSB7 CisJaWYoIGxlbiA+IDAgKSB7CiAJICAgIHIuc2V0VW5pY29kZSgwLCBsZW4pOwogCSAgICBRQ2hh ciogdWMgPSAoUUNoYXIqKXIudW5pY29kZSgpOyAvLyBjb25zdF9jYXN0CiAKZGlmZiAtTmF1ciBx dC14MTEtZnJlZS0zLjAuMi5vcmlnL3NyYy9jb2RlY3MvcXRzY2lpY29kZWMuY3BwIHF0LXgxMS1m cmVlLTMuMC4yL3NyYy9jb2RlY3MvcXRzY2lpY29kZWMuY3BwCi0tLSBxdC14MTEtZnJlZS0zLjAu Mi5vcmlnL3NyYy9jb2RlY3MvcXRzY2lpY29kZWMuY3BwCU1vbiBGZWIgMTggMTU6NDY6MzAgMjAw MgorKysgcXQteDExLWZyZWUtMy4wLjIvc3JjL2NvZGVjcy9xdHNjaWljb2RlYy5jcHAJVHVlIE1h ciAxMiAxOTowODoyNCAyMDAyCkBAIC04OCw2ICs4OCw3IEBACiAKICNkZWZpbmUgSXNUU0NJSUNo YXIoYykJKCgoYykgPj0gMHg4MCkgJiYgKChjKSA8PSAweGZkKSkKICNkZWZpbmUJUVZhbGlkQ2hh cih1KQkoKHUpID8gUUNoYXIoKHUpKSA6IFFDaGFyOjpyZXBsYWNlbWVudCkKKyNkZWZpbmUJUUFz Y2lpQ2hhcih1KQkoUUNoYXIoKHVzaG9ydCkodSkpKQogCiAvKiEgXHJlaW1wICovCiBpbnQgUVRz Y2lpQ29kZWM6Om1pYkVudW0oKSBjb25zdApAQCAtMTMzLDI2ICsxMzQsMjggQEAKIFFTdHJpbmcg UVRzY2lpQ29kZWM6OnRvVW5pY29kZShjb25zdCBjaGFyKiBjaGFycywgaW50IGxlbikgY29uc3QK IHsKICAgICBRU3RyaW5nIHJlc3VsdDsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGxlbjsgaSsr KSB7Ci0JdWNoYXIgY2ggPSBjaGFyc1tpXTsKLQlpZiAoIGNoIDwgMHg4MCApIHsKLQkgICAgLy8g QVNDSUkKLQkgICAgcmVzdWx0ICs9IFFDaGFyKGNoKTsKLQl9IGVsc2UgaWYgKCBJc1RTQ0lJQ2hh cihjaCkgKSB7Ci0JICAgIC8vIFRTQ0lJCi0JICAgIHVpbnQgc1szXTsKLQkgICAgdWludCB1ID0g cXRfVFNDSUlUb1VuaWNvZGUoY2gsIHMpOwotCSAgICB1aW50ICpwID0gczsKLQkgICAgd2hpbGUg KCB1LS0gKSB7Ci0JCXVpbnQgYyA9ICpwKys7Ci0JCXJlc3VsdCArPSBRVmFsaWRDaGFyKGMpOwor ICAgIGlmIChjaGFycykgeworCXJlc3VsdC5zZXRMZW5ndGgoMCk7CisJZm9yIChpbnQgaSA9IDA7 IGkgPCBsZW47IGkrKykgeworCSAgICB1Y2hhciBjaCA9IGNoYXJzW2ldOworCSAgICBpZiAoIGNo IDwgMHg4MCApIHsKKwkJLy8gQVNDSUkKKwkJcmVzdWx0ICs9IFFBc2NpaUNoYXIoY2gpOworCSAg ICB9IGVsc2UgaWYgKCBJc1RTQ0lJQ2hhcihjaCkgKSB7CisJCS8vIFRTQ0lJCisJCXVpbnQgc1sz XTsKKwkJdWludCB1ID0gcXRfVFNDSUlUb1VuaWNvZGUoY2gsIHMpOworCQl1aW50ICpwID0gczsK KwkJd2hpbGUgKCB1LS0gKSB7CisJCSAgICB1aW50IGMgPSAqcCsrOworCQkgICAgcmVzdWx0ICs9 IFFWYWxpZENoYXIoYyk7CisJCX0KKwkgICAgfSBlbHNlIHsKKwkJLy8gSW52YWxpZAorCQlyZXN1 bHQgKz0gUUNoYXI6OnJlcGxhY2VtZW50OwogCSAgICB9Ci0JfSBlbHNlIHsKLQkgICAgLy8gSW52 YWxpZAotCSAgICByZXN1bHQgKz0gUUNoYXI6OnJlcGxhY2VtZW50OwogCX0KICAgICB9Ci0KICAg ICByZXR1cm4gcmVzdWx0OwogfQogCmRpZmYgLU5hdXIgcXQteDExLWZyZWUtMy4wLjIub3JpZy9z cmMvY29kZWNzL3F1dGZjb2RlYy5jcHAgcXQteDExLWZyZWUtMy4wLjIvc3JjL2NvZGVjcy9xdXRm Y29kZWMuY3BwCi0tLSBxdC14MTEtZnJlZS0zLjAuMi5vcmlnL3NyYy9jb2RlY3MvcXV0ZmNvZGVj LmNwcAlNb24gRmViIDE4IDE1OjQ2OjMwIDIwMDIKKysrIHF0LXgxMS1mcmVlLTMuMC4yL3NyYy9j b2RlY3MvcXV0ZmNvZGVjLmNwcAlUdWUgTWFyIDEyIDE5OjA2OjQ3IDIwMDIKQEAgLTM3LDYgKzM3 LDggQEAKIAogI2luY2x1ZGUgInF1dGZjb2RlYy5oIgogCisjZGVmaW5lCVFBc2NpaUNoYXIodSkJ KFFDaGFyKCh1c2hvcnQpKHUpKSkKKwogI2lmbmRlZiBRVF9OT19URVhUQ09ERUMKIAogaW50IFFV dGY4Q29kZWM6Om1pYkVudW0oKSBjb25zdApAQCAtMTI3LDMwICsxMjksMzQgQEAKIAogICAgIFFT dHJpbmcgdG9Vbmljb2RlKGNvbnN0IGNoYXIqIGNoYXJzLCBpbnQgbGVuKQogICAgIHsKLQlRU3Ry aW5nIHJlc3VsdCA9ICIiOwotCWZvciAoaW50IGk9MDsgaTxsZW47IGkrKykgewotCSAgICB1Y2hh ciBjaCA9IGNoYXJzW2ldOwotCSAgICBpZiAobmVlZCkgewotCQlpZiAoIChjaCYweGMwKSA9PSAw eDgwICkgewotCQkgICAgdWMgPSAodWMgPDwgNikgfCAoY2ggJiAweDNmKTsKLQkJICAgIG5lZWQt LTsKLQkJICAgIGlmICggIW5lZWQgKSB7Ci0JCQlyZXN1bHQgKz0gUUNoYXIodWMpOworCVFTdHJp bmcgcmVzdWx0OworCWlmIChjaGFycykgeworCSAgICByZXN1bHQuc2V0TGVuZ3RoKDApOworCSAg ICAKKwkgICAgZm9yIChpbnQgaT0wOyBpPGxlbjsgaSsrKSB7CisJCXVjaGFyIGNoID0gY2hhcnNb aV07CisJCWlmIChuZWVkKSB7CisJCSAgICBpZiAoIChjaCYweGMwKSA9PSAweDgwICkgeworCQkJ dWMgPSAodWMgPDwgNikgfCAoY2ggJiAweDNmKTsKKwkJCW5lZWQtLTsKKwkJCWlmICggIW5lZWQg KSB7CisJCQkgICAgcmVzdWx0ICs9IFFBc2NpaUNoYXIodWMpOworCQkJfQorCQkgICAgfSBlbHNl IHsKKwkJCS8vIGVycm9yCisJCQlyZXN1bHQgKz0gUUNoYXI6OnJlcGxhY2VtZW50OworCQkJbmVl ZCA9IDA7CiAJCSAgICB9CiAJCX0gZWxzZSB7Ci0JCSAgICAvLyBlcnJvcgotCQkgICAgcmVzdWx0 ICs9IFFDaGFyOjpyZXBsYWNlbWVudDsKLQkJICAgIG5lZWQgPSAwOwotCQl9Ci0JICAgIH0gZWxz ZSB7Ci0JCWlmICggY2ggPCAxMjggKSB7Ci0JCSAgICByZXN1bHQgKz0gUUNoYXIoY2gpOwotCQl9 IGVsc2UgaWYgKCAoY2gmMHhlMCkgPT0gMHhjMCApIHsKLQkJICAgIHVjID0gY2ggJjB4MWY7Ci0J CSAgICBuZWVkID0gMTsKLQkJfSBlbHNlIGlmICggKGNoJjB4ZjApID09IDB4ZTAgKSB7Ci0JCSAg ICB1YyA9IGNoICYweDBmOwotCQkgICAgbmVlZCA9IDI7CisJCSAgICBpZiAoIGNoIDwgMTI4ICkg eworCQkJcmVzdWx0ICs9IFFBc2NpaUNoYXIoY2gpOworCQkgICAgfSBlbHNlIGlmICggKGNoJjB4 ZTApID09IDB4YzAgKSB7CisJCQl1YyA9IGNoICYweDFmOworCQkJbmVlZCA9IDE7CisJCSAgICB9 IGVsc2UgaWYgKCAoY2gmMHhmMCkgPT0gMHhlMCApIHsKKwkJCXVjID0gY2ggJjB4MGY7CisJCQlu ZWVkID0gMjsKKwkJICAgIH0KIAkJfQogCSAgICB9CiAJfQpAQCAtMjMwLDM1ICsyMzYsMzYgQEAK ICAgICBRU3RyaW5nIHRvVW5pY29kZShjb25zdCBjaGFyKiBjaGFycywgaW50IGxlbikKICAgICB7 CiAJUVN0cmluZyByOwotCi0Jd2hpbGUgKCBsZW4tLSApIHsKLQkgICAgaWYgKCBoYWxmICkgewot CQlRQ2hhciBjaDsKLQkJaWYgKCBzd2FwICkgewotCQkgICAgY2guc2V0Um93KCAqY2hhcnMrKyAp OwotCQkgICAgY2guc2V0Q2VsbCggYnVmICk7Ci0JCX0gZWxzZSB7Ci0JCSAgICBjaC5zZXRSb3co IGJ1ZiApOwotCQkgICAgY2guc2V0Q2VsbCggKmNoYXJzKysgKTsKLQkJfQotCQlpZiAoICFoZWFk ZXJkb25lICkgewotCQkgICAgaWYgKCBjaCA9PSBRQ2hhcjo6Ynl0ZU9yZGVyU3dhcHBlZCApIHsK LQkJCXN3YXAgPSAhc3dhcDsKLQkJICAgIH0gZWxzZSBpZiAoIGNoID09IFFDaGFyOjpieXRlT3Jk ZXJNYXJrICkgewotCQkJLy8gSWdub3JlIFpXTkJTUAorCWlmIChjaGFycykgeworCSAgICByLnNl dExlbmd0aCgwKTsKKwkgICAgd2hpbGUgKCBsZW4tLSApIHsKKwkJaWYgKCBoYWxmICkgeworCQkg ICAgUUNoYXIgY2g7CisJCSAgICBpZiAoIHN3YXAgKSB7CisJCQljaC5zZXRSb3coICpjaGFycysr ICk7CisJCQljaC5zZXRDZWxsKCBidWYgKTsKIAkJICAgIH0gZWxzZSB7Ci0JCQlyICs9IGNoOwor CQkJY2guc2V0Um93KCBidWYgKTsKKwkJCWNoLnNldENlbGwoICpjaGFycysrICk7CiAJCSAgICB9 Ci0JCSAgICBoZWFkZXJkb25lID0gVFJVRTsKLQkJfSBlbHNlCi0JCSAgICByICs9IGNoOwotCQlo YWxmID0gRkFMU0U7Ci0JICAgIH0gZWxzZSB7Ci0JCWJ1ZiA9ICpjaGFycysrOwotCQloYWxmID0g VFJVRTsKKwkJICAgIGlmICggIWhlYWRlcmRvbmUgKSB7CisJCQlpZiAoIGNoID09IFFDaGFyOjpi eXRlT3JkZXJTd2FwcGVkICkgeworCQkJICAgIHN3YXAgPSAhc3dhcDsKKwkJCX0gZWxzZSBpZiAo IGNoID09IFFDaGFyOjpieXRlT3JkZXJNYXJrICkgeworCQkJICAgIC8vIElnbm9yZSBaV05CU1AK KwkJCX0gZWxzZSB7CisJCQkgICAgciArPSBjaDsKKwkJCX0KKwkJCWhlYWRlcmRvbmUgPSBUUlVF OworCQkgICAgfSBlbHNlCisJCQlyICs9IGNoOworCQkgICAgaGFsZiA9IEZBTFNFOworCQl9IGVs c2UgeworCQkgICAgYnVmID0gKmNoYXJzKys7CisJCSAgICBoYWxmID0gVFJVRTsKKwkJfQogCSAg ICB9CiAJfQotCiAJcmV0dXJuIHI7CiAgICAgfQogfTsKZGlmZiAtTmF1ciBxdC14MTEtZnJlZS0z LjAuMi5vcmlnL3NyYy90b29scy9xc3RyaW5nLmNwcCBxdC14MTEtZnJlZS0zLjAuMi9zcmMvdG9v bHMvcXN0cmluZy5jcHAKLS0tIHF0LXgxMS1mcmVlLTMuMC4yLm9yaWcvc3JjL3Rvb2xzL3FzdHJp bmcuY3BwCU1vbiBGZWIgMTggMTU6NDY6NTcgMjAwMgorKysgcXQteDExLWZyZWUtMy4wLjIvc3Jj L3Rvb2xzL3FzdHJpbmcuY3BwCVR1ZSBNYXIgMTIgMTk6MjI6MzQgMjAwMgpAQCAtMTYzNzgsNiAr MTYzNzgsMTEgQEAKICAgICBpbnQgbGVuPTA7CiAgICAgd2hpbGUgKCAoKFRDSEFSKil0YylbbGVu XSApCiAJbGVuKys7CisgICAgaWYgKCAhbGVuICkgeworCVFTdHJpbmcgcjsKKwlyLnNldGxlbmd0 aCgwKTsKKwlyZXR1cm4gcjsKKyAgICB9CiAjICBpZiBkZWZpbmVkKFFfV1NfWDExKSB8fCBkZWZp bmVkKFFUX1dJTjMyQllURVNXQVApCiAgICAgUVN0cmluZyByOwogICAgIGZvciAoIGludCBpPTA7 IGk8bGVuOyBpKysgKQpAQCAtMTY0MzAsMzkgKzE2NDM1LDQ2IEBACiAvLyBXQVRDSCBPVVQ6IG1i bGVuIG11c3QgaW5jbHVkZSB0aGUgTlVMIChvciBqdXN0IHVzZSAtMSkKIFFTdHJpbmcgcXRfd2lu TUIyUVN0cmluZyggY29uc3QgY2hhciogbWIsIGludCBtYmxlbiApCiB7Ci0gICAgaWYgKCAhbWIg fHwgIW1ibGVuICkKLQlyZXR1cm4gUVN0cmluZzo6bnVsbDsKLSAgICBjb25zdCBpbnQgd2NsZW5f YXV0byA9IDQwOTY7Ci0gICAgV0NIQVIgd2NfYXV0b1t3Y2xlbl9hdXRvXTsKLSAgICBpbnQgd2Ns ZW4gPSB3Y2xlbl9hdXRvOwotICAgIFdDSEFSICp3YyA9IHdjX2F1dG87Ci0gICAgaW50IGxlbjsK LSAgICB3aGlsZSAoICEobGVuPU11bHRpQnl0ZVRvV2lkZUNoYXIoIENQX0FDUCwgTUJfUFJFQ09N UE9TRUQsCisgICAgUVN0cmluZyByZXN1bHQ7CisgICAgaWYgKCBtYiApIHsKKwlyZXN1bHQuc2V0 TGVuZ3RoKDApOworCisJaWYgKCAhbWJsZW4gKSAgcmV0dXJuIHJlc3VsdDsKKwkKKyAgICAgICAg Y29uc3QgaW50IHdjbGVuX2F1dG8gPSA0MDk2OworCVdDSEFSIHdjX2F1dG9bd2NsZW5fYXV0b107 CisgICAgICAgIGludCB3Y2xlbiA9IHdjbGVuX2F1dG87CisJV0NIQVIgKndjID0gd2NfYXV0bzsK KyAgICAgICAgaW50IGxlbjsKKworCXdoaWxlICggIShsZW49TXVsdGlCeXRlVG9XaWRlQ2hhcigg Q1BfQUNQLCBNQl9QUkVDT01QT1NFRCwKIAkJbWIsIG1ibGVuLCB3Yywgd2NsZW4gKSkgKQotICAg IHsKLQlpbnQgciA9IEdldExhc3RFcnJvcigpOwotCWlmICggciA9PSBFUlJPUl9JTlNVRkZJQ0lF TlRfQlVGRkVSICkgewotCSAgICBpZiAoIHdjICE9IHdjX2F1dG8gKSB7Ci0JCXFXYXJuaW5nKCJT aXplIGNoYW5nZWQgaW4gTXVsdGlCeXRlVG9XaWRlQ2hhciIpOwotCQlicmVhazsKKwl7CisJICAg IGludCByID0gR2V0TGFzdEVycm9yKCk7CisJICAgIGlmICggciA9PSBFUlJPUl9JTlNVRkZJQ0lF TlRfQlVGRkVSICkgeworCQlpZiAoIHdjICE9IHdjX2F1dG8gKSB7CisJCSAgICBxV2FybmluZygi U2l6ZSBjaGFuZ2VkIGluIE11bHRpQnl0ZVRvV2lkZUNoYXIiKTsKKwkJICAgIGJyZWFrOworCQl9 IGVsc2UgeworCQkgICAgd2NsZW4gPSBNdWx0aUJ5dGVUb1dpZGVDaGFyKCBDUF9BQ1AsIE1CX1BS RUNPTVBPU0VELAorCQkJCQltYiwgbWJsZW4sIDAsIDAgKTsKKwkJICAgIHdjID0gbmV3IFdDSEFS W3djbGVuXTsKKwkJICAgIC8vIGFuZCB0cnkgYWdhaW4uLi4KKwkJfQogCSAgICB9IGVsc2Ugewot CQl3Y2xlbiA9IE11bHRpQnl0ZVRvV2lkZUNoYXIoIENQX0FDUCwgTUJfUFJFQ09NUE9TRUQsCi0J CQkJICAgIG1iLCBtYmxlbiwgMCwgMCApOwotCQl3YyA9IG5ldyBXQ0hBUlt3Y2xlbl07Ci0JCS8v IGFuZCB0cnkgYWdhaW4uLi4KKwkJLy8gRmFpbC4KKwkJcVdhcm5pbmcoIk11bHRpQnl0ZVRvV2lk ZUNoYXIgY2Fubm90IGNvbnZlcnQgbXVsdGlieXRlIHRleHQiKTsKKwkJYnJlYWs7CiAJICAgIH0K LQl9IGVsc2UgewotCSAgICAvLyBGYWlsLgotCSAgICBxV2FybmluZygiTXVsdGlCeXRlVG9XaWRl Q2hhciBjYW5ub3QgY29udmVydCBtdWx0aWJ5dGUgdGV4dCIpOwotCSAgICBicmVhazsKIAl9CisK KwlpZiAoIGxlbiA+MCApIHsKKwkgICAgcmVzdWx0LnNldFVuaWNvZGUoIChRQ2hhciopd2MsIGxl biAtIDEgKTsgLy8gbGVuIC0gMTogd2UgZG9uJ3Qgd2FudCB0ZXJtaW5hdG9yCisJICAgIGlmICgg d2MgIT0gd2NfYXV0byApCisJCWRlbGV0ZSBbXSB3YzsKKwkgICAgfQogICAgIH0KLSAgICBpZiAo IGxlbiA8PSAwICkKLQlyZXR1cm4gUVN0cmluZzo6bnVsbDsKLSAgICBRU3RyaW5nIHMoIChRQ2hh ciopd2MsIGxlbiAtIDEgKTsgLy8gbGVuIC0gMTogd2UgZG9uJ3Qgd2FudCB0ZXJtaW5hdG9yCi0g ICAgaWYgKCB3YyAhPSB3Y19hdXRvICkKLQlkZWxldGUgW10gd2M7Ci0gICAgcmV0dXJuIHM7Cisg ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogI2VuZGlmIC8vIFFfT1NfV0lOMzIKZGlmZiAtTmF1ciBx dC14MTEtZnJlZS0zLjAuMi5vcmlnL3Rvb2xzL2xpbmd1aXN0L3NoYXJlZC9tZXRhdHJhbnNsYXRv ci5jcHAgcXQteDExLWZyZWUtMy4wLjIvdG9vbHMvbGluZ3Vpc3Qvc2hhcmVkL21ldGF0cmFuc2xh dG9yLmNwcAotLS0gcXQteDExLWZyZWUtMy4wLjIub3JpZy90b29scy9saW5ndWlzdC9zaGFyZWQv bWV0YXRyYW5zbGF0b3IuY3BwCVR1ZSBGZWIgMTIgMTk6MDI6NTMgMjAwMgorKysgcXQteDExLWZy ZWUtMy4wLjIvdG9vbHMvbGluZ3Vpc3Qvc2hhcmVkL21ldGF0cmFuc2xhdG9yLmNwcAlUdWUgTWFy IDEyIDE4OjQzOjExIDIwMDIKQEAgLTUyMyw5ICs1MjMsMTYgQEAKIHsKICAgICBpZiAoIHV0Zjgg KQogCXJldHVybiBRU3RyaW5nOjpmcm9tVXRmOCggc3RyICk7Ci0gICAgZWxzZSBpZiAoIGNvZGVj ID09IDAgKQotCXJldHVybiBRU3RyaW5nKCBzdHIgKTsKLSAgICBlbHNlCisgICAgZWxzZSBpZiAo IGNvZGVjID09IDAgKSB7CisJUVN0cmluZwlyOworCWlmIChzdHIpIHsKKwkgICAgaWYgKCAhc3Ry WzBdICkgCisJCXIuc2V0TGVuZ3RoKDApOworCSAgICBlbHNlCisJCXIgPSBRU3RyaW5nKCBzdHIg KTsKKwl9CisJcmV0dXJuIHI7CisgICAgfSBlbHNlCiAJcmV0dXJuIGNvZGVjLT50b1VuaWNvZGUo IHN0ciApOwogfQogCg== --------------Boundary-00=_9GE0W1QKFNLFXQHD849B Content-Type: text/x-diff; charset="koi8-r"; name="qt-x11-free-3.0.2-0004-step.0.diff" Content-Disposition: attachment; filename="qt-x11-free-3.0.2-0004-step.0.diff" Content-Transfer-Encoding: base64 ZGlmZiAtTmF1ciBxdC14MTEtZnJlZS0zLjAuMi5vcmlnL3NyYy9jb2RlY3MvcXRleHRjb2RlYy5j cHAgcXQteDExLWZyZWUtMy4wLjIvc3JjL2NvZGVjcy9xdGV4dGNvZGVjLmNwcAotLS0gcXQteDEx LWZyZWUtMy4wLjIub3JpZy9zcmMvY29kZWNzL3F0ZXh0Y29kZWMuY3BwCU1vbiBGZWIgMTggMTU6 NDY6MjkgMjAwMgorKysgcXQteDExLWZyZWUtMy4wLjIvc3JjL2NvZGVjcy9xdGV4dGNvZGVjLmNw cAlUdWUgTWFyIDEyIDEyOjE3OjAxIDIwMDIKQEAgLTQyNCwxOSArNDI0LDIxIEBACiAvLyByZXR1 cm5zIGEgc3RyaW5nIGNvdG5haW5pbmcgdGhlIGxldHRlcnMgYW5kIG51bWJlcnMgZnJvbSBpbnB1 dCwKIC8vIHdpdGggYSBzcGFjZSBzZXBhcmF0aW5nIHJ1biBvZiBhIGNoYXJhY3RlciBjbGFzcy4g IGUuZy4gImlzbzg4NTktMSIKIC8vIGJlY29tZXMgImlzbyA4ODU5IDEiCi1zdGF0aWMgUVN0cmlu ZyBsZXR0ZXJzQW5kTnVtYmVycyggY29uc3QgY2hhciAqIGlucHV0ICkKK3N0YXRpYyBRQ1N0cmlu ZyBsZXR0ZXJzQW5kTnVtYmVycyggY29uc3QgY2hhciAqIGlucHV0ICkKIHsKLSAgICBRU3RyaW5n IHJlc3VsdDsKLSAgICBRQ2hhciBjOworICAgIFFDU3RyaW5nIHJlc3VsdDsKKyAgICBRQ2hhciBj LCBuOwogCiAgICAgd2hpbGUoIGlucHV0ICYmICppbnB1dCApIHsKLQljID0gKmlucHV0OworCWMu c2V0Q2VsbCgqaW5wdXQpOworCWMuc2V0Um93KDApOwogCWlmICggYy5pc0xldHRlcigpIHx8IGMu aXNOdW1iZXIoKSApCi0JICAgIHJlc3VsdCArPSBjLmxvd2VyKCk7CisJICAgIHJlc3VsdCArPSBj Lmxvd2VyKCkuY2VsbCgpOwogCWlmICggaW5wdXRbMV0gKSB7CiAJICAgIC8vIGFkZCBzcGFjZSBh dCBjaGFyYWN0ZXIgY2xhc3MgdHJhbnNpdGlvbiwgZXhjZXB0CiAJICAgIC8vIHRyYW5zaXRpb24g ZnJvbSB1cHBlci1jYXNlIHRvIGxvd2VyLWNhc2UgbGV0dGVyCi0JICAgIFFDaGFyIG4oIGlucHV0 WzFdICk7CisJICAgIG4uc2V0Q2VsbChpbnB1dFsxXSk7CisJICAgIG4uc2V0Um93KDApOwogCSAg ICBpZiAoIGMuaXNMZXR0ZXIoKSAmJiBuLmlzTGV0dGVyKCkgKSB7CiAJCWlmICggYyA9PSBjLmxv d2VyKCkgJiYgbiA9PSBuLnVwcGVyKCkgKQogCQkgICAgcmVzdWx0ICs9ICcgJzsKQEAgLTQ2NCw4 ICs0NjYsOCBAQAogCiAgICAgLy8gaWYgdGhlIGxldHRlcnMgYW5kIG51bWJlcnMgYXJlIHRoZSBz YW1lLCB3ZSBoYXZlIGFuICJhbG1vc3QiCiAgICAgLy8gcGVyZmVjdCBtYXRjaC4KLSAgICBRU3Ry aW5nIGgoIGxldHRlcnNBbmROdW1iZXJzKCBoaW50ICkgKTsKLSAgICBRU3RyaW5nIG4oIGxldHRl cnNBbmROdW1iZXJzKCBuYW1lICkgKTsKKyAgICBRQ1N0cmluZyBoKCBsZXR0ZXJzQW5kTnVtYmVy cyggaGludCApICk7CisgICAgUUNTdHJpbmcgbiggbGV0dGVyc0FuZE51bWJlcnMoIG5hbWUgKSAp OwogICAgIGlmICggaCA9PSBuICkKIAlyZXR1cm4gcXN0cmxlbiggaGludCApLTE7CiAKQEAgLTE1 NDAsMTkgKzE1NDIsMjIgQEAKIAogUVN0cmluZyBRVGV4dENvZGVjRnJvbUlPRERlY29kZXI6OnRv VW5pY29kZShjb25zdCBjaGFyKiBjaGFycywgaW50IGxlbikKIHsKLSAgICBjb25zdCB1Y2hhciog dWNoYXJzID0gKGNvbnN0IHVjaGFyKiljaGFyczsKICAgICBRU3RyaW5nIHJlc3VsdDsKLSAgICB3 aGlsZSAobGVuLS0pIHsKLQlRTXVsdGlCeXRlVW5pY29kZVRhYmxlJiB0ID0gbWJbKnVjaGFyc107 Ci0JaWYgKCB0Lm11bHRpYnl0ZSApIHsKLQkgICAgLy8gQ2hhaW5lZCBtdWx0aS1ieXRlCi0JICAg IG1iID0gdC5tdWx0aWJ5dGU7Ci0JfSBlbHNlIHsKLQkgICAgaWYgKCB0LnVuaWNvZGUgKQotCQly ZXN1bHQgKz0gUUNoYXIodC51bmljb2RlKTsKLQkgICAgbWI9Y29kZWMtPnRvX3VuaWNvZGVfbXVs dGlieXRlOworICAgIGlmKGNoYXJzKSB7CisJY29uc3QgdWNoYXIqIHVjaGFycyA9IChjb25zdCB1 Y2hhciopY2hhcnM7CisJcmVzdWx0LnNldExlbmd0aCgwKTsKKyAgICAgICAgd2hpbGUgKGxlbi0t KSB7CisJICAgIFFNdWx0aUJ5dGVVbmljb2RlVGFibGUmIHQgPSBtYlsqdWNoYXJzXTsKKwkgICAg aWYgKCB0Lm11bHRpYnl0ZSApIHsKKwkJLy8gQ2hhaW5lZCBtdWx0aS1ieXRlCisJCW1iID0gdC5t dWx0aWJ5dGU7CisJICAgIH0gZWxzZSB7CisJCWlmICggdC51bmljb2RlICkKKwkJICAgIHJlc3Vs dCArPSBRQ2hhcih0LnVuaWNvZGUpOworCQltYj1jb2RlYy0+dG9fdW5pY29kZV9tdWx0aWJ5dGU7 CisJICAgIH0KKwkgICAgdWNoYXJzKys7CiAJfQotCXVjaGFycysrOwogICAgIH0KICAgICByZXR1 cm4gcmVzdWx0OwogfQpAQCAtMjI2MiwyNiArMjI2NywzMCBAQAogCiBRU3RyaW5nIFFTaW1wbGVU ZXh0Q29kZWM6OnRvVW5pY29kZShjb25zdCBjaGFyKiBjaGFycywgaW50IGxlbikgY29uc3QKIHsK LSAgICBpZiAoIGxlbiA8PSAwIHx8IGNoYXJzID09IDAgKQotICAgICAgICByZXR1cm4gUVN0cmlu Zzo6bnVsbDsKLQotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiBjID0gKGNvbnN0IHVuc2lnbmVk IGNoYXIgKiljaGFyczsKLSAgICBpbnQgaTsKLQotICAgIGZvciAoIGkgPSAwOyBpIDwgbGVuOyBp KysgKSB7Ci0JaWYgKCBjW2ldID09ICdcMCcgKQotCSAgICBsZW4gPSBpOwotICAgIH0KLQogICAg IFFTdHJpbmcgcjsKLSAgICByLnNldFVuaWNvZGUoMCwgbGVuKTsKLSAgICBRQ2hhciogdWMgPSAo UUNoYXIqKXIudW5pY29kZSgpOyAvLyBjb25zdF9jYXN0CiAKLSAgICBmb3IgKCBpID0gMDsgaSA8 IGxlbjsgaSsrICkgewotICAgICAgICBpZiAoIGNbaV0gPiAxMjcgKQotICAgICAgICAgICAgdWNb aV0gPSB1bmljb2RldmFsdWVzW2ZvcndhcmRJbmRleF0udmFsdWVzW2NbaV0tMTI4XTsKLSAgICAg ICAgZWxzZQotICAgICAgICAgICAgdWNbaV0gPSBjW2ldOworICAgIGlmIChjaGFycykgeworCWNv bnN0IHVuc2lnbmVkIGNoYXIgKiBjID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiljaGFyczsKKwlp bnQgaTsKKworCWZvciAoIGkgPSAwOyBpIDwgbGVuOyBpKysgKSAKKwkgICAgaWYgKCBjW2ldID09 ICdcMCcgKSBsZW4gPSBpOworCisJaWYoIGxlbjw9MCApIAorCSAgICByLnNldExlbmd0aCgwKTsK KwllbHNlIHsKKwkgICAgci5zZXRVbmljb2RlKDAsIGxlbik7CisJICAgIFFDaGFyKiB1YyA9IChR Q2hhciopci51bmljb2RlKCk7IC8vIGNvbnN0X2Nhc3QKKworCSAgICBmb3IgKCBpID0gMDsgaSA8 IGxlbjsgaSsrICkgeworCQlpZiAoIGNbaV0gPiAxMjcgKQorCQkgICAgdWNbaV0gPSB1bmljb2Rl dmFsdWVzW2ZvcndhcmRJbmRleF0udmFsdWVzW2NbaV0tMTI4XTsKKwkJZWxzZSB7CisJCSAgICB1 Y1tpXS5zZXRDZWxsKCBjW2ldICk7CisJCSAgICB1Y1tpXS5zZXRSb3coMCk7CisJCX0KKwkgICAg fQorCX0KICAgICB9CiAgICAgcmV0dXJuIHI7CiB9CkBAIC0yNDQ4LDEwICsyNDU3LDI4IEBACiAK IFFTdHJpbmcgUUxhdGluMUNvZGVjOjp0b1VuaWNvZGUoY29uc3QgY2hhciogY2hhcnMsIGludCBs ZW4pIGNvbnN0CiB7Ci0gICAgaWYobGVuIDw9IDApCi0JcmV0dXJuIFFTdHJpbmc6Om51bGw7Cisg ICAgUVN0cmluZyByOwogCi0gICAgcmV0dXJuIFFTdHJpbmc6OmZyb21MYXRpbjEoY2hhcnMsIGxl bik7CisgICAgaWYgKGNoYXJzKSB7CisJY29uc3QgdW5zaWduZWQgY2hhciAqIGMgPSAoY29uc3Qg dW5zaWduZWQgY2hhciAqKWNoYXJzOworCWludCBpOworCisJZm9yICggaSA9IDA7IGkgPCBsZW47 IGkrKyApIAorCSAgICBpZiAoIGNbaV0gPT0gJ1wwJyApIGxlbiA9IGk7CisKKwlpZiggbGVuPD0w ICkgCisJICAgIHIuc2V0TGVuZ3RoKDApOworCWVsc2UgeworCSAgICByLnNldFVuaWNvZGUoMCwg bGVuKTsKKwkgICAgUUNoYXIqIHVjID0gKFFDaGFyKilyLnVuaWNvZGUoKTsgLy8gY29uc3RfY2Fz dAorCisJICAgIGZvciAoIGkgPSAwOyBpIDwgbGVuOyBpKysgKSB7CisJCXVjW2ldLnNldENlbGwo IGNbaV0gKTsKKwkJdWNbaV0uc2V0Um93KDApOworCSAgICB9CisJfQorICAgIH0KKyAgICByZXR1 cm4gcjsKIH0KIAogCg== --------------Boundary-00=_9GE0W1QKFNLFXQHD849B--