From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id A68474E42C for ; Thu, 22 Jan 2026 11:54:46 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'tTINYiQ/Xl+EJEGyLOMpYsrB5cvrX/LwBwdBgCyTMs8=', expected b'k9nbSbXLo6B1/LTF8dEBs5yb5gq07ZqYP+Y2fs7yI0I=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1769082864; h=content-type : mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-transfer-encoding : from; bh=tTINYiQ/Xl+EJEGyLOMpYsrB5cvrX/LwBwdBgCyTMs8=; b=MjlBukCS7rLi8qeYsG05YMONCFfVvENMdu/U8O37WmRtYDMMw+0Qqsy4eq9K58Gri/VTF oyHG+O0wJ1xAKDEnHn4TBz0AhYjt9jW1ayMp7OEtZOOiPbgG6NwGEsDlI2jm2nlxg+UaJt+ wRK5gqH2fII1Wh2V0z7Xl1r9RUGlu3WIRu1QaUJxsKT/sMDIFqgulkbK9vEofv+j/s6MlEe 02Zlg++DXjhONsuiq0hwJTyMCLXOmiLR2aTPs1e0KKP5q5ymMcnIb1IihMh/JlBshlEhzk8 wYSp+SaIz1kPCD3PO2yC9zSJTvCyGUSz3WKiI/BzCJCtzdihv0fl5oh2Wbog== Received: from [172.20.0.4] (unknown [172.20.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 27DA669105A; Thu, 22 Jan 2026 13:54:24 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1769082843; b=Kb/GSH4JcCv/H4XTlqG9soi/5V7JCDGzjL38hAdKIzONMM0s6pBXvYHAXdJG9imNGxTEa 9NdHwgsdB8g+1nJAsg5UlK+b+UNo67fwq22i39gAJDR3txuHsKA+HhsrcMxsx64s1fuWtBv Ppca+G+kG2eKdVwEKJoFO8xOC0HGtJCHwuQUOMzLdvifV7BSWGVzJ7SPHn1zO8Ybvm1U0l2 gQfgAkkA+TpQR71f+hylYKlKHnWMqVzvQxYrbOQIoNcIlJ+z8hkna1SV5eheGtp9BUI5ZJI /zXbD9Uy1ka1S+uAg/UQ7VXXlQ2+BM7GDbM6sjjvWIY+H1Y+k5NB6iunWNiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1769082843; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=tTINYiQ/Xl+EJEGyLOMpYsrB5cvrX/LwBwdBgCyTMs8=; b=UmGS1yvQ/3yrhLpcRH1PLR3Ym49/Iw/g08KgQoEUOh1B5ZNE9Mc7L1Jnc3bSVceApSFJd B0gMDFoV41Pkto9qatPjQLty4R/MPPa6OLIs1g11TJsc8IfvI/51tBucMVGOujjHUpvaMz8 7aeGs9im3G0zY/MFELLmPkXZwTBTo0ypSeWfSYyacV5ItK0SfA/xVEHAkaJN3ZMJumbDf9s 9B4giNC72FeeKGb4zDMI+8C5gbqwMTncqnhTJc0qfr8cX8W1amVXGTb2O4IJ62QQpk/hwDF CF2/Bt3sKGNWZzemxzIqCNcVpNk6BE/mqBVnYqE2/8q55SQsrJs0+k2HWQbQ== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1769082835; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=k9nbSbXLo6B1/LTF8dEBs5yb5gq07ZqYP+Y2fs7yI0I=; b=Mzib09dIQwwFqjdYBP9XwQ3qaL2GTENEP+EyZKVqZthLtonFl1wyFnTiPg+fA+ByHJzU5 KmIgyJoNZtE8Xqy83DK4KxsCP3YhP9/yfz/GEtmXAuCyPjsS6zvhxsEFZNAmYvRui1QpMzn 419TCuJhkNM1oujiz6T92aCSgwR0mlsNhJ7Jw38GWcxOsIDreDa9nE9zACK42XiOOQBHkIP gaOiFnF4pyEKic6Plj3BPA30pGwvY9gmimnb3zRpI1v9dcspgiDyhrRcB3uxHNYX70lgSYZ V1pk9MbFXQx3NfrguK1RYRAcG4qhcUqMkLejyQLXEb3ZxrD8ZcpeWelgAiRw== Received: from 69dab402ede7 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id B1D11690FCC for ; Thu, 22 Jan 2026 13:53:55 +0200 (EET) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Thu, 22 Jan 2026 11:53:55 -0000 Message-ID: <176908283597.25.784348670846959797@4457048688e7> Message-ID-Hash: TCXSUWEO5UIBUPCVR4AJFKANVRZMSVMM X-Message-ID-Hash: TCXSUWEO5UIBUPCVR4AJFKANVRZMSVMM X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PR] libavfilter: Use type-safe format negotiation functions with enum parameters (PR #21546) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: nyh163925 via ffmpeg-devel Cc: nyh163925 Content-Transfer-Encoding: base64 Archived-At: List-Archive: List-Post: UFIgIzIxNTQ2IG9wZW5lZCBieSBueWgxNjM5MjUKVVJMOiBodHRwczovL2NvZGUuZmZtcGVnLm9y Zy9GRm1wZWcvRkZtcGVnL3B1bGxzLzIxNTQ2ClBhdGNoIFVSTDogaHR0cHM6Ly9jb2RlLmZmbXBl Zy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMTU0Ni5wYXRjaAoKUmVwbGFjZSBnZW5lcmljIGZv cm1hdCBmdW5jdGlvbnMgd2l0aCB0eXBlLXNhZmUgdmFyaWFudHMgdG8gcHJldmVudCB1bmRlZmlu ZWQNCmJlaGF2aW9yIHdpdGggLWZzaG9ydC1lbnVtcyBjb21waWxlciBmbGFnLg0KDQotIDQ0LzIw IGZpbHRlcnM6IGZmX3NldF9jb21tb25fZm9ybWF0c19mcm9tX2xpc3QyIC0+IGZmX3NldF9jb21t b25fKl9mcm9tX2xpc3QyIChzYW1wbGUvcGl4ZWwpDQotIDE2LzQxIGZpbHRlcnM6IGZmX21ha2Vf Zm9ybWF0X2xpc3Qg4oaSIGZmX21ha2VfKl9mb3JtYXRfbGlzdCAoc2FtcGxlL3BpeGVsKQ0KDQpT aWduZWQtb2ZmLWJ5OiBuaXlpbmdoYW8gPG5peWluZ2hhb0B4aWFvbWkuY29tPgoKCkZyb20gMzMw MDI2NjYzMDBmMzNkYmY4NTdlODZlNmY4YTZkNjE2MmMxYmYyMCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogbml5aW5naGFvIDxuaXlpbmdoYW9AeGlhb21pLmNvbT4KRGF0ZTogVGh1LCAy MiBKYW4gMjAyNiAxOTozMDozNiArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIGxpYmF2ZmlsdGVyOiBV c2UgdHlwZS1zYWZlIGZvcm1hdCBuZWdvdGlhdGlvbiBmdW5jdGlvbnMgd2l0aAogZW51bSBwYXJh bWV0ZXJzCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpSZXBsYWNlIGdlbmVyaWMg Zm9ybWF0IGZ1bmN0aW9ucyB3aXRoIHR5cGUtc2FmZSB2YXJpYW50cyB0byBwcmV2ZW50IHVuZGVm aW5lZApiZWhhdmlvciB3aXRoIC1mc2hvcnQtZW51bXMgY29tcGlsZXIgZmxhZy4KCi0gNDQvMjAg ZmlsdGVyczogZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIgLT4gZmZfc2V0X2NvbW1v bl8qX2Zyb21fbGlzdDIgKHNhbXBsZS9waXhlbCkKLSAxNi80MSBmaWx0ZXJzOiBmZl9tYWtlX2Zv cm1hdF9saXN0IOKGkiBmZl9tYWtlXypfZm9ybWF0X2xpc3QgKHNhbXBsZS9waXhlbCkKClNpZ25l ZC1vZmYtYnk6IG5peWluZ2hhbyA8bml5aW5naGFvQHhpYW9taS5jb20+Ci0tLQogbGliYXZmaWx0 ZXIvYWV2YWwuYyAgICAgICAgICAgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIvYWZfYWFwLmMg ICAgICAgICAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL2FmX2Fjcm9zc292ZXIuYyAgICAgICAg fCAyICstCiBsaWJhdmZpbHRlci9hZl9hZHluYW1pY2VxdWFsaXplci5jIHwgMiArLQogbGliYXZm aWx0ZXIvYWZfYWZpci5jICAgICAgICAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL2FmX2Fmb3Jt YXQuYyAgICAgICAgICAgfCAyICstCiBsaWJhdmZpbHRlci9hZl9hZ2F0ZS5jICAgICAgICAgICAg IHwgMiArLQogbGliYXZmaWx0ZXIvYWZfYWlpci5jICAgICAgICAgICAgICB8IDQgKystLQogbGli YXZmaWx0ZXIvYWZfYW1lcmdlLmMgICAgICAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL2FmX2Fu ZXF1YWxpemVyLmMgICAgICAgfCA0ICsrLS0KIGxpYmF2ZmlsdGVyL2FmX2FubG1zLmMgICAgICAg ICAgICAgfCAyICstCiBsaWJhdmZpbHRlci9hZl9hcHVsc2F0b3IuYyAgICAgICAgIHwgMiArLQog bGliYXZmaWx0ZXIvYWZfYXJlc2FtcGxlLmMgICAgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIv YWZfYXJscy5jICAgICAgICAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL2FmX2Fybm5kbi5jICAg ICAgICAgICAgfCAyICstCiBsaWJhdmZpbHRlci9hZl9hc3IuYyAgICAgICAgICAgICAgIHwgMiAr LQogbGliYXZmaWx0ZXIvYWZfYmlxdWFkcy5jICAgICAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVy L2FmX2JzMmIuYyAgICAgICAgICAgICAgfCAyICstCiBsaWJhdmZpbHRlci9hZl9jcm9zc2ZlZWQu YyAgICAgICAgIHwgMiArLQogbGliYXZmaWx0ZXIvYWZfZGlhbG9ndWVuaGFuY2UuYyAgICB8IDIg Ky0KIGxpYmF2ZmlsdGVyL2FmX2VhcndheC5jICAgICAgICAgICAgfCAyICstCiBsaWJhdmZpbHRl ci9hZl9leHRyYXN0ZXJlby5jICAgICAgIHwgMiArLQogbGliYXZmaWx0ZXIvYWZfaGFhcy5jICAg ICAgICAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL2FmX2hkY2QuYyAgICAgICAgICAgICAgfCA0 ICsrLS0KIGxpYmF2ZmlsdGVyL2FmX2hlYWRwaG9uZS5jICAgICAgICAgfCAyICstCiBsaWJhdmZp bHRlci9hZl9sYWRzcGEuYyAgICAgICAgICAgIHwgMiArLQogbGliYXZmaWx0ZXIvYWZfbG91ZG5v cm0uYyAgICAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL2FmX2x2Mi5jICAgICAgICAgICAgICAg fCAyICstCiBsaWJhdmZpbHRlci9hZl9yZXBsYXlnYWluLmMgICAgICAgIHwgMiArLQogbGliYXZm aWx0ZXIvYWZfc2lkZWNoYWluY29tcHJlc3MuYyB8IDIgKy0KIGxpYmF2ZmlsdGVyL2FmX3NvZmFs aXplci5jICAgICAgICAgfCAyICstCiBsaWJhdmZpbHRlci9hZl9zdGVyZW90b29scy5jICAgICAg IHwgMiArLQogbGliYXZmaWx0ZXIvYWZfc3RlcmVvd2lkZW4uYyAgICAgICB8IDIgKy0KIGxpYmF2 ZmlsdGVyL2FmX3N1cnJvdW5kLmMgICAgICAgICAgfCAyICstCiBsaWJhdmZpbHRlci9hZl92aXJ0 dWFsYmFzcy5jICAgICAgIHwgMiArLQogbGliYXZmaWx0ZXIvYWZfdm9sdW1lLmMgICAgICAgICAg ICB8IDIgKy0KIGxpYmF2ZmlsdGVyL2FmX3doaXNwZXIuYyAgICAgICAgICAgfCAyICstCiBsaWJh dmZpbHRlci9hc3JjX2FmZGVsYXlzcmMuYyAgICAgIHwgMiArLQogbGliYXZmaWx0ZXIvYXNyY19h Zmlyc3JjLmMgICAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL2FzcmNfYW5vaXNlc3JjLmMgICAg ICAgfCAyICstCiBsaWJhdmZpbHRlci9hc3JjX2ZsaXRlLmMgICAgICAgICAgIHwgMiArLQogbGli YXZmaWx0ZXIvYXNyY19oaWxiZXJ0LmMgICAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL2FzcmNf c2luYy5jICAgICAgICAgICAgfCAyICstCiBsaWJhdmZpbHRlci9hc3JjX3NpbmUuYyAgICAgICAg ICAgIHwgMiArLQogbGliYXZmaWx0ZXIvYXZmX2EzZHNjb3BlLmMgICAgICAgICB8IDQgKystLQog bGliYXZmaWx0ZXIvYXZmX2FiaXRzY29wZS5jICAgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIv YXZmX2FoaXN0b2dyYW0uYyAgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIvYXZmX2FwaGFzZW1l dGVyLmMgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIvYXZmX2F2ZWN0b3JzY29wZS5jICAgICB8 IDQgKystLQogbGliYXZmaWx0ZXIvYXZmX3Nob3djcXQuYyAgICAgICAgICB8IDQgKystLQogbGli YXZmaWx0ZXIvYXZmX3Nob3djd3QuYyAgICAgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIvYXZm X3Nob3dmcmVxcy5jICAgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIvYXZmX3Nob3dzcGF0aWFs LmMgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIvYXZmX3Nob3dzcGVjdHJ1bS5jICAgICB8IDQg KystLQogbGliYXZmaWx0ZXIvYXZmX3Nob3d2b2x1bWUuYyAgICAgICB8IDQgKystLQogbGliYXZm aWx0ZXIvYXZmX3Nob3d3YXZlcy5jICAgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIvYnVmZmVy c2luay5jICAgICAgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIvZl9kcmF3Z3JhcGguYyAgICAg ICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL2ZfZWJ1cjEyOC5jICAgICAgICAgICAgfCA0ICsrLS0K IGxpYmF2ZmlsdGVyL2ZfZ3JhcGhtb25pdG9yLmMgICAgICAgfCAyICstCiBsaWJhdmZpbHRlci9m X3NlbGVjdC5jICAgICAgICAgICAgIHwgMiArLQogbGliYXZmaWx0ZXIvc3JjX2F2c3luY3Rlc3Qu YyAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL3ZhYXBpX3ZwcC5jICAgICAgICAgICAgfCAyICst CiBsaWJhdmZpbHRlci92YWZfc3BlY3RydW1zeW50aC5jICAgIHwgNiArKystLS0KIGxpYmF2Zmls dGVyL3ZmX2FscGhhbWVyZ2UuYyAgICAgICAgfCA0ICsrLS0KIGxpYmF2ZmlsdGVyL3ZmX2FtZl9j b21tb24uYyAgICAgICAgfCA0ICsrLS0KIGxpYmF2ZmlsdGVyL3ZmX2JsYWNrZGV0ZWN0LmMgICAg ICAgfCA0ICsrLS0KIGxpYmF2ZmlsdGVyL3ZmX2NpZXNjb3BlLmMgICAgICAgICAgfCA0ICsrLS0K IGxpYmF2ZmlsdGVyL3ZmX2NvbG9yc3BhY2UuYyAgICAgICAgfCAyICstCiBsaWJhdmZpbHRlci92 Zl9kZWJhbmQuYyAgICAgICAgICAgIHwgMiArLQogbGliYXZmaWx0ZXIvdmZfZWRnZWRldGVjdC5j ICAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL3ZmX2VsYmcuYyAgICAgICAgICAgICAgfCA2ICsr Ky0tLQogbGliYXZmaWx0ZXIvdmZfZXh0cmFjdHBsYW5lcy5jICAgICB8IDQgKystLQogbGliYXZm aWx0ZXIvdmZfZmFkZS5jICAgICAgICAgICAgICB8IDIgKy0KIGxpYmF2ZmlsdGVyL3ZmX2ZpZWxk bWF0Y2guYyAgICAgICAgfCA0ICsrLS0KIGxpYmF2ZmlsdGVyL3ZmX2ZyZWkwci5jICAgICAgICAg ICAgfCAyICstCiBsaWJhdmZpbHRlci92Zl9nZXEuYyAgICAgICAgICAgICAgIHwgMiArLQogbGli YXZmaWx0ZXIvdmZfaGlzdG9ncmFtLmMgICAgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIvdmZf aHd1cGxvYWQuYyAgICAgICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIvdmZfaHd1cGxvYWRfY3Vk YS5jICAgICB8IDQgKystLQogbGliYXZmaWx0ZXIvdmZfbHV0LmMgICAgICAgICAgICAgICB8IDIg Ky0KIGxpYmF2ZmlsdGVyL3ZmX2x1dDIuYyAgICAgICAgICAgICAgfCA2ICsrKy0tLQogbGliYXZm aWx0ZXIvdmZfb3ZlcmxheS5jICAgICAgICAgICB8IDYgKysrLS0tCiBsaWJhdmZpbHRlci92Zl9v dmVybGF5X3Fzdi5jICAgICAgIHwgNCArKy0tCiBsaWJhdmZpbHRlci92Zl9wYWxldHRlZ2VuLmMg ICAgICAgIHwgNCArKy0tCiBsaWJhdmZpbHRlci92Zl9wYWxldHRldXNlLmMgICAgICAgIHwgNiAr KystLS0KIGxpYmF2ZmlsdGVyL3ZmX3ByZW11bHRpcGx5LmMgICAgICAgfCAyICstCiBsaWJhdmZp bHRlci92Zl9yZW1hcC5jICAgICAgICAgICAgIHwgNCArKy0tCiBsaWJhdmZpbHRlci92Zl9zaG93 cGFsZXR0ZS5jICAgICAgIHwgNCArKy0tCiBsaWJhdmZpbHRlci92Zl9zdGVyZW8zZC5jICAgICAg ICAgIHwgMiArLQogbGliYXZmaWx0ZXIvdmZfdGh1bWJuYWlsLmMgICAgICAgICB8IDIgKy0KIGxp YmF2ZmlsdGVyL3ZmX3YzNjAuYyAgICAgICAgICAgICAgfCAyICstCiBsaWJhdmZpbHRlci92Zl92 ZWN0b3JzY29wZS5jICAgICAgIHwgNCArKy0tCiBsaWJhdmZpbHRlci92Zl92cHBfcXN2LmMgICAg ICAgICAgIHwgNCArKy0tCiBsaWJhdmZpbHRlci92Zl93YXZlZm9ybS5jICAgICAgICAgIHwgNCAr Ky0tCiBsaWJhdmZpbHRlci92Zl96c2NhbGUuYyAgICAgICAgICAgIHwgNCArKy0tCiBsaWJhdmZp bHRlci92c3JjX2xpZmUuYyAgICAgICAgICAgIHwgMiArLQogbGliYXZmaWx0ZXIvdnNyY19wZXJs aW4uYyAgICAgICAgICB8IDIgKy0KIDk4IGZpbGVzIGNoYW5nZWQsIDE0NCBpbnNlcnRpb25zKCsp LCAxNDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYWV2YWwuYyBiL2xp YmF2ZmlsdGVyL2FldmFsLmMKaW5kZXggMDNlY2I0ZTViYi4uYmFlYTU4ODZmYyAxMDA2NDQKLS0t IGEvbGliYXZmaWx0ZXIvYWV2YWwuYworKysgYi9saWJhdmZpbHRlci9hZXZhbC5jCkBAIC0yNTMs NyArMjUzLDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4 dCAqY3R4LAogICAgIGludCBzYW1wbGVfcmF0ZXNbXSA9IHsgZXZhbC0+c2FtcGxlX3JhdGUsIC0x IH07CiAgICAgaW50IHJldDsKIAotICAgIHJldCA9IGZmX3NldF9jb21tb25fZm9ybWF0c19mcm9t X2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVfZm10cyk7CisgICAgcmV0ID0gZmZf c2V0X3NhbXBsZV9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIHNhbXBs ZV9mbXRzKTsKICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIApAQCAtMzcy LDcgKzM3Miw3IEBAIHN0YXRpYyBpbnQgYWV2YWxfcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRl ckNvbnRleHQgKmN0eCwKICAgICAgICAgICAgIHJldHVybiByZXQ7CiAgICAgfQogCi0gICAgaWYg KChyZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2Zn X291dCwgc2FtcGxlX2ZtdHMpKSA8IDApCisgICAgaWYgKChyZXQgPSBmZl9zZXRfc2FtcGxlX2Zv cm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgc2FtcGxlX2ZtdHMpKSA8IDAp CiAgICAgICAgIHJldHVybiByZXQ7CiAKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2xpYmF2 ZmlsdGVyL2FmX2FhcC5jIGIvbGliYXZmaWx0ZXIvYWZfYWFwLmMKaW5kZXggOGQzMjA5YTFlZi4u ZDIzZTVjZGFiNCAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWZfYWFwLmMKKysrIGIvbGliYXZm aWx0ZXIvYWZfYWFwLmMKQEAgLTEwNyw3ICsxMDcsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1h dHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgfTsKICAgICBpbnQgcmV0OwogCi0g ICAgaWYgKChyZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19p biwgY2ZnX291dCwKKyAgICBpZiAoKHJldCA9IGZmX3NldF9zYW1wbGVfZm9ybWF0c19mcm9tX2xp c3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2FtcGxlX2ZtdHNbcy0+cHJlY2lzaW9uXSkpIDwgMCkKICAgICAg ICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYWZfYWNyb3Nzb3Zlci5j IGIvbGliYXZmaWx0ZXIvYWZfYWNyb3Nzb3Zlci5jCmluZGV4IGUyNGJmOWViNzMuLmZlZGYyODFk NTggMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX2Fjcm9zc292ZXIuYworKysgYi9saWJhdmZp bHRlci9hZl9hY3Jvc3NvdmVyLmMKQEAgLTEzOCw3ICsxMzgsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5 X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgZGVmYXVsdDoKICAgICAg ICAgYnJlYWs7CiAgICAgfQotICAgIHJldCA9IGZmX3NldF9jb21tb25fZm9ybWF0c19mcm9tX2xp c3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVfZm10c19saXN0KTsKKyAgICByZXQgPSBm Zl9zZXRfc2FtcGxlX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgc2Ft cGxlX2ZtdHNfbGlzdCk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAK ZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FmX2FkeW5hbWljZXF1YWxpemVyLmMgYi9saWJhdmZp bHRlci9hZl9hZHluYW1pY2VxdWFsaXplci5jCmluZGV4IDYwNDM2MjNmNDYuLjQ0ZGI4MjFiMTUg MTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX2FkeW5hbWljZXF1YWxpemVyLmMKKysrIGIvbGli YXZmaWx0ZXIvYWZfYWR5bmFtaWNlcXVhbGl6ZXIuYwpAQCAtMTIyLDcgKzEyMiw3IEBAIHN0YXRp YyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICB9Owog ICAgIGludCByZXQ7CiAKLSAgICBpZiAoKHJldCA9IGZmX3NldF9jb21tb25fZm9ybWF0c19mcm9t X2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LAorICAgIGlmICgocmV0ID0gZmZfc2V0X3NhbXBs ZV9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVfZm10c1tzLT5wcmVjaXNp b25dKSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRl ci9hZl9hZmlyLmMgYi9saWJhdmZpbHRlci9hZl9hZmlyLmMKaW5kZXggYWZmODM3ZDliZi4uZmE2 YjA2M2U0NCAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWZfYWZpci5jCisrKyBiL2xpYmF2Zmls dGVyL2FmX2FmaXIuYwpAQCAtNTY5LDcgKzU2OSw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0 cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICAgICAgfQogICAgIH0KIAotICAgIGlm ICgocmV0ID0gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNm Z19vdXQsCisgICAgaWYgKChyZXQgPSBmZl9zZXRfc2FtcGxlX2Zvcm1hdHNfZnJvbV9saXN0Mihj dHgsIGNmZ19pbiwgY2ZnX291dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNhbXBsZV9mbXRzW3MtPnByZWNpc2lvbl0pKSA8IDApCiAgICAgICAgIHJl dHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FmX2Fmb3JtYXQuYyBiL2xpYmF2 ZmlsdGVyL2FmX2Fmb3JtYXQuYwppbmRleCAyODA2ZWFjOTYzLi5jZTU0ZTA0NWVmIDEwMDY0NAot LS0gYS9saWJhdmZpbHRlci9hZl9hZm9ybWF0LmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfYWZvcm1h dC5jCkBAIC0xMTIsNyArMTEyLDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFW RmlsdGVyQ29udGV4dCAqY3R4LAogICAgIGludCByZXQ7CiAKICAgICBpZiAocy0+bmJfZm9ybWF0 cykgewotICAgICAgICByZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgs IGNmZ19pbiwgY2ZnX291dCwgcy0+Zm9ybWF0cyk7CisgICAgICAgIHJldCA9IGZmX3NldF9zYW1w bGVfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzLT5mb3JtYXRzKTsK ICAgICAgICAgaWYgKHJldCA8IDApCiAgICAgICAgICAgICByZXR1cm4gcmV0OwogICAgIH0KZGlm ZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FmX2FnYXRlLmMgYi9saWJhdmZpbHRlci9hZl9hZ2F0ZS5j CmluZGV4IDNmOGE3YjMyMDIuLmFiYWM4MjFlOGMgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2Fm X2FnYXRlLmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfYWdhdGUuYwpAQCAtMzI4LDcgKzMyOCw3IEBA IHN0YXRpYyBpbnQgc2NxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAog ICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgaWYgKChyZXQgPSBm Zl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgc2Ft cGxlX2ZtdHMpKSA8IDApCisgICAgaWYgKChyZXQgPSBmZl9zZXRfc2FtcGxlX2Zvcm1hdHNfZnJv bV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgc2FtcGxlX2ZtdHMpKSA8IDApCiAgICAgICAg IHJldHVybiByZXQ7CiAKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2Fm X2FpaXIuYyBiL2xpYmF2ZmlsdGVyL2FmX2FpaXIuYwppbmRleCBmMThiNmU5Mjg2Li4yMTExYTA4 YzUxIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9hZl9haWlyLmMKKysrIGIvbGliYXZmaWx0ZXIv YWZfYWlpci5jCkBAIC05NSwxMyArOTUsMTMgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNv bnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIGludCByZXQ7CiAKICAgICBpZiAocy0+cmVz cG9uc2UpIHsKLSAgICAgICAgZm9ybWF0cyA9IGZmX21ha2VfZm9ybWF0X2xpc3QocGl4X2ZtdHMp OworICAgICAgICBmb3JtYXRzID0gZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdChwaXhfZm10cyk7 CiAgICAgICAgIGlmICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZm9ybWF0cywgJmNmZ19vdXRbMV0t PmZvcm1hdHMpKSA8IDApCiAgICAgICAgICAgICByZXR1cm4gcmV0OwogICAgIH0KIAogICAgIHNh bXBsZV9mbXRzWzBdID0gcy0+c2FtcGxlX2Zvcm1hdDsKLSAgICByZXQgPSBmZl9zZXRfY29tbW9u X2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgc2FtcGxlX2ZtdHMpOwor ICAgIHJldCA9IGZmX3NldF9zYW1wbGVfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBj Zmdfb3V0LCBzYW1wbGVfZm10cyk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiBy ZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FmX2FtZXJnZS5jIGIvbGliYXZmaWx0ZXIv YWZfYW1lcmdlLmMKaW5kZXggMTNkZWNkYWRjNS4uOGM1NzRmN2JkYSAxMDA2NDQKLS0tIGEvbGli YXZmaWx0ZXIvYWZfYW1lcmdlLmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfYW1lcmdlLmMKQEAgLTE2 Myw3ICsxNjMsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoQVZGaWx0ZXJDb250ZXh0ICpj dHgpCiAgICAgZGVmYXVsdDoKICAgICAgICAgYXZfdW5yZWFjaGFibGUoIkludmFsaWQgbGF5b3V0 X21vZGUiKTsKICAgICB9Ci0gICAgaWYgKChyZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJv bV9saXN0KGN0eCwgcGFja2VkX3NhbXBsZV9mbXRzKSkgPCAwKQorICAgIGlmICgocmV0ID0gZmZf c2V0X3NhbXBsZV9mb3JtYXRzX2Zyb21fbGlzdChjdHgsIHBhY2tlZF9zYW1wbGVfZm10cykpIDwg MCkKICAgICAgICAgZ290byBvdXQ7CiAgICAgZm9yIChpID0gMDsgaSA8IHMtPm5iX2lucHV0czsg aSsrKSB7CiAgICAgICAgIGxheW91dHMgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIv YWZfYW5lcXVhbGl6ZXIuYyBiL2xpYmF2ZmlsdGVyL2FmX2FuZXF1YWxpemVyLmMKaW5kZXggMjZk ZjRmN2UzMi4uMmYzOWU5NGNjNCAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWZfYW5lcXVhbGl6 ZXIuYworKysgYi9saWJhdmZpbHRlci9hZl9hbmVxdWFsaXplci5jCkBAIC0yMzAsMTIgKzIzMCwx MiBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgs CiAgICAgaW50IHJldDsKIAogICAgIGlmIChzLT5kcmF3X2N1cnZlcykgewotICAgICAgICByZXQg PSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwg cGl4X2ZtdHMpOworICAgICAgICByZXQgPSBmZl9zZXRfcGl4ZWxfZm9ybWF0c19mcm9tX2xpc3Qy KGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBwaXhfZm10cyk7CiAgICAgICAgIGlmIChyZXQgPCAwKQog ICAgICAgICAgICAgcmV0dXJuIHJldDsKICAgICB9CiAKLSAgICByZXQgPSBmZl9zZXRfY29tbW9u X2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgc2FtcGxlX2ZtdHMpOwor ICAgIHJldCA9IGZmX3NldF9zYW1wbGVfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBj Zmdfb3V0LCBzYW1wbGVfZm10cyk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiBy ZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FmX2FubG1zLmMgYi9saWJhdmZpbHRlci9h Zl9hbmxtcy5jCmluZGV4IGIwM2RkNmRhMmEuLjNhYzIwYmNjNzMgMTAwNjQ0Ci0tLSBhL2xpYmF2 ZmlsdGVyL2FmX2FubG1zLmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfYW5sbXMuYwpAQCAtOTksNyAr OTksNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpj dHgsCiAgICAgfTsKICAgICBpbnQgcmV0OwogCi0gICAgaWYgKChyZXQgPSBmZl9zZXRfY29tbW9u X2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwKKyAgICBpZiAoKHJldCA9 IGZmX3NldF9zYW1wbGVfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlX2Zt dHNbcy0+cHJlY2lzaW9uXSkpIDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0 IGEvbGliYXZmaWx0ZXIvYWZfYXB1bHNhdG9yLmMgYi9saWJhdmZpbHRlci9hZl9hcHVsc2F0b3Iu YwppbmRleCA3MWY3OWE0NDc1Li5iZjQ2MmRmMTJhIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9h Zl9hcHVsc2F0b3IuYworKysgYi9saWJhdmZpbHRlci9hZl9hcHVsc2F0b3IuYwpAQCAtMjAwLDcg KzIwMCw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQg KmN0eCwKIAogICAgIGludCByZXQ7CiAKLSAgICByZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNf ZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgZm9ybWF0cyk7CisgICAgcmV0ID0gZmZf c2V0X3NhbXBsZV9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIGZvcm1h dHMpOwogICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQg YS9saWJhdmZpbHRlci9hZl9hcmVzYW1wbGUuYyBiL2xpYmF2ZmlsdGVyL2FmX2FyZXNhbXBsZS5j CmluZGV4IGVhOTkyN2U3Y2YuLjdjNmY5MTQxYTcgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2Fm X2FyZXNhbXBsZS5jCisrKyBiL2xpYmF2ZmlsdGVyL2FmX2FyZXNhbXBsZS5jCkBAIC0xMDUsOCAr MTA1LDggQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAq Y3R4LAogICAgICAgICByZXR1cm4gcmV0OwogCiAgICAgaWYob3V0X2Zvcm1hdCAhPSBBVl9TQU1Q TEVfRk1UX05PTkUpIHsKLSAgICAgICAgaW50IGZvcm1hdGxpc3RbXSA9IHsgb3V0X2Zvcm1hdCwg LTEgfTsKLSAgICAgICAgb3V0X2Zvcm1hdHMgPSBmZl9tYWtlX2Zvcm1hdF9saXN0KGZvcm1hdGxp c3QpOworICAgICAgICBlbnVtIEFWU2FtcGxlRm9ybWF0IGZvcm1hdGxpc3RbXSA9IHsgb3V0X2Zv cm1hdCwgQVZfU0FNUExFX0ZNVF9OT05FIH07CisgICAgICAgIG91dF9mb3JtYXRzID0gZmZfbWFr ZV9zYW1wbGVfZm9ybWF0X2xpc3QoZm9ybWF0bGlzdCk7CiAgICAgfSBlbHNlCiAgICAgICAgIG91 dF9mb3JtYXRzID0gZmZfYWxsX2Zvcm1hdHMoQVZNRURJQV9UWVBFX0FVRElPKTsKICAgICBpZiAo KHJldCA9IGZmX2Zvcm1hdHNfcmVmKG91dF9mb3JtYXRzLCAmY2ZnX291dFswXS0+Zm9ybWF0cykp IDwgMCkKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FmX2FybHMuYyBiL2xpYmF2ZmlsdGVyL2Fm X2FybHMuYwppbmRleCBhNzRkNjMyZDM3Li5kYTAwMGYxODFiIDEwMDY0NAotLS0gYS9saWJhdmZp bHRlci9hZl9hcmxzLmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfYXJscy5jCkBAIC05Niw3ICs5Niw3 IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwK ICAgICB9OwogICAgIGludCByZXQ7CiAKLSAgICBpZiAoKHJldCA9IGZmX3NldF9jb21tb25fZm9y bWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LAorICAgIGlmICgocmV0ID0gZmZf c2V0X3NhbXBsZV9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVfZm10c1tz LT5wcmVjaXNpb25dKSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9s aWJhdmZpbHRlci9hZl9hcm5uZG4uYyBiL2xpYmF2ZmlsdGVyL2FmX2Fybm5kbi5jCmluZGV4IDhi ZGMyMTg3ODEuLjIzZWViMTc4NTEgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX2Fybm5kbi5j CisrKyBiL2xpYmF2ZmlsdGVyL2FmX2Fybm5kbi5jCkBAIC0zMzcsNyArMzM3LDcgQEAgc3RhdGlj IGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIH07CiAg ICAgaW50IHJldCwgc2FtcGxlX3JhdGVzW10gPSB7IDQ4MDAwLCAtMSB9OwogCi0gICAgcmV0ID0g ZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIHNh bXBsZV9mbXRzKTsKKyAgICByZXQgPSBmZl9zZXRfc2FtcGxlX2Zvcm1hdHNfZnJvbV9saXN0Mihj dHgsIGNmZ19pbiwgY2ZnX291dCwgc2FtcGxlX2ZtdHMpOwogICAgIGlmIChyZXQgPCAwKQogICAg ICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hZl9hc3IuYyBiL2xp YmF2ZmlsdGVyL2FmX2Fzci5jCmluZGV4IGMzOWFjNzcyZDMuLmY1OTZlODJhMzMgMTAwNjQ0Ci0t LSBhL2xpYmF2ZmlsdGVyL2FmX2Fzci5jCisrKyBiL2xpYmF2ZmlsdGVyL2FmX2Fzci5jCkBAIC0x MzksNyArMTM5LDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29u dGV4dCAqY3R4LAogICAgIGludCBzYW1wbGVfcmF0ZXNbXSA9IHsgcy0+cmF0ZSwgLTEgfTsKICAg ICBpbnQgcmV0OwogCi0gICAgcmV0ID0gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIo Y3R4LCBjZmdfaW4sIGNmZ19vdXQsIGZvcm1hdHMpOworICAgIHJldCA9IGZmX3NldF9zYW1wbGVf Zm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBmb3JtYXRzKTsKICAgICBp ZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvYWZfYmlxdWFkcy5jIGIvbGliYXZmaWx0ZXIvYWZfYmlxdWFkcy5jCmluZGV4IDg4OTkyZTM2 YjkuLjU2NWRhMzAzOTEgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX2JpcXVhZHMuYworKysg Yi9saWJhdmZpbHRlci9hZl9iaXF1YWRzLmMKQEAgLTE5MCw3ICsxOTAsNyBAQCBzdGF0aWMgaW50 IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgICAgIHNhbXBs ZV9mbXRzX2xpc3QgPSBhdXRvX3NhbXBsZV9mbXRzOwogICAgICAgICBicmVhazsKICAgICB9Ci0g ICAgcmV0ID0gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNm Z19vdXQsIHNhbXBsZV9mbXRzX2xpc3QpOworICAgIHJldCA9IGZmX3NldF9zYW1wbGVfZm9ybWF0 c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVfZm10c19saXN0KTsKICAg ICBpZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvbGliYXZm aWx0ZXIvYWZfYnMyYi5jIGIvbGliYXZmaWx0ZXIvYWZfYnMyYi5jCmluZGV4IGE2NTgwYTY5ZWEu LjFlZjkyZGY5ZWQgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX2JzMmIuYworKysgYi9saWJh dmZpbHRlci9hZl9iczJiLmMKQEAgLTExMyw3ICsxMTMsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zv cm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgaWYgKHJldCA8IDApCiAgICAg ICAgIHJldHVybiByZXQ7CiAKLSAgICByZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9s aXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgc2FtcGxlX2ZtdHMpOworICAgIHJldCA9IGZmX3Nl dF9zYW1wbGVfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVf Zm10cyk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdp dCBhL2xpYmF2ZmlsdGVyL2FmX2Nyb3NzZmVlZC5jIGIvbGliYXZmaWx0ZXIvYWZfY3Jvc3NmZWVk LmMKaW5kZXggYmMyZmNmNTJiNC4uNjI2MDMxM2ZjOSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIv YWZfY3Jvc3NmZWVkLmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfY3Jvc3NmZWVkLmMKQEAgLTYzLDcg KzYzLDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAq Y3R4LAogCiAgICAgaW50IHJldDsKIAotICAgIHJldCA9IGZmX3NldF9jb21tb25fZm9ybWF0c19m cm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBmb3JtYXRzKTsKKyAgICByZXQgPSBmZl9z ZXRfc2FtcGxlX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgZm9ybWF0 cyk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBh L2xpYmF2ZmlsdGVyL2FmX2RpYWxvZ3VlbmhhbmNlLmMgYi9saWJhdmZpbHRlci9hZl9kaWFsb2d1 ZW5oYW5jZS5jCmluZGV4IGRmOWIyZDZhZjIuLmVjZDJiZTIzYTkgMTAwNjQ0Ci0tLSBhL2xpYmF2 ZmlsdGVyL2FmX2RpYWxvZ3VlbmhhbmNlLmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfZGlhbG9ndWVu aGFuY2UuYwpAQCAtODIsNyArODIsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3Qg QVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgQVZGaWx0ZXJDaGFubmVsTGF5b3V0cyAqaW5fbGF5 b3V0ID0gTlVMTCwgKm91dF9sYXlvdXQgPSBOVUxMOwogICAgIGludCByZXQ7CiAKLSAgICByZXQg PSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwg Zm9ybWF0cyk7CisgICAgcmV0ID0gZmZfc2V0X3NhbXBsZV9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4 LCBjZmdfaW4sIGNmZ19vdXQsIGZvcm1hdHMpOwogICAgIGlmIChyZXQgPCAwKQogICAgICAgICBy ZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hZl9lYXJ3YXguYyBiL2xpYmF2 ZmlsdGVyL2FmX2VhcndheC5jCmluZGV4IDQ5YTk4Nzg3ZWMuLmZmN2IwZGRlNzQgMTAwNjQ0Ci0t LSBhL2xpYmF2ZmlsdGVyL2FmX2VhcndheC5jCisrKyBiL2xpYmF2ZmlsdGVyL2FmX2VhcndheC5j CkBAIC05NSw3ICs5NSw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRl ckNvbnRleHQgKmN0eCwKIAogICAgIGludCByZXQ7CiAKLSAgICByZXQgPSBmZl9zZXRfY29tbW9u X2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgZm9ybWF0cyk7CisgICAg cmV0ID0gZmZfc2V0X3NhbXBsZV9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19v dXQsIGZvcm1hdHMpOwogICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCmRp ZmYgLS1naXQgYS9saWJhdmZpbHRlci9hZl9leHRyYXN0ZXJlby5jIGIvbGliYXZmaWx0ZXIvYWZf ZXh0cmFzdGVyZW8uYwppbmRleCA1NDAzMjY3NTk3Li5hNmI2ZTg2ZjU2IDEwMDY0NAotLS0gYS9s aWJhdmZpbHRlci9hZl9leHRyYXN0ZXJlby5jCisrKyBiL2xpYmF2ZmlsdGVyL2FmX2V4dHJhc3Rl cmVvLmMKQEAgLTU3LDcgKzU3LDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFW RmlsdGVyQ29udGV4dCAqY3R4LAogCiAgICAgaW50IHJldDsKIAotICAgIHJldCA9IGZmX3NldF9j b21tb25fZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBmb3JtYXRzKTsK KyAgICByZXQgPSBmZl9zZXRfc2FtcGxlX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwg Y2ZnX291dCwgZm9ybWF0cyk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7 CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FmX2hhYXMuYyBiL2xpYmF2ZmlsdGVyL2FmX2hh YXMuYwppbmRleCA0MjYwYmI4NTU2Li5iYjZkMjQzY2FlIDEwMDY0NAotLS0gYS9saWJhdmZpbHRl ci9hZl9oYWFzLmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfaGFhcy5jCkBAIC05NSw3ICs5NSw3IEBA IHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAg ICB9OwogICAgIGludCByZXQ7CiAKLSAgICByZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJv bV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgZm9ybWF0cyk7CisgICAgcmV0ID0gZmZfc2V0 X3NhbXBsZV9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIGZvcm1hdHMp OwogICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9s aWJhdmZpbHRlci9hZl9oZGNkLmMgYi9saWJhdmZpbHRlci9hZl9oZGNkLmMKaW5kZXggNmJkZWQ4 ZWY3NC4uZjVjMTA1NTY1NCAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWZfaGRjZC5jCisrKyBi L2xpYmF2ZmlsdGVyL2FmX2hkY2QuYwpAQCAtMTYzNiwxMiArMTYzNiwxMiBAQCBzdGF0aWMgaW50 IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgaWYgKHJldCA8 IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKLSAgICBpbl9mb3JtYXRzID0gZmZfbWFrZV9mb3Jt YXRfbGlzdChzYW1wbGVfZm10c19pbik7CisgICAgaW5fZm9ybWF0cyA9IGZmX21ha2Vfc2FtcGxl X2Zvcm1hdF9saXN0KHNhbXBsZV9mbXRzX2luKTsKICAgICByZXQgPSBmZl9mb3JtYXRzX3JlZihp bl9mb3JtYXRzLCAmY2ZnX2luWzBdLT5mb3JtYXRzKTsKICAgICBpZiAocmV0IDwgMCkKICAgICAg ICAgcmV0dXJuIHJldDsKIAotICAgIG91dF9mb3JtYXRzID0gZmZfbWFrZV9mb3JtYXRfbGlzdChz YW1wbGVfZm10c19vdXQpOworICAgIG91dF9mb3JtYXRzID0gZmZfbWFrZV9zYW1wbGVfZm9ybWF0 X2xpc3Qoc2FtcGxlX2ZtdHNfb3V0KTsKICAgICByZXQgPSBmZl9mb3JtYXRzX3JlZihvdXRfZm9y bWF0cywgJmNmZ19vdXRbMF0tPmZvcm1hdHMpOwogICAgIGlmIChyZXQgPCAwKQogICAgICAgICBy ZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYWZfaGVhZHBob25lLmMgYi9saWJh dmZpbHRlci9hZl9oZWFkcGhvbmUuYwppbmRleCBmZDA3NjMzNDk4Li5hMDUzZWMwM2Q5IDEwMDY0 NAotLS0gYS9saWJhdmZpbHRlci9hZl9oZWFkcGhvbmUuYworKysgYi9saWJhdmZpbHRlci9hZl9o ZWFkcGhvbmUuYwpAQCAtNjEwLDcgKzYxMCw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhj b25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICBBVkZpbHRlckNoYW5uZWxMYXlvdXRzICpo cmlyX2xheW91dHMgPSBOVUxMOwogICAgIGludCByZXQsIGk7CiAKLSAgICByZXQgPSBmZl9zZXRf Y29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgZm9ybWF0cyk7 CisgICAgcmV0ID0gZmZfc2V0X3NhbXBsZV9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4s IGNmZ19vdXQsIGZvcm1hdHMpOwogICAgIGlmIChyZXQpCiAgICAgICAgIHJldHVybiByZXQ7CiAK ZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FmX2xhZHNwYS5jIGIvbGliYXZmaWx0ZXIvYWZfbGFk c3BhLmMKaW5kZXggMGFlMmI5MDJjYi4uZWE1ZWIxYTJlZiAxMDA2NDQKLS0tIGEvbGliYXZmaWx0 ZXIvYWZfbGFkc3BhLmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfbGFkc3BhLmMKQEAgLTcwMiw3ICs3 MDIsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpj dHgsCiAgICAgQVZGaWx0ZXJDaGFubmVsTGF5b3V0cyAqbGF5b3V0czsKICAgICBzdGF0aWMgY29u c3QgZW51bSBBVlNhbXBsZUZvcm1hdCBzYW1wbGVfZm10c1tdID0gewogICAgICAgICBBVl9TQU1Q TEVfRk1UX0ZMVFAsIEFWX1NBTVBMRV9GTVRfTk9ORSB9OwotICAgIGludCByZXQgPSBmZl9zZXRf Y29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgc2FtcGxlX2Zt dHMpOworICAgIGludCByZXQgPSBmZl9zZXRfc2FtcGxlX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgs IGNmZ19pbiwgY2ZnX291dCwgc2FtcGxlX2ZtdHMpOwogICAgIGlmIChyZXQgPCAwKQogICAgICAg ICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hZl9sb3Vkbm9ybS5jIGIv bGliYXZmaWx0ZXIvYWZfbG91ZG5vcm0uYwppbmRleCAwMGQwYTE0NWFlLi4yNjM2ZjIyNDVlIDEw MDY0NAotLS0gYS9saWJhdmZpbHRlci9hZl9sb3Vkbm9ybS5jCisrKyBiL2xpYmF2ZmlsdGVyL2Fm X2xvdWRub3JtLmMKQEAgLTc0MCw3ICs3NDAsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMo Y29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgfTsKICAgICBpbnQgcmV0OwogCi0gICAg cmV0ID0gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19v dXQsIHNhbXBsZV9mbXRzKTsKKyAgICByZXQgPSBmZl9zZXRfc2FtcGxlX2Zvcm1hdHNfZnJvbV9s aXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgc2FtcGxlX2ZtdHMpOwogICAgIGlmIChyZXQgPCAw KQogICAgICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hZl9sdjIu YyBiL2xpYmF2ZmlsdGVyL2FmX2x2Mi5jCmluZGV4IGU1MDk3ZDYwZDQuLmU3ZjNmOWM1ODggMTAw NjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX2x2Mi5jCisrKyBiL2xpYmF2ZmlsdGVyL2FmX2x2Mi5j CkBAIC00ODMsNyArNDgzLDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmls dGVyQ29udGV4dCAqY3R4LAogICAgIEFWRmlsdGVyQ2hhbm5lbExheW91dHMgKmxheW91dHM7CiAg ICAgc3RhdGljIGNvbnN0IGVudW0gQVZTYW1wbGVGb3JtYXQgc2FtcGxlX2ZtdHNbXSA9IHsKICAg ICAgICAgQVZfU0FNUExFX0ZNVF9GTFRQLCBBVl9TQU1QTEVfRk1UX05PTkUgfTsKLSAgICBpbnQg cmV0ID0gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19v dXQsIHNhbXBsZV9mbXRzKTsKKyAgICBpbnQgcmV0ID0gZmZfc2V0X3NhbXBsZV9mb3JtYXRzX2Zy b21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIHNhbXBsZV9mbXRzKTsKICAgICBpZiAocmV0 IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYWZf cmVwbGF5Z2Fpbi5jIGIvbGliYXZmaWx0ZXIvYWZfcmVwbGF5Z2Fpbi5jCmluZGV4IGRiNjdjYzZm NGIuLjFlYmFlMzJlYzggMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX3JlcGxheWdhaW4uYwor KysgYi9saWJhdmZpbHRlci9hZl9yZXBsYXlnYWluLmMKQEAgLTM0Myw3ICszNDMsNyBAQCBzdGF0 aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAKICAgICBp bnQgaSwgcmV0OwogCi0gICAgcmV0ID0gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIo Y3R4LCBjZmdfaW4sIGNmZ19vdXQsIGZvcm1hdHMpOworICAgIHJldCA9IGZmX3NldF9zYW1wbGVf Zm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBmb3JtYXRzKTsKICAgICBp ZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvYWZfc2lkZWNoYWluY29tcHJlc3MuYyBiL2xpYmF2ZmlsdGVyL2FmX3NpZGVjaGFpbmNvbXBy ZXNzLmMKaW5kZXggNDkyNDQyZGY4Ni4uMDY1NTVjYmQyNiAxMDA2NDQKLS0tIGEvbGliYXZmaWx0 ZXIvYWZfc2lkZWNoYWluY29tcHJlc3MuYworKysgYi9saWJhdmZpbHRlci9hZl9zaWRlY2hhaW5j b21wcmVzcy5jCkBAIC0zMTQsNyArMzE0LDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNv bnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1 cm4gcmV0OwogCi0gICAgaWYgKChyZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0 MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgc2FtcGxlX2ZtdHMpKSA8IDApCisgICAgaWYgKChyZXQg PSBmZl9zZXRfc2FtcGxlX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwg c2FtcGxlX2ZtdHMpKSA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKICAgICByZXR1cm4gMDsK ZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FmX3NvZmFsaXplci5jIGIvbGliYXZmaWx0ZXIvYWZf c29mYWxpemVyLmMKaW5kZXggYzFiOTU2MzU2Ni4uZWQwNWRjMTAzYSAxMDA2NDQKLS0tIGEvbGli YXZmaWx0ZXIvYWZfc29mYWxpemVyLmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfc29mYWxpemVyLmMK QEAgLTY0Niw3ICs2NDYsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0 ZXJDb250ZXh0ICpjdHgsCiAgICAgICAgIEFWX1NBTVBMRV9GTVRfTk9ORQogICAgIH07CiAKLSAg ICByZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2Zn X291dCwgc2FtcGxlX2ZtdHMpOworICAgIHJldCA9IGZmX3NldF9zYW1wbGVfZm9ybWF0c19mcm9t X2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVfZm10cyk7CiAgICAgaWYgKHJldCkK ICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYWZfc3RlcmVv dG9vbHMuYyBiL2xpYmF2ZmlsdGVyL2FmX3N0ZXJlb3Rvb2xzLmMKaW5kZXggNGYyZTI2MTZiNi4u YjE4ZjZlNmJlMiAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWZfc3RlcmVvdG9vbHMuYworKysg Yi9saWJhdmZpbHRlci9hZl9zdGVyZW90b29scy5jCkBAIC0xMTcsNyArMTE3LDcgQEAgc3RhdGlj IGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIGludCBy ZXQ7CiAKIAotICAgIHJldCA9IGZmX3NldF9jb21tb25fZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwg Y2ZnX2luLCBjZmdfb3V0LCBmb3JtYXRzKTsKKyAgICByZXQgPSBmZl9zZXRfc2FtcGxlX2Zvcm1h dHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgZm9ybWF0cyk7CiAgICAgaWYgKHJl dCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2Fm X3N0ZXJlb3dpZGVuLmMgYi9saWJhdmZpbHRlci9hZl9zdGVyZW93aWRlbi5jCmluZGV4IDMxMmEy NGZmZTIuLjQ1NmI0ZDVhYTIgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX3N0ZXJlb3dpZGVu LmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfc3RlcmVvd2lkZW4uYwpAQCAtNjksNyArNjksNyBAQCBz dGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAKICAg ICBpbnQgcmV0OwogCi0gICAgcmV0ID0gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIo Y3R4LCBjZmdfaW4sIGNmZ19vdXQsIGZvcm1hdHMpOworICAgIHJldCA9IGZmX3NldF9zYW1wbGVf Zm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBmb3JtYXRzKTsKICAgICBp ZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvYWZfc3Vycm91bmQuYyBiL2xpYmF2ZmlsdGVyL2FmX3N1cnJvdW5kLmMKaW5kZXggNDYzODAx OTJhMi4uNmM5NzNmNTE4NyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYWZfc3Vycm91bmQuYwor KysgYi9saWJhdmZpbHRlci9hZl9zdXJyb3VuZC5jCkBAIC0xNTksNyArMTU5LDcgQEAgc3RhdGlj IGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIEFWRmls dGVyQ2hhbm5lbExheW91dHMgKmxheW91dHMgPSBOVUxMOwogICAgIGludCByZXQ7CiAKLSAgICBy ZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291 dCwgZm9ybWF0cyk7CisgICAgcmV0ID0gZmZfc2V0X3NhbXBsZV9mb3JtYXRzX2Zyb21fbGlzdDIo Y3R4LCBjZmdfaW4sIGNmZ19vdXQsIGZvcm1hdHMpOwogICAgIGlmIChyZXQpCiAgICAgICAgIHJl dHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FmX3ZpcnR1YWxiYXNzLmMgYi9s aWJhdmZpbHRlci9hZl92aXJ0dWFsYmFzcy5jCmluZGV4IDQxZGY3NDJhYTYuLjI4YTZkMTNlNDYg MTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX3ZpcnR1YWxiYXNzLmMKKysrIGIvbGliYXZmaWx0 ZXIvYWZfdmlydHVhbGJhc3MuYwpAQCAtNjAsNyArNjAsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zv cm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgQVZGaWx0ZXJDaGFubmVsTGF5 b3V0cyAqaW5fbGF5b3V0ID0gTlVMTCwgKm91dF9sYXlvdXQgPSBOVUxMOwogICAgIGludCByZXQ7 CiAKLSAgICByZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19p biwgY2ZnX291dCwgZm9ybWF0cyk7CisgICAgcmV0ID0gZmZfc2V0X3NhbXBsZV9mb3JtYXRzX2Zy b21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIGZvcm1hdHMpOwogICAgIGlmIChyZXQgPCAw KQogICAgICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hZl92b2x1 bWUuYyBiL2xpYmF2ZmlsdGVyL2FmX3ZvbHVtZS5jCmluZGV4IDYwM2I5MmY0YWYuLmNkNDAwMTQz NDUgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX3ZvbHVtZS5jCisrKyBiL2xpYmF2ZmlsdGVy L2FmX3ZvbHVtZS5jCkBAIC0xNTUsNyArMTU1LDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRz KGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIH07CiAgICAgaW50IHJldDsKIAotICAg IHJldCA9IGZmX3NldF9jb21tb25fZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdf b3V0LCBzYW1wbGVfZm10c1t2b2wtPnByZWNpc2lvbl0pOworICAgIHJldCA9IGZmX3NldF9zYW1w bGVfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVfZm10c1t2 b2wtPnByZWNpc2lvbl0pOwogICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1cm4gcmV0Owog CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hZl93aGlzcGVyLmMgYi9saWJhdmZpbHRlci9hZl93 aGlzcGVyLmMKaW5kZXggM2MwZWJhNDJmMC4uZDVmOTIwM2RiMSAxMDA2NDQKLS0tIGEvbGliYXZm aWx0ZXIvYWZfd2hpc3Blci5jCisrKyBiL2xpYmF2ZmlsdGVyL2FmX3doaXNwZXIuYwpAQCAtNDE0 LDcgKzQxNCw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRl eHQgKmN0eCwKICAgICBpbnQgc2FtcGxlX3JhdGVzW10gPSB7IFdISVNQRVJfU0FNUExFX1JBVEUs IC0xIH07CiAgICAgaW50IHJldDsKIAotICAgIHJldCA9IGZmX3NldF9jb21tb25fZm9ybWF0c19m cm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVfZm10cyk7CisgICAgcmV0ID0g ZmZfc2V0X3NhbXBsZV9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIHNh bXBsZV9mbXRzKTsKICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZm IC0tZ2l0IGEvbGliYXZmaWx0ZXIvYXNyY19hZmRlbGF5c3JjLmMgYi9saWJhdmZpbHRlci9hc3Jj X2FmZGVsYXlzcmMuYwppbmRleCAzZWZhOTRhOTQyLi42ZDlkZjc3ZWVhIDEwMDY0NAotLS0gYS9s aWJhdmZpbHRlci9hc3JjX2FmZGVsYXlzcmMuYworKysgYi9saWJhdmZpbHRlci9hc3JjX2FmZGVs YXlzcmMuYwpAQCAtODksNyArODksNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3Qg QVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgaW50IHNhbXBsZV9yYXRlc1tdID0geyBzLT5zYW1w bGVfcmF0ZSwgLTEgfTsKICAgICBzdGF0aWMgY29uc3QgZW51bSBBVlNhbXBsZUZvcm1hdCBzYW1w bGVfZm10c1tdID0geyBBVl9TQU1QTEVfRk1UX0ZMVFAsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZfU0FNUExFX0ZNVF9OT05FIH07Ci0g ICAgaW50IHJldCA9IGZmX3NldF9jb21tb25fZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2lu LCBjZmdfb3V0LCBzYW1wbGVfZm10cyk7CisgICAgaW50IHJldCA9IGZmX3NldF9zYW1wbGVfZm9y bWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVfZm10cyk7CiAgICAg aWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2Zmls dGVyL2FzcmNfYWZpcnNyYy5jIGIvbGliYXZmaWx0ZXIvYXNyY19hZmlyc3JjLmMKaW5kZXggNWVm Y2JkY2NhMC4uMDExMjVjYjQ1NyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYXNyY19hZmlyc3Jj LmMKKysrIGIvbGliYXZmaWx0ZXIvYXNyY19hZmlyc3JjLmMKQEAgLTEyNCw3ICsxMjQsNyBAQCBz dGF0aWMgYXZfY29sZCBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0 eCwKICAgICAgICAgQVZfU0FNUExFX0ZNVF9GTFQsCiAgICAgICAgIEFWX1NBTVBMRV9GTVRfTk9O RQogICAgIH07Ci0gICAgaW50IHJldCA9IGZmX3NldF9jb21tb25fZm9ybWF0c19mcm9tX2xpc3Qy KGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVfZm10cyk7CisgICAgaW50IHJldCA9IGZmX3Nl dF9zYW1wbGVfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVf Zm10cyk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdp dCBhL2xpYmF2ZmlsdGVyL2FzcmNfYW5vaXNlc3JjLmMgYi9saWJhdmZpbHRlci9hc3JjX2Fub2lz ZXNyYy5jCmluZGV4IGJhNDI1ZDc5MjUuLmQyMmNhMjU1ZjAgMTAwNjQ0Ci0tLSBhL2xpYmF2Zmls dGVyL2FzcmNfYW5vaXNlc3JjLmMKKysrIGIvbGliYXZmaWx0ZXIvYXNyY19hbm9pc2VzcmMuYwpA QCAtOTQsNyArOTQsNyBAQCBzdGF0aWMgYXZfY29sZCBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBB VkZpbHRlckNvbnRleHQgKmN0eCwKICAgICAgICAgQVZfU0FNUExFX0ZNVF9EQkwsCiAgICAgICAg IEFWX1NBTVBMRV9GTVRfTk9ORQogICAgIH07Ci0gICAgaW50IHJldCA9IGZmX3NldF9jb21tb25f Zm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVfZm10cyk7Cisg ICAgaW50IHJldCA9IGZmX3NldF9zYW1wbGVfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2lu LCBjZmdfb3V0LCBzYW1wbGVfZm10cyk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVy biByZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2FzcmNfZmxpdGUuYyBiL2xpYmF2Zmls dGVyL2FzcmNfZmxpdGUuYwppbmRleCAzMzU3NmJlYWRlLi5hNzQ3MTYwN2NmIDEwMDY0NAotLS0g YS9saWJhdmZpbHRlci9hc3JjX2ZsaXRlLmMKKysrIGIvbGliYXZmaWx0ZXIvYXNyY19mbGl0ZS5j CkBAIC0yNzgsNyArMjc4LDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmls dGVyQ29udGV4dCAqY3R4LAogICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1cm4gcmV0Owog Ci0gICAgcmV0ID0gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4s IGNmZ19vdXQsIGZvcm1hdHMpOworICAgIHJldCA9IGZmX3NldF9zYW1wbGVfZm9ybWF0c19mcm9t X2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBmb3JtYXRzKTsKICAgICBpZiAocmV0IDwgMCkK ICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYXNyY19oaWxi ZXJ0LmMgYi9saWJhdmZpbHRlci9hc3JjX2hpbGJlcnQuYwppbmRleCAxNDcwMDU2ZTliLi5lNmY2 OWIwMjRmIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9hc3JjX2hpbGJlcnQuYworKysgYi9saWJh dmZpbHRlci9hc3JjX2hpbGJlcnQuYwpAQCAtODYsNyArODYsNyBAQCBzdGF0aWMgYXZfY29sZCBp bnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICAgICAgQVZf U0FNUExFX0ZNVF9GTFQsCiAgICAgICAgIEFWX1NBTVBMRV9GTVRfTk9ORQogICAgIH07Ci0gICAg aW50IHJldCA9IGZmX3NldF9jb21tb25fZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBj Zmdfb3V0LCBzYW1wbGVfZm10cyk7CisgICAgaW50IHJldCA9IGZmX3NldF9zYW1wbGVfZm9ybWF0 c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVfZm10cyk7CiAgICAgaWYg KHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVy L2FzcmNfc2luYy5jIGIvbGliYXZmaWx0ZXIvYXNyY19zaW5jLmMKaW5kZXggZWY2ODQxYzg3Ni4u OThjM2M4ZGMwNCAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYXNyY19zaW5jLmMKKysrIGIvbGli YXZmaWx0ZXIvYXNyY19zaW5jLmMKQEAgLTgzLDcgKzgzLDcgQEAgc3RhdGljIGludCBxdWVyeV9m b3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIGludCBzYW1wbGVfcmF0ZXNb XSA9IHsgcy0+c2FtcGxlX3JhdGUsIC0xIH07CiAgICAgc3RhdGljIGNvbnN0IGVudW0gQVZTYW1w bGVGb3JtYXQgc2FtcGxlX2ZtdHNbXSA9IHsgQVZfU0FNUExFX0ZNVF9GTFQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZfU0FNUExFX0ZN VF9OT05FIH07Ci0gICAgaW50IHJldCA9IGZmX3NldF9jb21tb25fZm9ybWF0c19mcm9tX2xpc3Qy KGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVfZm10cyk7CisgICAgaW50IHJldCA9IGZmX3Nl dF9zYW1wbGVfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBzYW1wbGVf Zm10cyk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdp dCBhL2xpYmF2ZmlsdGVyL2FzcmNfc2luZS5jIGIvbGliYXZmaWx0ZXIvYXNyY19zaW5lLmMKaW5k ZXggMTE3NWE3OTc0Ni4uMmY4YTgzNTI5MyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYXNyY19z aW5lLmMKKysrIGIvbGliYXZmaWx0ZXIvYXNyY19zaW5lLmMKQEAgLTIyMSw3ICsyMjEsNyBAQCBz dGF0aWMgYXZfY29sZCBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0 eCwKICAgICBpbnQgc2FtcGxlX3JhdGVzW10gPSB7IHNpbmUtPnNhbXBsZV9yYXRlLCAtMSB9Owog ICAgIHN0YXRpYyBjb25zdCBlbnVtIEFWU2FtcGxlRm9ybWF0IHNhbXBsZV9mbXRzW10gPSB7IEFW X1NBTVBMRV9GTVRfUzE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFWX1NBTVBMRV9GTVRfTk9ORSB9OwotICAgIGludCByZXQgPSBmZl9z ZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgc2FtcGxl X2ZtdHMpOworICAgIGludCByZXQgPSBmZl9zZXRfc2FtcGxlX2Zvcm1hdHNfZnJvbV9saXN0Mihj dHgsIGNmZ19pbiwgY2ZnX291dCwgc2FtcGxlX2ZtdHMpOwogICAgIGlmIChyZXQgPCAwKQogICAg ICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hdmZfYTNkc2NvcGUu YyBiL2xpYmF2ZmlsdGVyL2F2Zl9hM2RzY29wZS5jCmluZGV4IGZiMDg3MjA0MTIuLjA3OTU3ZGNm ZWQgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2F2Zl9hM2RzY29wZS5jCisrKyBiL2xpYmF2Zmls dGVyL2F2Zl9hM2RzY29wZS5jCkBAIC04MiwxMSArODIsMTEgQEAgc3RhdGljIGludCBxdWVyeV9m b3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIHN0YXRpYyBjb25zdCBlbnVt IEFWUGl4ZWxGb3JtYXQgcGl4X2ZtdHNbXSA9IHsgQVZfUElYX0ZNVF9SR0JBLCBBVl9QSVhfRk1U X05PTkUgfTsKICAgICBpbnQgcmV0OwogCi0gICAgZm9ybWF0cyA9IGZmX21ha2VfZm9ybWF0X2xp c3Qoc2FtcGxlX2ZtdHMpOworICAgIGZvcm1hdHMgPSBmZl9tYWtlX3NhbXBsZV9mb3JtYXRfbGlz dChzYW1wbGVfZm10cyk7CiAgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmb3JtYXRzLCAm Y2ZnX2luWzBdLT5mb3JtYXRzKSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgZm9y bWF0cyA9IGZmX21ha2VfZm9ybWF0X2xpc3QocGl4X2ZtdHMpOworICAgIGZvcm1hdHMgPSBmZl9t YWtlX3BpeGVsX2Zvcm1hdF9saXN0KHBpeF9mbXRzKTsKICAgICBpZiAoKHJldCA9IGZmX2Zvcm1h dHNfcmVmKGZvcm1hdHMsICZjZmdfb3V0WzBdLT5mb3JtYXRzKSkgPCAwKQogICAgICAgICByZXR1 cm4gcmV0OwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hdmZfYWJpdHNjb3BlLmMgYi9saWJh dmZpbHRlci9hdmZfYWJpdHNjb3BlLmMKaW5kZXggYTRiMjEwOTQ3My4uM2E5MjQ5MDM2OCAxMDA2 NDQKLS0tIGEvbGliYXZmaWx0ZXIvYXZmX2FiaXRzY29wZS5jCisrKyBiL2xpYmF2ZmlsdGVyL2F2 Zl9hYml0c2NvcGUuYwpAQCAtNzcsMTEgKzc3LDExIEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0 cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICBzdGF0aWMgY29uc3QgZW51bSBBVlBp eGVsRm9ybWF0IHBpeF9mbXRzW10gPSB7IEFWX1BJWF9GTVRfUkdCQSwgQVZfUElYX0ZNVF9OT05F IH07CiAgICAgaW50IHJldDsKIAotICAgIGZvcm1hdHMgPSBmZl9tYWtlX2Zvcm1hdF9saXN0KHNh bXBsZV9mbXRzKTsKKyAgICBmb3JtYXRzID0gZmZfbWFrZV9zYW1wbGVfZm9ybWF0X2xpc3Qoc2Ft cGxlX2ZtdHMpOwogICAgIGlmICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZm9ybWF0cywgJmNmZ19p blswXS0+Zm9ybWF0cykpIDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIAotICAgIGZvcm1hdHMg PSBmZl9tYWtlX2Zvcm1hdF9saXN0KHBpeF9mbXRzKTsKKyAgICBmb3JtYXRzID0gZmZfbWFrZV9w aXhlbF9mb3JtYXRfbGlzdChwaXhfZm10cyk7CiAgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3Jl Zihmb3JtYXRzLCAmY2ZnX291dFswXS0+Zm9ybWF0cykpIDwgMCkKICAgICAgICAgcmV0dXJuIHJl dDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYXZmX2FoaXN0b2dyYW0uYyBiL2xpYmF2Zmls dGVyL2F2Zl9haGlzdG9ncmFtLmMKaW5kZXggY2UwZDgyZjllYy4uMzNmMGU2OGRiMCAxMDA2NDQK LS0tIGEvbGliYXZmaWx0ZXIvYXZmX2FoaXN0b2dyYW0uYworKysgYi9saWJhdmZpbHRlci9hdmZf YWhpc3RvZ3JhbS5jCkBAIC0xMDEsMTEgKzEwMSwxMSBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1h dHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgc3RhdGljIGNvbnN0IGVudW0gQVZQ aXhlbEZvcm1hdCBwaXhfZm10c1tdID0geyBBVl9QSVhfRk1UX1lVVkE0NDRQLCBBVl9QSVhfRk1U X05PTkUgfTsKICAgICBpbnQgcmV0ID0gQVZFUlJPUihFSU5WQUwpOwogCi0gICAgZm9ybWF0cyA9 IGZmX21ha2VfZm9ybWF0X2xpc3Qoc2FtcGxlX2ZtdHMpOworICAgIGZvcm1hdHMgPSBmZl9tYWtl X3NhbXBsZV9mb3JtYXRfbGlzdChzYW1wbGVfZm10cyk7CiAgICAgaWYgKChyZXQgPSBmZl9mb3Jt YXRzX3JlZihmb3JtYXRzLCAmY2ZnX2luWzBdLT5mb3JtYXRzKSkgPCAwKQogICAgICAgICByZXR1 cm4gcmV0OwogCi0gICAgZm9ybWF0cyA9IGZmX21ha2VfZm9ybWF0X2xpc3QocGl4X2ZtdHMpOwor ICAgIGZvcm1hdHMgPSBmZl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KHBpeF9mbXRzKTsKICAgICBp ZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZvcm1hdHMsICZjZmdfb3V0WzBdLT5mb3JtYXRzKSkg PCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hdmZf YXBoYXNlbWV0ZXIuYyBiL2xpYmF2ZmlsdGVyL2F2Zl9hcGhhc2VtZXRlci5jCmluZGV4IGViNTVk NTY2NjQuLmE1NTExNTg3MDMgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2F2Zl9hcGhhc2VtZXRl ci5jCisrKyBiL2xpYmF2ZmlsdGVyL2F2Zl9hcGhhc2VtZXRlci5jCkBAIC0xMDQsNyArMTA0LDcg QEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAog ICAgIH07CiAgICAgaW50IHJldDsKIAotICAgIGZvcm1hdHMgPSBmZl9tYWtlX2Zvcm1hdF9saXN0 KHNhbXBsZV9mbXRzKTsKKyAgICBmb3JtYXRzID0gZmZfbWFrZV9zYW1wbGVfZm9ybWF0X2xpc3Qo c2FtcGxlX2ZtdHMpOwogICAgIGlmICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZm9ybWF0cywgJmNm Z19pblswXS0+Zm9ybWF0cykpIDwgMCB8fAogICAgICAgICAocmV0ID0gZmZfZm9ybWF0c19yZWYo Zm9ybWF0cywgJmNmZ19vdXRbMF0tPmZvcm1hdHMpKSA8IDApCiAgICAgICAgIHJldHVybiByZXQ7 CkBAIC0xMTQsNyArMTE0LDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmls dGVyQ29udGV4dCAqY3R4LAogICAgICAgICByZXR1cm4gcmV0OwogCiAgICAgaWYgKHMtPmRvX3Zp ZGVvKSB7Ci0gICAgICAgIGZvcm1hdHMgPSBmZl9tYWtlX2Zvcm1hdF9saXN0KHBpeF9mbXRzKTsK KyAgICAgICAgZm9ybWF0cyA9IGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3QocGl4X2ZtdHMpOwog ICAgICAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZvcm1hdHMsICZjZmdfb3V0WzFdLT5m b3JtYXRzKSkgPCAwKQogICAgICAgICAgICAgcmV0dXJuIHJldDsKICAgICB9CmRpZmYgLS1naXQg YS9saWJhdmZpbHRlci9hdmZfYXZlY3RvcnNjb3BlLmMgYi9saWJhdmZpbHRlci9hdmZfYXZlY3Rv cnNjb3BlLmMKaW5kZXggOTAyZDQ2MWQ4Ni4uNGU0Nzc2MjdiNSAxMDA2NDQKLS0tIGEvbGliYXZm aWx0ZXIvYXZmX2F2ZWN0b3JzY29wZS5jCisrKyBiL2xpYmF2ZmlsdGVyL2F2Zl9hdmVjdG9yc2Nv cGUuYwpAQCAtMjQzLDcgKzI0Myw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBB VkZpbHRlckNvbnRleHQgKmN0eCwKICAgICB9OwogICAgIGludCByZXQ7CiAKLSAgICBmb3JtYXRz ID0gZmZfbWFrZV9mb3JtYXRfbGlzdChzYW1wbGVfZm10cyk7CisgICAgZm9ybWF0cyA9IGZmX21h a2Vfc2FtcGxlX2Zvcm1hdF9saXN0KHNhbXBsZV9mbXRzKTsKICAgICBpZiAoKHJldCA9IGZmX2Zv cm1hdHNfcmVmICAgICAgICAgKGZvcm1hdHMsICZjZmdfaW5bMF0tPmZvcm1hdHMgICAgICAgICkp IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIApAQCAtMjUxLDcgKzI1MSw3IEBAIHN0YXRpYyBp bnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICBpZiAocmV0 IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIAotICAgIGZvcm1hdHMgPSBmZl9tYWtlX2Zvcm1h dF9saXN0KHBpeF9mbXRzKTsKKyAgICBmb3JtYXRzID0gZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlz dChwaXhfZm10cyk7CiAgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmb3JtYXRzLCAmY2Zn X291dFswXS0+Zm9ybWF0cykpIDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0 IGEvbGliYXZmaWx0ZXIvYXZmX3Nob3djcXQuYyBiL2xpYmF2ZmlsdGVyL2F2Zl9zaG93Y3F0LmMK aW5kZXggNDI4ZThiZmY2NS4uYmVhMzExY2QxOSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYXZm X3Nob3djcXQuYworKysgYi9saWJhdmZpbHRlci9hdmZfc2hvd2NxdC5jCkBAIC0xMzMwLDcgKzEz MzAsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpj dHgsCiAgICAgaW50IHJldDsKIAogICAgIC8qIHNldCBpbnB1dCBhdWRpbyBmb3JtYXRzICovCi0g ICAgZm9ybWF0cyA9IGZmX21ha2VfZm9ybWF0X2xpc3Qoc2FtcGxlX2ZtdHMpOworICAgIGZvcm1h dHMgPSBmZl9tYWtlX3NhbXBsZV9mb3JtYXRfbGlzdChzYW1wbGVfZm10cyk7CiAgICAgaWYgKChy ZXQgPSBmZl9mb3JtYXRzX3JlZihmb3JtYXRzLCAmY2ZnX2luWzBdLT5mb3JtYXRzKSkgPCAwKQog ICAgICAgICByZXR1cm4gcmV0OwogCkBAIC0xMzM5LDcgKzEzMzksNyBAQCBzdGF0aWMgaW50IHF1 ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgICAgIHJldHVybiBy ZXQ7CiAKICAgICAvKiBzZXQgb3V0cHV0IHZpZGVvIGZvcm1hdCAqLwotICAgIGZvcm1hdHMgPSBm Zl9tYWtlX2Zvcm1hdF9saXN0KHBpeF9mbXRzKTsKKyAgICBmb3JtYXRzID0gZmZfbWFrZV9waXhl bF9mb3JtYXRfbGlzdChwaXhfZm10cyk7CiAgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihm b3JtYXRzLCAmY2ZnX291dFswXS0+Zm9ybWF0cykpIDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsK IApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYXZmX3Nob3djd3QuYyBiL2xpYmF2ZmlsdGVyL2F2 Zl9zaG93Y3d0LmMKaW5kZXggOGVkZjJmYjQzYi4uNWNiMmU5ZjlmYSAxMDA2NDQKLS0tIGEvbGli YXZmaWx0ZXIvYXZmX3Nob3djd3QuYworKysgYi9saWJhdmZpbHRlci9hdmZfc2hvd2N3dC5jCkBA IC0yMzEsMTEgKzIzMSwxMSBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0 ZXJDb250ZXh0ICpjdHgsCiAgICAgc3RhdGljIGNvbnN0IGVudW0gQVZQaXhlbEZvcm1hdCBwaXhf Zm10c1tdID0geyBBVl9QSVhfRk1UX1lVVjQ0NFAsIEFWX1BJWF9GTVRfWVVWSjQ0NFAsIEFWX1BJ WF9GTVRfWVVWQTQ0NFAsIEFWX1BJWF9GTVRfTk9ORSB9OwogICAgIGludCByZXQ7CiAKLSAgICBm b3JtYXRzID0gZmZfbWFrZV9mb3JtYXRfbGlzdChzYW1wbGVfZm10cyk7CisgICAgZm9ybWF0cyA9 IGZmX21ha2Vfc2FtcGxlX2Zvcm1hdF9saXN0KHNhbXBsZV9mbXRzKTsKICAgICBpZiAoKHJldCA9 IGZmX2Zvcm1hdHNfcmVmKGZvcm1hdHMsICZjZmdfaW5bMF0tPmZvcm1hdHMpKSA8IDApCiAgICAg ICAgIHJldHVybiByZXQ7CiAKLSAgICBmb3JtYXRzID0gZmZfbWFrZV9mb3JtYXRfbGlzdChwaXhf Zm10cyk7CisgICAgZm9ybWF0cyA9IGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3QocGl4X2ZtdHMp OwogICAgIGlmICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZm9ybWF0cywgJmNmZ19vdXRbMF0tPmZv cm1hdHMpKSA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2Zmls dGVyL2F2Zl9zaG93ZnJlcXMuYyBiL2xpYmF2ZmlsdGVyL2F2Zl9zaG93ZnJlcXMuYwppbmRleCAy NDRiMDEzYWRhLi5iYmJjZTJlNDI5IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9hdmZfc2hvd2Zy ZXFzLmMKKysrIGIvbGliYXZmaWx0ZXIvYXZmX3Nob3dmcmVxcy5jCkBAIC0xMjYsMTIgKzEyNiwx MiBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgs CiAgICAgaW50IHJldDsKIAogICAgIC8qIHNldCBpbnB1dCBhdWRpbyBmb3JtYXRzICovCi0gICAg Zm9ybWF0cyA9IGZmX21ha2VfZm9ybWF0X2xpc3Qoc2FtcGxlX2ZtdHMpOworICAgIGZvcm1hdHMg PSBmZl9tYWtlX3NhbXBsZV9mb3JtYXRfbGlzdChzYW1wbGVfZm10cyk7CiAgICAgaWYgKChyZXQg PSBmZl9mb3JtYXRzX3JlZihmb3JtYXRzLCAmY2ZnX2luWzBdLT5mb3JtYXRzKSkgPCAwKQogICAg ICAgICByZXR1cm4gcmV0OwogCiAgICAgLyogc2V0IG91dHB1dCB2aWRlbyBmb3JtYXQgKi8KLSAg ICBmb3JtYXRzID0gZmZfbWFrZV9mb3JtYXRfbGlzdChwaXhfZm10cyk7CisgICAgZm9ybWF0cyA9 IGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3QocGl4X2ZtdHMpOwogICAgIGlmICgocmV0ID0gZmZf Zm9ybWF0c19yZWYoZm9ybWF0cywgJmNmZ19vdXRbMF0tPmZvcm1hdHMpKSA8IDApCiAgICAgICAg IHJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2F2Zl9zaG93c3BhdGlhbC5j IGIvbGliYXZmaWx0ZXIvYXZmX3Nob3dzcGF0aWFsLmMKaW5kZXggNDkxNTAxZTMzNy4uZGI4NDg0 YzU2MCAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYXZmX3Nob3dzcGF0aWFsLmMKKysrIGIvbGli YXZmaWx0ZXIvYXZmX3Nob3dzcGF0aWFsLmMKQEAgLTkwLDcgKzkwLDcgQEAgc3RhdGljIGludCBx dWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIHN0YXRpYyBjb25z dCBBVkNoYW5uZWxMYXlvdXQgbGF5b3V0c1tdID0geyBBVl9DSEFOTkVMX0xBWU9VVF9TVEVSRU8s IHsgLm5iX2NoYW5uZWxzID0gMCB9IH07CiAgICAgaW50IHJldDsKIAotICAgIGZvcm1hdHMgPSBm Zl9tYWtlX2Zvcm1hdF9saXN0KHNhbXBsZV9mbXRzKTsKKyAgICBmb3JtYXRzID0gZmZfbWFrZV9z YW1wbGVfZm9ybWF0X2xpc3Qoc2FtcGxlX2ZtdHMpOwogICAgIGlmICgocmV0ID0gZmZfZm9ybWF0 c19yZWYoZm9ybWF0cywgJmNmZ19pblswXS0+Zm9ybWF0cykpIDwgMCkKICAgICAgICAgcmV0dXJu IHJldDsKIApAQCAtOTgsNyArOTgsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3Qg QVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiBy ZXQ7CiAKLSAgICBmb3JtYXRzID0gZmZfbWFrZV9mb3JtYXRfbGlzdChwaXhfZm10cyk7CisgICAg Zm9ybWF0cyA9IGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3QocGl4X2ZtdHMpOwogICAgIGlmICgo cmV0ID0gZmZfZm9ybWF0c19yZWYoZm9ybWF0cywgJmNmZ19vdXRbMF0tPmZvcm1hdHMpKSA8IDAp CiAgICAgICAgIHJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2F2Zl9zaG93 c3BlY3RydW0uYyBiL2xpYmF2ZmlsdGVyL2F2Zl9zaG93c3BlY3RydW0uYwppbmRleCBlZTcxZDU1 ODk0Li42N2JiYzc3MTUwIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9hdmZfc2hvd3NwZWN0cnVt LmMKKysrIGIvbGliYXZmaWx0ZXIvYXZmX3Nob3dzcGVjdHJ1bS5jCkBAIC0zNjgsMTIgKzM2OCwx MiBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgs CiAgICAgaW50IHJldDsKIAogICAgIC8qIHNldCBpbnB1dCBhdWRpbyBmb3JtYXRzICovCi0gICAg Zm9ybWF0cyA9IGZmX21ha2VfZm9ybWF0X2xpc3Qoc2FtcGxlX2ZtdHMpOworICAgIGZvcm1hdHMg PSBmZl9tYWtlX3NhbXBsZV9mb3JtYXRfbGlzdChzYW1wbGVfZm10cyk7CiAgICAgaWYgKChyZXQg PSBmZl9mb3JtYXRzX3JlZihmb3JtYXRzLCAmY2ZnX2luWzBdLT5mb3JtYXRzKSkgPCAwKQogICAg ICAgICByZXR1cm4gcmV0OwogCiAgICAgLyogc2V0IG91dHB1dCB2aWRlbyBmb3JtYXQgKi8KLSAg ICBmb3JtYXRzID0gZmZfbWFrZV9mb3JtYXRfbGlzdChwaXhfZm10cyk7CisgICAgZm9ybWF0cyA9 IGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3QocGl4X2ZtdHMpOwogICAgIGlmICgocmV0ID0gZmZf Zm9ybWF0c19yZWYoZm9ybWF0cywgJmNmZ19vdXRbMF0tPmZvcm1hdHMpKSA8IDApCiAgICAgICAg IHJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2F2Zl9zaG93dm9sdW1lLmMg Yi9saWJhdmZpbHRlci9hdmZfc2hvd3ZvbHVtZS5jCmluZGV4IDg0NzJlODZhMTUuLjI1OTU5Y2Fi OWIgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2F2Zl9zaG93dm9sdW1lLmMKKysrIGIvbGliYXZm aWx0ZXIvYXZmX3Nob3d2b2x1bWUuYwpAQCAtMTE5LDExICsxMTksMTEgQEAgc3RhdGljIGludCBx dWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIHN0YXRpYyBjb25z dCBlbnVtIEFWUGl4ZWxGb3JtYXQgcGl4X2ZtdHNbXSA9IHsgQVZfUElYX0ZNVF9SR0JBLCBBVl9Q SVhfRk1UX05PTkUgfTsKICAgICBpbnQgcmV0OwogCi0gICAgZm9ybWF0cyA9IGZmX21ha2VfZm9y bWF0X2xpc3Qoc2FtcGxlX2ZtdHMpOworICAgIGZvcm1hdHMgPSBmZl9tYWtlX3NhbXBsZV9mb3Jt YXRfbGlzdChzYW1wbGVfZm10cyk7CiAgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmb3Jt YXRzLCAmY2ZnX2luWzBdLT5mb3JtYXRzKSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCi0g ICAgZm9ybWF0cyA9IGZmX21ha2VfZm9ybWF0X2xpc3QocGl4X2ZtdHMpOworICAgIGZvcm1hdHMg PSBmZl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KHBpeF9mbXRzKTsKICAgICBpZiAoKHJldCA9IGZm X2Zvcm1hdHNfcmVmKGZvcm1hdHMsICZjZmdfb3V0WzBdLT5mb3JtYXRzKSkgPCAwKQogICAgICAg ICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hdmZfc2hvd3dhdmVzLmMg Yi9saWJhdmZpbHRlci9hdmZfc2hvd3dhdmVzLmMKaW5kZXggZDFmMTI3N2JlYi4uZGRhMTVjNTMw NiAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvYXZmX3Nob3d3YXZlcy5jCisrKyBiL2xpYmF2Zmls dGVyL2F2Zl9zaG93d2F2ZXMuYwpAQCAtMTY1LDEyICsxNjUsMTIgQEAgc3RhdGljIGludCBxdWVy eV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIGludCByZXQ7CiAKICAg ICAvKiBzZXQgaW5wdXQgYXVkaW8gZm9ybWF0cyAqLwotICAgIGZvcm1hdHMgPSBmZl9tYWtlX2Zv cm1hdF9saXN0KHNhbXBsZV9mbXRzKTsKKyAgICBmb3JtYXRzID0gZmZfbWFrZV9zYW1wbGVfZm9y bWF0X2xpc3Qoc2FtcGxlX2ZtdHMpOwogICAgIGlmICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZm9y bWF0cywgJmNmZ19pblswXS0+Zm9ybWF0cykpIDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIAog ICAgIC8qIHNldCBvdXRwdXQgdmlkZW8gZm9ybWF0ICovCi0gICAgZm9ybWF0cyA9IGZmX21ha2Vf Zm9ybWF0X2xpc3QocGl4X2ZtdHMpOworICAgIGZvcm1hdHMgPSBmZl9tYWtlX3BpeGVsX2Zvcm1h dF9saXN0KHBpeF9mbXRzKTsKICAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZvcm1hdHMs ICZjZmdfb3V0WzBdLT5mb3JtYXRzKSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCmRpZmYg LS1naXQgYS9saWJhdmZpbHRlci9idWZmZXJzaW5rLmMgYi9saWJhdmZpbHRlci9idWZmZXJzaW5r LmMKaW5kZXggZDlhMTI0YjQ1NS4uY2M5Nzg5ZjU3YyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIv YnVmZmVyc2luay5jCisrKyBiL2xpYmF2ZmlsdGVyL2J1ZmZlcnNpbmsuYwpAQCAtNDAwLDcgKzQw MCw3IEBAIHN0YXRpYyBpbnQgdnNpbmtfcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRl eHQgKmN0eCwKICAgICBpZiAoYnVmLT5uYl9waXhlbF9mb3JtYXRzIHx8IGJ1Zi0+bmJfY29sb3Jz cGFjZXMgfHwgYnVmLT5uYl9jb2xvcnJhbmdlcyB8fCBidWYtPm5iX2FscGhhbW9kZXMpIHsKICNl bmRpZgogICAgICAgICBpZiAoYnVmLT5uYl9waXhlbF9mb3JtYXRzKSB7Ci0gICAgICAgICAgICBy ZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291 dCwgYnVmLT5waXhlbF9mb3JtYXRzKTsKKyAgICAgICAgICAgIHJldCA9IGZmX3NldF9waXhlbF9m b3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIGJ1Zi0+cGl4ZWxfZm9ybWF0 cyk7CiAgICAgICAgICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgICAgICAgICByZXR1cm4gcmV0 OwogICAgICAgICB9CkBAIC00NzQsNyArNDc0LDcgQEAgc3RhdGljIGludCBhc2lua19xdWVyeV9m b3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIGlmIChidWYtPm5iX3NhbXBs ZV9mb3JtYXRzIHx8IGJ1Zi0+bmJfc2FtcGxlcmF0ZXMgfHwgYnVmLT5uYl9jaGFubmVsX2xheW91 dHMpIHsKICNlbmRpZgogICAgICAgICBpZiAoYnVmLT5uYl9zYW1wbGVfZm9ybWF0cykgewotICAg ICAgICAgICAgcmV0ID0gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdf aW4sIGNmZ19vdXQsIGJ1Zi0+c2FtcGxlX2Zvcm1hdHMpOworICAgICAgICAgICAgcmV0ID0gZmZf c2V0X3NhbXBsZV9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIGJ1Zi0+ c2FtcGxlX2Zvcm1hdHMpOwogICAgICAgICAgICAgaWYgKHJldCA8IDApCiAgICAgICAgICAgICAg ICAgcmV0dXJuIHJldDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvZl9kcmF3 Z3JhcGguYyBiL2xpYmF2ZmlsdGVyL2ZfZHJhd2dyYXBoLmMKaW5kZXggZjc4MWU4YzJmZS4uYzlh YzZjMGNhOSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvZl9kcmF3Z3JhcGguYworKysgYi9saWJh dmZpbHRlci9mX2RyYXdncmFwaC5jCkBAIC0xMzcsNyArMTM3LDcgQEAgc3RhdGljIGludCBxdWVy eV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIH07CiAgICAgaW50IHJl dDsKIAotICAgIEFWRmlsdGVyRm9ybWF0cyAqZm10c19saXN0ID0gZmZfbWFrZV9mb3JtYXRfbGlz dChwaXhfZm10cyk7CisgICAgQVZGaWx0ZXJGb3JtYXRzICpmbXRzX2xpc3QgPSBmZl9tYWtlX3Bp eGVsX2Zvcm1hdF9saXN0KHBpeF9mbXRzKTsKICAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVm KGZtdHNfbGlzdCwgJmNmZ19vdXRbMF0tPmZvcm1hdHMpKSA8IDApCiAgICAgICAgIHJldHVybiBy ZXQ7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2ZfZWJ1cjEyOC5jIGIvbGliYXZmaWx0ZXIv Zl9lYnVyMTI4LmMKaW5kZXggZmE2ZjEzNzVhMy4uNDZmZjcwMmU2YiAxMDA2NDQKLS0tIGEvbGli YXZmaWx0ZXIvZl9lYnVyMTI4LmMKKysrIGIvbGliYXZmaWx0ZXIvZl9lYnVyMTI4LmMKQEAgLTEw MjIsNyArMTAyMiw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNv bnRleHQgKmN0eCwKIAogICAgIC8qIHNldCBvcHRpb25hbCBvdXRwdXQgdmlkZW8gZm9ybWF0ICov CiAgICAgaWYgKGVidXIxMjgtPmRvX3ZpZGVvKSB7Ci0gICAgICAgIGZvcm1hdHMgPSBmZl9tYWtl X2Zvcm1hdF9saXN0KHBpeF9mbXRzKTsKKyAgICAgICAgZm9ybWF0cyA9IGZmX21ha2VfcGl4ZWxf Zm9ybWF0X2xpc3QocGl4X2ZtdHMpOwogICAgICAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVm KGZvcm1hdHMsICZjZmdfb3V0WzBdLT5mb3JtYXRzKSkgPCAwKQogICAgICAgICAgICAgcmV0dXJu IHJldDsKICAgICAgICAgb3V0X2lkeCA9IDE7CkBAIC0xMDMxLDcgKzEwMzEsNyBAQCBzdGF0aWMg aW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgLyogc2V0 IGlucHV0IGFuZCBvdXRwdXQgYXVkaW8gZm9ybWF0cwogICAgICAqIE5vdGU6IGZmX3NldF9jb21t b25fKiBmdW5jdGlvbnMgYXJlIG5vdCB1c2VkIGJlY2F1c2UgdGhleSBhZmZlY3QgYWxsIHRoZQog ICAgICAqIGxpbmtzLCBhbmQgdGh1cyBicmVhayB0aGUgdmlkZW8gZm9ybWF0IG5lZ290aWF0aW9u ICovCi0gICAgZm9ybWF0cyA9IGZmX21ha2VfZm9ybWF0X2xpc3Qoc2FtcGxlX2ZtdHMpOworICAg IGZvcm1hdHMgPSBmZl9tYWtlX3NhbXBsZV9mb3JtYXRfbGlzdChzYW1wbGVfZm10cyk7CiAgICAg aWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmb3JtYXRzLCAmY2ZnX2luWzBdLT5mb3JtYXRzKSkg PCAwIHx8CiAgICAgICAgIChyZXQgPSBmZl9mb3JtYXRzX3JlZihmb3JtYXRzLCAmY2ZnX291dFtv dXRfaWR4XS0+Zm9ybWF0cykpIDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBh L2xpYmF2ZmlsdGVyL2ZfZ3JhcGhtb25pdG9yLmMgYi9saWJhdmZpbHRlci9mX2dyYXBobW9uaXRv ci5jCmluZGV4IDk1YzM0NTkzZDIuLjU0NzY1OWMxZTEgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVy L2ZfZ3JhcGhtb25pdG9yLmMKKysrIGIvbGliYXZmaWx0ZXIvZl9ncmFwaG1vbml0b3IuYwpAQCAt MTU2LDcgKzE1Niw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNv bnRleHQgKmN0eCwKICAgICB9OwogICAgIGludCByZXQ7CiAKLSAgICBBVkZpbHRlckZvcm1hdHMg KmZtdHNfbGlzdCA9IGZmX21ha2VfZm9ybWF0X2xpc3QocGl4X2ZtdHMpOworICAgIEFWRmlsdGVy Rm9ybWF0cyAqZm10c19saXN0ID0gZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdChwaXhfZm10cyk7 CiAgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmbXRzX2xpc3QsICZjZmdfb3V0WzBdLT5m b3JtYXRzKSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9saWJhdmZp bHRlci9mX3NlbGVjdC5jIGIvbGliYXZmaWx0ZXIvZl9zZWxlY3QuYwppbmRleCAzNzgxZTUwODE0 Li4zZjBjOTA4ZDE2IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9mX3NlbGVjdC5jCisrKyBiL2xp YmF2ZmlsdGVyL2Zfc2VsZWN0LmMKQEAgLTUyNyw3ICs1MjcsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5 X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgICAgICAgICBBVl9QSVhf Rk1UX1lVVjQyMFAxMCwKICAgICAgICAgICAgIEFWX1BJWF9GTVRfTk9ORQogICAgICAgICB9Owot ICAgICAgICByZXR1cm4gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdf aW4sIGNmZ19vdXQsIHBpeF9mbXRzKTsKKyAgICAgICAgcmV0dXJuIGZmX3NldF9waXhlbF9mb3Jt YXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIHBpeF9mbXRzKTsKICAgICB9CiAg ICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9zcmNfYXZzeW5jdGVzdC5j IGIvbGliYXZmaWx0ZXIvc3JjX2F2c3luY3Rlc3QuYwppbmRleCBlMmM2NmZkNmJlLi42Mzg3ZDc5 NWVjIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9zcmNfYXZzeW5jdGVzdC5jCisrKyBiL2xpYmF2 ZmlsdGVyL3NyY19hdnN5bmN0ZXN0LmMKQEAgLTEwOSw3ICsxMDksNyBAQCBzdGF0aWMgYXZfY29s ZCBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICBBVkZp bHRlckZvcm1hdHMgKmZvcm1hdHM7CiAgICAgaW50IHJldDsKIAotICAgIGZvcm1hdHMgPSBmZl9t YWtlX2Zvcm1hdF9saXN0KHNhbXBsZV9mbXRzKTsKKyAgICBmb3JtYXRzID0gZmZfbWFrZV9zYW1w bGVfZm9ybWF0X2xpc3Qoc2FtcGxlX2ZtdHMpOwogICAgIGlmICghZm9ybWF0cykKICAgICAgICAg cmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKICAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZv cm1hdHMsICZjZmdfb3V0WzBdLT5mb3JtYXRzKSkgPCAwKQpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvdmFhcGlfdnBwLmMgYi9saWJhdmZpbHRlci92YWFwaV92cHAuYwppbmRleCA5YmUwNzZmYWRi Li5jYjg1NWNjMjgxIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92YWFwaV92cHAuYworKysgYi9s aWJhdmZpbHRlci92YWFwaV92cHAuYwpAQCAtMzUsNyArMzUsNyBAQCBpbnQgZmZfdmFhcGlfdnBw X3F1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICphdmN0eCwKICAgICB9OwogICAg IGludCBlcnI7CiAKLSAgICBlcnIgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0Mihh dmN0eCwgY2ZnX2luLCBjZmdfb3V0LCBwaXhfZm10cyk7CisgICAgZXJyID0gZmZfc2V0X3BpeGVs X2Zvcm1hdHNfZnJvbV9saXN0MihhdmN0eCwgY2ZnX2luLCBjZmdfb3V0LCBwaXhfZm10cyk7CiAg ICAgaWYgKGVyciA8IDApCiAgICAgICAgIHJldHVybiBlcnI7CiAKZGlmZiAtLWdpdCBhL2xpYmF2 ZmlsdGVyL3ZhZl9zcGVjdHJ1bXN5bnRoLmMgYi9saWJhdmZpbHRlci92YWZfc3BlY3RydW1zeW50 aC5jCmluZGV4IDA0ZDM1NGQ1MDQuLjg4NzMwNjJlMjMgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVy L3ZhZl9zcGVjdHJ1bXN5bnRoLmMKKysrIGIvbGliYXZmaWx0ZXIvdmFmX3NwZWN0cnVtc3ludGgu YwpAQCAtMTExLDcgKzExMSw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZp bHRlckNvbnRleHQgKmN0eCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFWX1BJWF9GTVRfWVVWNDQ0UDE2LCBBVl9QSVhfRk1UX05PTkUgfTsKICAg ICBpbnQgcmV0LCBzYW1wbGVfcmF0ZXNbXSA9IHsgNDgwMDAsIC0xIH07CiAKLSAgICBmb3JtYXRz ID0gZmZfbWFrZV9mb3JtYXRfbGlzdChzYW1wbGVfZm10cyk7CisgICAgZm9ybWF0cyA9IGZmX21h a2Vfc2FtcGxlX2Zvcm1hdF9saXN0KHNhbXBsZV9mbXRzKTsKICAgICBpZiAoKHJldCA9IGZmX2Zv cm1hdHNfcmVmICAgICAgICAgKGZvcm1hdHMsICZjZmdfb3V0WzBdLT5mb3JtYXRzICAgICAgICAg KSkgPCAwIHx8CiAgICAgICAgIChyZXQgPSBmZl9hZGRfY2hhbm5lbF9sYXlvdXQgICgmbGF5b3V0 LCAmRkZfQ09VTlQyTEFZT1VUKHMtPmNoYW5uZWxzKSkpIDwgMCB8fAogICAgICAgICAocmV0ID0g ZmZfY2hhbm5lbF9sYXlvdXRzX3JlZiAobGF5b3V0ICwgJmNmZ19vdXRbMF0tPmNoYW5uZWxfbGF5 b3V0cykpIDwgMCkKQEAgLTEyNCwxMyArMTI0LDEzIEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0 cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNf cmVmKGZvcm1hdHMsICZjZmdfb3V0WzBdLT5zYW1wbGVyYXRlcykpIDwgMCkKICAgICAgICAgcmV0 dXJuIHJldDsKIAotICAgIGZvcm1hdHMgPSBmZl9tYWtlX2Zvcm1hdF9saXN0KHBpeF9mbXRzKTsK KyAgICBmb3JtYXRzID0gZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdChwaXhfZm10cyk7CiAgICAg aWYgKCFmb3JtYXRzKQogICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwogICAgIGlmICgo cmV0ID0gZmZfZm9ybWF0c19yZWYoZm9ybWF0cywgJmNmZ19pbltNQUdOSVRVREVdLT5mb3JtYXRz KSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgZm9ybWF0cyA9IGZmX21ha2VfZm9y bWF0X2xpc3QocGl4X2ZtdHMpOworICAgIGZvcm1hdHMgPSBmZl9tYWtlX3BpeGVsX2Zvcm1hdF9s aXN0KHBpeF9mbXRzKTsKICAgICBpZiAoIWZvcm1hdHMpCiAgICAgICAgIHJldHVybiBBVkVSUk9S KEVOT01FTSk7CiAgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmb3JtYXRzLCAmY2ZnX2lu W1BIQVNFXS0+Zm9ybWF0cykpIDwgMCkKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2FscGhh bWVyZ2UuYyBiL2xpYmF2ZmlsdGVyL3ZmX2FscGhhbWVyZ2UuYwppbmRleCBjMTdhNjQ3ZGJlLi5i NWM3YjNkOWFmIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9hbHBoYW1lcmdlLmMKKysrIGIv bGliYXZmaWx0ZXIvdmZfYWxwaGFtZXJnZS5jCkBAIC0xMTEsMTIgKzExMSwxMiBAQCBzdGF0aWMg aW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgc3RhdGlj IGNvbnN0IGVudW0gQVZQaXhlbEZvcm1hdCBhbHBoYV9mbXRzW10gPSB7IEFWX1BJWF9GTVRfR1JB WTgsIEFWX1BJWF9GTVRfTk9ORSB9OwogICAgIGludCByZXQ7CiAKLSAgICByZXQgPSBmZl9mb3Jt YXRzX3JlZihmZl9tYWtlX2Zvcm1hdF9saXN0KGFscGhhX2ZtdHMpLAorICAgIHJldCA9IGZmX2Zv cm1hdHNfcmVmKGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3QoYWxwaGFfZm10cyksCiAgICAgICAg ICAgICAgICAgICAgICAgICAgJmNmZ19pblsxXS0+Zm9ybWF0cyk7CiAgICAgaWYgKHJldCA8IDAp CiAgICAgICAgIHJldHVybiByZXQ7CiAKLSAgICByZXQgPSBmZl9zZXRfY29tbW9uX2Zvcm1hdHNf ZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgbWFpbl9mbXRzKTsKKyAgICByZXQgPSBm Zl9zZXRfcGl4ZWxfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBtYWlu X2ZtdHMpOwogICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCmRpZmYgLS1n aXQgYS9saWJhdmZpbHRlci92Zl9hbWZfY29tbW9uLmMgYi9saWJhdmZpbHRlci92Zl9hbWZfY29t bW9uLmMKaW5kZXggYzg2MjBiYzUxMy4uYjQ1OGRlNWU1YyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0 ZXIvdmZfYW1mX2NvbW1vbi5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX2FtZl9jb21tb24uYwpAQCAt MjE4LDExICsyMTgsMTEgQEAgaW50IGFtZl9zZXR1cF9pbnB1dF9vdXRwdXRfZm9ybWF0cyhBVkZp bHRlckNvbnRleHQgKmF2Y3R4LAogICAgICAgICB9CiAgICAgfQogCi0gICAgaW5wdXRfZm9ybWF0 cyA9IGZmX21ha2VfZm9ybWF0X2xpc3Qob3V0cHV0X3BpeF9mbXRzKTsKKyAgICBpbnB1dF9mb3Jt YXRzID0gZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdChvdXRwdXRfcGl4X2ZtdHMpOwogICAgIGlm ICghaW5wdXRfZm9ybWF0cykgewogICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwogICAg IH0KLSAgICBvdXRwdXRfZm9ybWF0cyA9IGZmX21ha2VfZm9ybWF0X2xpc3Qob3V0cHV0X3BpeF9m bXRzKTsKKyAgICBvdXRwdXRfZm9ybWF0cyA9IGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3Qob3V0 cHV0X3BpeF9mbXRzKTsKICAgICBpZiAoIW91dHB1dF9mb3JtYXRzKSB7CiAgICAgICAgIHJldHVy biBBVkVSUk9SKEVOT01FTSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfYmxh Y2tkZXRlY3QuYyBiL2xpYmF2ZmlsdGVyL3ZmX2JsYWNrZGV0ZWN0LmMKaW5kZXggMjcxMzAxNzBh My4uZGYxMWEyMTQwZSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfYmxhY2tkZXRlY3QuYwor KysgYi9saWJhdmZpbHRlci92Zl9ibGFja2RldGVjdC5jCkBAIC0xMTcsOSArMTE3LDkgQEAgc3Rh dGljIGludCBxdWVyeV9mb3JtYXQoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgY29u c3QgQmxhY2tEZXRlY3RDb250ZXh0ICpzID0gY3R4LT5wcml2OwogICAgIEFWRmlsdGVyRm9ybWF0 cyAqZm9ybWF0czsKICAgICBpZiAocy0+YWxwaGEpCi0gICAgICAgIGZvcm1hdHMgPSBmZl9tYWtl X2Zvcm1hdF9saXN0KHl1dmFfZm9ybWF0cyk7CisgICAgICAgIGZvcm1hdHMgPSBmZl9tYWtlX3Bp eGVsX2Zvcm1hdF9saXN0KHl1dmFfZm9ybWF0cyk7CiAgICAgZWxzZQotICAgICAgICBmb3JtYXRz ID0gZmZfbWFrZV9mb3JtYXRfbGlzdCh5dXZfZm9ybWF0cyk7CisgICAgICAgIGZvcm1hdHMgPSBm Zl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KHl1dl9mb3JtYXRzKTsKIAogICAgIHJldHVybiBmZl9z ZXRfY29tbW9uX2Zvcm1hdHMyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBmb3JtYXRzKTsKIH0KZGlm ZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2NpZXNjb3BlLmMgYi9saWJhdmZpbHRlci92Zl9jaWVz Y29wZS5jCmluZGV4IDNhZTlkOWM4N2MuLmQyOGNlYzM1ZjkgMTAwNjQ0Ci0tLSBhL2xpYmF2Zmls dGVyL3ZmX2NpZXNjb3BlLmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfY2llc2NvcGUuYwpAQCAtMTQ1 LDEwICsxNDUsMTAgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29u dGV4dCAqY3R4LAogewogICAgIGludCByZXQ7CiAKLSAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNf cmVmKGZmX21ha2VfZm9ybWF0X2xpc3QoaW5fcGl4X2ZtdHMpLCAmY2ZnX2luWzBdLT5mb3JtYXRz KSkgPCAwKQorICAgIGlmICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZmZfbWFrZV9waXhlbF9mb3Jt YXRfbGlzdChpbl9waXhfZm10cyksICZjZmdfaW5bMF0tPmZvcm1hdHMpKSA8IDApCiAgICAgICAg IHJldHVybiByZXQ7CiAKLSAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfZm9y bWF0X2xpc3Qob3V0X3BpeF9mbXRzKSwgJmNmZ19vdXRbMF0tPmZvcm1hdHMpKSA8IDApCisgICAg aWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmZl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KG91dF9w aXhfZm10cyksICZjZmdfb3V0WzBdLT5mb3JtYXRzKSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0 OwogCiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9jb2xvcnNwYWNl LmMgYi9saWJhdmZpbHRlci92Zl9jb2xvcnNwYWNlLmMKaW5kZXggNzgxNjRlMWYzNC4uZGU5YTFh NDJlNCAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfY29sb3JzcGFjZS5jCisrKyBiL2xpYmF2 ZmlsdGVyL3ZmX2NvbG9yc3BhY2UuYwpAQCAtODczLDcgKzg3Myw3IEBAIHN0YXRpYyBpbnQgcXVl cnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICAgICAgICAgIHJldHVy biByZXM7CiAgICAgfQogCi0gICAgZm9ybWF0cyA9IGZmX21ha2VfZm9ybWF0X2xpc3QocGl4X2Zt dHMpOworICAgIGZvcm1hdHMgPSBmZl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KHBpeF9mbXRzKTsK ICAgICBpZiAoIWZvcm1hdHMpCiAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAgICAg aWYgKHMtPnVzZXJfZm9ybWF0ID09IEFWX1BJWF9GTVRfTk9ORSkKZGlmZiAtLWdpdCBhL2xpYmF2 ZmlsdGVyL3ZmX2RlYmFuZC5jIGIvbGliYXZmaWx0ZXIvdmZfZGViYW5kLmMKaW5kZXggMDQzZTMz NjY5ZC4uOTdiZDMzZTIwZSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfZGViYW5kLmMKKysr IGIvbGliYXZmaWx0ZXIvdmZfZGViYW5kLmMKQEAgLTExMiw3ICsxMTIsNyBAQCBzdGF0aWMgaW50 IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgICAgIEFWX1BJ WF9GTVRfTk9ORQogICAgIH07CiAKLSAgICByZXR1cm4gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zy b21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsCisgICAgcmV0dXJuIGZmX3NldF9waXhlbF9m b3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmNvdXBsaW5nID8gY3BpeF9mbXRzIDogcGl4 X2ZtdHMpOwogfQogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9lZGdlZGV0ZWN0LmMgYi9s aWJhdmZpbHRlci92Zl9lZGdlZGV0ZWN0LmMKaW5kZXggZWZmYjA0OWE0Yy4uMzM5YWI4MWM5ZSAx MDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfZWRnZWRldGVjdC5jCisrKyBiL2xpYmF2ZmlsdGVy L3ZmX2VkZ2VkZXRlY3QuYwpAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9y bWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICB9IGVsc2UgewogICAgICAgICBh dl9hc3NlcnQwKDApOwogICAgIH0KLSAgICByZXR1cm4gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zy b21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIHBpeF9mbXRzKTsKKyAgICByZXR1cm4gZmZf c2V0X3BpeGVsX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgcGl4X2Zt dHMpOwogfQogCiBzdGF0aWMgaW50IGNvbmZpZ19wcm9wcyhBVkZpbHRlckxpbmsgKmlubGluaykK ZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2VsYmcuYyBiL2xpYmF2ZmlsdGVyL3ZmX2VsYmcu YwppbmRleCA3ZTNlOGNlY2IyLi4wNDBkYzc2M2QwIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92 Zl9lbGJnLmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfZWxiZy5jCkBAIC05OCwxNCArOTgsMTQgQEAg c3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAg ICAgICBBVl9QSVhfRk1UX05PTkUKICAgICB9OwogICAgIGlmICghZWxiZy0+cGFsOCkgewotICAg ICAgICByZXR1cm4gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4s IGNmZ19vdXQsIHBpeF9mbXRzKTsKKyAgICAgICAgcmV0dXJuIGZmX3NldF9waXhlbF9mb3JtYXRz X2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIHBpeF9mbXRzKTsKICAgICB9IGVsc2Ug ewogICAgICAgICBzdGF0aWMgY29uc3QgZW51bSBBVlBpeGVsRm9ybWF0IHBhbDhfZm10W10gPSB7 CiAgICAgICAgICAgICBBVl9QSVhfRk1UX1BBTDgsCiAgICAgICAgICAgICBBVl9QSVhfRk1UX05P TkUKICAgICAgICAgfTsKLSAgICAgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmZl9tYWtl X2Zvcm1hdF9saXN0KHBpeF9mbXRzKSwgJmNmZ19pblswXS0+Zm9ybWF0cykpIDwgMCB8fAotICAg ICAgICAgICAgKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfZm9ybWF0X2xpc3QocGFsOF9m bXQpLCAmY2ZnX291dFswXS0+Zm9ybWF0cykpIDwgMCkKKyAgICAgICAgaWYgKChyZXQgPSBmZl9m b3JtYXRzX3JlZihmZl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KHBpeF9mbXRzKSwgJmNmZ19pblsw XS0+Zm9ybWF0cykpIDwgMCB8fAorICAgICAgICAgICAgKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZm X21ha2VfcGl4ZWxfZm9ybWF0X2xpc3QocGFsOF9mbXQpLCAmY2ZnX291dFswXS0+Zm9ybWF0cykp IDwgMCkKICAgICAgICAgICAgIHJldHVybiByZXQ7CiAgICAgfQogICAgIHJldHVybiAwOwpkaWZm IC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfZXh0cmFjdHBsYW5lcy5jIGIvbGliYXZmaWx0ZXIvdmZf ZXh0cmFjdHBsYW5lcy5jCmluZGV4IDE5Y2JiOTg3ZmIuLmE1MGQ5NzhmNzkgMTAwNjQ0Ci0tLSBh L2xpYmF2ZmlsdGVyL3ZmX2V4dHJhY3RwbGFuZXMuYworKysgYi9saWJhdmZpbHRlci92Zl9leHRy YWN0cGxhbmVzLmMKQEAgLTE3NSw3ICsxNzUsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMo QVZGaWx0ZXJDb250ZXh0ICpjdHgpCiAgICAgICAgIGluX3BpeGZtdHMgPSBpbl9waXhmbXRzX2xl OwogICAgIH0KICAgICBpZiAoIWN0eC0+aW5wdXRzWzBdLT5vdXRjZmcuZm9ybWF0cykKLSAgICAg ICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmZl9tYWtlX2Zvcm1hdF9saXN0KGluX3BpeGZt dHMpLCAmY3R4LT5pbnB1dHNbMF0tPm91dGNmZy5mb3JtYXRzKSkgPCAwKQorICAgICAgICBpZiAo KHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3QoaW5fcGl4Zm10 cyksICZjdHgtPmlucHV0c1swXS0+b3V0Y2ZnLmZvcm1hdHMpKSA8IDApCiAgICAgICAgICAgICBy ZXR1cm4gcmV0OwogCiAgICAgZm9yIChpID0gMTsgaSA8IGF2ZmYtPm5iX2Zvcm1hdHM7IGkrKykg ewpAQCAtMjE4LDcgKzIxOCw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhBVkZpbHRlckNv bnRleHQgKmN0eCkKICAgICAgICAgcmV0dXJuIHJldDsKIAogICAgIGZvciAoaSA9IDA7IGkgPCBj dHgtPm5iX291dHB1dHM7IGkrKykKLSAgICAgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihm Zl9tYWtlX2Zvcm1hdF9saXN0KG91dF9waXhmbXRzKSwgJmN0eC0+b3V0cHV0c1tpXS0+aW5jZmcu Zm9ybWF0cykpIDwgMCkKKyAgICAgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmZl9tYWtl X3BpeGVsX2Zvcm1hdF9saXN0KG91dF9waXhmbXRzKSwgJmN0eC0+b3V0cHV0c1tpXS0+aW5jZmcu Zm9ybWF0cykpIDwgMCkKICAgICAgICAgICAgIHJldHVybiByZXQ7CiAgICAgcmV0dXJuIDA7CiB9 CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9mYWRlLmMgYi9saWJhdmZpbHRlci92Zl9mYWRl LmMKaW5kZXggNzk0NTg2YWYwNy4uYTkwMjY5OTJmMSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIv dmZfZmFkZS5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX2ZhZGUuYwpAQCAtMTgxLDcgKzE4MSw3IEBA IHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAg ICAgICAgICAgIHJldHVybiByZXQ7CiAgICAgfQogCi0gICAgcmV0dXJuIGZmX3NldF9jb21tb25f Zm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBwaXhlbF9mbXRzKTsKKyAg ICByZXR1cm4gZmZfc2V0X3BpeGVsX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2Zn X291dCwgcGl4ZWxfZm10cyk7CiB9CiAKIGNvbnN0IHN0YXRpYyBlbnVtIEFWUGl4ZWxGb3JtYXQg c3R1ZGlvX2xldmVsX3BpeF9mbXRzW10gPSB7CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9m aWVsZG1hdGNoLmMgYi9saWJhdmZpbHRlci92Zl9maWVsZG1hdGNoLmMKaW5kZXggNjBiNGE2MDJj Yi4uZDgwNjkxMDM2NCAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfZmllbGRtYXRjaC5jCisr KyBiL2xpYmF2ZmlsdGVyL3ZmX2ZpZWxkbWF0Y2guYwpAQCAtOTI3LDcgKzkyNyw3IEBAIHN0YXRp YyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICB9Owog ICAgIGludCByZXQ7CiAKLSAgICBBVkZpbHRlckZvcm1hdHMgKmZtdHNfbGlzdCA9IGZmX21ha2Vf Zm9ybWF0X2xpc3QocGl4X2ZtdHMpOworICAgIEFWRmlsdGVyRm9ybWF0cyAqZm10c19saXN0ID0g ZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdChwaXhfZm10cyk7CiAgICAgaWYgKCFmbXRzX2xpc3Qp CiAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAgICAgaWYgKCFmbS0+cHBzcmMpIHsK QEAgLTkzNiw3ICs5MzYsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0 ZXJDb250ZXh0ICpjdHgsCiAKICAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZtdHNfbGlz dCwgJmNmZ19pbltJTlBVVF9NQUlOXS0+Zm9ybWF0cykpIDwgMCkKICAgICAgICAgcmV0dXJuIHJl dDsKLSAgICBmbXRzX2xpc3QgPSBmZl9tYWtlX2Zvcm1hdF9saXN0KHVucHJvY19waXhfZm10cyk7 CisgICAgZm10c19saXN0ID0gZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdCh1bnByb2NfcGl4X2Zt dHMpOwogICAgIGlmICghZm10c19saXN0KQogICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0p OwogICAgIGlmICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZm10c19saXN0LCAmY2ZnX291dFswXS0+ Zm9ybWF0cykpIDwgMCkKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2ZyZWkwci5jIGIvbGli YXZmaWx0ZXIvdmZfZnJlaTByLmMKaW5kZXggY2JkMjM2ZmFhYi4uZmMxYjE1ODIxZSAxMDA2NDQK LS0tIGEvbGliYXZmaWx0ZXIvdmZfZnJlaTByLmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfZnJlaTBy LmMKQEAgLTM0OCw3ICszNDgsNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZG aWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgICAgIHN0YXRpYyBjb25zdCBlbnVtIEFWUGl4ZWxGb3Jt YXQgcGl4X2ZtdHNbXSA9IHsKICAgICAgICAgICAgIEFWX1BJWF9GTVRfQkdSQSwgQVZfUElYX0ZN VF9BUkdCLCBBVl9QSVhfRk1UX0FCR1IsIEFWX1BJWF9GTVRfTk9ORQogICAgICAgICB9OwotICAg ICAgICBmb3JtYXRzID0gZmZfbWFrZV9mb3JtYXRfbGlzdChwaXhfZm10cyk7CisgICAgICAgIGZv cm1hdHMgPSBmZl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KHBpeF9mbXRzKTsKICAgICB9CiAKICAg ICBpZiAoIWZvcm1hdHMpCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9nZXEuYyBiL2xpYmF2 ZmlsdGVyL3ZmX2dlcS5jCmluZGV4IGJlYzFhYzJiYTMuLjEzYjAwNjU5NTYgMTAwNjQ0Ci0tLSBh L2xpYmF2ZmlsdGVyL3ZmX2dlcS5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX2dlcS5jCkBAIC0zNzMs NyArMzczLDcgQEAgc3RhdGljIGludCBnZXFfcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNv bnRleHQgKmN0eCwKICAgICB9OwogICAgIGNvbnN0IGVudW0gQVZQaXhlbEZvcm1hdCAqcGl4X2Zt dHMgPSBnZXEtPmlzX3JnYiA/IHJnYl9waXhfZm10cyA6IHl1dl9waXhfZm10czsKIAotICAgIHJl dHVybiBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291 dCwgcGl4X2ZtdHMpOworICAgIHJldHVybiBmZl9zZXRfcGl4ZWxfZm9ybWF0c19mcm9tX2xpc3Qy KGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBwaXhfZm10cyk7CiB9CiAKIHN0YXRpYyBpbnQgZ2VxX2Nv bmZpZ19wcm9wcyhBVkZpbHRlckxpbmsgKmlubGluaykKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVy L3ZmX2hpc3RvZ3JhbS5jIGIvbGliYXZmaWx0ZXIvdmZfaGlzdG9ncmFtLmMKaW5kZXggMWE1NjI2 YjMxNy4uMGRmZWJjNjJkMSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfaGlzdG9ncmFtLmMK KysrIGIvbGliYXZmaWx0ZXIvdmZfaGlzdG9ncmFtLmMKQEAgLTE3Nyw3ICsxNzcsNyBAQCBzdGF0 aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoQVZGaWx0ZXJDb250ZXh0ICpjdHgpCiAgICAgfQogCiAgICAg aWYgKCFjdHgtPmlucHV0c1swXS0+b3V0Y2ZnLmZvcm1hdHMpCi0gICAgICAgIGlmICgocmV0ID0g ZmZfZm9ybWF0c19yZWYoZmZfbWFrZV9mb3JtYXRfbGlzdChsZXZlbHNfaW5fcGl4X2ZtdHMpLCAm Y3R4LT5pbnB1dHNbMF0tPm91dGNmZy5mb3JtYXRzKSkgPCAwKQorICAgICAgICBpZiAoKHJldCA9 IGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3QobGV2ZWxzX2luX3BpeF9m bXRzKSwgJmN0eC0+aW5wdXRzWzBdLT5vdXRjZmcuZm9ybWF0cykpIDwgMCkKICAgICAgICAgICAg IHJldHVybiByZXQ7CiAgICAgYXZmZiA9IGN0eC0+aW5wdXRzWzBdLT5pbmNmZy5mb3JtYXRzOwog ICAgIGRlc2MgPSBhdl9waXhfZm10X2Rlc2NfZ2V0KGF2ZmYtPmZvcm1hdHNbMF0pOwpAQCAtMjA4 LDcgKzIwOCw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhBVkZpbHRlckNvbnRleHQgKmN0 eCkKICAgICAgICAgb3V0X3BpeF9mbXRzID0gbGV2ZWxzX291dF95dXYxMl9waXhfZm10czsKICAg ICBlbHNlCiAgICAgICAgIHJldHVybiBBVkVSUk9SKEVBR0FJTik7Ci0gICAgaWYgKChyZXQgPSBm Zl9mb3JtYXRzX3JlZihmZl9tYWtlX2Zvcm1hdF9saXN0KG91dF9waXhfZm10cyksICZjdHgtPm91 dHB1dHNbMF0tPmluY2ZnLmZvcm1hdHMpKSA8IDApCisgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRz X3JlZihmZl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KG91dF9waXhfZm10cyksICZjdHgtPm91dHB1 dHNbMF0tPmluY2ZnLmZvcm1hdHMpKSA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKICAgICBy ZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2h3dXBsb2FkLmMgYi9saWJhdmZp bHRlci92Zl9od3VwbG9hZC5jCmluZGV4IDZhYWZhYzRkNGQuLmVjM2Q5NjNmZDAgMTAwNjQ0Ci0t LSBhL2xpYmF2ZmlsdGVyL3ZmX2h3dXBsb2FkLmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfaHd1cGxv YWQuYwpAQCAtODUsNyArODUsNyBAQCBzdGF0aWMgaW50IGh3dXBsb2FkX3F1ZXJ5X2Zvcm1hdHMo Y29uc3QgQVZGaWx0ZXJDb250ZXh0ICphdmN0eCwKICAgICBpbnB1dF9waXhfZm10cyAgPSBjb25z dHJhaW50cy0+dmFsaWRfc3dfZm9ybWF0czsKICAgICBvdXRwdXRfcGl4X2ZtdHMgPSBjb25zdHJh aW50cy0+dmFsaWRfaHdfZm9ybWF0czsKIAotICAgIGlucHV0X2Zvcm1hdHMgPSBmZl9tYWtlX2Zv cm1hdF9saXN0KG91dHB1dF9waXhfZm10cyk7CisgICAgaW5wdXRfZm9ybWF0cyA9IGZmX21ha2Vf cGl4ZWxfZm9ybWF0X2xpc3Qob3V0cHV0X3BpeF9mbXRzKTsKICAgICBpZiAoIWlucHV0X2Zvcm1h dHMpIHsKICAgICAgICAgZXJyID0gQVZFUlJPUihFTk9NRU0pOwogICAgICAgICBnb3RvIGZhaWw7 CkBAIC05OSw3ICs5OSw3IEBAIHN0YXRpYyBpbnQgaHd1cGxvYWRfcXVlcnlfZm9ybWF0cyhjb25z dCBBVkZpbHRlckNvbnRleHQgKmF2Y3R4LAogICAgIH0KIAogICAgIGlmICgoZXJyID0gZmZfZm9y bWF0c19yZWYoaW5wdXRfZm9ybWF0cywgJmNmZ19pblswXS0+Zm9ybWF0cykpIDwgMCB8fAotICAg ICAgICAoZXJyID0gZmZfZm9ybWF0c19yZWYoZmZfbWFrZV9mb3JtYXRfbGlzdChvdXRwdXRfcGl4 X2ZtdHMpLAorICAgICAgICAoZXJyID0gZmZfZm9ybWF0c19yZWYoZmZfbWFrZV9waXhlbF9mb3Jt YXRfbGlzdChvdXRwdXRfcGl4X2ZtdHMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JmNmZ19vdXRbMF0tPmZvcm1hdHMpKSA8IDApCiAgICAgICAgIGdvdG8gZmFpbDsKIApkaWZmIC0t Z2l0IGEvbGliYXZmaWx0ZXIvdmZfaHd1cGxvYWRfY3VkYS5jIGIvbGliYXZmaWx0ZXIvdmZfaHd1 cGxvYWRfY3VkYS5jCmluZGV4IDM0Zjk1OWNhNTAuLjhhY2ZlNWM1ZjkgMTAwNjQ0Ci0tLSBhL2xp YmF2ZmlsdGVyL3ZmX2h3dXBsb2FkX2N1ZGEuYworKysgYi9saWJhdmZpbHRlci92Zl9od3VwbG9h ZF9jdWRhLmMKQEAgLTcwLDE0ICs3MCwxNCBAQCBzdGF0aWMgaW50IGN1ZGF1cGxvYWRfcXVlcnlf Zm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICBzdGF0aWMgY29uc3QgZW51 bSBBVlBpeGVsRm9ybWF0IG91dHB1dF9waXhfZm10c1tdID0gewogICAgICAgICBBVl9QSVhfRk1U X0NVREEsIEFWX1BJWF9GTVRfTk9ORSwKICAgICB9OwotICAgIEFWRmlsdGVyRm9ybWF0cyAqaW5f Zm10cyAgPSBmZl9tYWtlX2Zvcm1hdF9saXN0KGlucHV0X3BpeF9mbXRzKTsKKyAgICBBVkZpbHRl ckZvcm1hdHMgKmluX2ZtdHMgID0gZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdChpbnB1dF9waXhf Zm10cyk7CiAgICAgQVZGaWx0ZXJGb3JtYXRzICpvdXRfZm10czsKIAogICAgIHJldCA9IGZmX2Zv cm1hdHNfcmVmKGluX2ZtdHMsICZjZmdfaW5bMF0tPmZvcm1hdHMpOwogICAgIGlmIChyZXQgPCAw KQogICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgb3V0X2ZtdHMgPSBmZl9tYWtlX2Zvcm1hdF9s aXN0KG91dHB1dF9waXhfZm10cyk7CisgICAgb3V0X2ZtdHMgPSBmZl9tYWtlX3BpeGVsX2Zvcm1h dF9saXN0KG91dHB1dF9waXhfZm10cyk7CiAKICAgICByZXQgPSBmZl9mb3JtYXRzX3JlZihvdXRf Zm10cywgJmNmZ19vdXRbMF0tPmZvcm1hdHMpOwogICAgIGlmIChyZXQgPCAwKQpkaWZmIC0tZ2l0 IGEvbGliYXZmaWx0ZXIvdmZfbHV0LmMgYi9saWJhdmZpbHRlci92Zl9sdXQuYwppbmRleCBkMTVm Yjg1YzRlLi5lZDAwOTY5ZTc1IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9sdXQuYworKysg Yi9saWJhdmZpbHRlci92Zl9sdXQuYwpAQCAtMTU0LDcgKzE1NCw3IEBAIHN0YXRpYyBpbnQgcXVl cnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICBjb25zdCBlbnVtIEFW UGl4ZWxGb3JtYXQgKnBpeF9mbXRzID0gcy0+aXNfcmdiID8gcmdiX3BpeF9mbXRzIDoKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+aXNfeXV2 ID8geXV2X3BpeF9mbXRzIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsX3BpeF9mbXRzOwotICAgIHJldHVybiBmZl9z ZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgcGl4X2Zt dHMpOworICAgIHJldHVybiBmZl9zZXRfcGl4ZWxfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2Zn X2luLCBjZmdfb3V0LCBwaXhfZm10cyk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvdmZfbHV0Mi5jIGIvbGliYXZmaWx0ZXIvdmZfbHV0Mi5jCmluZGV4IGEzN2MwZGI5NDkuLjNi OGVlM2FmNjUgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX2x1dDIuYworKysgYi9saWJhdmZp bHRlci92Zl9sdXQyLmMKQEAgLTE4MCw5ICsxODAsOSBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1h dHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgaW50IHJldDsKIAogICAgIGlmIChz LT50bHV0MiB8fCAhcy0+b2RlcHRoKQotICAgICAgICByZXR1cm4gZmZfc2V0X2NvbW1vbl9mb3Jt YXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIGFsbF9waXhfZm10cyk7CisgICAg ICAgIHJldHVybiBmZl9zZXRfcGl4ZWxfZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBj Zmdfb3V0LCBhbGxfcGl4X2ZtdHMpOwogCi0gICAgcmV0ID0gZmZfZm9ybWF0c19yZWYoZmZfbWFr ZV9mb3JtYXRfbGlzdChhbGxfcGl4X2ZtdHMpLCAmY2ZnX2luWzBdLT5mb3JtYXRzKTsKKyAgICBy ZXQgPSBmZl9mb3JtYXRzX3JlZihmZl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KGFsbF9waXhfZm10 cyksICZjZmdfaW5bMF0tPmZvcm1hdHMpOwogICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1 cm4gcmV0OwogCkBAIC0xOTYsNyArMTk2LDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNv bnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIGRlZmF1bHQ6IGF2X2Fzc2VydDAoMCk7CiAg ICAgfQogCi0gICAgcmV0dXJuIGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfZm9ybWF0X2xpc3QocGl4 X2ZtdHMpLCAmY2ZnX291dFswXS0+Zm9ybWF0cyk7CisgICAgcmV0dXJuIGZmX2Zvcm1hdHNfcmVm KGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3QocGl4X2ZtdHMpLCAmY2ZnX291dFswXS0+Zm9ybWF0 cyk7CiB9CiAKIHN0YXRpYyBpbnQgY29uZmlnX2lucHV0eChBVkZpbHRlckxpbmsgKmlubGluaykK ZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX292ZXJsYXkuYyBiL2xpYmF2ZmlsdGVyL3ZmX292 ZXJsYXkuYwppbmRleCA5MTQ5ZDA2MWI5Li5jZGQ1NDQ4MDc2IDEwMDY0NAotLS0gYS9saWJhdmZp bHRlci92Zl9vdmVybGF5LmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfb3ZlcmxheS5jCkBAIC0yNzQs MTcgKzI3NCwxNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250 ZXh0ICpjdHgsCiAgICAgICAgIG92ZXJsYXlfZm9ybWF0cyA9IG92ZXJsYXlfcGl4X2ZtdHNfZ2Jy cDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBPVkVSTEFZX0ZPUk1BVF9BVVRPOgotICAgICAg ICByZXR1cm4gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNm Z19vdXQsIGFscGhhX3BpeF9mbXRzKTsKKyAgICAgICAgcmV0dXJuIGZmX3NldF9waXhlbF9mb3Jt YXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIGFscGhhX3BpeF9mbXRzKTsKICAg ICBkZWZhdWx0OgogICAgICAgICBhdl9hc3NlcnQwKDApOwogICAgIH0KIAotICAgIGZvcm1hdHMg PSBmZl9tYWtlX2Zvcm1hdF9saXN0KG1haW5fZm9ybWF0cyk7CisgICAgZm9ybWF0cyA9IGZmX21h a2VfcGl4ZWxfZm9ybWF0X2xpc3QobWFpbl9mb3JtYXRzKTsKICAgICBpZiAoKHJldCA9IGZmX2Zv cm1hdHNfcmVmKGZvcm1hdHMsICZjZmdfaW5bTUFJTl0tPmZvcm1hdHMpKSA8IDAgfHwKICAgICAg ICAgKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZvcm1hdHMsICZjZmdfb3V0W01BSU5dLT5mb3JtYXRz KSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgcmV0dXJuIGZmX2Zvcm1hdHNfcmVm KGZmX21ha2VfZm9ybWF0X2xpc3Qob3ZlcmxheV9mb3JtYXRzKSwKKyAgICByZXR1cm4gZmZfZm9y bWF0c19yZWYoZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdChvdmVybGF5X2Zvcm1hdHMpLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAmY2ZnX2luW09WRVJMQVldLT5mb3JtYXRzKTsKIH0KIApk aWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfb3ZlcmxheV9xc3YuYyBiL2xpYmF2ZmlsdGVyL3Zm X292ZXJsYXlfcXN2LmMKaW5kZXggY2U0YTEzZTk1Ny4uNWU3NWNjNzdjMyAxMDA2NDQKLS0tIGEv bGliYXZmaWx0ZXIvdmZfb3ZlcmxheV9xc3YuYworKysgYi9saWJhdmZpbHRlci92Zl9vdmVybGF5 X3Fzdi5jCkBAIC0zODgsMTIgKzM4OCwxMiBAQCBzdGF0aWMgaW50IG92ZXJsYXlfcXN2X3F1ZXJ5 X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgfTsKIAogICAgIGZvciAo aSA9IDA7IGkgPCBjdHgtPm5iX2lucHV0czsgaSsrKSB7Ci0gICAgICAgIHJldCA9IGZmX2Zvcm1h dHNfcmVmKGZmX21ha2VfZm9ybWF0X2xpc3QobWFpbl9pbl9mbXRzKSwgJmNmZ19pbltpXS0+Zm9y bWF0cyk7CisgICAgICAgIHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfcGl4ZWxfZm9ybWF0 X2xpc3QobWFpbl9pbl9mbXRzKSwgJmNmZ19pbltpXS0+Zm9ybWF0cyk7CiAgICAgICAgIGlmIChy ZXQgPCAwKQogICAgICAgICAgICAgcmV0dXJuIHJldDsKICAgICB9CiAKLSAgICByZXQgPSBmZl9m b3JtYXRzX3JlZihmZl9tYWtlX2Zvcm1hdF9saXN0KG91dF9waXhfZm10cyksICZjZmdfb3V0WzBd LT5mb3JtYXRzKTsKKyAgICByZXQgPSBmZl9mb3JtYXRzX3JlZihmZl9tYWtlX3BpeGVsX2Zvcm1h dF9saXN0KG91dF9waXhfZm10cyksICZjZmdfb3V0WzBdLT5mb3JtYXRzKTsKICAgICBpZiAocmV0 IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZf cGFsZXR0ZWdlbi5jIGIvbGliYXZmaWx0ZXIvdmZfcGFsZXR0ZWdlbi5jCmluZGV4IDIwMTJlOTg3 ZTYuLjIzNWFkZjA2MTQgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX3BhbGV0dGVnZW4uYwor KysgYi9saWJhdmZpbHRlci92Zl9wYWxldHRlZ2VuLmMKQEAgLTEwOCw5ICsxMDgsOSBAQCBzdGF0 aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgc3Rh dGljIGNvbnN0IGVudW0gQVZQaXhlbEZvcm1hdCBvdXRfZm10c1tdID0ge0FWX1BJWF9GTVRfUkdC MzIsIEFWX1BJWF9GTVRfTk9ORX07CiAgICAgaW50IHJldDsKIAotICAgIGlmICgocmV0ID0gZmZf Zm9ybWF0c19yZWYoZmZfbWFrZV9mb3JtYXRfbGlzdChpbl9mbXRzKSAsICZjZmdfaW5bMF0tPmZv cm1hdHMpKSA8IDApCisgICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmZl9tYWtlX3BpeGVs X2Zvcm1hdF9saXN0KGluX2ZtdHMpICwgJmNmZ19pblswXS0+Zm9ybWF0cykpIDwgMCkKICAgICAg ICAgcmV0dXJuIHJldDsKLSAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfZm9y bWF0X2xpc3Qob3V0X2ZtdHMpLCAmY2ZnX291dFswXS0+Zm9ybWF0cykpIDwgMCkKKyAgICBpZiAo KHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3Qob3V0X2ZtdHMp LCAmY2ZnX291dFswXS0+Zm9ybWF0cykpIDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKICAgICBy ZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX3BhbGV0dGV1c2UuYyBiL2xp YmF2ZmlsdGVyL3ZmX3BhbGV0dGV1c2UuYwppbmRleCA3MjcxMWY5NmVmLi45M2UxMTdmN2QwIDEw MDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9wYWxldHRldXNlLmMKKysrIGIvbGliYXZmaWx0ZXIv dmZfcGFsZXR0ZXVzZS5jCkBAIC0xNDQsMTEgKzE0NCwxMSBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zv cm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgc3RhdGljIGNvbnN0IGVudW0g QVZQaXhlbEZvcm1hdCBpbnBhbF9mbXRzW10gPSB7QVZfUElYX0ZNVF9SR0IzMiwgQVZfUElYX0ZN VF9OT05FfTsKICAgICBzdGF0aWMgY29uc3QgZW51bSBBVlBpeGVsRm9ybWF0IG91dF9mbXRzW10g ICA9IHtBVl9QSVhfRk1UX1BBTDgsICBBVl9QSVhfRk1UX05PTkV9OwogICAgIGludCByZXQ7Ci0g ICAgaWYgKChyZXQgPSBmZl9mb3JtYXRzX3JlZihmZl9tYWtlX2Zvcm1hdF9saXN0KGluX2ZtdHMp LAorICAgIGlmICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlz dChpbl9mbXRzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjZmdfaW5bMF0tPmZv cm1hdHMpKSA8IDAgfHwKLSAgICAgICAgKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfZm9y bWF0X2xpc3QoaW5wYWxfZm10cyksCisgICAgICAgIChyZXQgPSBmZl9mb3JtYXRzX3JlZihmZl9t YWtlX3BpeGVsX2Zvcm1hdF9saXN0KGlucGFsX2ZtdHMpLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmNmZ19pblsxXS0+Zm9ybWF0cykpIDwgMCB8fAotICAgICAgICAocmV0ID0gZmZf Zm9ybWF0c19yZWYoZmZfbWFrZV9mb3JtYXRfbGlzdChvdXRfZm10cyksCisgICAgICAgIChyZXQg PSBmZl9mb3JtYXRzX3JlZihmZl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KG91dF9mbXRzKSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjZmdfb3V0WzBdLT5mb3JtYXRzKSkgPCAwKQog ICAgICAgICByZXR1cm4gcmV0OwogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvdmZfcHJlbXVsdGlwbHkuYyBiL2xpYmF2ZmlsdGVyL3ZmX3ByZW11bHRpcGx5LmMKaW5kZXgg OWI0ZmMzOWNjYi4uOTNlNzRkNmM5MyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfcHJlbXVs dGlwbHkuYworKysgYi9saWJhdmZpbHRlci92Zl9wcmVtdWx0aXBseS5jCkBAIC05MSw3ICs5MSw3 IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwK ICAgICAgICAgQVZfUElYX0ZNVF9OT05FCiAgICAgfTsKIAotICAgIHJldCA9IGZmX3NldF9jb21t b25fZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LAorICAgIHJldCA9IGZm X3NldF9waXhlbF9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+aW5wbGFjZSA/IGFscGhh X3BpeF9mbXRzIDogbm9fYWxwaGFfcGl4X2ZtdHMpOwogICAgIGlmIChyZXQgPCAwKQogICAgICAg ICByZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfcmVtYXAuYyBiL2xpYmF2 ZmlsdGVyL3ZmX3JlbWFwLmMKaW5kZXggODE0NjE1OWQ5My4uYzNmMDJjNGNmYyAxMDA2NDQKLS0t IGEvbGliYXZmaWx0ZXIvdmZfcmVtYXAuYworKysgYi9saWJhdmZpbHRlci92Zl9yZW1hcC5jCkBA IC0xMTcsMTIgKzExNywxMiBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0 ZXJDb250ZXh0ICpjdHgsCiAgICAgQVZGaWx0ZXJGb3JtYXRzICpwaXhfZm9ybWF0cyA9IE5VTEws ICptYXBfZm9ybWF0cyA9IE5VTEw7CiAgICAgaW50IHJldDsKIAotICAgIHBpeF9mb3JtYXRzID0g ZmZfbWFrZV9mb3JtYXRfbGlzdChzLT5mb3JtYXQgPyBncmF5X3BpeF9mbXRzIDogcGl4X2ZtdHMp OworICAgIHBpeF9mb3JtYXRzID0gZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdChzLT5mb3JtYXQg PyBncmF5X3BpeF9mbXRzIDogcGl4X2ZtdHMpOwogICAgIGlmICgocmV0ID0gZmZfZm9ybWF0c19y ZWYocGl4X2Zvcm1hdHMsICZjZmdfaW5bMF0tPmZvcm1hdHMpKSA8IDAgfHwKICAgICAgICAgKHJl dCA9IGZmX2Zvcm1hdHNfcmVmKHBpeF9mb3JtYXRzLCAmY2ZnX291dFswXS0+Zm9ybWF0cykpIDwg MCkKICAgICAgICAgcmV0dXJuIHJldDsKIAotICAgIG1hcF9mb3JtYXRzID0gZmZfbWFrZV9mb3Jt YXRfbGlzdChtYXBfZm10cyk7CisgICAgbWFwX2Zvcm1hdHMgPSBmZl9tYWtlX3BpeGVsX2Zvcm1h dF9saXN0KG1hcF9mbXRzKTsKICAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVmKG1hcF9mb3Jt YXRzLCAmY2ZnX2luWzFdLT5mb3JtYXRzKSkgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogICAg IHJldHVybiBmZl9mb3JtYXRzX3JlZihtYXBfZm9ybWF0cywgJmNmZ19pblsyXS0+Zm9ybWF0cyk7 CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9zaG93cGFsZXR0ZS5jIGIvbGliYXZmaWx0ZXIv dmZfc2hvd3BhbGV0dGUuYwppbmRleCA4NDdiNDQ4Zjk2Li4wYTJkOWU0ZTMwIDEwMDY0NAotLS0g YS9saWJhdmZpbHRlci92Zl9zaG93cGFsZXR0ZS5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX3Nob3dw YWxldHRlLmMKQEAgLTQ3LDEyICs0NywxMiBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoY29u c3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiB7CiAgICAgc3RhdGljIGNvbnN0IGVudW0gQVZQaXhl bEZvcm1hdCBpbl9mbXRzW10gID0ge0FWX1BJWF9GTVRfUEFMOCwgIEFWX1BJWF9GTVRfTk9ORX07 CiAgICAgc3RhdGljIGNvbnN0IGVudW0gQVZQaXhlbEZvcm1hdCBvdXRfZm10c1tdID0ge0FWX1BJ WF9GTVRfUkdCMzIsIEFWX1BJWF9GTVRfTk9ORX07Ci0gICAgaW50IHJldCA9IGZmX2Zvcm1hdHNf cmVmKGZmX21ha2VfZm9ybWF0X2xpc3QoaW5fZm10cyksCisgICAgaW50IHJldCA9IGZmX2Zvcm1h dHNfcmVmKGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3QoaW5fZm10cyksCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZjZmdfaW5bMF0tPmZvcm1hdHMpOwogICAgIGlmIChyZXQgPCAwKQog ICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgcmV0dXJuIGZmX2Zvcm1hdHNfcmVmKGZmX21ha2Vf Zm9ybWF0X2xpc3Qob3V0X2ZtdHMpLAorICAgIHJldHVybiBmZl9mb3JtYXRzX3JlZihmZl9tYWtl X3BpeGVsX2Zvcm1hdF9saXN0KG91dF9mbXRzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg JmNmZ19vdXRbMF0tPmZvcm1hdHMpOwogfQogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9z dGVyZW8zZC5jIGIvbGliYXZmaWx0ZXIvdmZfc3RlcmVvM2QuYwppbmRleCBkNWQ0Y2MxNzAyLi5k YTA2ODEwNzdmIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9zdGVyZW8zZC5jCisrKyBiL2xp YmF2ZmlsdGVyL3ZmX3N0ZXJlbzNkLmMKQEAgLTMwNyw3ICszMDcsNyBAQCBzdGF0aWMgaW50IHF1 ZXJ5X2Zvcm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgICAgIHBpeF9mbXRz ID0gb3RoZXJfcGl4X2ZtdHM7CiAgICAgfQogCi0gICAgcmV0dXJuIGZmX3NldF9jb21tb25fZm9y bWF0c19mcm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBwaXhfZm10cyk7CisgICAgcmV0 dXJuIGZmX3NldF9waXhlbF9mb3JtYXRzX2Zyb21fbGlzdDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQs IHBpeF9mbXRzKTsKIH0KIAogc3RhdGljIGlubGluZSB1aW50OF90IGFuYV9jb252ZXJ0KGNvbnN0 IGludCAqY29lZmYsIGNvbnN0IHVpbnQ4X3QgKmxlZnQsIGNvbnN0IHVpbnQ4X3QgKnJpZ2h0KQpk aWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfdGh1bWJuYWlsLmMgYi9saWJhdmZpbHRlci92Zl90 aHVtYm5haWwuYwppbmRleCA3Mjg4ODBlMTAwLi5iNTk0OTk2YjliIDEwMDY0NAotLS0gYS9saWJh dmZpbHRlci92Zl90aHVtYm5haWwuYworKysgYi9saWJhdmZpbHRlci92Zl90aHVtYm5haWwuYwpA QCAtMzY1LDcgKzM2NSw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRl ckNvbnRleHQgKmN0eCwKICAgICBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKmRlc2MgPSBOVUxM OwogICAgIEFWRmlsdGVyRm9ybWF0cyAqZm9ybWF0czsKIAotICAgIGZvcm1hdHMgPSBmZl9tYWtl X2Zvcm1hdF9saXN0KHBhY2tlZF9yZ2JfZm10cyk7CisgICAgZm9ybWF0cyA9IGZmX21ha2VfcGl4 ZWxfZm9ybWF0X2xpc3QocGFja2VkX3JnYl9mbXRzKTsKICAgICBpZiAoIWZvcm1hdHMpCiAgICAg ICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3Zm X3YzNjAuYyBiL2xpYmF2ZmlsdGVyL3ZmX3YzNjAuYwppbmRleCAxY2ZlNDA4ODg3Li5hNTI5N2M4 MWU5IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl92MzYwLmMKKysrIGIvbGliYXZmaWx0ZXIv dmZfdjM2MC5jCkBAIC0yNTIsNyArMjUyLDcgQEAgc3RhdGljIGludCBxdWVyeV9mb3JtYXRzKGNv bnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgICAgICBBVl9QSVhfRk1UX05PTkUKICAgICB9 OwogCi0gICAgcmV0dXJuIGZmX3NldF9jb21tb25fZm9ybWF0c19mcm9tX2xpc3QyKGN0eCwgY2Zn X2luLCBjZmdfb3V0LAorICAgIHJldHVybiBmZl9zZXRfcGl4ZWxfZm9ybWF0c19mcm9tX2xpc3Qy KGN0eCwgY2ZnX2luLCBjZmdfb3V0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzLT5hbHBoYSA/IGFscGhhX3BpeF9mbXRzIDogcGl4X2ZtdHMpOwogfQogCmRp ZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl92ZWN0b3JzY29wZS5jIGIvbGliYXZmaWx0ZXIvdmZf dmVjdG9yc2NvcGUuYwppbmRleCA0ODMxMzIzMzJlLi5kYjliNWY5ZThjIDEwMDY0NAotLS0gYS9s aWJhdmZpbHRlci92Zl92ZWN0b3JzY29wZS5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX3ZlY3RvcnNj b3BlLmMKQEAgLTIyOSw3ICsyMjksNyBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zvcm1hdHMoQVZGaWx0 ZXJDb250ZXh0ICpjdHgpCiAgICAgICAgICAgICBpbl9waXhfZm10cyA9IGluMl9waXhfZm10czsK ICAgICAgICAgZWxzZQogICAgICAgICAgICAgaW5fcGl4X2ZtdHMgPSBpbjFfcGl4X2ZtdHM7Ci0g ICAgICAgIGlmICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZmZfbWFrZV9mb3JtYXRfbGlzdChpbl9w aXhfZm10cyksICZjdHgtPmlucHV0c1swXS0+b3V0Y2ZnLmZvcm1hdHMpKSA8IDApCisgICAgICAg IGlmICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdChpbl9w aXhfZm10cyksICZjdHgtPmlucHV0c1swXS0+b3V0Y2ZnLmZvcm1hdHMpKSA8IDApCiAgICAgICAg ICAgICByZXR1cm4gcmV0OwogICAgIH0KIApAQCAtMjYyLDcgKzI2Miw3IEBAIHN0YXRpYyBpbnQg cXVlcnlfZm9ybWF0cyhBVkZpbHRlckNvbnRleHQgKmN0eCkKICAgICAgICAgb3V0X3BpeF9mbXRz ID0gb3V0X3l1djEyX3BpeF9mbXRzOwogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIEFWRVJST1Io RUFHQUlOKTsKLSAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfZm9ybWF0X2xp c3Qob3V0X3BpeF9mbXRzKSwgJmN0eC0+b3V0cHV0c1swXS0+aW5jZmcuZm9ybWF0cykpIDwgMCkK KyAgICBpZiAoKHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3Qo b3V0X3BpeF9mbXRzKSwgJmN0eC0+b3V0cHV0c1swXS0+aW5jZmcuZm9ybWF0cykpIDwgMCkKICAg ICAgICAgcmV0dXJuIHJldDsKIAogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvdmZfdnBwX3Fzdi5jIGIvbGliYXZmaWx0ZXIvdmZfdnBwX3Fzdi5jCmluZGV4IDBhMzNjMzc3 YzguLjRkZTk5ZDY0OTAgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX3ZwcF9xc3YuYworKysg Yi9saWJhdmZpbHRlci92Zl92cHBfcXN2LmMKQEAgLTk1Miw3ICs5NTIsNyBAQCBzdGF0aWMgaW50 IHZwcF9xdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAgIH07CiAg ICAgc3RhdGljIGVudW0gQVZQaXhlbEZvcm1hdCBvdXRfcGl4X2ZtdHNbNF07CiAKLSAgICByZXQg PSBmZl9mb3JtYXRzX3JlZihmZl9tYWtlX2Zvcm1hdF9saXN0KGluX3BpeF9mbXRzKSwKKyAgICBy ZXQgPSBmZl9mb3JtYXRzX3JlZihmZl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KGluX3BpeF9mbXRz KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAmY2ZnX2luWzBdLT5mb3JtYXRzKTsKICAgICBp ZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKQEAgLTk2OSw3ICs5NjksNyBAQCBzdGF0 aWMgaW50IHZwcF9xdWVyeV9mb3JtYXRzKGNvbnN0IEFWRmlsdGVyQ29udGV4dCAqY3R4LAogICAg IG91dF9waXhfZm10c1tpKytdID0gQVZfUElYX0ZNVF9RU1Y7CiAgICAgb3V0X3BpeF9mbXRzW2kr K10gPSBBVl9QSVhfRk1UX05PTkU7CiAKLSAgICByZXR1cm4gZmZfZm9ybWF0c19yZWYoZmZfbWFr ZV9mb3JtYXRfbGlzdChvdXRfcGl4X2ZtdHMpLAorICAgIHJldHVybiBmZl9mb3JtYXRzX3JlZihm Zl9tYWtlX3BpeGVsX2Zvcm1hdF9saXN0KG91dF9waXhfZm10cyksCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICZjZmdfb3V0WzBdLT5mb3JtYXRzKTsKIH0KIApkaWZmIC0tZ2l0IGEvbGliYXZm aWx0ZXIvdmZfd2F2ZWZvcm0uYyBiL2xpYmF2ZmlsdGVyL3ZmX3dhdmVmb3JtLmMKaW5kZXggM2Mx Y2ZjZGMyMC4uNDc1Mzk5OWQwZSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfd2F2ZWZvcm0u YworKysgYi9saWJhdmZpbHRlci92Zl93YXZlZm9ybS5jCkBAIC0zNDUsNyArMzQ1LDcgQEAgc3Rh dGljIGludCBxdWVyeV9mb3JtYXRzKEFWRmlsdGVyQ29udGV4dCAqY3R4KQogICAgIH0KIAogICAg IGlmICghY3R4LT5pbnB1dHNbMF0tPm91dGNmZy5mb3JtYXRzKSB7Ci0gICAgICAgIGlmICgocmV0 ID0gZmZfZm9ybWF0c19yZWYoZmZfbWFrZV9mb3JtYXRfbGlzdChpbl9waXhfZm10cyksICZjdHgt PmlucHV0c1swXS0+b3V0Y2ZnLmZvcm1hdHMpKSA8IDApCisgICAgICAgIGlmICgocmV0ID0gZmZf Zm9ybWF0c19yZWYoZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdChpbl9waXhfZm10cyksICZjdHgt PmlucHV0c1swXS0+b3V0Y2ZnLmZvcm1hdHMpKSA8IDApCiAgICAgICAgICAgICByZXR1cm4gcmV0 OwogICAgIH0KIApAQCAtMzkzLDcgKzM5Myw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhB VkZpbHRlckNvbnRleHQgKmN0eCkKICAgICAgICAgb3V0X3BpeF9mbXRzID0gb3V0X3l1djEyX2xv d3Bhc3NfcGl4X2ZtdHM7CiAgICAgZWxzZQogICAgICAgICByZXR1cm4gQVZFUlJPUihFQUdBSU4p OwotICAgIGlmICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZmZfbWFrZV9mb3JtYXRfbGlzdChvdXRf cGl4X2ZtdHMpLCAmY3R4LT5vdXRwdXRzWzBdLT5pbmNmZy5mb3JtYXRzKSkgPCAwKQorICAgIGlm ICgocmV0ID0gZmZfZm9ybWF0c19yZWYoZmZfbWFrZV9waXhlbF9mb3JtYXRfbGlzdChvdXRfcGl4 X2ZtdHMpLCAmY3R4LT5vdXRwdXRzWzBdLT5pbmNmZy5mb3JtYXRzKSkgPCAwKQogICAgICAgICBy ZXR1cm4gcmV0OwogCiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl96 c2NhbGUuYyBiL2xpYmF2ZmlsdGVyL3ZmX3pzY2FsZS5jCmluZGV4IGI4MDBjODljYmIuLmIxNGQ3 MDQ2NjMgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX3pzY2FsZS5jCisrKyBiL2xpYmF2Zmls dGVyL3ZmX3pzY2FsZS5jCkBAIC0yMDgsMTAgKzIwOCwxMCBAQCBzdGF0aWMgaW50IHF1ZXJ5X2Zv cm1hdHMoY29uc3QgQVZGaWx0ZXJDb250ZXh0ICpjdHgsCiAgICAgfTsKICAgICBpbnQgcmV0Owog Ci0gICAgcmV0ID0gZmZfZm9ybWF0c19yZWYoZmZfbWFrZV9mb3JtYXRfbGlzdChwaXhlbF9mbXRz KSwgJmNmZ19pblswXS0+Zm9ybWF0cyk7CisgICAgcmV0ID0gZmZfZm9ybWF0c19yZWYoZmZfbWFr ZV9waXhlbF9mb3JtYXRfbGlzdChwaXhlbF9mbXRzKSwgJmNmZ19pblswXS0+Zm9ybWF0cyk7CiAg ICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7Ci0gICAgcmV0ID0gZmZfZm9ybWF0 c19yZWYoZmZfbWFrZV9mb3JtYXRfbGlzdChwaXhlbF9mbXRzKSwgJmNmZ19vdXRbMF0tPmZvcm1h dHMpOworICAgIHJldCA9IGZmX2Zvcm1hdHNfcmVmKGZmX21ha2VfcGl4ZWxfZm9ybWF0X2xpc3Qo cGl4ZWxfZm10cyksICZjZmdfb3V0WzBdLT5mb3JtYXRzKTsKICAgICBpZiAocmV0IDwgMCkKICAg ICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdnNyY19saWZlLmMg Yi9saWJhdmZpbHRlci92c3JjX2xpZmUuYwppbmRleCBjYWNkY2ZkOTYzLi5hYTFmYWZlNjc0IDEw MDY0NAotLS0gYS9saWJhdmZpbHRlci92c3JjX2xpZmUuYworKysgYi9saWJhdmZpbHRlci92c3Jj X2xpZmUuYwpAQCAtNDMyLDcgKzQzMiw3IEBAIHN0YXRpYyBpbnQgcXVlcnlfZm9ybWF0cyhjb25z dCBBVkZpbHRlckNvbnRleHQgKmN0eCwKICAgICAgICAgQVZfUElYX0ZNVF9OT05FCiAgICAgfTsK IAotICAgIHJldHVybiBmZl9zZXRfY29tbW9uX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19p biwgY2ZnX291dCwgcGl4X2ZtdHMpOworICAgIHJldHVybiBmZl9zZXRfcGl4ZWxfZm9ybWF0c19m cm9tX2xpc3QyKGN0eCwgY2ZnX2luLCBjZmdfb3V0LCBwaXhfZm10cyk7CiB9CiAKIHN0YXRpYyBj b25zdCBBVkZpbHRlclBhZCBsaWZlX291dHB1dHNbXSA9IHsKZGlmZiAtLWdpdCBhL2xpYmF2Zmls dGVyL3ZzcmNfcGVybGluLmMgYi9saWJhdmZpbHRlci92c3JjX3Blcmxpbi5jCmluZGV4IGY5ODQ5 NmU1ZDMuLjQ2YzIyNmVmOTEgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZzcmNfcGVybGluLmMK KysrIGIvbGliYXZmaWx0ZXIvdnNyY19wZXJsaW4uYwpAQCAtMTQ4LDcgKzE0OCw3IEBAIHN0YXRp YyBpbnQgcXVlcnlfZm9ybWF0cyhjb25zdCBBVkZpbHRlckNvbnRleHQgKmN0eCwKIHsKICAgICBl bnVtIEFWUGl4ZWxGb3JtYXQgcGl4X2ZtdHNbXSA9IHsgQVZfUElYX0ZNVF9HUkFZOCwgQVZfUElY X0ZNVF9OT05FIH07CiAKLSAgICByZXR1cm4gZmZfc2V0X2NvbW1vbl9mb3JtYXRzX2Zyb21fbGlz dDIoY3R4LCBjZmdfaW4sIGNmZ19vdXQsIHBpeF9mbXRzKTsKKyAgICByZXR1cm4gZmZfc2V0X3Bp eGVsX2Zvcm1hdHNfZnJvbV9saXN0MihjdHgsIGNmZ19pbiwgY2ZnX291dCwgcGl4X2ZtdHMpOwog fQogCiBzdGF0aWMgY29uc3QgQVZGaWx0ZXJQYWQgcGVybGluX291dHB1dHNbXSA9IHsKLS0gCjIu NTIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZt cGVnLWRldmVsIG1haWxpbmcgbGlzdCAtLSBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpUbyB1bnN1 YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGZmbXBlZy1kZXZlbC1sZWF2ZUBmZm1wZWcub3JnCg==