From freedesktop-dbus Sat Nov 03 11:57:03 2007 From: Sebastian =?ISO-8859-1?Q?Dr=F6ge?= Date: Sat, 03 Nov 2007 11:57:03 +0000 To: freedesktop-dbus Subject: Re: Detectin mainloop integration Message-Id: <1194091023.6178.6.camel () asgard> X-MARC-Message: https://marc.info/?l=freedesktop-dbus&m=119409104401597 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============1324072231==" --===============1324072231== Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-0kKQuWyTY1VwSDrVvSM6" --=-0kKQuWyTY1VwSDrVvSM6 Content-Type: multipart/mixed; boundary="=-d8LPN6057MYdQYyGVILV" --=-d8LPN6057MYdQYyGVILV Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Am Freitag, den 02.11.2007, 12:12 -0400 schrieb Havoc Pennington: > Hi, >=20 > Sebastian Dr=C3=B6ge wrote: > > Do I need something special to get proper permissions? A git-clone on > > ssh://git.freedesktop.org/git/dbus/dbus works fine. >=20 > You have to be in the dbus group. If you want to ask an admin to add you=20 > that's fine with me, or tell us where to pull your final patch from.=20 > (And I will try to figure out how to use git to do that... is there a=20 > nice "commit this person's branch to the central repo" one-liner?) Ok, attached are the latest patches... For the dbus-glib.diff the changelog entry could look like: Use dbus-glib-main instead of our own mainloop integration. Seems that dbus-glib only uses the git logs instead of proper changelogs --=-d8LPN6057MYdQYyGVILV Content-Disposition: attachment; filename=dbus-glib.diff Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name=dbus-glib.diff; charset=utf-8 ZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYw0KaW5kZXggZjgxM2E2Zi4u OGIzYzJhYSAxMDA2NDQNCi0tLSBhL2NvbmZpZ3VyZS5hYw0KKysrIGIvY29uZmlndXJlLmFjDQpA QCAtNjQ3LDcgKzY0Nyw3IEBAIERCVVNfVEVTVF9MSUJTPQ0KIEFDX1NVQlNUKERCVVNfVEVTVF9D RkxBR1MpDQogQUNfU1VCU1QoREJVU19URVNUX0xJQlMpDQogDQotUEtHX0NIRUNLX01PRFVMRVMo REJVUywgZGJ1cy0xID49IDAuOTMsIGhhdmVfZGJ1cz15ZXMsIGhhdmVfZGJ1cz1ubykNCitQS0df Q0hFQ0tfTU9EVUxFUyhEQlVTLCBkYnVzLTEgPj0gMS4xLjMgZGJ1cy1nbGliLW1haW4tMSwgaGF2 ZV9kYnVzPXllcywgaGF2ZV9kYnVzPW5vKQ0KIA0KIGlmIHRlc3QgeCRoYXZlX2RidXMgPSB4bm8g OyB0aGVuDQogICAgIEFDX01TR19FUlJPUihbREJ1cyBkZXZlbG9wbWVudCBsaWJyYXJpZXMgbm90 IGZvdW5kXSkNCmRpZmYgLS1naXQgYS9kYnVzL2RidXMtZ2xpYi1sb3dsZXZlbC5oIGIvZGJ1cy9k YnVzLWdsaWItbG93bGV2ZWwuaA0KaW5kZXggYzk5NjgyMS4uM2E2M2FlMiAxMDA2NDQNCi0tLSBh L2RidXMvZGJ1cy1nbGliLWxvd2xldmVsLmgNCisrKyBiL2RidXMvZGJ1cy1nbGliLWxvd2xldmVs LmgNCkBAIC0zOSwxMCArMzksMTAgQEAgR1R5cGUgZGJ1c19jb25uZWN0aW9uX2dldF9nX3R5cGUg ICAodm9pZCkgR19HTlVDX0NPTlNUOw0KIEdUeXBlIGRidXNfbWVzc2FnZV9nZXRfZ190eXBlICAg ICAgKHZvaWQpIEdfR05VQ19DT05TVDsNCiBHVHlwZSBkYnVzX3BlbmRpbmdfY2FsbF9nZXRfZ190 eXBlICh2b2lkKSBHX0dOVUNfQ09OU1Q7DQogDQotdm9pZCAgICAgICAgICAgIGRidXNfY29ubmVj dGlvbl9zZXR1cF93aXRoX2dfbWFpbiAoREJ1c0Nvbm5lY3Rpb24gICpjb25uZWN0aW9uLA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdNYWluQ29u dGV4dCAgICAqY29udGV4dCk7DQotdm9pZCAgICAgICAgICAgIGRidXNfc2VydmVyX3NldHVwX3dp dGhfZ19tYWluICAgICAoREJ1c1NlcnZlciAgICAgICpzZXJ2ZXIsDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR01haW5Db250ZXh0ICAgICpjb250 ZXh0KTsNCit2b2lkIGRidXNfY29ubmVjdGlvbl9zZXR1cF93aXRoX2dfbWFpbiAoREJ1c0Nvbm5l Y3Rpb24gICpjb25uZWN0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR01haW5Db250ZXh0ICAgICpjb250ZXh0KTsNCit2b2lkIGRi dXNfc2VydmVyX3NldHVwX3dpdGhfZ19tYWluICAgICAoREJ1c1NlcnZlciAgICAgICpzZXJ2ZXIs DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHTWFpbkNvbnRleHQgICAgKmNvbnRleHQpOw0KIA0KIHZvaWQgZGJ1c19nX3Byb3h5X3NlbmQg KERCdXNHUHJveHkgICAgKnByb3h5LA0KICAgICAgICAgICAgICAgICAgICAgICAgIERCdXNNZXNz YWdlICAgKm1lc3NhZ2UsDQpkaWZmIC0tZ2l0IGEvZGJ1cy9kYnVzLWdsaWIuYyBiL2RidXMvZGJ1 cy1nbGliLmMNCmluZGV4IGU4YzcxNWUuLmQ3MGYyZWYgMTAwNjQ0DQotLS0gYS9kYnVzL2RidXMt Z2xpYi5jDQorKysgYi9kYnVzL2RidXMtZ2xpYi5jDQpAQCAtMzA5LDggKzMwOSw2IEBAIGRidXNf Z19jb25uZWN0aW9uX2dldF9jb25uZWN0aW9uIChEQnVzR0Nvbm5lY3Rpb24gKmdjb25uZWN0aW9u KQ0KICAgcmV0dXJuIERCVVNfQ09OTkVDVElPTl9GUk9NX0dfQ09OTkVDVElPTiAoZ2Nvbm5lY3Rp b24pOw0KIH0NCiANCi1leHRlcm4gZGJ1c19pbnQzMl90IF9kYnVzX2dtYWluX2Nvbm5lY3Rpb25f c2xvdDsNCi0NCiAvKioNCiAgKiBkYnVzX2Nvbm5lY3Rpb25fZ2V0X2dfY29ubmVjdGlvbjoNCiAg KiBAY29ubmVjdGlvbjogIGEgI0RCdXNDb25uZWN0aW9uDQpAQCAtMzI2LDcgKzMyNCw2IEBAIERC dXNHQ29ubmVjdGlvbioNCiBkYnVzX2Nvbm5lY3Rpb25fZ2V0X2dfY29ubmVjdGlvbiAoREJ1c0Nv bm5lY3Rpb24gKmNvbm5lY3Rpb24pDQogew0KICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGNvbm5l Y3Rpb24sIE5VTEwpOw0KLSAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGRidXNfY29ubmVjdGlvbl9n ZXRfZGF0YSAoY29ubmVjdGlvbiwgX2RidXNfZ21haW5fY29ubmVjdGlvbl9zbG90KSwgTlVMTCk7 DQogICANCiAgIHJldHVybiBEQlVTX0dfQ09OTkVDVElPTl9GUk9NX0NPTk5FQ1RJT04gKGNvbm5l Y3Rpb24pOw0KIH0NCmRpZmYgLS1naXQgYS9kYnVzL2RidXMtZ21haW4uYyBiL2RidXMvZGJ1cy1n bWFpbi5jDQppbmRleCAzMjcxYjliLi43NWFjYjkxIDEwMDY0NA0KLS0tIGEvZGJ1cy9kYnVzLWdt YWluLmMNCisrKyBiL2RidXMvZGJ1cy1nbWFpbi5jDQpAQCAtMjQsNiArMjQsNyBAQA0KIA0KICNp bmNsdWRlIDxjb25maWcuaD4NCiAjaW5jbHVkZSA8ZGJ1cy9kYnVzLWdsaWIuaD4NCisjaW5jbHVk ZSA8ZGJ1cy9kYnVzLWdsaWItbWFpbi5oPg0KICNpbmNsdWRlIDxkYnVzL2RidXMtZ2xpYi1sb3ds ZXZlbC5oPg0KICNpbmNsdWRlICJkYnVzLWd0ZXN0LmgiDQogI2luY2x1ZGUgImRidXMtZ3V0aWxz LmgiDQpAQCAtMzgsNTA0ICszOSw2IEBADQogI2RlZmluZSBOXyh4KSB4DQogDQogLyoqDQotICog QGRlZmdyb3VwIERCdXNHTGliSW50ZXJuYWxzIEdMaWIgYmluZGluZ3MgaW1wbGVtZW50YXRpb24g ZGV0YWlscw0KLSAqIEBpbmdyb3VwICBEQnVzSW50ZXJuYWxzDQotICogQGJyaWVmIEltcGxlbWVu dGF0aW9uIGRldGFpbHMgb2YgR0xpYiBiaW5kaW5ncw0KLSAqDQotICogQHsNCi0gKi8NCi0NCi0v KioNCi0gKiBEQnVzR01lc3NhZ2VRdWV1ZToNCi0gKiBBIEdTb3VyY2Ugc3ViY2xhc3MgZm9yIGRp c3BhdGNoaW5nIERCdXNDb25uZWN0aW9uIG1lc3NhZ2VzLg0KLSAqIFdlIG5lZWQgdGhpcyBvbiB0 b3Agb2YgdGhlIElPIGhhbmRsZXJzLCBiZWNhdXNlIHNvbWV0aW1lcw0KLSAqIHRoZXJlIGFyZSBt ZXNzYWdlcyB0byBkaXNwYXRjaCBxdWV1ZWQgdXAgYnV0IG5vIElPIHBlbmRpbmcuDQotICovDQot dHlwZWRlZiBzdHJ1Y3QNCi17DQotICBHU291cmNlIHNvdXJjZTsgLyoqPCB0aGUgcGFyZW50IEdT b3VyY2UgKi8NCi0gIERCdXNDb25uZWN0aW9uICpjb25uZWN0aW9uOyAvKio8IHRoZSBjb25uZWN0 aW9uIHRvIGRpc3BhdGNoICovDQotfSBEQnVzR01lc3NhZ2VRdWV1ZTsNCi0NCi1zdGF0aWMgZ2Jv b2xlYW4gbWVzc2FnZV9xdWV1ZV9wcmVwYXJlICAoR1NvdXJjZSAgICAgKnNvdXJjZSwNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCAgICAgICAgKnRpbWVvdXQp Ow0KLXN0YXRpYyBnYm9vbGVhbiBtZXNzYWdlX3F1ZXVlX2NoZWNrICAgIChHU291cmNlICAgICAq c291cmNlKTsNCi1zdGF0aWMgZ2Jvb2xlYW4gbWVzc2FnZV9xdWV1ZV9kaXNwYXRjaCAoR1NvdXJj ZSAgICAgKnNvdXJjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R1NvdXJjZUZ1bmMgIGNhbGxiYWNrLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBncG9pbnRlciAgICAgdXNlcl9kYXRhKTsNCi0NCi1zdGF0aWMgY29uc3QgR1NvdXJj ZUZ1bmNzIG1lc3NhZ2VfcXVldWVfZnVuY3MgPSB7DQotICBtZXNzYWdlX3F1ZXVlX3ByZXBhcmUs DQotICBtZXNzYWdlX3F1ZXVlX2NoZWNrLA0KLSAgbWVzc2FnZV9xdWV1ZV9kaXNwYXRjaCwNCi0g IE5VTEwNCi19Ow0KLQ0KLXN0YXRpYyBnYm9vbGVhbg0KLW1lc3NhZ2VfcXVldWVfcHJlcGFyZSAo R1NvdXJjZSAqc291cmNlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgZ2ludCAgICAqdGltZW91 dCkNCi17DQotICBEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlvbiA9ICgoREJ1c0dNZXNzYWdlUXVl dWUgKilzb3VyY2UpLT5jb25uZWN0aW9uOw0KLSAgDQotICAqdGltZW91dCA9IC0xOw0KLQ0KLSAg cmV0dXJuIChkYnVzX2Nvbm5lY3Rpb25fZ2V0X2Rpc3BhdGNoX3N0YXR1cyAoY29ubmVjdGlvbikg PT0gREJVU19ESVNQQVRDSF9EQVRBX1JFTUFJTlMpOyAgDQotfQ0KLQ0KLXN0YXRpYyBnYm9vbGVh bg0KLW1lc3NhZ2VfcXVldWVfY2hlY2sgKEdTb3VyY2UgKnNvdXJjZSkNCi17DQotICByZXR1cm4g RkFMU0U7DQotfQ0KLQ0KLXN0YXRpYyBnYm9vbGVhbg0KLW1lc3NhZ2VfcXVldWVfZGlzcGF0Y2gg KEdTb3VyY2UgICAgICpzb3VyY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAgR1NvdXJjZUZ1 bmMgIGNhbGxiYWNrLA0KLSAgICAgICAgICAgICAgICAgICAgICAgIGdwb2ludGVyICAgICB1c2Vy X2RhdGEpDQotew0KLSAgREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb24gPSAoKERCdXNHTWVzc2Fn ZVF1ZXVlICopc291cmNlKS0+Y29ubmVjdGlvbjsNCi0NCi0gIGRidXNfY29ubmVjdGlvbl9yZWYg KGNvbm5lY3Rpb24pOw0KLQ0KLSAgLyogT25seSBkaXNwYXRjaCBvbmNlIC0gd2UgZG9uJ3Qgd2Fu dCB0byBzdGFydmUgb3RoZXIgR1NvdXJjZSAqLw0KLSAgZGJ1c19jb25uZWN0aW9uX2Rpc3BhdGNo IChjb25uZWN0aW9uKTsNCi0gIA0KLSAgZGJ1c19jb25uZWN0aW9uX3VucmVmIChjb25uZWN0aW9u KTsNCi0NCi0gIHJldHVybiBUUlVFOw0KLX0NCi0NCi10eXBlZGVmIHN0cnVjdA0KLXsNCi0gIEdN YWluQ29udGV4dCAqY29udGV4dDsgICAgICAvKio8IHRoZSBtYWluIGNvbnRleHQgKi8NCi0gIEdT TGlzdCAqaW9zOyAgICAgICAgICAgICAgICAvKio8IGFsbCBJT0hhbmRsZXIgKi8NCi0gIEdTTGlz dCAqdGltZW91dHM7ICAgICAgICAgICAvKio8IGFsbCBUaW1lb3V0SGFuZGxlciAqLw0KLSAgREJ1 c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb247IC8qKjwgTlVMTCBpZiB0aGlzIGlzIHJlYWxseSBmb3Ig YSBzZXJ2ZXIgbm90IGEgY29ubmVjdGlvbiAqLw0KLSAgR1NvdXJjZSAqbWVzc2FnZV9xdWV1ZV9z b3VyY2U7IC8qKjwgREJ1c0dNZXNzYWdlUXVldWUgKi8NCi19IENvbm5lY3Rpb25TZXR1cDsNCi0N Ci0NCi10eXBlZGVmIHN0cnVjdA0KLXsNCi0gIENvbm5lY3Rpb25TZXR1cCAqY3M7DQotICBHU291 cmNlICpzb3VyY2U7DQotICBEQnVzV2F0Y2ggKndhdGNoOw0KLX0gSU9IYW5kbGVyOw0KLQ0KLXR5 cGVkZWYgc3RydWN0DQotew0KLSAgQ29ubmVjdGlvblNldHVwICpjczsNCi0gIEdTb3VyY2UgKnNv dXJjZTsNCi0gIERCdXNUaW1lb3V0ICp0aW1lb3V0Ow0KLX0gVGltZW91dEhhbmRsZXI7DQotDQot ZGJ1c19pbnQzMl90IF9kYnVzX2dtYWluX2Nvbm5lY3Rpb25fc2xvdCA9IC0xOw0KLXN0YXRpYyBk YnVzX2ludDMyX3Qgc2VydmVyX3Nsb3QgPSAtMTsNCi0NCi1zdGF0aWMgQ29ubmVjdGlvblNldHVw Kg0KLWNvbm5lY3Rpb25fc2V0dXBfbmV3IChHTWFpbkNvbnRleHQgICAqY29udGV4dCwNCi0gICAg ICAgICAgICAgICAgICAgICAgREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb24pDQotew0KLSAgQ29u bmVjdGlvblNldHVwICpjczsNCi0NCi0gIGNzID0gZ19uZXcwIChDb25uZWN0aW9uU2V0dXAsIDEp Ow0KLQ0KLSAgZ19hc3NlcnQgKGNvbnRleHQgIT0gTlVMTCk7DQotICANCi0gIGNzLT5jb250ZXh0 ID0gY29udGV4dDsNCi0gIGdfbWFpbl9jb250ZXh0X3JlZiAoY3MtPmNvbnRleHQpOyAgDQotDQot ICBpZiAoY29ubmVjdGlvbikNCi0gICAgew0KLSAgICAgIGNzLT5jb25uZWN0aW9uID0gY29ubmVj dGlvbjsNCi0NCi0gICAgICBjcy0+bWVzc2FnZV9xdWV1ZV9zb3VyY2UgPSBnX3NvdXJjZV9uZXcg KChHU291cmNlRnVuY3MgKikgJm1lc3NhZ2VfcXVldWVfZnVuY3MsDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKERCdXNHTWVzc2FnZVF1ZXVl KSk7DQotICAgICAgKChEQnVzR01lc3NhZ2VRdWV1ZSopY3MtPm1lc3NhZ2VfcXVldWVfc291cmNl KS0+Y29ubmVjdGlvbiA9IGNvbm5lY3Rpb247DQotICAgICAgZ19zb3VyY2VfYXR0YWNoIChjcy0+ bWVzc2FnZV9xdWV1ZV9zb3VyY2UsIGNzLT5jb250ZXh0KTsNCi0gICAgfQ0KLSAgDQotICByZXR1 cm4gY3M7DQotfQ0KLQ0KLXN0YXRpYyB2b2lkDQotaW9faGFuZGxlcl9zb3VyY2VfZmluYWxpemVk IChncG9pbnRlciBkYXRhKQ0KLXsNCi0gIElPSGFuZGxlciAqaGFuZGxlcjsNCi0NCi0gIGhhbmRs ZXIgPSBkYXRhOw0KLQ0KLSAgaWYgKGhhbmRsZXItPndhdGNoKQ0KLSAgICBkYnVzX3dhdGNoX3Nl dF9kYXRhIChoYW5kbGVyLT53YXRjaCwgTlVMTCwgTlVMTCk7DQotICANCi0gIGdfZnJlZSAoaGFu ZGxlcik7DQotfQ0KLQ0KLXN0YXRpYyB2b2lkDQotaW9faGFuZGxlcl9kZXN0cm95X3NvdXJjZSAo dm9pZCAqZGF0YSkNCi17DQotICBJT0hhbmRsZXIgKmhhbmRsZXI7DQotDQotICBoYW5kbGVyID0g ZGF0YTsNCi0NCi0gIGlmIChoYW5kbGVyLT5zb3VyY2UpDQotICAgIHsNCi0gICAgICBHU291cmNl ICpzb3VyY2UgPSBoYW5kbGVyLT5zb3VyY2U7DQotICAgICAgaGFuZGxlci0+c291cmNlID0gTlVM TDsNCi0gICAgICBoYW5kbGVyLT5jcy0+aW9zID0gZ19zbGlzdF9yZW1vdmUgKGhhbmRsZXItPmNz LT5pb3MsIGhhbmRsZXIpOw0KLSAgICAgIGdfc291cmNlX2Rlc3Ryb3kgKHNvdXJjZSk7DQotICAg ICAgZ19zb3VyY2VfdW5yZWYgKHNvdXJjZSk7DQotICAgIH0NCi19DQotDQotc3RhdGljIHZvaWQN Ci1pb19oYW5kbGVyX3dhdGNoX2ZyZWVkICh2b2lkICpkYXRhKQ0KLXsNCi0gIElPSGFuZGxlciAq aGFuZGxlcjsNCi0NCi0gIGhhbmRsZXIgPSBkYXRhOw0KLQ0KLSAgaGFuZGxlci0+d2F0Y2ggPSBO VUxMOw0KLQ0KLSAgaW9faGFuZGxlcl9kZXN0cm95X3NvdXJjZSAoaGFuZGxlcik7DQotfQ0KLQ0K LXN0YXRpYyBnYm9vbGVhbg0KLWlvX2hhbmRsZXJfZGlzcGF0Y2ggKEdJT0NoYW5uZWwgICAqc291 cmNlLA0KLSAgICAgICAgICAgICAgICAgICAgIEdJT0NvbmRpdGlvbiAgY29uZGl0aW9uLA0KLSAg ICAgICAgICAgICAgICAgICAgIGdwb2ludGVyICAgICAgZGF0YSkNCi17DQotICBJT0hhbmRsZXIg KmhhbmRsZXI7DQotICBndWludCBkYnVzX2NvbmRpdGlvbiA9IDA7DQotICBEQnVzQ29ubmVjdGlv biAqY29ubmVjdGlvbjsNCi0NCi0gIGhhbmRsZXIgPSBkYXRhOw0KLQ0KLSAgY29ubmVjdGlvbiA9 IGhhbmRsZXItPmNzLT5jb25uZWN0aW9uOw0KLSAgDQotICBpZiAoY29ubmVjdGlvbikNCi0gICAg ZGJ1c19jb25uZWN0aW9uX3JlZiAoY29ubmVjdGlvbik7DQotICANCi0gIGlmIChjb25kaXRpb24g JiBHX0lPX0lOKQ0KLSAgICBkYnVzX2NvbmRpdGlvbiB8PSBEQlVTX1dBVENIX1JFQURBQkxFOw0K LSAgaWYgKGNvbmRpdGlvbiAmIEdfSU9fT1VUKQ0KLSAgICBkYnVzX2NvbmRpdGlvbiB8PSBEQlVT X1dBVENIX1dSSVRBQkxFOw0KLSAgaWYgKGNvbmRpdGlvbiAmIEdfSU9fRVJSKQ0KLSAgICBkYnVz X2NvbmRpdGlvbiB8PSBEQlVTX1dBVENIX0VSUk9SOw0KLSAgaWYgKGNvbmRpdGlvbiAmIEdfSU9f SFVQKQ0KLSAgICBkYnVzX2NvbmRpdGlvbiB8PSBEQlVTX1dBVENIX0hBTkdVUDsNCi0NCi0gIC8q IE5vdGUgdGhhdCB3ZSBkb24ndCB0b3VjaCB0aGUgaGFuZGxlciBhZnRlciB0aGlzLCBiZWNhdXNl DQotICAgKiBkYnVzIG1heSBoYXZlIGRpc2FibGVkIHRoZSB3YXRjaCBhbmQgdGh1cyBraWxsZWQg dGhlDQotICAgKiBoYW5kbGVyLg0KLSAgICovDQotICBkYnVzX3dhdGNoX2hhbmRsZSAoaGFuZGxl ci0+d2F0Y2gsIGRidXNfY29uZGl0aW9uKTsNCi0gIGhhbmRsZXIgPSBOVUxMOw0KLQ0KLSAgaWYg KGNvbm5lY3Rpb24pDQotICAgIGRidXNfY29ubmVjdGlvbl91bnJlZiAoY29ubmVjdGlvbik7DQot ICANCi0gIHJldHVybiBUUlVFOw0KLX0NCi0NCi1zdGF0aWMgdm9pZA0KLWNvbm5lY3Rpb25fc2V0 dXBfYWRkX3dhdGNoIChDb25uZWN0aW9uU2V0dXAgKmNzLA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBEQnVzV2F0Y2ggICAgICAgKndhdGNoKQ0KLXsNCi0gIGd1aW50IGZsYWdzOw0KLSAg R0lPQ29uZGl0aW9uIGNvbmRpdGlvbjsNCi0gIEdJT0NoYW5uZWwgKmNoYW5uZWw7DQotICBJT0hh bmRsZXIgKmhhbmRsZXI7DQotICANCi0gIGlmICghZGJ1c193YXRjaF9nZXRfZW5hYmxlZCAod2F0 Y2gpKQ0KLSAgICByZXR1cm47DQotICANCi0gIGdfYXNzZXJ0IChkYnVzX3dhdGNoX2dldF9kYXRh ICh3YXRjaCkgPT0gTlVMTCk7DQotICANCi0gIGZsYWdzID0gZGJ1c193YXRjaF9nZXRfZmxhZ3Mg KHdhdGNoKTsNCi0NCi0gIGNvbmRpdGlvbiA9IEdfSU9fRVJSIHwgR19JT19IVVA7DQotICBpZiAo ZmxhZ3MgJiBEQlVTX1dBVENIX1JFQURBQkxFKQ0KLSAgICBjb25kaXRpb24gfD0gR19JT19JTjsN Ci0gIGlmIChmbGFncyAmIERCVVNfV0FUQ0hfV1JJVEFCTEUpDQotICAgIGNvbmRpdGlvbiB8PSBH X0lPX09VVDsNCi0NCi0gIGhhbmRsZXIgPSBnX25ldzAgKElPSGFuZGxlciwgMSk7DQotICBoYW5k bGVyLT5jcyA9IGNzOw0KLSAgaGFuZGxlci0+d2F0Y2ggPSB3YXRjaDsNCi0gIA0KLSAgY2hhbm5l bCA9IGdfaW9fY2hhbm5lbF91bml4X25ldyAoZGJ1c193YXRjaF9nZXRfZmQgKHdhdGNoKSk7DQot ICANCi0gIGhhbmRsZXItPnNvdXJjZSA9IGdfaW9fY3JlYXRlX3dhdGNoIChjaGFubmVsLCBjb25k aXRpb24pOw0KLSAgZ19zb3VyY2Vfc2V0X2NhbGxiYWNrIChoYW5kbGVyLT5zb3VyY2UsIChHU291 cmNlRnVuYykgaW9faGFuZGxlcl9kaXNwYXRjaCwgaGFuZGxlciwNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgaW9faGFuZGxlcl9zb3VyY2VfZmluYWxpemVkKTsNCi0gIGdfc291cmNlX2F0dGFj aCAoaGFuZGxlci0+c291cmNlLCBjcy0+Y29udGV4dCk7DQotDQotICBjcy0+aW9zID0gZ19zbGlz dF9wcmVwZW5kIChjcy0+aW9zLCBoYW5kbGVyKTsNCi0gIA0KLSAgZGJ1c193YXRjaF9zZXRfZGF0 YSAod2F0Y2gsIGhhbmRsZXIsIGlvX2hhbmRsZXJfd2F0Y2hfZnJlZWQpOw0KLSAgZ19pb19jaGFu bmVsX3VucmVmIChjaGFubmVsKTsNCi19DQotDQotc3RhdGljIHZvaWQNCi1jb25uZWN0aW9uX3Nl dHVwX3JlbW92ZV93YXRjaCAoQ29ubmVjdGlvblNldHVwICpjcywNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgREJ1c1dhdGNoICAgICAgICp3YXRjaCkNCi17DQotICBJT0hhbmRsZXIg KmhhbmRsZXI7DQotDQotICBoYW5kbGVyID0gZGJ1c193YXRjaF9nZXRfZGF0YSAod2F0Y2gpOw0K LQ0KLSAgaWYgKGhhbmRsZXIgPT0gTlVMTCkNCi0gICAgcmV0dXJuOw0KLSAgDQotICBpb19oYW5k bGVyX2Rlc3Ryb3lfc291cmNlIChoYW5kbGVyKTsNCi19DQotDQotc3RhdGljIHZvaWQNCi10aW1l b3V0X2hhbmRsZXJfc291cmNlX2ZpbmFsaXplZCAoZ3BvaW50ZXIgZGF0YSkNCi17DQotICBUaW1l b3V0SGFuZGxlciAqaGFuZGxlcjsNCi0NCi0gIGhhbmRsZXIgPSBkYXRhOw0KLQ0KLSAgaWYgKGhh bmRsZXItPnRpbWVvdXQpDQotICAgIGRidXNfdGltZW91dF9zZXRfZGF0YSAoaGFuZGxlci0+dGlt ZW91dCwgTlVMTCwgTlVMTCk7DQotICANCi0gIGdfZnJlZSAoaGFuZGxlcik7DQotfQ0KLQ0KLXN0 YXRpYyB2b2lkDQotdGltZW91dF9oYW5kbGVyX2Rlc3Ryb3lfc291cmNlICh2b2lkICpkYXRhKQ0K LXsNCi0gIFRpbWVvdXRIYW5kbGVyICpoYW5kbGVyOw0KLQ0KLSAgaGFuZGxlciA9IGRhdGE7DQot DQotICBpZiAoaGFuZGxlci0+c291cmNlKQ0KLSAgICB7DQotICAgICAgR1NvdXJjZSAqc291cmNl ID0gaGFuZGxlci0+c291cmNlOw0KLSAgICAgIGhhbmRsZXItPnNvdXJjZSA9IE5VTEw7DQotICAg ICAgaGFuZGxlci0+Y3MtPnRpbWVvdXRzID0gZ19zbGlzdF9yZW1vdmUgKGhhbmRsZXItPmNzLT50 aW1lb3V0cywgaGFuZGxlcik7DQotICAgICAgZ19zb3VyY2VfZGVzdHJveSAoc291cmNlKTsNCi0g ICAgICBnX3NvdXJjZV91bnJlZiAoc291cmNlKTsNCi0gICAgfQ0KLX0NCi0NCi1zdGF0aWMgdm9p ZA0KLXRpbWVvdXRfaGFuZGxlcl90aW1lb3V0X2ZyZWVkICh2b2lkICpkYXRhKQ0KLXsNCi0gIFRp bWVvdXRIYW5kbGVyICpoYW5kbGVyOw0KLQ0KLSAgaGFuZGxlciA9IGRhdGE7DQotDQotICBoYW5k bGVyLT50aW1lb3V0ID0gTlVMTDsNCi0NCi0gIHRpbWVvdXRfaGFuZGxlcl9kZXN0cm95X3NvdXJj ZSAoaGFuZGxlcik7DQotfQ0KLQ0KLXN0YXRpYyBnYm9vbGVhbg0KLXRpbWVvdXRfaGFuZGxlcl9k aXNwYXRjaCAoZ3BvaW50ZXIgICAgICBkYXRhKQ0KLXsNCi0gIFRpbWVvdXRIYW5kbGVyICpoYW5k bGVyOw0KLQ0KLSAgaGFuZGxlciA9IGRhdGE7DQotDQotICBkYnVzX3RpbWVvdXRfaGFuZGxlICho YW5kbGVyLT50aW1lb3V0KTsNCi0gIA0KLSAgcmV0dXJuIFRSVUU7DQotfQ0KLQ0KLXN0YXRpYyB2 b2lkDQotY29ubmVjdGlvbl9zZXR1cF9hZGRfdGltZW91dCAoQ29ubmVjdGlvblNldHVwICpjcywN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQnVzVGltZW91dCAgICAgKnRpbWVvdXQp DQotew0KLSAgVGltZW91dEhhbmRsZXIgKmhhbmRsZXI7DQotICANCi0gIGlmICghZGJ1c190aW1l b3V0X2dldF9lbmFibGVkICh0aW1lb3V0KSkNCi0gICAgcmV0dXJuOw0KLSAgDQotICBnX2Fzc2Vy dCAoZGJ1c190aW1lb3V0X2dldF9kYXRhICh0aW1lb3V0KSA9PSBOVUxMKTsNCi0NCi0gIGhhbmRs ZXIgPSBnX25ldzAgKFRpbWVvdXRIYW5kbGVyLCAxKTsNCi0gIGhhbmRsZXItPmNzID0gY3M7DQot ICBoYW5kbGVyLT50aW1lb3V0ID0gdGltZW91dDsNCi0NCi0gIGhhbmRsZXItPnNvdXJjZSA9IGdf dGltZW91dF9zb3VyY2VfbmV3IChkYnVzX3RpbWVvdXRfZ2V0X2ludGVydmFsICh0aW1lb3V0KSk7 DQotICBnX3NvdXJjZV9zZXRfY2FsbGJhY2sgKGhhbmRsZXItPnNvdXJjZSwgdGltZW91dF9oYW5k bGVyX2Rpc3BhdGNoLCBoYW5kbGVyLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0 X2hhbmRsZXJfc291cmNlX2ZpbmFsaXplZCk7DQotICBnX3NvdXJjZV9hdHRhY2ggKGhhbmRsZXIt PnNvdXJjZSwgaGFuZGxlci0+Y3MtPmNvbnRleHQpOw0KLQ0KLSAgY3MtPnRpbWVvdXRzID0gZ19z bGlzdF9wcmVwZW5kIChjcy0+dGltZW91dHMsIGhhbmRsZXIpOw0KLQ0KLSAgZGJ1c190aW1lb3V0 X3NldF9kYXRhICh0aW1lb3V0LCBoYW5kbGVyLCB0aW1lb3V0X2hhbmRsZXJfdGltZW91dF9mcmVl ZCk7DQotfQ0KLQ0KLXN0YXRpYyB2b2lkDQotY29ubmVjdGlvbl9zZXR1cF9yZW1vdmVfdGltZW91 dCAoQ29ubmVjdGlvblNldHVwICpjcywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBEQnVzVGltZW91dCAgICAgICAqdGltZW91dCkNCi17DQotICBUaW1lb3V0SGFuZGxlciAqaGFu ZGxlcjsNCi0gIA0KLSAgaGFuZGxlciA9IGRidXNfdGltZW91dF9nZXRfZGF0YSAodGltZW91dCk7 DQotDQotICBpZiAoaGFuZGxlciA9PSBOVUxMKQ0KLSAgICByZXR1cm47DQotICANCi0gIHRpbWVv dXRfaGFuZGxlcl9kZXN0cm95X3NvdXJjZSAoaGFuZGxlcik7DQotfQ0KLQ0KLXN0YXRpYyB2b2lk DQotY29ubmVjdGlvbl9zZXR1cF9mcmVlIChDb25uZWN0aW9uU2V0dXAgKmNzKQ0KLXsNCi0gIHdo aWxlIChjcy0+aW9zKQ0KLSAgICBpb19oYW5kbGVyX2Rlc3Ryb3lfc291cmNlIChjcy0+aW9zLT5k YXRhKTsNCi0NCi0gIHdoaWxlIChjcy0+dGltZW91dHMpDQotICAgIHRpbWVvdXRfaGFuZGxlcl9k ZXN0cm95X3NvdXJjZSAoY3MtPnRpbWVvdXRzLT5kYXRhKTsNCi0NCi0gIGlmIChjcy0+bWVzc2Fn ZV9xdWV1ZV9zb3VyY2UpDQotICAgIHsNCi0gICAgICBHU291cmNlICpzb3VyY2U7DQotDQotICAg ICAgc291cmNlID0gY3MtPm1lc3NhZ2VfcXVldWVfc291cmNlOw0KLSAgICAgIGNzLT5tZXNzYWdl X3F1ZXVlX3NvdXJjZSA9IE5VTEw7DQotDQotICAgICAgZ19zb3VyY2VfZGVzdHJveSAoc291cmNl KTsNCi0gICAgICBnX3NvdXJjZV91bnJlZiAoc291cmNlKTsNCi0gICAgfQ0KLSAgDQotICBnX21h aW5fY29udGV4dF91bnJlZiAoY3MtPmNvbnRleHQpOw0KLSAgZ19mcmVlIChjcyk7DQotfQ0KLQ0K LXN0YXRpYyBkYnVzX2Jvb2xfdA0KLWFkZF93YXRjaCAoREJ1c1dhdGNoICp3YXRjaCwNCi0JICAg Z3BvaW50ZXIgICBkYXRhKQ0KLXsNCi0gIENvbm5lY3Rpb25TZXR1cCAqY3M7DQotDQotICBjcyA9 IGRhdGE7DQotDQotICBjb25uZWN0aW9uX3NldHVwX2FkZF93YXRjaCAoY3MsIHdhdGNoKTsNCi0g IA0KLSAgcmV0dXJuIFRSVUU7DQotfQ0KLQ0KLXN0YXRpYyB2b2lkDQotcmVtb3ZlX3dhdGNoIChE QnVzV2F0Y2ggKndhdGNoLA0KLQkgICAgICBncG9pbnRlciAgIGRhdGEpDQotew0KLSAgQ29ubmVj dGlvblNldHVwICpjczsNCi0NCi0gIGNzID0gZGF0YTsNCi0NCi0gIGNvbm5lY3Rpb25fc2V0dXBf cmVtb3ZlX3dhdGNoIChjcywgd2F0Y2gpOw0KLX0NCi0NCi1zdGF0aWMgdm9pZA0KLXdhdGNoX3Rv Z2dsZWQgKERCdXNXYXRjaCAqd2F0Y2gsDQotICAgICAgICAgICAgICAgdm9pZCAgICAgICpkYXRh KQ0KLXsNCi0gIC8qIEJlY2F1c2Ugd2UganVzdCBleGl0IG9uIE9PTSwgZW5hYmxlL2Rpc2FibGUg aXMNCi0gICAqIG5vIGRpZmZlcmVudCBmcm9tIGFkZC9yZW1vdmUNCi0gICAqLw0KLSAgaWYgKGRi dXNfd2F0Y2hfZ2V0X2VuYWJsZWQgKHdhdGNoKSkNCi0gICAgYWRkX3dhdGNoICh3YXRjaCwgZGF0 YSk7DQotICBlbHNlDQotICAgIHJlbW92ZV93YXRjaCAod2F0Y2gsIGRhdGEpOw0KLX0NCi0NCi1z dGF0aWMgZGJ1c19ib29sX3QNCi1hZGRfdGltZW91dCAoREJ1c1RpbWVvdXQgKnRpbWVvdXQsDQot CSAgICAgdm9pZCAgICAgICAgKmRhdGEpDQotew0KLSAgQ29ubmVjdGlvblNldHVwICpjczsNCi0N Ci0gIGNzID0gZGF0YTsNCi0gIA0KLSAgaWYgKCFkYnVzX3RpbWVvdXRfZ2V0X2VuYWJsZWQgKHRp bWVvdXQpKQ0KLSAgICByZXR1cm4gVFJVRTsNCi0NCi0gIGNvbm5lY3Rpb25fc2V0dXBfYWRkX3Rp bWVvdXQgKGNzLCB0aW1lb3V0KTsNCi0NCi0gIHJldHVybiBUUlVFOw0KLX0NCi0NCi1zdGF0aWMg dm9pZA0KLXJlbW92ZV90aW1lb3V0IChEQnVzVGltZW91dCAqdGltZW91dCwNCi0JCXZvaWQgICAg ICAgICpkYXRhKQ0KLXsNCi0gIENvbm5lY3Rpb25TZXR1cCAqY3M7DQotDQotICBjcyA9IGRhdGE7 DQotDQotICBjb25uZWN0aW9uX3NldHVwX3JlbW92ZV90aW1lb3V0IChjcywgdGltZW91dCk7DQot fQ0KLQ0KLXN0YXRpYyB2b2lkDQotdGltZW91dF90b2dnbGVkIChEQnVzVGltZW91dCAqdGltZW91 dCwNCi0gICAgICAgICAgICAgICAgIHZvaWQgICAgICAgICpkYXRhKQ0KLXsNCi0gIC8qIEJlY2F1 c2Ugd2UganVzdCBleGl0IG9uIE9PTSwgZW5hYmxlL2Rpc2FibGUgaXMNCi0gICAqIG5vIGRpZmZl cmVudCBmcm9tIGFkZC9yZW1vdmUNCi0gICAqLw0KLSAgaWYgKGRidXNfdGltZW91dF9nZXRfZW5h YmxlZCAodGltZW91dCkpDQotICAgIGFkZF90aW1lb3V0ICh0aW1lb3V0LCBkYXRhKTsNCi0gIGVs c2UNCi0gICAgcmVtb3ZlX3RpbWVvdXQgKHRpbWVvdXQsIGRhdGEpOw0KLX0NCi0NCi1zdGF0aWMg dm9pZA0KLXdha2V1cF9tYWluICh2b2lkICpkYXRhKQ0KLXsNCi0gIENvbm5lY3Rpb25TZXR1cCAq Y3MgPSBkYXRhOw0KLQ0KLSAgZ19tYWluX2NvbnRleHRfd2FrZXVwIChjcy0+Y29udGV4dCk7DQot fQ0KLQ0KLQ0KLS8qIE1vdmUgdG8gYSBuZXcgY29udGV4dCAqLw0KLXN0YXRpYyBDb25uZWN0aW9u U2V0dXAqDQotY29ubmVjdGlvbl9zZXR1cF9uZXdfZnJvbV9vbGQgKEdNYWluQ29udGV4dCAgICAq Y29udGV4dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGlvblNldHVw ICpvbGQpDQotew0KLSAgR1NMaXN0ICp0bXA7DQotICBDb25uZWN0aW9uU2V0dXAgKmNzOw0KLQ0K LSAgZ19hc3NlcnQgKG9sZC0+Y29udGV4dCAhPSBjb250ZXh0KTsNCi0gIA0KLSAgY3MgPSBjb25u ZWN0aW9uX3NldHVwX25ldyAoY29udGV4dCwgb2xkLT5jb25uZWN0aW9uKTsNCi0gIA0KLSAgdG1w ID0gb2xkLT5pb3M7DQotICB3aGlsZSAodG1wICE9IE5VTEwpDQotICAgIHsNCi0gICAgICBJT0hh bmRsZXIgKmhhbmRsZXIgPSB0bXAtPmRhdGE7DQotDQotICAgICAgY29ubmVjdGlvbl9zZXR1cF9h ZGRfd2F0Y2ggKGNzLCBoYW5kbGVyLT53YXRjaCk7DQotICAgICAgDQotICAgICAgdG1wID0gdG1w LT5uZXh0Ow0KLSAgICB9DQotDQotICB0bXAgPSBvbGQtPnRpbWVvdXRzOw0KLSAgd2hpbGUgKHRt cCAhPSBOVUxMKQ0KLSAgICB7DQotICAgICAgVGltZW91dEhhbmRsZXIgKmhhbmRsZXIgPSB0bXAt PmRhdGE7DQotDQotICAgICAgY29ubmVjdGlvbl9zZXR1cF9hZGRfdGltZW91dCAoY3MsIGhhbmRs ZXItPnRpbWVvdXQpOw0KLSAgICAgIA0KLSAgICAgIHRtcCA9IHRtcC0+bmV4dDsNCi0gICAgfQ0K LQ0KLSAgcmV0dXJuIGNzOw0KLX0NCi0NCi0vKiogQH0gKi8gLyogRW5kIG9mIEdMaWIgYmluZGlu Z3MgaW50ZXJuYWxzICovDQotDQotLyoqIEBhZGR0b2dyb3VwIERCdXNHTGliDQotICogQHsNCi0g Ki8NCi0NCi0vKioNCiAgKiBkYnVzX2Nvbm5lY3Rpb25fc2V0dXBfd2l0aF9nX21haW46DQogICog QGNvbm5lY3Rpb246IHRoZSBjb25uZWN0aW9uDQogICogQGNvbnRleHQ6IHRoZSAjR01haW5Db250 ZXh0IG9yICNOVUxMIGZvciBkZWZhdWx0IGNvbnRleHQNCkBAIC01NDYsNzEgKzQ5LDEzIEBAIGNv bm5lY3Rpb25fc2V0dXBfbmV3X2Zyb21fb2xkIChHTWFpbkNvbnRleHQgICAgKmNvbnRleHQsDQog ICogZG9pbmcgc29tZXRoaW5nIHNwZWNpYWxpemVkLg0KICAqDQogICogSWYgY2FsbGVkIHR3aWNl IGZvciB0aGUgc2FtZSBjb250ZXh0LCBkb2VzIG5vdGhpbmcgdGhlIHNlY29uZA0KLSAqIHRpbWUu IElmIGNhbGxlZCBvbmNlIHdpdGggY29udGV4dCBBIGFuZCBvbmNlIHdpdGggY29udGV4dCBCLA0K LSAqIGNvbnRleHQgQiByZXBsYWNlcyBjb250ZXh0IEEgYXMgdGhlIGNvbnRleHQgbW9uaXRvcmlu ZyB0aGUNCi0gKiBjb25uZWN0aW9uLg0KKyAqIHRpbWUuDQogICovDQogdm9pZA0KIGRidXNfY29u bmVjdGlvbl9zZXR1cF93aXRoX2dfbWFpbiAoREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb24sDQog CQkJCSAgIEdNYWluQ29udGV4dCAgICpjb250ZXh0KQ0KIHsNCi0gIENvbm5lY3Rpb25TZXR1cCAq b2xkX3NldHVwOw0KLSAgQ29ubmVjdGlvblNldHVwICpjczsNCi0gIA0KLSAgLyogRklYTUUgd2Ug bmV2ZXIgZnJlZSB0aGUgc2xvdCwgc28gaXRzIHJlZmNvdW50IGp1c3Qga2VlcHMgZ3Jvd2luZywN Ci0gICAqIHdoaWNoIGlzIGtpbmQgb2YgYnJva2VuLg0KLSAgICovDQotICBkYnVzX2Nvbm5lY3Rp b25fYWxsb2NhdGVfZGF0YV9zbG90ICgmX2RidXNfZ21haW5fY29ubmVjdGlvbl9zbG90KTsNCi0g IGlmIChfZGJ1c19nbWFpbl9jb25uZWN0aW9uX3Nsb3QgPCAwKQ0KLSAgICBnb3RvIG5vbWVtOw0K LQ0KLSAgaWYgKGNvbnRleHQgPT0gTlVMTCkNCi0gICAgY29udGV4dCA9IGdfbWFpbl9jb250ZXh0 X2RlZmF1bHQgKCk7DQotDQotICBjcyA9IE5VTEw7DQotICANCi0gIG9sZF9zZXR1cCA9IGRidXNf Y29ubmVjdGlvbl9nZXRfZGF0YSAoY29ubmVjdGlvbiwgX2RidXNfZ21haW5fY29ubmVjdGlvbl9z bG90KTsNCi0gIGlmIChvbGRfc2V0dXAgIT0gTlVMTCkNCi0gICAgew0KLSAgICAgIGlmIChvbGRf c2V0dXAtPmNvbnRleHQgPT0gY29udGV4dCkNCi0gICAgICAgIHJldHVybjsgLyogbm90aGluZyB0 byBkbyAqLw0KLQ0KLSAgICAgIGNzID0gY29ubmVjdGlvbl9zZXR1cF9uZXdfZnJvbV9vbGQgKGNv bnRleHQsIG9sZF9zZXR1cCk7DQotICAgICAgDQotICAgICAgLyogTnVrZSB0aGUgb2xkIHNldHVw ICovDQotICAgICAgZGJ1c19jb25uZWN0aW9uX3NldF9kYXRhIChjb25uZWN0aW9uLCBfZGJ1c19n bWFpbl9jb25uZWN0aW9uX3Nsb3QsIE5VTEwsIE5VTEwpOw0KLSAgICAgIG9sZF9zZXR1cCA9IE5V TEw7DQotICAgIH0NCi0NCi0gIGlmIChjcyA9PSBOVUxMKQ0KLSAgICBjcyA9IGNvbm5lY3Rpb25f c2V0dXBfbmV3IChjb250ZXh0LCBjb25uZWN0aW9uKTsNCi0NCi0gIGlmICghZGJ1c19jb25uZWN0 aW9uX3NldF9kYXRhIChjb25uZWN0aW9uLCBfZGJ1c19nbWFpbl9jb25uZWN0aW9uX3Nsb3QsIGNz LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChEQnVzRnJlZUZ1bmN0aW9uKWNv bm5lY3Rpb25fc2V0dXBfZnJlZSkpDQotICAgIGdvdG8gbm9tZW07DQotICANCi0gIGlmICghZGJ1 c19jb25uZWN0aW9uX3NldF93YXRjaF9mdW5jdGlvbnMgKGNvbm5lY3Rpb24sDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRfd2F0Y2gsDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmVfd2F0Y2gsDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXRjaF90b2dnbGVkLA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3MsIE5VTEwpKQ0KLSAg ICBnb3RvIG5vbWVtOw0KLQ0KLSAgaWYgKCFkYnVzX2Nvbm5lY3Rpb25fc2V0X3RpbWVvdXRfZnVu Y3Rpb25zIChjb25uZWN0aW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBhZGRfdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVtb3ZlX3RpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfdG9nZ2xlZCwNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3MsIE5VTEwpKQ0KLSAgICBnb3RvIG5vbWVt Ow0KLSAgICANCi0gIGRidXNfY29ubmVjdGlvbl9zZXRfd2FrZXVwX21haW5fZnVuY3Rpb24gKGNv bm5lY3Rpb24sDQotCQkJCQkgICAgd2FrZXVwX21haW4sDQotCQkJCQkgICAgY3MsIE5VTEwpOw0K LSAgICAgIA0KLSAgcmV0dXJuOw0KLQ0KLSBub21lbToNCi0gIGdfZXJyb3IgKCJOb3QgZW5vdWdo IG1lbW9yeSB0byBzZXQgdXAgREJ1c0Nvbm5lY3Rpb24gZm9yIHVzZSB3aXRoIEdMaWIiKTsNCisg IGRidXNfZ19tYWluX2ludGVncmF0ZV9jb25uZWN0aW9uIChjb25uZWN0aW9uLCBjb250ZXh0KTsN CiB9DQogDQogLyoqDQpAQCAtNjIzLDY3ICs2OCwxMyBAQCBkYnVzX2Nvbm5lY3Rpb25fc2V0dXBf d2l0aF9nX21haW4gKERCdXNDb25uZWN0aW9uICpjb25uZWN0aW9uLA0KICAqIEluIG1vc3QgY2Fz ZXMgdGhlIGNvbnRleHQgYXJndW1lbnQgc2hvdWxkIGJlICNOVUxMLg0KICAqDQogICogSWYgY2Fs bGVkIHR3aWNlIGZvciB0aGUgc2FtZSBjb250ZXh0LCBkb2VzIG5vdGhpbmcgdGhlIHNlY29uZA0K LSAqIHRpbWUuIElmIGNhbGxlZCBvbmNlIHdpdGggY29udGV4dCBBIGFuZCBvbmNlIHdpdGggY29u dGV4dCBCLA0KLSAqIGNvbnRleHQgQiByZXBsYWNlcyBjb250ZXh0IEEgYXMgdGhlIGNvbnRleHQg bW9uaXRvcmluZyB0aGUNCi0gKiBjb25uZWN0aW9uLg0KKyAqIHRpbWUuDQogICovDQogdm9pZA0K IGRidXNfc2VydmVyX3NldHVwX3dpdGhfZ19tYWluIChEQnVzU2VydmVyICAgKnNlcnZlciwNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR01haW5Db250ZXh0ICpjb250ZXh0KQ0KIHsN Ci0gIENvbm5lY3Rpb25TZXR1cCAqb2xkX3NldHVwOw0KLSAgQ29ubmVjdGlvblNldHVwICpjczsN Ci0gIA0KLSAgLyogRklYTUUgd2UgbmV2ZXIgZnJlZSB0aGUgc2xvdCwgc28gaXRzIHJlZmNvdW50 IGp1c3Qga2VlcHMgZ3Jvd2luZywNCi0gICAqIHdoaWNoIGlzIGtpbmQgb2YgYnJva2VuLg0KLSAg ICovDQotICBkYnVzX3NlcnZlcl9hbGxvY2F0ZV9kYXRhX3Nsb3QgKCZzZXJ2ZXJfc2xvdCk7DQot ICBpZiAoc2VydmVyX3Nsb3QgPCAwKQ0KLSAgICBnb3RvIG5vbWVtOw0KLQ0KLSAgaWYgKGNvbnRl eHQgPT0gTlVMTCkNCi0gICAgY29udGV4dCA9IGdfbWFpbl9jb250ZXh0X2RlZmF1bHQgKCk7DQot DQotICBjcyA9IE5VTEw7DQotICANCi0gIG9sZF9zZXR1cCA9IGRidXNfc2VydmVyX2dldF9kYXRh IChzZXJ2ZXIsIHNlcnZlcl9zbG90KTsNCi0gIGlmIChvbGRfc2V0dXAgIT0gTlVMTCkNCi0gICAg ew0KLSAgICAgIGlmIChvbGRfc2V0dXAtPmNvbnRleHQgPT0gY29udGV4dCkNCi0gICAgICAgIHJl dHVybjsgLyogbm90aGluZyB0byBkbyAqLw0KLQ0KLSAgICAgIGNzID0gY29ubmVjdGlvbl9zZXR1 cF9uZXdfZnJvbV9vbGQgKGNvbnRleHQsIG9sZF9zZXR1cCk7DQotICAgICAgDQotICAgICAgLyog TnVrZSB0aGUgb2xkIHNldHVwICovDQotICAgICAgZGJ1c19zZXJ2ZXJfc2V0X2RhdGEgKHNlcnZl ciwgc2VydmVyX3Nsb3QsIE5VTEwsIE5VTEwpOw0KLSAgICAgIG9sZF9zZXR1cCA9IE5VTEw7DQot ICAgIH0NCi0NCi0gIGlmIChjcyA9PSBOVUxMKQ0KLSAgICBjcyA9IGNvbm5lY3Rpb25fc2V0dXBf bmV3IChjb250ZXh0LCBOVUxMKTsNCi0NCi0gIGlmICghZGJ1c19zZXJ2ZXJfc2V0X2RhdGEgKHNl cnZlciwgc2VydmVyX3Nsb3QsIGNzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKERC dXNGcmVlRnVuY3Rpb24pY29ubmVjdGlvbl9zZXR1cF9mcmVlKSkNCi0gICAgZ290byBub21lbTsN Ci0gIA0KLSAgaWYgKCFkYnVzX3NlcnZlcl9zZXRfd2F0Y2hfZnVuY3Rpb25zIChzZXJ2ZXIsDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZF93YXRjaCwNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlX3dhdGNoLA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXRjaF90b2dnbGVkLA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcywgTlVMTCkpDQotICAgIGdvdG8g bm9tZW07DQotDQotICBpZiAoIWRidXNfc2VydmVyX3NldF90aW1lb3V0X2Z1bmN0aW9ucyAoc2Vy dmVyLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZF90aW1l b3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZV90 aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVv dXRfdG9nZ2xlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj cywgTlVMTCkpDQotICAgIGdvdG8gbm9tZW07DQotICAgICAgDQotICByZXR1cm47DQotDQotIG5v bWVtOg0KLSAgZ19lcnJvciAoIk5vdCBlbm91Z2ggbWVtb3J5IHRvIHNldCB1cCBEQnVzU2VydmVy IGZvciB1c2Ugd2l0aCBHTGliIik7DQorICBkYnVzX2dfbWFpbl9pbnRlZ3JhdGVfc2VydmVyIChz ZXJ2ZXIsIGNvbnRleHQpOw0KIH0NCiANCiAvKioNCkBAIC03MjAsNyArMTExLDggQEAgZGJ1c19n X2Nvbm5lY3Rpb25fb3BlbiAoY29uc3QgZ2NoYXIgICphZGRyZXNzLA0KICAgICB9DQogDQogICAv KiBkb2VzIG5vdGhpbmcgaWYgaXQncyBhbHJlYWR5IGJlZW4gZG9uZSAqLw0KLSAgZGJ1c19jb25u ZWN0aW9uX3NldHVwX3dpdGhfZ19tYWluIChjb25uZWN0aW9uLCBOVUxMKTsNCisgIC8qIEZJWE1F OiB3aGVyZSBzaG91bGQgdGhlIGNvcnJlc3BvbmRpbmcgdW5pbnRlZ3JhdGUgYmUgY2FsbGVkPyAq Lw0KKyAgZGJ1c19nX21haW5faW50ZWdyYXRlX2Nvbm5lY3Rpb24gKGNvbm5lY3Rpb24sIE5VTEwp Ow0KIA0KICAgcmV0dXJuIERCVVNfR19DT05ORUNUSU9OX0ZST01fQ09OTkVDVElPTiAoY29ubmVj dGlvbik7DQogfQ0KQEAgLTc2MCw3ICsxNTIsOCBAQCBkYnVzX2dfYnVzX2dldCAoREJ1c0J1c1R5 cGUgICAgIHR5cGUsDQogICAgIH0NCiANCiAgIC8qIGRvZXMgbm90aGluZyBpZiBpdCdzIGFscmVh ZHkgYmVlbiBkb25lICovDQotICBkYnVzX2Nvbm5lY3Rpb25fc2V0dXBfd2l0aF9nX21haW4gKGNv bm5lY3Rpb24sIE5VTEwpOw0KKyAgLyogRklYTUU6IHdoZXJlIHNob3VsZCB0aGUgY29ycmVzcG9u ZGluZyB1bmludGVncmF0ZSBiZSBjYWxsZWQ/ICovDQorICBkYnVzX2dfbWFpbl9pbnRlZ3JhdGVf Y29ubmVjdGlvbiAoY29ubmVjdGlvbiwgTlVMTCk7DQogDQogICByZXR1cm4gREJVU19HX0NPTk5F Q1RJT05fRlJPTV9DT05ORUNUSU9OIChjb25uZWN0aW9uKTsNCiB9DQo= --=-d8LPN6057MYdQYyGVILV Content-Disposition: attachment; filename=dbus-glib-main.diff Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name=dbus-glib-main.diff; charset=utf-8 ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZw0KaW5kZXggMGRjNDBkOC4uNGZlZjYw MyAxMDA2NDQNCi0tLSBhL0NoYW5nZUxvZw0KKysrIGIvQ2hhbmdlTG9nDQpAQCAtMSwzICsxLDEw IEBADQorMjAwNy0xMS0wMiAgU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9z Lm9yZz4NCisNCisJKiBjb25maWd1cmUuaW4sIGRidXMtZ2xpYi1tYWluLTEucGMuaW4sIA0KKwln bGliL2RidXMtZ2xpYi1tYWluLmMsIGdsaWIvZGJ1cy1nbGliLW1haW4uaCwgDQorCWdsaWIvTWFr ZWZpbGUuYW0sIE1ha2VmaWxlLmFtOiBBZGQgYSBHTGliIG1haW5sb29wIGludGVncmF0aW9uDQor CWxpYnJhcnkgYmFzZWQgb24gdGhlIG9uZSBmcm9tIGRidXMtZ2xpYi4NCisNCiAyMDA3LTEwLTMx ICBIYXZvYyBQZW5uaW5ndG9uICA8aHBAcmVkaGF0LmNvbT4NCiANCiAJKiBidXMvc2VsaW51eC5j IChsb2dfYXVkaXRfY2FsbGJhY2spOiByZXdyaXRlIHRvIHVzZQ0KZGlmZiAtLWdpdCBhL01ha2Vm aWxlLmFtIGIvTWFrZWZpbGUuYW0NCmluZGV4IGYxMTAxZWQuLjg3NGMyODIgMTAwNjQ0DQotLS0g YS9NYWtlZmlsZS5hbQ0KKysrIGIvTWFrZWZpbGUuYW0NCkBAIC0xLDE1ICsxLDI1IEBADQogU1VC RElSUz1kYnVzIGJ1cyBkb2MgdG9vbHMgdGVzdA0KLURJU1RfU1VCRElSUz1kYnVzIGJ1cyBkb2Mg dG9vbHMgdGVzdA0KK0RJU1RfU1VCRElSUz1kYnVzIGdsaWIgYnVzIGRvYyB0b29scyB0ZXN0DQog DQogcGtnY29uZmlnZGlyID0gJChsaWJkaXIpL3BrZ2NvbmZpZw0KLXBrZ2NvbmZpZ19EQVRBID0g ZGJ1cy0xLnBjIA0KKw0KK2lmIEhBVkVfR0xJQg0KK0dMSUJfUENfRklMRVMgPSBkYnVzLWdsaWIt bWFpbi0xLnBjDQorU1VCRElSUyArPSBnbGliDQorZWxzZQ0KK0dMSUJfUENfRklMRVMgPSANCitl bmRpZg0KKw0KK3BrZ2NvbmZpZ19EQVRBID0gZGJ1cy0xLnBjICQoR0xJQl9QQ19GSUxFUykNCiAN CiBESVNUQ0xFQU5GSUxFUyA9IAkJXA0KLQlkYnVzLTEucGMNCisJZGJ1cy0xLnBjIFwNCisJZGJ1 cy1nbGliLW1haW4tMS5wYw0KIA0KIEVYVFJBX0RJU1QgPQkJCVwNCiAJSEFDS0lORwkJCVwNCiAJ ZGJ1cy0xLnBjLmluCQlcDQorCWRidXMtZ2xpYi1tYWluLTEucGMuaW4JXA0KIAljbGVhbnVwLW1h bi1wYWdlcy5zaA0KIA0KIGFsbC1sb2NhbDogRG94eWZpbGUNCmRpZmYgLS1naXQgYS9jb25maWd1 cmUuaW4gYi9jb25maWd1cmUuaW4NCmluZGV4IGZjY2IxMzcuLjMzNmI4YWEgMTAwNjQ0DQotLS0g YS9jb25maWd1cmUuaW4NCisrKyBiL2NvbmZpZ3VyZS5pbg0KQEAgLTU0LDYgKzU0LDE5IEBAIEFD X1NVQlNUKERCVVNfTUlOT1JfVkVSU0lPTikNCiBBQ19TVUJTVChEQlVTX01JQ1JPX1ZFUlNJT04p DQogQUNfU1VCU1QoREJVU19WRVJTSU9OKQ0KIA0KKyMjIGluY3JlbWVudCBpZiB0aGUgaW50ZXJm YWNlIGhhcyBhZGRpdGlvbnMsIGNoYW5nZXMsIHJlbW92YWxzLg0KK0RCVVNfR19NQUlOX0xUX0NV UlJFTlQ9MA0KKyMjIGluY3JlbWVudCBhbnkgdGltZSB0aGUgc291cmNlIGNoYW5nZXM7IHNldCB0 bw0KKyMjICAwIGlmIHlvdSBpbmNyZW1lbnQgQ1VSUkVOVA0KK0RCVVNfR19NQUlOX0xUX1JFVklT SU9OPTANCisjIyBpbmNyZW1lbnQgaWYgYW55IGludGVyZmFjZXMgaGF2ZSBiZWVuIGFkZGVkOyBz ZXQgdG8gMA0KKyMjIGlmIGFueSBpbnRlcmZhY2VzIGhhdmUgYmVlbiBjaGFuZ2VkIG9yIHJlbW92 ZWQuIHJlbW92YWwgaGFzDQorIyMgcHJlY2VkZW5jZSBvdmVyIGFkZGluZywgc28gc2V0IHRvIDAg aWYgYm90aCBoYXBwZW5lZC4NCitEQlVTX0dfTUFJTl9MVF9BR0U9MA0KK0FDX1NVQlNUKERCVVNf R19NQUlOX0xUX0NVUlJFTlQpDQorQUNfU1VCU1QoREJVU19HX01BSU5fTFRfUkVWSVNJT04pDQor QUNfU1VCU1QoREJVU19HX01BSU5fTFRfQUdFKQ0KKw0KIEFDX1BST0dfQ0MNCiBBTV9QUk9HX0ND X0NfTw0KIEFDX1BST0dfQ1hYDQpAQCAtNzYsNiArODksNyBAQCBBQ19BUkdfRU5BQkxFKGRub3Rp ZnksIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1kbm90aWZ5XSxbYnVpbGQgd2l0aCBkbm90aWZ5 IHN1cA0KIEFDX0FSR19FTkFCTEUoa3F1ZXVlLCBBU19IRUxQX1NUUklORyhbLS1lbmFibGUta3F1 ZXVlXSxbYnVpbGQgd2l0aCBrcXVldWUgc3VwcG9ydF0pLGVuYWJsZV9rcXVldWU9JGVuYWJsZXZh bCxlbmFibGVfa3F1ZXVlPWF1dG8pDQogQUNfQVJHX0VOQUJMRShjb25zb2xlLW93bmVyLWZpbGUs IEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jb25zb2xlLW93bmVyLWZpbGVdLFtlbmFibGUgY29u c29sZSBvd25lciBmaWxlXSksZW5hYmxlX2NvbnNvbGVfb3duZXJfZmlsZT0kZW5hYmxldmFsLGVu YWJsZV9jb25zb2xlX293bmVyX2ZpbGU9YXV0bykNCiBBQ19BUkdfRU5BQkxFKHVzZXJkYi1jYWNo ZSwgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXVzZXJkYi1jYWNoZV0sW2J1aWxkIHdpdGggdXNl cmRiLWNhY2hlIHN1cHBvcnRdKSxlbmFibGVfdXNlcmRiX2NhY2hlPSRlbmFibGV2YWwsZW5hYmxl X3VzZXJkYl9jYWNoZT15ZXMpDQorQUNfQVJHX0VOQUJMRShnbGliLCBBU19IRUxQX1NUUklORyhb LS1lbmFibGUtZ2xpYl0sW2VuYWJsZSBHTGliIG1haW4gbG9vcCBpbnRlZ3JhdGlvbiBsaWJyYXJ5 XSksZW5hYmxlX2dsaWI9JGVuYWJsZXZhbCxlbmFibGVfZ2xpYj1hdXRvKQ0KIA0KIEFDX0FSR19X SVRIKHhtbCwgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC14bWw9W2xpYnhtbC9leHBhdF1dLFtYTUwg bGlicmFyeSB0byB1c2VdKSkNCiBBQ19BUkdfV0lUSChpbml0LXNjcmlwdHMsIEFTX0hFTFBfU1RS SU5HKFstLXdpdGgtaW5pdC1zY3JpcHRzPVtyZWRoYXRdXSxbU3R5bGUgb2YgaW5pdCBzY3JpcHRz IHRvIGluc3RhbGxdKSkNCkBAIC0xMDE2LDYgKzEwMzAsMjIgQEAgZmkNCiBBQ19TVUJTVChEQlVT X1hfQ0ZMQUdTKQ0KIEFDX1NVQlNUKERCVVNfWF9MSUJTKQ0KIA0KKyMjIyBjaGVjayBmb3IgZ2xp Yg0KK1BLR19DSEVDS19NT0RVTEVTKEdMSUIsIGdsaWItMi4wID49IDIuNi4wLCBoYXZlX2dsaWI9 eWVzLGhhdmVfZ2xpYj1ubykNCitpZiB0ZXN0IHgkZW5hYmxlX2dsaWIgPSB4eWVzOyB0aGVuDQor CWlmIHRlc3QgeCRoYXZlX2dsaWIgPSB4bm87IHRoZW4NCisJCUFDX01TR19FUlJPUihbR0xpYiBl eHBsaWNpdGx5IHJlcXVpcmVkLCBhbmQgR0xpYiBkZXZlbG9wbWVudCBsaWJyYXJpZXMgbm90IGZv dW5kXSkNCisJZmkNCitmaQ0KKw0KK2lmIHRlc3QgeCRlbmFibGVfZ2xpYiA9IHhubzsgdGhlbg0K KwloYXZlX2dsaWI9bm8NCitmaQ0KKw0KK0FNX0NPTkRJVElPTkFMKEhBVkVfR0xJQiwgdGVzdCB4 JGhhdmVfZ2xpYiA9IHh5ZXMpDQorQUNfU1VCU1QoR0xJQl9DRkxBR1MpDQorQUNfU1VCU1QoR0xJ Ql9MSUJTKQ0KKw0KICMjIyBEb3h5Z2VuIERvY3VtZW50YXRpb24NCiANCiBBQ19QQVRIX1BST0co RE9YWUdFTiwgZG94eWdlbiwgbm8pDQpAQCAtMTI2NywxMiArMTI5NywxNCBAQCBidXMvcmMubWVz c2FnZWJ1cw0KIGJ1cy9kYnVzLWRhZW1vbi4xDQogTWFrZWZpbGUNCiBkYnVzL01ha2VmaWxlDQor Z2xpYi9NYWtlZmlsZQ0KIGJ1cy9NYWtlZmlsZQ0KIHRvb2xzL01ha2VmaWxlDQogdGVzdC9NYWtl ZmlsZQ0KIHRlc3QvbmFtZS10ZXN0L01ha2VmaWxlDQogZG9jL01ha2VmaWxlDQogZGJ1cy0xLnBj DQorZGJ1cy1nbGliLW1haW4tMS5wYw0KIHRlc3QvZGF0YS92YWxpZC1jb25maWctZmlsZXMvZGVi dWctYWxsb3ctYWxsLmNvbmYNCiB0ZXN0L2RhdGEvdmFsaWQtY29uZmlnLWZpbGVzL2RlYnVnLWFs bG93LWFsbC1zaGExLmNvbmYNCiB0ZXN0L2RhdGEvdmFsaWQtY29uZmlnLWZpbGVzLXN5c3RlbS9k ZWJ1Zy1hbGxvdy1hbGwtcGFzcy5jb25mDQpAQCAtMTI5NSw1MiArMTMyNyw1MyBAQCBlY2hvICIN CiAgICAgICAgICAgICAgICAgICAgIEQtQnVzICRWRVJTSU9ODQogICAgICAgICAgICAgICAgICAg PT09PT09PT09PT09PT0NCiANCi0JcHJlZml4OiAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0N Ci0JZXhlY19wcmVmaXg6ICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fQ0KLSAgICAgICAgbGli ZGlyOiAgICAgICAgICAgICAgICAgICAke0VYUEFOREVEX0xJQkRJUn0NCi0gICAgICAgIGxpYmV4 ZWNkaXI6ICAgICAgICAgICAgICAgJHtFWFBBTkRFRF9MSUJFWEVDRElSfQ0KLSAgICAgICAgYmlu ZGlyOiAgICAgICAgICAgICAgICAgICAke0VYUEFOREVEX0JJTkRJUn0NCi0gICAgICAgIHN5c2Nv bmZkaXI6ICAgICAgICAgICAgICAgJHtFWFBBTkRFRF9TWVNDT05GRElSfQ0KLSAgICAgICAgbG9j YWxzdGF0ZWRpcjogICAgICAgICAgICAke0VYUEFOREVEX0xPQ0FMU1RBVEVESVJ9DQotCWRhdGFk aXI6ICAgICAgICAgICAgICAgICAgJHtFWFBBTkRFRF9EQVRBRElSfQ0KLQlzb3VyY2UgY29kZSBs b2NhdGlvbjoJICAke3NyY2Rpcn0NCi0JY29tcGlsZXI6CQkgICR7Q0N9DQotCWNmbGFnczoJCSAg ICAgICAgICAke0NGTEFHU30NCi0JY3BwZmxhZ3M6CQkgICR7Q1BQRkxBR1N9DQotCWN4eGZsYWdz OgkJICAke0NYWEZMQUdTfQ0KLQk2NC1iaXQgaW50OgkJICAke0RCVVNfSU5UNjRfVFlQRX0NCi0J MzItYml0IGludDoJCSAgJHtEQlVTX0lOVDMyX1RZUEV9DQotCTE2LWJpdCBpbnQ6CQkgICR7REJV U19JTlQxNl9UWVBFfQ0KLSAgICAgICAgRG94eWdlbjogICAgICAgICAgICAgICAgICAke0RPWFlH RU59DQotICAgICAgICB4bWx0bzogICAgICAgICAgICAgICAgICAgICR7WE1MVE99Ig0KKwlwcmVm aXg6ICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9DQorCWV4ZWNfcHJlZml4OiAgICAgICAg ICAgICAgICAke2V4ZWNfcHJlZml4fQ0KKyAgICAgICAgbGliZGlyOiAgICAgICAgICAgICAgICAg ICAgICR7RVhQQU5ERURfTElCRElSfQ0KKyAgICAgICAgbGliZXhlY2RpcjogICAgICAgICAgICAg ICAgICR7RVhQQU5ERURfTElCRVhFQ0RJUn0NCisgICAgICAgIGJpbmRpcjogICAgICAgICAgICAg ICAgICAgICAke0VYUEFOREVEX0JJTkRJUn0NCisgICAgICAgIHN5c2NvbmZkaXI6ICAgICAgICAg ICAgICAgICAke0VYUEFOREVEX1NZU0NPTkZESVJ9DQorICAgICAgICBsb2NhbHN0YXRlZGlyOiAg ICAgICAgICAgICAgJHtFWFBBTkRFRF9MT0NBTFNUQVRFRElSfQ0KKwlkYXRhZGlyOiAgICAgICAg ICAgICAgICAgICAgJHtFWFBBTkRFRF9EQVRBRElSfQ0KKwlzb3VyY2UgY29kZSBsb2NhdGlvbjoJ ICAgICR7c3JjZGlyfQ0KKwljb21waWxlcjoJCSAgICAke0NDfQ0KKwljZmxhZ3M6CQkgICAgICAg ICAgICAke0NGTEFHU30NCisJY3BwZmxhZ3M6CQkgICAgJHtDUFBGTEFHU30NCisJY3h4ZmxhZ3M6 CQkgICAgJHtDWFhGTEFHU30NCisJNjQtYml0IGludDoJCSAgICAke0RCVVNfSU5UNjRfVFlQRX0N CisJMzItYml0IGludDoJCSAgICAke0RCVVNfSU5UMzJfVFlQRX0NCisJMTYtYml0IGludDoJCSAg ICAke0RCVVNfSU5UMTZfVFlQRX0NCisgICAgICAgIERveHlnZW46ICAgICAgICAgICAgICAgICAg ICAke0RPWFlHRU59DQorICAgICAgICB4bWx0bzogICAgICAgICAgICAgICAgICAgICAgJHtYTUxU T30iDQogDQogZWNobyAiDQotICAgICAgICBNYWludGFpbmVyIG1vZGU6ICAgICAgICAgICR7VVNF X01BSU5UQUlORVJfTU9ERX0NCi0gICAgICAgIGdjYyBjb3ZlcmFnZSBwcm9maWxpbmc6ICAgJHtl bmFibGVfZ2Nvdn0NCi0gICAgICAgIEJ1aWxkaW5nIHVuaXQgdGVzdHM6ICAgICAgJHtlbmFibGVf dGVzdHN9DQotICAgICAgICBCdWlsZGluZyB2ZXJib3NlIG1vZGU6ICAgICR7ZW5hYmxlX3ZlcmJv c2VfbW9kZX0NCi0gICAgICAgIEJ1aWxkaW5nIGFzc2VydGlvbnM6ICAgICAgJHtlbmFibGVfYXNz ZXJ0c30NCi0gICAgICAgIEJ1aWxkaW5nIGNoZWNrczogICAgICAgICAgJHtlbmFibGVfY2hlY2tz fQ0KLSAgICAgICAgQnVpbGRpbmcgU0VMaW51eCBzdXBwb3J0OiAke2hhdmVfc2VsaW51eH0NCi0g ICAgICAgIEJ1aWxkaW5nIGRub3RpZnkgc3VwcG9ydDogJHtoYXZlX2Rub3RpZnl9DQotICAgICAg ICBCdWlsZGluZyBYMTEgY29kZTogICAgICAgICR7ZW5hYmxlX3gxMX0NCi0gICAgICAgIEJ1aWxk aW5nIERveHlnZW4gZG9jczogICAgJHtlbmFibGVfZG94eWdlbl9kb2NzfQ0KLSAgICAgICAgQnVp bGRpbmcgWE1MIGRvY3M6ICAgICAgICAke2VuYWJsZV94bWxfZG9jc30NCi0gICAgICAgIEJ1aWxk aW5nIGNhY2hlIHN1cHBvcnQ6ICAgJHtlbmFibGVfdXNlcmRiX2NhY2hlfQ0KLSAgICAgICAgR2V0 dGV4dCBsaWJzIChlbXB0eSBPSyk6ICAke0lOVExMSUJTfQ0KLSAgICAgICAgVXNpbmcgWE1MIHBh cnNlcjogICAgICAgICAke3dpdGhfeG1sfQ0KLSAgICAgICAgSW5pdCBzY3JpcHRzIHN0eWxlOiAg ICAgICAke3dpdGhfaW5pdF9zY3JpcHRzfQ0KLSAgICAgICAgQWJzdHJhY3Qgc29ja2V0IG5hbWVz OiAgICAke2FjX2N2X2hhdmVfYWJzdHJhY3Rfc29ja2V0c30NCi0gICAgICAgIFN5c3RlbSBidXMg c29ja2V0OiAgICAgICAgJHtEQlVTX1NZU1RFTV9TT0NLRVR9DQotICAgICAgICBTeXN0ZW0gYnVz IGFkZHJlc3M6ICAgICAgICR7REJVU19TWVNURU1fQlVTX0RFRkFVTFRfQUREUkVTU30NCi0gICAg ICAgIFN5c3RlbSBidXMgUElEIGZpbGU6ICAgICAgJHtEQlVTX1NZU1RFTV9QSURfRklMRX0NCi0g ICAgICAgIFNlc3Npb24gYnVzIHNvY2tldCBkaXI6ICAgJHtEQlVTX1NFU1NJT05fU09DS0VUX0RJ Un0NCi0gICAgICAgIENvbnNvbGUgYXV0aCBkaXI6ICAgICAgICAgJHtEQlVTX0NPTlNPTEVfQVVU SF9ESVJ9DQotICAgICAgICBDb25zb2xlIG93bmVyIGZpbGU6ICAgICAgICR7aGF2ZV9jb25zb2xl X293bmVyX2ZpbGV9DQotICAgICAgICBDb25zb2xlIG93bmVyIGZpbGUgcGF0aDogICR7REJVU19D T05TT0xFX09XTkVSX0ZJTEV9DQotCVN5c3RlbSBidXMgdXNlcjogICAgICAgICAgJHtEQlVTX1VT RVJ9DQotCVNlc3Npb24gYnVzIHNlcnZpY2VzIGRpcjogJHtFWFBBTkRFRF9EQVRBRElSfS9kYnVz LTEvc2VydmljZXMNCi0gICAgICAgICdtYWtlIGNoZWNrJyBzb2NrZXQgZGlyOiAgJHtURVNUX1NP Q0tFVF9ESVJ9DQorICAgICAgICBNYWludGFpbmVyIG1vZGU6ICAgICAgICAgICAgJHtVU0VfTUFJ TlRBSU5FUl9NT0RFfQ0KKyAgICAgICAgZ2NjIGNvdmVyYWdlIHByb2ZpbGluZzogICAgICR7ZW5h YmxlX2djb3Z9DQorICAgICAgICBCdWlsZGluZyB1bml0IHRlc3RzOiAgICAgICAgJHtlbmFibGVf dGVzdHN9DQorICAgICAgICBCdWlsZGluZyB2ZXJib3NlIG1vZGU6ICAgICAgJHtlbmFibGVfdmVy Ym9zZV9tb2RlfQ0KKyAgICAgICAgQnVpbGRpbmcgYXNzZXJ0aW9uczogICAgICAgICR7ZW5hYmxl X2Fzc2VydHN9DQorICAgICAgICBCdWlsZGluZyBjaGVja3M6ICAgICAgICAgICAgJHtlbmFibGVf Y2hlY2tzfQ0KKyAgICAgICAgQnVpbGRpbmcgU0VMaW51eCBzdXBwb3J0OiAgICR7aGF2ZV9zZWxp bnV4fQ0KKyAgICAgICAgQnVpbGRpbmcgZG5vdGlmeSBzdXBwb3J0OiAgICR7aGF2ZV9kbm90aWZ5 fQ0KKyAgICAgICAgQnVpbGRpbmcgWDExIGNvZGU6ICAgICAgICAgICR7ZW5hYmxlX3gxMX0NCisJ QnVpbGRpbmcgR0xpYiBpbnRlZ3JhdGlvbjogICR7aGF2ZV9nbGlifQ0KKyAgICAgICAgQnVpbGRp bmcgRG94eWdlbiBkb2NzOiAgICAgICR7ZW5hYmxlX2RveHlnZW5fZG9jc30NCisgICAgICAgIEJ1 aWxkaW5nIFhNTCBkb2NzOiAgICAgICAgICAke2VuYWJsZV94bWxfZG9jc30NCisgICAgICAgIEJ1 aWxkaW5nIGNhY2hlIHN1cHBvcnQ6ICAgICAke2VuYWJsZV91c2VyZGJfY2FjaGV9DQorICAgICAg ICBHZXR0ZXh0IGxpYnMgKGVtcHR5IE9LKTogICAgJHtJTlRMTElCU30NCisgICAgICAgIFVzaW5n IFhNTCBwYXJzZXI6ICAgICAgICAgICAke3dpdGhfeG1sfQ0KKyAgICAgICAgSW5pdCBzY3JpcHRz IHN0eWxlOiAgICAgICAgICR7d2l0aF9pbml0X3NjcmlwdHN9DQorICAgICAgICBBYnN0cmFjdCBz b2NrZXQgbmFtZXM6ICAgICAgJHthY19jdl9oYXZlX2Fic3RyYWN0X3NvY2tldHN9DQorICAgICAg ICBTeXN0ZW0gYnVzIHNvY2tldDogICAgICAgICAgJHtEQlVTX1NZU1RFTV9TT0NLRVR9DQorICAg ICAgICBTeXN0ZW0gYnVzIGFkZHJlc3M6ICAgICAgICAgJHtEQlVTX1NZU1RFTV9CVVNfREVGQVVM VF9BRERSRVNTfQ0KKyAgICAgICAgU3lzdGVtIGJ1cyBQSUQgZmlsZTogICAgICAgICR7REJVU19T WVNURU1fUElEX0ZJTEV9DQorICAgICAgICBTZXNzaW9uIGJ1cyBzb2NrZXQgZGlyOiAgICAgJHtE QlVTX1NFU1NJT05fU09DS0VUX0RJUn0NCisgICAgICAgIENvbnNvbGUgYXV0aCBkaXI6ICAgICAg ICAgICAke0RCVVNfQ09OU09MRV9BVVRIX0RJUn0NCisgICAgICAgIENvbnNvbGUgb3duZXIgZmls ZTogICAgICAgICAke2hhdmVfY29uc29sZV9vd25lcl9maWxlfQ0KKyAgICAgICAgQ29uc29sZSBv d25lciBmaWxlIHBhdGg6ICAgICR7REJVU19DT05TT0xFX09XTkVSX0ZJTEV9DQorCVN5c3RlbSBi dXMgdXNlcjogICAgICAgICAgICAke0RCVVNfVVNFUn0NCisJU2Vzc2lvbiBidXMgc2VydmljZXMg ZGlyOiAgICR7RVhQQU5ERURfREFUQURJUn0vZGJ1cy0xL3NlcnZpY2VzDQorICAgICAgICAnbWFr ZSBjaGVjaycgc29ja2V0IGRpcjogICAgJHtURVNUX1NPQ0tFVF9ESVJ9DQogIg0KIA0KIGlmIHRl c3QgeCRlbmFibGVfdGVzdHMgPSB4eWVzOyB0aGVuDQpkaWZmIC0tZ2l0IGEvZGJ1cy1nbGliLW1h aW4tMS5wYy5pbiBiL2RidXMtZ2xpYi1tYWluLTEucGMuaW4NCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQppbmRleCAwMDAwMDAwLi4wOWY0NDUzDQotLS0gL2Rldi9udWxsDQorKysgYi9kYnVzLWdsaWIt bWFpbi0xLnBjLmluDQpAQCAtMCwwICsxLDEzIEBADQorcHJlZml4PUBwcmVmaXhADQorZXhlY19w cmVmaXg9QGV4ZWNfcHJlZml4QA0KK2xpYmRpcj1AbGliZGlyQA0KK2luY2x1ZGVkaXI9QGluY2x1 ZGVkaXJADQorDQorTmFtZTogZGJ1cy1nbGliLW1haW4NCitEZXNjcmlwdGlvbjogR0xpYiBtYWlu bG9vcCBpbnRlZ3JhdGlvbiBmb3IgdGhlIGZyZWUgZGVza3RvcCBtZXNzYWdlIGJ1cw0KK1ZlcnNp b246IEBWRVJTSU9OQA0KK1JlcXVpcmVzOiBkYnVzLTEgZ2xpYi0yLjANCitMaWJzOiAtTCR7bGli ZGlyfSAtbGRidXMtZ2xpYi1tYWluLTENCitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfS9kYnVzLTEu MA0KKw0KKw0KZGlmZiAtLWdpdCBhL2dsaWIvTWFrZWZpbGUuYW0gYi9nbGliL01ha2VmaWxlLmFt DQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uMmQ2ZjFlMA0KLS0tIC9kZXYv bnVsbA0KKysrIGIvZ2xpYi9NYWtlZmlsZS5hbQ0KQEAgLTAsMCArMSwyNCBAQA0KK0lOQ0xVREVT ID0gXA0KKwktSSQodG9wX2J1aWxkZGlyKSBcDQorCS1JJCh0b3Bfc3JjZGlyKSBcDQorCSQoREJV U19DTElFTlRfQ0ZMQUdTKSBcDQorCSQoR0xJQl9DRkxBR1MpDQorDQorbGliZGJ1c19nbGliX21h aW5fMV9sYV9TT1VSQ0VTID0gCQlcDQorCWRidXMtZ2xpYi1tYWluLmMJCQlcDQorCWRidXMtZ2xp Yi1tYWluLmgNCisNCitsaWJkYnVzX2dsaWJfbWFpbl9IRUFERVJTID0JCQlcDQorICAgICAgICBk YnVzLWdsaWItbWFpbi5oDQorDQorbGliX0xUTElCUkFSSUVTPWxpYmRidXMtZ2xpYi1tYWluLTEu bGENCisNCitsaWJkYnVzX2dsaWJfbWFpbmRpciA9ICQoaW5jbHVkZWRpcikvZGJ1cy0xLjAvZGJ1 cw0KKw0KK2xpYmRidXNfZ2xpYl9tYWluXzFfbGFfTElCQUREPSBcDQorCSQodG9wX2J1aWxkZGly KS9kYnVzL2xpYmRidXMtMS5sYSBcDQorCSQoR0xJQl9MSUJTKQ0KKw0KKyMgb25seSBleHBvcnQg c3ltYm9scyB0aGF0IHN0YXJ0IHdpdGggZGJ1c19nX21haW4NCitsaWJkYnVzX2dsaWJfbWFpbl8x X2xhX0xERkxBR1M9IC1leHBvcnQtc3ltYm9scy1yZWdleCAiXmRidXNfZ19tYWluLioiIC12ZXJz aW9uLWluZm8gJChEQlVTX0dfTUFJTl9MVF9DVVJSRU5UKTokKERCVVNfR19NQUlOX0xUX1JFVklT SU9OKTokKERCVVNfR19NQUlOX0xUX0FHRSkgLW5vLXVuZGVmaW5lZA0KKw0KZGlmZiAtLWdpdCBh L2dsaWIvZGJ1cy1nbGliLW1haW4uYyBiL2dsaWIvZGJ1cy1nbGliLW1haW4uYw0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLmEwMWNlMWENCi0tLSAvZGV2L251bGwNCisrKyBi L2dsaWIvZGJ1cy1nbGliLW1haW4uYw0KQEAgLTAsMCArMSw3NDIgQEANCisvKiAtKi0gbW9kZTog QzsgYy1maWxlLXN0eWxlOiAiZ251IiAtKi0gKi8NCisvKiBkYnVzLWdsaWItbWFpbi5jIEdMaWIg bWFpbiBjb250ZXh0IGludGVncmF0aW9uDQorICoNCisgKiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIw MDMgQ29kZUZhY3RvcnkgQUINCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUgUmVkIEhhdCwgSW5jLg0K KyAqIENvcHlyaWdodCAoQykgMjAwNyBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1j aGFvcy5vcmc+DQorICoNCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQWNhZGVtaWMgRnJlZSBMaWNl bnNlIHZlcnNpb24gMi4xDQorICogDQorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCisgKiBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0K KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhl IExpY2Vuc2UsIG9yDQorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCisg Kg0KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLA0KKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KKyAqIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQorICogDQorICogWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCisgKiBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0K KyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24s IE1BICAwMjExMS0xMzA3ICBVU0ENCisgKg0KKyAqLw0KKw0KKyNpbmNsdWRlIDxjb25maWcuaD4N CisNCisjaW5jbHVkZSAiZGJ1cy1nbGliLW1haW4uaCINCisjaW5jbHVkZSA8c3RyaW5nLmg+DQor DQorLyoqDQorICogQGRlZmdyb3VwIERCdXNHTGliTWFpbkludGVybmFscyBHTGliIG1haW4gY29u dGV4dCBpbnRlZ3JhdGlvbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzDQorICogQGluZ3JvdXAgIERC dXNJbnRlcm5hbHMNCisgKiBAYnJpZWYgSW1wbGVtZW50YXRpb24gZGV0YWlscyBvZiBHTGliIG1h aW4gY29udGV4dCBpbnRlZ3JhdGlvbg0KKyAqDQorICogQHsNCisgKi8NCisNCisvKioNCisgKiBE QnVzR01lc3NhZ2VRdWV1ZToNCisgKiBBIEdTb3VyY2Ugc3ViY2xhc3MgZm9yIGRpc3BhdGNoaW5n IERCdXNDb25uZWN0aW9uIG1lc3NhZ2VzLg0KKyAqIFdlIG5lZWQgdGhpcyBvbiB0b3Agb2YgdGhl IElPIGhhbmRsZXJzLCBiZWNhdXNlIHNvbWV0aW1lcw0KKyAqIHRoZXJlIGFyZSBtZXNzYWdlcyB0 byBkaXNwYXRjaCBxdWV1ZWQgdXAgYnV0IG5vIElPIHBlbmRpbmcuDQorICovDQordHlwZWRlZiBz dHJ1Y3QNCit7DQorICBHU291cmNlIHNvdXJjZTsgLyoqPCB0aGUgcGFyZW50IEdTb3VyY2UgKi8N CisgIERCdXNDb25uZWN0aW9uICpjb25uZWN0aW9uOyAvKio8IHRoZSBjb25uZWN0aW9uIHRvIGRp c3BhdGNoICovDQorfSBEQnVzR01lc3NhZ2VRdWV1ZTsNCisNCitzdGF0aWMgZ2Jvb2xlYW4gbWVz c2FnZV9xdWV1ZV9wcmVwYXJlICAoR1NvdXJjZSAgICAgKnNvdXJjZSwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCAgICAgICAgKnRpbWVvdXQpOw0KK3N0YXRp YyBnYm9vbGVhbiBtZXNzYWdlX3F1ZXVlX2NoZWNrICAgIChHU291cmNlICAgICAqc291cmNlKTsN CitzdGF0aWMgZ2Jvb2xlYW4gbWVzc2FnZV9xdWV1ZV9kaXNwYXRjaCAoR1NvdXJjZSAgICAgKnNv dXJjZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NvdXJjZUZ1 bmMgIGNhbGxiYWNrLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn cG9pbnRlciAgICAgdXNlcl9kYXRhKTsNCisNCitzdGF0aWMgY29uc3QgR1NvdXJjZUZ1bmNzIG1l c3NhZ2VfcXVldWVfZnVuY3MgPSB7DQorICBtZXNzYWdlX3F1ZXVlX3ByZXBhcmUsDQorICBtZXNz YWdlX3F1ZXVlX2NoZWNrLA0KKyAgbWVzc2FnZV9xdWV1ZV9kaXNwYXRjaCwNCisgIE5VTEwNCit9 Ow0KKw0KK3N0YXRpYyBnYm9vbGVhbg0KK21lc3NhZ2VfcXVldWVfcHJlcGFyZSAoR1NvdXJjZSAq c291cmNlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgZ2ludCAgICAqdGltZW91dCkNCit7DQor ICBEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlvbiA9ICgoREJ1c0dNZXNzYWdlUXVldWUgKilzb3Vy Y2UpLT5jb25uZWN0aW9uOw0KKyAgDQorICAqdGltZW91dCA9IC0xOw0KKw0KKyAgcmV0dXJuIChk YnVzX2Nvbm5lY3Rpb25fZ2V0X2Rpc3BhdGNoX3N0YXR1cyAoY29ubmVjdGlvbikgPT0gREJVU19E SVNQQVRDSF9EQVRBX1JFTUFJTlMpOyAgDQorfQ0KKw0KK3N0YXRpYyBnYm9vbGVhbg0KK21lc3Nh Z2VfcXVldWVfY2hlY2sgKEdTb3VyY2UgKnNvdXJjZSkNCit7DQorICByZXR1cm4gRkFMU0U7DQor fQ0KKw0KK3N0YXRpYyBnYm9vbGVhbg0KK21lc3NhZ2VfcXVldWVfZGlzcGF0Y2ggKEdTb3VyY2Ug ICAgICpzb3VyY2UsDQorICAgICAgICAgICAgICAgICAgICAgICAgR1NvdXJjZUZ1bmMgIGNhbGxi YWNrLA0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdwb2ludGVyICAgICB1c2VyX2RhdGEpDQor ew0KKyAgREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb24gPSAoKERCdXNHTWVzc2FnZVF1ZXVlICop c291cmNlKS0+Y29ubmVjdGlvbjsNCisNCisgIGRidXNfY29ubmVjdGlvbl9yZWYgKGNvbm5lY3Rp b24pOw0KKw0KKyAgLyogT25seSBkaXNwYXRjaCBvbmNlIC0gd2UgZG9uJ3Qgd2FudCB0byBzdGFy dmUgb3RoZXIgR1NvdXJjZSAqLw0KKyAgZGJ1c19jb25uZWN0aW9uX2Rpc3BhdGNoIChjb25uZWN0 aW9uKTsNCisgIA0KKyAgZGJ1c19jb25uZWN0aW9uX3VucmVmIChjb25uZWN0aW9uKTsNCisNCisg IHJldHVybiBUUlVFOw0KK30NCisNCit0eXBlZGVmIHN0cnVjdA0KK3sNCisgIEdNYWluQ29udGV4 dCAqY29udGV4dDsgICAgICAvKio8IHRoZSBtYWluIGNvbnRleHQgKi8NCisgIEdTTGlzdCAqaW9z OyAgICAgICAgICAgICAgICAvKio8IGFsbCBJT0hhbmRsZXIgKi8NCisgIEdTTGlzdCAqdGltZW91 dHM7ICAgICAgICAgICAvKio8IGFsbCBUaW1lb3V0SGFuZGxlciAqLw0KKyAgREJ1c0Nvbm5lY3Rp b24gKmNvbm5lY3Rpb247IC8qKjwgTlVMTCBpZiB0aGlzIGlzIHJlYWxseSBmb3IgYSBzZXJ2ZXIg bm90IGEgY29ubmVjdGlvbiAqLw0KKyAgREJ1c1NlcnZlciAqc2VydmVyOyAgICAgICAgIC8qKjwg TlVMTCBpZiB0aGlzIGlzIHJlYWxseSBmb3IgYSBjb25uZWN0aW9uIG5vdCBhIHNlcnZlciAqLw0K KyAgR1NvdXJjZSAqbWVzc2FnZV9xdWV1ZV9zb3VyY2U7IC8qKjwgREJ1c0dNZXNzYWdlUXVldWUg Ki8NCisgIGludCBjb3VudDsNCit9IENvbm5lY3Rpb25TZXR1cDsNCisNCisNCit0eXBlZGVmIHN0 cnVjdA0KK3sNCisgIENvbm5lY3Rpb25TZXR1cCAqY3M7DQorICBHU291cmNlICpzb3VyY2U7DQor ICBEQnVzV2F0Y2ggKndhdGNoOw0KK30gSU9IYW5kbGVyOw0KKw0KK3R5cGVkZWYgc3RydWN0DQor ew0KKyAgQ29ubmVjdGlvblNldHVwICpjczsNCisgIEdTb3VyY2UgKnNvdXJjZTsNCisgIERCdXNU aW1lb3V0ICp0aW1lb3V0Ow0KK30gVGltZW91dEhhbmRsZXI7DQorDQorc3RhdGljIGRidXNfaW50 MzJfdCBjb25uZWN0aW9uX3Nsb3QgPSAtMTsNCitzdGF0aWMgZGJ1c19pbnQzMl90IHNlcnZlcl9z bG90ID0gLTE7DQorDQorc3RhdGljIENvbm5lY3Rpb25TZXR1cCoNCitjb25uZWN0aW9uX3NldHVw X25ldyAoR01haW5Db250ZXh0ICAgKmNvbnRleHQsDQorICAgICAgICAgICAgICAgICAgICAgIERC dXNDb25uZWN0aW9uICpjb25uZWN0aW9uLA0KKwkJICAgICAgREJ1c1NlcnZlciAgICAgKnNlcnZl cikNCit7DQorICBDb25uZWN0aW9uU2V0dXAgKmNzOw0KKw0KKyAgY3MgPSBnX25ldzAgKENvbm5l Y3Rpb25TZXR1cCwgMSk7DQorDQorICBnX2Fzc2VydCAoY29udGV4dCAhPSBOVUxMKTsNCisgIA0K KyAgY3MtPmNvbnRleHQgPSBjb250ZXh0Ow0KKyAgY3MtPmNvdW50ID0gMTsNCisNCisgIGlmIChj b25uZWN0aW9uKQ0KKyAgICB7DQorICAgICAgY3MtPmNvbm5lY3Rpb24gPSBjb25uZWN0aW9uOw0K Kw0KKyAgICAgIGNzLT5tZXNzYWdlX3F1ZXVlX3NvdXJjZSA9IGdfc291cmNlX25ldyAoKEdTb3Vy Y2VGdW5jcyAqKSAmbWVzc2FnZV9xdWV1ZV9mdW5jcywNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAoREJ1c0dNZXNzYWdlUXVldWUpKTsNCisg ICAgICAoKERCdXNHTWVzc2FnZVF1ZXVlKiljcy0+bWVzc2FnZV9xdWV1ZV9zb3VyY2UpLT5jb25u ZWN0aW9uID0gY29ubmVjdGlvbjsNCisgICAgICBnX3NvdXJjZV9hdHRhY2ggKGNzLT5tZXNzYWdl X3F1ZXVlX3NvdXJjZSwgY3MtPmNvbnRleHQpOw0KKyAgICB9DQorICBlbHNlIGlmIChzZXJ2ZXIp DQorICAgIHsNCisgICAgICBjcy0+c2VydmVyID0gc2VydmVyOw0KKyAgICB9DQorICANCisgIHJl dHVybiBjczsNCit9DQorDQorc3RhdGljIHZvaWQNCitpb19oYW5kbGVyX3NvdXJjZV9maW5hbGl6 ZWQgKGdwb2ludGVyIGRhdGEpDQorew0KKyAgSU9IYW5kbGVyICpoYW5kbGVyOw0KKw0KKyAgaGFu ZGxlciA9IGRhdGE7DQorDQorICBpZiAoaGFuZGxlci0+Y3MtPmNvbm5lY3Rpb24pDQorICAgIGRi dXNfY29ubmVjdGlvbl91bnJlZiAoaGFuZGxlci0+Y3MtPmNvbm5lY3Rpb24pOw0KKw0KKyAgaWYg KGhhbmRsZXItPmNzLT5zZXJ2ZXIpDQorICAgIGRidXNfc2VydmVyX3VucmVmIChoYW5kbGVyLT5j cy0+c2VydmVyKTsNCisNCisgIGlmIChoYW5kbGVyLT53YXRjaCkNCisgICAgZGJ1c193YXRjaF9z ZXRfZGF0YSAoaGFuZGxlci0+d2F0Y2gsIE5VTEwsIE5VTEwpOw0KKyAgDQorICBnX2ZyZWUgKGhh bmRsZXIpOw0KK30NCisNCitzdGF0aWMgdm9pZA0KK2lvX2hhbmRsZXJfZGVzdHJveV9zb3VyY2Ug KHZvaWQgKmRhdGEpDQorew0KKyAgSU9IYW5kbGVyICpoYW5kbGVyOw0KKw0KKyAgaGFuZGxlciA9 IGRhdGE7DQorDQorICBpZiAoaGFuZGxlci0+c291cmNlKQ0KKyAgICB7DQorICAgICAgR1NvdXJj ZSAqc291cmNlID0gaGFuZGxlci0+c291cmNlOw0KKyAgICAgIGhhbmRsZXItPnNvdXJjZSA9IE5V TEw7DQorICAgICAgaGFuZGxlci0+Y3MtPmlvcyA9IGdfc2xpc3RfcmVtb3ZlIChoYW5kbGVyLT5j cy0+aW9zLCBoYW5kbGVyKTsNCisgICAgICBnX3NvdXJjZV9kZXN0cm95IChzb3VyY2UpOw0KKyAg ICAgIGdfc291cmNlX3VucmVmIChzb3VyY2UpOw0KKyAgICB9DQorfQ0KKw0KK3N0YXRpYyB2b2lk DQoraW9faGFuZGxlcl93YXRjaF9mcmVlZCAodm9pZCAqZGF0YSkNCit7DQorICBJT0hhbmRsZXIg KmhhbmRsZXI7DQorDQorICBoYW5kbGVyID0gZGF0YTsNCisNCisgIGhhbmRsZXItPndhdGNoID0g TlVMTDsNCisNCisgIGlvX2hhbmRsZXJfZGVzdHJveV9zb3VyY2UgKGhhbmRsZXIpOw0KK30NCisN CitzdGF0aWMgZ2Jvb2xlYW4NCitpb19oYW5kbGVyX2Rpc3BhdGNoIChHSU9DaGFubmVsICAgKnNv dXJjZSwNCisgICAgICAgICAgICAgICAgICAgICBHSU9Db25kaXRpb24gIGNvbmRpdGlvbiwNCisg ICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAgICAgIGRhdGEpDQorew0KKyAgSU9IYW5kbGVy ICpoYW5kbGVyOw0KKyAgZ3VpbnQgZGJ1c19jb25kaXRpb24gPSAwOw0KKyAgREJ1c0Nvbm5lY3Rp b24gKmNvbm5lY3Rpb247DQorICBEQnVzU2VydmVyICpzZXJ2ZXI7DQorDQorICBoYW5kbGVyID0g ZGF0YTsNCisNCisgIGNvbm5lY3Rpb24gPSBoYW5kbGVyLT5jcy0+Y29ubmVjdGlvbjsNCisgIHNl cnZlciA9IGhhbmRsZXItPmNzLT5zZXJ2ZXI7DQorICANCisgIGlmIChjb25uZWN0aW9uKQ0KKyAg ICBkYnVzX2Nvbm5lY3Rpb25fcmVmIChjb25uZWN0aW9uKTsNCisNCisgIGlmIChoYW5kbGVyLT5j cy0+c2VydmVyKQ0KKyAgICBkYnVzX3NlcnZlcl9yZWYgKGhhbmRsZXItPmNzLT5zZXJ2ZXIpOw0K KyAgDQorICBpZiAoY29uZGl0aW9uICYgR19JT19JTikNCisgICAgZGJ1c19jb25kaXRpb24gfD0g REJVU19XQVRDSF9SRUFEQUJMRTsNCisgIGlmIChjb25kaXRpb24gJiBHX0lPX09VVCkNCisgICAg ZGJ1c19jb25kaXRpb24gfD0gREJVU19XQVRDSF9XUklUQUJMRTsNCisgIGlmIChjb25kaXRpb24g JiBHX0lPX0VSUikNCisgICAgZGJ1c19jb25kaXRpb24gfD0gREJVU19XQVRDSF9FUlJPUjsNCisg IGlmIChjb25kaXRpb24gJiBHX0lPX0hVUCkNCisgICAgZGJ1c19jb25kaXRpb24gfD0gREJVU19X QVRDSF9IQU5HVVA7DQorDQorICAvKiBOb3RlIHRoYXQgd2UgZG9uJ3QgdG91Y2ggdGhlIGhhbmRs ZXIgYWZ0ZXIgdGhpcywgYmVjYXVzZQ0KKyAgICogZGJ1cyBtYXkgaGF2ZSBkaXNhYmxlZCB0aGUg d2F0Y2ggYW5kIHRodXMga2lsbGVkIHRoZQ0KKyAgICogaGFuZGxlci4NCisgICAqLw0KKyAgZGJ1 c193YXRjaF9oYW5kbGUgKGhhbmRsZXItPndhdGNoLCBkYnVzX2NvbmRpdGlvbik7DQorICBoYW5k bGVyID0gTlVMTDsNCisNCisgIGlmIChjb25uZWN0aW9uKQ0KKyAgICBkYnVzX2Nvbm5lY3Rpb25f dW5yZWYgKGNvbm5lY3Rpb24pOw0KKw0KKyAgaWYgKHNlcnZlcikNCisgICAgZGJ1c19zZXJ2ZXJf dW5yZWYgKHNlcnZlcik7DQorICANCisgIHJldHVybiBUUlVFOw0KK30NCisNCitzdGF0aWMgdm9p ZA0KK2Nvbm5lY3Rpb25fc2V0dXBfYWRkX3dhdGNoIChDb25uZWN0aW9uU2V0dXAgKmNzLA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBEQnVzV2F0Y2ggICAgICAgKndhdGNoKQ0KK3sNCisg IGd1aW50IGZsYWdzOw0KKyAgR0lPQ29uZGl0aW9uIGNvbmRpdGlvbjsNCisgIEdJT0NoYW5uZWwg KmNoYW5uZWw7DQorICBJT0hhbmRsZXIgKmhhbmRsZXI7DQorICANCisgIGlmICghZGJ1c193YXRj aF9nZXRfZW5hYmxlZCAod2F0Y2gpKQ0KKyAgICByZXR1cm47DQorICANCisgIGdfYXNzZXJ0IChk YnVzX3dhdGNoX2dldF9kYXRhICh3YXRjaCkgPT0gTlVMTCk7DQorICANCisgIGZsYWdzID0gZGJ1 c193YXRjaF9nZXRfZmxhZ3MgKHdhdGNoKTsNCisNCisgIGNvbmRpdGlvbiA9IEdfSU9fRVJSIHwg R19JT19IVVA7DQorICBpZiAoZmxhZ3MgJiBEQlVTX1dBVENIX1JFQURBQkxFKQ0KKyAgICBjb25k aXRpb24gfD0gR19JT19JTjsNCisgIGlmIChmbGFncyAmIERCVVNfV0FUQ0hfV1JJVEFCTEUpDQor ICAgIGNvbmRpdGlvbiB8PSBHX0lPX09VVDsNCisNCisgIGhhbmRsZXIgPSBnX25ldzAgKElPSGFu ZGxlciwgMSk7DQorICBoYW5kbGVyLT5jcyA9IGNzOw0KKyAgaGFuZGxlci0+d2F0Y2ggPSB3YXRj aDsNCisNCisgIGlmIChjcy0+Y29ubmVjdGlvbikNCisgICAgZGJ1c19jb25uZWN0aW9uX3JlZiAo Y3MtPmNvbm5lY3Rpb24pOw0KKw0KKyAgaWYgKGNzLT5zZXJ2ZXIpDQorICAgIGRidXNfc2VydmVy X3JlZiAoY3MtPnNlcnZlcik7DQorICANCisgIGNoYW5uZWwgPSBnX2lvX2NoYW5uZWxfdW5peF9u ZXcgKGRidXNfd2F0Y2hfZ2V0X3VuaXhfZmQgKHdhdGNoKSk7DQorICANCisgIGhhbmRsZXItPnNv dXJjZSA9IGdfaW9fY3JlYXRlX3dhdGNoIChjaGFubmVsLCBjb25kaXRpb24pOw0KKyAgZ19zb3Vy Y2Vfc2V0X2NhbGxiYWNrIChoYW5kbGVyLT5zb3VyY2UsIChHU291cmNlRnVuYykgaW9faGFuZGxl cl9kaXNwYXRjaCwgaGFuZGxlciwNCisgICAgICAgICAgICAgICAgICAgICAgICAgaW9faGFuZGxl cl9zb3VyY2VfZmluYWxpemVkKTsNCisgIGdfc291cmNlX2F0dGFjaCAoaGFuZGxlci0+c291cmNl LCBjcy0+Y29udGV4dCk7DQorDQorICBjcy0+aW9zID0gZ19zbGlzdF9wcmVwZW5kIChjcy0+aW9z LCBoYW5kbGVyKTsNCisgIA0KKyAgZGJ1c193YXRjaF9zZXRfZGF0YSAod2F0Y2gsIGhhbmRsZXIs IGlvX2hhbmRsZXJfd2F0Y2hfZnJlZWQpOw0KKyAgZ19pb19jaGFubmVsX3VucmVmIChjaGFubmVs KTsNCit9DQorDQorc3RhdGljIHZvaWQNCitjb25uZWN0aW9uX3NldHVwX3JlbW92ZV93YXRjaCAo Q29ubmVjdGlvblNldHVwICpjcywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREJ1 c1dhdGNoICAgICAgICp3YXRjaCkNCit7DQorICBJT0hhbmRsZXIgKmhhbmRsZXI7DQorDQorICBo YW5kbGVyID0gZGJ1c193YXRjaF9nZXRfZGF0YSAod2F0Y2gpOw0KKw0KKyAgaWYgKGhhbmRsZXIg PT0gTlVMTCkNCisgICAgcmV0dXJuOw0KKyAgDQorICBpb19oYW5kbGVyX2Rlc3Ryb3lfc291cmNl IChoYW5kbGVyKTsNCit9DQorDQorc3RhdGljIHZvaWQNCit0aW1lb3V0X2hhbmRsZXJfc291cmNl X2ZpbmFsaXplZCAoZ3BvaW50ZXIgZGF0YSkNCit7DQorICBUaW1lb3V0SGFuZGxlciAqaGFuZGxl cjsNCisNCisgIGhhbmRsZXIgPSBkYXRhOw0KKw0KKyAgaWYgKGhhbmRsZXItPmNzLT5jb25uZWN0 aW9uKQ0KKyAgICBkYnVzX2Nvbm5lY3Rpb25fdW5yZWYgKGhhbmRsZXItPmNzLT5jb25uZWN0aW9u KTsNCisgIGlmIChoYW5kbGVyLT5jcy0+c2VydmVyKQ0KKyAgICBkYnVzX3NlcnZlcl91bnJlZiAo aGFuZGxlci0+Y3MtPnNlcnZlcik7DQorDQorICBpZiAoaGFuZGxlci0+dGltZW91dCkNCisgICAg ZGJ1c190aW1lb3V0X3NldF9kYXRhIChoYW5kbGVyLT50aW1lb3V0LCBOVUxMLCBOVUxMKTsNCisg IA0KKyAgZ19mcmVlIChoYW5kbGVyKTsNCit9DQorDQorc3RhdGljIHZvaWQNCit0aW1lb3V0X2hh bmRsZXJfZGVzdHJveV9zb3VyY2UgKHZvaWQgKmRhdGEpDQorew0KKyAgVGltZW91dEhhbmRsZXIg KmhhbmRsZXI7DQorDQorICBoYW5kbGVyID0gZGF0YTsNCisNCisgIGlmIChoYW5kbGVyLT5zb3Vy Y2UpDQorICAgIHsNCisgICAgICBHU291cmNlICpzb3VyY2UgPSBoYW5kbGVyLT5zb3VyY2U7DQor ICAgICAgaGFuZGxlci0+c291cmNlID0gTlVMTDsNCisgICAgICBoYW5kbGVyLT5jcy0+dGltZW91 dHMgPSBnX3NsaXN0X3JlbW92ZSAoaGFuZGxlci0+Y3MtPnRpbWVvdXRzLCBoYW5kbGVyKTsNCisg ICAgICBnX3NvdXJjZV9kZXN0cm95IChzb3VyY2UpOw0KKyAgICAgIGdfc291cmNlX3VucmVmIChz b3VyY2UpOw0KKyAgICB9DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQordGltZW91dF9oYW5kbGVyX3Rp bWVvdXRfZnJlZWQgKHZvaWQgKmRhdGEpDQorew0KKyAgVGltZW91dEhhbmRsZXIgKmhhbmRsZXI7 DQorDQorICBoYW5kbGVyID0gZGF0YTsNCisNCisgIGhhbmRsZXItPnRpbWVvdXQgPSBOVUxMOw0K Kw0KKyAgdGltZW91dF9oYW5kbGVyX2Rlc3Ryb3lfc291cmNlIChoYW5kbGVyKTsNCit9DQorDQor c3RhdGljIGdib29sZWFuDQordGltZW91dF9oYW5kbGVyX2Rpc3BhdGNoIChncG9pbnRlciAgICAg IGRhdGEpDQorew0KKyAgVGltZW91dEhhbmRsZXIgKmhhbmRsZXI7DQorDQorICBoYW5kbGVyID0g ZGF0YTsNCisNCisgIGRidXNfdGltZW91dF9oYW5kbGUgKGhhbmRsZXItPnRpbWVvdXQpOw0KKyAg DQorICByZXR1cm4gVFJVRTsNCit9DQorDQorc3RhdGljIHZvaWQNCitjb25uZWN0aW9uX3NldHVw X2FkZF90aW1lb3V0IChDb25uZWN0aW9uU2V0dXAgKmNzLA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIERCdXNUaW1lb3V0ICAgICAqdGltZW91dCkNCit7DQorICBUaW1lb3V0SGFuZGxl ciAqaGFuZGxlcjsNCisgIA0KKyAgaWYgKCFkYnVzX3RpbWVvdXRfZ2V0X2VuYWJsZWQgKHRpbWVv dXQpKQ0KKyAgICByZXR1cm47DQorICANCisgIGdfYXNzZXJ0IChkYnVzX3RpbWVvdXRfZ2V0X2Rh dGEgKHRpbWVvdXQpID09IE5VTEwpOw0KKw0KKyAgaGFuZGxlciA9IGdfbmV3MCAoVGltZW91dEhh bmRsZXIsIDEpOw0KKyAgaGFuZGxlci0+Y3MgPSBjczsNCisgIGhhbmRsZXItPnRpbWVvdXQgPSB0 aW1lb3V0Ow0KKw0KKyAgaWYgKGNzLT5jb25uZWN0aW9uKQ0KKyAgICBkYnVzX2Nvbm5lY3Rpb25f cmVmIChjcy0+Y29ubmVjdGlvbik7DQorICBpZiAoY3MtPnNlcnZlcikNCisgICAgZGJ1c19zZXJ2 ZXJfcmVmIChjcy0+c2VydmVyKTsNCisNCisgIGhhbmRsZXItPnNvdXJjZSA9IGdfdGltZW91dF9z b3VyY2VfbmV3IChkYnVzX3RpbWVvdXRfZ2V0X2ludGVydmFsICh0aW1lb3V0KSk7DQorICBnX3Nv dXJjZV9zZXRfY2FsbGJhY2sgKGhhbmRsZXItPnNvdXJjZSwgdGltZW91dF9oYW5kbGVyX2Rpc3Bh dGNoLCBoYW5kbGVyLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0X2hhbmRsZXJf c291cmNlX2ZpbmFsaXplZCk7DQorICBnX3NvdXJjZV9hdHRhY2ggKGhhbmRsZXItPnNvdXJjZSwg aGFuZGxlci0+Y3MtPmNvbnRleHQpOw0KKw0KKyAgY3MtPnRpbWVvdXRzID0gZ19zbGlzdF9wcmVw ZW5kIChjcy0+dGltZW91dHMsIGhhbmRsZXIpOw0KKw0KKyAgZGJ1c190aW1lb3V0X3NldF9kYXRh ICh0aW1lb3V0LCBoYW5kbGVyLCB0aW1lb3V0X2hhbmRsZXJfdGltZW91dF9mcmVlZCk7DQorfQ0K Kw0KK3N0YXRpYyB2b2lkDQorY29ubmVjdGlvbl9zZXR1cF9yZW1vdmVfdGltZW91dCAoQ29ubmVj dGlvblNldHVwICpjcywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQnVzVGlt ZW91dCAgICAgICAqdGltZW91dCkNCit7DQorICBUaW1lb3V0SGFuZGxlciAqaGFuZGxlcjsNCisg IA0KKyAgaGFuZGxlciA9IGRidXNfdGltZW91dF9nZXRfZGF0YSAodGltZW91dCk7DQorDQorICBp ZiAoaGFuZGxlciA9PSBOVUxMKQ0KKyAgICByZXR1cm47DQorICANCisgIHRpbWVvdXRfaGFuZGxl cl9kZXN0cm95X3NvdXJjZSAoaGFuZGxlcik7DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQorY29ubmVj dGlvbl9zZXR1cF9mcmVlIChDb25uZWN0aW9uU2V0dXAgKmNzKQ0KK3sNCisgIHdoaWxlIChjcy0+ aW9zKQ0KKyAgICBpb19oYW5kbGVyX2Rlc3Ryb3lfc291cmNlIChjcy0+aW9zLT5kYXRhKTsNCisN CisgIHdoaWxlIChjcy0+dGltZW91dHMpDQorICAgIHRpbWVvdXRfaGFuZGxlcl9kZXN0cm95X3Nv dXJjZSAoY3MtPnRpbWVvdXRzLT5kYXRhKTsNCisNCisgIGlmIChjcy0+bWVzc2FnZV9xdWV1ZV9z b3VyY2UpDQorICAgIHsNCisgICAgICBHU291cmNlICpzb3VyY2U7DQorDQorICAgICAgc291cmNl ID0gY3MtPm1lc3NhZ2VfcXVldWVfc291cmNlOw0KKyAgICAgIGNzLT5tZXNzYWdlX3F1ZXVlX3Nv dXJjZSA9IE5VTEw7DQorDQorICAgICAgZ19zb3VyY2VfZGVzdHJveSAoc291cmNlKTsNCisgICAg ICBnX3NvdXJjZV91bnJlZiAoc291cmNlKTsNCisgICAgfQ0KKw0KKyAgZ19mcmVlIChjcyk7DQor fQ0KKw0KK3N0YXRpYyBkYnVzX2Jvb2xfdA0KK2FkZF93YXRjaCAoREJ1c1dhdGNoICp3YXRjaCwN CisJICAgZ3BvaW50ZXIgICBkYXRhKQ0KK3sNCisgIENvbm5lY3Rpb25TZXR1cCAqY3M7DQorDQor ICBjcyA9IGRhdGE7DQorDQorICBjb25uZWN0aW9uX3NldHVwX2FkZF93YXRjaCAoY3MsIHdhdGNo KTsNCisgIA0KKyAgcmV0dXJuIFRSVUU7DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQorcmVtb3ZlX3dh dGNoIChEQnVzV2F0Y2ggKndhdGNoLA0KKwkgICAgICBncG9pbnRlciAgIGRhdGEpDQorew0KKyAg Q29ubmVjdGlvblNldHVwICpjczsNCisNCisgIGNzID0gZGF0YTsNCisNCisgIGNvbm5lY3Rpb25f c2V0dXBfcmVtb3ZlX3dhdGNoIChjcywgd2F0Y2gpOw0KK30NCisNCitzdGF0aWMgdm9pZA0KK3dh dGNoX3RvZ2dsZWQgKERCdXNXYXRjaCAqd2F0Y2gsDQorICAgICAgICAgICAgICAgdm9pZCAgICAg ICpkYXRhKQ0KK3sNCisgIC8qIEJlY2F1c2Ugd2UganVzdCBleGl0IG9uIE9PTSwgZW5hYmxlL2Rp c2FibGUgaXMNCisgICAqIG5vIGRpZmZlcmVudCBmcm9tIGFkZC9yZW1vdmUNCisgICAqLw0KKyAg aWYgKGRidXNfd2F0Y2hfZ2V0X2VuYWJsZWQgKHdhdGNoKSkNCisgICAgYWRkX3dhdGNoICh3YXRj aCwgZGF0YSk7DQorICBlbHNlDQorICAgIHJlbW92ZV93YXRjaCAod2F0Y2gsIGRhdGEpOw0KK30N CisNCitzdGF0aWMgZGJ1c19ib29sX3QNCithZGRfdGltZW91dCAoREJ1c1RpbWVvdXQgKnRpbWVv dXQsDQorCSAgICAgdm9pZCAgICAgICAgKmRhdGEpDQorew0KKyAgQ29ubmVjdGlvblNldHVwICpj czsNCisNCisgIGNzID0gZGF0YTsNCisgIA0KKyAgaWYgKCFkYnVzX3RpbWVvdXRfZ2V0X2VuYWJs ZWQgKHRpbWVvdXQpKQ0KKyAgICByZXR1cm4gVFJVRTsNCisNCisgIGNvbm5lY3Rpb25fc2V0dXBf YWRkX3RpbWVvdXQgKGNzLCB0aW1lb3V0KTsNCisNCisgIHJldHVybiBUUlVFOw0KK30NCisNCitz dGF0aWMgdm9pZA0KK3JlbW92ZV90aW1lb3V0IChEQnVzVGltZW91dCAqdGltZW91dCwNCisJCXZv aWQgICAgICAgICpkYXRhKQ0KK3sNCisgIENvbm5lY3Rpb25TZXR1cCAqY3M7DQorDQorICBjcyA9 IGRhdGE7DQorDQorICBjb25uZWN0aW9uX3NldHVwX3JlbW92ZV90aW1lb3V0IChjcywgdGltZW91 dCk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQordGltZW91dF90b2dnbGVkIChEQnVzVGltZW91dCAq dGltZW91dCwNCisgICAgICAgICAgICAgICAgIHZvaWQgICAgICAgICpkYXRhKQ0KK3sNCisgIC8q IEJlY2F1c2Ugd2UganVzdCBleGl0IG9uIE9PTSwgZW5hYmxlL2Rpc2FibGUgaXMNCisgICAqIG5v IGRpZmZlcmVudCBmcm9tIGFkZC9yZW1vdmUNCisgICAqLw0KKyAgaWYgKGRidXNfdGltZW91dF9n ZXRfZW5hYmxlZCAodGltZW91dCkpDQorICAgIGFkZF90aW1lb3V0ICh0aW1lb3V0LCBkYXRhKTsN CisgIGVsc2UNCisgICAgcmVtb3ZlX3RpbWVvdXQgKHRpbWVvdXQsIGRhdGEpOw0KK30NCisNCitz dGF0aWMgdm9pZA0KK3dha2V1cF9tYWluICh2b2lkICpkYXRhKQ0KK3sNCisgIENvbm5lY3Rpb25T ZXR1cCAqY3MgPSBkYXRhOw0KKw0KKyAgZ19tYWluX2NvbnRleHRfd2FrZXVwIChjcy0+Y29udGV4 dCk7DQorfQ0KKw0KKy8qKiBAfSAqLyAvKiBFbmQgb2YgR0xpYiBtYWluIGNvbnRleHQgaW50ZWdy YXRpb24gaW50ZXJuYWxzICovDQorDQorLyoqIEBhZGR0b2dyb3VwIERCdXNHTGliDQorICogQHsN CisgKi8NCisNCisvKioNCisgKiBkYnVzX2dfbWFpbl9pbnRlZ3JhdGVfY29ubmVjdGlvbjoNCisg KiBAY29ubmVjdGlvbjogdGhlIGNvbm5lY3Rpb24NCisgKiBAY29udGV4dDogdGhlICNHTWFpbkNv bnRleHQgb3IgI05VTEwgZm9yIGRlZmF1bHQgY29udGV4dA0KKyAqDQorICogU2V0cyB0aGUgd2F0 Y2ggYW5kIHRpbWVvdXQgZnVuY3Rpb25zIG9mIGEgI0RCdXNDb25uZWN0aW9uDQorICogdG8gaW50 ZWdyYXRlIHRoZSBjb25uZWN0aW9uIHdpdGggdGhlIEdMaWIgbWFpbiBsb29wLg0KKyAqIFBhc3Mg aW4gI05VTEwgZm9yIHRoZSAjR01haW5Db250ZXh0IHVubGVzcyB5b3UncmUNCisgKiBkb2luZyBz b21ldGhpbmcgc3BlY2lhbGl6ZWQuDQorICoNCisgKiBJZiBjYWxsZWQgbW9yZSB0aGFuIG9uY2Ug dGhlIHNhbWUgY29udGV4dCBtdXN0IGJlIHBhc3NlZA0KKyAqIGFnYWluLiBGb3IgZXZlcnkgY2Fs bCB0aGVyZSBzaG91bGQgYmUgYSBjb3JyZXNwb25kaW5nDQorICogZGJ1c19nX21haW5fdW5pbnRl Z3JhdGVfY29ubmVjdGlvbiBjYWxsLg0KKyAqLw0KK3ZvaWQNCitkYnVzX2dfbWFpbl9pbnRlZ3Jh dGVfY29ubmVjdGlvbiAoREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb24sDQorCQkJCSAgR01haW5D b250ZXh0ICAgKmNvbnRleHQpDQorew0KKyAgQ29ubmVjdGlvblNldHVwICpjczsNCisNCisgIGdf cmV0dXJuX2lmX2ZhaWwgKGNvbm5lY3Rpb24gIT0gTlVMTCk7DQorICANCisgIGlmIChjb250ZXh0 ID09IE5VTEwpDQorICAgIGNvbnRleHQgPSBnX21haW5fY29udGV4dF9kZWZhdWx0ICgpOw0KKw0K KyAgY3MgPSBOVUxMOw0KKyANCisgIGlmIChjb25uZWN0aW9uX3Nsb3QgPj0gMCkNCisgICAgY3Mg PSBkYnVzX2Nvbm5lY3Rpb25fZ2V0X2RhdGEgKGNvbm5lY3Rpb24sIGNvbm5lY3Rpb25fc2xvdCk7 DQorDQorICBpZiAoY3MgIT0gTlVMTCAmJiBjcy0+Y29udGV4dCAhPSBjb250ZXh0KQ0KKyAgICBn b3RvIGRpZmZlcmVudF9jb250ZXh0Ow0KKyAgICAgIA0KKyAgaWYgKGNzID09IE5VTEwpDQorICAg IHsNCisgICAgICBkYnVzX2Nvbm5lY3Rpb25fYWxsb2NhdGVfZGF0YV9zbG90ICgmY29ubmVjdGlv bl9zbG90KTsNCisgICAgICBpZiAoY29ubmVjdGlvbl9zbG90IDwgMCkNCisgICAgICAgIGdvdG8g bm9tZW07DQorICAgIH0NCisNCisgIGlmIChjcyA9PSBOVUxMKQ0KKyAgICBjcyA9IGNvbm5lY3Rp b25fc2V0dXBfbmV3IChjb250ZXh0LCBjb25uZWN0aW9uLCBOVUxMKTsNCisgIGVsc2UNCisgICAg Z19hdG9taWNfaW50X2luYyAoJmNzLT5jb3VudCk7DQorDQorICBpZiAoIWRidXNfY29ubmVjdGlv bl9zZXRfZGF0YSAoY29ubmVjdGlvbiwgY29ubmVjdGlvbl9zbG90LCBjcywNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoREJ1c0ZyZWVGdW5jdGlvbiljb25uZWN0aW9uX3NldHVw X2ZyZWUpKQ0KKyAgICBnb3RvIG5vbWVtOw0KKyAgDQorICBpZiAoIWRidXNfY29ubmVjdGlvbl9z ZXRfd2F0Y2hfZnVuY3Rpb25zIChjb25uZWN0aW9uLA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYWRkX3dhdGNoLA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlX3dhdGNoLA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgd2F0Y2hfdG9nZ2xlZCwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzLCBOVUxMKSkNCisgICAgZ290byBub21lbTsN CisNCisgIGlmICghZGJ1c19jb25uZWN0aW9uX3NldF90aW1lb3V0X2Z1bmN0aW9ucyAoY29ubmVj dGlvbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRk X3RpbWVvdXQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlbW92ZV90aW1lb3V0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0aW1lb3V0X3RvZ2dsZWQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNzLCBOVUxMKSkNCisgICAgZ290byBub21lbTsNCisgICAgDQorICBk YnVzX2Nvbm5lY3Rpb25fc2V0X3dha2V1cF9tYWluX2Z1bmN0aW9uIChjb25uZWN0aW9uLA0KKwkJ CQkJICAgIHdha2V1cF9tYWluLA0KKwkJCQkJICAgIGNzLCBOVUxMKTsNCisgICAgICANCisgIHJl dHVybjsNCisNCisgbm9tZW06DQorICBnX2Vycm9yICgiTm90IGVub3VnaCBtZW1vcnkgdG8gc2V0 IHVwIERCdXNDb25uZWN0aW9uIGZvciB1c2Ugd2l0aCBHTGliIik7DQorICByZXR1cm47DQorIGRp ZmZlcmVudF9jb250ZXh0Og0KKyAgZ193YXJuaW5nICgiSW50ZWdyYXRpbmcgaW50byB0d28gZGlm ZmVyZW50IG1haW4gY29udGV4dHMgbm90IHN1cHBvcnRlZCIpOw0KKyAgcmV0dXJuOw0KK30NCisN CisvKioNCisgKiBkYnVzX2dfbWFpbl9pbnRlZ3JhdGVfc2VydmVyOg0KKyAqIEBzZXJ2ZXI6IHRo ZSBzZXJ2ZXINCisgKiBAY29udGV4dDogdGhlICNHTWFpbkNvbnRleHQgb3IgI05VTEwgZm9yIGRl ZmF1bHQNCisgKg0KKyAqIFNldHMgdGhlIHdhdGNoIGFuZCB0aW1lb3V0IGZ1bmN0aW9ucyBvZiBh ICNEQnVzU2VydmVyDQorICogdG8gaW50ZWdyYXRlIHRoZSBzZXJ2ZXIgd2l0aCB0aGUgR0xpYiBt YWluIGxvb3AuDQorICogSW4gbW9zdCBjYXNlcyB0aGUgY29udGV4dCBhcmd1bWVudCBzaG91bGQg YmUgI05VTEwuDQorICoNCisgKiBJZiBjYWxsZWQgbW9yZSB0aGFuIG9uY2UgdGhlIHNhbWUgY29u dGV4dCBtdXN0IGJlIHBhc3NlZA0KKyAqIGFnYWluLiBGb3IgZXZlcnkgY2FsbCB0aGVyZSBzaG91 bGQgYmUgYSBjb3JyZXNwb25kaW5nDQorICogZGJ1c19nX21haW5fdW5pbnRlZ3JhdGVfc2VydmVy IGNhbGwuDQorICovDQordm9pZA0KK2RidXNfZ19tYWluX2ludGVncmF0ZV9zZXJ2ZXIgKERCdXNT ZXJ2ZXIgICAqc2VydmVyLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdNYWluQ29u dGV4dCAqY29udGV4dCkNCit7DQorICBDb25uZWN0aW9uU2V0dXAgKmNzOw0KKw0KKyAgZ19yZXR1 cm5faWZfZmFpbCAoc2VydmVyICE9IE5VTEwpOw0KKyAgDQorICBpZiAoY29udGV4dCA9PSBOVUxM KQ0KKyAgICBjb250ZXh0ID0gZ19tYWluX2NvbnRleHRfZGVmYXVsdCAoKTsNCisNCisgIGNzID0g TlVMTDsNCisgIA0KKyAgaWYgKHNlcnZlcl9zbG90ID49IDApDQorICAgIGNzID0gZGJ1c19zZXJ2 ZXJfZ2V0X2RhdGEgKHNlcnZlciwgc2VydmVyX3Nsb3QpOw0KKw0KKyAgaWYgKGNzICE9IE5VTEwg JiYgY3MtPmNvbnRleHQgIT0gY29udGV4dCkNCisgICAgZ290byBkaWZmZXJlbnRfY29udGV4dDsN CisNCisgIGlmIChjcyA9PSBOVUxMKQ0KKyAgICB7DQorICAgICAgZGJ1c19zZXJ2ZXJfYWxsb2Nh dGVfZGF0YV9zbG90ICgmc2VydmVyX3Nsb3QpOw0KKyAgICAgIGlmIChzZXJ2ZXJfc2xvdCA8IDAp DQorICAgICAgICBnb3RvIG5vbWVtOw0KKyAgICB9DQorICANCisgIGlmIChjcyA9PSBOVUxMKQ0K KyAgICBjcyA9IGNvbm5lY3Rpb25fc2V0dXBfbmV3IChjb250ZXh0LCBOVUxMLCBzZXJ2ZXIpOw0K KyAgZWxzZQ0KKyAgICBnX2F0b21pY19pbnRfaW5jICgmY3MtPmNvdW50KTsNCisNCisgIGlmICgh ZGJ1c19zZXJ2ZXJfc2V0X2RhdGEgKHNlcnZlciwgc2VydmVyX3Nsb3QsIGNzLA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKERCdXNGcmVlRnVuY3Rpb24pY29ubmVjdGlvbl9zZXR1cF9m cmVlKSkNCisgICAgZ290byBub21lbTsNCisgIA0KKyAgaWYgKCFkYnVzX3NlcnZlcl9zZXRfd2F0 Y2hfZnVuY3Rpb25zIChzZXJ2ZXIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGFkZF93YXRjaCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVtb3ZlX3dhdGNoLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB3YXRjaF90b2dnbGVkLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjcywgTlVMTCkpDQorICAgIGdvdG8gbm9tZW07DQorDQorICBpZiAoIWRidXNfc2VydmVyX3Nl dF90aW1lb3V0X2Z1bmN0aW9ucyAoc2VydmVyLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGFkZF90aW1lb3V0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlbW92ZV90aW1lb3V0LA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfdG9nZ2xlZCwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjcywgTlVMTCkpDQorICAgIGdvdG8gbm9tZW07DQorICAg ICAgDQorICByZXR1cm47DQorDQorIG5vbWVtOg0KKyAgZ19lcnJvciAoIk5vdCBlbm91Z2ggbWVt b3J5IHRvIHNldCB1cCBEQnVzU2VydmVyIGZvciB1c2Ugd2l0aCBHTGliIik7DQorICByZXR1cm47 DQorIGRpZmZlcmVudF9jb250ZXh0Og0KKyAgZ193YXJuaW5nICgiSW50ZWdyYXRpbmcgaW50byB0 d28gZGlmZmVyZW50IG1haW4gY29udGV4dHMgbm90IHN1cHBvcnRlZCIpOw0KKyAgcmV0dXJuOw0K K30NCisNCisvKioNCisgKiBkYnVzX2dfbWFpbl91bmludGVncmF0ZV9jb25uZWN0aW9uOg0KKyAq IEBjb25uZWN0aW9uOiB0aGUgY29ubmVjdGlvbg0KKyAqDQorICogVW5pbnRlZ3JhdGVzIHRoZSBj b25uZWN0aW9uIGZyb20gdGhlIG1haW4gY29udGV4dC4NCisgKiBUaGlzIHNob3VsZCBiZSBjYWxs ZWQgYXMgbWFueSB0aW1lcyBhcyB0aGUgY29ubmVjdGlvbg0KKyAqIHdhcyBpbnRlZ3JhdGVkLg0K KyAqLw0KK3ZvaWQgZGJ1c19nX21haW5fdW5pbnRlZ3JhdGVfY29ubmVjdGlvbiAoREJ1c0Nvbm5l Y3Rpb24gKmNvbm5lY3Rpb24pDQorew0KKyAgQ29ubmVjdGlvblNldHVwICpjczsNCisgIGdfcmV0 dXJuX2lmX2ZhaWwgKGNvbm5lY3Rpb24gIT0gTlVMTCk7DQorICBnX3JldHVybl9pZl9mYWlsIChj b25uZWN0aW9uX3Nsb3QgPj0gMCk7DQorDQorICBjcyA9IGRidXNfY29ubmVjdGlvbl9nZXRfZGF0 YSAoY29ubmVjdGlvbiwgY29ubmVjdGlvbl9zbG90KTsNCisgIGdfcmV0dXJuX2lmX2ZhaWwgKGNz ICE9IE5VTEwpOw0KKyAgZ19yZXR1cm5faWZfZmFpbCAoY3MtPmNvdW50ID4gMCk7DQorDQorICBp ZiAoIWdfYXRvbWljX2ludF9kZWNfYW5kX3Rlc3QgKCZjcy0+Y291bnQpKQ0KKyAgICByZXR1cm47 DQorDQorICAvKiBGcmVlIGFueSBleGlzdGluZyBDb25uZWN0aW9uU2V0dXAgKi8NCisgIGRidXNf Y29ubmVjdGlvbl9zZXRfZGF0YSAoY29ubmVjdGlvbiwgY29ubmVjdGlvbl9zbG90LCBOVUxMLCBO VUxMKTsNCisNCisgIC8qIFVuc2V0IHdhdGNoLCB3YWtldXAgYW5kIHRpbWVvdXQgZnVuY3Rpb25z ICovDQorICBkYnVzX2Nvbm5lY3Rpb25fc2V0X3dha2V1cF9tYWluX2Z1bmN0aW9uIChjb25uZWN0 aW9uLCBOVUxMLCBOVUxMLCBOVUxMKTsNCisgIGRidXNfY29ubmVjdGlvbl9zZXRfdGltZW91dF9m dW5jdGlvbnMgKGNvbm5lY3Rpb24sIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwpOw0KKyAg ZGJ1c19jb25uZWN0aW9uX3NldF93YXRjaF9mdW5jdGlvbnMgKGNvbm5lY3Rpb24sIE5VTEwsIE5V TEwsIE5VTEwsIE5VTEwsIE5VTEwpOw0KKw0KKyAgLyogVW5yZWYgZGF0YSBzbG90ICovDQorICBk YnVzX2Nvbm5lY3Rpb25fZnJlZV9kYXRhX3Nsb3QgKCZjb25uZWN0aW9uX3Nsb3QpOw0KK30NCisN CisvKioNCisgKiBkYnVzX2dfbWFpbl91bmludGVncmF0ZV9zZXJ2ZXI6DQorICogQHNlcnZlcjog dGhlIHNlcnZlcg0KKyAqDQorICogVW5pbnRlZ3JhdGVzIHRoZSBzZXJ2ZXIgZnJvbSB0aGUgbWFp biBjb250ZXh0Lg0KKyAqIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBhcyBtYW55IHRpbWVzIGFzIHRo ZSBzZXJ2ZXINCisgKiB3YXMgaW50ZWdyYXRlZC4NCisgKi8NCit2b2lkIGRidXNfZ19tYWluX3Vu aW50ZWdyYXRlX3NlcnZlciAoREJ1c1NlcnZlciAqc2VydmVyKQ0KK3sNCisgIENvbm5lY3Rpb25T ZXR1cCAqY3M7DQorICBnX3JldHVybl9pZl9mYWlsIChzZXJ2ZXIgIT0gTlVMTCk7DQorICBnX3Jl dHVybl9pZl9mYWlsIChzZXJ2ZXJfc2xvdCA+PSAwKTsNCisgIA0KKyAgY3MgPSBkYnVzX3NlcnZl cl9nZXRfZGF0YSAoc2VydmVyLCBzZXJ2ZXJfc2xvdCk7DQorICBnX3JldHVybl9pZl9mYWlsIChj cyAhPSBOVUxMKTsNCisgIGdfcmV0dXJuX2lmX2ZhaWwgKGNzLT5jb3VudCA+IDApOw0KKw0KKyAg aWYgKCFnX2F0b21pY19pbnRfZGVjX2FuZF90ZXN0ICgmY3MtPmNvdW50KSkNCisgICAgcmV0dXJu Ow0KKw0KKyAgLyogRnJlZSBhbnkgZXhpc3RpbmcgQ29ubmVjdGlvblNldHVwICovDQorICBkYnVz X3NlcnZlcl9zZXRfZGF0YSAoc2VydmVyLCBzZXJ2ZXJfc2xvdCwgTlVMTCwgTlVMTCk7DQorDQor ICAvKiBVbnNldCB3YXRjaCBhbmQgdGltZW91dCBmdW5jdGlvbnMgKi8NCisgIGRidXNfc2VydmVy X3NldF90aW1lb3V0X2Z1bmN0aW9ucyAoc2VydmVyLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBO VUxMKTsNCisgIGRidXNfc2VydmVyX3NldF93YXRjaF9mdW5jdGlvbnMgKHNlcnZlciwgTlVMTCwg TlVMTCwgTlVMTCwgTlVMTCwgTlVMTCk7DQorDQorICAvKiBVbnJlZiBkYXRhIHNsb3QgKi8NCisg IGRidXNfc2VydmVyX2ZyZWVfZGF0YV9zbG90ICgmc2VydmVyX3Nsb3QpOw0KK30NCisNCmRpZmYg LS1naXQgYS9nbGliL2RidXMtZ2xpYi1tYWluLmggYi9nbGliL2RidXMtZ2xpYi1tYWluLmgNCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi4zYmFhNDNlDQotLS0gL2Rldi9udWxs DQorKysgYi9nbGliL2RidXMtZ2xpYi1tYWluLmgNCkBAIC0wLDAgKzEsNDQgQEANCisvKiAtKi0g bW9kZTogQzsgYy1maWxlLXN0eWxlOiAiZ251IiAtKi0gKi8NCisvKiBkYnVzLWdsaWItbWFpbi5o IEdMaWIgbWFpbiBjb250ZXh0IGludGVncmF0aW9uIGludGVncmF0aW9uDQorICoNCisgKiBDb3B5 cmlnaHQgKEMpIDIwMDIsIDIwMDMgIENvZGVGYWN0b3J5IEFCDQorICogQ29weXJpZ2h0IChDKSAy MDAzLCAyMDA0IFJlZCBIYXQsIEluYy4NCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgU2ViYXN0aWFu IERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPg0KKyAqDQorICogTGljZW5zZWQgdW5k ZXIgdGhlIEFjYWRlbWljIEZyZWUgTGljZW5zZSB2ZXJzaW9uIDIuMQ0KKyAqIA0KKyAqIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5DQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKyAqIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uDQorICoNCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCisgKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KKyAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUNCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KKyAq IA0KKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlDQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3Jp dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUg UGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBDQorICoNCisgKi8N CisjaWZuZGVmIERCVVNfR19NQUlOX0gNCisjZGVmaW5lIERCVVNfR19NQUlOX0gNCisNCisjaW5j bHVkZSA8Z2xpYi5oPg0KKyNpbmNsdWRlIDxkYnVzL2RidXMuaD4NCisNCitHX0JFR0lOX0RFQ0xT DQorDQordm9pZCAgICAgICAgZGJ1c19nX21haW5faW50ZWdyYXRlX2Nvbm5lY3Rpb24gICAgIChE QnVzQ29ubmVjdGlvbiAgKmNvbm5lY3Rpb24sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBHTWFpbkNvbnRleHQgICAgKmNvbnRleHQpOw0KK3ZvaWQg ICAgICAgIGRidXNfZ19tYWluX2ludGVncmF0ZV9zZXJ2ZXIgICAgICAgICAoREJ1c1NlcnZlciAg ICAgICpzZXJ2ZXIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHTWFpbkNvbnRleHQgICAgKmNvbnRleHQpOw0KKw0KK3ZvaWQgICAgICAgIGRidXNf Z19tYWluX3VuaW50ZWdyYXRlX2Nvbm5lY3Rpb24gICAoREJ1c0Nvbm5lY3Rpb24gICpjb25uZWN0 aW9uKTsNCit2b2lkICAgICAgICBkYnVzX2dfbWFpbl91bmludGVncmF0ZV9zZXJ2ZXIgICAgICAg KERCdXNTZXJ2ZXIgICpzZXJ2ZXIpOw0KKw0KK0dfRU5EX0RFQ0xTDQorDQorI2VuZGlmIC8qIERC VVNfR19NQUlOX0ggKi8NCisNCm== --=-d8LPN6057MYdQYyGVILV-- --=-0kKQuWyTY1VwSDrVvSM6 Content-Type: application/pgp-signature; name=signature.asc Content-Description: Dies ist ein digital signierter Nachrichtenteil -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQBHLGIPBsBdh1vkHyERAu59AJ9Ib2N1axfBZwYJfSATUGmQRVokawCghcZa 92z64eWUYq3Tyj/yAWaE9Ho= =Zb73 -----END PGP SIGNATURE----- --=-0kKQuWyTY1VwSDrVvSM6-- --===============1324072231== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ dbus mailing list dbus@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dbus --===============1324072231==--