From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25072 invoked by alias); 30 Jun 2014 10:32:28 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 25037 invoked by uid 89); 30 Jun 2014 10:32:23 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: na01-bn1-obe.outbound.protection.outlook.com Received: from mail-bn1blp0186.outbound.protection.outlook.com (HELO na01-bn1-obe.outbound.protection.outlook.com) (207.46.163.186) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Mon, 30 Jun 2014 10:32:18 +0000 Received: from BL2FFO11FD005.protection.gbl (10.173.160.34) by BL2FFO11HUB008.protection.gbl (10.173.160.228) with Microsoft SMTP Server (TLS) id 15.0.969.12; Mon, 30 Jun 2014 10:32:15 +0000 Received: from xsj-pvapsmtpgw01 (149.199.60.83) by BL2FFO11FD005.mail.protection.outlook.com (10.173.161.1) with Microsoft SMTP Server (TLS) id 15.0.969.12 via Frontend Transport; Mon, 30 Jun 2014 10:32:14 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-smtp1) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1X1YsZ-0004jc-Mi; Mon, 30 Jun 2014 03:32:07 -0700 From: Ajit Kumar Agarwal To: Pedro Alves CC: "gdb-patches@sourceware.org" , Michael Eager , Vinod Kathail , Vidhumouli Hunsigida , Nagaraju Mekala Subject: RE: [Patch, microblaze]: Fix for remote G Packet message too long error for baremetal. Date: Mon, 30 Jun 2014 10:32:00 -0000 References: <53A023B1.5000105@redhat.com> <859f27cb-8c46-46c1-9625-7287c60f3ae9@BY2FFO11FD007.protection.gbl> <53A1ABF0.9080004@redhat.com> <74281fd5-518a-4d7f-977a-6fa1320f6db9@BY2FFO11FD016.protection.gbl> <53A1B61F.9080803@redhat.com> <736c2e0d-6ff1-40c3-8120-dc6f5d91e6b1@BL2FFO11FD052.protection.gbl> <53A8290A.1050701@redhat.com> <53A94147.4050700@redhat.com> <57ebe4b0-83eb-4208-9778-472ecf0048d4@BY2FFO11FD038.protection.gbl> <53A96993.5040804@redhat.com> <109c35c1-e2f6-430f-9235-c6c82a93daf1@BL2FFO11FD009.protection.gbl> <53A97330.4080708@redhat.com> In-Reply-To: <53A97330.4080708@redhat.com> Content-Type: multipart/mixed; boundary="_002_37378DC5BCD0EE48BA4B082E0B55DFAA40B8DEEDXAPPVEXMBX01xln_" MIME-Version: 1.0 X-RCIS-Action: ALLOW Message-ID: X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:149.199.60.83;CTRY:US;IPV:NLI;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(6009001)(438002)(199002)(189002)(479174003)(377454003)(24454002)(377424004)(51704005)(13464003)(74502001)(19580395003)(33646001)(95666004)(81342001)(512954002)(76176999)(31966008)(74316001)(46102001)(74662001)(77096002)(21056001)(92726001)(64706001)(79102001)(93886003)(85306003)(6806004)(104016002)(53416004)(86362001)(106116001)(83322001)(44976005)(99936001)(31696002)(71186001)(568964001)(70736001)(4396001)(85852003)(99396002)(54356999)(19580405001)(92566001)(84326002)(106466001)(77982001)(80022001)(76482001)(50986999)(83072002)(87936001)(20776003)(1496007)(107046002)(2656002)(81542001)(107986001)(23106004);DIR:OUT;SFP:;SCL:1;SRVR:BL2FFO11HUB008;H:xsj-pvapsmtpgw01;FPR:;MLV:sfv;PTR:unknown-60-83.xilinx.com;A:1;MX:1;LANG:en; X-OriginatorOrg: xilinx.onmicrosoft.com X-Microsoft-Antispam: BCL:0;PCL:0;RULEID: X-Forefront-PRVS: 0258E7CCD4 Received-SPF: Pass (: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=ajit.kumar.agarwal@xilinx.com; X-SW-Source: 2014-06/txt/msg00952.txt.bz2 --_002_37378DC5BCD0EE48BA4B082E0B55DFAA40B8DEEDXAPPVEXMBX01xln_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 5466 Based on the feedback, updated the patch with the review comments. =20=20=20=20 [Patch, microblaze]: Fix for remote G Packet message too long error for bar= emetal. =20=20=20=20 Prior to version MicroBlaze v8.10.a,EDK 13.1, XMD's gdbserver stub retu= rned 57 registers in response to GDB's G request. Starting with version MicroBl= aze v8.10.a, EDK 13.1, XMD added the slr and shr register, for a count of 59 registers. This patch adds these registers to the expected G response. = This patch fixes the above problem for baremetal and also supports the backward co= mpatibility. =20=20=20=20 ChangeLog: 2014-06-26 Ajit Agarwal =20=20=20=20 * microblaze-tdep.c (microblaze_register_names): Add the rshr and rslr register names. (microblaze_gdbarch_init): Use of tdesc_has_registers. Use of tdesc_find_feature. Use of tdesc_data_alloc. Use of tdesc_numbered_register. Use of microblaze_register_g_packet_guesses. Use of tdesc_use_registers. Use of set_gdbarch_register_type. (microblaze_register_g_packet_guesses): New. * microblaze-tdep.h (microblaze_reg_num): Add field MICROBLAZE_SLR_REGNUM MICROBLAZE_SHR_REGNUM MICROBLAZE_NUM_REGS and MICROBLAZE_NUM_CORE_REGS. (microblaze_frame_cache): Use of MICROBLAZE_NUM_REGS. * features/microblaze-core.xml: New file. * features/microblaze-stack-protect.xml: New file. * features/microblaze-with-stack-protect.c: New file. * features/microblaze-with-stack-protect.xml: New file. * features/microblaze.xml: New file. * features/microblaze.c: New file. * features/Makefile (microblaze-with-stack-protect): Add microblaze-with-stack-protect microblaze and microblaze-expedite. * regformats/microblaze-with-stack-protect.dat: New file. * regformats/microblaze.dat: New file. * doc/gdb.texinfo (MicroBlaze Features): New. =20=20=20=20 Signed-off-by:Ajit Agarwal ajitkum@xilinx.com > In this case is it correct to say > If (tdesc =3D=3D NULL) > tdesc =3D tdesc_microblaze; >=20 > instead of tdesc_microblaze_with_stack_protect? >>Yes. Instead of tdesc_microblaze_with_stack_protect if I use tdesc_microblaze t= he "G Packet message is too long" error is not resolved. The patch is unchanged with tdesc_microblaze_stack_protect. Thanks & Regards Ajit -----Original Message----- From: Pedro Alves [mailto:palves@redhat.com]=20 Sent: Tuesday, June 24, 2014 6:17 PM To: Ajit Kumar Agarwal Cc: gdb-patches@sourceware.org; Michael Eager; Vinod Kathail; Vidhumouli Hu= nsigida; Nagaraju Mekala Subject: Re: [Patch, microblaze]: Fix for remote G Packet message too long = error for baremetal. On 06/24/2014 01:31 PM, Ajit Kumar Agarwal wrote: >> >> The default is choosen to assume stack protect to make compatible with t= he handling of stack protect registers in XMD Debugger. >=20 >>> But you've already added the G packet size guess for that. >=20 > In this case is it correct to say > If (tdesc =3D=3D NULL) > tdesc =3D tdesc_microblaze; >=20 > instead of tdesc_microblaze_with_stack_protect? Yes. >=20 >>> - >>> + if (tdesc_data !=3D NULL) >>> + { >>> + tdesc_use_registers (gdbarch, tdesc, tdesc_data); >>> + set_gdbarch_register_type (gdbarch,=20 >>> + microblaze_register_type); >> >>>> Hmm, why is this set_gdbarch_register_type call necessary? >> >> /* Override tdesc_register_type to adjust the types of VFP >> registers for NEON. */ >> This is done for arm target to set the different type for VFP=20 >> registers for Neon with Boolean flags is set before this call for VFP=20 >> registers. In the microblaze target it's not required for special=20 >> case of stack protect as > the microblaze_register_type always return builtin_int for these stack pr= otect registers. >=20 > Right. Actually, not right... This comment doesn't really appear to be correct: > In the microblaze target it's not required for special case of stack=20 > protect as the microblaze_register_type always return builtin_int for the= se stack protect registers. static struct type * microblaze_register_type (struct gdbarch *gdbarch, int regnum) { if (regnum =3D=3D MICROBLAZE_SP_REGNUM) return builtin_type (gdbarch)->builtin_data_ptr; if (regnum =3D=3D MICROBLAZE_PC_REGNUM) return builtin_type (gdbarch)->builtin_func_ptr; return builtin_type (gdbarch)->builtin_int; } MICROBLAZE_SP_REGNUM and MICROBLAZE_PC_REGNUM clearly aren't builtin_int... Doesn't your patch change the output of "ptype $sp" and "ptype $pc" ? That points at something missing in the target description: > + +name=3D"org.gnu.gdb.microblaze.core"> > + ... > + AFAICS, SP is "r1", and PC is "rpc". These should be marked with type=3D"d= ata_ptr" and type=3D"code_ptr" . >=20 >>>> As I mentioned before, please don't forget to document the new target = features in the manual. >> >> Would you mind in explaining which manual need to be changed for the new= target. >=20 >>> The GDB manual, gdb/doc/gdb.texinfo, describes all the standard XML tar= get features. See the "Standard Target Features" node, and add a new subse= ction for MicroBlaze. >=20 > Thanks !! I will add subsection for Microblaze target. Thank you. -- Pedro Alves --_002_37378DC5BCD0EE48BA4B082E0B55DFAA40B8DEEDXAPPVEXMBX01xln_ Content-Type: application/octet-stream; name="0001-Patch-microblaze-Fix-for-remote-G-Packet-message-too.patch" Content-Description: 0001-Patch-microblaze-Fix-for-remote-G-Packet-message-too.patch Content-Disposition: attachment; filename="0001-Patch-microblaze-Fix-for-remote-G-Packet-message-too.patch"; size=26025; creation-date="Thu, 12 Jun 2014 08:01:06 GMT"; modification-date="Wed, 25 Jun 2014 19:06:43 GMT" Content-Transfer-Encoding: base64 Content-length: 35279 RnJvbSBhMmZkMDQ2OGQ1ZWY3NTAyMTI0NzcxNmQ1ZTViMTFlMDczYjUwMjdi IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBaml0IEt1bWFyIEFn YXJ3YWwgPGFqaXRrdW1AeGhkc3BkZ251Lihub25lKT4KRGF0ZTogVGh1LCAy NiBKdW4gMjAxNCAwMDoyNTozNCArMDUzMApTdWJqZWN0OiBbUEFUQ0hdIFtQ YXRjaCwgbWljcm9ibGF6ZV06IEZpeCBmb3IgcmVtb3RlIEcgUGFja2V0IG1l c3NhZ2UgdG9vIGxvbmcgZXJyb3IgZm9yIGJhcmVtZXRhbC4KClByaW9yIHRv IHZlcnNpb24gTWljcm9CbGF6ZSB2OC4xMC5hLEVESyAxMy4xLCBYTUQncyBn ZGJzZXJ2ZXIgc3R1YiByZXR1cm5lZCA1NwpyZWdpc3RlcnMgaW4gcmVzcG9u c2UgdG8gR0RCJ3MgRyByZXF1ZXN0LiBTdGFydGluZyB3aXRoIHZlcnNpb24g TWljcm9CbGF6ZQp2OC4xMC5hLCBFREsgMTMuMSwgWE1EIGFkZGVkIHRoZSBz bHIgYW5kIHNociByZWdpc3RlciwgZm9yIGEgY291bnQgb2YgNTkKcmVnaXN0 ZXJzLiBUaGlzIHBhdGNoIGFkZHMgdGhlc2UgcmVnaXN0ZXJzIHRvIHRoZSBl eHBlY3RlZCBHIHJlc3BvbnNlLiBUaGlzIHBhdGNoCmZpeGVzIHRoZSBhYm92 ZSBwcm9ibGVtIGZvciBiYXJlbWV0YWwgYW5kIGFsc28gc3VwcG9ydHMgdGhl IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCgpDaGFuZ2VMb2c6CjIwMTQtMDYt MjYgIEFqaXQgQWdhcndhbCAgPGFqaXRrdW1AeGlsaW54LmNvbT4KCgkqIG1p Y3JvYmxhemUtdGRlcC5jIChtaWNyb2JsYXplX3JlZ2lzdGVyX25hbWVzKTog QWRkCgl0aGUgcnNociBhbmQgcnNsciByZWdpc3RlciBuYW1lcy4KCShtaWNy b2JsYXplX2dkYmFyY2hfaW5pdCk6IFVzZSBvZiB0ZGVzY19oYXNfcmVnaXN0 ZXJzLgoJVXNlIG9mIHRkZXNjX2ZpbmRfZmVhdHVyZS4gVXNlIG9mIHRkZXNj X2RhdGFfYWxsb2MuCglVc2Ugb2YgdGRlc2NfbnVtYmVyZWRfcmVnaXN0ZXIu IFVzZSBvZgoJbWljcm9ibGF6ZV9yZWdpc3Rlcl9nX3BhY2tldF9ndWVzc2Vz LiBVc2Ugb2YKCXRkZXNjX3VzZV9yZWdpc3RlcnMuIFVzZSBvZiBzZXRfZ2Ri YXJjaF9yZWdpc3Rlcl90eXBlLgoJKG1pY3JvYmxhemVfcmVnaXN0ZXJfZ19w YWNrZXRfZ3Vlc3Nlcyk6IE5ldy4KCSogbWljcm9ibGF6ZS10ZGVwLmggKG1p Y3JvYmxhemVfcmVnX251bSk6IEFkZAoJZmllbGQgTUlDUk9CTEFaRV9TTFJf UkVHTlVNIE1JQ1JPQkxBWkVfU0hSX1JFR05VTQoJTUlDUk9CTEFaRV9OVU1f UkVHUyBhbmQgTUlDUk9CTEFaRV9OVU1fQ09SRV9SRUdTLgoJKG1pY3JvYmxh emVfZnJhbWVfY2FjaGUpOiBVc2Ugb2YgTUlDUk9CTEFaRV9OVU1fUkVHUy4K CSogZmVhdHVyZXMvbWljcm9ibGF6ZS1jb3JlLnhtbDogTmV3IGZpbGUuCgkq IGZlYXR1cmVzL21pY3JvYmxhemUtc3RhY2stcHJvdGVjdC54bWw6IE5ldyBm aWxlLgoJKiBmZWF0dXJlcy9taWNyb2JsYXplLXdpdGgtc3RhY2stcHJvdGVj dC5jOiBOZXcgZmlsZS4KCSogZmVhdHVyZXMvbWljcm9ibGF6ZS13aXRoLXN0 YWNrLXByb3RlY3QueG1sOiBOZXcgZmlsZS4KCSogZmVhdHVyZXMvbWljcm9i bGF6ZS54bWw6IE5ldyBmaWxlLgoJKiBmZWF0dXJlcy9taWNyb2JsYXplLmM6 IE5ldyBmaWxlLgoJKiBmZWF0dXJlcy9NYWtlZmlsZSAobWljcm9ibGF6ZS13 aXRoLXN0YWNrLXByb3RlY3QpOiBBZGQKCW1pY3JvYmxhemUtd2l0aC1zdGFj ay1wcm90ZWN0IG1pY3JvYmxhemUgYW5kCgltaWNyb2JsYXplLWV4cGVkaXRl LgoJKiByZWdmb3JtYXRzL21pY3JvYmxhemUtd2l0aC1zdGFjay1wcm90ZWN0 LmRhdDogTmV3IGZpbGUuCgkqIHJlZ2Zvcm1hdHMvbWljcm9ibGF6ZS5kYXQ6 IE5ldyBmaWxlLgoJKiBkb2MvZ2RiLnRleGluZm8gKE1pY3JvQmxhemUgRmVh dHVyZXMpOiBOZXcuCgpTaWduZWQtb2ZmLWJ5OkFqaXQgQWdhcndhbCBhaml0 a3VtQHhpbGlueC5jb20KLS0tCiBnZGIvZG9jL2dkYi50ZXhpbmZvICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsrKysKIGdkYi9mZWF0 dXJlcy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg IDIgKwogZ2RiL2ZlYXR1cmVzL21pY3JvYmxhemUtY29yZS54bWwgICAgICAg ICAgICAgICAgIHwgICA2NyArKysrKysrKysrKysrKysrKysKIGdkYi9mZWF0 dXJlcy9taWNyb2JsYXplLXN0YWNrLXByb3RlY3QueG1sICAgICAgICB8ICAg MTIgKysrCiBnZGIvZmVhdHVyZXMvbWljcm9ibGF6ZS13aXRoLXN0YWNrLXBy b3RlY3QuYyAgICAgfCAgIDc5ICsrKysrKysrKysrKysrKysrKysrKysKIGdk Yi9mZWF0dXJlcy9taWNyb2JsYXplLXdpdGgtc3RhY2stcHJvdGVjdC54bWwg ICB8ICAgMTIgKysrCiBnZGIvZmVhdHVyZXMvbWljcm9ibGF6ZS5jICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDc1ICsrKysrKysrKysrKysrKysrKysr CiBnZGIvZmVhdHVyZXMvbWljcm9ibGF6ZS54bWwgICAgICAgICAgICAgICAg ICAgICAgfCAgIDExICsrKwogZ2RiL21pY3JvYmxhemUtdGRlcC5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICA2NCArKysrKysrKysrKysrKysr Ky0KIGdkYi9taWNyb2JsYXplLXRkZXAuaCAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgNDggKysrKysrKy0tLS0tLQogZ2RiL3JlZ2Zvcm1hdHMv bWljcm9ibGF6ZS13aXRoLXN0YWNrLXByb3RlY3QuZGF0IHwgICA2MyArKysr KysrKysrKysrKysrKwogZ2RiL3JlZ2Zvcm1hdHMvbWljcm9ibGF6ZS5kYXQg ICAgICAgICAgICAgICAgICAgIHwgICA2MSArKysrKysrKysrKysrKysrKwog MTIgZmlsZXMgY2hhbmdlZCwgNDgzIGluc2VydGlvbnMoKyksIDI1IGRlbGV0 aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi9mZWF0dXJlcy9taWNy b2JsYXplLWNvcmUueG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL2ZlYXR1 cmVzL21pY3JvYmxhemUtc3RhY2stcHJvdGVjdC54bWwKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnZGIvZmVhdHVyZXMvbWljcm9ibGF6ZS13aXRoLXN0YWNrLXBy b3RlY3QuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi9mZWF0dXJlcy9taWNy b2JsYXplLXdpdGgtc3RhY2stcHJvdGVjdC54bWwKIGNyZWF0ZSBtb2RlIDEw MDY0NCBnZGIvZmVhdHVyZXMvbWljcm9ibGF6ZS5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2RiL2ZlYXR1cmVzL21pY3JvYmxhemUueG1sCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2RiL3JlZ2Zvcm1hdHMvbWljcm9ibGF6ZS13aXRoLXN0YWNr LXByb3RlY3QuZGF0CiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3JlZ2Zvcm1h dHMvbWljcm9ibGF6ZS5kYXQKCmRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50 ZXhpbmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwppbmRleCAzNzNlYTA3Li42 YWRiM2Q2IDEwMDY0NAotLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvCisrKyBi L2dkYi9kb2MvZ2RiLnRleGluZm8KQEAgLTM5MTA2LDYgKzM5MTA2LDcgQEAg cmVnaXN0ZXJzIHVzaW5nIHRoZSBjYXBpdGFsaXphdGlvbiB1c2VkIGluIHRo ZSBkZXNjcmlwdGlvbi4KICogQUFyY2g2NCBGZWF0dXJlczo6CiAqIEFSTSBG ZWF0dXJlczo6CiAqIGkzODYgRmVhdHVyZXM6OgorKiBNaWNyb0JsYXplIEZl YXR1cmVzOjoKICogTUlQUyBGZWF0dXJlczo6CiAqIE02OEsgRmVhdHVyZXM6 OgogKiBOaW9zIElJIEZlYXR1cmVzOjoKQEAgLTM5MjU2LDYgKzM5MjU3LDE5 IEBAIGRlc2NyaWJlIHRoZSBhZGRpdGlvbmFsIEBzY3t6bW19IHJlZ2lzdGVy czoKIEBzYW1we3ptbTE2aH0gdGhyb3VnaCBAc2FtcHt6bW0zMWh9LCBvbmx5 IHZhbGlkIGZvciBhbWQ2NC4KIEBlbmQgaXRlbWl6ZQogCitAbm9kZSBNaWNy b0JsYXplIEZlYXR1cmVzCitAc3Vic2VjdGlvbiBNaWNyb0JsYXplIEZlYXR1 cmVzCitAY2luZGV4IHRhcmdldCBkZXNjcmlwdGlvbnMsIE1pY3JvQmxhemUg ZmVhdHVyZXMKKworVGhlIEBzYW1we29yZy5nbnUuZ2RiLm1pY3JvYmxhemUu Y29yZX0gZmVhdHVyZSBpcyByZXF1aXJlZCBmb3IgTWljcm9CbGF6ZQordGFy Z2V0cy4gIEl0IHNob3VsZCBjb250YWluIHJlZ2lzdGVycyBAc2FtcHtyMH0g dGhyb3VnaCBAc2FtcHtyMzF9LAorQHNhbXB7cnBjfSwgQHNhbXB7cm1zcn0s IEBzYW1we3JlYXJ9LCBAc2FtcHtyZXNyfSwgQHNhbXB7cmZzcn0sIEBzYW1w e3JidHJ9LAorQHNhbXB7cnB2cn0sIEBzYW1we3JwdnIxfSB0aHJvdWdoIEBz YW1we3JwdnIxMX0sIEBzYW1we3JlZHJ9LCBAc2FtcHtycGlkfSwKK0BzYW1w e3J6cHJ9LCBAc2FtcHtydGxieH0sIEBzYW1we3J0bGJzeH0sIEBzYW1we3J0 bGJsb30sIGFuZCBAc2FtcHtydGxiaGl9LgorCitUaGUgQHNhbXB7b3JnLmdu dS5nZGIubWljcm9ibGF6ZS5zdGFjay1wcm90ZWN0fSBmZWF0dXJlIGlzIG9w dGlvbmFsLgorSWYgcHJlc2VudCwgaXQgc2hvdWxkIGNvbnRhaW4gcmVnaXN0 ZXJzIEBzYW1we3JzaHJ9IGFuZCBAc2FtcHtyc2xyfS4KKwogQG5vZGUgTUlQ UyBGZWF0dXJlcwogQHN1YnNlY3Rpb24gQGFjcm9ueW17TUlQU30gRmVhdHVy ZXMKIEBjaW5kZXggdGFyZ2V0IGRlc2NyaXB0aW9ucywgQGFjcm9ueW17TUlQ U30gZmVhdHVyZXMKZGlmZiAtLWdpdCBhL2dkYi9mZWF0dXJlcy9NYWtlZmls ZSBiL2dkYi9mZWF0dXJlcy9NYWtlZmlsZQppbmRleCBkYmY0OTYzLi4xYzUw NDE5IDEwMDY0NAotLS0gYS9nZGIvZmVhdHVyZXMvTWFrZWZpbGUKKysrIGIv Z2RiL2ZlYXR1cmVzL01ha2VmaWxlCkBAIC00Niw2ICs0Niw3IEBAIFdISUNI ID0gYWFyY2g2NCBcCiAJaTM4Ni94MzItYXZ4IGkzODYveDMyLWF2eC1saW51 eCBcCiAJaTM4Ni94MzItYXZ4NTEyIGkzODYveDMyLWF2eDUxMi1saW51eCBc CiAJbWlwcy1saW51eCBtaXBzLWRzcC1saW51eCBcCisJbWljcm9ibGF6ZS13 aXRoLXN0YWNrLXByb3RlY3QgXAogCW1pcHM2NC1saW51eCBtaXBzNjQtZHNw LWxpbnV4IFwKIAluaW9zMi1saW51eCBcCiAJcnM2MDAwL3Bvd2VycGMtMzIg XApAQCAtOTAsNiArOTEsNyBAQCBtaXBzLWV4cGVkaXRlID0gcjI5LHBjCiBt aXBzLWRzcC1leHBlZGl0ZSA9IHIyOSxwYwogbWlwczY0LWV4cGVkaXRlID0g cjI5LHBjCiBtaXBzNjQtZHNwLWV4cGVkaXRlID0gcjI5LHBjCittaWNyb2Js YXplLWV4cGVkaXRlID0gcjEscGMKIG5pb3MyLWxpbnV4LWV4cGVkaXRlID0g c3AscGMKIHBvd2VycGMtZXhwZWRpdGUgPSByMSxwYwogcnM2MDAwL3Bvd2Vy cGMtY2VsbDMybC1leHBlZGl0ZSA9IHIxLHBjLHIwLG9yaWdfcjMscjQKZGlm ZiAtLWdpdCBhL2dkYi9mZWF0dXJlcy9taWNyb2JsYXplLWNvcmUueG1sIGIv Z2RiL2ZlYXR1cmVzL21pY3JvYmxhemUtY29yZS54bWwKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjIwYWMzMwotLS0gL2Rldi9udWxs CisrKyBiL2dkYi9mZWF0dXJlcy9taWNyb2JsYXplLWNvcmUueG1sCkBAIC0w LDAgKzEsNjcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSBDb3B5 cmlnaHQgKEMpIDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CisKKyAgICAgQ29weWluZyBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmls ZSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwKKyAgICAgYXJlIHBl cm1pdHRlZCBpbiBhbnkgbWVkaXVtIHdpdGhvdXQgcm95YWx0eSBwcm92aWRl ZCB0aGUgY29weXJpZ2h0CisgICAgIG5vdGljZSBhbmQgdGhpcyBub3RpY2Ug YXJlIHByZXNlcnZlZC4gIC0tPgorCis8IURPQ1RZUEUgZmVhdHVyZSBTWVNU RU0gImdkYi10YXJnZXQuZHRkIj4KKzxmZWF0dXJlIG5hbWU9Im9yZy5nbnUu Z2RiLm1pY3JvYmxhemUuY29yZSI+CisgIDxyZWcgbmFtZT0icjAiIGJpdHNp emU9IjMyIiByZWdudW09IjAiLz4KKyAgPHJlZyBuYW1lPSJyMSIgYml0c2l6 ZT0iMzIiIHR5cGU9ImRhdGFfcHRyIi8+CisgIDxyZWcgbmFtZT0icjIiIGJp dHNpemU9IjMyIi8+CisgIDxyZWcgbmFtZT0icjMiIGJpdHNpemU9IjMyIi8+ CisgIDxyZWcgbmFtZT0icjQiIGJpdHNpemU9IjMyIi8+CisgIDxyZWcgbmFt ZT0icjUiIGJpdHNpemU9IjMyIi8+CisgIDxyZWcgbmFtZT0icjYiIGJpdHNp emU9IjMyIi8+CisgIDxyZWcgbmFtZT0icjciIGJpdHNpemU9IjMyIi8+Cisg IDxyZWcgbmFtZT0icjgiIGJpdHNpemU9IjMyIi8+CisgIDxyZWcgbmFtZT0i cjkiIGJpdHNpemU9IjMyIi8+CisgIDxyZWcgbmFtZT0icjEwIiBiaXRzaXpl PSIzMiIvPgorICA8cmVnIG5hbWU9InIxMSIgYml0c2l6ZT0iMzIiLz4KKyAg PHJlZyBuYW1lPSJyMTIiIGJpdHNpemU9IjMyIi8+CisgIDxyZWcgbmFtZT0i cjEzIiBiaXRzaXplPSIzMiIvPgorICA8cmVnIG5hbWU9InIxNCIgYml0c2l6 ZT0iMzIiLz4KKyAgPHJlZyBuYW1lPSJyMTUiIGJpdHNpemU9IjMyIi8+Cisg IDxyZWcgbmFtZT0icjE2IiBiaXRzaXplPSIzMiIvPgorICA8cmVnIG5hbWU9 InIxNyIgYml0c2l6ZT0iMzIiLz4KKyAgPHJlZyBuYW1lPSJyMTgiIGJpdHNp emU9IjMyIi8+CisgIDxyZWcgbmFtZT0icjE5IiBiaXRzaXplPSIzMiIvPgor ICA8cmVnIG5hbWU9InIyMCIgYml0c2l6ZT0iMzIiLz4KKyAgPHJlZyBuYW1l PSJyMjEiIGJpdHNpemU9IjMyIi8+CisgIDxyZWcgbmFtZT0icjIyIiBiaXRz aXplPSIzMiIvPgorICA8cmVnIG5hbWU9InIyMyIgYml0c2l6ZT0iMzIiLz4K KyAgPHJlZyBuYW1lPSJyMjQiIGJpdHNpemU9IjMyIi8+CisgIDxyZWcgbmFt ZT0icjI1IiBiaXRzaXplPSIzMiIvPgorICA8cmVnIG5hbWU9InIyNiIgYml0 c2l6ZT0iMzIiLz4KKyAgPHJlZyBuYW1lPSJyMjciIGJpdHNpemU9IjMyIi8+ CisgIDxyZWcgbmFtZT0icjI4IiBiaXRzaXplPSIzMiIvPgorICA8cmVnIG5h bWU9InIyOSIgYml0c2l6ZT0iMzIiLz4KKyAgPHJlZyBuYW1lPSJyMzAiIGJp dHNpemU9IjMyIi8+CisgIDxyZWcgbmFtZT0icjMxIiBiaXRzaXplPSIzMiIv PgorICA8cmVnIG5hbWU9InJwYyIgYml0c2l6ZT0iMzIiIHR5cGU9ImNvZGVf cHRyIi8+CisgIDxyZWcgbmFtZT0icm1zciIgYml0c2l6ZT0iMzIiLz4KKyAg PHJlZyBuYW1lPSJyZWFyIiBiaXRzaXplPSIzMiIvPgorICA8cmVnIG5hbWU9 InJlc3IiIGJpdHNpemU9IjMyIi8+CisgIDxyZWcgbmFtZT0icmZzciIgYml0 c2l6ZT0iMzIiLz4KKyAgPHJlZyBuYW1lPSJyYnRyIiBiaXRzaXplPSIzMiIv PgorICA8cmVnIG5hbWU9InJwdnIwIiBiaXRzaXplPSIzMiIvPiAKKyAgPHJl ZyBuYW1lPSJycHZyMSIgYml0c2l6ZT0iMzIiLz4gCisgIDxyZWcgbmFtZT0i cnB2cjIiIGJpdHNpemU9IjMyIi8+IAorICA8cmVnIG5hbWU9InJwdnIzIiBi aXRzaXplPSIzMiIvPiAKKyAgPHJlZyBuYW1lPSJycHZyNCIgYml0c2l6ZT0i MzIiLz4gCisgIDxyZWcgbmFtZT0icnB2cjUiIGJpdHNpemU9IjMyIi8+IAor ICA8cmVnIG5hbWU9InJwdnI2IiBiaXRzaXplPSIzMiIvPgorICA8cmVnIG5h bWU9InJwdnI3IiBiaXRzaXplPSIzMiIvPiAKKyAgPHJlZyBuYW1lPSJycHZy OCIgYml0c2l6ZT0iMzIiLz4gCisgIDxyZWcgbmFtZT0icnB2cjkiIGJpdHNp emU9IjMyIi8+IAorICA8cmVnIG5hbWU9InJwdnIxMCIgYml0c2l6ZT0iMzIi Lz4gCisgIDxyZWcgbmFtZT0icnB2cjExIiBiaXRzaXplPSIzMiIvPgorICA8 cmVnIG5hbWU9InJlZHIiIGJpdHNpemU9IjMyIi8+IAorICA8cmVnIG5hbWU9 InJwaWQiIGJpdHNpemU9IjMyIi8+IAorICA8cmVnIG5hbWU9InJ6cHIiIGJp dHNpemU9IjMyIi8+IAorICA8cmVnIG5hbWU9InJ0bGJ4IiBiaXRzaXplPSIz MiIvPiAKKyAgPHJlZyBuYW1lPSJydGxic3giIGJpdHNpemU9IjMyIi8+IAor ICA8cmVnIG5hbWU9InJ0bGJsbyIgYml0c2l6ZT0iMzIiLz4gCisgIDxyZWcg bmFtZT0icnRsYmhpIiBiaXRzaXplPSIzMiIvPgorPC9mZWF0dXJlPgpkaWZm IC0tZ2l0IGEvZ2RiL2ZlYXR1cmVzL21pY3JvYmxhemUtc3RhY2stcHJvdGVj dC54bWwgYi9nZGIvZmVhdHVyZXMvbWljcm9ibGF6ZS1zdGFjay1wcm90ZWN0 LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMThi YjBjCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiL2ZlYXR1cmVzL21pY3JvYmxh emUtc3RhY2stcHJvdGVjdC54bWwKQEAgLTAsMCArMSwxMiBAQAorPD94bWwg dmVyc2lvbj0iMS4wIj8+Cis8IS0tIENvcHlyaWdodCAoQykgMjAxNCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgICBDb3B5aW5nIGFu ZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQg bW9kaWZpY2F0aW9uLAorICAgICBhcmUgcGVybWl0dGVkIGluIGFueSBtZWRp dW0gd2l0aG91dCByb3lhbHR5IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQKKyAg ICAgbm90aWNlIGFuZCB0aGlzIG5vdGljZSBhcmUgcHJlc2VydmVkLiAgLS0+ CisKKzwhRE9DVFlQRSBmZWF0dXJlIFNZU1RFTSAiZ2RiLXRhcmdldC5kdGQi PgorPGZlYXR1cmUgbmFtZT0ib3JnLmdudS5nZGIubWljcm9ibGF6ZS5zdGFj ay1wcm90ZWN0Ij4KKyAgPHJlZyBuYW1lPSJyc2xyIiBiaXRzaXplPSIzMiIv PgorICA8cmVnIG5hbWU9InJzaHIiIGJpdHNpemU9IjMyIi8+Cis8L2ZlYXR1 cmU+CmRpZmYgLS1naXQgYS9nZGIvZmVhdHVyZXMvbWljcm9ibGF6ZS13aXRo LXN0YWNrLXByb3RlY3QuYyBiL2dkYi9mZWF0dXJlcy9taWNyb2JsYXplLXdp dGgtc3RhY2stcHJvdGVjdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmIzOWFhMTkKLS0tIC9kZXYvbnVsbAorKysgYi9nZGIvZmVh dHVyZXMvbWljcm9ibGF6ZS13aXRoLXN0YWNrLXByb3RlY3QuYwpAQCAtMCww ICsxLDc5IEBACisvKiBUSElTIEZJTEUgSVMgR0VORVJBVEVELiAgLSotIGJ1 ZmZlci1yZWFkLW9ubHk6IHQgLSotIHZpOnNldCBybzoKKyAgT3JpZ2luYWw6 IG1pY3JvYmxhemUtd2l0aC1zdGFjay1wcm90ZWN0LnhtbCAqLworCisjaW5j bHVkZSAiZGVmcy5oIgorI2luY2x1ZGUgIm9zYWJpLmgiCisjaW5jbHVkZSAi dGFyZ2V0LWRlc2NyaXB0aW9ucy5oIgorCitzdHJ1Y3QgdGFyZ2V0X2Rlc2Mg KnRkZXNjX21pY3JvYmxhemVfd2l0aF9zdGFja19wcm90ZWN0Oworc3RhdGlj IHZvaWQKK2luaXRpYWxpemVfdGRlc2NfbWljcm9ibGF6ZV93aXRoX3N0YWNr X3Byb3RlY3QgKHZvaWQpCit7CisgIHN0cnVjdCB0YXJnZXRfZGVzYyAqcmVz dWx0ID0gYWxsb2NhdGVfdGFyZ2V0X2Rlc2NyaXB0aW9uICgpOworICBzdHJ1 Y3QgdGRlc2NfZmVhdHVyZSAqZmVhdHVyZTsKKworICBmZWF0dXJlID0gdGRl c2NfY3JlYXRlX2ZlYXR1cmUgKHJlc3VsdCwgIm9yZy5nbnUuZ2RiLm1pY3Jv YmxhemUuY29yZSIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi cjAiLCAwLCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAicjEiLCAxLCAxLCBOVUxMLCAzMiwgImRhdGFfcHRy Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMiIsIDIsIDEs IE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJyMyIsIDMsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJyNCIsIDQsIDEsIE5VTEwsIDMyLCAiaW50 Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyNSIsIDUsIDEs IE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJyNiIsIDYsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJyNyIsIDcsIDEsIE5VTEwsIDMyLCAiaW50 Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyOCIsIDgsIDEs IE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJyOSIsIDksIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTAiLCAxMCwgMSwgTlVMTCwgMzIsICJp bnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxMSIsIDEx LCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAicjEyIiwgMTIsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRk ZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTMiLCAxMywgMSwgTlVMTCwg MzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIx NCIsIDE0LCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAicjE1IiwgMTUsIDEsIE5VTEwsIDMyLCAiaW50Iik7 CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTYiLCAxNiwgMSwg TlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInIxNyIsIDE3LCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAicjE4IiwgMTgsIDEsIE5VTEwsIDMyLCAi aW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTkiLCAx OSwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInIyMCIsIDIwLCAxLCBOVUxMLCAzMiwgImludCIpOworICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjIxIiwgMjEsIDEsIE5VTEws IDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJy MjIiLCAyMiwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInIyMyIsIDIzLCAxLCBOVUxMLCAzMiwgImludCIp OworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjI0IiwgMjQsIDEs IE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJyMjUiLCAyNSwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgInIyNiIsIDI2LCAxLCBOVUxMLCAzMiwg ImludCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjI3Iiwg MjcsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJyMjgiLCAyOCwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIyOSIsIDI5LCAxLCBOVUxM LCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi cjMwIiwgMzAsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJyMzEiLCAzMSwgMSwgTlVMTCwgMzIsICJpbnQi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInJwYyIsIDMyLCAx LCBOVUxMLCAzMiwgImNvZGVfcHRyIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJybXNyIiwgMzMsIDEsIE5VTEwsIDMyLCAiaW50Iik7Cisg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyZWFyIiwgMzQsIDEsIE5V TEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJyZXNyIiwgMzUsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJyZnNyIiwgMzYsIDEsIE5VTEwsIDMyLCAi aW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyYnRyIiwg MzcsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJycHZyMCIsIDM4LCAxLCBOVUxMLCAzMiwgImludCIpOwor ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicnB2cjEiLCAzOSwgMSwg TlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInJwdnIyIiwgNDAsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJycHZyMyIsIDQxLCAxLCBOVUxMLCAz MiwgImludCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicnB2 cjQiLCA0MiwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInJwdnI1IiwgNDMsIDEsIE5VTEwsIDMyLCAiaW50 Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJycHZyNiIsIDQ0 LCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAicnB2cjciLCA0NSwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInJwdnI4IiwgNDYsIDEsIE5V TEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJycHZyOSIsIDQ3LCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAicnB2cjEwIiwgNDgsIDEsIE5VTEwsIDMy LCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJycHZy MTEiLCA0OSwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInJlZHIiLCA1MCwgMSwgTlVMTCwgMzIsICJpbnQi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInJwaWQiLCA1MSwg MSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgInJ6cHIiLCA1MiwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInJ0bGJ4IiwgNTMsIDEsIE5VTEws IDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJy dGxic3giLCA1NCwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInJ0bGJsbyIsIDU1LCAxLCBOVUxMLCAzMiwg ImludCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicnRsYmhp IiwgNTYsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisKKyAgZmVhdHVyZSA9IHRk ZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQsICJvcmcuZ251LmdkYi5taWNy b2JsYXplLnN0YWNrLXByb3RlY3QiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInJzbHIiLCA1NywgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInJzaHIiLCA1OCwgMSwgTlVM TCwgMzIsICJpbnQiKTsKKworICB0ZGVzY19taWNyb2JsYXplX3dpdGhfc3Rh Y2tfcHJvdGVjdCA9IHJlc3VsdDsKK30KZGlmZiAtLWdpdCBhL2dkYi9mZWF0 dXJlcy9taWNyb2JsYXplLXdpdGgtc3RhY2stcHJvdGVjdC54bWwgYi9nZGIv ZmVhdHVyZXMvbWljcm9ibGF6ZS13aXRoLXN0YWNrLXByb3RlY3QueG1sCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmNjJhMzgKLS0t IC9kZXYvbnVsbAorKysgYi9nZGIvZmVhdHVyZXMvbWljcm9ibGF6ZS13aXRo LXN0YWNrLXByb3RlY3QueG1sCkBAIC0wLDAgKzEsMTIgQEAKKzw/eG1sIHZl cnNpb249IjEuMCI/PgorPCEtLSBDb3B5cmlnaHQgKEMpIDIwMTQgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgICAgQ29weWluZyBhbmQg ZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlsZSwgd2l0aCBvciB3aXRob3V0IG1v ZGlmaWNhdGlvbiwKKyAgICAgYXJlIHBlcm1pdHRlZCBpbiBhbnkgbWVkaXVt IHdpdGhvdXQgcm95YWx0eSBwcm92aWRlZCB0aGUgY29weXJpZ2h0CisgICAg IG5vdGljZSBhbmQgdGhpcyBub3RpY2UgYXJlIHByZXNlcnZlZC4gIC0tPgor Cis8IURPQ1RZUEUgdGFyZ2V0IFNZU1RFTSAiZ2RiLXRhcmdldC5kdGQiPgor PHRhcmdldD4KKyAgPHhpOmluY2x1ZGUgaHJlZj0ibWljcm9ibGF6ZS1jb3Jl LnhtbCIvPgorICA8eGk6aW5jbHVkZSBocmVmPSJtaWNyb2JsYXplLXN0YWNr LXByb3RlY3QueG1sIi8+Cis8L3RhcmdldD4KZGlmZiAtLWdpdCBhL2dkYi9m ZWF0dXJlcy9taWNyb2JsYXplLmMgYi9nZGIvZmVhdHVyZXMvbWljcm9ibGF6 ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjODZm YzAKLS0tIC9kZXYvbnVsbAorKysgYi9nZGIvZmVhdHVyZXMvbWljcm9ibGF6 ZS5jCkBAIC0wLDAgKzEsNzUgQEAKKy8qIFRISVMgRklMRSBJUyBHRU5FUkFU RUQuICAtKi0gYnVmZmVyLXJlYWQtb25seTogdCAtKi0gdmk6c2V0IHJvOgor ICBPcmlnaW5hbDogbWljcm9ibGF6ZS54bWwgKi8KKworI2luY2x1ZGUgImRl ZnMuaCIKKyNpbmNsdWRlICJvc2FiaS5oIgorI2luY2x1ZGUgInRhcmdldC1k ZXNjcmlwdGlvbnMuaCIKKworc3RydWN0IHRhcmdldF9kZXNjICp0ZGVzY19t aWNyb2JsYXplOworc3RhdGljIHZvaWQKK2luaXRpYWxpemVfdGRlc2NfbWlj cm9ibGF6ZSAodm9pZCkKK3sKKyAgc3RydWN0IHRhcmdldF9kZXNjICpyZXN1 bHQgPSBhbGxvY2F0ZV90YXJnZXRfZGVzY3JpcHRpb24gKCk7CisgIHN0cnVj dCB0ZGVzY19mZWF0dXJlICpmZWF0dXJlOworCisgIGZlYXR1cmUgPSB0ZGVz Y19jcmVhdGVfZmVhdHVyZSAocmVzdWx0LCAib3JnLmdudS5nZGIubWljcm9i bGF6ZS5jb3JlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJy MCIsIDAsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJyMSIsIDEsIDEsIE5VTEwsIDMyLCAiZGF0YV9wdHIi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIyIiwgMiwgMSwg TlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInIzIiwgMywgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInI0IiwgNCwgMSwgTlVMTCwgMzIsICJpbnQi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI1IiwgNSwgMSwg TlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInI2IiwgNiwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInI3IiwgNywgMSwgTlVMTCwgMzIsICJpbnQi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInI4IiwgOCwgMSwg TlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInI5IiwgOSwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInIxMCIsIDEwLCAxLCBOVUxMLCAzMiwgImlu dCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjExIiwgMTEs IDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZl YXR1cmUsICJyMTIiLCAxMiwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxMyIsIDEzLCAxLCBOVUxMLCAz MiwgImludCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjE0 IiwgMTQsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJyMTUiLCAxNSwgMSwgTlVMTCwgMzIsICJpbnQiKTsK KyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxNiIsIDE2LCAxLCBO VUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJl LCAicjE3IiwgMTcsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJyMTgiLCAxOCwgMSwgTlVMTCwgMzIsICJp bnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIxOSIsIDE5 LCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAicjIwIiwgMjAsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRk ZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMjEiLCAyMSwgMSwgTlVMTCwg MzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInIy MiIsIDIyLCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAicjIzIiwgMjMsIDEsIE5VTEwsIDMyLCAiaW50Iik7 CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMjQiLCAyNCwgMSwg TlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgInIyNSIsIDI1LCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAicjI2IiwgMjYsIDEsIE5VTEwsIDMyLCAi aW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyMjciLCAy NywgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInIyOCIsIDI4LCAxLCBOVUxMLCAzMiwgImludCIpOworICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicjI5IiwgMjksIDEsIE5VTEws IDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJy MzAiLCAzMCwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgInIzMSIsIDMxLCAxLCBOVUxMLCAzMiwgImludCIp OworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicnBjIiwgMzIsIDEs IE5VTEwsIDMyLCAiY29kZV9wdHIiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInJtc3IiLCAzMywgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInJlYXIiLCAzNCwgMSwgTlVM TCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg InJlc3IiLCAzNSwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInJmc3IiLCAzNiwgMSwgTlVMTCwgMzIsICJp bnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInJidHIiLCAz NywgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgInJwdnIwIiwgMzgsIDEsIE5VTEwsIDMyLCAiaW50Iik7Cisg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJycHZyMSIsIDM5LCAxLCBO VUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJl LCAicnB2cjIiLCA0MCwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgInJwdnIzIiwgNDEsIDEsIE5VTEwsIDMy LCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJycHZy NCIsIDQyLCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAicnB2cjUiLCA0MywgMSwgTlVMTCwgMzIsICJpbnQi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInJwdnI2IiwgNDQs IDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZl YXR1cmUsICJycHZyNyIsIDQ1LCAxLCBOVUxMLCAzMiwgImludCIpOworICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicnB2cjgiLCA0NiwgMSwgTlVM TCwgMzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg InJwdnI5IiwgNDcsIDEsIE5VTEwsIDMyLCAiaW50Iik7CisgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJycHZyMTAiLCA0OCwgMSwgTlVMTCwgMzIs ICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInJwdnIx MSIsIDQ5LCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAicmVkciIsIDUwLCAxLCBOVUxMLCAzMiwgImludCIp OworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicnBpZCIsIDUxLCAx LCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0 dXJlLCAicnpwciIsIDUyLCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVz Y19jcmVhdGVfcmVnIChmZWF0dXJlLCAicnRsYngiLCA1MywgMSwgTlVMTCwg MzIsICJpbnQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInJ0 bGJzeCIsIDU0LCAxLCBOVUxMLCAzMiwgImludCIpOworICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAicnRsYmxvIiwgNTUsIDEsIE5VTEwsIDMyLCAi aW50Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJydGxiaGki LCA1NiwgMSwgTlVMTCwgMzIsICJpbnQiKTsKKworICB0ZGVzY19taWNyb2Js YXplID0gcmVzdWx0OworfQpkaWZmIC0tZ2l0IGEvZ2RiL2ZlYXR1cmVzL21p Y3JvYmxhemUueG1sIGIvZ2RiL2ZlYXR1cmVzL21pY3JvYmxhemUueG1sCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MWYxN2YKLS0t IC9kZXYvbnVsbAorKysgYi9nZGIvZmVhdHVyZXMvbWljcm9ibGF6ZS54bWwK QEAgLTAsMCArMSwxMSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IS0t IENvcHlyaWdodCAoQykgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKworICAgICBDb3B5aW5nIGFuZCBkaXN0cmlidXRpb24gb2YgdGhp cyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAorICAgICBh cmUgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCByb3lhbHR5IHBy b3ZpZGVkIHRoZSBjb3B5cmlnaHQKKyAgICAgbm90aWNlIGFuZCB0aGlzIG5v dGljZSBhcmUgcHJlc2VydmVkLiAgLS0+CisKKzwhRE9DVFlQRSB0YXJnZXQg U1lTVEVNICJnZGItdGFyZ2V0LmR0ZCI+Cis8dGFyZ2V0PgorICA8eGk6aW5j bHVkZSBocmVmPSJtaWNyb2JsYXplLWNvcmUueG1sIi8+Cis8L3RhcmdldD4K ZGlmZiAtLWdpdCBhL2dkYi9taWNyb2JsYXplLXRkZXAuYyBiL2dkYi9taWNy b2JsYXplLXRkZXAuYwppbmRleCAxNGMxYjUyLi44YWZmOWEwIDEwMDY0NAot LS0gYS9nZGIvbWljcm9ibGF6ZS10ZGVwLmMKKysrIGIvZ2RiL21pY3JvYmxh emUtdGRlcC5jCkBAIC0zMywxMyArMzMsMTYgQEAKICNpbmNsdWRlICJmcmFt ZS11bndpbmQuaCIKICNpbmNsdWRlICJkd2FyZjItZnJhbWUuaCIKICNpbmNs dWRlICJvc2FiaS5oIgotCiAjaW5jbHVkZSAiZ2RiX2Fzc2VydC5oIgogI2lu Y2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgInRhcmdldC1kZXNjcmlwdGlv bnMuaCIKICNpbmNsdWRlICJvcGNvZGVzL21pY3JvYmxhemUtb3BjbS5oIgog I2luY2x1ZGUgIm9wY29kZXMvbWljcm9ibGF6ZS1kaXMuaCIKICNpbmNsdWRl ICJtaWNyb2JsYXplLXRkZXAuaCIKKyNpbmNsdWRlICJyZW1vdGUuaCIKKwor I2luY2x1ZGUgImZlYXR1cmVzL21pY3JvYmxhemUtd2l0aC1zdGFjay1wcm90 ZWN0LmMiCisjaW5jbHVkZSAiZmVhdHVyZXMvbWljcm9ibGF6ZS5jIgogDAog LyogSW5zdHJ1Y3Rpb24gbWFjcm9zIHVzZWQgZm9yIGFuYWx5emluZyB0aGUg cHJvbG9ndWUuICAqLwogLyogVGhpcyBzZXQgb2YgaW5zdHJ1Y3Rpb24gbWFj cm9zIG5lZWQgdG8gYmUgY2hhbmdlZCB3aGVuZXZlciB0aGUKQEAgLTczLDcg Kzc2LDggQEAgc3RhdGljIGNvbnN0IGNoYXIgKm1pY3JvYmxhemVfcmVnaXN0 ZXJfbmFtZXNbXSA9CiAgICJycGMiLCAgInJtc3IiLCAicmVhciIsICJyZXNy IiwgInJmc3IiLCAicmJ0ciIsCiAgICJycHZyMCIsICJycHZyMSIsICJycHZy MiIsICJycHZyMyIsICJycHZyNCIsICJycHZyNSIsICJycHZyNiIsCiAgICJy cHZyNyIsICJycHZyOCIsICJycHZyOSIsICJycHZyMTAiLCAicnB2cjExIiwK LSAgInJlZHIiLCAicnBpZCIsICJyenByIiwgInJ0bGJ4IiwgInJ0bGJzeCIs ICJydGxibG8iLCAicnRsYmhpIgorICAicmVkciIsICJycGlkIiwgInJ6cHIi LCAicnRsYngiLCAicnRsYnN4IiwgInJ0bGJsbyIsICJydGxiaGkiLAorICAi cnNsciIsICJyc2hyIgogfTsKIAogI2RlZmluZSBNSUNST0JMQVpFX05VTV9S RUdTIEFSUkFZX1NJWkUgKG1pY3JvYmxhemVfcmVnaXN0ZXJfbmFtZXMpCkBA IC02NjQsMTYgKzY2OCw2OCBAQCBtaWNyb2JsYXplX2R3YXJmMl9yZWdfdG9f cmVnbnVtIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgaW50IHJlZykKICAg cmV0dXJuIGR3YXJmMl90b19yZWdfbWFwW3JlZ107CiB9CiAKK3N0YXRpYyB2 b2lkCittaWNyb2JsYXplX3JlZ2lzdGVyX2dfcGFja2V0X2d1ZXNzZXMgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoKQoreworICByZWdpc3Rlcl9yZW1vdGVf Z19wYWNrZXRfZ3Vlc3MgKGdkYmFyY2gsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTUlDUk9CTEFaRV9OVU1fQ09SRV9SRUdTLCAKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZGVzY19taWNyb2Js YXplKTsKKworICByZWdpc3Rlcl9yZW1vdGVfZ19wYWNrZXRfZ3Vlc3MgKGdk YmFyY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUlD Uk9CTEFaRV9OVU1fUkVHUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0ZGVzY19taWNyb2JsYXplX3dpdGhfc3RhY2tfcHJvdGVjdCk7 Cit9CisKIHN0YXRpYyBzdHJ1Y3QgZ2RiYXJjaCAqCiBtaWNyb2JsYXplX2dk YmFyY2hfaW5pdCAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3Qg Z2RiYXJjaF9saXN0ICphcmNoZXMpCiB7CiAgIHN0cnVjdCBnZGJhcmNoX3Rk ZXAgKnRkZXA7CiAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOworICBzdHJ1 Y3QgdGRlc2NfYXJjaF9kYXRhICp0ZGVzY19kYXRhID0gTlVMTDsKKyAgY29u c3Qgc3RydWN0IHRhcmdldF9kZXNjICp0ZGVzYyA9IGluZm8udGFyZ2V0X2Rl c2M7CiAKICAgLyogSWYgdGhlcmUgaXMgYWxyZWFkeSBhIGNhbmRpZGF0ZSwg dXNlIGl0LiAgKi8KICAgYXJjaGVzID0gZ2RiYXJjaF9saXN0X2xvb2t1cF9i eV9pbmZvIChhcmNoZXMsICZpbmZvKTsKICAgaWYgKGFyY2hlcyAhPSBOVUxM KQogICAgIHJldHVybiBhcmNoZXMtPmdkYmFyY2g7CisgIGlmICh0ZGVzYyA9 PSBOVUxMKQorICAgIHRkZXNjID0gdGRlc2NfbWljcm9ibGF6ZV93aXRoX3N0 YWNrX3Byb3RlY3Q7CisKKyAgLyogQ2hlY2sgYW55IHRhcmdldCBkZXNjcmlw dGlvbiBmb3IgdmFsaWRpdHkuICAqLworICBpZiAodGRlc2NfaGFzX3JlZ2lz dGVycyAodGRlc2MpKQorICAgIHsKKyAgICAgIGNvbnN0IHN0cnVjdCB0ZGVz Y19mZWF0dXJlICpmZWF0dXJlOworICAgICAgaW50IHZhbGlkX3A7CisgICAg ICBpbnQgaTsKKworICAgICAgZmVhdHVyZSA9IHRkZXNjX2ZpbmRfZmVhdHVy ZSAodGRlc2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAib3JnLmdudS5nZGIubWljcm9ibGF6ZS5jb3JlIik7CisgICAgICBpZiAo ZmVhdHVyZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAg IHRkZXNjX2RhdGEgPSB0ZGVzY19kYXRhX2FsbG9jICgpOworCisgICAgICB2 YWxpZF9wID0gMTsKKyAgICAgIGZvciAoaSA9IDA7IGkgPCBNSUNST0JMQVpF X05VTV9DT1JFX1JFR1M7IGkrKykKKyAgICAgICAgdmFsaWRfcCAmPSB0ZGVz Y19udW1iZXJlZF9yZWdpc3RlciAoZmVhdHVyZSwgdGRlc2NfZGF0YSwgaSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWljcm9ibGF6ZV9yZWdpc3Rlcl9uYW1lc1tpXSk7CisgICAgICBmZWF0dXJl ID0gdGRlc2NfZmluZF9mZWF0dXJlICh0ZGVzYywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJvcmcuZ251LmdkYi5taWNyb2JsYXpl LnN0YWNrLXByb3RlY3QiKTsKKyAgICAgIGlmIChmZWF0dXJlICE9IE5VTEwp CisgICAgICAgIHsKKyAgICAgICAgICB2YWxpZF9wID0gMTsKKyAgICAgICAg ICB2YWxpZF9wICY9IHRkZXNjX251bWJlcmVkX3JlZ2lzdGVyIChmZWF0dXJl LCB0ZGVzY19kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE1JQ1JPQkxBWkVfU0xSX1JFR05VTSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicnNs ciIpOworICAgICAgICAgIHZhbGlkX3AgJj0gdGRlc2NfbnVtYmVyZWRfcmVn aXN0ZXIgKGZlYXR1cmUsIHRkZXNjX2RhdGEsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUlDUk9CTEFaRV9TSFJf UkVHTlVNLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJyc2hyIik7CisgICAgICAgIH0KKyAgICAgfQorCisgIHRk ZXAgPSB4Y2FsbG9jICgxLCBzaXplb2YgKHN0cnVjdCBnZGJhcmNoX3RkZXAp KTsKKyAgZ2RiYXJjaCA9IGdkYmFyY2hfYWxsb2MgKCZpbmZvLCB0ZGVwKTsK KworICBtaWNyb2JsYXplX3JlZ2lzdGVyX2dfcGFja2V0X2d1ZXNzZXMgKGdk YmFyY2gpOwogCiAgIC8qIEFsbG9jYXRlIHNwYWNlIGZvciB0aGUgbmV3IGFy Y2hpdGVjdHVyZS4gICovCiAgIHRkZXAgPSBYTkVXIChzdHJ1Y3QgZ2RiYXJj aF90ZGVwKTsKQEAgLTcyNSw2ICs3ODEsOCBAQCBtaWNyb2JsYXplX2dkYmFy Y2hfaW5pdCAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2Ri YXJjaF9saXN0ICphcmNoZXMpCiAgIGR3YXJmMl9hcHBlbmRfdW53aW5kZXJz IChnZGJhcmNoKTsKICAgZnJhbWVfdW53aW5kX2FwcGVuZF91bndpbmRlciAo Z2RiYXJjaCwgJm1pY3JvYmxhemVfZnJhbWVfdW53aW5kKTsKICAgZnJhbWVf YmFzZV9hcHBlbmRfc25pZmZlciAoZ2RiYXJjaCwgZHdhcmYyX2ZyYW1lX2Jh c2Vfc25pZmZlcik7CisgIGlmICh0ZGVzY19kYXRhICE9IE5VTEwpCisgICAg dGRlc2NfdXNlX3JlZ2lzdGVycyAoZ2RiYXJjaCwgdGRlc2MsIHRkZXNjX2Rh dGEpOwogCiAgIHJldHVybiBnZGJhcmNoOwogfQpAQCAtNzM3LDYgKzc5NSw4 IEBAIF9pbml0aWFsaXplX21pY3JvYmxhemVfdGRlcCAodm9pZCkKIHsKICAg cmVnaXN0ZXJfZ2RiYXJjaF9pbml0IChiZmRfYXJjaF9taWNyb2JsYXplLCBt aWNyb2JsYXplX2dkYmFyY2hfaW5pdCk7CiAKKyAgaW5pdGlhbGl6ZV90ZGVz Y19taWNyb2JsYXplX3dpdGhfc3RhY2tfcHJvdGVjdCAoKTsKKyAgaW5pdGlh bGl6ZV90ZGVzY19taWNyb2JsYXplICgpOwogICAvKiBEZWJ1ZyB0aGlzIGZp bGVzIGludGVybmFscy4gICovCiAgIGFkZF9zZXRzaG93X3p1aW50ZWdlcl9j bWQgKCJtaWNyb2JsYXplIiwgY2xhc3NfbWFpbnRlbmFuY2UsCiAJCQkgICAg ICZtaWNyb2JsYXplX2RlYnVnX2ZsYWcsIF8oIlwKZGlmZiAtLWdpdCBhL2dk Yi9taWNyb2JsYXplLXRkZXAuaCBiL2dkYi9taWNyb2JsYXplLXRkZXAuaApp bmRleCBhNTMyMDkyLi4xYWFiNGFiIDEwMDY0NAotLS0gYS9nZGIvbWljcm9i bGF6ZS10ZGVwLmgKKysrIGIvZ2RiL21pY3JvYmxhemUtdGRlcC5oCkBAIC0y NiwyOCArMjYsNiBAQCBzdHJ1Y3QgZ2RiYXJjaF90ZGVwCiB7CiB9OwogCi1z dHJ1Y3QgbWljcm9ibGF6ZV9mcmFtZV9jYWNoZQotewotICAvKiBCYXNlIGFk ZHJlc3MuICAqLwotICBDT1JFX0FERFIgYmFzZTsKLSAgQ09SRV9BRERSIHBj OwotCi0gIC8qIERvIHdlIGhhdmUgYSBmcmFtZT8gICovCi0gIGludCBmcmFt ZWxlc3NfcDsKLQotICAvKiBGcmFtZSBzaXplLiAgKi8KLSAgaW50IGZyYW1l c2l6ZTsKLQotICAvKiBGcmFtZSByZWdpc3Rlci4gICovCi0gIGludCBmcF9y ZWdudW07Ci0KLSAgLyogT2Zmc2V0cyB0byBzYXZlZCByZWdpc3RlcnMuICAq LwotICBpbnQgcmVnaXN0ZXJfb2Zmc2V0c1s1N107CS8qIE11c3QgbWF0Y2gg TUlDUk9CTEFaRV9OVU1fUkVHUy4gICovCi0KLSAgLyogVGFibGUgb2Ygc2F2 ZWQgcmVnaXN0ZXJzLiAgKi8KLSAgc3RydWN0IHRyYWRfZnJhbWVfc2F2ZWRf cmVnICpzYXZlZF9yZWdzOwotfTsKLQogLyogUmVnaXN0ZXIgbnVtYmVycy4g ICovCiBlbnVtIG1pY3JvYmxhemVfcmVnbnVtIAogewpAQCAtMTA3LDkgKzg1 LDMzIEBAIGVudW0gbWljcm9ibGF6ZV9yZWdudW0KICAgTUlDUk9CTEFaRV9S VExCWF9SRUdOVU0sCiAgIE1JQ1JPQkxBWkVfUlRMQlNYX1JFR05VTSwKICAg TUlDUk9CTEFaRV9SVExCTE9fUkVHTlVNLAotICBNSUNST0JMQVpFX1JUTEJI SV9SRUdOVU0KKyAgTUlDUk9CTEFaRV9SVExCSElfUkVHTlVNLAorICBNSUNS T0JMQVpFX1NMUl9SRUdOVU0sIE1JQ1JPQkxBWkVfTlVNX0NPUkVfUkVHUyA9 IE1JQ1JPQkxBWkVfU0xSX1JFR05VTSwKKyAgTUlDUk9CTEFaRV9TSFJfUkVH TlVNLAorICBNSUNST0JMQVpFX05VTV9SRUdTCiB9OwogCitzdHJ1Y3QgbWlj cm9ibGF6ZV9mcmFtZV9jYWNoZQoreworICAvKiBCYXNlIGFkZHJlc3MuICAq LworICBDT1JFX0FERFIgYmFzZTsKKyAgQ09SRV9BRERSIHBjOworCisgIC8q IERvIHdlIGhhdmUgYSBmcmFtZT8gICovCisgIGludCBmcmFtZWxlc3NfcDsK KworICAvKiBGcmFtZSBzaXplLiAgKi8KKyAgaW50IGZyYW1lc2l6ZTsKKwor ICAvKiBGcmFtZSByZWdpc3Rlci4gICovCisgIGludCBmcF9yZWdudW07CisK KyAgLyogT2Zmc2V0cyB0byBzYXZlZCByZWdpc3RlcnMuICAqLworICBpbnQg cmVnaXN0ZXJfb2Zmc2V0c1tNSUNST0JMQVpFX05VTV9SRUdTXTsKKworICAv KiBUYWJsZSBvZiBzYXZlZCByZWdpc3RlcnMuICAqLworICBzdHJ1Y3QgdHJh ZF9mcmFtZV9zYXZlZF9yZWcgKnNhdmVkX3JlZ3M7Cit9OwogLyogQWxsIHJl Z2lzdGVycyBhcmUgMzIgYml0cy4gICovCiAjZGVmaW5lIE1JQ1JPQkxBWkVf UkVHSVNURVJfU0laRSA0CiAKZGlmZiAtLWdpdCBhL2dkYi9yZWdmb3JtYXRz L21pY3JvYmxhemUtd2l0aC1zdGFjay1wcm90ZWN0LmRhdCBiL2dkYi9yZWdm b3JtYXRzL21pY3JvYmxhemUtd2l0aC1zdGFjay1wcm90ZWN0LmRhdApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzFjMTExCi0tLSAv ZGV2L251bGwKKysrIGIvZ2RiL3JlZ2Zvcm1hdHMvbWljcm9ibGF6ZS13aXRo LXN0YWNrLXByb3RlY3QuZGF0CkBAIC0wLDAgKzEsNjMgQEAKKyMgRE8gTk9U IEVESVQ6IGdlbmVyYXRlZCBmcm9tIG1pY3JvYmxhemUtd2l0aC1zdGFjay1w cm90ZWN0LnhtbAorbmFtZTptaWNyb2JsYXplX3dpdGhfc3RhY2tfcHJvdGVj dAoreG1sdGFyZ2V0Om1pY3JvYmxhemUtd2l0aC1zdGFjay1wcm90ZWN0Lnht bAorZXhwZWRpdGU6cjEscGMKKzMyOnIwCiszMjpyMQorMzI6cjIKKzMyOnIz CiszMjpyNAorMzI6cjUKKzMyOnI2CiszMjpyNworMzI6cjgKKzMyOnI5Cisz MjpyMTAKKzMyOnIxMQorMzI6cjEyCiszMjpyMTMKKzMyOnIxNAorMzI6cjE1 CiszMjpyMTYKKzMyOnIxNworMzI6cjE4CiszMjpyMTkKKzMyOnIyMAorMzI6 cjIxCiszMjpyMjIKKzMyOnIyMworMzI6cjI0CiszMjpyMjUKKzMyOnIyNgor MzI6cjI3CiszMjpyMjgKKzMyOnIyOQorMzI6cjMwCiszMjpyMzEKKzMyOnJw YworMzI6cm1zcgorMzI6cmVhcgorMzI6cmVzcgorMzI6cmZzcgorMzI6cmJ0 cgorMzI6cnB2cjAKKzMyOnJwdnIxCiszMjpycHZyMgorMzI6cnB2cjMKKzMy OnJwdnI0CiszMjpycHZyNQorMzI6cnB2cjYKKzMyOnJwdnI3CiszMjpycHZy OAorMzI6cnB2cjkKKzMyOnJwdnIxMAorMzI6cnB2cjExCiszMjpyZWRyCisz MjpycGlkCiszMjpyenByCiszMjpydGxieAorMzI6cnRsYnN4CiszMjpydGxi bG8KKzMyOnJ0bGJoaQorMzI6cnNscgorMzI6cnNocgpkaWZmIC0tZ2l0IGEv Z2RiL3JlZ2Zvcm1hdHMvbWljcm9ibGF6ZS5kYXQgYi9nZGIvcmVnZm9ybWF0 cy9taWNyb2JsYXplLmRhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5mYmMzZWRiCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiL3JlZ2Zv cm1hdHMvbWljcm9ibGF6ZS5kYXQKQEAgLTAsMCArMSw2MSBAQAorIyBETyBO T1QgRURJVDogZ2VuZXJhdGVkIGZyb20gbWljcm9ibGF6ZS54bWwKK25hbWU6 bWljcm9ibGF6ZQoreG1sdGFyZ2V0Om1pY3JvYmxhemUueG1sCitleHBlZGl0 ZTpyMSxwYworMzI6cjAKKzMyOnIxCiszMjpyMgorMzI6cjMKKzMyOnI0Cisz MjpyNQorMzI6cjYKKzMyOnI3CiszMjpyOAorMzI6cjkKKzMyOnIxMAorMzI6 cjExCiszMjpyMTIKKzMyOnIxMworMzI6cjE0CiszMjpyMTUKKzMyOnIxNgor MzI6cjE3CiszMjpyMTgKKzMyOnIxOQorMzI6cjIwCiszMjpyMjEKKzMyOnIy MgorMzI6cjIzCiszMjpyMjQKKzMyOnIyNQorMzI6cjI2CiszMjpyMjcKKzMy OnIyOAorMzI6cjI5CiszMjpyMzAKKzMyOnIzMQorMzI6cnBjCiszMjpybXNy CiszMjpyZWFyCiszMjpyZXNyCiszMjpyZnNyCiszMjpyYnRyCiszMjpycHZy MAorMzI6cnB2cjEKKzMyOnJwdnIyCiszMjpycHZyMworMzI6cnB2cjQKKzMy OnJwdnI1CiszMjpycHZyNgorMzI6cnB2cjcKKzMyOnJwdnI4CiszMjpycHZy OQorMzI6cnB2cjEwCiszMjpycHZyMTEKKzMyOnJlZHIKKzMyOnJwaWQKKzMy OnJ6cHIKKzMyOnJ0bGJ4CiszMjpydGxic3gKKzMyOnJ0bGJsbworMzI6cnRs YmhpCi0tIAoxLjcuMQoK --_002_37378DC5BCD0EE48BA4B082E0B55DFAA40B8DEEDXAPPVEXMBX01xln_--