From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id E6C9F44629 for ; Thu, 20 Oct 2022 09:35:11 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EF78068BE96; Thu, 20 Oct 2022 12:35:09 +0300 (EEST) Received: from mail-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 975F668BD64 for ; Thu, 20 Oct 2022 12:35:03 +0300 (EEST) Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-132fb4fd495so23835645fac.12 for ; Thu, 20 Oct 2022 02:35:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Ghsgeee0BW/7tXaJI0bizozCIWz2Fm0rWM4xwfZAOrg=; b=TPnKpFDnzduyRMAXtH/gxhW/zChtHkty4WYoK5cJe4J3J7YRLeqrZEJ//0iVgTp0QN qjTZXIA/qapAdNSBOP9R+uIfeaNdFGzcA/9Iu9KXGPUnYT/OPjWPKImWzGILDyPoj5S8 QJZ71k4qOXE8Z8ZXnmz/W5YcjpGqKjsYBDMu4CsS/5RlrET4vDLqUs1Zxn/07DWdi0Bc DbgiBW9WYiyG/7omzQWFrDJKQucYor/b2ZIUQZuP3K2iNaqJdm/40q1sY79bogMIULIm /zYnBq2phEMAh61qV+c9YDh43GAubxClb44H86u0shr4PSiVVgwA/FlfMOb8+7UdIoTH LoOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ghsgeee0BW/7tXaJI0bizozCIWz2Fm0rWM4xwfZAOrg=; b=VqzxcQvPRPO1TE0Am/UwnyPTUJYcFb9pZswmkgnqGfaRXc6AHb3WomQGsqKv2Ee5ON rPfwdW/JJaGmEoLvYCVfbw3zdQCxasx2mDtBpXNo7ryw4qMZ1pYw1ysJv3GE9RfsGAJw 1+Ittos4P1T+pYowhmtcDiNVtc7+0Q0l3HfkwHJdE7Ge7TrEfjZAe2Ac1pmowlnoLR2I 47y1Ec2xJZdXoVrxmXY6qZyw1LcKB+Jzhq3Fd4LFurrwMCn5owZ69Hc52uykV6pdiZVx 8yywXLJMI1P6einV7XylytVq1OJAnZn7uZObfgPkrTiLXZu9cHkNuTk9qFks0kxhSURa sb0w== X-Gm-Message-State: ACrzQf0snPDPyFZsOOwKAlTVCRnj3rZwM2qzFcGqIQoYKVcL+fW4d5Kl l7d3QhUKp7xe5mQSH+CWGQUbkiOYnZQH3suRrcTRPfmbLGs= X-Google-Smtp-Source: AMsMyM4zV5Q8ZP0OLP6DhV4gr363I8sS1MRZ2qfteHyX7h3Qaijuo2J9vfRfOKw8LaGA88w4S9WkJRtNc+JUUpaCAT0= X-Received: by 2002:a05:6871:a5:b0:13a:d615:5b7a with SMTP id u37-20020a05687100a500b0013ad6155b7amr3865641oaa.66.1666258501329; Thu, 20 Oct 2022 02:35:01 -0700 (PDT) MIME-Version: 1.0 References: <30896212-1aca-4cb6-c415-5f86c98dc6a3@gmail.com> In-Reply-To: <30896212-1aca-4cb6-c415-5f86c98dc6a3@gmail.com> From: Steven Liu Date: Thu, 20 Oct 2022 17:34:49 +0800 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH v2] avformat/dashdec: Differentiate unassigned and zero attributes X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: R3JlZ29yIFJpZXBsIDxvbml0YWtlQGdtYWlsLmNvbT4g5LqOMjAyMuW5tDEw5pyIMTnml6Xlkajk uIkgMDI6MjTlhpnpgZPvvJoKPgo+IFRoaXMgZml4ZXMgYW4gaXNzdWUgd2hlcmUgYSB0aW1lc3Rh bXAgYXR0cmlidXRlIG1heSBoYXZlIGEgdmFsaWQgemVybwo+IHZhbHVlICh0aGUgVU5JWCBlcG9j aCAxOTcwLTAxLTAxVDAwOjAwOjAwKSwgYnV0IGlzIG1pc2ludGVycHJldGVkIGJ5Cj4gZGFzaGRl YyBhcyBiZWluZyB1bmFzc2lnbmVkLiBUaGlzIGNoYW5nZXMgdGhlIGxvZ2ljIHRoYXQgY2FsY3Vs YXRlcwo+IHNlZ21lbnQgbnVtYmVycyBhbmQgbWFrZXMgdGhlIHN0cmVhbSB1bmRlY29kYWJsZSBi eSBkYXNoZGVjLgo+Cj4gVGhlIGZpeCBvcmlnaW5hbGx5IHBvc3RlZCB0byB0aGUgaXNzdWUgdHJh Y2tlciB3YXMgaW5jb3JyZWN0IGFuZAo+IGNoYW5nZWQgb3RoZXIgcGFydHMgb2YgdGhlIHNlZ21l bnQgY2FsY3VsYXRpb24gbG9naWMuIFdpdGggdGhpcwo+IHBhdGNoLCBvbmx5IHRoZSBpbnRlcnBy ZXRhdGlvbiBvZiB0aGUgYXR0cmlidXRlcyBpcyBjaGFuZ2VkLgo+IFNvbWUgd2FybmluZ3MgYXJl IGFkZGVkIHRvIGFjY291bnQgZm9yIHBvdGVudGlhbCBlcnJvcnMgaW4gbWFuaWZlc3RzLgo+Cj4g djIgY2hhbmdlOiBVc2UgaW50LCAwIGFuZCAxIGluc3RlYWQgb2YgQzk5IHN0ZGJvb2wuCj4gVGhp cyBzaW1pbGFyIHRvIHdoYXQncyBkb25lIGluIGZmdG9vbHMvZmZtcGVnX29wdC5jLgo+Cj4gRml4 ZXM6ICM4NTIyCj4gU2lnbmVkLW9mZi1ieTogR3JlZ29yIFJpZXBsIDxvbml0YWtlQGdtYWlsLmNv bT4KPiAtLS0KPiAgIGxpYmF2Zm9ybWF0L2Rhc2hkZWMuYyB8IDIwOSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAxNjEgaW5zZXJ0 aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZGFz aGRlYy5jIGIvbGliYXZmb3JtYXQvZGFzaGRlYy5jCj4gaW5kZXggMjlkNDY4MGM2OC4uZGY1ZDQ1 M2M1YSAxMDA2NDQKPiAtLS0gYS9saWJhdmZvcm1hdC9kYXNoZGVjLmMKPiArKysgYi9saWJhdmZv cm1hdC9kYXNoZGVjLmMKPiBAQCAtMTI5LDIxICsxMjksMzQgQEAgdHlwZWRlZiBzdHJ1Y3QgREFT SENvbnRleHQgewo+ICAgICAgIHN0cnVjdCByZXByZXNlbnRhdGlvbiAqKnN1YnRpdGxlczsKPgo+ ICAgICAgIC8qIE1lZGlhUHJlc2VudGF0aW9uRGVzY3JpcHRpb24gQXR0cmlidXRlICovCj4gLSAg ICB1aW50NjRfdCBtZWRpYV9wcmVzZW50YXRpb25fZHVyYXRpb247Cj4gLSAgICB1aW50NjRfdCBz dWdnZXN0ZWRfcHJlc2VudGF0aW9uX2RlbGF5Owo+IC0gICAgdWludDY0X3QgYXZhaWxhYmlsaXR5 X3N0YXJ0X3RpbWU7Cj4gLSAgICB1aW50NjRfdCBhdmFpbGFiaWxpdHlfZW5kX3RpbWU7Cj4gLSAg ICB1aW50NjRfdCBwdWJsaXNoX3RpbWU7Cj4gLSAgICB1aW50NjRfdCBtaW5pbXVtX3VwZGF0ZV9w ZXJpb2Q7Cj4gLSAgICB1aW50NjRfdCB0aW1lX3NoaWZ0X2J1ZmZlcl9kZXB0aDsKPiAtICAgIHVp bnQ2NF90IG1pbl9idWZmZXJfdGltZTsKPiArICAgIHVpbnQ2NF90IG1lZGlhX3ByZXNlbnRhdGlv bl9kdXJhdGlvbl92YWx1ZTsKPiArICAgIHVpbnQ2NF90IHN1Z2dlc3RlZF9wcmVzZW50YXRpb25f ZGVsYXlfdmFsdWU7Cj4gKyAgICB1aW50NjRfdCBhdmFpbGFiaWxpdHlfc3RhcnRfdGltZV92YWx1 ZTsKPiArICAgIHVpbnQ2NF90IGF2YWlsYWJpbGl0eV9lbmRfdGltZV92YWx1ZTsKPiArICAgIHVp bnQ2NF90IHB1Ymxpc2hfdGltZV92YWx1ZTsKPiArICAgIHVpbnQ2NF90IG1pbmltdW1fdXBkYXRl X3BlcmlvZF92YWx1ZTsKPiArICAgIHVpbnQ2NF90IHRpbWVfc2hpZnRfYnVmZmVyX2RlcHRoX3Zh bHVlOwo+ICsgICAgdWludDY0X3QgbWluX2J1ZmZlcl90aW1lX3ZhbHVlOwo+Cj4gICAgICAgLyog UGVyaW9kIEF0dHJpYnV0ZSAqLwo+IC0gICAgdWludDY0X3QgcGVyaW9kX2R1cmF0aW9uOwo+IC0g ICAgdWludDY0X3QgcGVyaW9kX3N0YXJ0Owo+ICsgICAgdWludDY0X3QgcGVyaW9kX2R1cmF0aW9u X3ZhbHVlOwo+ICsgICAgdWludDY0X3QgcGVyaW9kX3N0YXJ0X3ZhbHVlOwo+Cj4gICAgICAgLyog QWRhcHRhdGlvblNldCBBdHRyaWJ1dGUgKi8KPiAtICAgIGNoYXIgKmFkYXB0aW9uc2V0X2xhbmc7 Cj4gKyAgICBjaGFyICphZGFwdGlvbnNldF9sYW5nX3ZhbHVlOwo+ICsKPiArICAgIC8qIEF0dHJp YnV0ZSB2YWxpZCBmbGFncyAodHJ1ZSBpZiB0aGUgYXR0cmlidXRlIGV4aXN0cyBpbiB0aGUgWE1M IG1hbmlmZXN0KSAqLwo+ICsgICAgaW50IG1lZGlhX3ByZXNlbnRhdGlvbl9kdXJhdGlvbl9hc3Np Z25lZDsKPiArICAgIGludCBzdWdnZXN0ZWRfcHJlc2VudGF0aW9uX2RlbGF5X2Fzc2lnbmVkOwo+ ICsgICAgaW50IGF2YWlsYWJpbGl0eV9zdGFydF90aW1lX2Fzc2lnbmVkOwo+ICsgICAgaW50IGF2 YWlsYWJpbGl0eV9lbmRfdGltZV9hc3NpZ25lZDsKPiArICAgIGludCBwdWJsaXNoX3RpbWVfYXNz aWduZWQ7Cj4gKyAgICBpbnQgbWluaW11bV91cGRhdGVfcGVyaW9kX2Fzc2lnbmVkOwo+ICsgICAg aW50IHRpbWVfc2hpZnRfYnVmZmVyX2RlcHRoX2Fzc2lnbmVkOwo+ICsgICAgaW50IG1pbl9idWZm ZXJfdGltZV9hc3NpZ25lZDsKPiArICAgIGludCBwZXJpb2RfZHVyYXRpb25fYXNzaWduZWQ7Cj4g KyAgICBpbnQgcGVyaW9kX3N0YXJ0X2Fzc2lnbmVkOwo+ICsgICAgaW50IGFkYXB0aW9uc2V0X2xh bmdfYXNzaWduZWQ7Cj4KPiAgICAgICBpbnQgaXNfbGl2ZTsKPiAgICAgICBBVklPSW50ZXJydXB0 Q0IgKmludGVycnVwdF9jYWxsYmFjazsKPiBAQCAtODY3LDggKzg4MCw4IEBAIHN0YXRpYyBpbnQg cGFyc2VfbWFuaWZlc3RfcmVwcmVzZW50YXRpb24oQVZGb3JtYXRDb250ZXh0ICpzLCBjb25zdCBj aGFyICp1cmwsCj4gICAgICAgcmVwID0gYXZfbWFsbG9jeihzaXplb2Yoc3RydWN0IHJlcHJlc2Vu dGF0aW9uKSk7Cj4gICAgICAgaWYgKCFyZXApCj4gICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVO T01FTSk7Cj4gLSAgICBpZiAoYy0+YWRhcHRpb25zZXRfbGFuZykgewo+IC0gICAgICAgIHJlcC0+ bGFuZyA9IGF2X3N0cmR1cChjLT5hZGFwdGlvbnNldF9sYW5nKTsKPiArICAgIGlmIChjLT5hZGFw dGlvbnNldF9sYW5nX2Fzc2lnbmVkKSB7Cj4gKyAgICAgICAgcmVwLT5sYW5nID0gYXZfc3RyZHVw KGMtPmFkYXB0aW9uc2V0X2xhbmdfdmFsdWUpOwo+ICAgICAgICAgICBpZiAoIXJlcC0+bGFuZykg ewo+ICAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgImFsbG9jIGxhbmd1YWdl IG1lbW9yeSBmYWlsdXJlXG4iKTsKPiAgICAgICAgICAgICAgIGF2X2ZyZWVwKCZyZXApOwo+IEBA IC0xMTA2LDcgKzExMTksMTAgQEAgc3RhdGljIGludCBwYXJzZV9tYW5pZmVzdF9hZGFwdGF0aW9u c2V0X2F0dHIoQVZGb3JtYXRDb250ZXh0ICpzLCB4bWxOb2RlUHRyIGFkYXAKPiAgICAgICAgICAg YXZfbG9nKHMsIEFWX0xPR19XQVJOSU5HLCAiQ2Fubm90IGdldCBBZGFwdGlvblNldFxuIik7Cj4g ICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4gICAgICAgfQo+IC0gICAgYy0+YWRh cHRpb25zZXRfbGFuZyA9IHhtbEdldFByb3AoYWRhcHRpb25zZXRfbm9kZSwgImxhbmciKTsKPiAr ICAgIGMtPmFkYXB0aW9uc2V0X2xhbmdfdmFsdWUgPSB4bWxHZXRQcm9wKGFkYXB0aW9uc2V0X25v ZGUsICJsYW5nIik7Cj4gKyAgICBpZiAoYy0+YWRhcHRpb25zZXRfbGFuZ192YWx1ZSkgewo+ICsg ICAgICAgIGMtPmFkYXB0aW9uc2V0X2xhbmdfYXNzaWduZWQgPSAxOwo+ICsgICAgfQo+Cj4gICAg ICAgcmV0dXJuIDA7Cj4gICB9Cj4gQEAgLTExNjIsOCArMTE3OCw5IEBAIHN0YXRpYyBpbnQgcGFy c2VfbWFuaWZlc3RfYWRhcHRhdGlvbnNldChBVkZvcm1hdENvbnRleHQgKnMsIGNvbnN0IGNoYXIg KnVybCwKPiAgICAgICB9Cj4KPiAgIGVycjoKPiAtICAgIHhtbEZyZWUoYy0+YWRhcHRpb25zZXRf bGFuZyk7Cj4gLSAgICBjLT5hZGFwdGlvbnNldF9sYW5nID0gTlVMTDsKPiArICAgIHhtbEZyZWUo Yy0+YWRhcHRpb25zZXRfbGFuZ192YWx1ZSk7Cj4gKyAgICBjLT5hZGFwdGlvbnNldF9sYW5nX3Zh bHVlID0gTlVMTDsKPiArICAgIGMtPmFkYXB0aW9uc2V0X2xhbmdfYXNzaWduZWQgPSAwOwo+ICAg ICAgIHJldHVybiByZXQ7Cj4gICB9Cj4KPiBAQCAtMTI3MywyOSArMTI5MCwzNyBAQCBzdGF0aWMg aW50IHBhcnNlX21hbmlmZXN0KEFWRm9ybWF0Q29udGV4dCAqcywgY29uc3QgY2hhciAqdXJsLCBB VklPQ29udGV4dCAqaW4pCj4gICAgICAgICAgICAgICB2YWwgPSB4bWxHZXRQcm9wKG5vZGUsIGF0 dHItPm5hbWUpOwo+Cj4gICAgICAgICAgICAgICBpZiAoIWF2X3N0cmNhc2VjbXAoYXR0ci0+bmFt ZSwgImF2YWlsYWJpbGl0eVN0YXJ0VGltZSIpKSB7Cj4gLSAgICAgICAgICAgICAgICBjLT5hdmFp bGFiaWxpdHlfc3RhcnRfdGltZSA9IGdldF91dGNfZGF0ZV90aW1lX2luc2VjKHMsIHZhbCk7Cj4g LSAgICAgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX1RSQUNFLCAiYy0+YXZhaWxhYmlsaXR5 X3N0YXJ0X3RpbWUgPSBbJSJQUklkNjQiXVxuIiwgYy0+YXZhaWxhYmlsaXR5X3N0YXJ0X3RpbWUp Owo+ICsgICAgICAgICAgICAgICAgYy0+YXZhaWxhYmlsaXR5X3N0YXJ0X3RpbWVfdmFsdWUgPSBn ZXRfdXRjX2RhdGVfdGltZV9pbnNlYyhzLCB2YWwpOwo+ICsgICAgICAgICAgICAgICAgYy0+YXZh aWxhYmlsaXR5X3N0YXJ0X3RpbWVfYXNzaWduZWQgPSAxOwo+ICsgICAgICAgICAgICAgICAgYXZf bG9nKHMsIEFWX0xPR19UUkFDRSwgImMtPmF2YWlsYWJpbGl0eV9zdGFydF90aW1lID0gWyUiUFJJ ZDY0Il1cbiIsIGMtPmF2YWlsYWJpbGl0eV9zdGFydF90aW1lX3ZhbHVlKTsKPiAgICAgICAgICAg ICAgIH0gZWxzZSBpZiAoIWF2X3N0cmNhc2VjbXAoYXR0ci0+bmFtZSwgImF2YWlsYWJpbGl0eUVu ZFRpbWUiKSkgewo+IC0gICAgICAgICAgICAgICAgYy0+YXZhaWxhYmlsaXR5X2VuZF90aW1lID0g Z2V0X3V0Y19kYXRlX3RpbWVfaW5zZWMocywgdmFsKTsKPiAtICAgICAgICAgICAgICAgIGF2X2xv ZyhzLCBBVl9MT0dfVFJBQ0UsICJjLT5hdmFpbGFiaWxpdHlfZW5kX3RpbWUgPSBbJSJQUklkNjQi XVxuIiwgYy0+YXZhaWxhYmlsaXR5X2VuZF90aW1lKTsKPiArICAgICAgICAgICAgICAgIGMtPmF2 YWlsYWJpbGl0eV9lbmRfdGltZV92YWx1ZSA9IGdldF91dGNfZGF0ZV90aW1lX2luc2VjKHMsIHZh bCk7Cj4gKyAgICAgICAgICAgICAgICBjLT5hdmFpbGFiaWxpdHlfZW5kX3RpbWVfYXNzaWduZWQg PSAxOwo+ICsgICAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19UUkFDRSwgImMtPmF2YWls YWJpbGl0eV9lbmRfdGltZSA9IFslIlBSSWQ2NCJdXG4iLCBjLT5hdmFpbGFiaWxpdHlfZW5kX3Rp bWVfdmFsdWUpOwo+ICAgICAgICAgICAgICAgfSBlbHNlIGlmICghYXZfc3RyY2FzZWNtcChhdHRy LT5uYW1lLCAicHVibGlzaFRpbWUiKSkgewo+IC0gICAgICAgICAgICAgICAgYy0+cHVibGlzaF90 aW1lID0gZ2V0X3V0Y19kYXRlX3RpbWVfaW5zZWMocywgdmFsKTsKPiAtICAgICAgICAgICAgICAg IGF2X2xvZyhzLCBBVl9MT0dfVFJBQ0UsICJjLT5wdWJsaXNoX3RpbWUgPSBbJSJQUklkNjQiXVxu IiwgYy0+cHVibGlzaF90aW1lKTsKPiArICAgICAgICAgICAgICAgIGMtPnB1Ymxpc2hfdGltZV92 YWx1ZSA9IGdldF91dGNfZGF0ZV90aW1lX2luc2VjKHMsIHZhbCk7Cj4gKyAgICAgICAgICAgICAg ICBjLT5wdWJsaXNoX3RpbWVfYXNzaWduZWQgPSAxOwo+ICsgICAgICAgICAgICAgICAgYXZfbG9n KHMsIEFWX0xPR19UUkFDRSwgImMtPnB1Ymxpc2hfdGltZSA9IFslIlBSSWQ2NCJdXG4iLCBjLT5w dWJsaXNoX3RpbWVfdmFsdWUpOwo+ICAgICAgICAgICAgICAgfSBlbHNlIGlmICghYXZfc3RyY2Fz ZWNtcChhdHRyLT5uYW1lLCAibWluaW11bVVwZGF0ZVBlcmlvZCIpKSB7Cj4gLSAgICAgICAgICAg ICAgICBjLT5taW5pbXVtX3VwZGF0ZV9wZXJpb2QgPSBnZXRfZHVyYXRpb25faW5zZWMocywgdmFs KTsKPiAtICAgICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfVFJBQ0UsICJjLT5taW5pbXVt X3VwZGF0ZV9wZXJpb2QgPSBbJSJQUklkNjQiXVxuIiwgYy0+bWluaW11bV91cGRhdGVfcGVyaW9k KTsKPiArICAgICAgICAgICAgICAgIGMtPm1pbmltdW1fdXBkYXRlX3BlcmlvZF92YWx1ZSA9IGdl dF9kdXJhdGlvbl9pbnNlYyhzLCB2YWwpOwo+ICsgICAgICAgICAgICAgICAgYy0+bWluaW11bV91 cGRhdGVfcGVyaW9kX2Fzc2lnbmVkID0gMTsKPiArICAgICAgICAgICAgICAgIGF2X2xvZyhzLCBB Vl9MT0dfVFJBQ0UsICJjLT5taW5pbXVtX3VwZGF0ZV9wZXJpb2QgPSBbJSJQUklkNjQiXVxuIiwg Yy0+bWluaW11bV91cGRhdGVfcGVyaW9kX3ZhbHVlKTsKPiAgICAgICAgICAgICAgIH0gZWxzZSBp ZiAoIWF2X3N0cmNhc2VjbXAoYXR0ci0+bmFtZSwgInRpbWVTaGlmdEJ1ZmZlckRlcHRoIikpIHsK PiAtICAgICAgICAgICAgICAgIGMtPnRpbWVfc2hpZnRfYnVmZmVyX2RlcHRoID0gZ2V0X2R1cmF0 aW9uX2luc2VjKHMsIHZhbCk7Cj4gLSAgICAgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX1RS QUNFLCAiYy0+dGltZV9zaGlmdF9idWZmZXJfZGVwdGggPSBbJSJQUklkNjQiXVxuIiwgYy0+dGlt ZV9zaGlmdF9idWZmZXJfZGVwdGgpOwo+ICsgICAgICAgICAgICAgICAgYy0+dGltZV9zaGlmdF9i dWZmZXJfZGVwdGhfdmFsdWUgPSBnZXRfZHVyYXRpb25faW5zZWMocywgdmFsKTsKPiArICAgICAg ICAgICAgICAgIGMtPnRpbWVfc2hpZnRfYnVmZmVyX2RlcHRoX2Fzc2lnbmVkID0gMTsKPiArICAg ICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfVFJBQ0UsICJjLT50aW1lX3NoaWZ0X2J1ZmZl cl9kZXB0aCA9IFslIlBSSWQ2NCJdXG4iLCBjLT50aW1lX3NoaWZ0X2J1ZmZlcl9kZXB0aF92YWx1 ZSk7Cj4gICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFhdl9zdHJjYXNlY21wKGF0dHItPm5hbWUs ICJtaW5CdWZmZXJUaW1lIikpIHsKPiAtICAgICAgICAgICAgICAgIGMtPm1pbl9idWZmZXJfdGlt ZSA9IGdldF9kdXJhdGlvbl9pbnNlYyhzLCB2YWwpOwo+IC0gICAgICAgICAgICAgICAgYXZfbG9n KHMsIEFWX0xPR19UUkFDRSwgImMtPm1pbl9idWZmZXJfdGltZSA9IFslIlBSSWQ2NCJdXG4iLCBj LT5taW5fYnVmZmVyX3RpbWUpOwo+ICsgICAgICAgICAgICAgICAgYy0+bWluX2J1ZmZlcl90aW1l X3ZhbHVlID0gZ2V0X2R1cmF0aW9uX2luc2VjKHMsIHZhbCk7Cj4gKyAgICAgICAgICAgICAgICBj LT5taW5fYnVmZmVyX3RpbWVfYXNzaWduZWQgPSAxOwo+ICsgICAgICAgICAgICAgICAgYXZfbG9n KHMsIEFWX0xPR19UUkFDRSwgImMtPm1pbl9idWZmZXJfdGltZSA9IFslIlBSSWQ2NCJdXG4iLCBj LT5taW5fYnVmZmVyX3RpbWVfdmFsdWUpOwo+ICAgICAgICAgICAgICAgfSBlbHNlIGlmICghYXZf c3RyY2FzZWNtcChhdHRyLT5uYW1lLCAic3VnZ2VzdGVkUHJlc2VudGF0aW9uRGVsYXkiKSkgewo+ IC0gICAgICAgICAgICAgICAgYy0+c3VnZ2VzdGVkX3ByZXNlbnRhdGlvbl9kZWxheSA9IGdldF9k dXJhdGlvbl9pbnNlYyhzLCB2YWwpOwo+IC0gICAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xP R19UUkFDRSwgImMtPnN1Z2dlc3RlZF9wcmVzZW50YXRpb25fZGVsYXkgPSBbJSJQUklkNjQiXVxu IiwgYy0+c3VnZ2VzdGVkX3ByZXNlbnRhdGlvbl9kZWxheSk7Cj4gKyAgICAgICAgICAgICAgICBj LT5zdWdnZXN0ZWRfcHJlc2VudGF0aW9uX2RlbGF5X3ZhbHVlID0gZ2V0X2R1cmF0aW9uX2luc2Vj KHMsIHZhbCk7Cj4gKyAgICAgICAgICAgICAgICBjLT5zdWdnZXN0ZWRfcHJlc2VudGF0aW9uX2Rl bGF5X2Fzc2lnbmVkID0gMTsKPiArICAgICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfVFJB Q0UsICJjLT5zdWdnZXN0ZWRfcHJlc2VudGF0aW9uX2RlbGF5ID0gWyUiUFJJZDY0Il1cbiIsIGMt PnN1Z2dlc3RlZF9wcmVzZW50YXRpb25fZGVsYXlfdmFsdWUpOwo+ICAgICAgICAgICAgICAgfSBl bHNlIGlmICghYXZfc3RyY2FzZWNtcChhdHRyLT5uYW1lLCAibWVkaWFQcmVzZW50YXRpb25EdXJh dGlvbiIpKSB7Cj4gLSAgICAgICAgICAgICAgICBjLT5tZWRpYV9wcmVzZW50YXRpb25fZHVyYXRp b24gPSBnZXRfZHVyYXRpb25faW5zZWMocywgdmFsKTsKPiAtICAgICAgICAgICAgICAgIGF2X2xv ZyhzLCBBVl9MT0dfVFJBQ0UsICJjLT5tZWRpYV9wcmVzZW50YXRpb25fZHVyYXRpb24gPSBbJSJQ UklkNjQiXVxuIiwgYy0+bWVkaWFfcHJlc2VudGF0aW9uX2R1cmF0aW9uKTsKPiArICAgICAgICAg ICAgICAgIGMtPm1lZGlhX3ByZXNlbnRhdGlvbl9kdXJhdGlvbl92YWx1ZSA9IGdldF9kdXJhdGlv bl9pbnNlYyhzLCB2YWwpOwo+ICsgICAgICAgICAgICAgICAgYy0+bWVkaWFfcHJlc2VudGF0aW9u X2R1cmF0aW9uX2Fzc2lnbmVkID0gMTsKPiArICAgICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9M T0dfVFJBQ0UsICJjLT5tZWRpYV9wcmVzZW50YXRpb25fZHVyYXRpb24gPSBbJSJQUklkNjQiXVxu IiwgYy0+bWVkaWFfcHJlc2VudGF0aW9uX2R1cmF0aW9uX3ZhbHVlKTsKPiAgICAgICAgICAgICAg IH0KPiAgICAgICAgICAgICAgIGF0dHIgPSBhdHRyLT5uZXh0Owo+ICAgICAgICAgICAgICAgeG1s RnJlZSh2YWwpOwo+IEBAIC0xMzI1LDEyICsxMzUwLDMwIEBAIHN0YXRpYyBpbnQgcGFyc2VfbWFu aWZlc3QoQVZGb3JtYXRDb250ZXh0ICpzLCBjb25zdCBjaGFyICp1cmwsIEFWSU9Db250ZXh0ICpp bikKPiAgICAgICAgICAgICAgICAgICAgICAgYXR0ciA9IGF0dHItPm5leHQ7Cj4gICAgICAgICAg ICAgICAgICAgICAgIHhtbEZyZWUodmFsKTsKPiAgICAgICAgICAgICAgICAgICB9Cj4gLSAgICAg ICAgICAgICAgICBpZiAoKHBlcmlvZF9kdXJhdGlvbl9zZWMpID49IChjLT5wZXJpb2RfZHVyYXRp b24pKSB7Cj4gKyAgICAgICAgICAgICAgICBpZiAoYy0+cGVyaW9kX2R1cmF0aW9uX2Fzc2lnbmVk KSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgaWYgKChwZXJpb2RfZHVyYXRpb25fc2VjKSA+PSAo Yy0+cGVyaW9kX2R1cmF0aW9uX3ZhbHVlKSkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICBw ZXJpb2Rfbm9kZSA9IG5vZGU7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGMtPnBlcmlvZF9k dXJhdGlvbl92YWx1ZSA9IHBlcmlvZF9kdXJhdGlvbl9zZWM7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIGMtPnBlcmlvZF9zdGFydF92YWx1ZSA9IHBlcmlvZF9zdGFydF9zZWM7Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgIGMtPnBlcmlvZF9zdGFydF9hc3NpZ25lZCA9IDE7Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgIGlmIChjLT5wZXJpb2Rfc3RhcnRfdmFsdWUgPiAwKSB7Cj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjLT5tZWRpYV9wcmVzZW50YXRpb25fZHVyYXRpb25f dmFsdWUgPSBjLT5wZXJpb2RfZHVyYXRpb25fdmFsdWU7Cj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjLT5tZWRpYV9wcmVzZW50YXRpb25fZHVyYXRpb25fYXNzaWduZWQgPSAxOwo+ICsg ICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsK PiArICAgICAgICAgICAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19WRVJCT1NFLCAicHJl dmlvdXMgcGVyaW9kX2R1cmF0aW9uIGlzIGxhcmdlciB0aGFuIG5ldyB2YWx1ZS4gaWdub3Jpbmcu XG4iKTsKPiArICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICB9IGVsc2Ug ewo+ICsgICAgICAgICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfVkVSQk9TRSwgInBlcmlv ZF9kdXJhdGlvbiBhdHRyaWJ1dGUgdW5zZXQgLSB1cGRhdGluZyBmcm9tIGNhbGN1bGF0ZWQgdmFs dWUuXG4iKTsKPiAgICAgICAgICAgICAgICAgICAgICAgcGVyaW9kX25vZGUgPSBub2RlOwo+IC0g ICAgICAgICAgICAgICAgICAgIGMtPnBlcmlvZF9kdXJhdGlvbiA9IHBlcmlvZF9kdXJhdGlvbl9z ZWM7Cj4gLSAgICAgICAgICAgICAgICAgICAgYy0+cGVyaW9kX3N0YXJ0ID0gcGVyaW9kX3N0YXJ0 X3NlYzsKPiAtICAgICAgICAgICAgICAgICAgICBpZiAoYy0+cGVyaW9kX3N0YXJ0ID4gMCkKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgYy0+bWVkaWFfcHJlc2VudGF0aW9uX2R1cmF0aW9uID0g Yy0+cGVyaW9kX2R1cmF0aW9uOwo+ICsgICAgICAgICAgICAgICAgICAgIGMtPnBlcmlvZF9kdXJh dGlvbl92YWx1ZSA9IHBlcmlvZF9kdXJhdGlvbl9zZWM7Cj4gKyAgICAgICAgICAgICAgICAgICAg Yy0+cGVyaW9kX2R1cmF0aW9uX2Fzc2lnbmVkID0gMTsKPiArICAgICAgICAgICAgICAgICAgICBj LT5wZXJpb2Rfc3RhcnRfdmFsdWUgPSBwZXJpb2Rfc3RhcnRfc2VjOwo+ICsgICAgICAgICAgICAg ICAgICAgIGMtPnBlcmlvZF9zdGFydF9hc3NpZ25lZCA9IDE7Cj4gKyAgICAgICAgICAgICAgICAg ICAgaWYgKGMtPnBlcmlvZF9zdGFydF92YWx1ZSA+IDApIHsKPiArICAgICAgICAgICAgICAgICAg ICAgICAgYy0+bWVkaWFfcHJlc2VudGF0aW9uX2R1cmF0aW9uX3ZhbHVlID0gYy0+cGVyaW9kX2R1 cmF0aW9uX3ZhbHVlOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICBjLT5tZWRpYV9wcmVzZW50 YXRpb25fZHVyYXRpb25fYXNzaWduZWQgPSAxOwo+ICsgICAgICAgICAgICAgICAgICAgIH0KPiAg ICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFhdl9zdHJjYXNl Y21wKG5vZGUtPm5hbWUsICJQcm9ncmFtSW5mb3JtYXRpb24iKSkgewo+ICAgICAgICAgICAgICAg ICAgIHBhcnNlX3Byb2dyYW1pbmZvcm1hdGlvbihzLCBub2RlKTsKPiBAQCAtMTM5MSwxNSArMTQz NCw1NCBAQCBzdGF0aWMgaW50NjRfdCBjYWxjX2N1cl9zZWdfbm8oQVZGb3JtYXRDb250ZXh0ICpz LCBzdHJ1Y3QgcmVwcmVzZW50YXRpb24gKnBscykKPiAgICAgICAgICAgfSBlbHNlIGlmIChwbHMt PmZyYWdtZW50X2R1cmF0aW9uKXsKPiAgICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfVFJB Q0UsICJpbiBmcmFnbWVudF9kdXJhdGlvbiBtb2RlIGZyYWdtZW50X3RpbWVzY2FsZSA9ICUiUFJJ ZDY0IiwgcHJlc2VudGF0aW9uX3RpbWVvZmZzZXQgPSAlIlBSSWQ2NCJcbiIsIHBscy0+ZnJhZ21l bnRfdGltZXNjYWxlLCBwbHMtPnByZXNlbnRhdGlvbl90aW1lb2Zmc2V0KTsKPiAgICAgICAgICAg ICAgIGlmIChwbHMtPnByZXNlbnRhdGlvbl90aW1lb2Zmc2V0KSB7Cj4gLSAgICAgICAgICAgICAg ICBudW0gPSBwbHMtPmZpcnN0X3NlcV9ubyArICgoKGdldF9jdXJyZW50X3RpbWVfaW5fc2VjKCkg LSBjLT5hdmFpbGFiaWxpdHlfc3RhcnRfdGltZSkgKiBwbHMtPmZyYWdtZW50X3RpbWVzY2FsZSkt cGxzLT5wcmVzZW50YXRpb25fdGltZW9mZnNldCkgLyBwbHMtPmZyYWdtZW50X2R1cmF0aW9uIC0g Yy0+bWluX2J1ZmZlcl90aW1lOwo+IC0gICAgICAgICAgICB9IGVsc2UgaWYgKGMtPnB1Ymxpc2hf dGltZSA+IDAgJiYgIWMtPmF2YWlsYWJpbGl0eV9zdGFydF90aW1lKSB7Cj4gLSAgICAgICAgICAg ICAgICBpZiAoYy0+bWluX2J1ZmZlcl90aW1lKSB7Cj4gLSAgICAgICAgICAgICAgICAgICAgbnVt ID0gcGxzLT5maXJzdF9zZXFfbm8gKyAoKChjLT5wdWJsaXNoX3RpbWUgKyBwbHMtPmZyYWdtZW50 X2R1cmF0aW9uKSAtIGMtPnN1Z2dlc3RlZF9wcmVzZW50YXRpb25fZGVsYXkpICogcGxzLT5mcmFn bWVudF90aW1lc2NhbGUpIC8gcGxzLT5mcmFnbWVudF9kdXJhdGlvbiAtIGMtPm1pbl9idWZmZXJf dGltZTsKPiArICAgICAgICAgICAgICAgIGlmIChjLT5hdmFpbGFiaWxpdHlfc3RhcnRfdGltZV9h c3NpZ25lZCAmJiBjLT5taW5fYnVmZmVyX3RpbWVfYXNzaWduZWQpIHsKPiArICAgICAgICAgICAg ICAgICAgICBudW0gPSBwbHMtPmZpcnN0X3NlcV9ubyArICgoKGdldF9jdXJyZW50X3RpbWVfaW5f c2VjKCkgLSBjLT5hdmFpbGFiaWxpdHlfc3RhcnRfdGltZV92YWx1ZSkgKiBwbHMtPmZyYWdtZW50 X3RpbWVzY2FsZSktcGxzLT5wcmVzZW50YXRpb25fdGltZW9mZnNldCkgLyBwbHMtPmZyYWdtZW50 X2R1cmF0aW9uIC0gYy0+bWluX2J1ZmZlcl90aW1lX2Fzc2lnbmVkOwo+ICAgICAgICAgICAgICAg ICAgIH0gZWxzZSB7Cj4gLSAgICAgICAgICAgICAgICAgICAgbnVtID0gcGxzLT5maXJzdF9zZXFf bm8gKyAoKChjLT5wdWJsaXNoX3RpbWUgLSBjLT50aW1lX3NoaWZ0X2J1ZmZlcl9kZXB0aCArIHBs cy0+ZnJhZ21lbnRfZHVyYXRpb24pIC0gYy0+c3VnZ2VzdGVkX3ByZXNlbnRhdGlvbl9kZWxheSkg KiBwbHMtPmZyYWdtZW50X3RpbWVzY2FsZSkgLyBwbHMtPmZyYWdtZW50X2R1cmF0aW9uOwo+ICsg ICAgICAgICAgICAgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfV0FSTklORywgImF2YWlsYWJpbGl0 eV9zdGFydF90aW1lIGFuZC9vciBtaW5fYnVmZmVyX3RpbWUgYXR0cmlidXRlcyB1bnNldCAtIHVz aW5nIHplcm8gdmFsdWVzLiBzZWdtZW50IG51bWJlcnMgbWF5IGJlIGluY29ycmVjdC5cbiIpOwo+ ICsgICAgICAgICAgICAgICAgICAgIGlmIChjLT5hdmFpbGFiaWxpdHlfc3RhcnRfdGltZV9hc3Np Z25lZCkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICBudW0gPSBwbHMtPmZpcnN0X3NlcV9u byArICgoKGdldF9jdXJyZW50X3RpbWVfaW5fc2VjKCkgLSBjLT5hdmFpbGFiaWxpdHlfc3RhcnRf dGltZV92YWx1ZSkgKiBwbHMtPmZyYWdtZW50X3RpbWVzY2FsZSktcGxzLT5wcmVzZW50YXRpb25f dGltZW9mZnNldCkgLyBwbHMtPmZyYWdtZW50X2R1cmF0aW9uOwo+ICsgICAgICAgICAgICAgICAg ICAgIH0gZWxzZSBpZiAoYy0+bWluX2J1ZmZlcl90aW1lX2Fzc2lnbmVkKSB7Cj4gKyAgICAgICAg ICAgICAgICAgICAgICAgIG51bSA9IHBscy0+Zmlyc3Rfc2VxX25vICsgKCgoZ2V0X2N1cnJlbnRf dGltZV9pbl9zZWMoKSkgKiBwbHMtPmZyYWdtZW50X3RpbWVzY2FsZSktcGxzLT5wcmVzZW50YXRp b25fdGltZW9mZnNldCkgLyBwbHMtPmZyYWdtZW50X2R1cmF0aW9uIC0gYy0+bWluX2J1ZmZlcl90 aW1lX3ZhbHVlOwo+ICsgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAg ICAgICAgICAgICAgIG51bSA9IHBscy0+Zmlyc3Rfc2VxX25vICsgKCgoZ2V0X2N1cnJlbnRfdGlt ZV9pbl9zZWMoKSkgKiBwbHMtPmZyYWdtZW50X3RpbWVzY2FsZSktcGxzLT5wcmVzZW50YXRpb25f dGltZW9mZnNldCkgLyBwbHMtPmZyYWdtZW50X2R1cmF0aW9uOwo+ICsgICAgICAgICAgICAgICAg ICAgIH0KPiArICAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgfSBlbHNlIGlmIChjLT5w dWJsaXNoX3RpbWVfYXNzaWduZWQgJiYgYy0+cHVibGlzaF90aW1lX3ZhbHVlID4gMCAmJiAhYy0+ YXZhaWxhYmlsaXR5X3N0YXJ0X3RpbWVfYXNzaWduZWQpIHsKPiArICAgICAgICAgICAgICAgIC8v IEZJWE1FIGlzIHB1Ymxpc2hfdGltZV92YWx1ZSA+IDAgYSByZXF1aXJlZCBjb25kaXRpb24sIG9y IGFyZSB3ZSBvbmx5IGNoZWNraW5nIGZvciBleGlzdGVuY2Ugb2YgdGhlIGF0dHJpYnV0ZT8KPiAr ICAgICAgICAgICAgICAgIGlmIChjLT5taW5fYnVmZmVyX3RpbWVfYXNzaWduZWQpIHsKPiArICAg ICAgICAgICAgICAgICAgICBpZiAoYy0+c3VnZ2VzdGVkX3ByZXNlbnRhdGlvbl9kZWxheV9hc3Np Z25lZCkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICBudW0gPSBwbHMtPmZpcnN0X3NlcV9u byArICgoKGMtPnB1Ymxpc2hfdGltZV92YWx1ZSArIHBscy0+ZnJhZ21lbnRfZHVyYXRpb24pIC0g Yy0+c3VnZ2VzdGVkX3ByZXNlbnRhdGlvbl9kZWxheV92YWx1ZSkgKiBwbHMtPmZyYWdtZW50X3Rp bWVzY2FsZSkgLyBwbHMtPmZyYWdtZW50X2R1cmF0aW9uIC0gYy0+bWluX2J1ZmZlcl90aW1lX3Zh bHVlOwo+ICsgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfV0FSTklORywgInN1Z2dlc3RlZF9wcmVzZW50YXRpb25f ZGVsYXkgYXR0cmlidXRlIHVuc2V0IC0gdXNpbmcgemVybyB2YWx1ZS4gc2VnbWVudCBudW1iZXJz IG1heSBiZSBpbmNvcnJlY3QuXG4iKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAgbnVtID0g cGxzLT5maXJzdF9zZXFfbm8gKyAoKGMtPnB1Ymxpc2hfdGltZV92YWx1ZSArIHBscy0+ZnJhZ21l bnRfZHVyYXRpb24pICogcGxzLT5mcmFnbWVudF90aW1lc2NhbGUpIC8gcGxzLT5mcmFnbWVudF9k dXJhdGlvbiAtIGMtPm1pbl9idWZmZXJfdGltZV92YWx1ZTsKPiArICAgICAgICAgICAgICAgICAg ICB9Cj4gKyAgICAgICAgICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAgICAgICAgICAgIGlm IChjLT50aW1lX3NoaWZ0X2J1ZmZlcl9kZXB0aF9hc3NpZ25lZCAmJiBjLT5zdWdnZXN0ZWRfcHJl c2VudGF0aW9uX2RlbGF5X2Fzc2lnbmVkKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIG51 bSA9IHBscy0+Zmlyc3Rfc2VxX25vICsgKCgoYy0+cHVibGlzaF90aW1lX3ZhbHVlIC0gYy0+dGlt ZV9zaGlmdF9idWZmZXJfZGVwdGhfdmFsdWUgKyBwbHMtPmZyYWdtZW50X2R1cmF0aW9uKSAtIGMt PnN1Z2dlc3RlZF9wcmVzZW50YXRpb25fZGVsYXlfdmFsdWUpICogcGxzLT5mcmFnbWVudF90aW1l c2NhbGUpIC8gcGxzLT5mcmFnbWVudF9kdXJhdGlvbjsKPiArICAgICAgICAgICAgICAgICAgICB9 IGVsc2Ugewo+ICsgICAgICAgICAgICAgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX1dBUk5J TkcsICJ0aW1lX3NoaWZ0X2J1ZmZlcl9kZXB0aCBhbmQvb3Igc3VnZ2VzdGVkX3ByZXNlbnRhdGlv bl9kZWxheSBhdHRyaWJ1dGVzIHVuc2V0IC0gdXNpbmcgemVybyB2YWx1ZXMuIHNlZ21lbnQgbnVt YmVycyBtYXkgYmUgaW5jb3JyZWN0LlxuIik7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGlm IChjLT50aW1lX3NoaWZ0X2J1ZmZlcl9kZXB0aF9hc3NpZ25lZCkgewo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbnVtID0gcGxzLT5maXJzdF9zZXFfbm8gKyAoKGMtPnB1Ymxpc2hfdGlt ZV92YWx1ZSAtIGMtPnRpbWVfc2hpZnRfYnVmZmVyX2RlcHRoX3ZhbHVlICsgcGxzLT5mcmFnbWVu dF9kdXJhdGlvbikgKiBwbHMtPmZyYWdtZW50X3RpbWVzY2FsZSkgLyBwbHMtPmZyYWdtZW50X2R1 cmF0aW9uOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGMtPnN1Z2dlc3Rl ZF9wcmVzZW50YXRpb25fZGVsYXlfYXNzaWduZWQpIHsKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG51bSA9IHBscy0+Zmlyc3Rfc2VxX25vICsgKCgoYy0+cHVibGlzaF90aW1lX3ZhbHVl ICsgcGxzLT5mcmFnbWVudF9kdXJhdGlvbikgLSBjLT5zdWdnZXN0ZWRfcHJlc2VudGF0aW9uX2Rl bGF5X3ZhbHVlKSAqIHBscy0+ZnJhZ21lbnRfdGltZXNjYWxlKSAvIHBscy0+ZnJhZ21lbnRfZHVy YXRpb247Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBudW0gPSBwbHMtPmZpcnN0X3NlcV9ubyArICgoYy0+cHVibGlzaF90 aW1lX3ZhbHVlICsgcGxzLT5mcmFnbWVudF9kdXJhdGlvbikgKiBwbHMtPmZyYWdtZW50X3RpbWVz Y2FsZSkgLyBwbHMtPmZyYWdtZW50X2R1cmF0aW9uOwo+ICsgICAgICAgICAgICAgICAgICAgICAg ICB9Cj4gKyAgICAgICAgICAgICAgICAgICAgfQo+ICAgICAgICAgICAgICAgICAgIH0KPiAgICAg ICAgICAgICAgIH0gZWxzZSB7Cj4gLSAgICAgICAgICAgICAgICBudW0gPSBwbHMtPmZpcnN0X3Nl cV9ubyArICgoKGdldF9jdXJyZW50X3RpbWVfaW5fc2VjKCkgLSBjLT5hdmFpbGFiaWxpdHlfc3Rh cnRfdGltZSkgLSBjLT5zdWdnZXN0ZWRfcHJlc2VudGF0aW9uX2RlbGF5KSAqIHBscy0+ZnJhZ21l bnRfdGltZXNjYWxlKSAvIHBscy0+ZnJhZ21lbnRfZHVyYXRpb247Cj4gKyAgICAgICAgICAgICAg ICBpZiAoYy0+YXZhaWxhYmlsaXR5X3N0YXJ0X3RpbWVfYXNzaWduZWQgJiYgYy0+c3VnZ2VzdGVk X3ByZXNlbnRhdGlvbl9kZWxheV9hc3NpZ25lZCkgewo+ICsgICAgICAgICAgICAgICAgICAgIG51 bSA9IHBscy0+Zmlyc3Rfc2VxX25vICsgKCgoZ2V0X2N1cnJlbnRfdGltZV9pbl9zZWMoKSAtIGMt PmF2YWlsYWJpbGl0eV9zdGFydF90aW1lX3ZhbHVlKSAtIGMtPnN1Z2dlc3RlZF9wcmVzZW50YXRp b25fZGVsYXlfdmFsdWUpICogcGxzLT5mcmFnbWVudF90aW1lc2NhbGUpIC8gcGxzLT5mcmFnbWVu dF9kdXJhdGlvbjsKPiArICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAgICAg ICAgICAgYXZfbG9nKHMsIEFWX0xPR19XQVJOSU5HLCAiYXZhaWxhYmlsaXR5X3N0YXJ0X3RpbWUg YW5kL29yIHN1Z2dlc3RlZF9wcmVzZW50YXRpb25fZGVsYXkgYXR0cmlidXRlcyB1bnNldCAtIHVz aW5nIHplcm8gdmFsdWVzLiBzZWdtZW50IG51bWJlcnMgbWF5IGJlIGluY29ycmVjdC5cbiIpOwo+ ICsgICAgICAgICAgICAgICAgICAgIGlmIChjLT5hdmFpbGFiaWxpdHlfc3RhcnRfdGltZV9hc3Np Z25lZCkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICBudW0gPSBwbHMtPmZpcnN0X3NlcV9u byArICgoZ2V0X2N1cnJlbnRfdGltZV9pbl9zZWMoKSAtIGMtPmF2YWlsYWJpbGl0eV9zdGFydF90 aW1lX3ZhbHVlKSAqIHBscy0+ZnJhZ21lbnRfdGltZXNjYWxlKSAvIHBscy0+ZnJhZ21lbnRfZHVy YXRpb247Cj4gKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjLT5zdWdnZXN0ZWRfcHJl c2VudGF0aW9uX2RlbGF5X2Fzc2lnbmVkKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIG51 bSA9IHBscy0+Zmlyc3Rfc2VxX25vICsgKChnZXRfY3VycmVudF90aW1lX2luX3NlYygpIC0gYy0+ c3VnZ2VzdGVkX3ByZXNlbnRhdGlvbl9kZWxheV92YWx1ZSkgKiBwbHMtPmZyYWdtZW50X3RpbWVz Y2FsZSkgLyBwbHMtPmZyYWdtZW50X2R1cmF0aW9uOwo+ICsgICAgICAgICAgICAgICAgICAgIH0g ZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIG51bSA9IHBscy0+Zmlyc3Rfc2VxX25v ICsgKGdldF9jdXJyZW50X3RpbWVfaW5fc2VjKCkgKiBwbHMtPmZyYWdtZW50X3RpbWVzY2FsZSkg LyBwbHMtPmZyYWdtZW50X2R1cmF0aW9uOwo+ICsgICAgICAgICAgICAgICAgICAgIH0KPiArICAg ICAgICAgICAgICAgIH0KPiAgICAgICAgICAgICAgIH0KPiAgICAgICAgICAgfQo+ICAgICAgIH0g ZWxzZSB7Cj4gQEAgLTE0MTUsNyArMTQ5NywxOCBAQCBzdGF0aWMgaW50NjRfdCBjYWxjX21pbl9z ZWdfbm8oQVZGb3JtYXRDb250ZXh0ICpzLCBzdHJ1Y3QgcmVwcmVzZW50YXRpb24gKnBscykKPgo+ ICAgICAgIGlmIChjLT5pc19saXZlICYmIHBscy0+ZnJhZ21lbnRfZHVyYXRpb24pIHsKPiAgICAg ICAgICAgYXZfbG9nKHMsIEFWX0xPR19UUkFDRSwgImluIGxpdmUgbW9kZVxuIik7Cj4gLSAgICAg ICAgbnVtID0gcGxzLT5maXJzdF9zZXFfbm8gKyAoKChnZXRfY3VycmVudF90aW1lX2luX3NlYygp IC0gYy0+YXZhaWxhYmlsaXR5X3N0YXJ0X3RpbWUpIC0gYy0+dGltZV9zaGlmdF9idWZmZXJfZGVw dGgpICogcGxzLT5mcmFnbWVudF90aW1lc2NhbGUpIC8gcGxzLT5mcmFnbWVudF9kdXJhdGlvbjsK PiArICAgICAgICBpZiAoYy0+YXZhaWxhYmlsaXR5X3N0YXJ0X3RpbWVfYXNzaWduZWQgJiYgYy0+ dGltZV9zaGlmdF9idWZmZXJfZGVwdGhfYXNzaWduZWQpIHsKPiArICAgICAgICAgICAgbnVtID0g cGxzLT5maXJzdF9zZXFfbm8gKyAoKChnZXRfY3VycmVudF90aW1lX2luX3NlYygpIC0gYy0+YXZh aWxhYmlsaXR5X3N0YXJ0X3RpbWVfdmFsdWUpIC0gYy0+dGltZV9zaGlmdF9idWZmZXJfZGVwdGhf dmFsdWUpICogcGxzLT5mcmFnbWVudF90aW1lc2NhbGUpIC8gcGxzLT5mcmFnbWVudF9kdXJhdGlv bjsKPiArICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX1dB Uk5JTkcsICJhdmFpbGFiaWxpdHlfc3RhcnRfdGltZSBhbmQvb3IgdGltZV9zaGlmdF9idWZmZXJf ZGVwdGggYXR0cmlidXRlcyB1bnNldCAtIHVzaW5nIHplcm8gdmFsdWVzLiBzZWdtZW50IG51bWJl cnMgbWF5IGJlIGluY29ycmVjdC5cbiIpOwo+ICsgICAgICAgICAgICBpZiAoYy0+YXZhaWxhYmls aXR5X3N0YXJ0X3RpbWVfYXNzaWduZWQpIHsKPiArICAgICAgICAgICAgICAgIG51bSA9IHBscy0+ Zmlyc3Rfc2VxX25vICsgKChnZXRfY3VycmVudF90aW1lX2luX3NlYygpIC0gYy0+YXZhaWxhYmls aXR5X3N0YXJ0X3RpbWVfdmFsdWUpICogcGxzLT5mcmFnbWVudF90aW1lc2NhbGUpIC8gcGxzLT5m cmFnbWVudF9kdXJhdGlvbjsKPiArICAgICAgICAgICAgfSBlbHNlIGlmIChjLT50aW1lX3NoaWZ0 X2J1ZmZlcl9kZXB0aF9hc3NpZ25lZCkgewo+ICsgICAgICAgICAgICAgICAgbnVtID0gcGxzLT5m aXJzdF9zZXFfbm8gKyAoKGdldF9jdXJyZW50X3RpbWVfaW5fc2VjKCkgLSBjLT50aW1lX3NoaWZ0 X2J1ZmZlcl9kZXB0aF92YWx1ZSkgKiBwbHMtPmZyYWdtZW50X3RpbWVzY2FsZSkgLyBwbHMtPmZy YWdtZW50X2R1cmF0aW9uOwo+ICsgICAgICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAgICAg ICAgbnVtID0gcGxzLT5maXJzdF9zZXFfbm8gKyAoZ2V0X2N1cnJlbnRfdGltZV9pbl9zZWMoKSAq IHBscy0+ZnJhZ21lbnRfdGltZXNjYWxlKSAvIHBscy0+ZnJhZ21lbnRfZHVyYXRpb247Cj4gKyAg ICAgICAgICAgIH0KPiArICAgICAgICB9Cj4gICAgICAgfSBlbHNlIHsKPiAgICAgICAgICAgbnVt ID0gcGxzLT5maXJzdF9zZXFfbm87Cj4gICAgICAgfQo+IEBAIC0xNDM0LDE1ICsxNTI3LDMwIEBA IHN0YXRpYyBpbnQ2NF90IGNhbGNfbWF4X3NlZ19ubyhzdHJ1Y3QgcmVwcmVzZW50YXRpb24gKnBs cywgREFTSENvbnRleHQgKmMpCj4gICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBwbHMtPm5fdGlt ZWxpbmVzOyBpKyspIHsKPiAgICAgICAgICAgICAgIGlmIChwbHMtPnRpbWVsaW5lc1tpXS0+cmVw ZWF0ID09IC0xKSB7Cj4gICAgICAgICAgICAgICAgICAgaW50IGxlbmd0aF9vZl9lYWNoX3NlZ21l bnQgPSBwbHMtPnRpbWVsaW5lc1tpXS0+ZHVyYXRpb24gLyBwbHMtPmZyYWdtZW50X3RpbWVzY2Fs ZTsKPiAtICAgICAgICAgICAgICAgIG51bSA9ICBjLT5wZXJpb2RfZHVyYXRpb24gLyBsZW5ndGhf b2ZfZWFjaF9zZWdtZW50Owo+ICsgICAgICAgICAgICAgICAgaWYgKGMtPnBlcmlvZF9kdXJhdGlv bl9hc3NpZ25lZCkgewo+ICsgICAgICAgICAgICAgICAgICAgIG51bSA9IGMtPnBlcmlvZF9kdXJh dGlvbl92YWx1ZSAvIGxlbmd0aF9vZl9lYWNoX3NlZ21lbnQ7Cj4gKyAgICAgICAgICAgICAgICB9 IGVsc2Ugewo+ICsgICAgICAgICAgICAgICAgICAgIGF2X2xvZyhOVUxMLCBBVl9MT0dfV0FSTklO RywgInBlcmlvZF9kdXJhdGlvbiBhdHRyaWJ1dGUgdW5zZXQgLSB1c2luZyB6ZXJvIHZhbHVlLiBz ZWdtZW50IG51bWJlcnMgbWF5IGJlIGluY29ycmVjdC5cbiIpOwo+ICsgICAgICAgICAgICAgICAg ICAgIG51bSA9IDA7Cj4gKyAgICAgICAgICAgICAgICB9Cj4gICAgICAgICAgICAgICB9IGVsc2Ug ewo+ICAgICAgICAgICAgICAgICAgIG51bSArPSBwbHMtPnRpbWVsaW5lc1tpXS0+cmVwZWF0Owo+ ICAgICAgICAgICAgICAgfQo+ICAgICAgICAgICB9Cj4gICAgICAgfSBlbHNlIGlmIChjLT5pc19s aXZlICYmIHBscy0+ZnJhZ21lbnRfZHVyYXRpb24pIHsKPiAtICAgICAgICBudW0gPSBwbHMtPmZp cnN0X3NlcV9ubyArICgoKGdldF9jdXJyZW50X3RpbWVfaW5fc2VjKCkgLSBjLT5hdmFpbGFiaWxp dHlfc3RhcnRfdGltZSkpICogcGxzLT5mcmFnbWVudF90aW1lc2NhbGUpICAvIHBscy0+ZnJhZ21l bnRfZHVyYXRpb247Cj4gKyAgICAgICAgaWYgKGMtPmF2YWlsYWJpbGl0eV9zdGFydF90aW1lX2Fz c2lnbmVkKSB7Cj4gKyAgICAgICAgICAgIG51bSA9IHBscy0+Zmlyc3Rfc2VxX25vICsgKCgoZ2V0 X2N1cnJlbnRfdGltZV9pbl9zZWMoKSAtIGMtPmF2YWlsYWJpbGl0eV9zdGFydF90aW1lX3ZhbHVl KSkgKiBwbHMtPmZyYWdtZW50X3RpbWVzY2FsZSkgIC8gcGxzLT5mcmFnbWVudF9kdXJhdGlvbjsK PiArICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAgICBhdl9sb2coTlVMTCwgQVZfTE9HX1dB Uk5JTkcsICJhdmFpbGFiaWxpdHlfc3RhcnRfdGltZSBhdHRyaWJ1dGUgdW5zZXQgLSB1c2luZyB6 ZXJvIHZhbHVlLiBzZWdtZW50IG51bWJlcnMgbWF5IGJlIGluY29ycmVjdC5cbiIpOwo+ICsgICAg ICAgICAgICBudW0gPSBwbHMtPmZpcnN0X3NlcV9ubyArIChnZXRfY3VycmVudF90aW1lX2luX3Nl YygpICogcGxzLT5mcmFnbWVudF90aW1lc2NhbGUpICAvIHBscy0+ZnJhZ21lbnRfZHVyYXRpb247 Cj4gKyAgICAgICAgfQo+ICAgICAgIH0gZWxzZSBpZiAocGxzLT5mcmFnbWVudF9kdXJhdGlvbikg ewo+IC0gICAgICAgIG51bSA9IHBscy0+Zmlyc3Rfc2VxX25vICsgYXZfcmVzY2FsZV9ybmQoMSwg Yy0+bWVkaWFfcHJlc2VudGF0aW9uX2R1cmF0aW9uICogcGxzLT5mcmFnbWVudF90aW1lc2NhbGUs IHBscy0+ZnJhZ21lbnRfZHVyYXRpb24sIEFWX1JPVU5EX1VQKTsKPiArICAgICAgICBpZiAoYy0+ bWVkaWFfcHJlc2VudGF0aW9uX2R1cmF0aW9uX2Fzc2lnbmVkKSB7Cj4gKyAgICAgICAgICAgIG51 bSA9IHBscy0+Zmlyc3Rfc2VxX25vICsgYXZfcmVzY2FsZV9ybmQoMSwgYy0+bWVkaWFfcHJlc2Vu dGF0aW9uX2R1cmF0aW9uX3ZhbHVlICogcGxzLT5mcmFnbWVudF90aW1lc2NhbGUsIHBscy0+ZnJh Z21lbnRfZHVyYXRpb24sIEFWX1JPVU5EX1VQKTsKPiArICAgICAgICB9IGVsc2Ugewo+ICsgICAg ICAgICAgICBhdl9sb2coTlVMTCwgQVZfTE9HX1dBUk5JTkcsICJtZWRpYV9wcmVzZW50YXRpb25f ZHVyYXRpb24gYXR0cmlidXRlIHVuc2V0IC0gdXNpbmcgemVybyB2YWx1ZS4gc2VnbWVudCBudW1i ZXJzIG1heSBiZSBpbmNvcnJlY3QuXG4iKTsKPiArICAgICAgICAgICAgbnVtID0gcGxzLT5maXJz dF9zZXFfbm8gKyBhdl9yZXNjYWxlX3JuZCgxLCAwLCBwbHMtPmZyYWdtZW50X2R1cmF0aW9uLCBB Vl9ST1VORF9VUCk7Cj4gKyAgICAgICAgfQo+ICAgICAgIH0KPgo+ICAgICAgIHJldHVybiBudW07 Cj4gQEAgLTIwNDAsNyArMjE0OCwxMiBAQCBzdGF0aWMgaW50IGRhc2hfcmVhZF9oZWFkZXIoQVZG b3JtYXRDb250ZXh0ICpzKQo+ICAgICAgIC8qIElmIHRoaXMgaXNuJ3QgYSBsaXZlIHN0cmVhbSwg ZmlsbCB0aGUgdG90YWwgZHVyYXRpb24gb2YgdGhlCj4gICAgICAgICogc3RyZWFtLiAqLwo+ICAg ICAgIGlmICghYy0+aXNfbGl2ZSkgewo+IC0gICAgICAgIHMtPmR1cmF0aW9uID0gKGludDY0X3Qp IGMtPm1lZGlhX3ByZXNlbnRhdGlvbl9kdXJhdGlvbiAqIEFWX1RJTUVfQkFTRTsKPiArICAgICAg ICBpZiAoYy0+bWVkaWFfcHJlc2VudGF0aW9uX2R1cmF0aW9uX2Fzc2lnbmVkKSB7Cj4gKyAgICAg ICAgICAgIHMtPmR1cmF0aW9uID0gKGludDY0X3QpIGMtPm1lZGlhX3ByZXNlbnRhdGlvbl9kdXJh dGlvbl92YWx1ZSAqIEFWX1RJTUVfQkFTRTsKPiArICAgICAgICB9IGVsc2Ugewo+ICsgICAgICAg ICAgICBhdl9sb2coTlVMTCwgQVZfTE9HX1dBUk5JTkcsICJtZWRpYV9wcmVzZW50YXRpb25fZHVy YXRpb24gYXR0cmlidXRlIHVuc2V0IC0gdXNpbmcgemVybyB2YWx1ZS4gc2VnbWVudCBudW1iZXJz IG1heSBiZSBpbmNvcnJlY3QuXG4iKTsKPiArICAgICAgICAgICAgcy0+ZHVyYXRpb24gPSAwOwo+ ICsgICAgICAgIH0KPiAgICAgICB9IGVsc2Ugewo+ICAgICAgICAgICBhdl9kaWN0X3NldCgmYy0+ YXZpb19vcHRzLCAic2Vla2FibGUiLCAiMCIsIDApOwo+ICAgICAgIH0KPiAtLQo+IDIuMzUuMQo+ Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1w ZWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczov L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPgo+IFRvIHVuc3Vic2Ny aWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZm bXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCgpsZ3RtCgpidHcsIGkgY2Fubm90 IHN1cmUgaWYgd2UgdXNlIGM5OSBzdGRib29sLmgsIGlmIG5vIGJvZHkgb2JqZWN0aW9uLCBpCndp bGwgcHVzaCB0aGlzIHZlcnNpb24gb2YgcGF0Y2guCgpUaGFua3MKU3RldmVuCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5n IGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4v bGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwg b3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVu c3Vic2NyaWJlIi4K