From owner-freebsd-acpi@FreeBSD.ORG Mon Mar 21 11:06:52 2011 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7DE5210656B6 for ; Mon, 21 Mar 2011 11:06:52 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 3F2178FC1E for ; Mon, 21 Mar 2011 11:06:52 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p2LB6qgh085904 for ; Mon, 21 Mar 2011 11:06:52 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p2LB6pqh085902 for freebsd-acpi@FreeBSD.org; Mon, 21 Mar 2011 11:06:51 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 21 Mar 2011 11:06:51 GMT Message-Id: <201103211106.p2LB6pqh085902@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-acpi@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-acpi@FreeBSD.org X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2011 11:06:52 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/154955 acpi [acpi] Keyboard or ACPI doesn't work on Lenovo S10-3 o kern/152438 acpi [acpi]: patch to acpi_asus(4) to add extra sysctls for o kern/152098 acpi [acpi] Lenovo T61p does not resume o i386/146715 acpi [acpi] Suspend works, resume not on a HP Probook 4510s o kern/145306 acpi [acpi]: Can't change brightness on HP ProBook 4510s o i386/144045 acpi [acpi] [panic] kernel trap with acpi enabled o i386/143798 acpi [acpi] shutdown problem with SiS K7S5A o kern/143420 acpi [acpi] ACPI issues with Toshiba o kern/142263 acpi [acpi] ACPI regression on Asus K8N7-E deluxe motherboa o kern/142009 acpi [acpi] [panic] Panic in AcpiNsGetAttachedObject o amd64/140751 acpi [acpi] BIOS resource allocation and FreeBSD ACPI in TO o kern/139088 acpi [acpi] ACPI Exception: AE_AML_INFINITE_LOOP error o amd64/138210 acpi [acpi] acer aspire 5536 ACPI problems (S3, brightness, o bin/137053 acpi [hang] FreeBSD 8.0 BETA2Compaq Mini 700 locks on boot o kern/137042 acpi [acpi] hp laptop's lcd not wakes up after suspend to r o i386/136008 acpi [acpi] Dell Vostro 1310 will not shutdown (Requires us o bin/135349 acpi [patch] teach acpidump(8) to disassemble arbitrary mem o kern/135070 acpi [acpi] [patch] BIOS resource allocation and FreeBSD AC o kern/132602 acpi [acpi] ACPI Problem with Intel SS4200: System does not o kern/130683 acpi [ACPI] shutdown hangs after syncing disks - ACPI race? o i386/129953 acpi [acpi] ACPI timeout (CDROM) with Shuttle X27D p kern/128634 acpi [patch] fix acpi_asus(4) in asus a6f laptop o kern/124412 acpi [acpi] power off error on Toshiba M40 laptop o kern/123039 acpi [acpi] ACPI AML_BUFFER_LIMIT errors during boot o kern/121504 acpi [patch] Correctly set hw.acpi.osname on certain machin f kern/119356 acpi [acpi]: i386 ACPI wakeup not work due resource exhaust o kern/119200 acpi [acpi] Lid close switch suspends CPU for 1 second on H o kern/116939 acpi [acpi] PCI-to-PCI misconfigured for bus three and can o i386/114562 acpi [acpi] cardbus is dead after s3 on Thinkpad T43 with a o kern/114165 acpi [acpi] Dell C810 - ACPI problem s kern/112544 acpi [acpi] [patch] Add High Precision Event Timer Driver f o kern/108695 acpi [acpi]: Fatal trap 9: general protection fault when in o kern/108488 acpi [acpi] ACPI-1304: *** Error: Method execution failed o kern/106924 acpi [acpi] ACPI resume returns g_vfs_done() errors and ker o kern/105537 acpi [acpi] problems in acpi on HP Compaq nc6320 o kern/102252 acpi acpi thermal does not work on Abit AW8D (intel 975) o i386/83018 acpi [install] Installer will not boot on Asus P4S8X BIOS 1 o kern/73823 acpi [request] acpi / power-on by timer support o i386/69750 acpi Boot without ACPI failed on ASUS L5 o kern/56024 acpi ACPI suspend drains battery while in S3 o i386/55661 acpi ACPI suspend/resume problem on ARMADA M700 41 problems total. From owner-freebsd-acpi@FreeBSD.ORG Tue Mar 22 04:44:39 2011 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D9F31065672 for ; Tue, 22 Mar 2011 04:44:39 +0000 (UTC) (envelope-from takawata@init-main.com) Received: from sana.init-main.com (unknown [IPv6:2001:240:28::1]) by mx1.freebsd.org (Postfix) with ESMTP id B49728FC0A for ; Tue, 22 Mar 2011 04:44:38 +0000 (UTC) Received: from ns.init-main.com (localhost [127.0.0.1]) by sana.init-main.com (8.14.3/8.14.3) with ESMTP id p2M4hYiZ032166 for ; Tue, 22 Mar 2011 13:43:35 +0900 (JST) (envelope-from takawata@ns.init-main.com) Message-Id: <201103220443.p2M4hYiZ032166@sana.init-main.com> To: acpi@freebsd.org Date: Tue, 22 Mar 2011 13:43:34 +0900 From: Takanori Watanabe Cc: Subject: Review: Add support for additional ACPI table dump for acpidump(8) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 04:44:39 -0000 This patch adds support capability to dump Alert Standard Format(ASF!) and Simple Boot format(BOOT) table to acpidump(8). How about this? Index: acpidump.h =================================================================== --- acpidump.h (revision 219256) +++ acpidump.h (working copy) @@ -33,6 +33,7 @@ #include #include #include +#include /* GAS address space ID constants. */ #define ACPI_GAS_MEMORY 0 Index: acpi.c =================================================================== --- acpi.c (revision 219256) +++ acpi.c (working copy) @@ -743,7 +743,97 @@ } } + static void +acpi_handle_boot(ACPI_TABLE_HEADER *sdp) +{ + ACPI_TABLE_BOOT *boot = (ACPI_TABLE_BOOT *) sdp; + + printf(BEGIN_COMMENT); + acpi_print_sdt(sdp); + printf("\tCMOS Index: %02x\n", boot->CmosIndex); + printf(END_COMMENT); +} + +static void +acpi_handle_asf(ACPI_TABLE_HEADER *sdp) +{ + char *p, *q, *r; + int i; + ACPI_ASF_HEADER *asf; + ACPI_ASF_INFO *asfinfo; + ACPI_ASF_ALERT *asfalert; + ACPI_ASF_REMOTE *asfcontrol; + ACPI_ASF_RMCP *asfboot; + ACPI_ASF_ADDRESS *asfaddr; + ACPI_ASF_CONTROL_DATA *cdata; + + printf(BEGIN_COMMENT); + acpi_print_sdt(sdp); + p = (char *) sdp + sizeof(ACPI_TABLE_HEADER); + q = (char *) sdp + sdp->Length; + while(p < q){ + asf = (ACPI_ASF_HEADER *)p; + switch(asf->Type&0x7f){ + case ACPI_ASF_TYPE_INFO: + asfinfo = (ACPI_ASF_INFO *)asf; + printf("\tASF_INFO:MinResetValue:%d MinPollInterval:%d\n",asfinfo->MinResetValue, asfinfo->MinPollInterval); + printf("\t MfgId:%08x Flags:%x\n", + asfinfo->MfgId, asfinfo->Flags); + break; + case ACPI_ASF_TYPE_ALERT: + asfalert = (ACPI_ASF_ALERT *)asf; + printf("\tASF_ALERT:AssertMask %02x DeassertMask %02x\n", + asfalert->AssertMask, asfalert->DeassertMask); + printf("\t Alerts:%x, Length%x\n", asfalert->Alerts, asfalert->DataLength); + break; + case ACPI_ASF_TYPE_CONTROL: + asfcontrol = (ACPI_ASF_REMOTE *)asf; + r = (char *)asf + sizeof(ACPI_ASF_REMOTE); + + printf("\tASF_RCTL:Controls %02x DataLength %02x\n", + asfcontrol->Controls, asfcontrol->DataLength); + for(i = 0; i < asfcontrol->Controls; i++){ + cdata = (ACPI_ASF_CONTROL_DATA *)r ; + printf("\t\tFunc:%02x, Addr %02x, Cmd %02x, Data %02x\n", cdata->Function, cdata->Address, cdata->Command, cdata->Value); + r += asfcontrol->DataLength; + } + break; + case ACPI_ASF_TYPE_BOOT: + asfboot = (ACPI_ASF_RMCP *)asf; + printf("\tASF_RMCP:Capabilities%02x%02x%02x%02x%02x%02x%02x\n", + asfboot->Capabilities[0], + asfboot->Capabilities[1], + asfboot->Capabilities[2], + asfboot->Capabilities[3], + asfboot->Capabilities[4], + asfboot->Capabilities[5], + asfboot->Capabilities[6]); + printf("\t CompletionCode %02x, EnterpriseId %08x, Command %02x\n", + asfboot->CompletionCode, asfboot->EnterpriseId, + asfboot->Command); + printf("\t Parameter %04x, BootOptions %04x, OemParameters %04x\n", + asfboot->Parameter, asfboot->BootOptions, + asfboot->OemParameters); + break; + case ACPI_ASF_TYPE_ADDRESS: + asfaddr = (ACPI_ASF_ADDRESS *)asf; + printf("\tASF_ADDR:EpromAddress %02x Devices %02x\n", + asfaddr->EpromAddress, asfaddr->Devices); + break; + default: + printf("\tType:%02x Length:%04x\n", + asf->Type&0x7f, asf->Length); + } + if(asf->Type&0x80) + break; + p += asf->Length; + } + + printf(END_COMMENT); +} + +static void acpi_handle_srat(ACPI_TABLE_HEADER *sdp) { ACPI_TABLE_SRAT *srat; @@ -1088,6 +1178,10 @@ acpi_handle_srat(sdp); else if (!memcmp(sdp->Signature, ACPI_SIG_TCPA, 4)) acpi_handle_tcpa(sdp); + else if (!memcmp(sdp->Signature, ACPI_SIG_ASF, 4)) + acpi_handle_asf(sdp); + else if (!memcmp(sdp->Signature, ACPI_SIG_BOOT, 4)) + acpi_handle_boot(sdp); else { printf(BEGIN_COMMENT); acpi_print_sdt(sdp); From owner-freebsd-acpi@FreeBSD.ORG Tue Mar 22 07:40:02 2011 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2740106564A; Tue, 22 Mar 2011 07:40:02 +0000 (UTC) (envelope-from takawata@init-main.com) Received: from sana.init-main.com (unknown [IPv6:2001:240:28::1]) by mx1.freebsd.org (Postfix) with ESMTP id 714548FC08; Tue, 22 Mar 2011 07:40:02 +0000 (UTC) Received: from ns.init-main.com (localhost [127.0.0.1]) by sana.init-main.com (8.14.3/8.14.3) with ESMTP id p2M7cv0a032819; Tue, 22 Mar 2011 16:38:58 +0900 (JST) (envelope-from takawata@ns.init-main.com) Message-Id: <201103220738.p2M7cv0a032819@sana.init-main.com> To: Andriy Gapon In-reply-to: Your message of "Tue, 22 Mar 2011 09:32:08 +0200." <4D885078.70007@freebsd.org> Date: Tue, 22 Mar 2011 16:38:57 +0900 From: Takanori Watanabe Cc: acpi@freebsd.org Subject: Re: Review: Add support for additional ACPI table dump for acpidump(8) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 07:40:02 -0000 In message <4D885078.70007@freebsd.org>, Andriy Gapon wrote: >on 22/03/2011 06:43 Takanori Watanabe said the following: >> This patch adds support capability to dump Alert Standard Format(ASF!) >> and Simple Boot format(BOOT) table to acpidump(8). > >Not picking on this specific proposal, but my opinion that in general we would >be better off if we could add acpixtract-compatible output format to acpidump. >We already import acpixtract sources, it is maintained by ACPICA guys and >supports a lot of useful formats. Yes. iasl supporting many useful formats for this. >I even had a half-baked patch for that. >http://people.freebsd.org/~avg/acpi-dump-xtract.diff That should be better, I think after I send previous mail, though need not to drop current support of fixed tables interpretation. From owner-freebsd-acpi@FreeBSD.ORG Tue Mar 22 07:48:50 2011 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D404C1065678 for ; Tue, 22 Mar 2011 07:48:50 +0000 (UTC) (envelope-from avg@freebsd.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 230A48FC13 for ; Tue, 22 Mar 2011 07:48:49 +0000 (UTC) Received: from porto.topspin.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id JAA11838; Tue, 22 Mar 2011 09:32:10 +0200 (EET) (envelope-from avg@freebsd.org) Received: from localhost.topspin.kiev.ua ([127.0.0.1]) by porto.topspin.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1Q1w4Y-000BHo-8f; Tue, 22 Mar 2011 09:32:10 +0200 Message-ID: <4D885078.70007@freebsd.org> Date: Tue, 22 Mar 2011 09:32:08 +0200 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.15) Gecko/20110308 Lightning/1.0b2 Thunderbird/3.1.9 MIME-Version: 1.0 To: acpi@freebsd.org References: <201103220443.p2M4hYiZ032166@sana.init-main.com> In-Reply-To: <201103220443.p2M4hYiZ032166@sana.init-main.com> X-Enigmail-Version: 1.1.2 Content-Type: text/plain; charset=KOI8-U Content-Transfer-Encoding: 7bit Cc: Subject: Re: Review: Add support for additional ACPI table dump for acpidump(8) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 07:48:50 -0000 on 22/03/2011 06:43 Takanori Watanabe said the following: > This patch adds support capability to dump Alert Standard Format(ASF!) > and Simple Boot format(BOOT) table to acpidump(8). Not picking on this specific proposal, but my opinion that in general we would be better off if we could add acpixtract-compatible output format to acpidump. We already import acpixtract sources, it is maintained by ACPICA guys and supports a lot of useful formats. I even had a half-baked patch for that. http://people.freebsd.org/~avg/acpi-dump-xtract.diff -- Andriy Gapon From owner-freebsd-acpi@FreeBSD.ORG Tue Mar 22 15:29:45 2011 Return-Path: Delivered-To: acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD8BA106566C for ; Tue, 22 Mar 2011 15:29:45 +0000 (UTC) (envelope-from robert.moore@intel.com) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx1.freebsd.org (Postfix) with ESMTP id 9E9248FC19 for ; Tue, 22 Mar 2011 15:29:45 +0000 (UTC) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP; 22 Mar 2011 08:01:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.63,225,1299484800"; d="scan'208";a="669963613" Received: from orsmsx603.amr.corp.intel.com ([10.22.226.49]) by fmsmga002.fm.intel.com with ESMTP; 22 Mar 2011 08:01:19 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.226.213) by orsmsx603.amr.corp.intel.com (10.22.226.49) with Microsoft SMTP Server (TLS) id 8.2.255.0; Tue, 22 Mar 2011 08:01:19 -0700 Received: from orsmsx503.amr.corp.intel.com ([10.22.226.47]) by orsmsx601.amr.corp.intel.com ([10.22.226.213]) with mapi; Tue, 22 Mar 2011 08:01:19 -0700 From: "Moore, Robert" To: Andriy Gapon , "acpi@freebsd.org" Date: Tue, 22 Mar 2011 08:01:16 -0700 Thread-Topic: Review: Add support for additional ACPI table dump for acpidump(8) Thread-Index: AcvoZjWjs6Rno2VTT2+w4uClR+mkYwAO6WvQ Message-ID: <4911F71203A09E4D9981D27F9D830858D362826F@orsmsx503.amr.corp.intel.com> References: <201103220443.p2M4hYiZ032166@sana.init-main.com> <4D885078.70007@freebsd.org> In-Reply-To: <4D885078.70007@freebsd.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: Subject: RE: Review: Add support for additional ACPI table dump for acpidump(8) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 15:29:45 -0000 And there's a bunch of new tables coming for ACPI 5.0 > -----Original Message----- > From: owner-freebsd-acpi@freebsd.org [mailto:owner-freebsd- > acpi@freebsd.org] On Behalf Of Andriy Gapon > Sent: Tuesday, March 22, 2011 12:32 AM > To: acpi@freebsd.org > Subject: Re: Review: Add support for additional ACPI table dump for > acpidump(8) >=20 > on 22/03/2011 06:43 Takanori Watanabe said the following: > > This patch adds support capability to dump Alert Standard > Format(ASF!) > > and Simple Boot format(BOOT) table to acpidump(8). >=20 > Not picking on this specific proposal, but my opinion that in general > we would > be better off if we could add acpixtract-compatible output format to > acpidump. > We already import acpixtract sources, it is maintained by ACPICA guys > and > supports a lot of useful formats. >=20 > I even had a half-baked patch for that. > http://people.freebsd.org/~avg/acpi-dump-xtract.diff >=20 > -- > Andriy Gapon > _______________________________________________ > freebsd-acpi@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-acpi > To unsubscribe, send any mail to "freebsd-acpi-unsubscribe@freebsd.org" From owner-freebsd-acpi@FreeBSD.ORG Wed Mar 23 18:20:54 2011 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42F73106564A for ; Wed, 23 Mar 2011 18:20:54 +0000 (UTC) (envelope-from dbaio@bsd.com.br) Received: from mail-gx0-f182.google.com (mail-gx0-f182.google.com [209.85.161.182]) by mx1.freebsd.org (Postfix) with ESMTP id 072728FC0C for ; Wed, 23 Mar 2011 18:20:53 +0000 (UTC) Received: by gxk28 with SMTP id 28so4103783gxk.13 for ; Wed, 23 Mar 2011 11:20:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.101.116.19 with SMTP id t19mr4961012anm.161.1300904453142; Wed, 23 Mar 2011 11:20:53 -0700 (PDT) Received: by 10.100.196.7 with HTTP; Wed, 23 Mar 2011 11:20:52 -0700 (PDT) In-Reply-To: References: Date: Wed, 23 Mar 2011 15:20:53 -0300 Message-ID: From: Danilo Baio To: freebsd-acpi@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: acpi battery HP 540 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2011 18:20:54 -0000 Hello guys, after upgrading my box to 9-CURRENT revision 219046 the sensors of the battery dont show the correct values. After the boot, show the right value, but it dont refresh, and dont change the state, even turning on or off the power supply. I have a HP 540. The output of my dmesg with boot verbose and systcl: http://dbaio.bs2.com.br/arquivos/acpi/dmesg_with_acpi_boot_verbose.txt http://dbaio.bs2.com.br/arquivos/acpi/sysctls.txt and ASL: http://dbaio.bs2.com.br/arquivos/acpi/dbaio_HP540.asl Thank you. -- Danilo G. Baio (dbaio) From owner-freebsd-acpi@FreeBSD.ORG Sat Mar 26 17:36:22 2011 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E9D8106564A for ; Sat, 26 Mar 2011 17:36:22 +0000 (UTC) (envelope-from aksenzov@gmail.com) Received: from mail-iy0-f182.google.com (mail-iy0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id 7A4AC8FC0A for ; Sat, 26 Mar 2011 17:36:21 +0000 (UTC) Received: by iyj12 with SMTP id 12so2697330iyj.13 for ; Sat, 26 Mar 2011 10:36:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=kVT3iz3j41iAXklKZQkOA04wtMcMW6DNWOZV6C4XTmE=; b=JjbAWuZ/aMI3gW2thqcvFid6KwLF+B9DmC39EkQ+pkQt6NJzcsHHO20h04IfH48W+f iJtodHxoZZRMfYguSKqJKXKAJSSG13Nj0tf9R6PT+rsLWX466GdWnMRRTl2eKmhcC8Xf HvrianH0EuIHLrQ7/8Om5g3f8/Zh2amhiAhrg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=SVb93en84/GyrheD2V+TrwBaknw05xTi1wdjtbDKxVm1EHsPhp+Cm0Aj9rFkdy5ZjD pxaTbIFULMEAl4koZW5bRtBwFqbOwO8YyR33aW+ayRV0NUN1OjINCEduChT5rEtCGHrt 3izooi9kKlb22z/rp2Wq0JzMNtiYy/8wp33Dg= MIME-Version: 1.0 Received: by 10.43.47.5 with SMTP id uq5mr3245791icb.487.1301159625516; Sat, 26 Mar 2011 10:13:45 -0700 (PDT) Received: by 10.42.74.2 with HTTP; Sat, 26 Mar 2011 10:13:45 -0700 (PDT) Date: Sun, 27 Mar 2011 00:13:45 +0700 Message-ID: From: =?KOI8-R?B?69PFztrP1yDhzMXL08XK?= To: freebsd-acpi@FreeBSD.org Content-Type: multipart/mixed; boundary=bcaec52e6005466829049f65d53e X-Mailman-Approved-At: Sat, 26 Mar 2011 17:40:48 +0000 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: Atheros 9285 & Atheros AR8131 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Mar 2011 17:36:22 -0000 --bcaec52e6005466829049f65d53e Content-Type: text/plain; charset=ISO-8859-1 Network cards do not work. Tried on systems 8.0, 8.1, and 8.2. Notebook Aser Extenza 5635ZG. Tried to change Wi-Fi adapter on the other, but the situation has not changed. In all kinds of windows and linux, works fine. ath0: irq 19 at device 0.0 on pci7 ath0: 0x10000 bytes of rid 0x10 res 3 failed (0, 0xffffffff). ath0: cannot map register space device_attach: ath0 attach returned 6 alc0: irq 17 at device 0.0 on pci9 alc0: 0x40000 bytes of rid 0x10 res 3 failed (0, 0xffffffff). alc0: cannot allocate memory resources. device_attach: alc0 attach returned 6 Attached: dmesg, sysctl hw.acpi and acpidump -t -d --bcaec52e6005466829049f65d53e Content-Type: application/octet-stream; name=dmesg Content-Disposition: attachment; filename=dmesg Content-Transfer-Encoding: base64 X-Attachment-Id: f_glqstx2a0 Q29weXJpZ2h0IChjKSAxOTkyLTIwMTEgVGhlIEZyZWVCU0QgUHJvamVjdC4KQ29weXJpZ2h0IChj KSAxOTc5LCAxOTgwLCAxOTgzLCAxOTg2LCAxOTg4LCAxOTg5LCAxOTkxLCAxOTkyLCAxOTkzLCAx OTk0CglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiBBbGwgcmln aHRzIHJlc2VydmVkLgpGcmVlQlNEIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgVGhlIEZy ZWVCU0QgRm91bmRhdGlvbi4KRnJlZUJTRCA4LjItUkVMRUFTRSAjMDogRnJpIEZlYiAxOCAwMjoy NDo0NiBVVEMgMjAxMQogICAgcm9vdEBhbG1laWRhLmNzZS5idWZmYWxvLmVkdTovdXNyL29iai91 c3Ivc3JjL3N5cy9HRU5FUklDIGkzODYKUHJlbG9hZGVkIGVsZiBrZXJuZWwgIi9ib290L2tlcm5l bC9rZXJuZWwiIGF0IDB4YzBmZGIwMDAuClRpbWVjb3VudGVyICJpODI1NCIgZnJlcXVlbmN5IDEx OTMxODIgSHogcXVhbGl0eSAwCkNhbGlicmF0aW5nIFRTQyBjbG9jayAuLi4gVFNDIGNsb2NrOiAy MTk0NzU3MzIzIEh6CkNQVTogUGVudGl1bShSKSBEdWFsLUNvcmUgQ1BVICAgICAgIFQ0NDAwICBA IDIuMjBHSHogKDIxOTQuNzYtTUh6IDY4Ni1jbGFzcyBDUFUpCiAgT3JpZ2luID0gIkdlbnVpbmVJ bnRlbCIgIElkID0gMHgxMDY3YSAgRmFtaWx5ID0gNiAgTW9kZWwgPSAxNyAgU3RlcHBpbmcgPSAx MAogIEZlYXR1cmVzPTB4YmZlYmZiZmY8RlBVLFZNRSxERSxQU0UsVFNDLE1TUixQQUUsTUNFLENY OCxBUElDLFNFUCxNVFJSLFBHRSxNQ0EsQ01PVixQQVQsUFNFMzYsQ0xGTFVTSCxEVFMsQUNQSSxN TVgsRlhTUixTU0UsU1NFMixTUyxIVFQsVE0sUEJFPgogIEZlYXR1cmVzMj0weDQwMGUzOWQ8U1NF MyxEVEVTNjQsTU9OLERTX0NQTCxFU1QsVE0yLFNTU0UzLENYMTYseFRQUixQRENNLFhTQVZFPgog IEFNRCBGZWF0dXJlcz0weDIwMTAwMDAwPE5YLExNPgogIEFNRCBGZWF0dXJlczI9MHgxPExBSEY+ CiAgVFNDOiBQLXN0YXRlIGludmFyaWFudAoKSW5zdHJ1Y3Rpb24gVExCOiA0IEtCIFBhZ2VzLCA0 LXdheSBzZXQgYXNzb2NpYXRpdmUsIDEyOCBlbnRyaWVzCjJuZC1sZXZlbCBjYWNoZTogMSBNQiwg NC13YXkgc2V0IGFzc29jaWF0aXZlLCA2NC1ieXRlIGxpbmUgc2l6ZQoxc3QtbGV2ZWwgaW5zdHJ1 Y3Rpb24gY2FjaGU6IDMyIEtCLCA4LXdheSBzZXQgYXNzb2NpYXRpdmUsIDY0IGJ5dGUgbGluZSBz aXplCjFzdC1sZXZlbCBkYXRhIGNhY2hlOiAzMiBLQiwgOC13YXkgc2V0IGFzc29jaWF0aXZlLCA2 NCBieXRlIGxpbmUgc2l6ZQpMMiBjYWNoZTogMTAyNCBrYnl0ZXMsIDQtd2F5IGFzc29jaWF0aXZl LCA2NCBieXRlcy9saW5lCnJlYWwgbWVtb3J5ICA9IDIxNDc0ODM2NDggKDIwNDggTUIpClBoeXNp Y2FsIG1lbW9yeSBjaHVuayhzKToKMHgwMDAwMDAwMDAwMDAxMDAwIC0gMHgwMDAwMDAwMDAwMDll ZmZmLCA2NDcxNjggYnl0ZXMgKDE1OCBwYWdlcykKMHgwMDAwMDAwMDAwMTAwMDAwIC0gMHgwMDAw MDAwMDAwM2ZmZmZmLCAzMTQ1NzI4IGJ5dGVzICg3NjggcGFnZXMpCjB4MDAwMDAwMDAwMTAyNjAw MCAtIDB4MDAwMDAwMDA3ZDQ2NGZmZiwgMjA4NDgyNzEzNiBieXRlcyAoNTA4OTkxIHBhZ2VzKQow eDAwMDAwMDAwN2Y4YTcwMDAgLSAweDAwMDAwMDAwN2Y5YzlmZmYsIDExOTE5MzYgYnl0ZXMgKDI5 MSBwYWdlcykKMHgwMDAwMDAwMDdmYTBmMDAwIC0gMHgwMDAwMDAwMDdmYjA4ZmZmLCAxMDI0MDAw IGJ5dGVzICgyNTAgcGFnZXMpCjB4MDAwMDAwMDA3ZmQwZjAwMCAtIDB4MDAwMDAwMDA3ZmQxOGZm ZiwgNDA5NjAgYnl0ZXMgKDEwIHBhZ2VzKQoweDAwMDAwMDAwN2ZkMWYwMDAgLSAweDAwMDAwMDAw N2ZkNjNmZmYsIDI4MjYyNCBieXRlcyAoNjkgcGFnZXMpCjB4MDAwMDAwMDA3ZmQ5ZjAwMCAtIDB4 MDAwMDAwMDA3ZmRkMGZmZiwgMjA0ODAwIGJ5dGVzICg1MCBwYWdlcykKYXZhaWwgbWVtb3J5ID0g MjA4NjI0NDM1MiAoMTk4OSBNQikKVGFibGUgJ0ZBQ1AnIGF0IDB4N2ZkZTUwMDAKVGFibGUgJ0hQ RVQnIGF0IDB4N2ZkZmVlZmMKVGFibGUgJ01DRkcnIGF0IDB4N2ZkZmVmMzQKVGFibGUgJ0FQSUMn IGF0IDB4N2ZkZmVmNzAKQVBJQzogRm91bmQgdGFibGUgYXQgMHg3ZmRmZWY3MApNUCBDb25maWd1 cmF0aW9uIFRhYmxlIHZlcnNpb24gMS40IGZvdW5kIGF0IDB4YzAwOWY5NzEKQVBJQzogVXNpbmcg dGhlIE1BRFQgZW51bWVyYXRvci4KTUFEVDogRm91bmQgQ1BVIEFQSUMgSUQgMCBBQ1BJIElEIDA6 IGVuYWJsZWQKU01QOiBBZGRlZCBDUFUgMCAoQVApCk1BRFQ6IEZvdW5kIENQVSBBUElDIElEIDEg QUNQSSBJRCAxOiBlbmFibGVkClNNUDogQWRkZWQgQ1BVIDEgKEFQKQpBQ1BJIEFQSUMgVGFibGU6 IDxQVExURCAgCSBBUElDICA+CklOVFI6IEFkZGluZyBsb2NhbCBBUElDIDEgYXMgYSB0YXJnZXQK RnJlZUJTRC9TTVA6IE11bHRpcHJvY2Vzc29yIFN5c3RlbSBEZXRlY3RlZDogMiBDUFVzCkZyZWVC U0QvU01QOiAxIHBhY2thZ2UocykgeCAyIGNvcmUocykKIGNwdTAgKEJTUCk6IEFQSUMgSUQ6ICAw CiBjcHUxIChBUCk6IEFQSUMgSUQ6ICAxCkFQSUM6IENQVSAwIGhhcyBBQ1BJIElEIDAKQVBJQzog Q1BVIDEgaGFzIEFDUEkgSUQgMQpiaW9zMzI6IEZvdW5kIEJJT1MzMiBTZXJ2aWNlIERpcmVjdG9y eSBoZWFkZXIgYXQgMHhjMDBmNzVhMApiaW9zMzI6IEVudHJ5ID0gMHhmZGEyMSAoYzAwZmRhMjEp ICBSZXYgPSAwICBMZW4gPSAxCnBjaWJpb3M6IFBDSSBCSU9TIGVudHJ5IGF0IDB4ZmRhMjArMHgy MjEKcG5wYmlvczogRm91bmQgUG5QIEJJT1MgZGF0YSBhdCAweGMwMGY3NjIwCnBucGJpb3M6IEVu dHJ5ID0gZjAwMDA6YmYwYyAgUmV2ID0gMS4wCk90aGVyIEJJT1Mgc2lnbmF0dXJlcyBmb3VuZDoK eDg2YmlvczogICBJVlQgMHgwMDAwMDAtMHgwMDA0ZmYgYXQgMHhjMDAwMDAwMAp4ODZiaW9zOiAg U1NFRyAweDAxMDAwMC0weDAxZmZmZiBhdCAweGM1MWJlMDAwCng4NmJpb3M6ICBFQkRBIDB4MDlm MDAwLTB4MDlmZmZmIGF0IDB4YzAwOWYwMDAKeDg2YmlvczogICBST00gMHgwYTAwMDAtMHgwZWZm ZmYgYXQgMHhjMDBhMDAwMApVTEU6IHNldHVwIGNwdSAwClVMRTogc2V0dXAgY3B1IDEKQUNQSTog UlNEUCAweGY3NTEwIDAwMDI0ICh2MDIgUFRMVEQgKQpBQ1BJOiBYU0RUIDB4N2ZkZjVhNjcgMDAw NjQgKHYwMSBQVExURCAgPyBYU0RUICAgMDYwNDAwMDAgIExUUCAwMDAwMDAwMCkKQUNQSTogRkFD UCAweDdmZGU1MDAwIDAwMEY0ICh2MDMgSU5URUwgIENSRVNUTE5FIDA2MDQwMDAwIEFMQU4gMDAw MDAwMDEpCkFDUEk6IERTRFQgMHg3ZmRlNjAwMCAwOTJBMSAodjAyIEludGVsICBDQU5USUdBICAw NjA0MDAwMCBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBGQUNTIDB4N2ZkOWVmYzAgMDAwNDAKQUNQSTog SFBFVCAweDdmZGZlZWZjIDAwMDM4ICh2MDEgSU5URUwgIENSRVNUTE5FIDA2MDQwMDAwIExPSFIg MDAwMDAwNUEpCkFDUEk6IE1DRkcgMHg3ZmRmZWYzNCAwMDAzQyAodjAxIElOVEVMICBDUkVTVExO RSAwNjA0MDAwMCBMT0hSIDAwMDAwMDVBKQpBQ1BJOiBBUElDIDB4N2ZkZmVmNzAgMDAwNjggKHYw MSBQVExURCAgPyBBUElDICAgMDYwNDAwMDAgIExUUCAwMDAwMDAwMCkKQUNQSTogQk9PVCAweDdm ZGZlZmQ4IDAwMDI4ICh2MDEgUFRMVEQgICRTQkZUQkwkIDA2MDQwMDAwICBMVFAgMDAwMDAwMDEp CkFDUEk6IFNTRFQgMHg3ZmRlNDAwMCAwMDY1NSAodjAxICBQbVJlZiAgICBDcHVQbSAwMDAwMzAw MCBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBTU0RUIDB4N2ZkZTMwMDAgMDAyNTkgKHYwMSAgUG1SZWYg IENwdTBUc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKQUNQSTogU1NEVCAweDdmZGUyMDAwIDAw MjBGICh2MDEgIFBtUmVmICAgIEFwVHN0IDAwMDAzMDAwIElOVEwgMjAwNjExMDkpCk1BRFQ6IEZv dW5kIElPIEFQSUMgSUQgMiwgSW50ZXJydXB0IDAgYXQgMHhmZWMwMDAwMAppb2FwaWMwOiBSb3V0 aW5nIGV4dGVybmFsIDgyNTlBJ3MgLT4gaW50cGluIDAKbGFwaWMwOiBSb3V0aW5nIE5NSSAtPiBM SU5UMQpsYXBpYzA6IExJTlQxIHRyaWdnZXI6IGVkZ2UKbGFwaWMwOiBMSU5UMSBwb2xhcml0eTog aGlnaApsYXBpYzE6IFJvdXRpbmcgTk1JIC0+IExJTlQxCmxhcGljMTogTElOVDEgdHJpZ2dlcjog ZWRnZQpsYXBpYzE6IExJTlQxIHBvbGFyaXR5OiBoaWdoCk1BRFQ6IEludGVycnVwdCBvdmVycmlk ZTogc291cmNlIDAsIGlycSAyCmlvYXBpYzA6IFJvdXRpbmcgSVJRIDAgLT4gaW50cGluIDIKTUFE VDogSW50ZXJydXB0IG92ZXJyaWRlOiBzb3VyY2UgOSwgaXJxIDkKaW9hcGljMDogaW50cGluIDkg dHJpZ2dlcjogbGV2ZWwKaW9hcGljMCA8VmVyc2lvbiAyLjA+IGlycXMgMC0yMyBvbiBtb3RoZXJi b2FyZApjcHUwIEJTUDoKICAgICBJRDogMHgwMDAwMDAwMCAgIFZFUjogMHgwMDA1MDAxNCBMRFI6 IDB4MDAwMDAwMDAgREZSOiAweGZmZmZmZmZmCiAgbGludDA6IDB4MDAwMTA3MDAgbGludDE6IDB4 MDAwMDA0MDAgVFBSOiAweDAwMDAwMDAwIFNWUjogMHgwMDAwMDFmZgogIHRpbWVyOiAweDAwMDEw MGVmIHRoZXJtOiAweDAwMDEwMDAwIGVycjogMHgwMDAwMDBmMCBwbWM6IDB4MDAwMTA0MDAKd2xh bjogPDgwMi4xMSBMaW5rIExheWVyPgpudWxsOiA8bnVsbCBkZXZpY2UsIHplcm8gZGV2aWNlPgpy YW5kb206IDxlbnRyb3B5IHNvdXJjZSwgU29mdHdhcmUsIFlhcnJvdz4KbmZzbG9jazogcHNldWRv LWRldmljZQppbzogPEkvTz4Ka2JkOiBuZXcgYXJyYXkgc2l6ZSA0CmtiZDEgYXQga2JkbXV4MApt ZW06IDxtZW1vcnk+ClBlbnRpdW0gUHJvIE1UUlIgc3VwcG9ydCBlbmFibGVkCmhwdHJyOiBSb2Nr ZXRSQUlEIDE3eHgvMnh4eCBTQVRBIGNvbnRyb2xsZXIgZHJpdmVyIHYxLjIKYWNwaTA6IDxQVExU RCAJIFhTRFQ+IG9uIG1vdGhlcmJvYXJkClBDSWU6IE1lbW9yeSBNYXBwZWQgY29uZmlndXJhdGlv biBiYXNlIEAgMHhlMDAwMDAwMApwY2liaW9zOiBCSU9TIHZlcnNpb24gMy4wMAppb2FwaWMwOiBy b3V0aW5nIGludHBpbiA5IChJU0EgSVJRIDkpIHRvIGxhcGljIDAgdmVjdG9yIDQ4CmFjcGkwOiBb TVBTQUZFXQphY3BpMDogW0lUSFJFQURdCmFjcGkwOiBQb3dlciBCdXR0b24gKGZpeGVkKQphY3Bp MDogd2FrZXVwIGNvZGUgdmEgMHhjNTFiODAwMCBwYSAweDEwMDAKdW5rbm93bjogSS9PIHJhbmdl IG5vdCBzdXBwb3J0ZWQKYWNwaV9ocGV0MDogdmVuZDogMHg4MDg2IHJldjogMHgxIG51bTogNCBo ejogMTQzMTgxODAgb3B0czogbGVnYWN5X3JvdXRlIDY0LWJpdApUaW1lY291bnRlciAiSFBFVCIg ZnJlcXVlbmN5IDE0MzE4MTgwIEh6IHF1YWxpdHkgOTAwCkFDUEkgdGltZXI6IDEvMiAxLzIgMS8y IDEvMiAxLzIgMS8yIDEvMiAxLzIgMS8yIDEvMiAtPiAxMApUaW1lY291bnRlciAiQUNQSS1mYXN0 IiBmcmVxdWVuY3kgMzU3OTU0NSBIeiBxdWFsaXR5IDEwMDAKYWNwaV90aW1lcjA6IDwyNC1iaXQg dGltZXIgYXQgMy41Nzk1NDVNSHo+IHBvcnQgMHg0MDgtMHg0MGIgb24gYWNwaTAKY3B1MDogPEFD UEkgQ1BVPiBvbiBhY3BpMApBQ1BJOiBTU0RUIDB4N2ZkMWFjYTAgMDAyMjMgKHYwMSAgUG1SZWYg IENwdTBJc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKQUNQSTogRHluYW1pYyBPRU0gVGFibGUg TG9hZDoKQUNQSTogU1NEVCAwIDAwMjIzICh2MDEgIFBtUmVmICBDcHUwSXN0IDAwMDAzMDAwIElO VEwgMjAwNjExMDkpCkFDUEk6IFNTRFQgMHg3ZmQxOTYyMCAwMDVCMyAodjAxICBQbVJlZiAgQ3B1 MENzdCAwMDAwMzAwMSBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBEeW5hbWljIE9FTSBUYWJsZSBMb2Fk OgpBQ1BJOiBTU0RUIDAgMDA1QjMgKHYwMSAgUG1SZWYgIENwdTBDc3QgMDAwMDMwMDEgSU5UTCAy MDA2MTEwOSkKY3B1MTogPEFDUEkgQ1BVPiBvbiBhY3BpMApBQ1BJOiBTU0RUIDB4N2ZkMWFhMjAg MDAxQ0YgKHYwMSAgUG1SZWYgICAgQXBJc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKQUNQSTog RHluYW1pYyBPRU0gVGFibGUgTG9hZDoKQUNQSTogU1NEVCAwIDAwMUNGICh2MDEgIFBtUmVmICAg IEFwSXN0IDAwMDAzMDAwIElOVEwgMjAwNjExMDkpCkFDUEk6IFNTRFQgMHg3ZmQxYWYyMCAwMDA4 RCAodjAxICBQbVJlZiAgICBBcENzdCAwMDAwMzAwMCBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBEeW5h bWljIE9FTSBUYWJsZSBMb2FkOgpBQ1BJOiBTU0RUIDAgMDAwOEQgKHYwMSAgUG1SZWYgICAgQXBD c3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKYWNwaV9lYzA6IDxFbWJlZGRlZCBDb250cm9sbGVy OiBHUEUgMHgxOD4gcG9ydCAweDYyLDB4NjYgb24gYWNwaTAKcGNpX2xpbmswOiAgICAgICAgSW5k ZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAgNSAgIE4g ICAgIDAgIDEgMyA0IDUgNiA3IDEwIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAg IDUgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAg ICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTIgMTQgMTUKcGNpX2xpbmsxOiAg ICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAg ICAxMCAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDExIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAg ICAgICAwICAyNTUgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMSAxMiAxNCAxNQogIEFmdGVyIERp c2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTEgMTIgMTQgMTUKcGNp X2xpbmsyOiAgICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2Jl ICAgICAgIDAgICAxMCAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDEwIDEyIDE0IDE1CiAgVmFsaWRh dGlvbiAgICAgICAgICAwICAgMTAgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMiAxNCAxNQog IEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTIg MTQgMTUKcGNpX2xpbmszOiAgICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0 aWFsIFByb2JlICAgICAgIDAgICAxMCAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDExIDEyIDE0IDE1 CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAyNTUgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMSAx MiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2 IDcgMTEgMTIgMTQgMTUKcGNpX2xpbms0OiAgICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElS UXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgIDI1NSAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDEw IDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAyNTUgICBOICAgICAwICAxIDMgNCA1 IDYgNyAxMCAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAg MSAzIDQgNSA2IDcgMTAgMTIgMTQgMTUKcGNpX2xpbms1OiAgICAgICAgSW5kZXggIElSUSAgUnRk ICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAxMSAgIE4gICAgIDAgIDEgMyA0 IDUgNiA3IDExIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAgMTEgICBOICAgICAw ICAxIDMgNCA1IDYgNyAxMSAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAg TiAgICAgMCAgMSAzIDQgNSA2IDcgMTEgMTIgMTQgMTUKcGNpX2xpbms2OiAgICAgICAgSW5kZXgg IElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAxMSAgIE4gICAg IDAgIDEgMyA0IDUgNiA3IDEwIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAyNTUg ICBOICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAg MCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTIgMTQgMTUKcGNpX2xpbms3OiAgICAg ICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAg NyAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDExIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAg ICAwICAgIDcgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMSAxMiAxNCAxNQogIEFmdGVyIERpc2Fi bGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTEgMTIgMTQgMTUKYWNwaV9h Y2FkMDogPEFDIEFkYXB0ZXI+IG9uIGFjcGkwCmJhdHRlcnkwOiA8QUNQSSBDb250cm9sIE1ldGhv ZCBCYXR0ZXJ5PiBvbiBhY3BpMAphY3BpX2xpZDA6IDxDb250cm9sIE1ldGhvZCBMaWQgU3dpdGNo PiBvbiBhY3BpMAphY3BpX2J1dHRvbjA6IDxQb3dlciBCdXR0b24+IG9uIGFjcGkwCmFjcGlfYnV0 dG9uMTogPFNsZWVwIEJ1dHRvbj4gb24gYWNwaTAKcGNpYjA6IDxBQ1BJIEhvc3QtUENJIGJyaWRn ZT4gcG9ydCAweGNmOC0weGNmZiBvbiBhY3BpMApwY2kwOiA8QUNQSSBQQ0kgYnVzPiBvbiBwY2li MApwY2kwOiBkb21haW49MCwgcGh5c2ljYWwgYnVzPTAKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBk ZXY9MHgyYTQwLCByZXZpZD0weDA3Cglkb21haW49MCwgYnVzPTAsIHNsb3Q9MCwgZnVuYz0wCglj bGFzcz0wNi0wMC0wMCwgaGRydHlwZT0weDAwLCBtZmRldj0wCgljbWRyZWc9MHgwMTA2LCBzdGF0 cmVnPTB4MjA5MCwgY2FjaGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBt aW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgwIG5zKQpmb3VuZC0+CXZlbmRvcj0weDgw ODYsIGRldj0weDJhNDEsIHJldmlkPTB4MDcKCWRvbWFpbj0wLCBidXM9MCwgc2xvdD0xLCBmdW5j PTAKCWNsYXNzPTA2LTA0LTAwLCBoZHJ0eXBlPTB4MDEsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDcs IHN0YXRyZWc9MHgwMDEwLCBjYWNoZWxuc3o9MTYgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAg bnMpLCBtaW5nbnQ9MHgxOCAoNjAwMCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWEs IGlycT01Cglwb3dlcnNwZWMgMyAgc3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBw b3J0cyAxIG1lc3NhZ2UKcGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMS5JTlRBCnBjaWIwOiBz bG90IDEgSU5UQSBoYXJkd2lyZWQgdG8gSVJRIDE2CmZvdW5kLT4JdmVuZG9yPTB4ODA4NiwgZGV2 PTB4MjkzNywgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTI2LCBmdW5jPTAKCWNs YXNzPTBjLTAzLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0weDAwMDUsIHN0YXRy ZWc9MHgwMjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1p bmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YSwgaXJxPTUKCW1h cFsyMF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MTgwMCwgc2l6ZSAgNSwgZW5h YmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4yNi5JTlRBCnBjaWIwOiBzbG90IDI2IElO VEEgaGFyZHdpcmVkIHRvIElSUSAxNgp1bmtub3duOiBSZXNlcnZlZCAweDIwIGJ5dGVzIGZvciBy aWQgMHgyMCB0eXBlIDQgYXQgMHgxODAwCmZvdW5kLT4JdmVuZG9yPTB4ODA4NiwgZGV2PTB4Mjkz OCwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTI2LCBmdW5jPTEKCWNsYXNzPTBj LTAzLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDUsIHN0YXRyZWc9MHgw MjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0w eDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YiwgaXJxPTExCgltYXBbMjBd OiB0eXBlIEkvTyBQb3J0LCByYW5nZSAzMiwgYmFzZSAweDE4MjAsIHNpemUgIDUsIGVuYWJsZWQK cGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjYuSU5UQgpwY2liMDogc2xvdCAyNiBJTlRCIGhh cmR3aXJlZCB0byBJUlEgMjEKdW5rbm93bjogUmVzZXJ2ZWQgMHgyMCBieXRlcyBmb3IgcmlkIDB4 MjAgdHlwZSA0IGF0IDB4MTgyMApmb3VuZC0+CXZlbmRvcj0weDgwODYsIGRldj0weDI5M2MsIHJl dmlkPTB4MDMKCWRvbWFpbj0wLCBidXM9MCwgc2xvdD0yNiwgZnVuYz03CgljbGFzcz0wYy0wMy0y MCwgaGRydHlwZT0weDAwLCBtZmRldj0wCgljbWRyZWc9MHgwMDA2LCBzdGF0cmVnPTB4MDI5MCwg Y2FjaGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAo MCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWMsIGlycT0xMAoJcG93ZXJzcGVjIDIg IHN1cHBvcnRzIEQwIEQzICBjdXJyZW50IEQwCgltYXBbMTBdOiB0eXBlIE1lbW9yeSwgcmFuZ2Ug MzIsIGJhc2UgMHhmMDQwNDAwMCwgc2l6ZSAxMCwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRy eSBmb3IgMC4yNi5JTlRDCnBjaWIwOiBzbG90IDI2IElOVEMgaGFyZHdpcmVkIHRvIElSUSAxOQp1 bmtub3duOiBSZXNlcnZlZCAweDQwMCBieXRlcyBmb3IgcmlkIDB4MTAgdHlwZSAzIGF0IDB4ZjA0 MDQwMDAKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTNlLCByZXZpZD0weDAzCglkb21h aW49MCwgYnVzPTAsIHNsb3Q9MjcsIGZ1bmM9MAoJY2xhc3M9MDQtMDMtMDAsIGhkcnR5cGU9MHgw MCwgbWZkZXY9MAoJY21kcmVnPTB4MDAwNiwgc3RhdHJlZz0weDAwMTAsIGNhY2hlbG5zej0xNiAo ZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0 PTB4MDAgKDAgbnMpCglpbnRwaW49YSwgaXJxPTExCglwb3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAg RDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UsIDY0IGJpdAoJbWFwWzEwXTog dHlwZSBNZW1vcnksIHJhbmdlIDY0LCBiYXNlIDB4ZjA0MDAwMDAsIHNpemUgMTQsIGVuYWJsZWQK cGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjcuSU5UQQpwY2liMDogc2xvdCAyNyBJTlRBIGhh cmR3aXJlZCB0byBJUlEgMjIKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTQwLCByZXZp ZD0weDAzCglkb21haW49MCwgYnVzPTAsIHNsb3Q9MjgsIGZ1bmM9MAoJY2xhc3M9MDYtMDQtMDAs IGhkcnR5cGU9MHgwMSwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNh Y2hlbG5zej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDA0ICgx MDAwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YSwgaXJxPTEwCglwb3dlcnNwZWMg MiAgc3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UKcGNp YjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjguSU5UQQpwY2liMDogc2xvdCAyOCBJTlRBIGhhcmR3 aXJlZCB0byBJUlEgMTcKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTQ2LCByZXZpZD0w eDAzCglkb21haW49MCwgYnVzPTAsIHNsb3Q9MjgsIGZ1bmM9MwoJY2xhc3M9MDYtMDQtMDAsIGhk cnR5cGU9MHgwMSwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNhY2hl bG5zej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDA0ICgxMDAw IG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49ZCwgaXJxPTEwCglwb3dlcnNwZWMgMiAg c3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UKcGNpYjA6 IG1hdGNoZWQgZW50cnkgZm9yIDAuMjguSU5URApwY2liMDogc2xvdCAyOCBJTlREIGhhcmR3aXJl ZCB0byBJUlEgMTkKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTRhLCByZXZpZD0weDAz Cglkb21haW49MCwgYnVzPTAsIHNsb3Q9MjgsIGZ1bmM9NQoJY2xhc3M9MDYtMDQtMDAsIGhkcnR5 cGU9MHgwMSwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNhY2hlbG5z ej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDA0ICgxMDAwIG5z KSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YiwgaXJxPTUKCXBvd2Vyc3BlYyAyICBzdXBw b3J0cyBEMCBEMyAgY3VycmVudCBEMAoJTVNJIHN1cHBvcnRzIDEgbWVzc2FnZQpwY2liMDogbWF0 Y2hlZCBlbnRyeSBmb3IgMC4yOC5JTlRCCnBjaWIwOiBzbG90IDI4IElOVEIgaGFyZHdpcmVkIHRv IElSUSAxNgpmb3VuZC0+CXZlbmRvcj0weDgwODYsIGRldj0weDI5MzQsIHJldmlkPTB4MDMKCWRv bWFpbj0wLCBidXM9MCwgc2xvdD0yOSwgZnVuYz0wCgljbGFzcz0wYy0wMy0wMCwgaGRydHlwZT0w eDAwLCBtZmRldj0xCgljbWRyZWc9MHgwMDA1LCBzdGF0cmVnPTB4MDI5MCwgY2FjaGVsbnN6PTAg KGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxh dD0weDAwICgwIG5zKQoJaW50cGluPWEsIGlycT03CgltYXBbMjBdOiB0eXBlIEkvTyBQb3J0LCBy YW5nZSAzMiwgYmFzZSAweDE4NDAsIHNpemUgIDUsIGVuYWJsZWQKcGNpYjA6IG1hdGNoZWQgZW50 cnkgZm9yIDAuMjkuSU5UQQpwY2liMDogc2xvdCAyOSBJTlRBIGhhcmR3aXJlZCB0byBJUlEgMjMK dW5rbm93bjogUmVzZXJ2ZWQgMHgyMCBieXRlcyBmb3IgcmlkIDB4MjAgdHlwZSA0IGF0IDB4MTg0 MApmb3VuZC0+CXZlbmRvcj0weDgwODYsIGRldj0weDI5MzUsIHJldmlkPTB4MDMKCWRvbWFpbj0w LCBidXM9MCwgc2xvdD0yOSwgZnVuYz0xCgljbGFzcz0wYy0wMy0wMCwgaGRydHlwZT0weDAwLCBt ZmRldj0wCgljbWRyZWc9MHgwMDA1LCBzdGF0cmVnPTB4MDI5MCwgY2FjaGVsbnN6PTAgKGR3b3Jk cykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAw ICgwIG5zKQoJaW50cGluPWIsIGlycT0xMAoJbWFwWzIwXTogdHlwZSBJL08gUG9ydCwgcmFuZ2Ug MzIsIGJhc2UgMHgxODYwLCBzaXplICA1LCBlbmFibGVkCnBjaWIwOiBtYXRjaGVkIGVudHJ5IGZv ciAwLjI5LklOVEIKcGNpYjA6IHNsb3QgMjkgSU5UQiBoYXJkd2lyZWQgdG8gSVJRIDE5CnVua25v d246IFJlc2VydmVkIDB4MjAgYnl0ZXMgZm9yIHJpZCAweDIwIHR5cGUgNCBhdCAweDE4NjAKZm91 bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTM2LCByZXZpZD0weDAzCglkb21haW49MCwgYnVz PTAsIHNsb3Q9MjksIGZ1bmM9MgoJY2xhc3M9MGMtMDMtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9 MAoJY21kcmVnPTB4MDAwNSwgc3RhdHJlZz0weDAyOTAsIGNhY2hlbG5zej0wIChkd29yZHMpCgls YXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBu cykKCWludHBpbj1jLCBpcnE9MTAKCW1hcFsyMF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBi YXNlIDB4MTg4MCwgc2l6ZSAgNSwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4y OS5JTlRDCnBjaWIwOiBzbG90IDI5IElOVEMgaGFyZHdpcmVkIHRvIElSUSAxOAp1bmtub3duOiBS ZXNlcnZlZCAweDIwIGJ5dGVzIGZvciByaWQgMHgyMCB0eXBlIDQgYXQgMHgxODgwCmZvdW5kLT4J dmVuZG9yPTB4ODA4NiwgZGV2PTB4MjkzOSwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBz bG90PTI5LCBmdW5jPTMKCWNsYXNzPTBjLTAzLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNt ZHJlZz0weDAwMDUsIHN0YXRyZWc9MHgwMjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGlt ZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglp bnRwaW49ZCwgaXJxPTUKCW1hcFsyMF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4 MThhMCwgc2l6ZSAgNSwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4yOS5JTlRE CnBjaWIwOiBzbG90IDI5IElOVEQgaGFyZHdpcmVkIHRvIElSUSAxNgp1bmtub3duOiBSZXNlcnZl ZCAweDIwIGJ5dGVzIGZvciByaWQgMHgyMCB0eXBlIDQgYXQgMHgxOGEwCmZvdW5kLT4JdmVuZG9y PTB4ODA4NiwgZGV2PTB4MjkzYSwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTI5 LCBmdW5jPTcKCWNsYXNzPTBjLTAzLTIwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0w eDAwMDYsIHN0YXRyZWc9MHgwMjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgw MCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49 YSwgaXJxPTcKCXBvd2Vyc3BlYyAyICBzdXBwb3J0cyBEMCBEMyAgY3VycmVudCBEMAoJbWFwWzEw XTogdHlwZSBNZW1vcnksIHJhbmdlIDMyLCBiYXNlIDB4ZjA0MDQ0MDAsIHNpemUgMTAsIGVuYWJs ZWQKcGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjkuSU5UQQpwY2liMDogc2xvdCAyOSBJTlRB IGhhcmR3aXJlZCB0byBJUlEgMjMKdW5rbm93bjogUmVzZXJ2ZWQgMHg0MDAgYnl0ZXMgZm9yIHJp ZCAweDEwIHR5cGUgMyBhdCAweGYwNDA0NDAwCmZvdW5kLT4JdmVuZG9yPTB4ODA4NiwgZGV2PTB4 MjQ0OCwgcmV2aWQ9MHg5MwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTMwLCBmdW5jPTAKCWNsYXNz PTA2LTA0LTAxLCBoZHJ0eXBlPTB4MDEsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDcsIHN0YXRyZWc9 MHgwMDEwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdu dD0weDA0ICgxMDAwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCmZvdW5kLT4JdmVuZG9yPTB4ODA4 NiwgZGV2PTB4MjkxOSwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTMxLCBmdW5j PTAKCWNsYXNzPTA2LTAxLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0weDAwMDcs IHN0YXRyZWc9MHgwMjEwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBu cyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCmZvdW5kLT4JdmVuZG9y PTB4ODA4NiwgZGV2PTB4MjkyOCwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTMx LCBmdW5jPTIKCWNsYXNzPTAxLTAxLThmLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0w eDAwMDcsIHN0YXRyZWc9MHgwMmIwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgw MCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49 YiwgaXJxPTEwCglwb3dlcnNwZWMgMyAgc3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCW1hcFsx MF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MThmMCwgc2l6ZSAgMywgZW5hYmxl ZAoJbWFwWzE0XTogdHlwZSBJL08gUG9ydCwgcmFuZ2UgMzIsIGJhc2UgMHgxOGU0LCBzaXplICAy LCBlbmFibGVkCgltYXBbMThdOiB0eXBlIEkvTyBQb3J0LCByYW5nZSAzMiwgYmFzZSAweDE4ZTgs IHNpemUgIDMsIGVuYWJsZWQKCW1hcFsxY106IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNl IDB4MThlMCwgc2l6ZSAgMiwgZW5hYmxlZAoJbWFwWzIwXTogdHlwZSBJL08gUG9ydCwgcmFuZ2Ug MzIsIGJhc2UgMHgxOGQwLCBzaXplICA0LCBlbmFibGVkCgltYXBbMjRdOiB0eXBlIEkvTyBQb3J0 LCByYW5nZSAzMiwgYmFzZSAweDE4YzAsIHNpemUgIDQsIGVuYWJsZWQKcGNpYjA6IG1hdGNoZWQg ZW50cnkgZm9yIDAuMzEuSU5UQgpwY2liMDogc2xvdCAzMSBJTlRCIGhhcmR3aXJlZCB0byBJUlEg MTkKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTMwLCByZXZpZD0weDAzCglkb21haW49 MCwgYnVzPTAsIHNsb3Q9MzEsIGZ1bmM9MwoJY2xhc3M9MGMtMDUtMDAsIGhkcnR5cGU9MHgwMCwg bWZkZXY9MAoJY21kcmVnPTB4MDAwMywgc3RhdHJlZz0weDAyODAsIGNhY2hlbG5zej0wIChkd29y ZHMpCglsYXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgw MCAoMCBucykKCWludHBpbj1jLCBpcnE9MTAKCW1hcFsxMF06IHR5cGUgTWVtb3J5LCByYW5nZSA2 NCwgYmFzZSAwLCBzaXplICA4LCBlbmFibGVkCgltYXBbMjBdOiB0eXBlIEkvTyBQb3J0LCByYW5n ZSAzMiwgYmFzZSAweDFjMDAsIHNpemUgIDUsIGVuYWJsZWQKcGNpYjA6IG1hdGNoZWQgZW50cnkg Zm9yIDAuMzEuSU5UQwpwY2liMDogc2xvdCAzMSBJTlRDIGhhcmR3aXJlZCB0byBJUlEgMTkKZm91 bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTJkLCByZXZpZD0weDAzCglkb21haW49MCwgYnVz PTAsIHNsb3Q9MzEsIGZ1bmM9NQoJY2xhc3M9MDEtMDEtODUsIGhkcnR5cGU9MHgwMCwgbWZkZXY9 MAoJY21kcmVnPTB4MDAwNywgc3RhdHJlZz0weDAyYjAsIGNhY2hlbG5zej0wIChkd29yZHMpCgls YXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBu cykKCWludHBpbj1iLCBpcnE9MTAKCXBvd2Vyc3BlYyAzICBzdXBwb3J0cyBEMCBEMyAgY3VycmVu dCBEMAoJbWFwWzEwXTogdHlwZSBJL08gUG9ydCwgcmFuZ2UgMzIsIGJhc2UgMHgxYzQ4LCBzaXpl ICAzLCBlbmFibGVkCgltYXBbMTRdOiB0eXBlIEkvTyBQb3J0LCByYW5nZSAzMiwgYmFzZSAweDE4 ZmMsIHNpemUgIDIsIGVuYWJsZWQKCW1hcFsxOF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBi YXNlIDB4MWM0MCwgc2l6ZSAgMywgZW5hYmxlZAoJbWFwWzFjXTogdHlwZSBJL08gUG9ydCwgcmFu Z2UgMzIsIGJhc2UgMHgxOGY4LCBzaXplICAyLCBlbmFibGVkCgltYXBbMjBdOiB0eXBlIEkvTyBQ b3J0LCByYW5nZSAzMiwgYmFzZSAweDFjMzAsIHNpemUgIDQsIGVuYWJsZWQKCW1hcFsyNF06IHR5 cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MWMyMCwgc2l6ZSAgNCwgZW5hYmxlZApwY2li MDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4zMS5JTlRCCnBjaWIwOiBzbG90IDMxIElOVEIgaGFyZHdp cmVkIHRvIElSUSAxOQpwY2liMTogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGlycSAxNiBhdCBkZXZp Y2UgMS4wIG9uIHBjaTAKcGNpYjE6ICAgZG9tYWluICAgICAgICAgICAgMApwY2liMTogICBzZWNv bmRhcnkgYnVzICAgICAxCnBjaWIxOiAgIHN1Ym9yZGluYXRlIGJ1cyAgIDEKcGNpYjE6ICAgSS9P IGRlY29kZSAgICAgICAgMHgyMDAwLTB4MmZmZgpwY2liMTogICBtZW1vcnkgZGVjb2RlICAgICAw eGNjMDAwMDAwLTB4Y2VmZmZmZmYKcGNpYjE6ICAgcHJlZmV0Y2hlZCBkZWNvZGUgMHhkMDAwMDAw MC0weGRmZmZmZmZmCnBjaTE6IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWIxCnBjaTE6IGRvbWFpbj0w LCBwaHlzaWNhbCBidXM9MQpmb3VuZC0+CXZlbmRvcj0weDEwZGUsIGRldj0weDA2ZWMsIHJldmlk PTB4YTEKCWRvbWFpbj0wLCBidXM9MSwgc2xvdD0wLCBmdW5jPTAKCWNsYXNzPTAzLTAwLTAwLCBo ZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDcsIHN0YXRyZWc9MHgwMDEwLCBjYWNo ZWxuc3o9MTYgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBu cyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWEsIGlycT01Cglwb3dlcnNwZWMgMyAgc3Vw cG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UsIDY0IGJpdAoJ bWFwWzEwXTogdHlwZSBNZW1vcnksIHJhbmdlIDMyLCBiYXNlIDB4Y2UwMDAwMDAsIHNpemUgMjQs IGVuYWJsZWQKcGNpYjE6IHJlcXVlc3RlZCBtZW1vcnkgcmFuZ2UgMHhjZTAwMDAwMC0weGNlZmZm ZmZmOiBnb29kCgltYXBbMTRdOiB0eXBlIFByZWZldGNoYWJsZSBNZW1vcnksIHJhbmdlIDY0LCBi YXNlIDB4ZDAwMDAwMDAsIHNpemUgMjgsIGVuYWJsZWQKcGNpYjE6IHJlcXVlc3RlZCBtZW1vcnkg cmFuZ2UgMHhkMDAwMDAwMC0weGRmZmZmZmZmOiBnb29kCgltYXBbMWNdOiB0eXBlIE1lbW9yeSwg cmFuZ2UgNjQsIGJhc2UgMHhjYzAwMDAwMCwgc2l6ZSAyNSwgZW5hYmxlZApwY2liMTogcmVxdWVz dGVkIG1lbW9yeSByYW5nZSAweGNjMDAwMDAwLTB4Y2RmZmZmZmY6IGdvb2QKCW1hcFsyNF06IHR5 cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MjAwMCwgc2l6ZSAgNywgZW5hYmxlZApwY2li MTogcmVxdWVzdGVkIEkvTyByYW5nZSAweDIwMDAtMHgyMDdmOiBpbiByYW5nZQpwY2liMTogbWF0 Y2hlZCBlbnRyeSBmb3IgMS4wLklOVEEKcGNpYjE6IHNsb3QgMCBJTlRBIGhhcmR3aXJlZCB0byBJ UlEgMTYKdmdhcGNpMDogPFZHQS1jb21wYXRpYmxlIGRpc3BsYXk+IHBvcnQgMHgyMDAwLTB4MjA3 ZiBtZW0gMHhjZTAwMDAwMC0weGNlZmZmZmZmLDB4ZDAwMDAwMDAtMHhkZmZmZmZmZiwweGNjMDAw MDAwLTB4Y2RmZmZmZmYgaXJxIDE2IGF0IGRldmljZSAwLjAgb24gcGNpMQp1aGNpMDogPEludGVs IDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xsZXI+IHBvcnQgMHgxODAwLTB4MTgxZiBpcnEgMTYg YXQgZGV2aWNlIDI2LjAgb24gcGNpMAppb2FwaWMwOiByb3V0aW5nIGludHBpbiAxNiAoUENJIElS USAxNikgdG8gbGFwaWMgMCB2ZWN0b3IgNDkKdWhjaTA6IFtNUFNBRkVdCnVoY2kwOiBbSVRIUkVB RF0KdXNidXMwOiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgY29udHJvbGxlcj4gb24gdWhjaTAK dWhjaTE6IDxJbnRlbCA4MjgwMUkgKElDSDkpIFVTQiBjb250cm9sbGVyPiBwb3J0IDB4MTgyMC0w eDE4M2YgaXJxIDIxIGF0IGRldmljZSAyNi4xIG9uIHBjaTAKaW9hcGljMDogcm91dGluZyBpbnRw aW4gMjEgKFBDSSBJUlEgMjEpIHRvIGxhcGljIDAgdmVjdG9yIDUwCnVoY2kxOiBbTVBTQUZFXQp1 aGNpMTogW0lUSFJFQURdCnVzYnVzMTogPEludGVsIDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xs ZXI+IG9uIHVoY2kxCmVoY2kwOiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgMi4wIGNvbnRyb2xs ZXI+IG1lbSAweGYwNDA0MDAwLTB4ZjA0MDQzZmYgaXJxIDE5IGF0IGRldmljZSAyNi43IG9uIHBj aTAKaW9hcGljMDogcm91dGluZyBpbnRwaW4gMTkgKFBDSSBJUlEgMTkpIHRvIGxhcGljIDAgdmVj dG9yIDUxCmVoY2kwOiBbTVBTQUZFXQplaGNpMDogW0lUSFJFQURdCnVzYnVzMjogRUhDSSB2ZXJz aW9uIDEuMAp1c2J1czI6IDxJbnRlbCA4MjgwMUkgKElDSDkpIFVTQiAyLjAgY29udHJvbGxlcj4g b24gZWhjaTAKcGNpMDogPG11bHRpbWVkaWEsIEhEQT4gYXQgZGV2aWNlIDI3LjAgKG5vIGRyaXZl ciBhdHRhY2hlZCkKcGNpYjI6IDxBQ1BJIFBDSS1QQ0kgYnJpZGdlPiBpcnEgMTcgYXQgZGV2aWNl IDI4LjAgb24gcGNpMApwY2liMjogICBkb21haW4gICAgICAgICAgICAwCnBjaWIyOiAgIHNlY29u ZGFyeSBidXMgICAgIDIKcGNpYjI6ICAgc3Vib3JkaW5hdGUgYnVzICAgNApwY2liMjogICBJL08g ZGVjb2RlICAgICAgICAweDAtMHgwCnBjaWIyOiAgIG5vIHByZWZldGNoZWQgZGVjb2RlCnBjaTI6 IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWIyCnBjaTI6IGRvbWFpbj0wLCBwaHlzaWNhbCBidXM9Mgpw Y2liMzogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGlycSAxOSBhdCBkZXZpY2UgMjguMyBvbiBwY2kw CnBjaWIzOiAgIGRvbWFpbiAgICAgICAgICAgIDAKcGNpYjM6ICAgc2Vjb25kYXJ5IGJ1cyAgICAg NwpwY2liMzogICBzdWJvcmRpbmF0ZSBidXMgICA3CnBjaWIzOiAgIEkvTyBkZWNvZGUgICAgICAg IDB4MC0weDAKcGNpYjM6ICAgbm8gcHJlZmV0Y2hlZCBkZWNvZGUKcGNpNzogPEFDUEkgUENJIGJ1 cz4gb24gcGNpYjMKcGNpNzogZG9tYWluPTAsIHBoeXNpY2FsIGJ1cz03CmZvdW5kLT4JdmVuZG9y PTB4MTY4YywgZGV2PTB4MDAyYiwgcmV2aWQ9MHgwMQoJZG9tYWluPTAsIGJ1cz03LCBzbG90PTAs IGZ1bmM9MAoJY2xhc3M9MDItODAtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MAoJY21kcmVnPTB4 MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNhY2hlbG5zej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgw MCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49 YSwgaXJxPTEwCglwb3dlcnNwZWMgMyAgc3VwcG9ydHMgRDAgRDEgRDMgIGN1cnJlbnQgRDAKCU1T SSBzdXBwb3J0cyAxIG1lc3NhZ2UKCW1hcFsxMF06IHR5cGUgTWVtb3J5LCByYW5nZSA2NCwgYmFz ZSAwLCBzaXplIDE2LCBtZW1vcnkgZGlzYWJsZWQKcGNpYjM6IG1hdGNoZWQgZW50cnkgZm9yIDcu MC5JTlRBCnBjaWIzOiBzbG90IDAgSU5UQSBoYXJkd2lyZWQgdG8gSVJRIDE5CmF0aDA6IDxBdGhl cm9zIDkyODU+IGlycSAxOSBhdCBkZXZpY2UgMC4wIG9uIHBjaTcKcGNpYjM6IGF0aDAgcmVxdWVz dGVkIHVuc3VwcG9ydGVkIG1lbW9yeSByYW5nZSAwLTB4ZmZmZmZmZmYgKGRlY29kaW5nIDAtMCwg MC0wKQphdGgwOiAweDEwMDAwIGJ5dGVzIG9mIHJpZCAweDEwIHJlcyAzIGZhaWxlZCAoMCwgMHhm ZmZmZmZmZikuCmF0aDA6IGNhbm5vdCBtYXAgcmVnaXN0ZXIgc3BhY2UKZGV2aWNlX2F0dGFjaDog YXRoMCBhdHRhY2ggcmV0dXJuZWQgNgpwY2liNDogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGlycSAx NiBhdCBkZXZpY2UgMjguNSBvbiBwY2kwCnBjaWI0OiAgIGRvbWFpbiAgICAgICAgICAgIDAKcGNp YjQ6ICAgc2Vjb25kYXJ5IGJ1cyAgICAgOQpwY2liNDogICBzdWJvcmRpbmF0ZSBidXMgICA5CnBj aWI0OiAgIEkvTyBkZWNvZGUgICAgICAgIDB4MC0weDAKcGNpYjQ6ICAgbm8gcHJlZmV0Y2hlZCBk ZWNvZGUKcGNpYjQ6IGNvdWxkIG5vdCBnZXQgUENJIGludGVycnVwdCByb3V0aW5nIHRhYmxlIGZv ciBcXF9TQl8uUENJMC5SUDA2IC0gQUVfTk9UX0ZPVU5ECnBjaTk6IDxBQ1BJIFBDSSBidXM+IG9u IHBjaWI0CnBjaTk6IGRvbWFpbj0wLCBwaHlzaWNhbCBidXM9OQpmb3VuZC0+CXZlbmRvcj0weDE5 NjksIGRldj0weDEwNjMsIHJldmlkPTB4YzAKCWRvbWFpbj0wLCBidXM9OSwgc2xvdD0wLCBmdW5j PTAKCWNsYXNzPTAyLTAwLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDAs IHN0YXRyZWc9MHgwMDEwLCBjYWNoZWxuc3o9MTYgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAg bnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWEsIGly cT0xMAoJcG93ZXJzcGVjIDMgIHN1cHBvcnRzIEQwIEQzICBjdXJyZW50IEQwCglNU0kgc3VwcG9y dHMgMSBtZXNzYWdlLCA2NCBiaXQKCW1hcFsxMF06IHR5cGUgTWVtb3J5LCByYW5nZSA2NCwgYmFz ZSAwLCBzaXplIDE4LCBtZW1vcnkgZGlzYWJsZWQKCW1hcFsxOF06IHR5cGUgSS9PIFBvcnQsIHJh bmdlIDMyLCBiYXNlIDAsIHNpemUgIDcsIHBvcnQgZGlzYWJsZWQKcGNpYjA6IG1hdGNoZWQgZW50 cnkgZm9yIDAuMjguSU5UQQpwY2liMDogc2xvdCAyOCBJTlRBIGhhcmR3aXJlZCB0byBJUlEgMTcK cGNpYjQ6IHNsb3QgMCBJTlRBIGlzIHJvdXRlZCB0byBpcnEgMTcKYWxjMDogPEF0aGVyb3MgQVI4 MTMxIFBDSWUgR2lnYWJpdCBFdGhlcm5ldD4gaXJxIDE3IGF0IGRldmljZSAwLjAgb24gcGNpOQpw Y2liNDogYWxjMCByZXF1ZXN0ZWQgdW5zdXBwb3J0ZWQgbWVtb3J5IHJhbmdlIDAtMHhmZmZmZmZm ZiAoZGVjb2RpbmcgMC0wLCAwLTApCmFsYzA6IDB4NDAwMDAgYnl0ZXMgb2YgcmlkIDB4MTAgcmVz IDMgZmFpbGVkICgwLCAweGZmZmZmZmZmKS4KYWxjMDogY2Fubm90IGFsbG9jYXRlIG1lbW9yeSBy ZXNvdXJjZXMuCmRldmljZV9hdHRhY2g6IGFsYzAgYXR0YWNoIHJldHVybmVkIDYKdWhjaTI6IDxJ bnRlbCA4MjgwMUkgKElDSDkpIFVTQiBjb250cm9sbGVyPiBwb3J0IDB4MTg0MC0weDE4NWYgaXJx IDIzIGF0IGRldmljZSAyOS4wIG9uIHBjaTAKaW9hcGljMDogcm91dGluZyBpbnRwaW4gMjMgKFBD SSBJUlEgMjMpIHRvIGxhcGljIDAgdmVjdG9yIDUyCnVoY2kyOiBbTVBTQUZFXQp1aGNpMjogW0lU SFJFQURdCnVzYnVzMzogPEludGVsIDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xsZXI+IG9uIHVo Y2kyCnVoY2kzOiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgY29udHJvbGxlcj4gcG9ydCAweDE4 NjAtMHgxODdmIGlycSAxOSBhdCBkZXZpY2UgMjkuMSBvbiBwY2kwCnVoY2kzOiBbTVBTQUZFXQp1 aGNpMzogW0lUSFJFQURdCnVzYnVzNDogPEludGVsIDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xs ZXI+IG9uIHVoY2kzCnVoY2k0OiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgY29udHJvbGxlcj4g cG9ydCAweDE4ODAtMHgxODlmIGlycSAxOCBhdCBkZXZpY2UgMjkuMiBvbiBwY2kwCmlvYXBpYzA6 IHJvdXRpbmcgaW50cGluIDE4IChQQ0kgSVJRIDE4KSB0byBsYXBpYyAwIHZlY3RvciA1Mwp1aGNp NDogW01QU0FGRV0KdWhjaTQ6IFtJVEhSRUFEXQp1c2J1czU6IDxJbnRlbCA4MjgwMUkgKElDSDkp IFVTQiBjb250cm9sbGVyPiBvbiB1aGNpNAp1aGNpNTogPEludGVsIDgyODAxSSAoSUNIOSkgVVNC IGNvbnRyb2xsZXI+IHBvcnQgMHgxOGEwLTB4MThiZiBpcnEgMTYgYXQgZGV2aWNlIDI5LjMgb24g cGNpMAp1aGNpNTogW01QU0FGRV0KdWhjaTU6IFtJVEhSRUFEXQp1c2J1czY6IDxJbnRlbCA4Mjgw MUkgKElDSDkpIFVTQiBjb250cm9sbGVyPiBvbiB1aGNpNQplaGNpMTogPEludGVsIDgyODAxSSAo SUNIOSkgVVNCIDIuMCBjb250cm9sbGVyPiBtZW0gMHhmMDQwNDQwMC0weGYwNDA0N2ZmIGlycSAy MyBhdCBkZXZpY2UgMjkuNyBvbiBwY2kwCmVoY2kxOiBbTVBTQUZFXQplaGNpMTogW0lUSFJFQURd CnVzYnVzNzogRUhDSSB2ZXJzaW9uIDEuMAp1c2J1czc6IDxJbnRlbCA4MjgwMUkgKElDSDkpIFVT QiAyLjAgY29udHJvbGxlcj4gb24gZWhjaTEKcGNpYjU6IDxBQ1BJIFBDSS1QQ0kgYnJpZGdlPiBh dCBkZXZpY2UgMzAuMCBvbiBwY2kwCnBjaWI1OiAgIGRvbWFpbiAgICAgICAgICAgIDAKcGNpYjU6 ICAgc2Vjb25kYXJ5IGJ1cyAgICAgMTAKcGNpYjU6ICAgc3Vib3JkaW5hdGUgYnVzICAgMTAKcGNp YjU6ICAgSS9PIGRlY29kZSAgICAgICAgMHhmMDAwLTB4ZmZmCnBjaWI1OiAgIG5vIHByZWZldGNo ZWQgZGVjb2RlCnBjaWI1OiAgIFN1YnRyYWN0aXZlbHkgZGVjb2RlZCBicmlkZ2UuCnBjaTEwOiA8 QUNQSSBQQ0kgYnVzPiBvbiBwY2liNQpwY2kxMDogZG9tYWluPTAsIHBoeXNpY2FsIGJ1cz0xMApp c2FiMDogPFBDSS1JU0EgYnJpZGdlPiBhdCBkZXZpY2UgMzEuMCBvbiBwY2kwCmlzYTA6IDxJU0Eg YnVzPiBvbiBpc2FiMAphdGFwY2kwOiA8SW50ZWwgQVRBIGNvbnRyb2xsZXI+IHBvcnQgMHgxOGYw LTB4MThmNywweDE4ZTQtMHgxOGU3LDB4MThlOC0weDE4ZWYsMHgxOGUwLTB4MThlMywweDE4ZDAt MHgxOGRmLDB4MThjMC0weDE4Y2YgaXJxIDE5IGF0IGRldmljZSAzMS4yIG9uIHBjaTAKYXRhcGNp MDogUmVzZXJ2ZWQgMHgxMCBieXRlcyBmb3IgcmlkIDB4MjAgdHlwZSA0IGF0IDB4MThkMAphdGFw Y2kwOiBbTVBTQUZFXQphdGFwY2kwOiBbSVRIUkVBRF0KYXRhMjogPEFUQSBjaGFubmVsIDA+IG9u IGF0YXBjaTAKYXRhcGNpMDogUmVzZXJ2ZWQgMHg4IGJ5dGVzIGZvciByaWQgMHgxMCB0eXBlIDQg YXQgMHgxOGYwCmF0YXBjaTA6IFJlc2VydmVkIDB4NCBieXRlcyBmb3IgcmlkIDB4MTQgdHlwZSA0 IGF0IDB4MThlNAphdGEyOiByZXNldCB0cDEgbWFzaz0wMyBvc3RhdDA9NTAgb3N0YXQxPTAwCmF0 YTI6IHN0YXQwPTB4NTAgZXJyPTB4MDEgbHNiPTB4MDAgbXNiPTB4MDAKYXRhMjogc3RhdDE9MHgw MCBlcnI9MHgwMSBsc2I9MHgwMCBtc2I9MHgwMAphdGEyOiByZXNldCB0cDIgc3RhdDA9NTAgc3Rh dDE9MDAgZGV2aWNlcz0weDEKYXRhMjogW01QU0FGRV0KYXRhMjogW0lUSFJFQURdCmF0YTM6IDxB VEEgY2hhbm5lbCAxPiBvbiBhdGFwY2kwCmF0YXBjaTA6IFJlc2VydmVkIDB4OCBieXRlcyBmb3Ig cmlkIDB4MTggdHlwZSA0IGF0IDB4MThlOAphdGFwY2kwOiBSZXNlcnZlZCAweDQgYnl0ZXMgZm9y IHJpZCAweDFjIHR5cGUgNCBhdCAweDE4ZTAKYXRhMzogcmVzZXQgdHAxIG1hc2s9MDMgb3N0YXQw PTUwIG9zdGF0MT0wMAphdGEzOiBzdGF0MD0weDAwIGVycj0weDAxIGxzYj0weDE0IG1zYj0weGVi CmF0YTM6IHN0YXQxPTB4MDAgZXJyPTB4MDEgbHNiPTB4MTQgbXNiPTB4ZWIKYXRhMzogcmVzZXQg dHAyIHN0YXQwPTAwIHN0YXQxPTAwIGRldmljZXM9MHgzMDAwMAphdGEzOiBbTVBTQUZFXQphdGEz OiBbSVRIUkVBRF0KcGNpMDogPHNlcmlhbCBidXMsIFNNQnVzPiBhdCBkZXZpY2UgMzEuMyAobm8g ZHJpdmVyIGF0dGFjaGVkKQphdGFwY2kxOiA8SW50ZWwgQVRBIGNvbnRyb2xsZXI+IHBvcnQgMHgx YzQ4LTB4MWM0ZiwweDE4ZmMtMHgxOGZmLDB4MWM0MC0weDFjNDcsMHgxOGY4LTB4MThmYiwweDFj MzAtMHgxYzNmLDB4MWMyMC0weDFjMmYgaXJxIDE5IGF0IGRldmljZSAzMS41IG9uIHBjaTAKYXRh cGNpMTogUmVzZXJ2ZWQgMHgxMCBieXRlcyBmb3IgcmlkIDB4MjAgdHlwZSA0IGF0IDB4MWMzMAph dGFwY2kxOiBbTVBTQUZFXQphdGFwY2kxOiBbSVRIUkVBRF0KYXRhNDogPEFUQSBjaGFubmVsIDA+ IG9uIGF0YXBjaTEKYXRhcGNpMTogUmVzZXJ2ZWQgMHg4IGJ5dGVzIGZvciByaWQgMHgxMCB0eXBl IDQgYXQgMHgxYzQ4CmF0YXBjaTE6IFJlc2VydmVkIDB4NCBieXRlcyBmb3IgcmlkIDB4MTQgdHlw ZSA0IGF0IDB4MThmYwphdGE0OiByZXNldCB0cDEgbWFzaz0wMyBvc3RhdDA9N2Ygb3N0YXQxPTdm CmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9 MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZm IGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNi PTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBz dGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJy PTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhm ZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0 YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3 ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxz Yj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4 ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0 MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4 ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBt c2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6 IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBl cnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0w eGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYK YXRhNDogc3RhdDE9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiByZXNldCB0 cDIgc3RhdDA9ZmYgc3RhdDE9ZmYgZGV2aWNlcz0weDAKYXRhNDogW01QU0FGRV0KYXRhNDogW0lU SFJFQURdCmF0YTU6IDxBVEEgY2hhbm5lbCAxPiBvbiBhdGFwY2kxCmF0YXBjaTE6IFJlc2VydmVk IDB4OCBieXRlcyBmb3IgcmlkIDB4MTggdHlwZSA0IGF0IDB4MWM0MAphdGFwY2kxOiBSZXNlcnZl ZCAweDQgYnl0ZXMgZm9yIHJpZCAweDFjIHR5cGUgNCBhdCAweDE4ZjgKYXRhNTogcmVzZXQgdHAx IG1hc2s9MDMgb3N0YXQwPTdmIG9zdGF0MT03ZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxz Yj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4 ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0 MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4 ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBt c2I9MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6 IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBl cnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0w eGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYK YXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0w eDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYg bHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9 MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0 YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9 MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZm IG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRh NTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0weDdm IGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQxPTB4N2YgZXJyPTB4ZmYgbHNi PTB4ZmYgbXNiPTB4ZmYKYXRhNTogcmVzZXQgdHAyIHN0YXQwPWZmIHN0YXQxPWZmIGRldmljZXM9 MHgwCmF0YTU6IFtNUFNBRkVdCmF0YTU6IFtJVEhSRUFEXQphY3BpX3R6MDogPFRoZXJtYWwgWm9u ZT4gb24gYWNwaTAKYXRydGMwOiA8QVQgcmVhbHRpbWUgY2xvY2s+IHBvcnQgMHg3MC0weDc3IGly cSA4IG9uIGFjcGkwCmF0cnRjMDogV2FybmluZzogQ291bGRuJ3QgbWFwIEkvTy4KYXRydGMwOiBy ZWdpc3RlcmVkIGFzIGEgdGltZS1vZi1kYXkgY2xvY2sgKHJlc29sdXRpb24gMTAwMDAwMHVzKQph dGtiZGMwOiA8S2V5Ym9hcmQgY29udHJvbGxlciAoaTgwNDIpPiBwb3J0IDB4NjAsMHg2NCBpcnEg MSBvbiBhY3BpMAphdGtiZDA6IDxBVCBLZXlib2FyZD4gaXJxIDEgb24gYXRrYmRjMAphdGtiZDog dGhlIGN1cnJlbnQga2JkIGNvbnRyb2xsZXIgY29tbWFuZCBieXRlIDAwNDcKYXRrYmQ6IGtleWJv YXJkIElEIDB4NDFhYiAoMikKa2JkMCBhdCBhdGtiZDAKa2JkMDogYXRrYmQwLCBBVCAxMDEvMTAy ICgyKSwgY29uZmlnOjB4MCwgZmxhZ3M6MHgzZDAwMDAKaW9hcGljMDogcm91dGluZyBpbnRwaW4g MSAoSVNBIElSUSAxKSB0byBsYXBpYyAwIHZlY3RvciA1NAphdGtiZDA6IFtHSUFOVC1MT0NLRURd CmF0a2JkMDogW0lUSFJFQURdCnBzbTA6IHVuYWJsZSB0byBhbGxvY2F0ZSBJUlEKcHNtY3BucDA6 IDxQUy8yIG1vdXNlIHBvcnQ+IGlycSAxMiBvbiBhY3BpMApwc20wOiBjdXJyZW50IGNvbW1hbmQg Ynl0ZTowMDQ3CnBzbTA6IDxQUy8yIE1vdXNlPiBpcnEgMTIgb24gYXRrYmRjMAppb2FwaWMwOiBy b3V0aW5nIGludHBpbiAxMiAoSVNBIElSUSAxMikgdG8gbGFwaWMgMCB2ZWN0b3IgNTUKcHNtMDog W0dJQU5ULUxPQ0tFRF0KcHNtMDogW0lUSFJFQURdCnBzbTA6IG1vZGVsIEdlbmVyaWMgUFMvMiBt b3VzZSwgZGV2aWNlIElEIDAtMDAsIDIgYnV0dG9ucwpwc20wOiBjb25maWc6MDAwMDAwMDAsIGZs YWdzOjAwMDAwMDA4LCBwYWNrZXQgc2l6ZTozCnBzbTA6IHN5bmNtYXNrOmMwLCBzeW5jYml0czow MAp1bmtub3duOiBzdGF0dXMgcmVnIHRlc3QgZmFpbGVkIGZmCnVua25vd246IHN0YXR1cyByZWcg dGVzdCBmYWlsZWQgZmYKdW5rbm93bjogc3RhdHVzIHJlZyB0ZXN0IGZhaWxlZCBmZgp1bmtub3du OiBzdGF0dXMgcmVnIHRlc3QgZmFpbGVkIGZmCnVua25vd246IHN0YXR1cyByZWcgdGVzdCBmYWls ZWQgZmYKdW5rbm93bjogc3RhdHVzIHJlZyB0ZXN0IGZhaWxlZCBmZgphaGNfaXNhX3Byb2JlIDE6 IGlvcG9ydCAweDFjMDAgYWxsb2MgZmFpbGVkCmV4X2lzYV9pZGVudGlmeSgpCnBucF9pZGVudGlm eTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAyMDMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Qb3J0 IGF0IDI0MwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMjgzCnBucF9pZGVudGlm eTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAyYzMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Qb3J0 IGF0IDMwMwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMzQzCnBucF9pZGVudGlm eTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAzODMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Qb3J0 IGF0IDNjMwpQTlAgSWRlbnRpZnkgY29tcGxldGUKaXNhX3Byb2JlX2NoaWxkcmVuOiBkaXNhYmxp bmcgUG5QIGRldmljZXMKcG10aW1lcjAgb24gaXNhMAphdGtiZGM6IGF0a2JkYzAgYWxyZWFkeSBl eGlzdHM7IHNraXBwaW5nIGl0CmF0cnRjOiBhdHJ0YzAgYWxyZWFkeSBleGlzdHM7IHNraXBwaW5n IGl0CnNjOiBzYzAgYWxyZWFkeSBleGlzdHM7IHNraXBwaW5nIGl0CmlzYV9wcm9iZV9jaGlsZHJl bjogcHJvYmluZyBub24tUG5QIGRldmljZXMKb3JtMDogPElTQSBPcHRpb24gUk9Ncz4gYXQgaW9t ZW0gMHhjMDAwMC0weGNlN2ZmLDB4ZTAwMDAtMHhlMTdmZiBwbnBpZCBPUk0wMDAwIG9uIGlzYTAK c2MwOiA8U3lzdGVtIGNvbnNvbGU+IGF0IGZsYWdzIDB4MTAwIG9uIGlzYTAKc2MwOiBWR0EgPDE2 IHZpcnR1YWwgY29uc29sZXMsIGZsYWdzPTB4MzAwPgpzYzA6IGZiMCwga2JkMSwgdGVybWluYWwg ZW11bGF0b3I6IHNjdGVrZW4gKHRla2VuIHRlcm1pbmFsKQp2Z2EwOiA8R2VuZXJpYyBJU0EgVkdB PiBhdCBwb3J0IDB4M2MwLTB4M2RmIGlvbWVtIDB4YTAwMDAtMHhiZmZmZiBvbiBpc2EwCmF0YTAg YXQgcG9ydCAweDFmMC0weDFmNywweDNmNiBpcnEgMTQgb24gaXNhMAphdGEwOiByZXNldCB0cDEg bWFzaz0wMCBvc3RhdDA9ZmYgb3N0YXQxPWZmCmlvYXBpYzA6IHJvdXRpbmcgaW50cGluIDE0IChJ U0EgSVJRIDE0KSB0byBsYXBpYyAwIHZlY3RvciA1NgphdGEwOiBbTVBTQUZFXQphdGEwOiBbSVRI UkVBRF0KYXRhMSBhdCBwb3J0IDB4MTcwLTB4MTc3LDB4Mzc2IGlycSAxNSBvbiBpc2EwCmF0YTE6 IHJlc2V0IHRwMSBtYXNrPTAwIG9zdGF0MD1mZiBvc3RhdDE9ZmYKaW9hcGljMDogcm91dGluZyBp bnRwaW4gMTUgKElTQSBJUlEgMTUpIHRvIGxhcGljIDAgdmVjdG9yIDU3CmF0YTE6IFtNUFNBRkVd CmF0YTE6IFtJVEhSRUFEXQpmZGMwIGZhaWxlZCB0byBwcm9iZSBhdCBwb3J0IDB4M2YwLTB4M2Y1 LDB4M2Y3IGlycSA2IGRycSAyIG9uIGlzYTAKcHBjMDogcGFyYWxsZWwgcG9ydCBub3QgZm91bmQu CnBwYzA6IDxQYXJhbGxlbCBwb3J0PiBmYWlsZWQgdG8gcHJvYmUgYXQgaXJxIDcgb24gaXNhMAp1 YXJ0MDogPG5zODI1MD4gZmFpbGVkIHRvIHByb2JlIGF0IHBvcnQgMHgzZjgtMHgzZmYgaXJxIDQg b24gaXNhMAp1YXJ0MTogPG5zODI1MD4gZmFpbGVkIHRvIHByb2JlIGF0IHBvcnQgMHgyZjgtMHgy ZmYgaXJxIDMgb24gaXNhMAppc2FfcHJvYmVfY2hpbGRyZW46IHByb2JpbmcgUG5QIGRldmljZXMK ZXN0MDogPEVuaGFuY2VkIFNwZWVkU3RlcCBGcmVxdWVuY3kgQ29udHJvbD4gb24gY3B1MApwNHRj YzA6IDxDUFUgRnJlcXVlbmN5IFRoZXJtYWwgQ29udHJvbD4gb24gY3B1MAplc3QxOiA8RW5oYW5j ZWQgU3BlZWRTdGVwIEZyZXF1ZW5jeSBDb250cm9sPiBvbiBjcHUxCnA0dGNjMTogPENQVSBGcmVx dWVuY3kgVGhlcm1hbCBDb250cm9sPiBvbiBjcHUxCkRldmljZSBjb25maWd1cmF0aW9uIGZpbmlz aGVkLgpwcm9jZnMgcmVnaXN0ZXJlZApsYXBpYzogRGl2aXNvciAyLCBGcmVxdWVuY3kgOTk3NjE3 MDAgSHoKVGltZWNvdW50ZXIgIlRTQyIgZnJlcXVlbmN5IDIxOTQ3NTczMjMgSHogcXVhbGl0eSAt MTAwClRpbWVjb3VudGVycyB0aWNrIGV2ZXJ5IDEuMDAwIG1zZWMKdmxhbjogaW5pdGlhbGl6ZWQs IHVzaW5nIGhhc2ggdGFibGVzIHdpdGggY2hhaW5pbmcKbG8wOiBicGYgYXR0YWNoZWQKaHB0cnI6 IG5vIGNvbnRyb2xsZXIgZGV0ZWN0ZWQuCmF0YTA6IElkZW50aWZ5aW5nIGRldmljZXM6IDAwMDAw MDAwCmF0YTA6IE5ldyBkZXZpY2VzOiAwMDAwMDAwMAphdGExOiBJZGVudGlmeWluZyBkZXZpY2Vz OiAwMDAwMDAwMAphdGExOiBOZXcgZGV2aWNlczogMDAwMDAwMDAKYXRhMjogSWRlbnRpZnlpbmcg ZGV2aWNlczogMDAwMDAwMDEKYXRhMjogTmV3IGRldmljZXM6IDAwMDAwMDAxCnVzYnVzMDogMTJN YnBzIEZ1bGwgU3BlZWQgVVNCIHYxLjAKdXNidXMxOiAxMk1icHMgRnVsbCBTcGVlZCBVU0IgdjEu MAp1c2J1czI6IDQ4ME1icHMgSGlnaCBTcGVlZCBVU0IgdjIuMAp1c2J1czM6IDEyTWJwcyBGdWxs IFNwZWVkIFVTQiB2MS4wCnVzYnVzNDogMTJNYnBzIEZ1bGwgU3BlZWQgVVNCIHYxLjAKdXNidXM1 OiAxMk1icHMgRnVsbCBTcGVlZCBVU0IgdjEuMAp1c2J1czY6IDEyTWJwcyBGdWxsIFNwZWVkIFVT QiB2MS4wCnVzYnVzNzogNDgwTWJwcyBIaWdoIFNwZWVkIFVTQiB2Mi4wCmFjcGlfYWNhZDA6IGFj bGluZSBpbml0aWFsaXphdGlvbiBzdGFydApiYXR0ZXJ5MDogYmF0dGVyeSBpbml0aWFsaXphdGlv biBzdGFydAphdGEyLW1hc3RlcjogcGlvPVBJTzQgd2RtYT1XRE1BMiB1ZG1hPVVETUExMzMgY2Fi bGU9NDAgd2lyZWFjcGlfYWNhZDA6IE9uIExpbmUKYWNwaV9hY2FkMDogYWNsaW5lIGluaXRpYWxp emF0aW9uIGRvbmUsIHRyaWVkIDEgdGltZXMKCnVnZW4wLjE6IDxJbnRlbD4gYXQgdXNidXMwCnVo dWIwOiA8SW50ZWwgVUhDSSByb290IEhVQiwgY2xhc3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRy IDE+IG9uIHVzYnVzMAp1Z2VuMS4xOiA8SW50ZWw+IGF0IHVzYnVzMQp1aHViMTogPEludGVsIFVI Q0kgcm9vdCBIVUIsIGNsYXNzIDkvMCwgcmV2IDEuMDAvMS4wMCwgYWRkciAxPiBvbiB1c2J1czEK dWdlbjIuMTogPEludGVsPiBhdCB1c2J1czIKdWh1YjI6IDxJbnRlbCBFSENJIHJvb3QgSFVCLCBj bGFzcyA5LzAsIHJldiAyLjAwLzEuMDAsIGFkZHIgMT4gb24gdXNidXMyCnVnZW4zLjE6IDxJbnRl bD4gYXQgdXNidXMzCnVodWIzOiA8SW50ZWwgVUhDSSByb290IEhVQiwgY2xhc3MgOS8wLCByZXYg MS4wMC8xLjAwLCBhZGRyIDE+IG9uIHVzYnVzMwp1Z2VuNC4xOiA8SW50ZWw+IGF0IHVzYnVzNAp1 aHViNDogPEludGVsIFVIQ0kgcm9vdCBIVUIsIGNsYXNzIDkvMCwgcmV2IDEuMDAvMS4wMCwgYWRk ciAxPiBvbiB1c2J1czQKdWdlbjUuMTogPEludGVsPiBhdCB1c2J1czUKdWh1YjU6IDxJbnRlbCBV SENJIHJvb3QgSFVCLCBjbGFzcyA5LzAsIHJldiAxLjAwLzEuMDAsIGFkZHIgMT4gb24gdXNidXM1 CnVnZW42LjE6IDxJbnRlbD4gYXQgdXNidXM2CnVodWI2OiA8SW50ZWwgVUhDSSByb290IEhVQiwg Y2xhc3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRyIDE+IG9uIHVzYnVzNgp1Z2VuNy4xOiA8SW50 ZWw+IGF0IHVzYnVzNwp1aHViNzogPEludGVsIEVIQ0kgcm9vdCBIVUIsIGNsYXNzIDkvMCwgcmV2 IDIuMDAvMS4wMCwgYWRkciAxPiBvbiB1c2J1czcKYWQ0OiBzZXR0aW5nIFVETUEzMwphZDQ6IDMw NTI0NU1CIDxTZWFnYXRlIFNUOTMyMDMyNUFTIDAwMDFTRE0xPiBhdCBhdGEyLW1hc3RlciBVRE1B MzMgCmFkNDogNjI1MTQyNDQ4IHNlY3RvcnMgWzYyMDE4MUMvMTZILzYzU10gMTYgc2VjdG9ycy9p bnRlcnJ1cHQgMSBkZXB0aCBxdWV1ZQpHRU9NOiBuZXcgZGlzayBhZDQKYWQ0OiBJbnRlbCBjaGVj azEgZmFpbGVkCmFkNDogQWRhcHRlYyBjaGVjazEgZmFpbGVkCmFkNDogTFNJICh2MykgY2hlY2sx IGZhaWxlZAphZDQ6IExTSSAodjIpIGNoZWNrMSBmYWlsZWQKdWh1YjA6IDIgcG9ydHMgd2l0aCAy IHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCnVodWIxOiAyIHBvcnRzIHdpdGggMiByZW1vdmFibGUs IHNlbGYgcG93ZXJlZAp1aHViMzogMiBwb3J0cyB3aXRoIDIgcmVtb3ZhYmxlLCBzZWxmIHBvd2Vy ZWQKdWh1YjQ6IDIgcG9ydHMgd2l0aCAyIHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCnVodWI1OiAy IHBvcnRzIHdpdGggMiByZW1vdmFibGUsIHNlbGYgcG93ZXJlZAp1aHViNjogMiBwb3J0cyB3aXRo IDIgcmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKYWQ0OiBGcmVlQlNEIGNoZWNrMSBmYWlsZWQKYXRh MzogSWRlbnRpZnlpbmcgZGV2aWNlczogMDAwMzAwMDAKYXRhMzogTmV3IGRldmljZXM6IDAwMDMw MDAwCmF0YTM6IHRpbWVvdXQgd2FpdGluZyBmb3IgcmVhZCBEUlEKYXRhMzogdGltZW91dCB3YWl0 aW5nIGZvciByZWFkIERSUQphdGEzLW1hc3RlcjogcGlvPVBJTzQgd2RtYT1XRE1BMiB1ZG1hPVVE TUExMDAgY2FibGU9NDAgd2lyZQphY2QwOiBzZXR0aW5nIFVETUEzMwphY2QwOiA8VFNTVGNvcnAg Q0REVkRXIFRTLUw2MzNDL0FDMDE+IERWRFIgZHJpdmUgYXQgYXRhMyBhcyBtYXN0ZXIKYWNkMDog cmVhZCAxMDgyMEtCL3MgKDEwODIwS0Ivcykgd3JpdGUgNTQxMEtCL3MgKDU0MTBLQi9zKSwgMjA0 OEtCIGJ1ZmZlciwgVURNQTMzIAphY2QwOiBSZWFkczogQ0RSLCBDRFJXLCBDRERBIHN0cmVhbSwg RFZEUk9NLCBEVkRSLCBEVkRSQU0sIHBhY2tldAphY2QwOiBXcml0ZXM6IENEUiwgQ0RSVywgRFZE UiwgRFZEUkFNLCB0ZXN0IHdyaXRlLCBidXJucHJvb2YKYWNkMDogQXVkaW86IHBsYXksIDI1NiB2 b2x1bWUgbGV2ZWxzCmFjZDA6IE1lY2hhbmlzbTogZWplY3RhYmxlIHRyYXksIHVubG9ja2VkCmFj ZDA6IE1lZGl1bTogRFZEIDEyMG1tIGRhdGEgZGlzYwphdGE0OiBJZGVudGlmeWluZyBkZXZpY2Vz OiAwMDAwMDAwMAphdGE0OiBOZXcgZGV2aWNlczogMDAwMDAwMDAKYXRhNTogSWRlbnRpZnlpbmcg ZGV2aWNlczogMDAwMDAwMDAKYXRhNTogTmV3IGRldmljZXM6IDAwMDAwMDAwCkFUQSBQc2V1ZG9S QUlEIGxvYWRlZApTTVA6IEFQIENQVSAjMSBMYXVuY2hlZCEKY3B1MSBBUDoKICAgICBJRDogMHgw MTAwMDAwMCAgIFZFUjogMHgwMDA1MDAxNCBMRFI6IDB4MDAwMDAwMDAgREZSOiAweGZmZmZmZmZm CiAgbGludDA6IDB4MDAwMTA3MDAgbGludDE6IDB4MDAwMDA0MDAgVFBSOiAweDAwMDAwMDAwIFNW UjogMHgwMDAwMDFmZgogIHRpbWVyOiAweDAwMDIwMGVmIHRoZXJtOiAweDAwMDEwMDAwIGVycjog MHgwMDAwMDBmMCBwbWM6IDB4MDAwMTA0MDAKaW9hcGljMDogcm91dGluZyBpbnRwaW4gOSAoSVNB IElSUSA5KSB0byBsYXBpYyAxIHZlY3RvciA0OAppb2FwaWMwOiByb3V0aW5nIGludHBpbiAxNCAo SVNBIElSUSAxNCkgdG8gbGFwaWMgMSB2ZWN0b3IgNDkKaW9hcGljMDogcm91dGluZyBpbnRwaW4g MTYgKFBDSSBJUlEgMTYpIHRvIGxhcGljIDEgdmVjdG9yIDUwCmlvYXBpYzA6IHJvdXRpbmcgaW50 cGluIDE5IChQQ0kgSVJRIDE5KSB0byBsYXBpYyAxIHZlY3RvciA1MQppb2FwaWMwOiByb3V0aW5n IGludHBpbiAyMyAoUENJIElSUSAyMykgdG8gbGFwaWMgMSB2ZWN0b3IgNTIKdWh1YjI6IDQgcG9y dHMgd2l0aCA0IHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCnVodWI3OiA4IHBvcnRzIHdpdGggOCBy ZW1vdmFibGUsIHNlbGYgcG93ZXJlZAp1Z2VuMC4yOiA8QTRUZWNoPiBhdCB1c2J1czAKdW1zMDog PEE0VGVjaCBQUy8yK1VTQiBNb3VzZSwgY2xhc3MgMC8wLCByZXYgMS4xMC8wLjAyLCBhZGRyIDI+ IG9uIHVzYnVzMAp1bXMwOiA4IGJ1dHRvbnMgYW5kIFtYWVpdIGNvb3JkaW5hdGVzIElEPTAKdWdl bjcuMjogPFN1WWluPiBhdCB1c2J1czcKVHJ5aW5nIHRvIG1vdW50IHJvb3QgZnJvbSB1ZnM6L2Rl di9hZDRzMWEKY3RfdG9fdHMoWzIwMTEtMDMtMjYgMTY6NDg6MTddKSA9IDEzMDExNTgwOTcuMDAw MDAwMDAwCnN0YXJ0X2luaXQ6IHRyeWluZyAvc2Jpbi9pbml0Cg== --bcaec52e6005466829049f65d53e Content-Type: application/octet-stream; name="sysctl_hw.acpi" Content-Disposition: attachment; filename="sysctl_hw.acpi" Content-Transfer-Encoding: base64 X-Attachment-Id: f_glqsu2gi1 aHcuYWNwaS5zdXBwb3J0ZWRfc2xlZXBfc3RhdGU6IFMzIFM0IFM1Cmh3LmFjcGkucG93ZXJfYnV0 dG9uX3N0YXRlOiBTNQpody5hY3BpLnNsZWVwX2J1dHRvbl9zdGF0ZTogUzMKaHcuYWNwaS5saWRf c3dpdGNoX3N0YXRlOiBOT05FCmh3LmFjcGkuc3RhbmRieV9zdGF0ZTogTk9ORQpody5hY3BpLnN1 c3BlbmRfc3RhdGU6IFMzCmh3LmFjcGkuc2xlZXBfZGVsYXk6IDEKaHcuYWNwaS5zNGJpb3M6IDAK aHcuYWNwaS52ZXJib3NlOiAxCmh3LmFjcGkuZGlzYWJsZV9vbl9yZWJvb3Q6IDAKaHcuYWNwaS5o YW5kbGVfcmVib290OiAwCmh3LmFjcGkucmVzZXRfdmlkZW86IDAKaHcuYWNwaS5jcHUuY3hfbG93 ZXN0OiBDMQpody5hY3BpLmFjbGluZTogMQpody5hY3BpLmJhdHRlcnkubGlmZTogLTEKaHcuYWNw aS5iYXR0ZXJ5LnRpbWU6IC0xCmh3LmFjcGkuYmF0dGVyeS5zdGF0ZTogNwpody5hY3BpLmJhdHRl cnkudW5pdHM6IDEKaHcuYWNwaS5iYXR0ZXJ5LmluZm9fZXhwaXJlOiA1Cmh3LmFjcGkudGhlcm1h bC5taW5fcnVudGltZTogMApody5hY3BpLnRoZXJtYWwucG9sbGluZ19yYXRlOiAxMApody5hY3Bp LnRoZXJtYWwudXNlcl9vdmVycmlkZTogMApody5hY3BpLnRoZXJtYWwudHowLnRlbXBlcmF0dXJl OiA3My4wQwpody5hY3BpLnRoZXJtYWwudHowLmFjdGl2ZTogLTEKaHcuYWNwaS50aGVybWFsLnR6 MC5wYXNzaXZlX2Nvb2xpbmc6IDEKaHcuYWNwaS50aGVybWFsLnR6MC50aGVybWFsX2ZsYWdzOiAw Cmh3LmFjcGkudGhlcm1hbC50ejAuX1BTVjogMTA1LjBDCmh3LmFjcGkudGhlcm1hbC50ejAuX0hP VDogLTEKaHcuYWNwaS50aGVybWFsLnR6MC5fQ1JUOiAxMDguMEMKaHcuYWNwaS50aGVybWFsLnR6 MC5fQUN4OiAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMQpody5hY3BpLnRoZXJtYWwudHow Ll9UQzE6IDIKaHcuYWNwaS50aGVybWFsLnR6MC5fVEMyOiAzCmh3LmFjcGkudGhlcm1hbC50ejAu X1RTUDogNDAK --bcaec52e6005466829049f65d53e Content-Type: application/octet-stream; name="KsenZ-acer5635zg.asl" Content-Disposition: attachment; filename="KsenZ-acer5635zg.asl" Content-Transfer-Encoding: base64 X-Attachment-Id: f_glqsu6qk2 LyoKICBSU0QgUFRSOiBPRU09UFRMVEQsIEFDUElfUmV2PTIuMHggKDIpCglYU0RUPTB4N2ZkZjVh NjcsIGxlbmd0aD0zNiwgY2tzdW09MTg5CiAqLwovKgogIFhTRFQ6IExlbmd0aD0xMDAsIFJldmlz aW9uPTEsIENoZWNrc3VtPTIzNSwKCU9FTUlEPVBUTFRELCBPRU0gVGFibGUgSUQ9CSBYU0RULCBP RU0gUmV2aXNpb249MHg2MDQwMDAwLAoJQ3JlYXRvciBJRD0gTFRQLCBDcmVhdG9yIFJldmlzaW9u PTB4MAoJRW50cmllcz17IDB4N2ZkZTUwMDAsIDB4N2ZkZmVlZmMsIDB4N2ZkZmVmMzQsIDB4N2Zk ZmVmNzAsIDB4N2ZkZmVmZDgsIDB4N2ZkZTQwMDAsIDB4N2ZkZTMwMDAsIDB4N2ZkZTIwMDAgfQog Ki8KLyoKICBGQUNQOiBMZW5ndGg9MjQ0LCBSZXZpc2lvbj0zLCBDaGVja3N1bT0yMTAsCglPRU1J RD1JTlRFTCwgT0VNIFRhYmxlIElEPUNSRVNUTE5FLCBPRU0gUmV2aXNpb249MHg2MDQwMDAwLAoJ Q3JlYXRvciBJRD1BTEFOLCBDcmVhdG9yIFJldmlzaW9uPTB4MQogCUZBQ1M9MHg3ZmQ5ZWZjMCwg RFNEVD0weDdmZGU2MDAwCglJTlRfTU9ERUw9UElDCglQcmVmZXJyZWRfUE1fUHJvZmlsZT1Nb2Jp bGUgKDIpCglTQ0lfSU5UPTkKCVNNSV9DTUQ9MHhiMiwgQUNQSV9FTkFCTEU9MHhmMCwgQUNQSV9E SVNBQkxFPTB4ZjEsIFM0QklPU19SRVE9MHgwCglQU1RBVEVfQ05UPTB4ODAKCVBNMWFfRVZUX0JM Sz0weDQwMC0weDQwMwoJUE0xYV9DTlRfQkxLPTB4NDA0LTB4NDA1CglQTTJfQ05UX0JMSz0weDQ1 MC0weDQ1MAoJUE1fVE1SX0JMSz0weDQwOC0weDQwYgoJR1BFMF9CTEs9MHg0MjAtMHg0MmYKCUNT VF9DTlQ9MHg4NQoJUF9MVkwyX0xBVD0xIHVzLCBQX0xWTDNfTEFUPTU3IHVzCglGTFVTSF9TSVpF PTAsIEZMVVNIX1NUUklERT0wCglEVVRZX09GRlNFVD0xLCBEVVRZX1dJRFRIPTMKCURBWV9BTFJN PTEzLCBNT05fQUxSTT0wLCBDRU5UVVJZPTUwCglJQVBDX0JPT1RfQVJDSD17TEVHQUNZX0RFVklD RVMsODA0MixOT19BU1BNfQoJRmxhZ3M9e1dCSU5WRCxDMV9TVVBQT1JURUQsU0xFRVBfQlVUVE9O LFM0X1JUQ19XQUtFLERPQ0tJTkdfU1VQUE9SVEVELFBMQVRGT1JNX0NMT0NLfQoJWF9GQUNTPTB4 N2ZkOWVmYzAsIFhfRFNEVD0weDdmZGU2MDAwCglYX1BNMWFfRVZUX0JMSz0weDQwMDowWzMyXSAo SU8pCglYX1BNMWFfQ05UX0JMSz0weDQwNDowWzE2XSAoSU8pCglYX1BNMl9DTlRfQkxLPTB4NDUw OjBbOF0gKElPKQoJWF9QTV9UTVJfQkxLPTB4NDA4OjBbMzJdIChJTykKCVhfR1BFMF9CTEs9MHg0 MjA6MFsxMjhdIChJTykKICovCi8qCiAgRkFDUzoJTGVuZ3RoPTY0LCBId1NpZz0weDAwMDAwMDAw LCBGaXJtX1dha2VfVmVjPTB4MDAwMDAwMDAKCUdsb2JhbF9Mb2NrPQoJRmxhZ3M9CglWZXJzaW9u PTEKICovCi8qCiAgRFNEVDogTGVuZ3RoPTM3NTM3LCBSZXZpc2lvbj0yLCBDaGVja3N1bT0yMzUs CglPRU1JRD1JbnRlbCwgT0VNIFRhYmxlIElEPUNBTlRJR0EsIE9FTSBSZXZpc2lvbj0weDYwNDAw MDAsCglDcmVhdG9yIElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249MHgyMDA2MTEwOQogKi8KLyoK ICBIUEVUOiBMZW5ndGg9NTYsIFJldmlzaW9uPTEsIENoZWNrc3VtPTEwLAoJT0VNSUQ9SU5URUws IE9FTSBUYWJsZSBJRD1DUkVTVExORSwgT0VNIFJldmlzaW9uPTB4NjA0MDAwMCwKCUNyZWF0b3Ig SUQ9TE9IUiwgQ3JlYXRvciBSZXZpc2lvbj0weDVhCglIUEVUIE51bWJlcj0wCglBRERSPTB4ZmVk MDAwMDA6MFswXSAoTWVtb3J5KQlIVyBSZXY9MHgxCglDb21wYXJhdG9ycz0yCglDb3VudGVyIFNp emU9MQoJTGVnYWN5IElSUSByb3V0aW5nIGNhcGFibGU9e1RSVUV9CglQQ0kgVmVuZG9yIElEPTB4 ODA4NgoJTWluaW1hbCBUaWNrPTEyOAogKi8KLyoKICBNQ0ZHOiBMZW5ndGg9NjAsIFJldmlzaW9u PTEsIENoZWNrc3VtPTUwLAoJT0VNSUQ9SU5URUwsIE9FTSBUYWJsZSBJRD1DUkVTVExORSwgT0VN IFJldmlzaW9uPTB4NjA0MDAwMCwKCUNyZWF0b3IgSUQ9TE9IUiwgQ3JlYXRvciBSZXZpc2lvbj0w eDVhCgoJQmFzZSBBZGRyZXNzPTB4MDAwMDAwMDBlMDAwMDAwMAoJU2VnbWVudCBHcm91cD0weDAw MDAKCVN0YXJ0IEJ1cz0wCglFbmQgQnVzPTI1NQogKi8KLyoKICBBUElDOiBMZW5ndGg9MTA0LCBS ZXZpc2lvbj0xLCBDaGVja3N1bT0xOSwKCU9FTUlEPVBUTFRELCBPRU0gVGFibGUgSUQ9CSBBUElD LCBPRU0gUmV2aXNpb249MHg2MDQwMDAwLAoJQ3JlYXRvciBJRD0gTFRQLCBDcmVhdG9yIFJldmlz aW9uPTB4MAoJTG9jYWwgQVBJQyBBRERSPTB4ZmVlMDAwMDAKCUZsYWdzPXtQQy1BVH0KCglUeXBl PUxvY2FsIEFQSUMKCUFDUEkgQ1BVPTAKCUZsYWdzPXtFTkFCTEVEfQoJQVBJQyBJRD0wCgoJVHlw ZT1Mb2NhbCBBUElDCglBQ1BJIENQVT0xCglGbGFncz17RU5BQkxFRH0KCUFQSUMgSUQ9MQoKCVR5 cGU9SU8gQVBJQwoJQVBJQyBJRD0yCglJTlQgQkFTRT0wCglBRERSPTB4MDAwMDAwMDBmZWMwMDAw MAoKCVR5cGU9TG9jYWwgQVBJQyBOTUkKCUFDUEkgQ1BVPTAKCUxJTlQgUGluPTEKCUZsYWdzPXtQ b2xhcml0eT1hY3RpdmUtaGksIFRyaWdnZXI9ZWRnZX0KCglUeXBlPUxvY2FsIEFQSUMgTk1JCglB Q1BJIENQVT0xCglMSU5UIFBpbj0xCglGbGFncz17UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2Vy PWVkZ2V9CgoJVHlwZT1JTlQgT3ZlcnJpZGUKCUJVUz0wCglJUlE9MAoJSU5UUj0yCglGbGFncz17 UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWVkZ2V9CgoJVHlwZT1JTlQgT3ZlcnJpZGUKCUJV Uz0wCglJUlE9OQoJSU5UUj05CglGbGFncz17UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWxl dmVsfQogKi8KLyoKICBCT09UOiBMZW5ndGg9NDAsIFJldmlzaW9uPTEsIENoZWNrc3VtPTE2NSwK CU9FTUlEPVBUTFRELCBPRU0gVGFibGUgSUQ9JFNCRlRCTCQsIE9FTSBSZXZpc2lvbj0weDYwNDAw MDAsCglDcmVhdG9yIElEPSBMVFAsIENyZWF0b3IgUmV2aXNpb249MHgxCiAqLwovKgogIFNTRFQ6 IExlbmd0aD0xNjIxLCBSZXZpc2lvbj0xLCBDaGVja3N1bT0yMDQsCglPRU1JRD1QbVJlZiwgT0VN IFRhYmxlIElEPUNwdVBtLCBPRU0gUmV2aXNpb249MHgzMDAwLAoJQ3JlYXRvciBJRD1JTlRMLCBD cmVhdG9yIFJldmlzaW9uPTB4MjAwNjExMDkKICovCi8qCiAgU1NEVDogTGVuZ3RoPTYwMSwgUmV2 aXNpb249MSwgQ2hlY2tzdW09NzEsCglPRU1JRD1QbVJlZiwgT0VNIFRhYmxlIElEPUNwdTBUc3Qs IE9FTSBSZXZpc2lvbj0weDMwMDAsCglDcmVhdG9yIElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249 MHgyMDA2MTEwOQogKi8KLyoKICBTU0RUOiBMZW5ndGg9NTI3LCBSZXZpc2lvbj0xLCBDaGVja3N1 bT0xMDgsCglPRU1JRD1QbVJlZiwgT0VNIFRhYmxlIElEPUFwVHN0LCBPRU0gUmV2aXNpb249MHgz MDAwLAoJQ3JlYXRvciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAwNjExMDkKICovCi8q CiAqIEludGVsIEFDUEkgQ29tcG9uZW50IEFyY2hpdGVjdHVyZQogKiBBTUwgRGlzYXNzZW1ibGVy IHZlcnNpb24gMjAxMDEwMTMtMzIKICogQ29weXJpZ2h0IChjKSAyMDAwIC0gMjAxMCBJbnRlbCBD b3Jwb3JhdGlvbgogKiAKICogRGlzYXNzZW1ibHkgb2YgL3RtcC9hY3BpZHVtcC5hdGtqdkosIFNh dCBNYXIgMjYgMTY6NDk6MzEgMjAxMQogKgogKiBPcmlnaW5hbCBUYWJsZSBIZWFkZXI6CiAqICAg ICBTaWduYXR1cmUgICAgICAgICJEU0RUIgogKiAgICAgTGVuZ3RoICAgICAgICAgICAweDAwMDA5 Q0YyICg0MDE3OCkKICogICAgIFJldmlzaW9uICAgICAgICAgMHgwMgogKiAgICAgQ2hlY2tzdW0g ICAgICAgICAweDdBCiAqICAgICBPRU0gSUQgICAgICAgICAgICJJbnRlbCAiCiAqICAgICBPRU0g VGFibGUgSUQgICAgICJDQU5USUdBICIKICogICAgIE9FTSBSZXZpc2lvbiAgICAgMHgwNjA0MDAw MCAoMTAwOTI1NDQwKQogKiAgICAgQ29tcGlsZXIgSUQgICAgICAiSU5UTCIKICogICAgIENvbXBp bGVyIFZlcnNpb24gMHgyMDA2MTEwOSAoNTM3MjY4NDg5KQogKi8KCkRlZmluaXRpb25CbG9jayAo Ii90bXAvYWNwaWR1bXAuYW1sIiwgIkRTRFQiLCAyLCAiSW50ZWwgIiwgIkNBTlRJR0EgIiwgMHgw NjA0MDAwMCkKewogICAgRXh0ZXJuYWwgKF9QU1MsIEludE9iaikKICAgIEV4dGVybmFsIChcX1BS Xy5DUFUwLl9QUEMpCiAgICBFeHRlcm5hbCAoXF9TQl8uUENJMC5UTUVNLkdQRUgsIE1ldGhvZE9i aikgICAgLy8gMCBBcmd1bWVudHMKCiAgICBTY29wZSAoX1NCKQogICAgewogICAgICAgIE5hbWUg KFVOTUYsIFplcm8pCiAgICB9CgogICAgTmFtZSAoU1AyTywgMHg0RSkKICAgIE5hbWUgKFNQMU8s IDB4MTY0RSkKICAgIE5hbWUgKElPMUIsIDB4MDYwMCkKICAgIE5hbWUgKElPMUwsIDB4NzApCiAg ICBOYW1lIChJTzJCLCAweDA2QjApCiAgICBOYW1lIChJTzJMLCAweDIwKQogICAgTmFtZSAoSU8z QiwgMHgwMjkwKQogICAgTmFtZSAoSU8zTCwgMHgxMCkKICAgIE5hbWUgKE1DSEIsIDB4RkVEMTAw MDApCiAgICBOYW1lIChNQ0hMLCAweDQwMDApCiAgICBOYW1lIChFR1BCLCAweEZFRDE5MDAwKQog ICAgTmFtZSAoRUdQTCwgMHgxMDAwKQogICAgTmFtZSAoRE1JQiwgMHhGRUQxODAwMCkKICAgIE5h bWUgKERNSUwsIDB4MTAwMCkKICAgIE5hbWUgKElGUEIsIDB4RkVEMTMwMDApCiAgICBOYW1lIChJ RlBMLCAweDEwMDApCiAgICBOYW1lIChQRUJTLCAweEUwMDAwMDAwKQogICAgTmFtZSAoUEVMTiwg MHgxMDAwMDAwMCkKICAgIE5hbWUgKFRUVEIsIDB4RkVEMjAwMDApCiAgICBOYW1lIChUVFRMLCAw eDAwMDIwMDAwKQogICAgTmFtZSAoU01CUywgMHgxOEMwKQogICAgTmFtZSAoUEJMSywgMHgwNDEw KQogICAgTmFtZSAoUE1CUywgMHgwNDAwKQogICAgTmFtZSAoUE1MTiwgMHg4MCkKICAgIE5hbWUg KExWTDIsIDB4MDQxNCkKICAgIE5hbWUgKExWTDMsIDB4MDQxNSkKICAgIE5hbWUgKExWTDQsIDB4 MDQxNikKICAgIE5hbWUgKFNNSVAsIDB4QjIpCiAgICBOYW1lIChHUEJTLCAweDExODApCiAgICBO YW1lIChHUExOLCAweDgwKQogICAgTmFtZSAoQVBDQiwgMHhGRUMwMDAwMCkKICAgIE5hbWUgKEFQ Q0wsIDB4MTAwMCkKICAgIE5hbWUgKFBNMzAsIDB4MDQzMCkKICAgIE5hbWUgKFNSQ0IsIDB4RkVE MUMwMDApCiAgICBOYW1lIChTUkNMLCAweDQwMDApCiAgICBOYW1lIChTVVNXLCAweEZGKQogICAg TmFtZSAoQUNQSCwgMHhERSkKICAgIE5hbWUgKEFTU0IsIFplcm8pCiAgICBOYW1lIChBT1RCLCBa ZXJvKQogICAgTmFtZSAoQUFYQiwgWmVybykKICAgIE5hbWUgKFBFSFAsIE9uZSkKICAgIE5hbWUg KFNIUEMsIE9uZSkKICAgIE5hbWUgKFBFUE0sIE9uZSkKICAgIE5hbWUgKFBFRVIsIE9uZSkKICAg IE5hbWUgKFBFQ1MsIE9uZSkKICAgIE5hbWUgKElUS0UsIFplcm8pCiAgICBOYW1lIChUUlRQLCBP bmUpCiAgICBOYW1lIChUUlRELCAweDAyKQogICAgTmFtZSAoVFJUSSwgMHgwMykKICAgIE5hbWUg KEdDREQsIE9uZSkKICAgIE5hbWUgKERTVEEsIDB4MEEpCiAgICBOYW1lIChEU0xPLCAweDBDKQog ICAgTmFtZSAoRFNMQywgMHgwRSkKICAgIE5hbWUgKFBJVFMsIDB4MTApCiAgICBOYW1lIChTQkNT LCAweDEyKQogICAgTmFtZSAoU0FMUywgMHgxMykKICAgIE5hbWUgKExTU1MsIDB4MkEpCiAgICBO YW1lIChQU1NTLCAweDJCKQogICAgTmFtZSAoU09PVCwgMHgzNSkKICAgIE5hbWUgKEVTQ1MsIDB4 NDgpCiAgICBOYW1lIChQREJSLCAweDREKQogICAgTmFtZSAoU01CTCwgMHgxMCkKICAgIE9wZXJh dGlvblJlZ2lvbiAoR05WUywgU3lzdGVtTWVtb3J5LCAweDdGRDlFQzRDLCAweDAxMDApCiAgICBG aWVsZCAoR05WUywgQW55QWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBPU1lTLCAg IDE2LCAKICAgICAgICBTTUlGLCAgIDgsIAogICAgICAgIFBSTTAsICAgOCwgCiAgICAgICAgUFJN MSwgICA4LCAKICAgICAgICBTQ0lGLCAgIDgsIAogICAgICAgIFBSTTIsICAgOCwgCiAgICAgICAg UFJNMywgICA4LCAKICAgICAgICBMQ0tGLCAgIDgsIAogICAgICAgIFBSTTQsICAgOCwgCiAgICAg ICAgUFJNNSwgICA4LCAKICAgICAgICBQODBELCAgIDMyLCAKICAgICAgICBMSURTLCAgIDgsIAog ICAgICAgIFBXUlMsICAgOCwgCiAgICAgICAgREJHUywgICA4LCAKICAgICAgICBUSE9GLCAgIDgs IAogICAgICAgIEFDVDEsICAgOCwgCiAgICAgICAgQUNUVCwgICA4LCAKICAgICAgICBQU1ZULCAg IDgsIAogICAgICAgIFRDMVYsICAgOCwgCiAgICAgICAgVEMyViwgICA4LCAKICAgICAgICBUU1BW LCAgIDgsIAogICAgICAgIENSVFQsICAgOCwgCiAgICAgICAgRFRTRSwgICA4LCAKICAgICAgICBE VFMxLCAgIDgsIAogICAgICAgIERUUzIsICAgOCwgCiAgICAgICAgRFRTRiwgICA4LCAKICAgICAg ICAgICAgICAgIE9mZnNldCAoMHgyOCksIAogICAgICAgIEFQSUMsICAgOCwgCiAgICAgICAgTVBF TiwgICA4LCAKICAgICAgICBQQ1AwLCAgIDgsIAogICAgICAgIFBDUDEsICAgOCwgCiAgICAgICAg UFBDTSwgICA4LCAKICAgICAgICBQUE1GLCAgIDMyLCAKICAgICAgICAgICAgICAgIE9mZnNldCAo MHgzQyksIAogICAgICAgIElHRFMsICAgOCwgCiAgICAgICAgVExTVCwgICA4LCAKICAgICAgICBD QURMLCAgIDgsIAogICAgICAgIFBBREwsICAgOCwgCiAgICAgICAgQ1NURSwgICAxNiwgCiAgICAg ICAgTlNURSwgICAxNiwgCiAgICAgICAgU1NURSwgICAxNiwgCiAgICAgICAgTkRJRCwgICA4LCAK ICAgICAgICBESUQxLCAgIDMyLCAKICAgICAgICBESUQyLCAgIDMyLCAKICAgICAgICBESUQzLCAg IDMyLCAKICAgICAgICBESUQ0LCAgIDMyLCAKICAgICAgICBESUQ1LCAgIDMyLCAKICAgICAgICBL U1YwLCAgIDMyLCAKICAgICAgICBLU1YxLCAgIDgsIAogICAgICAgIEJEU1AsICAgOCwgCiAgICAg ICAgUFRZMSwgICA4LCAKICAgICAgICBQVFkyLCAgIDgsIAogICAgICAgIFBTQ0wsICAgOCwgCiAg ICAgICAgVFZGMSwgICA4LCAKICAgICAgICBUVkYyLCAgIDgsIAogICAgICAgIEdFVE0sICAgOCwg CiAgICAgICAgQkxDUywgICA4LCAKICAgICAgICBCUlRMLCAgIDgsIAogICAgICAgIEFMU0UsICAg OCwgCiAgICAgICAgQUxBRiwgICA4LCAKICAgICAgICBMTE9XLCAgIDgsIAogICAgICAgIExISUgs ICAgOCwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NkUpLCAKICAgICAgICBFTUFFLCAgIDgs IAogICAgICAgIEVNQVAsICAgMTYsIAogICAgICAgIEVNQUwsICAgMTYsIAogICAgICAgICAgICAg ICAgT2Zmc2V0ICgweDc0KSwgCiAgICAgICAgTUVGRSwgICA4LCAKICAgICAgICBEU1RTLCAgIDgs IAogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDc4KSwgCiAgICAgICAgVFBNUCwgICA4LCAKICAg ICAgICBUUE1FLCAgIDgsIAogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDgyKSwgCiAgICAgICAg R1RGMCwgICA1NiwgCiAgICAgICAgR1RGMiwgICA1NiwgCiAgICAgICAgSURFTSwgICA4LCAKICAg ICAgICBHVEYxLCAgIDU2LCAKICAgICAgICBCSUQsICAgIDgsIAogICAgICAgICAgICAgICAgT2Zm c2V0ICgweEFBKSwgCiAgICAgICAgQVNMQiwgICAzMiwgCiAgICAgICAgSUJUVCwgICA4LCAKICAg ICAgICBJUEFULCAgIDgsIAogICAgICAgIElUVkYsICAgOCwgCiAgICAgICAgSVRWTSwgICA4LCAK ICAgICAgICBJUFNDLCAgIDgsIAogICAgICAgIElCTEMsICAgOCwgCiAgICAgICAgSUJJQSwgICA4 LCAKICAgICAgICBJU1NDLCAgIDgsIAogICAgICAgIEk0MDksICAgOCwgCiAgICAgICAgSTUwOSwg ICA4LCAKICAgICAgICBJNjA5LCAgIDgsIAogICAgICAgIEk3MDksICAgOCwgCiAgICAgICAgSURN TSwgICA4LCAKICAgICAgICBJRE1TLCAgIDgsIAogICAgICAgIElGMUUsICAgOCwgCiAgICAgICAg SFZDTywgICA4LCAKICAgICAgICBOWEQxLCAgIDMyLCAKICAgICAgICBOWEQyLCAgIDMyLCAKICAg ICAgICBOWEQzLCAgIDMyLCAKICAgICAgICBOWEQ0LCAgIDMyLCAKICAgICAgICBOWEQ1LCAgIDMy LCAKICAgICAgICBOWEQ2LCAgIDMyLCAKICAgICAgICBOWEQ3LCAgIDMyLCAKICAgICAgICBOWEQ4 LCAgIDMyLCAKICAgICAgICBHU01JLCAgIDgsIAogICAgICAgIFBBVlAsICAgOCwgCiAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4RUIpLCAKICAgICAgICBEU0VOLCAgIDgsIAogICAgICAgIEVDT04s ICAgOCwgCiAgICAgICAgR1BJQywgICA4LCAKICAgICAgICBDVFlQLCAgIDgsIAogICAgICAgIEww MUMsICAgOCwgCiAgICAgICAgVkZOMCwgICA4LCAKICAgICAgICBWRk4xLCAgIDgKICAgIH0KCiAg ICBOYW1lIChCUlROLCBaZXJvKQogICAgTmFtZSAoQk9XTiwgWmVybykKICAgIE9wZXJhdGlvblJl Z2lvbiAoTlYxLCBTeXN0ZW1JTywgMHg3MiwgMHgwMikKICAgIEZpZWxkIChOVjEsIEJ5dGVBY2Ms IE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgSU5EWCwgICA4LCAKICAgICAgICBEQVRB LCAgIDgKICAgIH0KCiAgICBJbmRleEZpZWxkIChJTkRYLCBEQVRBLCBCeXRlQWNjLCBOb0xvY2ss IFByZXNlcnZlKQogICAgewogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwKSwgCiAgICAgICAg RkwwMCwgICAxLCAKICAgICAgICBGTDAxLCAgIDEsIAogICAgICAgIEZMMDIsICAgMSwgCiAgICAg ICAgRkwwMywgICAxLCAKICAgICAgICBGTDA0LCAgIDEsIAogICAgICAgIEZMMDUsICAgMSwgCiAg ICAgICAgRkwwNiwgICAxLCAKICAgICAgICBGTDA3LCAgIDEsIAogICAgICAgIEZMMTAsICAgMSwg CiAgICAgICAgRkwxMSwgICAxLCAKICAgICAgICBGTDEyLCAgIDEsIAogICAgICAgIEZMMTMsICAg MSwgCiAgICAgICAgRkwxNCwgICAxLCAKICAgICAgICBGTDE1LCAgIDEsIAogICAgICAgIEZMMTYs ICAgMSwgCiAgICAgICAgRkwxNywgICAxLCAKICAgICAgICBGTDIwLCAgIDIsIAogICAgICAgIEZM MjEsICAgMiwgCiAgICAgICAgRkwyMiwgICAyLCAKICAgICAgICBGTDIzLCAgIDIsIAogICAgICAg IENNMjMsICAgOCwgCiAgICAgICAgQ00yNCwgICA4LCAKICAgICAgICBDTTI1LCAgIDgsIAogICAg ICAgIENNMjYsICAgOCwgCiAgICAgICAgQ00yNywgICA4LCAKICAgICAgICBDTTI4LCAgIDgsIAog ICAgICAgIENNMjksICAgOCwgCiAgICAgICAgQ00yQSwgICA4LCAKICAgICAgICBDTTJCLCAgIDgs IAogICAgICAgIENNMkMsICAgOCwgCiAgICAgICAgQ00yRCwgICA4LCAKICAgICAgICBDTTJFLCAg IDgsIAogICAgICAgIENNMkYsICAgOCwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NkUpLCAK ICAgICAgICBJTlM0LCAgIDEKICAgIH0KCiAgICBTY29wZSAoX1NCKQogICAgewogICAgICAgIE1l dGhvZCAoVlRPQiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3Jl IChPbmUsIExvY2FsMCkKICAgICAgICAgICAgU2hpZnRMZWZ0IChMb2NhbDAsIEFyZzAsIExvY2Fs MCkKICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgfQoKICAgICAgICBNZXRob2Qg KEJUT1YsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBTaGlmdFJpZ2h0 IChBcmcwLCBPbmUsIExvY2FsMCkKICAgICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMSkKICAg ICAgICAgICAgV2hpbGUgKExvY2FsMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSW5j cmVtZW50IChMb2NhbDEpCiAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0IChMb2NhbDAsIE9uZSwg TG9jYWwwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBSZXR1cm4gKExvY2FsMSkKICAgICAg ICB9CgogICAgICAgIE1ldGhvZCAoTUtXRCwgMiwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAg ICAgICAgICAgIElmIChBbmQgKEFyZzEsIDB4ODApKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBTdG9yZSAoMHhGRkZGMDAwMCwgTG9jYWwwKQogICAgICAgICAgICB9CiAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgT3IgKExvY2FsMCwgQXJnMCwgTG9jYWwwKQogICAg ICAgICAgICBPciAoTG9jYWwwLCBTaGlmdExlZnQgKEFyZzEsIDB4MDgpLCBMb2NhbDApCiAgICAg ICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChQT1NXLCAx LCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKEFuZCAoQXJnMCwgMHg4 MDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHhG RkZGKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZG RkZGRkYpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgTm90IChBcmcwLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgSW5jcmVtZW50IChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgQW5kIChMb2Nh bDAsIDB4RkZGRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChBcmcwKQogICAgICAgICAgICB9CiAgICAgICAg fQoKICAgICAgICBNZXRob2QgKEdCRkUsIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAg ICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAsIEFyZzEsIFRJRFgpCiAgICAgICAgICAgIFN0 b3JlIChUSURYLCBBcmcyKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChQQkZFLCAzLCBOb3RT ZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcwLCBB cmcxLCBUSURYKQogICAgICAgICAgICBTdG9yZSAoQXJnMiwgVElEWCkKICAgICAgICB9CgogICAg ICAgIE1ldGhvZCAoSVRPUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAg IFN0b3JlIChCdWZmZXIgKDB4MDkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgLyogMDAwMCAqLyAgICAweDMwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAgIDB4MDAKICAgICAgICAg ICAgICAgIH0sIExvY2FsMCkKICAgICAgICAgICAgU3RvcmUgKEJ1ZmZlciAoMHgxMSkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiMDEyMzQ1Njc4OUFCQ0RFRiIKICAgICAg ICAgICAgICAgIH0sIExvY2FsNykKICAgICAgICAgICAgU3RvcmUgKDB4MDgsIExvY2FsMSkKICAg ICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMikKICAgICAgICAgICAgU3RvcmUgKFplcm8sIExv Y2FsMykKICAgICAgICAgICAgV2hpbGUgKExvY2FsMSkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgRGVjcmVtZW50IChMb2NhbDEpCiAgICAgICAgICAgICAgICBBbmQgKFNoaWZ0UmlnaHQg KEFyZzAsIFNoaWZ0TGVmdCAoTG9jYWwxLCAweDAyKSksIDB4MEYsIExvY2FsNCkKICAgICAgICAg ICAgICAgIElmIChMb2NhbDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKE9uZXMsIExvY2FsMykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJ ZiAoTG9jYWwzKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEdCRkUgKExv Y2FsNywgTG9jYWw0LCBSZWZPZiAoTG9jYWw1KSkKICAgICAgICAgICAgICAgICAgICBQQkZFIChM b2NhbDAsIExvY2FsMiwgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9j YWwyKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBSZXR1cm4g KExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoU01JMCwgU3lzdGVt SU8sIDB4MDAwMEZFMDAsIDB4MDAwMDAwMDIpCiAgICAgICAgRmllbGQgKFNNSTAsIEFueUFjYywg Tm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIFNNSUMsICAgOAogICAgICAg IH0KCiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChTTUkxLCBTeXN0ZW1NZW1vcnksIDB4N0ZEOUVE NEQsIDB4MDAwMDAyMDApCiAgICAgICAgRmllbGQgKFNNSTEsIEFueUFjYywgTm9Mb2NrLCBQcmVz ZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIEJDTUQsICAgOCwgCiAgICAgICAgICAgIERJRCwg ICAgMzIsIAogICAgICAgICAgICBJTkYsICAgIDgKICAgICAgICB9CgogICAgICAgIEZpZWxkIChT TUkxLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHg1MCksIAogICAgICAgICAgICBCTEswLCAgIDY0LCAKICAgICAgICAgICAg QkxLMSwgICA2NCwgCiAgICAgICAgICAgIEJMSzIsICAgNjQsIAogICAgICAgICAgICBCTEszLCAg IDY0LCAKICAgICAgICAgICAgQkxLNCwgICA2NCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDExMCksIAogICAgICAgICAgICBCVEVOLCAgIDEsIAogICAgICAgICAgICBXTEFOLCAgIDEs IAogICAgICAgICAgICBET0NLLCAgIDEsIAogICAgICAgICAgICBJREVDLCAgIDEsIAogICAgICAg ICAgICBUUE1TLCAgIDEsIAogICAgICAgICAgICBFWDNHLCAgIDEsIAogICAgICAgICAgICBDSVJJ LCAgIDEsIAogICAgICAgICAgICBaMDAwLCAgIDEsIAogICAgICAgICAgICBNT0RMLCAgIDgKICAg ICAgICB9CgogICAgICAgIE11dGV4IChQU01YLCAweDAwKQogICAgICAgIE5hbWUgKFNNSVEsIFpl cm8pCiAgICAgICAgTWV0aG9kIChQSFNSLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAg ICAgICAgICAgQWNxdWlyZSAoUFNNWCwgMHhGRkZGKQogICAgICAgICAgICBTdG9yZSAoMHg5MCwg QkNNRCkKICAgICAgICAgICAgU3RvcmUgKEFyZzAsIERJRCkKICAgICAgICAgICAgU3RvcmUgKEFy ZzEsIElORikKICAgICAgICAgICAgU3RvcmUgKFNNSUMsIFNNSVEpCiAgICAgICAgICAgIFN0b3Jl IChJTkYsIExvY2FsMCkKICAgICAgICAgICAgUmVsZWFzZSAoUFNNWCkKICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDApCiAgICAgICAgfQoKICAgICAgICBEZXZpY2UgKEFDQUQpCiAgICAgICAgewog ICAgICAgICAgICBOYW1lIChfSElELCAiQUNQSTAwMDMiKQogICAgICAgICAgICBOYW1lIChfUENM LCBQYWNrYWdlICgweDAxKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBfU0IKICAgICAg ICAgICAgfSkKICAgICAgICAgICAgTmFtZSAoQUNTVCwgWmVybykKICAgICAgICAgICAgTWV0aG9k IChfSU5JLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJ ZiAoTEdyZWF0ZXJFcXVhbCAoT1NZUywgMHgwN0Q2KSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIEFjcXVpcmUgKF5eUENJMC5MUENCLkVDMC5NVVQxLCAweEZGRkYpCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuQUNERiwgQUNTVCkKICAg ICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kwLkxQQ0IuRUMwLk1VVDEpCiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEFDU1QpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQUNTVCwgUFdSUykKICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfUFNSLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoRUNPSykK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBY3F1aXJlICheXlBDSTAuTFBD Qi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBD Qi5FQzAuQUNERiwgQUNTVCkKICAgICAgICAgICAgICAgICAgICBSZWxlYXNlICheXlBDSTAuTFBD Qi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBBQ1NUKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChBQ1NUKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgXl5CQVQxLkJDUkkpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFpl cm8sIExvY2FsMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBTdG9yZSAoQUNT VCwgUFdSUykKICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICB9CiAg ICAgICAgfQoKICAgICAgICBEZXZpY2UgKEJBVDEpCiAgICAgICAgewogICAgICAgICAgICBOYW1l IChfSElELCBFaXNhSWQgKCJQTlAwQzBBIikpCiAgICAgICAgICAgIE5hbWUgKF9VSUQsIE9uZSkK ICAgICAgICAgICAgTmFtZSAoQ0JUSSwgWmVybykKICAgICAgICAgICAgTmFtZSAoUEJUSSwgWmVy bykKICAgICAgICAgICAgTmFtZSAoQlRJTiwgWmVybykKICAgICAgICAgICAgTmFtZSAoQlRDSCwg WmVybykKICAgICAgICAgICAgTmFtZSAoQklGSSwgWmVybykKICAgICAgICAgICAgTmFtZSAoU0VM MCwgWmVybykKICAgICAgICAgICAgTmFtZSAoQkNSSSwgWmVybykKICAgICAgICAgICAgTmFtZSAo UEJJRiwgUGFja2FnZSAoMHgwRCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgT25lLCAK ICAgICAgICAgICAgICAgIDB4MTEzMCwgCiAgICAgICAgICAgICAgICAweDExMzAsIAogICAgICAg ICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIDB4MkI1QywgCiAgICAgICAgICAgICAgICAw eDAxMkMsIAogICAgICAgICAgICAgICAgMHg4NCwgCiAgICAgICAgICAgICAgICAweDIwLCAKICAg ICAgICAgICAgICAgIDB4MjAsIAogICAgICAgICAgICAgICAgIkJBVDEgICAgICAiLCAKICAgICAg ICAgICAgICAgICIxMSAgICAgICAgIiwgCiAgICAgICAgICAgICAgICAiMTEgICAgICAgICIsIAog ICAgICAgICAgICAgICAgIjExICAgICAgICAiCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5h bWUgKFBCU1QsIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFpl cm8sIAogICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAgICAgICAgICAweEZGRkZG RkZGLCAKICAgICAgICAgICAgICAgIDB4MjcxMAogICAgICAgICAgICB9KQogICAgICAgICAgICBO YW1lIChFUlJDLCBaZXJvKQogICAgICAgICAgICBOYW1lIChfUENMLCBQYWNrYWdlICgweDAxKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBfU0IKICAgICAgICAgICAgfSkKICAgICAgICAg ICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBB Y3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAg IFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTUJUUywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg IFJlbGVhc2UgKF5eUENJMC5MUENCLkVDMC5NVVQxKQogICAgICAgICAgICAgICAgICAgIElmIChM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MUYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw RikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBG KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9C SUYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEJJRkksIFplcm8pKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IFVCSUYgKCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBCSUZJKQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoUEJJRikKICAgICAgICAgICAgfQoKICAg ICAgICAgICAgTmFtZSAoTEZDQywgMHgxMTMwKQogICAgICAgICAgICBNZXRob2QgKFVCSUYsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9UXzEs IFplcm8pCiAgICAgICAgICAgICAgICBOYW1lIChfVF8wLCBaZXJvKQogICAgICAgICAgICAgICAg SWYgKEVDT0spCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAo Xl5QQ0kwLkxQQ0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkJUREMsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkxGQ0MsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkJURFYsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkJUTUQsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkJUTU4sIExvY2FsNCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkJUU04sIExvY2FsNSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo Xl5QQ0kwLkxQQ0IuRUMwLkxJT04sIExvY2FsNikKICAgICAgICAgICAgICAgICAgICBSZWxlYXNl ICheXlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWww LCBJbmRleCAoUEJJRiwgT25lKSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwxLCBJ bmRleCAoUEJJRiwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMiwgSW5k ZXggKFBCSUYsIDB4MDQpKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDEsIExGQ0Mp CiAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHkgKExvY2FsMSwgMHgwNCwgTG9jYWw3KQogICAg ICAgICAgICAgICAgICAgIERpdmlkZSAoTG9jYWw3LCAweDY0LCAsIExvY2FsNykKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoTG9jYWw3LCBJbmRleCAoUEJJRiwgMHgwNikpCiAgICAgICAgICAg ICAgICAgICAgSWYgKExvY2FsNikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgiTmlNSCIsIEluZGV4IChQQklGLCAweDBCKSkKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKCJMSU9OIiwgSW5kZXggKFBCSUYsIDB4MEIp KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDMs IDB4MEYsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwzLCBfVF8wKQog ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIE9uZSkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFTMDdCMzEiLCBJbmRleCAo UEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKF9UXzAsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoIkFTMDdCMzIiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChfVF8wLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFTMDdCNDEiLCBJbmRleCAoUEJJRiwgMHgwOSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo IkFTMDdCNDIiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKF9UXzAsIDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFT MDdCNTEiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA2KSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoIkFTMDdCNTIiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoX1RfMCwgMHgwNykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoIkFTMDdCNzEiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKF9UXzAsIDB4MDgpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoIkFTMDdCNzIiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA5KSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFT MDlDNzEiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwQSkpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo IkFTMDlDNzUiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAs IDB4MEIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFTMDlDMzEiLCBJbmRleCAoUEJJRiwgMHgwOSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDBDKSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoIkFTMDdCNjEiLCBJbmRleCAoUEJJRiwgMHgwOSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKCJ4eHh4eHh4IiwgSW5k ZXggKFBCSUYsIDB4MDkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoTG9jYWw0LCBfVF8xKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzEsIDB4 MDMpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KCJTQU5ZTyIsIEluZGV4IChQQklGLCAweDBDKSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoX1RfMSwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgiU09OWSIsIEluZGV4IChQQklG LCAweDBDKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKF9UXzEsIDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgiUEFOQVNPTklDIiwgSW5k ZXggKFBCSUYsIDB4MEMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzEsIDB4MDYpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKCJTQU1TVU5HIiwgSW5kZXggKFBCSUYsIDB4MEMpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8xLCAweDA3KSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKCJTSU1QTE8iLCBJbmRleCAoUEJJRiwgMHgwQykpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8xLCAweDA4KSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIk1PVE9ST0xBIiwgSW5kZXggKFBCSUYs IDB4MEMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgiVU5LTk9XTiIsIEluZGV4IChQQklGLCAweDBDKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKElUT1MgKFRvQkNEIChMb2Nh bDUpKSwgSW5kZXggKFBCSUYsIDB4MEEpKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9 CgogICAgICAgICAgICBOYW1lIChSQ0FQLCBaZXJvKQogICAgICAgICAgICBNZXRob2QgKF9CU1Qs IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKEJUSU4sIFplcm8pKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0 b3JlIChaZXJvLCBJbmRleCAoUEJTVCwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4RkZGRkZGRkYsIEluZGV4IChQQlNULCBPbmUpKQogICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweEZGRkZGRkZGLCBJbmRleCAoUEJTVCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4RkZGRkZGRkYsIEluZGV4IChQQlNULCAweDAzKSkKICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKFBCU1QpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKEVDT0sp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1CVEMsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1CUk0sIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1CVkcsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1DVVIsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLkJUU1QsIExvY2FsNCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1CVEYsIExvY2FsNSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQ Q0IuRUMwLkFDREYsIExvY2FsNikKICAgICAgICAgICAgICAgICAgICBSZWxlYXNlICheXlBDSTAu TFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWw2KQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWw1LCBP bmUpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgTG9jYWw3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KExGQ0MsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMiwgTG9j YWw3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDcpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExBbmQgKExvY2FsNCwgT25lKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgTG9jYWw3KQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIExvY2FsNykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDQsIDB4MDQsIExvY2FsNCkKICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDQsIDB4MDQpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsNywgTG9jYWw0LCBMb2Nh bDcpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9j YWw3LCBJbmRleCAoUEJTVCwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKEFu ZCAoTG9jYWwxLCAweDgwMDApKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChMb2NhbDEsIEluZGV4IChQQlNULCAweDAyKSkKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMTm90IChBbmQgKExvY2FsMiwgMHg4 MDAwKSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoTG9jYWwyLCBJbmRleCAoUEJTVCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTG9jYWwzLCAweDgwMDApKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3RFcXVhbCAoTG9jYWwzLCAw eEZGRkYpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOb3QgKExvY2FsMywgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5j cmVtZW50IChMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMywg MHhGRkZGLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDMsIEluZGV4IChQQlNULCBP bmUpKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoUEJTVCkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChaMDAxLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBBY3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZG KQogICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTUJUUywgTG9jYWww KQogICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKF5eUENJMC5MUENCLkVDMC5NVVQxKQogICAg ICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgT25lKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEJUSU4sIFplcm8pKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoT25lLCBCVENIKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJJ RkkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChPbmUsIEJUSU4pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEJUSU4sIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEJUQ0gpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoWmVybywgQklGSSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJUSU4pCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBEZXZp Y2UgKExJRCkKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBD MEQiKSkKICAgICAgICAgICAgTWV0aG9kIChfSU5JLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBTTElEKQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBNZXRob2QgKF9MSUQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFNMSUQpCiAgICAgICAgICAgICAgICBJZiAoU0xJ RCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTElEUCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFhPciAoTElEUCwg T25lLCBMSURQKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMSURQLCBMb2NhbDApCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIFNjb3BlIChcX0dQRSkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgTWV0aG9kIChfTDE2LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5MSUQsIDB4ODApCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIERldmljZSAoUFdSQikKICAgICAgICB7 CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEMiKSkKICAgICAgICB9Cgog ICAgICAgIERldmljZSAoU0xQQikKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEUiKSkKICAgICAgICB9CgogICAgICAgIFNjb3BlIChcX1NCKQogICAgICAg IHsKICAgICAgICAgICAgRGV2aWNlIChXTUlEKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBOYW1lIChfSElELCAiUE5QMEMxNCIpCiAgICAgICAgICAgICAgICBOYW1lIChfVUlELCBaZXJv KQogICAgICAgICAgICAgICAgTmFtZSAoV01JUSwgWmVybykKICAgICAgICAgICAgICAgIE5hbWUg KEVSUkQsIDB4MDAwMTAwMDApCiAgICAgICAgICAgICAgICBOYW1lIChCVUZGLCBCdWZmZXIgKDB4 MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVs ZCAoQlVGRiwgWmVybywgQkYwMCkKICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQlVG RiwgT25lLCBCRjAxKQogICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUZGLCAweDAy LCBCRjAyKQogICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCVUZGLCAweDAzLCBCRjAz KQogICAgICAgICAgICAgICAgTmFtZSAoQUFEUywgQnVmZmVyICgweDA0KQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgICAgICBDcmVhdGVGaWVsZCAoQUFEUywgWmVybywgMHgwNCwgQVMwMCkKICAgICAgICAgICAg ICAgIENyZWF0ZUZpZWxkIChBQURTLCAweDA0LCBPbmUsIEFTMDEpCiAgICAgICAgICAgICAgICBD cmVhdGVGaWVsZCAoQUFEUywgMHgwNSwgT25lLCBBUzAyKQogICAgICAgICAgICAgICAgQ3JlYXRl RmllbGQgKEFBRFMsIDB4MTAsIDB4MTAsIEFTMDMpCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVs ZCAoQUFEUywgWmVybywgMHgxMCwgQVMwNCkKICAgICAgICAgICAgICAgIE5hbWUgKEJBRUYsIFpl cm8pCiAgICAgICAgICAgICAgICBOYW1lIChCQURGLCBaZXJvKQogICAgICAgICAgICAgICAgTmFt ZSAoQkFERywgUGFja2FnZSAoMHgwMykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAweDAwMDEwMDAwLCAKICAgICAgICAgICAgICAgICAgICAweDAwMDEwMDAwLCAKICAgICAg ICAgICAgICAgICAgICAweDAwMDEwMDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAg ICAgTmFtZSAoQkFEUywgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAg ICAgICAgT25lLCAKICAgICAgICAgICAgICAgICAgICBPbmUKICAgICAgICAgICAgICAgIH0pCiAg ICAgICAgICAgICAgICBOYW1lIChXTERTLCBaZXJvKQogICAgICAgICAgICAgICAgTmFtZSAoV0xF RCwgWmVybykKICAgICAgICAgICAgICAgIE5hbWUgKEJURFMsIFplcm8pCiAgICAgICAgICAgICAg ICBOYW1lIChCVEVELCBaZXJvKQogICAgICAgICAgICAgICAgTmFtZSAoQkxEUywgWmVybykKICAg ICAgICAgICAgICAgIE5hbWUgKEJMRUQsIFplcm8pCiAgICAgICAgICAgICAgICBOYW1lIChOVERD LCBaZXJvKQogICAgICAgICAgICAgICAgTmFtZSAoV0xTRCwgMHgwMTAwKQogICAgICAgICAgICAg ICAgTmFtZSAoV0xTRSwgMHgwMTAxKQogICAgICAgICAgICAgICAgTmFtZSAoQkxURCwgMHgwMjAw KQogICAgICAgICAgICAgICAgTmFtZSAoQkxURSwgMHgwMjAxKQogICAgICAgICAgICAgICAgTmFt ZSAoTEJMMCwgMHgwMzAwKQogICAgICAgICAgICAgICAgTmFtZSAoTEJMMSwgMHgwMzAxKQogICAg ICAgICAgICAgICAgTmFtZSAoTEJMMiwgMHgwMzAyKQogICAgICAgICAgICAgICAgTmFtZSAoTEJM MywgMHgwMzAzKQogICAgICAgICAgICAgICAgTmFtZSAoTEJMNCwgMHgwMzA0KQogICAgICAgICAg ICAgICAgTmFtZSAoTEJMNSwgMHgwMzA1KQogICAgICAgICAgICAgICAgTmFtZSAoTEJMNiwgMHgw MzA2KQogICAgICAgICAgICAgICAgTmFtZSAoTEJMNywgMHgwMzA3KQogICAgICAgICAgICAgICAg TmFtZSAoTEJMOCwgMHgwMzA4KQogICAgICAgICAgICAgICAgTmFtZSAoTEJMOSwgMHgwMzA5KQog ICAgICAgICAgICAgICAgTmFtZSAoTEJMQSwgMHgwMzBBKQogICAgICAgICAgICAgICAgTmFtZSAo TEJMQiwgMHgwMzBCKQogICAgICAgICAgICAgICAgTmFtZSAoTEJMQywgMHgwMzBDKQogICAgICAg ICAgICAgICAgTmFtZSAoTEJMRCwgMHgwMzBEKQogICAgICAgICAgICAgICAgTmFtZSAoTEJMRSwg MHgwMzBFKQogICAgICAgICAgICAgICAgTmFtZSAoTEJMRiwgMHgwMzBGKQogICAgICAgICAgICAg ICAgTmFtZSAoQ0FESSwgMHgwNDAxKQogICAgICAgICAgICAgICAgTmFtZSAoQ0FETywgMHgwNDAw KQogICAgICAgICAgICAgICAgTmFtZSAoTE9XRywgMHgwNTAxKQogICAgICAgICAgICAgICAgTmFt ZSAoSElIRywgMHgwNTAyKQogICAgICAgICAgICAgICAgTmFtZSAoVkFQTywgMHgwNjAwKQogICAg ICAgICAgICAgICAgTmFtZSAoVkFQSSwgMHgwNjAxKQogICAgICAgICAgICAgICAgTmFtZSAoV0JB VCwgMHgwNzAwKQogICAgICAgICAgICAgICAgTmFtZSAoV0FEQSwgMHgwNzAxKQogICAgICAgICAg ICAgICAgTmFtZSAoRFMzRywgMHgwODAwKQogICAgICAgICAgICAgICAgTmFtZSAoRU4zRywgMHgw ODAxKQogICAgICAgICAgICAgICAgTmFtZSAoTEFOSSwgMHgwOTAwKQogICAgICAgICAgICAgICAg TmFtZSAoTEFOTywgMHgwOTAxKQogICAgICAgICAgICAgICAgTmFtZSAoTU5PRiwgMHgwQTAwKQog ICAgICAgICAgICAgICAgTmFtZSAoTU5PTiwgMHgwQTAxKQogICAgICAgICAgICAgICAgTmFtZSAo QkJPRiwgMHgwQjAwKQogICAgICAgICAgICAgICAgTmFtZSAoQkJPTiwgMHgwQjAxKQogICAgICAg ICAgICAgICAgTmFtZSAoQkJTQiwgQnVmZmVyICgweDA0KQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKICAgICAgICAgICAgICAgIH0p CiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoQkJTQiwgWmVybywgMHgxMCwgQkJEMCkKICAg ICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChCQlNCLCAweDEwLCAweDEwLCBCQkQxKQogICAgICAg ICAgICAgICAgTmFtZSAoVExTMCwgWmVybykKICAgICAgICAgICAgICAgIE5hbWUgKFRMUzEsIE9u ZSkKICAgICAgICAgICAgICAgIE5hbWUgKFRMUzIsIDB4MDIpCiAgICAgICAgICAgICAgICBOYW1l IChUTFMzLCAweDAzKQogICAgICAgICAgICAgICAgTmFtZSAoVExTNCwgMHgwNCkKICAgICAgICAg ICAgICAgIE5hbWUgKFRMUzUsIDB4MDUpCiAgICAgICAgICAgICAgICBOYW1lIChUTFM2LCAweDA2 KQogICAgICAgICAgICAgICAgTmFtZSAoVExTNywgMHgwNykKICAgICAgICAgICAgICAgIE5hbWUg KEJCUEQsIEJ1ZmZlciAoMHgxNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAvKiAwMDAwICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gICAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgLyog MDAxMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwCiAgICAgICAgICAgICAgICB9KQogICAg ICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCQlBELCBaZXJvLCBCQlAwKQogICAgICAgICAg ICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChCQlBELCAweDA0LCBCQlAxKQogICAgICAgICAgICAgICAg Q3JlYXRlQnl0ZUZpZWxkIChCQlBELCAweDA4LCBCQlAyKQogICAgICAgICAgICAgICAgQ3JlYXRl Qnl0ZUZpZWxkIChCQlBELCAweDBDLCBCQlAzKQogICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZp ZWxkIChCQlBELCAweDEwLCBCQlA0KQogICAgICAgICAgICAgICAgTmFtZSAoQkJBUiwgQnVmZmVy ICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIC8qIDAwMDAgKi8g ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAogICAgICAg ICAgICAgICAgfSkKICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQkJBUiwgWmVybywg QkJBMCkKICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQkJBUiwgMHgwNCwgQkJBMSkK ICAgICAgICAgICAgICAgIE5hbWUgKEJDRFMsIFBhY2thZ2UgKDB4MEQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAg MHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAg ICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAg ICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAx MDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwg CiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMAogICAgICAgICAgICAgICAgfSkKICAgICAg ICAgICAgICAgIE5hbWUgKEJERFMsIEJ1ZmZlciAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwCiAgICAgICAgICAgICAgICB9 KQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKEJERFMsIFplcm8sIDB4MTAsIEJERDApCiAg ICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoQkREUywgMHgxMCwgMHgxMCwgQkREMSkKICAgICAg ICAgICAgICAgIE5hbWUgKERTWTAsIEJ1ZmZlciAoMHgyOCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gICAg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAg ICAgICAgICAgICAgLyogMDAxMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDE4ICovICAgIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgIC8qIDAwMjAgKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE5hbWUgKERTWTEs IEJ1ZmZlciAoMHgxOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAvKiAw MDAwICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IAogICAgICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgLyogMDAxMCAq LyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwCiAgICAg ICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoRFNZMiwgQnVmZmVyICgweDEwKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIC8qIDAwMDAgKi8gICAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgLyogMDAwOCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoRFNZMywg QnVmZmVyICgweDE4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIC8qIDAw MDAgKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg CiAgICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDEwICov ICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBOYW1lIChEU1k0LCBCdWZmZXIgKDB4MTApCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAg ICAgICAvKiAwMDA4ICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBOYW1lIChEU1k1LCBC dWZmZXIgKDB4MjgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyogMDAw MCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8g ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAg ICAgICAgICAgICAgICAgLyogMDAxOCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDIwICovICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoRFNZMCwgWmVybywgMHg0MCwgRFkw MCkKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChEU1kwLCAweDQwLCAweDQwLCBEWTAxKQog ICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKERTWTAsIDB4ODAsIDB4NDAsIERZMDIpCiAgICAg ICAgICAgICAgICBDcmVhdGVGaWVsZCAoRFNZMCwgMHhDMCwgMHg0MCwgRFkwMykKICAgICAgICAg ICAgICAgIENyZWF0ZUZpZWxkIChEU1kwLCAweDAxMDAsIDB4NDAsIERZMDQpCiAgICAgICAgICAg ICAgICBDcmVhdGVGaWVsZCAoRFNZMSwgWmVybywgMHg0MCwgRFkxMCkKICAgICAgICAgICAgICAg IENyZWF0ZUZpZWxkIChEU1kxLCAweDQwLCAweDQwLCBEWTExKQogICAgICAgICAgICAgICAgQ3Jl YXRlRmllbGQgKERTWTEsIDB4ODAsIDB4NDAsIERZMTIpCiAgICAgICAgICAgICAgICBDcmVhdGVG aWVsZCAoRFNZMiwgWmVybywgMHg0MCwgRFkyMCkKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxk IChEU1kyLCAweDQwLCAweDEwLCBEWTIxKQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKERT WTIsIDB4NTAsIDB4MTAsIERZMjIpCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoRFNZMCwg WmVybywgMHhDMCwgRFNYNCkKICAgICAgICAgICAgICAgIE5hbWUgKEJFRFMsIFBhY2thZ2UgKDB4 MTApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAg ICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAx MDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwg CiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgw MDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAw MCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMAogICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgIE5hbWUgKFdJVDAsIFplcm8pCiAgICAgICAgICAgICAgICBOYW1lIChEU1k2 LCBCdWZmZXIgKDB4MTQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyog MDAwMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTAg Ki8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAg ICAgICAgIENyZWF0ZUZpZWxkIChEU1k2LCBaZXJvLCAweDIwLCBEWTYwKQogICAgICAgICAgICAg ICAgQ3JlYXRlRmllbGQgKERTWTYsIDB4MjAsIDB4MjAsIERZNjEpCiAgICAgICAgICAgICAgICBD cmVhdGVGaWVsZCAoRFNZNiwgMHg0MCwgMHgyMCwgRFk2MikKICAgICAgICAgICAgICAgIENyZWF0 ZUZpZWxkIChEU1k2LCAweDYwLCAweDIwLCBEWTYzKQogICAgICAgICAgICAgICAgQ3JlYXRlRmll bGQgKERTWTYsIDB4ODAsIDB4MjAsIERZNjQpCiAgICAgICAgICAgICAgICBOYW1lIChXUFJXLCBC dWZmZXIgKDB4MTQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyogMDAw MCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8g ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAg ICAgIENyZWF0ZUZpZWxkIChXUFJXLCBaZXJvLCAweDA4LCBXV0QwKQogICAgICAgICAgICAgICAg Q3JlYXRlRmllbGQgKFdQUlcsIDB4MDgsIDB4MDgsIFdXRDEpCiAgICAgICAgICAgICAgICBDcmVh dGVGaWVsZCAoV1BSVywgMHgxMCwgMHgwOCwgV1dEMikKICAgICAgICAgICAgICAgIENyZWF0ZUZp ZWxkIChXUFJXLCAweDE4LCAweDA4LCBXV0QzKQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQg KFdQUlcsIDB4MjAsIDB4MDgsIFdXRDQpCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoV1BS VywgMHgyOCwgMHgyMCwgV1dENSkKICAgICAgICAgICAgICAgIE5hbWUgKFdQQ0ksIEJ1ZmZlciAo MHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQg KFdQQ0ksIFplcm8sIDB4MDgsIFdQSVIpCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoV1BD SSwgMHgwOCwgMHgwMywgV1BJRikKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChXUENJLCAw eDBCLCAweDA1LCBXUElEKQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFdQQ0ksIDB4MTAs IDB4MDgsIFdQSUIpCiAgICAgICAgICAgICAgICBOYW1lIChCRkRTLCBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAg ICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAg ICAgIDB4MDIKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBOYW1lIChHU1RTLCBa ZXJvKQogICAgICAgICAgICAgICAgTmFtZSAoQkZFRiwgWmVybykKICAgICAgICAgICAgICAgIE5h bWUgKEJHRUYsIFplcm8pCiAgICAgICAgICAgICAgICBOYW1lIChCR0RTLCBQYWNrYWdlICgweDAx KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9uZQogICAgICAgICAgICAg ICAgfSkKICAgICAgICAgICAgICAgIE5hbWUgKFdFUkMsIEJ1ZmZlciAoMHgxNCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAgIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8q IDAwMDggKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgCiAgICAgICAgICAgICAgICAgICAgLyogMDAxMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAw eDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFdFUkMs IFplcm8sIDB4NDAsIFdFUjApCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoV0VSQywgMHg0 MCwgMHg0MCwgV0VSMSkKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoV0VSQywgMHgx MCwgV0VSMikKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoV0VSQywgMHgxMiwgV0VS MykKICAgICAgICAgICAgICAgIE5hbWUgKFNCU1EsIEJ1ZmZlciAoMHgxMCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAgIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAw MDggKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMAog ICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChTQlNRLCBaZXJv LCAweDQwLCBTQlMwKQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFNCU1EsIDB4NDAsIDB4 NDAsIFNCUzEpCiAgICAgICAgICAgICAgICBOYW1lIChQUkRULCBCdWZmZXIgKDB4NDYpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAvKiAwMDA4ICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8gICAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgLyog MDAxOCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDIwICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMjgg Ki8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAg ICAgICAgICAgICAgICAgICAgLyogMDAzMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDM4ICovICAg IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgIC8qIDAwNDAgKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo UFJEVCwgWmVybywgUFJEMCkKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoUFJEVCwg MHgwMiwgUFJEMSkKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoUFJEVCwgMHgwNCwg UFJEMikKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChQUkRULCAweDMwLCAweDQwLCBQUkQz KQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFBSRFQsIDB4NzAsIDB4NDAsIFBSRDQpCiAg ICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoUFJEVCwgMHhCMCwgMHg0MCwgUFJENSkKICAgICAg ICAgICAgICAgIENyZWF0ZUZpZWxkIChQUkRULCAweEYwLCAweDQwLCBQUkQ2KQogICAgICAgICAg ICAgICAgTmFtZSAoUFNXRCwgQnVmZmVyICgweDI4KQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIC8qIDAwMDAgKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgICAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAg ICAgICAgICAvKiAwMDEwICovICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTggKi8gICAgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgLyogMDAyMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFBT V0QsIFplcm8sIDB4MDgsIFBXRDApCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoUFNXRCwg MHgyMCwgMHg0MCwgUFdEMSkKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChQU1dELCAweDQw LCAweDQwLCBQV0QyKQogICAgICAgICAgICAgICAgQ3JlYXRlRmllbGQgKFBTV0QsIDB4ODAsIDB4 NDAsIFBXRDMpCiAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoUFNXRCwgMHhDMCwgMHg0MCwg UFdENCkKICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChQU1dELCAweDAxMDAsIDB4NDAsIFBX RDUpCiAgICAgICAgICAgICAgICBNZXRob2QgKFBIU1IsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoUFNNWCwgMHhGRkZGKQog ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDkxLCBCQ01EKQogICAgICAgICAgICAgICAgICAg IFN0b3JlIChBcmcwLCBESUQpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIElORikK ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU01JQywgU01JUSkKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoRElELCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoUFNNWCkK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKEFBRjEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKFplcm8sIFplcm8pLCBBUzA0 KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBBUzAzKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoWjAwMiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVF8wLCBaZXJvKQogICAgICAg ICAgICAgICAgICAgIEFuZCAoQXJnMCwgMHgwMEZGRkZGRiwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChMb2NhbDAsIF9UXzApCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoX1RfMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChQSFNSIChPbmUsIFplcm8pLCBCVUZGKQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAyKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKE9uZSwgT25l KSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCUlROLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgQlVGRikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSIChP bmUsIDB4MDMpLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChf VF8wLCAweDA5KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKE9uZSwgMHgwNCks IEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChfVF8wLCAweDBBKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhT UiAoT25lLCAweDA1KSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDBDKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChFQ09LKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJlICheXlBDSTAuTFBD Qi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKF5eUENJMC5MUENCLkVDMC5MQU5DLCBMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChe XlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKEFuZCAoTG9jYWwwLCBPbmUpLCBCVUZGKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChfVF8wLCAweDBEKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEVDT0spCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5QQ0kwLkxQQ0IuRUMwLk1VVDEsIDB4RkZGRikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLk1OU1QsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlICheXlBDSTAuTFBDQi5F QzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoQW5kIChMb2NhbDAsIE9uZSksIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDBFKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKF5e UENJMC5MUENCLkVDMC5NVVQxLCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuQkJT VCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSZWxlYXNlICheXlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgT25lKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChP bmUsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCVUZGKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMDAxMDAwMCwgQlVGRikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMDMsIDIsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1Rf MCwgWmVybykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMSwgQlVGRikKICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChCRjAwLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEFuZCAoQXJnMCwgMHgwMEZGRkZGRiwgTG9j YWwxKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDEsIF9UXzApCiAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDEwLCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDAyLCBMb2NhbDApLCBCVUZGKQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQlVGRikKICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwNSkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4MjAsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDAyLCBMb2Nh bDApLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJVRkYp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChfVF8wLCAweDA2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKE9TWVMsIDB4MDdENikpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQkYwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBY3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBeXlBDSTAuTFBDQi5FQzAu QkxWTCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kw LkxQQ0IuRUMwLk1VVDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChMb2NhbDAsIEJSVE4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEJP V04sIFplcm8pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQkYwMCwgTG9jYWwxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEJGMDAsIDB4NDAsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgw eDAyLCBMb2NhbDApLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDIsIEJPV04pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTG9jYWwxLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTbGVlcCAoMHgwMUY0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWjAwNCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKExvY2FsMCwgQlJUTikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCT1dOKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQlVGRikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChfVF8wLCAweDBCKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIDB4ODAsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MDIs IExvY2FsMCksIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChaZXJvLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8w LCAweDBGKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgwOCwgTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEhTUiAoMHgwMiwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJV RkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgw MDAxMDAwMCwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMDUsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1RfMCwgWmVy bykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoV01JUSwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBXTUlRKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2Nh bDAsIF9UXzApCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgT25lKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoV0xTRSkK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgw MikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoV0xTRCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQkxURSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQkxU RCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwNSkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSIChPbmUsIDB4MDIpLCBMb2NhbDEpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMSwgMHgwRiwgTG9j YWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChMQkwwLCAw eDBGMDAsIExCTDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAo TG9jYWwxLCBMQkwwLCBMQkwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKExCTDAsIFA4MEgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKExCTDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoTE9XRywgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwNykpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSElIRywgQlVGRikKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA4KSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChWQVBPKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwOSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChWQVBJKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KF9UXzAsIDB4MEEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKExPV0csIEJVRkYpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwQikpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMQU5JLCBC VUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoX1RfMCwgMHgwQykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExBTk8sIEJVRkYp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MEQpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKEVOM0csIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoX1RfMCwgMHgwRSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChEUzNHLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwRikpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE1OT04sIEJVRkYpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKF9UXzAsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKE1OT0YsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgxMSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCQk9OLCBCVUZG KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoX1RfMCwgMHgxMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEJCT0YsIEJVRkYpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoWjAwNiwg MiwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoQXJnMSwgQlVGRikKICAgICAgICAgICAgICAgICAgICBBbmQgKEJGMDAsIDB4MEYsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAyKSkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoTG9jYWww LCBPbmUsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgxMCwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFBIU1IgKDB4MDMsIExvY2FsMCksIEJCU0IpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChaMDA3LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDEwLCBBcmcwKSwgQlVGRikKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoQkYwMCwgQkJQMCkKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoQkYwMSwgQkJQMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQkYwMiwgQkJQMikKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoQW5kIChCRjAzLCAweDBGKSwgQkJQMykKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoU2hpZnRSaWdodCAoQW5kIChCRjAzLCAweEYwKSwgMHgwNCksIEJC UDQpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDA4LCAyLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoWjAwOSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBQSFNSICgweDA0LCBBcmcwKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChCTEswLCBEWTAwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTEsxLCBE WTAxKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTEsyLCBEWTAyKQogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChCTEszLCBEWTAzKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJv LCBEWTA0KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoWjAwQSwg MSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoRFkxMCwgQkxLMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAw eDAzKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChEWTExLCBCTEsxKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRFkxMiwgQkxLMikK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgw eDA1LCBBcmcwKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTEswLCBEWTEw KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTEsxLCBEWTExKQogICAgICAgICAgICAgICAg ICAgIElmIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoT25lLCBEWTEyKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgRFkxMikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBCLCAxLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDA2LCBBcmcw KSwgQlVGRikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMEMs IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChaMDBELCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChEU1k0LCBEU1kyKQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChPbmUsIERZMjIpCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQXJnMCwgMHgwOCkpIHt9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgTWV0aG9kIChaMDBFLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDA3LCBaZXJvKSwgQlVGRikKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMEYsIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1RfMCwg WmVybykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChMb2NhbDAsIF9UXzApCiAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoX1RfMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICheXkJBVDEuX1NUQSAoKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoQW5kIChMb2NhbDAsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQlVGRikKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwMDIwMDAw LCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDIpKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMDAxMDAwMCwgQlVG RikKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAwMDEwMDAwLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo WjAwRywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIEFjcXVpcmUgKF5eUENJMC5MUENCLkVDMC5NVVQxLCAweEZGRkYpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTVRNUCwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLkFUTVAsIExvY2FsMSkKICAgICAg ICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kwLkxQQ0IuRUMwLk1VVDEpCiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDEzODgsIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MTM4OCwgTG9jYWwxKQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgWjAwSCAoQXJnMCwgTG9jYWwwLCBMb2NhbDEpCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBJLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChFQ09LKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5Q Q0kwLkxQQ0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KF5eUENJMC5MUENCLkVDMC5NQ1VSLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICheXlBDSTAuTFBDQi5FQzAuQUJDUiwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAg ICBSZWxlYXNlICheXlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKFplcm8sIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIFowMEggKEFyZzAsIExvY2FsMCwgTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIE1ldGhvZCAoWjAwSiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKF5eUENJMC5MUENCLkVDMC5NVVQxLCAw eEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTUJW RywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMw LkFCVkcsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1VVDEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICha ZXJvLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDEp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBaMDBIIChBcmcwLCBM b2NhbDAsIExvY2FsMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2Qg KFowMEssIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgSWYgKEVDT0spCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBBY3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLk1CUk0sIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKF5eUENJMC5MUENCLkVDMC5BQlJNLCBMb2NhbDEpCiAgICAg ICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKF5eUENJMC5MUENCLkVDMC5NVVQxKQogICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgWjAwSCAoQXJnMCwgTG9jYWwwLCBMb2NhbDEpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBMLCAxLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChFQ09LKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5QQ0kw LkxQQ0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKF5e UENJMC5MUENCLkVDMC5MRkNDLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICheXlBDSTAuTFBDQi5FQzAuQUZDQywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICBS ZWxlYXNlICheXlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIFowMEggKEFyZzAsIExvY2FsMCwgTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoWjAwTSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKF5eUENJMC5MUENCLkVDMC5NVVQxLCAweEZG RkYpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTUNZQywg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLkFD WUMsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kwLkxQQ0Iu RUMwLk1VVDEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJv LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDEpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBaMDBIIChBcmcwLCBMb2Nh bDAsIExvY2FsMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFow ME4sIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKEVDT0spCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBBY3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLkJUREMsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKF5eUENJMC5MUENCLkVDMC5BQkRDLCBMb2NhbDEpCiAgICAgICAg ICAgICAgICAgICAgICAgIFJlbGVhc2UgKF5eUENJMC5MUENCLkVDMC5NVVQxKQogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgWjAwSCAoQXJnMCwgTG9jYWwwLCBMb2NhbDEpCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBPLCAxLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChFQ09LKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5QQ0kwLkxQ Q0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKF5eUENJ MC5MUENCLkVDMC5CVERWLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChe XlBDSTAuTFBDQi5FQzAuQUJEViwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICBSZWxl YXNlICheXlBDSTAuTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IFowMEggKEFyZzAsIExvY2FsMCwgTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIE1ldGhvZCAoWjAwUCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBJZiAoRUNPSykKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKF5eUENJMC5MUENCLkVDMC5NVVQxLCAweEZGRkYp CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICheXlBDSTAuTFBDQi5FQzAuTURBVCwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLkFEQVQs IExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5QQ0kwLkxQQ0IuRUMw Lk1VVDEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDEpCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBaMDBIIChBcmcwLCBMb2NhbDAs IExvY2FsMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMFEs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg SWYgKEVDT0spCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBB Y3F1aXJlICheXlBDSTAuTFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoXl5QQ0kwLkxQQ0IuRUMwLkJUU04sIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKF5eUENJMC5MUENCLkVDMC5BQlNOLCBMb2NhbDEpCiAgICAgICAgICAg ICAgICAgICAgICAgIFJlbGVhc2UgKF5eUENJMC5MUENCLkVDMC5NVVQxKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgWjAwSCAoQXJnMCwgTG9jYWwwLCBMb2NhbDEpCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBSLCAxLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9UXzAsIFplcm8pCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIEJCQVIpCiAgICAgICAgICAgICAgICAgICAg QW5kIChCQkExLCAweEZGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgQW5kIChCQkEwLCAw eEZGLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMSwgX1RfMCkKICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAzKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBCVUZGKQogICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA4KSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwRyAo TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoX1RfMCwgMHgwOSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwSiAoTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKF9UXzAsIDB4MEEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwSSAoTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDBGKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWjAwSyAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgxMCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWjAwTCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MTcpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwTSAoTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDE4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWjAwTiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgxOSkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwTyAoTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4 MUIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWjAwUCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDFDKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWjAwUSAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAwMTAwMDAsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChaMDBILCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9UXzAsIFplcm8pCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEFyZzAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBfVF8w KQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIE9uZSkpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXl5CQVQxLl9TVEEgKCks IExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTG9jYWwyLCAweDEwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEFyZzEsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweEZGRkYsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8w LCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKF5eQkFUMS5fU1RBICgpLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoQW5kIChMb2NhbDIsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcyLCBMb2NhbDMp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4RkZGRiwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEFyZzEsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwzLCAw eEZGRkYpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDAwMjAwMDAsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChMb2NhbDMsIEluZGV4IChCRURTLCBPbmUpKQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEJFRFMsIE9uZSkpLCBCVUZGKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMFMs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKEFuZCAoQXJnMCwgT25lKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChM TGVzc0VxdWFsIChMb2NhbDAsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgwOCwgQXJnMCksIEJVRkYpCiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBCVUZGKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFowMFQs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKFBIU1IgKDB4MDksIEFyZzApLCBCVUZGKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoWjAwVSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQW5kIChBcmcwLCBPbmUpLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgSWYgKExMZXNzRXF1YWwgKExvY2FsMCwgT25lKSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDBBLCBB cmcwKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDIsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoWjAwViwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgwQiwgQXJnMCksIEJVRkYpCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChaMDBXLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcw LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCBPbmUpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUEhTUiAoMHgwRCwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIEJVRkYpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kICha MDBYLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChQSFNSICgweDBFLCBBcmcwKSwgQlVGRikKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKFowMFksIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MEYsIFplcm8pLCBCVUZG KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoWjAwNCwgMSwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo QXJnMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoTG9jYWwwLCBC UlROKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChe XlBDSTAuUEVHQSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgTm90aWZ5ICheXlBDSTAuUEVHUC5WR0EuTENELCAweDg2KQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5ICheXlBDSTAuR0ZY MC5ERDAyLCAweDg2KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoTG9jYWwwLCBCUlROKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKF5eUENJMC5QRUdB KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5vdGlmeSAoXl5QQ0kwLlBFR1AuVkdBLkxDRCwgMHg4NykKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3Rp ZnkgKF5eUENJMC5HRlgwLkREMDIsIDB4ODcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAoX1dERywgQnVmZmVyICgweDAxMDQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgICAweDA5LCAw eDRFLCAweDc2LCAweDk1LCAweDU2LCAweEZCLCAweDgzLCAweDRFLCAKICAgICAgICAgICAgICAg ICAgICAvKiAwMDA4ICovICAgIDB4QjMsIDB4MUEsIDB4MzcsIDB4NzYsIDB4MUYsIDB4NjAsIDB4 OTksIDB4NEEsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8gICAgMHg0MSwgMHg0MSwg MHgwMSwgMHgwMSwgMHg1OCwgMHhGMiwgMHhGNCwgMHg2QSwgCiAgICAgICAgICAgICAgICAgICAg LyogMDAxOCAqLyAgICAweDAxLCAweEI0LCAweEZELCAweDQyLCAweEJFLCAweDkxLCAweDNELCAw eDRBLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDIwICovICAgIDB4QzIsIDB4RDcsIDB4QzAs IDB4RDMsIDB4NDIsIDB4NDEsIDB4MDEsIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIC8qIDAw MjggKi8gICAgMHhBQywgMHg2MSwgMHgxQSwgMHhDQywgMHg1NiwgMHg0MiwgMHhBMywgMHg0MSwg CiAgICAgICAgICAgICAgICAgICAgLyogMDAzMCAqLyAgICAweEI5LCAweEUwLCAweDA1LCAweEE0 LCAweDQ1LCAweEFELCAweEUyLCAweEY1LCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDM4ICov ICAgIDB4ODAsIDB4MDAsIDB4MDEsIDB4MDgsIDB4NTMsIDB4NDQsIDB4OEMsIDB4RTcsIAogICAg ICAgICAgICAgICAgICAgIC8qIDAwNDAgKi8gICAgMHgyNywgMHgwMiwgMHg2MSwgMHg0OCwgMHg5 RSwgMHhERSwgMHhGNSwgMHg2MCwgCiAgICAgICAgICAgICAgICAgICAgLyogMDA0OCAqLyAgICAw eDBCLCAweDRBLCAweDNELCAweDM5LCAweDQyLCAweDQyLCAweDAxLCAweDAyLCAKICAgICAgICAg ICAgICAgICAgICAvKiAwMDUwICovICAgIDB4N0IsIDB4NEYsIDB4RTAsIDB4QUEsIDB4QzUsIDB4 QjMsIDB4NjUsIDB4NDgsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwNTggKi8gICAgMHg5NSwg MHhENiwgMHg5RiwgMHhBQywgMHg3RiwgMHhGMywgMHhFOSwgMHgyQiwgCiAgICAgICAgICAgICAg ICAgICAgLyogMDA2MCAqLyAgICAweDQyLCAweDQzLCAweDAxLCAweDAyLCAweDc5LCAweDRDLCAw eEY5LCAweENGLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMDY4ICovICAgIDB4NzcsIDB4NkMs IDB4RjcsIDB4NEEsIDB4QUMsIDB4NTYsIDB4N0QsIDB4RDAsIAogICAgICAgICAgICAgICAgICAg IC8qIDAwNzAgKi8gICAgMHhDRSwgMHgwMSwgMHhDOSwgMHg5NywgMHg0MiwgMHg0NCwgMHgwMSwg MHgwMiwgCiAgICAgICAgICAgICAgICAgICAgLyogMDA3OCAqLyAgICAweEM1LCAweDJFLCAweDc3 LCAweDc5LCAweEIxLCAweDA0LCAweEZELCAweDRCLCAKICAgICAgICAgICAgICAgICAgICAvKiAw MDgwICovICAgIDB4ODQsIDB4M0MsIDB4NjEsIDB4RTcsIDB4RjcsIDB4N0IsIDB4NkMsIDB4Qzks IAogICAgICAgICAgICAgICAgICAgIC8qIDAwODggKi8gICAgMHg0MiwgMHg0NSwgMHgwMSwgMHgw MiwgMHhCNywgMHhBMCwgMHhDOSwgMHhBNywgCiAgICAgICAgICAgICAgICAgICAgLyogMDA5MCAq LyAgICAweDlELCAweDRDLCAweDcyLCAweDRDLCAweDgzLCAweEJCLCAweDUzLCAweEEzLCAKICAg ICAgICAgICAgICAgICAgICAvKiAwMDk4ICovICAgIDB4NDUsIDB4OTEsIDB4NzEsIDB4REYsIDB4 NDIsIDB4NDYsIDB4MDEsIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwQTAgKi8gICAg MHg0RiwgMHgwNiwgMHgzQSwgMHg2NSwgMHgzQSwgMHhBMiwgMHg1RiwgMHg0OCwgCiAgICAgICAg ICAgICAgICAgICAgLyogMDBBOCAqLyAgICAweEIzLCAweEQ5LCAweDEzLCAweEY2LCAweDUzLCAw eDJBLCAweDAxLCAweDgyLCAKICAgICAgICAgICAgICAgICAgICAvKiAwMEIwICovICAgIDB4NDIs IDB4NDcsIDB4MDEsIDB4MDIsIDB4QTcsIDB4QjEsIDB4ODUsIDB4REIsIAogICAgICAgICAgICAg ICAgICAgIC8qIDAwQjggKi8gICAgMHg5QSwgMHgwNiwgMHhCQiwgMHg0QSwgMHhBMiwgMHhCNSwg MHhEMSwgMHg4NiwgCiAgICAgICAgICAgICAgICAgICAgLyogMDBDMCAqLyAgICAweEEyLCAweDFC LCAweDgwLCAweEYxLCAweDgxLCAweDAwLCAweDAxLCAweDA4LCAKICAgICAgICAgICAgICAgICAg ICAvKiAwMEM4ICovICAgIDB4OTEsIDB4NkIsIDB4OTEsIDB4MzYsIDB4NjQsIDB4MUEsIDB4ODMs IDB4NDUsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwRDAgKi8gICAgMHg4NCwgMHhEMCwgMHg1 MywgMHg4MywgMHgwRiwgMHhCOSwgMHgxMCwgMHg4RCwgCiAgICAgICAgICAgICAgICAgICAgLyog MDBEOCAqLyAgICAweDgyLCAweDAwLCAweDAxLCAweDA4LCAweDQ1LCAweERELCAweDIzLCAweDU5 LCAKICAgICAgICAgICAgICAgICAgICAvKiAwMEUwICovICAgIDB4ODAsIDB4MDQsIDB4RDUsIDB4 NEUsIDB4QjYsIDB4MUEsIDB4QzksIDB4RUMsIAogICAgICAgICAgICAgICAgICAgIC8qIDAwRTgg Ki8gICAgMHg2QywgMHg5MCwgMHhFMiwgMHg2QSwgMHg0MiwgMHg0OCwgMHgwMSwgMHgwMiwgCiAg ICAgICAgICAgICAgICAgICAgLyogMDBGMCAqLyAgICAweDk3LCAweDEzLCAweEFBLCAweEZBLCAw eDg4LCAweDExLCAweDhGLCAweDQ0LCAKICAgICAgICAgICAgICAgICAgICAvKiAwMEY4ICovICAg IDB4ODUsIDB4MTYsIDB4OUEsIDB4MDcsIDB4OTgsIDB4N0QsIDB4RDMsIDB4OEEsIAogICAgICAg ICAgICAgICAgICAgIC8qIDAxMDAgKi8gICAgMHg0MiwgMHg0OSwgMHgwMSwgMHgwMgogICAgICAg ICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoV1FBQSwgMSwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBQUYxICgpCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEFBRFMsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChCVUZGKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoV01CQSwg MywgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJ ZiAoTEFuZCAoTEdyZWF0ZXJFcXVhbCAoQXJnMSwgMHgwQyksIExMZXNzRXF1YWwgKEFyZzEsIDB4 MEUpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFowMDIg KEFyZzEpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoQXJnMSwgMHgwNCkpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBaMDAyIChBcmcxKQog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTEdyZWF0ZXJFcXVhbCAoQXJnMSwgMHgw OCksIExMZXNzRXF1YWwgKEFyZzEsIDB4MEEpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFowMDIgKEFyZzEpCiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoQlVGRikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKEFyZzEsIDB4MDcpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEFyZzIsIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIElm IChCRjAwKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoT25lLCBCQUVGKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJBRUYpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCVUZGKQogICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBaMDAzIChBcmcxLCBBcmcyKQogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoQlVGRikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9X RUQsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoQXJnMCwgMHg4MSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKFowMDUgKCkpCiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKEJBRUYsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMT3IgKExFcXVhbCAoQXJnMCwg MHg4MCksIExFcXVhbCAoQXJnMCwgMHg4MikpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoWjAwNSAoKSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkYpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChXTUJCLCAzLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9UXzAsIFpl cm8pCiAgICAgICAgICAgICAgICAgICAgQW5kIChBcmcxLCAweDAwRkZGRkZGLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgX1RfMCkKICAgICAgICAgICAgICAgICAg ICBJZiAoTE5vdEVxdWFsIChNYXRjaCAoUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT25lLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgTUVRLCBfVF8wLCBNVFIsIFplcm8s IFplcm8pLCBPbmVzKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFowMDYgKEFyZzEsIEFyZzIpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCQlNC LCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDEwMDAsIEJVRkYpCiAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChXTUJDLCAzLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFowMDggKEFyZzEsIEFyZzIp CiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwNSkpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBCVUZGKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCAweDBFKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBCVUZGKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKEFyZzEsIDB4MEEpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKEFyZzEsIE9uZSwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEJDRFMs IFN1YnRyYWN0IChBcmcxLCBPbmUpKSksIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFNoaWZ0UmlnaHQgKERlcmVmT2YgKEluZGV4IChCQ0RTLCBTdWJ0cmFjdCAoQXJn MSwgMHgwQSkpKSwgMHgxMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCVUZGKQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoV01CRCwgMywgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVF8wLCBa ZXJvKQogICAgICAgICAgICAgICAgICAgIEFuZCAoQXJnMSwgMHgwMEZGRkZGRiwgTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIF9UXzApCiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoX1RfMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChBcmcyLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAg ICBaMDA5IChCRjAwKQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKERTWTApCiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90RXF1YWwgKE1hdGNoIChQYWNr YWdlICgweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0sIE1FUSwgX1RfMCwgTVRSLCBaZXJvLCBaZXJvKSwgT25l cykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKEFyZzEsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcyLCBEWTEwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChBcmcyLCBEU1kxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFowMEEgKEFyZzEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKERTWTEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTE5vdEVxdWFsIChNYXRjaCAoUGFja2FnZSAoMHgwMikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA1CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfSwgTUVRLCBfVF8wLCBNVFIsIFplcm8sIFplcm8pLCBP bmVzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoQXJnMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJn MiwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo QkYwMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgMHgxMCwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBaMDBCIChM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3RFcXVhbCAoQkYw MSwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCAweDA0KSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKE9uZSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KF9UXzAsIDB4MDcpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfVFouVEhSTS5fVE1QICgpLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpdmlkZSAoTG9jYWwwLCAw eDBBLCAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KExvY2FsMCwgSW5kZXggKEJDRFMsIDB4MEIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEJDRFMsIDB4MEIpKSwgQlVGRikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDBBKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWjAwRSAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoX1RfMCwgMHgwQikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFy ZzIsIEJCQVIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFNoaWZ0TGVmdCAoQW5kIChCQkExLCAweDBGKSwgMHgwNCksIExvY2FsMSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoQW5kIChCQkEwLCAweDBGKSwg TG9jYWwxLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWjAwNyAoTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQkJQRCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChXTUJFLCAzLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9UXzAs IFplcm8pCiAgICAgICAgICAgICAgICAgICAgQW5kIChBcmcxLCAweDAwRkZGRkZGLCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgX1RfMCkKICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChfVF8wLCBPbmUpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgWjAwRiAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChfVF8wLCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgWjAwRyAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFowMEogKEFyZzIpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KF9UXzAsIDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwSSAoQXJnMikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChfVF8wLCAweDA1KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwSyAoQXJn MikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9U XzAsIDB4MDYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFowMEwgKEFyZzIpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKF9UXzAsIDB4MDcpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWjAwTSAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAw eDA4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwTiAo QXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKF9UXzAsIDB4MDkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFowME8gKEFyZzIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MEEpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWjAwUCAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8w LCAweDBCKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWjAwUSAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MTEpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChQSFNSICgweDBDLCBaZXJvKSwgQlVGRikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoX1RfMCwgMHgxMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhT UiAoMHgwQywgT25lKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChfVF8wLCAweDEzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAw UiAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDAwMDEwMDAwLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZG KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoV01CRiwgMywgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVF8wLCBaZXJvKQog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcyLCBCVUZGKQogICAgICAgICAgICAgICAgICAg IFN0b3JlIChUb0ludGVnZXIgKEFyZzEpLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgQW5k IChBcmcxLCAweDAwRkZGRkZGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExv Y2FsMCwgX1RfMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCBPbmUpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgWjAwUyAoQkYwMCkK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgMHgw MikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFowMFQgKEJGMDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBaMDBVIChCRjAwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWjAwVyAoQkYwMCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDIsIEJGMDApCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoWmVybywgQkYwMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywg QkYwMikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQkYwMykKICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChXTUJHLCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9UXzAsIFplcm8pCiAgICAgICAgICAgICAgICAgICAgQW5kIChB cmcxLCAweDAwRkZGRkZGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2Fs MCwgX1RfMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCBPbmUpKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzIsIEJV RkYpCiAgICAgICAgICAgICAgICAgICAgICAgIFowMFggKEJGMDApCiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDIpKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBaMDBZICgpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMDAx MDAwMCwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJGMDEpCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIEJGMDIpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IEJGMDMpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoV01CSCwgMywgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVF8zLCBaZXJvKQogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9UXzIsIFplcm8pCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X1RfMSwgWmVybykKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVF8wLCBaZXJvKQogICAgICAg ICAgICAgICAgICAgIEFuZCAoQXJnMSwgMHgwMEZGRkZGRiwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChMb2NhbDAsIF9UXzApCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoX1RfMCwgT25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChBcmcyLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICBBbmQgKEJGMDAs IDB4MEYsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMSwgX1Rf MSkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMSwgWmVybykpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQ SFNSICgweDFBLCBPbmUpLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMSwgT25lKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhT UiAoMHgxQiwgT25lKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMDAxMDAwMCwgQlVGRikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgWE9yIChBbmQgKEJGMDAsIE9uZSksIE9uZSwgQkYwMCkK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAyKSkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzIsIFBTV0Qp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUFdEMCwgTG9jYWwxKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBXRDEsIEJMSzApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoUFdEMiwgQkxLMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChMb2NhbDEsIF9UXzIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChfVF8yLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoUFdEMiwgMHhGRikpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoUEhTUiAoMHgxQSwgMHgwMiksIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChQSFNSICgweDFBLCBaZXJvKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMiwgT25lKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMQW5kIChQV0QyLCAweEZGKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBI U1IgKDB4MUIsIDB4MDIpLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MUIsIFplcm8pLCBCVUZGKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAwMDEwMDAwLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMiwgUFNXRCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUFdEMCwgTG9jYWwxKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQV0QxLCBCTEswKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChQV0QyLCBCTEsxKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChMb2NhbDEsIF9UXzMpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoX1RfMywgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhT UiAoMHgxQSwgMHgwMyksIEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKF9UXzMsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDFCLCAw eDAzKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAwMDEwMDAwLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwg MHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQSFNSICgweDExLCBaZXJvKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoQkxLMCwgV0VSMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKEJMSzEsIFdFUjEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBXRVIzKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKFdFUkMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKF9UXzAsIDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMiwgU0JT USkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChTQlMwLCBC TEswKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNCUzEs IEJMSzEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQSFNSICgweDEx LCBPbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVy bywgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo QlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKF9UXzAsIDB4MEEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNS ICgweDExLCAweDAyKSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAwMTAwMDAsIEJVRkYpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo V01CSSwgMywgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBOYW1lIChfVF8wLCBaZXJvKQogICAgICAgICAgICAgICAgICAgIEFuZCAoQXJnMSwgMHgw MEZGRkZGRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIF9UXzAp CiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwgT25lKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChQSFNSICgweDEyLCAweDAy KSwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDAyKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFpl cm8sIEJMSzApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQkxLMSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCTEsyKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEJMSzMpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQSFNSICgweDEzLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEJMSzAsIFBSRDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQkxLMSwg UFJENCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTEsyLCBQUkQ1KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEJMSzMsIFBSRDYpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgyMCwgUFJEMikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChaZXJvLCBQUkQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIFBSRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBSRFQpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChfVF8wLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgxNCwgMHgwMiksIEJVRkYpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUZGKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKF9UXzAsIDB4MDYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MTUsIDB4 MDIpLCBCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJV RkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDcpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgxNiwgMHgwMiksIEJVRkYpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChfVF8wLCAweDA4 KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgxNywgMHgwMiks IEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChCVUZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDkpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MTgsIDB4MDIpLCBCVUZGKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRkYpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MEEpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUEhTUiAoMHgxOSwgMHgwMiksIEJVRkYp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEJVRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMDAx MDAwMCwgQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoQlVGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQog ICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoX1RaKQogICAgewogICAgICAgIFRoZXJtYWxab25l IChUSFJNKQogICAgICAgIHsKICAgICAgICAgICAgTWV0aG9kIChfVE1QLCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoXF9TQi5FQ09LKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKFxfU0IuUENJMC5MUENCLkVD MC5NVVQxLCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5MUENC LkVDMC5DVE1QLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXF9TQi5QQ0kw LkxQQ0IuRUMwLk1VVDEpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBZGQgKE11bHRpcGx5 IChMb2NhbDAsIDB4MEEpLCAweDBBQUMpKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw QzNDKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2Qg KF9QU1YsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKFxfU0IuTU9ETCwgWmVybykpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoXF9TQi5aMDAwLCBPbmUpKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBFOTQpCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRTYyKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChcX1NCLlowMDAsIE9uZSkpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEVDNikK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBFNEUpCiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAg ICAgICBOYW1lIChfUFNMLCBQYWNrYWdlICgweDAxKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBcX1BSLkNQVTAKICAgICAgICAgICAgfSkKICAgICAgICAgICAgTmFtZSAoX1RTUCwgMHgy OCkKICAgICAgICAgICAgTmFtZSAoX1RDMSwgMHgwMikKICAgICAgICAgICAgTmFtZSAoX1RDMiwg MHgwMykKICAgICAgICAgICAgTWV0aG9kIChfQ1JULCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChcX1NCLk1PREwsIFplcm8pKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFxfU0IuWjAwMCwg T25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwRUIyKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MEU5NCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoXF9TQi5aMDAwLCBPbmUpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDBFRTQpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwRTYyKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoX1NCKQogICAgewog ICAgICAgIE5hbWUgKFBSMDAsIFBhY2thZ2UgKDB4MUIpCiAgICAgICAgewogICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDNGRkZGLCAK ICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgTE5LQSwgCiAgICAgICAgICAg ICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAzRkZGRiwgCiAgICAgICAgICAgICAgICBP bmUsIAogICAgICAgICAgICAgICAgTE5LQiwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgMHgwMDAzRkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAg ICAgIExOS0MsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwM0ZG RkYsIAogICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBMTktELCAKICAgICAg ICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0 KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAg ICAgIFplcm8sIAogICAgICAgICAgICAgICAgTE5LQSwgCiAgICAgICAgICAgICAgICBaZXJvCiAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHgwMDAxRkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAg ICAgICAgICAgTE5LQiwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgw MDAxRkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIExOS0MsIAog ICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAg ICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBMTktELCAKICAgICAgICAgICAgICAgIFpl cm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgIFplcm8sIAog ICAgICAgICAgICAgICAgTE5LQSwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgMHgwMDFGRkZGRiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExO S0YsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAog ICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIExOS0QsIAogICAgICAgICAgICAg ICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAogICAgICAgICAgICAgICAgMHgw MiwgCiAgICAgICAgICAgICAgICBMTktELCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweDAwMUZGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAg ICAgTE5LQSwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFERkZG RiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExOS0gsIAogICAgICAg ICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIAogICAgICAgICAgICAg ICAgT25lLCAKICAgICAgICAgICAgICAgIExOS0QsIAogICAgICAgICAgICAgICAgWmVybwogICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIDB4MDAxREZGRkYsIAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAg ICAgICAgICBMTktDLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAw MURGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgTE5LQSwgCiAg ICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFBRkZGRiwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExOS0EsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4MDAxQUZGRkYsIAogICAgICAgICAgICAgICAgT25lLCAKICAg ICAgICAgICAgICAgIExOS0YsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAK CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IDB4MDAxQUZGRkYsIAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICBMTktE LCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMUFGRkZGLCAKICAg ICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgTE5LQywgCiAgICAgICAgICAgICAg ICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFCRkZGRiwgCiAgICAgICAgICAgICAgICBaZXJv LCAKICAgICAgICAgICAgICAgIExOS0csIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIDB4MDAxQ0ZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAg ICBMTktCLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMUNGRkZG LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBMTktBLCAKICAgICAgICAg ICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMUNGRkZGLCAKICAgICAgICAgICAgICAg IDB4MDIsIAogICAgICAgICAgICAgICAgTE5LQywgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgMHgwMDFDRkZGRiwgCiAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAg ICAgICAgIExOS0QsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAx OUZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBMTktFLCAKICAg ICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAo QVIwMCwgUGFja2FnZSAoMHgxQikKICAgICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwM0ZGRkYsIAogICAgICAgICAgICAg ICAgWmVybywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTAKICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAweDAwMDNGRkZGLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAw MDNGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgWmVybywgCiAg ICAgICAgICAgICAgICAweDEyCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAzRkZGRiwgCiAgICAgICAg ICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgx MwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAg ICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTAKICAgICAgICAgICAgfSwg CgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBaZXJv LCAKICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAg ICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAg ICAweDEyCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAxRkZGRiwgCiAgICAgICAgICAgICAgICAweDAz LCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMwogICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIDB4MDAwMkZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAg ICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTAKICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMUZGRkZG LCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAg ICAgICAgICAweDE1CiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFGRkZGRiwgCiAgICAgICAgICAgICAg ICBPbmUsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEzCiAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgMHgwMDFGRkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAg ICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMwogICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAx RkZGRkYsIAogICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAg ICAgICAgICAgICAgIDB4MTAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMURGRkZGLCAKICAgICAgICAg ICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDE3 CiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAg ICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg MHgwMDFERkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIFplcm8s IAogICAgICAgICAgICAgICAgMHgxMgogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIAogICAg ICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAg IDB4MTAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAweDAwMUFGRkZGLCAKICAgICAgICAgICAgICAgIFplcm8s IAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEwCiAgICAgICAgICAg IH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgMHgwMDFBRkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAg WmVybywgCiAgICAgICAgICAgICAgICAweDE1CiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFBRkZGRiwg CiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAg ICAgICAgMHgxMwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxQUZGRkYsIAogICAgICAgICAgICAgICAg MHgwMywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTIKICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweDAwMUJGRkZGLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDE2CiAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDFD RkZGRiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAg ICAgICAgICAgICAgMHgxMQogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAxQ0ZGRkYsIAogICAgICAgICAg ICAgICAgT25lLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMAog ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIDB4MDAxQ0ZGRkYsIAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAg ICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTIKICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAw eDAwMUNGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgWmVybywg CiAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDE5RkZGRiwgCiAgICAg ICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAg MHgxNAogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChQUjAyLCBQYWNrYWdl ICgweDA0KQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAg ICAgICAgICAgTE5LQSwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhG RkZGLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBMTktCLCAKICAgICAg ICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0 KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAg MHgwMiwgCiAgICAgICAgICAgICAgICBMTktDLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAg ICBMTktELCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfQogICAgICAgIH0pCiAg ICAgICAgTmFtZSAoQVIwMiwgUGFja2FnZSAoMHgwNCkKICAgICAgICB7CiAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAg ICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAg MHgxMAogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAg ICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDExCiAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg MHhGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgWmVybywgCiAg ICAgICAgICAgICAgICAweDEyCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAg ICAgIDB4MDMsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEzCiAg ICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKFBSMDQsIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAg ICBMTktBLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAog ICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIExOS0IsIAogICAgICAgICAgICAg ICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAK ICAgICAgICAgICAgICAgIExOS0MsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgIExOS0Qs IAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBO YW1lIChBUjA0LCBQYWNrYWdlICgweDA0KQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAg ICAgIFplcm8sIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEwCiAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAg ICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYs IAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAg ICAgICAgIDB4MTIKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgMHgw MywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTMKICAgICAgICAg ICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoUFIwNSwgUGFja2FnZSAoMHgwNCkKICAgICAg ICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExOS0Is IAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAg ICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgTE5LQywgCiAgICAgICAgICAgICAgICBaZXJv CiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAg ICAgICAgICAgTE5LRCwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhG RkZGLCAKICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgTE5LQSwgCiAgICAg ICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKEFS MDUsIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgWmVy bywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIFpl cm8sIAogICAgICAgICAgICAgICAgMHgxMgogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAg ICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAg MHgxMwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAzLCAKICAg ICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMAogICAgICAgICAgICB9CiAg ICAgICAgfSkKICAgICAgICBOYW1lIChQUjA2LCBQYWNrYWdlICgweDA0KQogICAgICAgIHsKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhG RkZGLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgTE5LRCwgCiAgICAg ICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAg IE9uZSwgCiAgICAgICAgICAgICAgICBMTktBLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAg ICBMTktCLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAog ICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBMTktDLCAKICAgICAgICAgICAg ICAgIFplcm8KICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoQVIwNiwgUGFj a2FnZSAoMHgwNCkKICAgICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAg ICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMgogICAgICAgICAgICB9LCAK CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IDB4RkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgWmVybywgCiAg ICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAg ICAgIDB4MDIsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEwCiAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDExCiAgICAgICAgICAgIH0KICAgICAgICB9 KQogICAgICAgIE5hbWUgKFBSMDcsIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgewogICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAog ICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBMTktBLCAKICAgICAgICAgICAg ICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgT25lLCAK ICAgICAgICAgICAgICAgIExOS0IsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIExOS0Ms IAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAg ICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgIExOS0QsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChBUjA3LCBQYWNrYWdlICgw eDA0KQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZG LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAg ICAgICAgIDB4MTAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgMHgw MiwgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBa ZXJvLCAKICAgICAgICAgICAgICAgIDB4MTIKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAg ICAgTmFtZSAoUFIwOCwgUGFja2FnZSAoMHgwNCkKICAgICAgICB7CiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExOS0IsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAg ICAgICAgICAgTE5LQywgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhG RkZGLCAKICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgTE5LRCwgCiAgICAg ICAgICAgICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAg IDB4MDMsIAogICAgICAgICAgICAgICAgTE5LQSwgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAg ICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKEFSMDgsIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBa ZXJvLCAKICAgICAgICAgICAgICAgIDB4MTAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweEZGRkYsIAogICAg ICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAg MHgxMQogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAg ICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMgogICAgICAgICAgICB9LCAK CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IDB4RkZGRiwgCiAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgIFplcm8sIAog ICAgICAgICAgICAgICAgMHgxMwogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1l IChQUjAxLCBQYWNrYWdlICgweDA2KQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDA0RkZGRiwgCiAgICAgICAgICAg ICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIExOS0UsIAogICAgICAgICAgICAgICAgWmVybwog ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIDB4MDAwNEZGRkYsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAg ICAgICAgICAgIExOS0UsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4 MDAwNEZGRkYsIAogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICBMTktFLCAK ICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAKICAgICAg ICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgTE5LRSwgCiAgICAgICAgICAgICAgICBa ZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgMHgwMDA1RkZGRiwgCiAgICAgICAgICAgICAgICBaZXJvLCAK ICAgICAgICAgICAgICAgIExOS0YsIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIDB4MDAwN0ZGRkYsIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBM TktHLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAg ICAgTmFtZSAoQVIwMSwgUGFja2FnZSAoMHgwMSkKICAgICAgICB7CiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwNEZGRkYsIAogICAg ICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAg IDB4MTAKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoUFJTQSwgUmVzb3Vy Y2VUZW1wbGF0ZSAoKQogICAgICAgIHsKICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93 LCBTaGFyZWQsICkKICAgICAgICAgICAgICAgIHszLDQsNSw2LDcsMTAsMTEsMTIsMTQsMTV9CiAg ICAgICAgfSkKICAgICAgICBBbGlhcyAoUFJTQSwgUFJTQikKICAgICAgICBBbGlhcyAoUFJTQSwg UFJTQykKICAgICAgICBBbGlhcyAoUFJTQSwgUFJTRCkKICAgICAgICBBbGlhcyAoUFJTQSwgUFJT RSkKICAgICAgICBBbGlhcyAoUFJTQSwgUFJTRikKICAgICAgICBBbGlhcyAoUFJTQSwgUFJTRykK ICAgICAgICBBbGlhcyAoUFJTQSwgUFJTSCkKICAgICAgICBOYW1lIChFQ09LLCBaZXJvKQogICAg ICAgIERldmljZSAoUENJMCkKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJ ZCAoIlBOUDBBMDgiKSkKICAgICAgICAgICAgTmFtZSAoX0NJRCwgRWlzYUlkICgiUE5QMEEwMyIp KQogICAgICAgICAgICBOYW1lIChfQURSLCBaZXJvKQogICAgICAgICAgICBNZXRob2QgKF5CTjAw LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4g KFplcm8pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX0JCTiwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChCTjAwICgpKQog ICAgICAgICAgICB9CgogICAgICAgICAgICBOYW1lIChfVUlELCBaZXJvKQogICAgICAgICAgICBN ZXRob2QgKF9QUlQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIElmIChQSUNNKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVy biAoQVIwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBSZXR1cm4gKFBSMDAp CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoSEJVUywgUENJX0Nv bmZpZywgMHg0MCwgMHhDMCkKICAgICAgICAgICAgRmllbGQgKEhCVVMsIERXb3JkQWNjLCBOb0xv Y2ssIFByZXNlcnZlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBFUEVOLCAgIDEsIAog ICAgICAgICAgICAgICAgICAgICwgICAxMSwgCiAgICAgICAgICAgICAgICBFUEJSLCAgIDIwLCAK ICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA4KSwgCiAgICAgICAgICAgICAgICBN SEVOLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICwgICAxMywgCiAgICAgICAgICAgICAgICBN SEJSLCAgIDE4LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE0KSwgCiAgICAg ICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgUEVHQSwgICAxLCAKICAgICAg ICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICBJR0RFLCAgIDEsIAogICAgICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjApLCAKICAgICAgICAgICAgICAgIFBYRU4sICAg MSwgCiAgICAgICAgICAgICAgICBQWFNaLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICwgICAy MywgCiAgICAgICAgICAgICAgICBQWEJSLCAgIDYsIAogICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MjgpLCAKICAgICAgICAgICAgICAgIERJRU4sICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgLCAgIDExLCAKICAgICAgICAgICAgICAgIERJQlIsICAgMjAsIAogICAgICAgICAgICAg ICAgICAgICAgICBPZmZzZXQgKDB4MzApLCAKICAgICAgICAgICAgICAgIElQRU4sICAgMSwgCiAg ICAgICAgICAgICAgICAgICAgLCAgIDExLCAKICAgICAgICAgICAgICAgIElQQlIsICAgMjAsIAog ICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NTApLCAKICAgICAgICAgICAgICAgICAg ICAsICAgNCwgCiAgICAgICAgICAgICAgICBQTTBILCAgIDIsIAogICAgICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4NTEpLCAKICAgICAgICAgICAgICAgIFBNMUwsICAgMiwgCiAgICAgICAg ICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgUE0xSCwgICAyLCAKICAgICAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDUyKSwgCiAgICAgICAgICAgICAgICBQTTJMLCAgIDIs IAogICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgIFBNMkgsICAgMiwg CiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1MyksIAogICAgICAgICAgICAgICAg UE0zTCwgICAyLCAKICAgICAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICBQ TTNILCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NTQpLCAKICAgICAg ICAgICAgICAgIFBNNEwsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAg ICAgICAgICAgUE00SCwgICAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDU1 KSwgCiAgICAgICAgICAgICAgICBQTTVMLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICwgICAy LCAKICAgICAgICAgICAgICAgIFBNNUgsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHg1NiksIAogICAgICAgICAgICAgICAgUE02TCwgICAyLCAKICAgICAgICAgICAgICAg ICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICBQTTZILCAgIDIsIAogICAgICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4NTcpLCAKICAgICAgICAgICAgICAgICAgICAsICAgNywgCiAgICAg ICAgICAgICAgICBIRU5BLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 NjIpLCAKICAgICAgICAgICAgICAgIFRVVUQsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4NzApLCAKICAgICAgICAgICAgICAgICAgICAsICAgNCwgCiAgICAgICAgICAg ICAgICBUTFVELCAgIDEyLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDg5KSwg CiAgICAgICAgICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgR1RTRSwgICAxLCAK ICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDhBKQogICAgICAgICAgICB9CgogICAg ICAgICAgICBPcGVyYXRpb25SZWdpb24gKE1DSFQsIFN5c3RlbU1lbW9yeSwgMHhGRUQxMTAwMCwg MHhGRikKICAgICAgICAgICAgRmllbGQgKE1DSFQsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDFFKSwgCiAg ICAgICAgICAgICAgICBUMElTLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDVFKSwgCiAgICAgICAgICAgICAgICBUMUlTLCAgIDE2LCAKICAgICAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweEVGKSwgCiAgICAgICAgICAgICAgICBFU0NTLCAgIDgKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgTmFtZSAoQlVGMCwgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBXb3JkQnVzTnVtYmVyIChSZXNvdXJjZVByb2R1Y2VyLCBN aW5GaXhlZCwgTWF4Rml4ZWQsIFBvc0RlY29kZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAs ICAgICAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwLCAg ICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMEZGLCAg ICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwLCAg ICAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAx MDAsICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICkKICAgICAg ICAgICAgICAgIERXb3JkSU8gKFJlc291cmNlUHJvZHVjZXIsIE1pbkZpeGVkLCBNYXhGaXhlZCwg UG9zRGVjb2RlLCBFbnRpcmVSYW5nZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAg ICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAg ICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMENGNywgICAg ICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAg ICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAwQ0Y4 LCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgVHlwZVN0YXRpYykK ICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAweDBDRjgs ICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDBDRjgs ICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAweDAxLCAg ICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgIDB4MDgsICAgICAg ICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAg RFdvcmRJTyAoUmVzb3VyY2VQcm9kdWNlciwgTWluRml4ZWQsIE1heEZpeGVkLCBQb3NEZWNvZGUs IEVudGlyZVJhbmdlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8g R3JhbnVsYXJpdHkKICAgICAgICAgICAgICAgICAgICAweDAwMDAwRDAwLCAgICAgICAgIC8vIFJh bmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMDBGRkZGLCAgICAgICAgIC8vIFJh bmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIFRy YW5zbGF0aW9uIE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMEYzMDAsICAgICAgICAg Ly8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgLCwgLCBUeXBlU3RhdGljKQogICAgICAgICAg ICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQs IE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAw MDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBB MDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBC RkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAw MDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAw eDAwMDIwMDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRk cmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkg KFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFi bGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8v IEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBDMDAwMCwgICAgICAgICAvLyBS YW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBDM0ZGRiwgICAgICAgICAvLyBS YW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBU cmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAg IC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBU eXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIs IFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAg ICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAg ICAgICAgICAgICAgICAgMHgwMDBDNDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAg ICAgICAgICAgICAgICAgMHgwMDBDN0ZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQK ICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAg ICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAg ICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4 ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAw eDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgw MDBDODAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgw MDBDQkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAg ICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwg QWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1v cnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNo ZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAg IC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBDQzAwMCwgICAgICAgICAv LyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBDRkZGRiwgICAgICAgICAv LyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAv LyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAg ICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5 LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVj ZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwK ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAg ICAgICAgICAgICAgICAgICAgMHgwMDBEMDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAg ICAgICAgICAgICAgICAgICAgMHgwMDBEM0ZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAg ICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZz ZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAg ICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAg ICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWlu Rml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAg ICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAg MHgwMDBENDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAg MHgwMDBEN0ZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAg MHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAg ICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICws ICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRN ZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBD YWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAg ICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBEODAwMCwgICAgICAg ICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBEQkZGRiwgICAgICAg ICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAg ICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAg ICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVt b3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJv ZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0 ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5 CiAgICAgICAgICAgICAgICAgICAgMHgwMDBEQzAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVt CiAgICAgICAgICAgICAgICAgICAgMHgwMDBERkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVt CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBP ZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAog ICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQog ICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwg TWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAg ICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAg ICAgMHgwMDBFMDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAg ICAgMHgwMDBFM0ZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAg ICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAg ICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdv cmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVk LCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAg ICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBFNDAwMCwgICAg ICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBFN0ZGRiwgICAg ICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAg ICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAw LCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1Jhbmdl TWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNl UHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRX cml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFy aXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBFODAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5p bXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBFQkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhp bXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlv biBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0 aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGlj KQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29k ZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAg ICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAg ICAgICAgMHgwMDBFQzAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAg ICAgICAgMHgwMDBFRkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAg ICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAg ICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAg RFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZp eGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAw LCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBGMDAwMCwg ICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBGRkZGRiwg ICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwg ICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDEw MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1Jh bmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291 cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJl YWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51 bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBSYW5nZSBN aW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHhERkZGRkZGRiwgICAgICAgICAvLyBSYW5nZSBN YXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xh dGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIExl bmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3Rh dGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0Rl Y29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAg ICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAg ICAgICAgICAgMHhGMDAwMDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAg ICAgICAgICAgMHhGRUJGRkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAg ICAgICAgICAgICAgICAweDBFQzAwMDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAg ICAgICAgICwsICwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAg ICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1h eEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAw MDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHhGRUQ0MDAw MCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHhGRUQ0NEZG RiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAw MCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAw MDAwMDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICwsICwgQWRkcmVz c1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICB9KQogICAgICAgICAgICBNZXRo b2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElm IChQTTFMKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3Jk RmllbGQgKEJVRjAsIDB4N0MsIEMwTE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IEMwTE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0x TCwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRG aWVsZCAoQlVGMCwgMHgwMzU4LCBDMFJXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJv LCBDMFJXKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTFIKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAs IDB4OTYsIEM0TE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEM0TE4pCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0xSCwgT25lKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwg MHgwNDI4LCBDNFJXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDNFJXKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTJMKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4QjAsIEM4TE4p CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEM4TE4pCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0yTCwgT25lKSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgwNEY4LCBDOFJX KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDOFJXKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIElmIChQTTJIKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4Q0EsIENDTE4pCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFplcm8sIENDTE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoUE0ySCwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgwNUM4LCBDQ1JXKQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChaZXJvLCBDQ1JXKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIElmIChQTTNMKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENy ZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4RTQsIEQwTE4pCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIEQwTE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoUE0zTCwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBD cmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgwNjk4LCBEMFJXKQogICAgICAgICAgICAgICAgICAgIFN0 b3JlIChaZXJvLCBEMFJXKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQ TTNIKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKEJVRjAsIDB4RkUsIEQ0TE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEQ0 TE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0zSCwg T25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVs ZCAoQlVGMCwgMHgwNzY4LCBENFJXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBE NFJXKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTRMKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4 MDExOCwgRDhMTikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRDhMTikKICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTRMLCBPbmUpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAw eDA4MzgsIEQ4UlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEQ4UlcpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFBNNEgpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMTMyLCBEQ0xO KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBEQ0xOKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBNNEgsIE9uZSkpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKEJVRjAsIDB4MDkwOCwgRENS VykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRENSVykKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBJZiAoUE01TCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDAxNEMsIEUwTE4pCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFplcm8sIEUwTE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoUE01TCwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgMHgwOUQ4LCBFMFJXKQogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBFMFJXKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIElmIChQTTVIKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MDE2NiwgRTRMTikKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgRTRMTikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChQTTVILCBPbmUpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDBBQTgsIEU0UlcpCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKFplcm8sIEU0UlcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg SWYgKFBNNkwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdv cmRGaWVsZCAoQlVGMCwgMHgwMTgwLCBFOExOKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICha ZXJvLCBFOExOKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KFBNNkwsIE9uZSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRl Qml0RmllbGQgKEJVRjAsIDB4MEI3OCwgRThSVykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo WmVybywgRThSVykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoUE02SCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChC VUYwLCAweDAxOUEsIEVDTE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEVDTE4p CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE02SCwgT25l KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAo QlVGMCwgMHgwQzQ4LCBFQ1JXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBFQ1JX KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTBIKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MDFC NCwgRjBMTikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgRjBMTikKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTBILCBPbmUpKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDBE MTgsIEYwUlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEYwUlcpCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUMy LCBNMU1OKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUM2LCBN MU1YKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUNFLCBNMUxO KQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMURDLCBNMk1OKQog ICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUUwLCBNMk1YKQogICAg ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUU4LCBNMkxOKQogICAgICAg ICAgICAgICAgU2hpZnRMZWZ0IChQWEJSLCAweDFBLCBNMU1YKQogICAgICAgICAgICAgICAgU2hp ZnRSaWdodCAoMHgxMDAwMDAwMCwgUFhTWiwgTG9jYWwwKQogICAgICAgICAgICAgICAgQWRkIChN MU1YLCBMb2NhbDAsIE0yTU4pCiAgICAgICAgICAgICAgICBBZGQgKFN1YnRyYWN0IChNMk1YLCBN Mk1OKSwgT25lLCBNMkxOKQogICAgICAgICAgICAgICAgU3VidHJhY3QgKE0xTVgsIE9uZSwgTTFN WCkKICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoVExVRCwgMHgxNCwgTTFNTikKICAgICAgICAg ICAgICAgIEFkZCAoU3VidHJhY3QgKE0xTVgsIE0xTU4pLCBPbmUsIE0xTE4pCiAgICAgICAgICAg ICAgICBSZXR1cm4gKEJVRjApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKFBOTFQs IEJ1ZmZlciAoMHgwQSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLyogMDAwMCAqLyAg ICAweDE1LCAweDIyLCAweDMyLCAweDQzLCAweDU0LCAweDY1LCAweDc3LCAweDg5LCAKICAgICAg ICAgICAgICAgIC8qIDAwMDggKi8gICAgMHg5OCwgMHhBOQogICAgICAgICAgICB9KQogICAgICAg ICAgICBNZXRob2QgKENSQkwsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIFN0b3JlIChPciAoRGVyZWZPZiAoSW5kZXggKFBOTFQsIFplcm8pKSwgU2hpZnRM ZWZ0IChPciAoRGVyZWZPZiAoCiAgICAgICAgICAgICAgICAgICAgSW5kZXggKE9CQ0wsIDB4MDIp KSwgMHg4MCksIDB4MDgpKSwgXkdGWDAuQkxNMCkKICAgICAgICAgICAgICAgIFN0b3JlIChPciAo RGVyZWZPZiAoSW5kZXggKFBOTFQsIE9uZSkpLCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgKICAg ICAgICAgICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgwMykpLCAweDgwKSwgMHgwOCkpLCBeR0ZY MC5CTE0xKQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChEZXJlZk9mIChJbmRleCAoUE5MVCwg MHgwMikpLCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgKICAgICAgICAgICAgICAgICAgICBJbmRl eCAoT0JDTCwgMHgwNCkpLCAweDgwKSwgMHgwOCkpLCBeR0ZYMC5CTE0yKQogICAgICAgICAgICAg ICAgU3RvcmUgKE9yIChEZXJlZk9mIChJbmRleCAoUE5MVCwgMHgwMykpLCBTaGlmdExlZnQgKE9y IChEZXJlZk9mICgKICAgICAgICAgICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgwNSkpLCAweDgw KSwgMHgwOCkpLCBeR0ZYMC5CTE0zKQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChEZXJlZk9m IChJbmRleCAoUE5MVCwgMHgwNCkpLCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgKICAgICAgICAg ICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgwNikpLCAweDgwKSwgMHgwOCkpLCBeR0ZYMC5CTE00 KQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChEZXJlZk9mIChJbmRleCAoUE5MVCwgMHgwNSkp LCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgKICAgICAgICAgICAgICAgICAgICBJbmRleCAoT0JD TCwgMHgwNykpLCAweDgwKSwgMHgwOCkpLCBeR0ZYMC5CTE01KQogICAgICAgICAgICAgICAgU3Rv cmUgKE9yIChEZXJlZk9mIChJbmRleCAoUE5MVCwgMHgwNikpLCBTaGlmdExlZnQgKE9yIChEZXJl Zk9mICgKICAgICAgICAgICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgwOCkpLCAweDgwKSwgMHgw OCkpLCBeR0ZYMC5CTE02KQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChEZXJlZk9mIChJbmRl eCAoUE5MVCwgMHgwNykpLCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgKICAgICAgICAgICAgICAg ICAgICBJbmRleCAoT0JDTCwgMHgwOSkpLCAweDgwKSwgMHgwOCkpLCBeR0ZYMC5CTE03KQogICAg ICAgICAgICAgICAgU3RvcmUgKE9yIChEZXJlZk9mIChJbmRleCAoUE5MVCwgMHgwOCkpLCBTaGlm dExlZnQgKE9yIChEZXJlZk9mICgKICAgICAgICAgICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgw QSkpLCAweDgwKSwgMHgwOCkpLCBeR0ZYMC5CTE04KQogICAgICAgICAgICAgICAgU3RvcmUgKE9y IChEZXJlZk9mIChJbmRleCAoUE5MVCwgMHgwOSkpLCBTaGlmdExlZnQgKE9yIChEZXJlZk9mICgK ICAgICAgICAgICAgICAgICAgICBJbmRleCAoT0JDTCwgMHgwQikpLCAweDgwKSwgMHgwOCkpLCBe R0ZYMC5CTE05KQogICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIF5HRlgwLkJMTVgpCiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKE9CQ0wsIFBhY2thZ2UgKDB4MEMpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4NTAsIAogICAgICAgICAgICAgICAgMHgzMiwgCiAgICAg ICAgICAgICAgICAweDBBLCAKICAgICAgICAgICAgICAgIDB4MTQsIAogICAgICAgICAgICAgICAg MHgxRSwgCiAgICAgICAgICAgICAgICAweDI4LCAKICAgICAgICAgICAgICAgIDB4MzIsIAogICAg ICAgICAgICAgICAgMHgzQywgCiAgICAgICAgICAgICAgICAweDQ2LCAKICAgICAgICAgICAgICAg IDB4NTAsIAogICAgICAgICAgICAgICAgMHg1QSwgCiAgICAgICAgICAgICAgICAweDY0CiAgICAg ICAgICAgIH0pCiAgICAgICAgICAgIERldmljZSAoUEVHUCkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDAxMDAwMCkKICAgICAgICAgICAgICAgIE1ldGhvZCAo X1BSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBJZiAoUElDTSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQVIwMikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoUFIwMikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgSWYgKFBFR0EpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoWmVybykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgRGV2aWNlIChWR0EpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0FEUiwgWmVybykKICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25S ZWdpb24gKFZHQSwgUENJX0NvbmZpZywgWmVybywgMHg0MCkKICAgICAgICAgICAgICAgICAgICBG aWVsZCAoVkdBLCBXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUFZJRCwgICAxNiwgCiAgICAgICAgICAgICAgICAg ICAgICAgIFBESUQsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBEVkNNLCAgIDIKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKFBFR0EsIFplcm8pKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIlVNQSBPbmx5IDogUmV0dXJuIDB4MDEi LCBEZWJ1ZykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKCJEaXNj cmV0ZSBWR0EgX1NUQSA6IFJldHVybiAweDBGIiwgRGVidWcpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QU0MsIFplcm8pCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfUFMwLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKCJWR0EgX1BTMCIsIERl YnVnKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgX1BTQykKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BTMywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgiVkdBIF9QUzMiLCBEZWJ1ZykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDMsIF9QU0MpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9ET1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoIlZHQSBfRE9TIiwgRGVidWcpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChBbmQgKEFyZzAsIDB4MDMpLCBTV0lUKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQXJnMCwgRElTVykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFNoaWZ0UmlnaHQgKEFuZCAoRElTVywgMHgwNCksIDB4MDIpLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgICAgIFBIU1IgKDB4MDQsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RPRCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBWSUQs IDB4MTBERSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgiblZpZGlhIFZHQSBfRE9EIiwgRGVidWcpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoR0kxNykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDIpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAxMTAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEw MTAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KFBhY2thZ2UgKDB4MDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMTAsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDgwMDAwMTAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHg4MDA4NzMzMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFNRCBWR0EgX0RPRCIsIERlYnVnKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAzKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAw MTAxMTAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMTAxMDAsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMTAyMTAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoTENEKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMTEwKQogICAgICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9EQ1MsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQ0RBKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX0RHUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExDREEpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChPbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgiTENEIC0tIF9EU1MiLCBEZWJ1ZykK ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfQkNMLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQk9XTikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKFBFR0EsIFplcm8pKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT0JDTCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFBhY2thZ2UgKDB4MEMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1MCwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgzMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQSwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxNCwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgxRSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgy OCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMiwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgzQywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHg0NiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1MCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHg1QSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHg2NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQkNNLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChCT1dOLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU3VidHJhY3QgKERpdmlk ZSAoQXJnMCwgMHgwQSwgKSwgT25lKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChMb2NhbDAsIEJSVE4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQWNxdWlyZSAoXl5eXkxQQ0IuRUMwLk1VVDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBeXl5eTFBDQi5FQzAuQkxWTCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlICheXl5eTFBDQi5FQzAuTVVUMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChPU1lTLCAweDAzRTgpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKE11bHRpcGx5IChBZGQgKExvY2FsMCwgT25lKSwgMHgxOCksIExvY2Fs MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChMb2Nh bDEsIDB4RkYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhGRiwgTG9jYWwxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwxLCBeXl5eR0ZYMC5MQkVTKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExMZXNzIChPU1lTLCAweDA3RDYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXl5eXl5XTUlE LkJBRUYsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweEM4KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDUsIF5eXl5eV01JRC5XTUlR KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChXTUlELCAw eDgwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCT1dOKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9CUUMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCUlRO LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE11bHRpcGx5IChB ZGQgKExvY2FsMCwgT25lKSwgMHgwQSkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoQ1JUKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMTAw KQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9EQ1MsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChDUlRBKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RHUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKENSVEEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgiQ1JUIC0tIF9E U1MiLCBEZWJ1ZykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChIRE1JKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQURSLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChQVklELCAweDEwREUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHg3MzMwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwMjEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9EQ1MsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChIRE1BKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MUQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RHUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKEhETUEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJv KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgiSERNSSAtLSBfRFNTIiwgRGVidWcpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIERldmljZSAoR0ZYMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAo X0FEUiwgMHgwMDAyMDAwMCkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0lOSSwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25l LCBDTElEKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA1LCBJQklBKQogICAgICAgICAg ICAgICAgICAgIENSQkwgKCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgSWYgKFBFR0EpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwRikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChfRE9TLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBbmQgKEFyZzAsIDB4MDcpLCBEU0VO KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RPRCwgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoU0NJ UCAoKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChaZXJvLCBORElEKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdEVxdWFsIChESURM LCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFNEREwgKERJRDEpLCBESUQxKQogICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdEVxdWFsIChEREwyLCBaZXJvKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFNEREwgKERJRDIpLCBESUQyKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTE5vdEVxdWFsIChEREwzLCBaZXJvKSkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNEREwgKERJRDMp LCBESUQzKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTE5vdEVxdWFsIChEREw0LCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNEREwgKERJRDQpLCBESUQ0KQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdEVx dWFsIChEREw1LCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFNEREwgKERJRDUpLCBESUQ1KQogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChORElELCBPbmUpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgTmFtZSAoVE1QMSwgUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRgogICAgICAgICAgICAg ICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKDB4MDAwMTAw MDAsIERJRDEpLCBJbmRleCAoVE1QMSwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoVE1QMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKE5ESUQsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgTmFtZSAoVE1QMiwgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweEZGRkZGRkZGCiAgICAgICAgICAgICAgICAgICAgICAgIH0p CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPciAoMHgwMDAxMDAwMCwgRElEMSksIElu ZGV4IChUTVAyLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9yICgweDAw MDEwMDAwLCBESUQyKSwgSW5kZXggKFRNUDIsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoVE1QMikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKE5ESUQsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgTmFtZSAoVE1QMywgUGFja2FnZSAoMHgwMykKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweEZGRkZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4RkZGRkZGRkYKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKE9yICgweDAwMDEwMDAwLCBESUQxKSwgSW5kZXggKFRNUDMsIFpl cm8pKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKDB4MDAwMTAwMDAsIERJRDIp LCBJbmRleCAoVE1QMywgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9yICgw eDAwMDEwMDAwLCBESUQzKSwgSW5kZXggKFRNUDMsIDB4MDIpKQogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKFRNUDMpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChORElELCAweDA0KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIE5hbWUgKFRNUDQsIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweEZGRkZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZG RkZGRkYKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKE9yICgweDAwMDEwMDAwLCBESUQxKSwgSW5kZXggKFRNUDQsIFplcm8pKQogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKDB4MDAwMTAwMDAsIERJRDIpLCBJbmRleCAoVE1Q NCwgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9yICgweDAwMDEwMDAwLCBE SUQzKSwgSW5kZXggKFRNUDQsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo T3IgKDB4MDAwMTAwMDAsIERJRDQpLCBJbmRleCAoVE1QNCwgMHgwMykpCiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoVE1QNCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIElmIChMR3JlYXRlciAoTkRJRCwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChUTVA1LCBQYWNrYWdlICgweDA1KQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkZG RkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweEZGRkZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYKICAg ICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9y ICgweDAwMDEwMDAwLCBESUQxKSwgSW5kZXggKFRNUDUsIFplcm8pKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoT3IgKDB4MDAwMTAwMDAsIERJRDIpLCBJbmRleCAoVE1QNSwgT25lKSkK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9yICgweDAwMDEwMDAwLCBESUQzKSwgSW5k ZXggKFRNUDUsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKDB4MDAw MTAwMDAsIERJRDQpLCBJbmRleCAoVE1QNSwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChPciAoMHgwMDAxMDAwMCwgRElENCksIEluZGV4IChUTVA1LCAweDA0KSkKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChUTVA1KQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAxKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNDAwCiAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKEREMDEpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQURSLCAwLCBTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoRElEMSwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBbmQgKDB4RkZGRiwgRElEMSkpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX0RDUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChTQ0lQICgpKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENERFMgKERJRDEp KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJB UCAoVFJUSSwgR0NERCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKENTVEUs IE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDFGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRCkKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfREdTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKFNDSVAgKCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTkREUyAoRElEMSkpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChOU1RF LCBPbmUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfRFNTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChBcmcwLCAweEMwMDAwMDAwKSwgMHhD MDAwMDAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChOU1RFLCBDU1RFKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmlj ZSAoREQwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9B RFIsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChESUQyLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBbmQgKDB4RkZG RiwgRElEMikpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RDUywgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChTQ0lQICgpKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKENERFMgKERJRDIpKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgVFJBUCAoVFJUSSwgR0NERCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChBbmQgKENTVEUsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX0RHUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChTQ0lQICgpKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE5ERFMg KERJRDIpKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKEFuZCAoTlNURSwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJv KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKEFyZzAs IDB4QzAwMDAwMDApLCAweEMwMDAwMDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE5TVEUsIENTVEUpCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX0JDTCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCT1dOKQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChQRUdBLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPQkNMKQogICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MEMp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 NTAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMiwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDBBLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTQsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgxRSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDI4LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzIsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgzQywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQ2LCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTAsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHg1QSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDY0CiAgICAgICAgICAg ICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9CQ00sIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChCT1dOLCBaZXJvKSkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFN1YnRy YWN0IChEaXZpZGUgKEFyZzAsIDB4MEEsICksIE9uZSksIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIEJSVE4pCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBY3F1aXJlICheXl5MUENCLkVDMC5NVVQxLCAweEZGRkYpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBeXl5MUENCLkVDMC5CTFZMKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5eTFBDQi5FQzAuTVVUMSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKE9TWVMsIDB4MDNFOCkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE11bHRp cGx5IChBZGQgKExvY2FsMCwgT25lKSwgMHgxOCksIExvY2FsMSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEdyZWF0ZXIgKExvY2FsMSwgMHhGRikpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHhGRiwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMSwgTEJFUykKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TExlc3MgKE9TWVMsIDB4MDdENikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXl5eXldNSUQuQkFFRiwgT25l KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNsZWVwICgweEM4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwNSwgXl5eXldNSUQuV01JUSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTm90aWZ5IChXTUlELCAweDgwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBCT1dOKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9CUUMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQlJUTiwgTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE11bHRpcGx5IChBZGQgKExvY2FsMCwgT25lKSwg MHgwQSkpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIERldmljZSAoREQwMykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9BRFIsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChESUQzLCBaZXJvKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAzKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChBbmQgKDB4RkZGRiwgRElEMykpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RDUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKERJRDMsIFplcm8pKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoU0NJUCAoKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKENE RFMgKERJRDMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFRSQVAgKFRSVEksIEdDREQpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKEFuZCAoQ1NURSwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MUYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RHUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChTQ0lQICgpKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE5E RFMgKERJRDMpKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKEFuZCAoTlNURSwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICha ZXJvKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKEFy ZzAsIDB4QzAwMDAwMDApLCAweEMwMDAwMDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE5TVEUsIENTVEUpCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgRGV2aWNlIChERDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX0FEUiwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKERJRDQsIFplcm8pKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg RWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKEFuZCAoMHhGRkZGLCBESUQ0KSkKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRENTLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoRElENCwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChTQ0lQICgpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoQ0REUyAoRElENCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBUCAoVFJUSSwgR0NERCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChDU1RFLCAweDA4KSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfREdTLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFNDSVAgKCkp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoTkREUyAoRElENCkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoQW5kIChOU1RFLCAweDA4KSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE9uZSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RTUywgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwg KEFuZCAoQXJnMCwgMHhDMDAwMDAwMCksIDB4QzAwMDAwMDApKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTlNURSwgQ1NURSkKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKEREMDUpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQURSLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoRElENSwgWmVy bykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwNSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQW5kICgweEZGRkYsIERJRDUpKQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9EQ1MsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChESUQ1LCBaZXJvKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFNDSVAgKCkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChDRERTIChESUQ1KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFQIChUUlRJLCBHQ0REKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKENTVEUsIDB4MTApKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDFGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDFEKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ER1MsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo U0NJUCAoKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChORERTIChESUQ1KSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKE5TVEUsIDB4MTApKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo T25lKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRFNTLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoQW5kIChBcmcwLCAweEMwMDAwMDAwKSwgMHhDMDAwMDAwMCkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChOU1RFLCBD U1RFKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoU0RETCwgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQgKE5E SUQpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFuZCAoQXJnMCwgMHgwRjBGKSwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgIE9yICgweDgwMDAwMDAwLCBMb2NhbDAsIExvY2FsMSkKICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChESURMLCBMb2NhbDApKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChEREwyLCBMb2Nh bDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChEREwzLCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChEREw0LCBMb2NhbDApKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChEREw1LCBMb2NhbDAp KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChM b2NhbDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChEREw2LCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChEREw3LCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChEREw4LCBMb2NhbDApKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFpl cm8pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChDRERTLCAxLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChBbmQgKEFyZzAsIDB4MEYwRiksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChaZXJvLCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDFEKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoQ0FETCwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKENBTDIsIExvY2FsMCkpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUYpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChDQUwz LCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDFGKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoQ0FMNCwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKENBTDUsIExvY2FsMCkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUYpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChDQUw2LCBMb2NhbDAp KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDFGKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQ0FMNywgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKENBTDgsIExvY2FsMCkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUYpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChORERTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBbmQgKEFyZzAsIDB4MEYwRiksIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChaZXJvLCBMb2NhbDApKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTkFE TCwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoTkRMMiwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTkRMMywgTG9jYWwwKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTkRMNCwgTG9jYWwwKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25l KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo TkRMNSwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTkRMNiwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTkRMNywgTG9jYWwwKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTkRMOCwgTG9jYWww KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo T25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICha ZXJvKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFNjb3BlICheXlBDSTApCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChNQ0hQ LCBQQ0lfQ29uZmlnLCAweDQwLCAweEMwKQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChNQ0hQ LCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg2MCksIAogICAgICAgICAgICAgICAg ICAgICAgICBUQVNNLCAgIDEwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4NjIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoSUdEUCwgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkK ICAgICAgICAgICAgICAgIEZpZWxkIChJR0RQLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTIp LCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEdJ VkQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAg ICAgICBHVU1BLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE0 KSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICA0LCAKICAgICAgICAgICAgICAgICAgICBH TUZOLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE4KSwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4QTQpLCAKICAgICAgICAgICAgICAg ICAgICBBU0xFLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEE4 KSwgCiAgICAgICAgICAgICAgICAgICAgR1NTRSwgICAxLCAKICAgICAgICAgICAgICAgICAgICBH U1NCLCAgIDE0LCAKICAgICAgICAgICAgICAgICAgICBHU0VTLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweEIwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwg ICAxMiwgCiAgICAgICAgICAgICAgICAgICAgQ0RWTCwgICAxLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE9mZnNldCAoMHhCMiksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweEI0KSwgCiAgICAgICAgICAgICAgICAgICAgTEJFUywgICA4LCAKICAgICAgICAgICAg ICAgICAgICBMQlBDLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgw eEJDKSwgCiAgICAgICAgICAgICAgICAgICAgQVNMUywgICAzMgogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoSUdETSwgU3lzdGVtTWVtb3J5LCBBU0xC LCAweDIwMDApCiAgICAgICAgICAgICAgICBGaWVsZCAoSUdETSwgQW55QWNjLCBOb0xvY2ssIFBy ZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFNJR04sICAgMTI4 LCAKICAgICAgICAgICAgICAgICAgICBTSVpFLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBP VkVSLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBTVkVSLCAgIDI1NiwgCiAgICAgICAgICAg ICAgICAgICAgVlZFUiwgICAxMjgsIAogICAgICAgICAgICAgICAgICAgIEdWRVIsICAgMTI4LCAK ICAgICAgICAgICAgICAgICAgICBNQk9YLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBETU9E LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxMDApLCAKICAg ICAgICAgICAgICAgICAgICBEUkRZLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDU1RTLCAg IDMyLCAKICAgICAgICAgICAgICAgICAgICBDRVZULCAgIDMyLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE9mZnNldCAoMHgxMjApLCAKICAgICAgICAgICAgICAgICAgICBESURMLCAgIDMy LCAKICAgICAgICAgICAgICAgICAgICBEREwyLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBE REwzLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBEREw0LCAgIDMyLCAKICAgICAgICAgICAg ICAgICAgICBEREw1LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBEREw2LCAgIDMyLCAKICAg ICAgICAgICAgICAgICAgICBEREw3LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBEREw4LCAg IDMyLCAKICAgICAgICAgICAgICAgICAgICBDUERMLCAgIDMyLCAKICAgICAgICAgICAgICAgICAg ICBDUEwyLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDUEwzLCAgIDMyLCAKICAgICAgICAg ICAgICAgICAgICBDUEw0LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDUEw1LCAgIDMyLCAK ICAgICAgICAgICAgICAgICAgICBDUEw2LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDUEw3 LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDUEw4LCAgIDMyLCAKICAgICAgICAgICAgICAg ICAgICBDQURMLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDQUwyLCAgIDMyLCAKICAgICAg ICAgICAgICAgICAgICBDQUwzLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDQUw0LCAgIDMy LCAKICAgICAgICAgICAgICAgICAgICBDQUw1LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBD QUw2LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDQUw3LCAgIDMyLCAKICAgICAgICAgICAg ICAgICAgICBDQUw4LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBOQURMLCAgIDMyLCAKICAg ICAgICAgICAgICAgICAgICBOREwyLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBOREwzLCAg IDMyLCAKICAgICAgICAgICAgICAgICAgICBOREw0LCAgIDMyLCAKICAgICAgICAgICAgICAgICAg ICBOREw1LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBOREw2LCAgIDMyLCAKICAgICAgICAg ICAgICAgICAgICBOREw3LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBOREw4LCAgIDMyLCAK ICAgICAgICAgICAgICAgICAgICBBU0xQLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBUSURY LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDSFBELCAgIDMyLCAKICAgICAgICAgICAgICAg ICAgICBDTElELCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBDRENLLCAgIDMyLCAKICAgICAg ICAgICAgICAgICAgICBTWFNXLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBFVlRTLCAgIDMy LCAKICAgICAgICAgICAgICAgICAgICBDTk9ULCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBO UkRZLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyMDApLCAK ICAgICAgICAgICAgICAgICAgICBTQ0lFLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEdFRkMs ICAgNCwgCiAgICAgICAgICAgICAgICAgICAgR1hGQywgICAzLCAKICAgICAgICAgICAgICAgICAg ICBHRVNGLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwNCks IAogICAgICAgICAgICAgICAgICAgIFBBUk0sICAgMzIsIAogICAgICAgICAgICAgICAgICAgIERT TFAsICAgMzIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDMwMCksIAog ICAgICAgICAgICAgICAgICAgIEFSRFksICAgMzIsIAogICAgICAgICAgICAgICAgICAgIEFTTEMs ICAgMzIsIAogICAgICAgICAgICAgICAgICAgIFRDSEUsICAgMzIsIAogICAgICAgICAgICAgICAg ICAgIEFMU0ksICAgMzIsIAogICAgICAgICAgICAgICAgICAgIEJDTFAsICAgMzIsIAogICAgICAg ICAgICAgICAgICAgIFBGSVQsICAgMzIsIAogICAgICAgICAgICAgICAgICAgIENCTFYsICAgMzIs IAogICAgICAgICAgICAgICAgICAgIEJMTTAsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIEJM TTEsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIEJMTTIsICAgMTYsIAogICAgICAgICAgICAg ICAgICAgIEJMTTMsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIEJMTTQsICAgMTYsIAogICAg ICAgICAgICAgICAgICAgIEJMTTUsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIEJMTTYsICAg MTYsIAogICAgICAgICAgICAgICAgICAgIEJMTTcsICAgMTYsIAogICAgICAgICAgICAgICAgICAg IEJMTTgsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIEJMTTksICAgMTYsIAogICAgICAgICAg ICAgICAgICAgIEJMTVgsICAgMTYwLCAKICAgICAgICAgICAgICAgICAgICBDUEZNLCAgIDMyLCAK ICAgICAgICAgICAgICAgICAgICBFUEZNLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBQTFVU LCAgIDU5MiwgCiAgICAgICAgICAgICAgICAgICAgUEZNQiwgICAzMiwgCiAgICAgICAgICAgICAg ICAgICAgQ0NEViwgICAzMiwgCiAgICAgICAgICAgICAgICAgICAgUENGVCwgICAzMiwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NDAwKSwgCiAgICAgICAgICAgICAgICAg ICAgR1ZEMSwgICA0OTE1MiwgCiAgICAgICAgICAgICAgICAgICAgUEhFRCwgICAzMiwgCiAgICAg ICAgICAgICAgICAgICAgQkREQywgICAyMDQ4CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTmFtZSAoREJUQiwgUGFja2FnZSAoMHgxNSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAweDA3LCAKICAgICAgICAg ICAgICAgICAgICAweDM4LCAKICAgICAgICAgICAgICAgICAgICAweDAxQzAsIAogICAgICAgICAg ICAgICAgICAgIDB4MEUwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgzRiwgCiAgICAgICAgICAg ICAgICAgICAgMHgwMUM3LCAKICAgICAgICAgICAgICAgICAgICAweDBFMDcsIAogICAgICAgICAg ICAgICAgICAgIDB4MDFGOCwgCiAgICAgICAgICAgICAgICAgICAgMHgwRTM4LCAKICAgICAgICAg ICAgICAgICAgICAweDBGQzAsIAogICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAg ICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAg ICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAg ICAgIDB4NzAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHg3MDA3LCAKICAgICAgICAgICAgICAg ICAgICAweDcwMzgsIAogICAgICAgICAgICAgICAgICAgIDB4NzFDMCwgCiAgICAgICAgICAgICAg ICAgICAgMHg3RTAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoQ0RD VCwgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgMHhFNCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDE0MAogICAgICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHhERSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDE0RAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAg ICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgMHhERSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDE0RAogICAgICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAg ICAgICAgICAgIFplcm8KICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIDB4REUsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAxNEQKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoU1VDQywg T25lKQogICAgICAgICAgICAgICAgTmFtZSAoTlZMRCwgMHgwMikKICAgICAgICAgICAgICAgIE5h bWUgKENSSVQsIDB4MDQpCiAgICAgICAgICAgICAgICBOYW1lIChOQ1JULCAweDA2KQogICAgICAg ICAgICAgICAgTWV0aG9kIChHU0NJLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoR0JEQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIFpl cm8pKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwNjc5LCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIEdFU0YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKEdFU0YsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAyNDAsIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoWmVybywgR0VTRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoU1VDQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoR0VTRiwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoUEFSTSwgMHhFRkZGMDAwMCwgUEFSTSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoUEFSTSwgU2hpZnRMZWZ0IChEZXJlZk9mIChJ bmRleCAoREJUQiwgSUJUVCkpLCAweDEwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChJQlRULCBQQVJNLCBQQVJN KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MDUpKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo SVBTQywgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQQVJNLCBTaGlmdExl ZnQgKElQQVQsIDB4MDgpLCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChQ QVJNLCAweDAxMDAsIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUEFSTSwg U2hpZnRMZWZ0IChMSURTLCAweDEwKSwgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFkZCAoUEFSTSwgMHgwMDAxMDAwMCwgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9yIChQQVJNLCBTaGlmdExlZnQgKElCSUEsIDB4MTQpLCBQQVJNKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MDYpKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSVRWRiwgUEFSTSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE9yIChQQVJNLCBTaGlmdExlZnQgKElUVk0sIDB4MDQpLCBQ QVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MDcpKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoR0lWRCwgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhPciAoUEFSTSwgT25l LCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBBUk0sIFNoaWZ0TGVmdCAo R01GTiwgT25lKSwgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQQVJNLCAw eDE4MDAsIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUEFSTSwgU2hpZnRM ZWZ0IChJRE1TLCAweDExKSwgUEFSTSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChT aGlmdExlZnQgKERlcmVmT2YgKEluZGV4IChEZXJlZk9mIChJbmRleCAoQ0RDVCwgSFZDTykpLCBD RFZMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSksIDB4MTUpLCBQQVJNLCBQQVJN KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgR0VTRikKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoU1VDQykKICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgMHgwQSkpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICha ZXJvLCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKElTU0MpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3Ig KFBBUk0sIDB4MDMsIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MEIpKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoS1NWMCwgUEFS TSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChLU1YxLCBHRVNGKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VTRikKICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChDUklUKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChTQkNCLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgWmVybykp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChaZXJvLCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IEdFU0YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdF U0YsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0Mp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEdFU0YsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VTRikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChHRVNGLCAweDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgUEFSTSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoU1VDQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgMHgwNSkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MDYpKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQW5k IChQQVJNLCAweDBGKSwgSVRWRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChT aGlmdFJpZ2h0IChBbmQgKFBBUk0sIDB4RjApLCAweDA0KSwgSVRWTSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKEdFU0YsIDB4MDcpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQQVJNLCBaZXJvKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoQ0xJRCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQg KDB4ODAwMDAwMDAsIExvY2FsMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKENMSUQsIDB4MEYsIENMSUQp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMSUQgKENMSUQpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MDgpKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VTRikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBQQVJNKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChHRVNGLCAweDA5KSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChQQVJN LCAweEZGLCBJQlRUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdF U0YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgUEFSTSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoU1VDQykKICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgMHgwQSkpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAo UEFSTSwgMHhGRiwgSVBTQykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFNo aWZ0UmlnaHQgKFBBUk0sIDB4MDgpLCAweEZGKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFNoaWZ0UmlnaHQgKFBBUk0s IDB4MDgpLCAweEZGLCBJUEFUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlY3Jl bWVudCAoSVBBVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBbmQgKFNoaWZ0UmlnaHQgKFBBUk0sIDB4MTQpLCAweDA3LCBJQklBKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgUEFSTSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoU1VDQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgMHgwQikpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU2hpZnRSaWdodCAoUEFS TSwgT25lKSwgT25lLCBJRjFFKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAo UEFSTSwgMHgwMDAxRTAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChTaGlmdFJpZ2h0IChQQVJNLCAweDBEKSwgMHgw RiwgSURNUykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBbmQgKFNoaWZ0UmlnaHQgKFBBUk0sIDB4MTEpLCAweDBGLCBJ RE1TKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0Mp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEdFU0YsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VTRikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBQQVJNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChHRVNGLCAweDExKSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNoaWZ0TGVmdCAoTElEUywgMHgwOCks IFBBUk0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgKFBBUk0sIDB4MDEwMCwgUEFS TSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChHRVNGLCAweDEyKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFu ZCAoUEFSTSwgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChTaGlmdFJpZ2h0IChQQVJNLCBPbmUpLCBP bmUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgSVNTQykKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQ1JJVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIElTU0MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEdFU0YpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgUEFSTSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoU1VDQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VTRiwgMHgxMykpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHRVNGKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFBBUk0pCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKFNVQ0MpCiAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFU0YsIDB4MTQpKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFBBUk0s IDB4MEYsIFBBVlApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VT RikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBQQVJNKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgR0VTRikKICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChTVUNDKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoR0VGQywgMHgwNCkpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0JEQSAoKSwgR1hGQykKICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEdFRkMsIDB4 MDYpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFNCQ0IgKCksIEdYRkMpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgR0VGQykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBTQ0lT KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBHU1NFKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChaZXJvLCBTQ0lFKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFBEUkQsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3Qg KERSRFkpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU2xl ZXAgKEFTTFApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKExOb3QgKERSRFkpKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhv ZCAoUFNUUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBJZiAoTEdyZWF0ZXIgKENTVFMsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKEFTTFApCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExFcXVhbCAoQ1NUUywgMHgwMykpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChHTk9ULCAyLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChQRFJEICgpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwg Q0VWVCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywgQ1NUUykKICAgICAgICAgICAg ICAgICAgICBJZiAoTEFuZCAoTEVxdWFsIChDSFBELCBaZXJvKSwgTEVxdWFsIChBcmcxLCBaZXJv KSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE9y IChMR3JlYXRlciAoT1NZUywgMHgwN0QwKSwgTExlc3MgKE9TWVMsIDB4MDdENikpKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFBD STAsIEFyZzEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOb3RpZnkgKEdGWDAsIEFyZzEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoR0ZYMCwgMHg4MCkK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChHSERTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBUSURYKQogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoR05PVCAoT25lLCBaZXJvKSkKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKEdMSUQsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIENMSUQpCiAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChHTk9UICgweDAyLCBaZXJvKSkKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKEdEQ0ssIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIENEQ0spCiAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChHTk9UICgweDA0LCBaZXJvKSkKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKFBBUkQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKEFSRFkpKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKEFTTFApCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExOb3QgKEFSRFkpKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQUlOVCwgMiwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoQW5kIChU Q0hFLCBTaGlmdExlZnQgKE9uZSwgQXJnMCkpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgSWYgKFBBUkQgKCkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE9uZSkKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDIpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKENQRk0pCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoQ1BGTSwgMHgwRiwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChFUEZNLCAweDBGLCBMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIE9uZSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKEFuZCAoTG9jYWwxLCAweDA2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA2LCBQ RklUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDEsIDB4MDgpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwgUEZJVCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFBGSVQpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDA2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDEsIDB4MDgp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDgsIFBGSVQpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChBbmQgKExvY2FsMSwgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9u ZSwgUEZJVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDA2LCBQRklUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHgwOCkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKEFuZCAoTG9jYWwxLCBPbmUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgUEZJ VCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTG9jYWwxLCAweDA2KSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDYsIFBGSVQpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwgUEZJVCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFhPciAoUEZJVCwgMHgwNywgUEZJVCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBGSVQsIDB4ODAw MDAwMDAsIFBGSVQpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA0LCBBU0xDKQog ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCBPbmUp KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoRGl2aWRlIChNdWx0aXBseSAoQXJnMSwgMHhGRiksIDB4NjQsICksIEJDTFApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPciAoQkNMUCwgMHg4MDAwMDAwMCwgQkNMUCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBBU0xDKQogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgWmVy bykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEFyZzEsIEFMU0kpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKE9uZSwgQVNMQykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE9uZSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIExCUEMpCiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIE1ldGhvZCAoU0NJUCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBJZiAoTE5vdEVxdWFsIChPVkVSLCBaZXJvKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTE5vdCAoR1NNSSkpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoUDBQMSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFFMDAwMCkKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoUElDTSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQVIwMSkKICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoUFIwMSkKICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChMUENCKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUYwMDAwKQogICAgICAgICAgICAgICAgU2Nv cGUgKFxfU0IpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9u UmVnaW9uIChQQ0kwLkxQQ0IuTFBDMSwgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkKICAgICAgICAg ICAgICAgICAgICBGaWVsZCAoUENJMC5MUENCLkxQQzEsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2 ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDIwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBBUkMsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFBCUkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBD UkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBEUkMsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDI4KSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIFBFUkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBGUkMsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFBHUkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBI UkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDY5KSwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgMywgCiAgICAgICAgICAgICAgICAgICAg ICAgIFBVTUUsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBETUUsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDZCKSwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsICAgNSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBDSUIsICAgMgog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChMTktBKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwg RWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCBP bmUpCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4ODAsIFBBUkMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZl TG93LCBTaGFyZWQsICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MSwzLDQsNSw2 LDcsMTAsMTIsMTQsMTV9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUlRMQSwgUmVzb3VyY2VU ZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkLCApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChSVExBLCBP bmUsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoT25lLCBBbmQgKFBBUkMsIDB4 MEYpLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChSVExBKQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9T UlMsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgT25lLCBJUlEwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFBBUkMpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KEFuZCAoUEFSQywgMHg4MCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwQikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChM TktCKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAo X0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChf VUlELCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDgwLCBQQlJDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWws IEFjdGl2ZUxvdywgU2hhcmVkLCApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezEs Myw0LDUsNiw3LDExLDEyLDE0LDE1fQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJUTEIsIFJl c291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCwgKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo UlRMQiwgT25lLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKE9uZSwgQW5kIChQ QlJDLCAweDBGKSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUlRM QikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfU1JTLCAxLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIE9uZSwgSVJRMCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMCwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQQlJDKQogICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChBbmQgKFBCUkMsIDB4ODApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERl dmljZSAoTE5LQykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICAgICAg TmFtZSAoX1VJRCwgMHgwMykKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAw LCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHg4MCwgUENSQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlEg KExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCwgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsxLDMsNCw1LDYsNywxMCwxMiwxNCwxNX0KICAgICAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChS VExDLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFy ZWQsICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge30KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKFJUTEMsIE9uZSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChaZXJvLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0IChPbmUs IEFuZCAoUENSQywgMHgwRiksIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKFJUTEMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1NSUywgMSwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCBPbmUs IElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElSUTAs IExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgUENSQykKICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAw LCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoQW5kIChQQ1JDLCAweDgwKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBEZXZpY2UgKExOS0QpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9VSUQsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X0RJUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODAsIFBEUkMpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxh dGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7MSwzLDQsNSw2LDcsMTEsMTIsMTQsMTV9CiAgICAgICAgICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg TmFtZSAoUlRMRCwgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxv dywgU2hhcmVkLCApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChSVExELCBPbmUsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVm dCAoT25lLCBBbmQgKFBEUkMsIDB4MEYpLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChSVExEKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJn MCwgT25lLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0 IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFBEUkMpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUERSQywgMHg4MCkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgRGV2aWNlIChMTktFKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAg ICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA1KQogICAgICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9ESVMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgwLCBQRVJDKQogICAgICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJj ZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkLCApCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgezEsMyw0LDUsNiw3LDEwLDEyLDE0LDE1fQogICAgICAgICAgICAg ICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5hbWUgKFJUTEUsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBB Y3RpdmVMb3csIFNoYXJlZCwgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZVdvcmRGaWVsZCAoUlRMRSwgT25lLCBJUlEwKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFplcm8sIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT aGlmdExlZnQgKE9uZSwgQW5kIChQRVJDLCAweDBGKSwgSVJRMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoUlRMRSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmll bGQgKEFyZzAsIE9uZSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRTZXRS aWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVt ZW50IChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQ RVJDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9TVEEsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFBFUkMsIDB4ODApKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwOSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIERldmljZSAoTE5LRikKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwNikKICAgICAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfRElTLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MCwgUEZSQykKICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywg UmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCwgKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsxLDMsNCw1LDYsNywxMSwxMiwxNCwxNX0KICAgICAg ICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JT LCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOYW1lIChSVExGLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChM ZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAge30KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFJUTEYsIE9uZSwgSVJRMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2hpZnRMZWZ0IChPbmUsIEFuZCAoUEZSQywgMHgwRiksIElSUTApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEYpCiAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgU2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRl V29yZEZpZWxkIChBcmcwLCBPbmUsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBG aW5kU2V0UmlnaHRCaXQgKElSUTAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExv Y2FsMCwgUEZSQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfU1RBLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChQRlJDLCAweDgwKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MDkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKExOS0cpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBG IikpCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDcpCiAgICAgICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODAsIFBHUkMp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUg KF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7MSwzLDQsNSw2LDcsMTAsMTIsMTQsMTV9 CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0NSUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUlRMRywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkLCApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChSVExHLCBPbmUsIElSUTApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNoaWZ0TGVmdCAoT25lLCBBbmQgKFBHUkMsIDB4MEYpLCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChSVExHKQogICAgICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgT25lLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChMb2NhbDAsIFBHUkMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUEdSQywgMHg4 MCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChMTktIKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgi UE5QMEMwRiIpKQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA4KQogICAg ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgw LCBQSFJDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hh cmVkLCApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezEsMyw0LDUsNiw3LDExLDEy LDE0LDE1fQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJUTEgsIFJlc291cmNlVGVtcGxhdGUg KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCwgKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoUlRMSCwgT25lLCBJUlEw KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElSUTApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKE9uZSwgQW5kIChQSFJDLCAweDBGKSwgSVJR MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUlRMSCkKICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIE9uZSwgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTG9jYWwwLCBQSFJDKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFBI UkMsIDB4ODApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgT3Bl cmF0aW9uUmVnaW9uIChMUEMwLCBQQ0lfQ29uZmlnLCAweDQwLCAweEMwKQogICAgICAgICAgICAg ICAgRmllbGQgKExQQzAsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg0MCksIAogICAgICAgICAg ICAgICAgICAgIElPRDAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgSU9EMSwgICA4LCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg0OCksIAogICAgICAgICAgICAgICAg ICAgIFowMFosICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4QjAp LCAKICAgICAgICAgICAgICAgICAgICBSQUVOLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAg ICAsICAgMTMsIAogICAgICAgICAgICAgICAgICAgIFJDQkEsICAgMTgKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKERNQUMpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDIwMCIpKQogICAgICAgICAg ICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhp bXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFs aWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMCwgICAgICAgICAgICAgICAv LyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgxLCAg ICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwODEsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDExLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwOTMsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmlt dW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA5MywgICAgICAgICAgICAgLy8gUmFu Z2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAg ICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEQsICAgICAgICAg ICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDBDMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMEMwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgyMCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgRE1BIChDb21wYXRp YmlsaXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5zZmVyOF8xNiwgKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgezR9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBEZXZpY2UgKEhQRVQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDEwMyIpKQogICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9DSUQsIEVpc2FJZCAoIlBOUDBDMDEiKSkKICAgICAgICAgICAgICAgICAgICBO YW1lIChCVUYwLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkT25seSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4RkVEMDAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwNDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVu Z3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEdyZWF0ZXJFcXVh bCAoT1NZUywgMHgwN0QxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKEhQQUUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEhQQUUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoSFBBRSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwg MHgwNCwgSFBUMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEhQQVMs IE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDEwMDAsIEhQVDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoSFBBUywg MHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDIwMDAsIEhQVDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoSFBBUywg MHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDMwMDAsIEhQVDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQlVGMCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgRGV2aWNlIChJUElDKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAwMDAiKSkKICAgICAgICAgICAg ICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwMjAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11 bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGln bm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8g TGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyNCwgICAg ICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MDI0LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDI4LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVt CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjgsICAgICAgICAgICAgIC8vIFJhbmdl IE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAg Ly8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAg ICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw MkMsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAyQywgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAzMCwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDMwLCAgICAgICAgICAgICAv LyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAg ICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAg ICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDM0LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwMzQsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMzgsICAgICAgICAgICAgIC8v IFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAzOCwgICAgICAg ICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwg ICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAp CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAzQywgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMDNDLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVu dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5n dGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEEwLCAgICAgICAg ICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQTAs ICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwQTQsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBBNCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4 aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBB bGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAg Ly8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBBOCwg ICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMEE4LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEFDLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5p bXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQUMsICAgICAgICAgICAgIC8vIFJh bmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAg ICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAg ICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAg ICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwQjAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDBCMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBCNCwgICAgICAgICAgICAgLy8gUmFu Z2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEI0LCAgICAgICAgICAg ICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAg ICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwg ICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAg ICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMEI4LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwQjgsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAo RGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQkMsICAgICAgICAgICAg IC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBCQywgICAg ICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDREMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwNEQwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVt CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdu bWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBM ZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAg ICAgSVJRTm9GbGFncyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgezJ9CiAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2Ug KE1BVEgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwg RWlzYUlkICgiUE5QMEMwNCIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291 cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBGMCwgICAg ICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MEYwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgezEzfQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMRFJDKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDIiKSkKICAg ICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAyKQogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAyRSwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDJFLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERl Y29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDYxLCAgICAgICAgICAgICAv LyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjEsICAgICAg ICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEs ICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAxLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAg KQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwNjMsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDA2MywgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1l bnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVu Z3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA2NSwgICAgICAg ICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDY1 LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMDY3LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjcsICAgICAgICAgICAgIC8vIFJhbmdlIE1h eGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8g QWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAg IC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAg ICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjgs ICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDA2RiwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDgsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA3MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWlu aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDcwLCAgICAgICAgICAgICAvLyBS YW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAg ICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAg ICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAg ICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDgwLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwODAsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwOTIsICAgICAgICAgICAgIC8vIFJh bmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA5MiwgICAgICAgICAg ICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAg ICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEs ICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDBCMiwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMEIyLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNjgwLCAgICAgICAgICAg ICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA2ODAsICAg ICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDIwLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDA0ODAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDQ4MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11 bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGln bm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAsICAgICAgICAgICAgICAgLy8g TGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgICAg ICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhG RkZGLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVt CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsICAgICAgICAgICAgIC8vIFJhbmdl IE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAg Ly8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAg ICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEw MDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MTAwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4ODAsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTE4MCwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMTgwLCAgICAgICAgICAgICAv LyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAg ICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MCwgICAg ICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgxNjRFLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDE2NEUsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZFMDAsICAgICAgICAgICAgIC8v IFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkUwMCwgICAgICAg ICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwg ICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDEsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAp CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDQwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwNDAwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVu dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MCwgICAgICAgICAgICAgICAvLyBMZW5n dGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICB9KQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoUlRDKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBCMDAi KSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNzAsICAgICAgICAgICAgIC8vIFJhbmdl IE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA3MCwgICAgICAgICAgICAg Ly8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAg ICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgsICAg ICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAg ICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHs4fQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgRGV2aWNlIChUSU1SKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAxMDAiKSkKICAgICAgICAgICAgICAgICAgICBO YW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwNDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDA0MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChE ZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA1MCwgICAgICAgICAgICAg Ly8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDUwLCAgICAg ICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEw LCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwNCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgezB9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBEZXZpY2UgKENJUikKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9ISUQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKE9TWVMsIDB4MDdENikp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgyMzEwQTM1QykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgyMDEwQTM1QykKICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVn aW9uIChXQklPLCBTeXN0ZW1JTywgMHgyRSwgMHgwMikKICAgICAgICAgICAgICAgICAgICBGaWVs ZCAoV0JJTywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIElORFgsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIERBVEEsICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TXV0ZXggKFdCTVgsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgSW5kZXhGaWVsZCAoSU5EWCwg REFUQSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA3KSwgCiAgICAgICAgICAg ICAgICAgICAgICAgIExETiwgICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDMwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFDVFIsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDYwKSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIElPQUgsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIElPQUwsICAgOCwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDcwKSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIElOVFIsICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChFTkZHLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoV0JNWCwgMHhGRkZGKQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNywgSU5EWCkKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEFyZzAsIERBVEEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKEVYRkcsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChXQk1YKQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg RU5GRyAoMHgwMykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFDVFIsIExvY2FsMCkK ICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEQsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF9ESVMgKCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQ0lSSSwgWmVybykpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfRElTICgpCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoT1NZUywgMHgwN0Q2 KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg RU5GRyAoMHgwMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJT0FI KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElPQUwpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFWEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoMHgwMykK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEFDVFIpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChaZXJvLCBJT0FIKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoWmVybywgSU9BTCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElOVFIp CiAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAgICAgICAgICAg RU5GRyAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEFDVFIpCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJT0FIKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoWmVybywgSU9BTCkKICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAo KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgWjAwWikKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BSUywgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUg KFBSUzEsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnREZXBlbmRlbnRGbk5vUHJpICgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA2MDAsICAg ICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwNjAwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgsICAgICAgICAgICAgICAgLy8g TGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDYyMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA2MjAsICAgICAgICAgICAgIC8vIFJhbmdl IE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAg ICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgyMCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgezR9CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbmREZXBlbmRlbnRGbiAo KQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChQUlMyLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0RGVwZW5kZW50Rm5Ob1ByaSAoKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNjIwLCAg ICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDYyMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwLCAgICAgICAgICAgICAgIC8v IExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7NH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVuZERlcGVuZGVudEZuICgpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoT1NZUywgMHgwN0Q2KSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChQUlMyKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChQUlMxKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChEQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwMDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1h eGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAg IC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgsICAgICAg ICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4 aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAg Ly8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMCwgICAgICAg ICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgezd9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAg ICAgICAgICAgIE5hbWUgKENSUzEsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDYwMCwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDYwMCwgICAgICAgICAg ICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEs ICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwOCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNjIwLCAgICAgICAgICAgICAvLyBSYW5nZSBN aW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNjIwLCAgICAgICAgICAg ICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwg ICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDIwLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7NH0KICAgICAgICAgICAgICAgICAgICAgICAgfSkK ICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoQ1JTMiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAo RGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNjIwLCAgICAgICAg ICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw NjIwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDIwLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUU5v RmxhZ3MgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7NH0KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAoMHgwMykKICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEFDVFIsIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3Mg KE9TWVMsIDB4MDdENikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDUlMyKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQ1JT MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoRENSUykKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExMZXNzIChPU1lTLCAweDA3RDYpKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQg KEFyZzAsIDB4MDIsIElPMUwpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRl RmllbGQgKEFyZzAsIDB4MDMsIElPMUgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVh dGVXb3JkRmllbGQgKEFyZzAsIDB4MDksIElSUVgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGaW5kU2V0UmlnaHRCaXQgKElSUVgsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRU5GRyAo MHgwMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJTlRSKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElPQUgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSU9BTCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChPbmUsIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEZHICgp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTkZHICgweDA0KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgSU5UUikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChJTzFILCBJT0FIKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KElPMUwsIElPQUwpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBBQ1RS KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhGRyAoKQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcwLCAw eDAyLCBBRDFMKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChB cmcwLCAweDAzLCBBRDFIKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZp ZWxkIChBcmcwLCAweDBBLCBBRDJMKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRl Qnl0ZUZpZWxkIChBcmcwLCAweDBCLCBBRDJIKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDExLCBJUlFNKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlFNLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVO RkcgKDB4MDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJTlRS KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFEMUgsIElPQUgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQUQxTCwgSU9BTCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChPbmUsIEFDVFIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBF WEZHICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTkZHICgweDA0KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElOVFIpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQUQySCwgSU9BSCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChBRDJMLCBJT0FMKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwg QUNUUikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRkcgKCkKICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgWjAwWikKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2 aWNlIChFQzApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJ RCwgRWlzYUlkICgiUE5QMEMwOSIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJl c291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA2Miwg ICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDYyLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDY2LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5p bXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjYsICAgICAgICAgICAgIC8vIFJh bmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAgICAgICAg ICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAg ICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0dQRSwgMHgxOCkKICAgICAg ICAgICAgICAgICAgICBOYW1lIChTRUwwLCAweEYwKQogICAgICAgICAgICAgICAgICAgIE5hbWUg KEJGTEcsIFplcm8pCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUkVHLCAyLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoQXJnMCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIEVDT0spCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKFplcm8sIEVDT0spCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChFQ09LKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJl IChNVVQxLCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywg Ukc1OSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCVEVOLCBCTFRIKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKF5eXl5XTEFOLCBXTEFOKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgQ1BMRSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChQSFNSIChaZXJvLCBaZXJvKSwgRE9GRikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJlbGVhc2UgKE1VVDEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMTGVzcyAoT1NZUywgMHgwN0Q2KSwgTE5vdEVx dWFsIChPU1lTLCAweDAzRTgpKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKFBFR0EpIHt9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEVDT0spCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJlIChNVVQxLCAweEZGRkYp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCTFZMLCBMb2NhbDEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKE1VVDEpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTExlc3MgKExvY2FsMSwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywg TG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChMb2NhbDEsIDB4MDkpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDksIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKERlcmVmT2YgKElu ZGV4IChQTkxULCBMb2NhbDEpKSwgXl5eR0ZYMC5CQ0xQKSkge30KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5HRlgwLlBBUkQgKCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChQTkxULCBM b2NhbDEpKSwgXl5eR0ZYMC5CQ0xQKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPciAoXl5eR0ZYMC5CQ0xQLCAweDgwMDAwMDAwLCBeXl5HRlgwLkJDTFApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBeXl5HRlgwLkFTTEMpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA1LCBMb2NhbDIpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxlIChMQW5kICheXl5HRlgwLkFTTEMs IExvY2FsMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBeXl5HRlgwLkxCUEMp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2Fs MikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgT3BlcmF0aW9uUmVnaW9uIChFUkFNLCBFbWJlZGRlZENvbnRyb2wsIFplcm8sIDB4RkYpCiAg ICAgICAgICAgICAgICAgICAgRmllbGQgKEVSQU0sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHgwNCksIAogICAgICAgICAgICAgICAgICAgICAgICBDTUNNLCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICBDTUQxLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBDTUQy LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBDTUQzLCAgIDgsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxOCksIAogICAgICAgICAgICAgICAgICAgICAg ICBTTVBSLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBTTVNULCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICBTTUFELCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBTTUNN LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBTTUQwLCAgIDI1NiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIEJDTlQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNNQUEsICAg OCwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJBVEQsICAgMTYsIAogICAgICAgICAgICAgICAg ICAgICAgICBBQ0RGLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHg0MSksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDUsIAogICAgICAgICAg ICAgICAgICAgICAgICBGTFM0LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHg0MiksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAo MHg0QyksIAogICAgICAgICAgICAgICAgICAgICAgICBBUkNELCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICBET0NLLCAgIDEs IAogICAgICAgICAgICAgICAgICAgICAgICBMQU5DLCAgIDEsIAogICAgICAgICAgICAgICAgICAg ICAgICBMSURTLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBDUlRTLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1MSksIAogICAgICAgICAgICAg ICAgICAgICAgICBCTFZMLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHg1MyksIAogICAgICAgICAgICAgICAgICAgICAgICBET0ZGLCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1OCksIAogICAgICAgICAgICAgICAg ICAgICAgICBDVE1QLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBSRzU5LCAgIDgsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg2MCksIAogICAgICAgICAg ICAgICAgICAgICAgICBXTEFOLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBCTFRILCAg IDEsIAogICAgICAgICAgICAgICAgICAgICAgICBDUExFLCAgIDEsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICBXTFNULCAgIDEsIAog ICAgICAgICAgICAgICAgICAgICAgICBCTFRTLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICBTVDNHLCAgIDEsIAogICAgICAg ICAgICAgICAgICAgICAgICBNTlNULCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBFRDNHLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHg2MyksIAogICAgICAgICAgICAgICAgICAgICAgICBUSjg1LCAgIDEsIAogICAgICAg ICAgICAgICAgICAgICAgICBCQlNULCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg LCAgIDUsIAogICAgICAgICAgICAgICAgICAgICAgICBWR0FGLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBXSU43LCAgIDEs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg3MCksIAogICAgICAg ICAgICAgICAgICAgICAgICBCVE1ELCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBNQlRT LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBNQlRGLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICBCQVRGLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDMs IAogICAgICAgICAgICAgICAgICAgICAgICBNQkRYLCAgIDEsIAogICAgICAgICAgICAgICAgICAg ICAgICBNQkFELCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBNQlRDLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICBM SU9OLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg3Nyks IAogICAgICAgICAgICAgICAgICAgICAgICBCQTFDLCAgIDgsIAogICAgICAgICAgICAgICAgICAg ICAgICBNQ1lDLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgTVRNUCwgICAxNiwgCiAg ICAgICAgICAgICAgICAgICAgICAgIE1EQVQsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAg ICBNQ1VSLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgTUJSTSwgICAxNiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIE1CVkcsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBN UlRGLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgTU1FUiwgICA4LCAKICAgICAgICAg ICAgICAgICAgICAgICAgQkEyQywgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgTEZDQywg ICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJUU04sICAgMTYsIAogICAgICAgICAgICAg ICAgICAgICAgICBCVERDLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgQlREViwgICAx NiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJUTU4sICAgOCwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDkzKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJU U1QsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDlEKSwg CiAgICAgICAgICAgICAgICAgICAgICAgIE9TVFAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweEEwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFCTUQs ICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFCVFMsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIEFCRkMsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgNCwg CiAgICAgICAgICAgICAgICAgICAgICAgIEFCRFgsICAgMSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIEFCQUQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFCQ0csICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFC VFAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEE4KSwg CiAgICAgICAgICAgICAgICAgICAgICAgIEFDWUMsICAgMTYsIAogICAgICAgICAgICAgICAgICAg ICAgICBBVE1QLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgQURBVCwgICAxNiwgCiAg ICAgICAgICAgICAgICAgICAgICAgIEFCQ1IsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAg ICBBQlJNLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgQUJWRywgICAxNiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIEFSVEYsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBB TUVSLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhCOCks IAogICAgICAgICAgICAgICAgICAgICAgICBBRkNDLCAgIDE2LCAKICAgICAgICAgICAgICAgICAg ICAgICAgQUJTTiwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEFCREMsICAgMTYsIAog ICAgICAgICAgICAgICAgICAgICAgICBBQkRWLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAg ICAgQUJNTiwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 RDApLCAKICAgICAgICAgICAgICAgICAgICAgICAgRUJQTCwgICAxLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4RDEpLCAKICAgICAgICAgICAgICAgICAgICAgICAg UFdSRSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4RDIp LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICA2LCAKICAgICAgICAgICAgICAgICAg ICAgICAgVkFVWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4RDYpLCAKICAgICAgICAgICAgICAgICAgICAgICAgREJQTCwgICA4LCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4RTApLCAKICAgICAgICAgICAgICAgICAgICAg ICAgREVTUCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgRFRTVCwgICA4LCAKICAgICAg ICAgICAgICAgICAgICAgICAgREUwTCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgREUw SCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgREUxTCwgICA4LCAKICAgICAgICAgICAg ICAgICAgICAgICAgREUxSCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgREUyTCwgICA4 LCAKICAgICAgICAgICAgICAgICAgICAgICAgREUySCwgICA4LCAKICAgICAgICAgICAgICAgICAg ICAgICAgREUzTCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgREUzSCwgICA4LCAKICAg ICAgICAgICAgICAgICAgICAgICAgREU0TCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAg REU0SCwgICA4CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNdXRl eCAoTVVUMSwgMHgwMCkKICAgICAgICAgICAgICAgICAgICBNdXRleCAoTVVUMCwgMHgwMCkKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKEFQT0wsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgREJQTCkK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgRUJQTCkKICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKFBTVEEsIFplcm8pCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChDUE9MLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUFNUQSwgWmVybykpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM Tm90RXF1YWwgKEVDT0ssIFplcm8pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQT0wgKEFyZzApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgUFNUQSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTIwLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEVDT0spCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKE1V VDEsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFNNU1QsIDB4 NDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChTTUFBLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDE0KSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU01TVCwg MHhCRiwgU01TVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBX UkUsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExvY2Fs MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFBXUkUpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxMiwgQkZMRykKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQT0wgKE9uZSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDE2KSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFuZCAoU01TVCwgMHhCRiwgU01TVCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQsIF5eXl5CQVQxLkJDUkkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoQkFUMSwgMHg4MCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFplcm8sIF5eXl5CQVQxLkJDUkkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKE1VVDEpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1Ew OSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChFQ09LKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgUFNUQSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5eXl5CQVQxLlowMDEgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlm eSAoQUNBRCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxRjQp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKEJBVDEsIDB4ODApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoXl5eXkJBVDEuQlRDSCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eQkFUMS5VQklG ICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChCQVQxLCAweDgxKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBeXl5eQkFUMS5CVENI KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoVU5NRikKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFVOTUYpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQSFNSIChPbmUsIE9uZSkKICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfUThDLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIFBETUUpCiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChaZXJvLCBQVU1FKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNiwg RFRZRikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgVEhUTCkKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E4RCwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChaZXJvLCBUSFRMKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBQVU1F KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBQRE1FKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTBELCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5 IChTTFBCLCAweDgwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfUTBFLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKFBFR0EpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChHSTE3KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERSVUwgKCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsICheXl5QRUdQLlZHQS5QVklELCAweDEwREUpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Tm90aWZ5ICheXl5QRUdQLlZHQSwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFJV TCAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5eXkdGWDAuR0hEUyAoWmVybykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTkwLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoXl5eXldNSUQuQkFFRiwgT25lKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgXl5eXldNSUQuV01J USkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoV01JRCwgMHg4MCkKICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUTkxLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXl5eXldNSUQuQkFFRiwgT25l KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDIsIF5eXl5XTUlELldNSVEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBO b3RpZnkgKFdNSUQsIDB4ODApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E5MiwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKF5eXl5XTUlELkJBRUYsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBeXl5eV01JRC5XTUlRKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChXTUlELCAweDgwKQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9ROTMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICheXl5eV01JRC5CQUVGLCBPbmUpKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwNCwgXl5eXldNSUQuV01JUSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAo V01JRCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQlJVRCwgWmVybykKICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9ROEUsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4NiwgQlJVRCkKICAgICAgICAgICAg ICAgICAgICAgICAgX1E4RiAoKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywg QlJVRCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1E4RiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMTm90RXF1YWwgKE9TWVMsIDB4MDNFOCkpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzcyAoT1NZUywg MHgwN0Q2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsICheXl5eV01JRC5CQUVGLCBPbmUpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDUsIF5eXl5XTUlELldNSVEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE5vdGlmeSAoV01JRCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU2xlZXAgKDB4QzgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKF5eXkdGWDAuQkNMUCwgMHhGRiwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExHcmVhdGVyIChMb2Nh bDAsIERlcmVmT2YgKEluZGV4IChQTkxULCBMb2NhbDEpKSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmNyZW1l bnQgKExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEJSVUQsIDB4ODYpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExMZXNzIChMb2NhbDEsIDB4MDkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmNyZW1l bnQgKExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEdyZWF0ZXIgKExvY2FsMCwgWmVybykpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeXl5HRlgwLlBBUkQgKCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKFBOTFQsIExvY2FsMSkpLCBeXl5H RlgwLkJDTFApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKF5eXkdGWDAuQkNM UCwgMHg4MDAwMDAwMCwgXl5eR0ZYMC5CQ0xQKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAyLCBeXl5HRlgwLkFTTEMpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDUsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBXaGlsZSAoTEFuZCAoXl5eR0ZYMC5BU0xDLCBMb2NhbDIpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIF5eXkdGWDAuTEJQQykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RGVjcmVtZW50IChMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAzLCBCT1dOKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoTVVU MSwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEJMVkwsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKE1VVDEpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoUEVHQSwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKF5eXkdGWDAuQ0JM ViwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTG9jYWwwLCAw eEZGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo QlJVRCwgMHg4NikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3NFcXVhbCAoTG9jYWwwLCAweDVBKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQWRkIChMb2NhbDAsIDB4MEEsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTm90aWZ5ICheXl5HRlgwLkREMDIsIDB4ODYpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMR3JlYXRlckVxdWFsIChMb2NhbDAsIDB4MEEpKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdWJ0cmFjdCAoTG9jYWwwLCAweDBBLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5v dGlmeSAoXl5eR0ZYMC5ERDAyLCAweDg3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NTUsIExvY2FsMSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTE5vdEVxdWFsIChMb2NhbDEsIDB4NTUpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5XTUlELlowMDQgKExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTG9jYWwwLCBCUlROKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ROTQsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsICheXl5eV01JRC5CQUVGLCBPbmUpKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOSwgXl5eXldNSUQuV01J USkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoV01JRCwgMHg4MikKICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUTk1LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoXl5eXldNSUQuQkFFRiwgT25l KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDgsIF5eXl5XTUlELldNSVEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBO b3RpZnkgKFdNSUQsIDB4ODIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E4QSwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKF5eXl5XTUlELkJBRUYsIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBCLCBeXl5eV01JRC5XTUlRKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChXTUlELCAweDgwKQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9ROEIsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICheXl5eV01JRC5CQUVGLCBPbmUpKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwQywgXl5eXldNSUQuV01JUSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAo V01JRCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTlELCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo Xl5eXldNSUQuQkFFRiwgT25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEYsIF5eXl5XTUlELldNSVEpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBOb3RpZnkgKFdNSUQsIDB4ODApCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1E5RSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKF5eXl5XTUlELkJBRUYsIE9uZSkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDEwLCBe Xl5eV01JRC5XTUlRKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChXTUlELCAw eDgwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9RQTcsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICheXl5eV01J RC5CQUVGLCBPbmUpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgxMSwgXl5eXldNSUQuV01JUSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE5vdGlmeSAoV01JRCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUUE4LCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoXl5eXldNSUQuQkFFRiwgT25lKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MTIsIF5eXl5XTUlE LldNSVEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFdNSUQsIDB4ODApCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChQUzJLKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAzMDMiKSkKICAgICAg ICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwNjAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA2MCwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAv LyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAg ICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA2 NCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDY0LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChFZGdlLCBBY3Rp dmVIaWdoLCBFeGNsdXNpdmUsICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxfQogICAg ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVzb3Vy Y2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgU3RhcnREZXBlbmRlbnRGbiAoMHgwMCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgRml4ZWRJTyAoCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDYwLCAgICAgICAgICAgICAvLyBBZGRyZXNzCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBG aXhlZElPICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjQsICAgICAgICAg ICAgIC8vIEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAg ICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7MX0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICBFbmREZXBlbmRlbnRGbiAoKQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChQUzJNKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlNZTjFCMjAiKSkK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ0lELCBQYWNrYWdlICgweDAzKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRWlzYUlkICgiU1lOMUIwMCIpLCAK ICAgICAgICAgICAgICAgICAgICAgICAgRWlzYUlkICgiU1lOMDAwMiIpLCAKICAgICAgICAgICAg ICAgICAgICAgICAgRWlzYUlkICgiUE5QMEYxMyIpCiAgICAgICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJUlEgKEVkZ2UsIEFjdGl2ZUhp Z2gsIEV4Y2x1c2l2ZSwgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgezEyfQogICAgICAg ICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIERldmljZSAoVVNCMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FE UiwgMHgwMDFEMDAwMCkKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAg ICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE9wZXJhdGlv blJlZ2lvbiAoVTFDUywgUENJX0NvbmZpZywgMHhDNCwgMHgwNCkKICAgICAgICAgICAgICAgIEZp ZWxkIChVMUNTLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBVMUVOLCAgIDIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKF9QU1csIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzApCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBVMUVOKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgVTFFTikKICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwMikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TNEQsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDAyKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBE ZXZpY2UgKFVTQjEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4 MDAxRDAwMDEpCiAgICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAgICAgICAg ICAgIDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdp b24gKFUxQ1MsIFBDSV9Db25maWcsIDB4QzQsIDB4MDQpCiAgICAgICAgICAgICAgICBGaWVsZCAo VTFDUywgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgVTFFTiwgICAyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChfUFNXLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIElmIChBcmcwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgVTFFTikKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFplcm8sIFUxRU4pCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1MzRCwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUzRELCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwMikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKEhVQjApCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgWmVybykKICAg ICAgICAgICAgICAgICAgICBEZXZpY2UgKEJMVEgpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAyKQogICAgICAgICAgICAgICAgICAg ICAgICBOYW1lIChfVVBDLCBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4RkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAg ICAgICBEZXZpY2UgKFVTQjIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9B RFIsIDB4MDAxRDAwMDIpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoVVNCUikK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFEMDAwMykKICAg ICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgMHgyMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMwogICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoVTFDUywgUENJ X0NvbmZpZywgMHhDNCwgMHgwNCkKICAgICAgICAgICAgICAgIEZpZWxkIChVMUNTLCBEV29yZEFj YywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBVMUVOLCAgIDIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9Q U1csIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKEFyZzApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoT25lLCBVMUVOKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoWmVybywgVTFFTikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TNEQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAg ICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEVIQzEpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRDAwMDcpCiAgICAgICAg ICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIDB4MEQsIAogICAgICAgICAgICAgICAgICAgIDB4MDMKICAgICAgICAg ICAgICAgIH0pCiAgICAgICAgICAgICAgICBEZXZpY2UgKEhVQjApCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgWmVybykKICAgICAgICAgICAgICAgICAg ICBEZXZpY2UgKFBSVDEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBOYW1lIChfQURSLCBPbmUpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBEZXZpY2UgKENSRFIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBOYW1lIChfQURSLCAweDAyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgRGV2aWNlIChQUlQzKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMykKICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoVFZVQykKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0FEUiwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KE1PREwpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwNSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX1VQQywgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweEZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFpl cm8sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICAgICAgICAg ICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNl IChXTFVDKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfQURSLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTU9ETCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDUpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDA2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBEZXZpY2UgKFdFQkMpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBOYW1lIChfQURSLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChfVVBDLCBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 RkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBaZXJvCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZp Y2UgKFVTQjMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAx QTAwMDApCiAgICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MEUsIAogICAgICAgICAgICAgICAgICAg IDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24g KFUxQ1MsIFBDSV9Db25maWcsIDB4QzQsIDB4MDQpCiAgICAgICAgICAgICAgICBGaWVsZCAoVTFD UywgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgVTFFTiwgICAyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChfUFNXLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIElmIChBcmcwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKE9uZSwgVTFFTikKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFplcm8sIFUxRU4pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1MzRCwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUzRELCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MikKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChV U0I0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUEwMDAx KQogICAgICAgICAgICAgICAgRGV2aWNlIChIVUIwKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9BRFIsIFplcm8pCiAgICAgICAgICAgICAgICAgICAgRGV2aWNl IChGUFNEKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX0FEUiwgMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VQQywgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChVU0I1KQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUEwMDAyKQogICAgICAg ICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEVIQzIpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxQTAwMDcpCiAgICAgICAgICAgICAgICBOYW1lIChfUFJX LCBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4 MEQsIAogICAgICAgICAgICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIERldmljZSAoSERFRikKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgTmFtZSAoX0FEUiwgMHgwMDFCMDAwMCkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJl Z2lvbiAoSERBUiwgUENJX0NvbmZpZywgMHg0QywgMHgxMCkKICAgICAgICAgICAgICAgIEZpZWxk IChIREFSLCBXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIERDS0EsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MDEpLCAKICAgICAgICAgICAgICAgICAgICBEQ0tNLCAgIDEsIAogICAgICAgICAg ICAgICAgICAgICAgICAsICAgNiwgCiAgICAgICAgICAgICAgICAgICAgRENLUywgICAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOCksIAogICAgICAgICAgICAgICAg ICAgICAgICAsICAgMTUsIAogICAgICAgICAgICAgICAgICAgIFBNRVMsICAgMQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwRCwgCiAgICAgICAgICAgICAgICAg ICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2 aWNlIChSUDAxKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAw MUMwMDAwKQogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChQWENTLCBQQ0lfQ29uZmln LCAweDQwLCAweEMwKQogICAgICAgICAgICAgICAgRmllbGQgKFBYQ1MsIEFueUFjYywgTm9Mb2Nr LCBXcml0ZUFzWmVyb3MpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4MTApLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDQsIAogICAg ICAgICAgICAgICAgICAgIExEUFgsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MTIpLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEzLCAKICAgICAgICAg ICAgICAgICAgICBMQVNYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDFBKSwgCiAgICAgICAgICAgICAgICAgICAgQUJQWCwgICAxLCAKICAgICAgICAgICAgICAg ICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIFBEQ1gsICAgMSwgCiAgICAgICAg ICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgICAgICBQRFNYLCAgIDEsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDFCKSwgCiAgICAgICAgICAgICAg ICAgICAgTFNDWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgy MCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIyKSwgCiAgICAgICAg ICAgICAgICAgICAgUFNQWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHg5QyksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgMzAsIAogICAgICAgICAgICAg ICAgICAgIEhQU1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgUE1TWCwgICAxCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJULCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChQSUNNKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBUjA0KQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQUjA0KQogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKFJQMDIpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxQzAwMDEpCiAgICAg ICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFBYQ1MsIFBDSV9Db25maWcsIDB4NDAsIDB4QzAp CiAgICAgICAgICAgICAgICBGaWVsZCAoUFhDUywgQW55QWNjLCBOb0xvY2ssIFdyaXRlQXNaZXJv cykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAo MHgxMCksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgNCwgCiAgICAgICAgICAgICAgICAg ICAgTERQWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxMiks IAogICAgICAgICAgICAgICAgICAgICAgICAsICAgMTMsIAogICAgICAgICAgICAgICAgICAgIExB U1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MUEpLCAKICAg ICAgICAgICAgICAgICAgICBBQlBYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAsICAg MiwgCiAgICAgICAgICAgICAgICAgICAgUERDWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAg ICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIFBEU1gsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MUIpLCAKICAgICAgICAgICAgICAgICAgICBMU0NYLCAg IDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwKSwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjIpLCAKICAgICAgICAgICAgICAgICAgICBQ U1BYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDlDKSwgCiAg ICAgICAgICAgICAgICAgICAgICAgICwgICAzMCwgCiAgICAgICAgICAgICAgICAgICAgSFBTWCwg ICAxLCAKICAgICAgICAgICAgICAgICAgICBQTVNYLCAgIDEKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKF9QUlQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKFBJQ00pCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFSMDUpCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBSMDUpCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoUlAwMykKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFDMDAwMikKICAgICAgICAgICAgICAgIE9w ZXJhdGlvblJlZ2lvbiAoUFhDUywgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkKICAgICAgICAgICAg ICAgIEZpZWxkIChQWENTLCBBbnlBY2MsIE5vTG9jaywgV3JpdGVBc1plcm9zKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDEwKSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICwgICA0LCAKICAgICAgICAgICAgICAgICAgICBMRFBYLCAgIDEs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDEyKSwgCiAgICAgICAgICAg ICAgICAgICAgICAgICwgICAxMywgCiAgICAgICAgICAgICAgICAgICAgTEFTWCwgICAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxQSksIAogICAgICAgICAgICAgICAg ICAgIEFCUFgsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAg ICAgICAgICAgICBQRENYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgMiwgCiAg ICAgICAgICAgICAgICAgICAgUERTWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHgxQiksIAogICAgICAgICAgICAgICAgICAgIExTQ1gsICAgMSwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjApLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgyMiksIAogICAgICAgICAgICAgICAgICAgIFBTUFgsICAgMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4OUMpLCAKICAgICAgICAgICAgICAg ICAgICAgICAgLCAgIDMwLCAKICAgICAgICAgICAgICAgICAgICBIUFNYLCAgIDEsIAogICAgICAg ICAgICAgICAgICAgIFBNU1gsICAgMQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBJZiAoUElDTSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQVIwNikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoUFIwNikKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg fQoKICAgICAgICAgICAgRGV2aWNlIChSUDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBOYW1lIChfQURSLCAweDAwMUMwMDAzKQogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9u IChQWENTLCBQQ0lfQ29uZmlnLCAweDQwLCAweEMwKQogICAgICAgICAgICAgICAgRmllbGQgKFBY Q1MsIEFueUFjYywgTm9Mb2NrLCBXcml0ZUFzWmVyb3MpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTApLCAKICAgICAgICAgICAgICAgICAg ICAgICAgLCAgIDQsIAogICAgICAgICAgICAgICAgICAgIExEUFgsICAgMSwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTIpLCAKICAgICAgICAgICAgICAgICAgICAgICAg LCAgIDEzLCAKICAgICAgICAgICAgICAgICAgICBMQVNYLCAgIDEsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDFBKSwgCiAgICAgICAgICAgICAgICAgICAgQUJQWCwgICAx LCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIFBE Q1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAg ICAgICBQRFNYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDFC KSwgCiAgICAgICAgICAgICAgICAgICAgTFNDWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgyMCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDIyKSwgCiAgICAgICAgICAgICAgICAgICAgUFNQWCwgICAxLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHg5QyksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAg MzAsIAogICAgICAgICAgICAgICAgICAgIEhQU1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAg UE1TWCwgICAxCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJU LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IElmIChQSUNNKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChBUjA3KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChQUjA3KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBEZXZpY2UgKFJQMDUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIs IDB4MDAxQzAwMDQpCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFBYQ1MsIFBDSV9D b25maWcsIDB4NDAsIDB4QzApCiAgICAgICAgICAgICAgICBGaWVsZCAoUFhDUywgQW55QWNjLCBO b0xvY2ssIFdyaXRlQXNaZXJvcykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE9mZnNldCAoMHgxMCksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgNCwg CiAgICAgICAgICAgICAgICAgICAgTERQWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHgxMiksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgMTMsIAogICAg ICAgICAgICAgICAgICAgIExBU1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MUEpLCAKICAgICAgICAgICAgICAgICAgICBBQlBYLCAgIDEsIAogICAgICAgICAg ICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgUERDWCwgICAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIFBEU1gsICAg MSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MUIpLCAKICAgICAgICAg ICAgICAgICAgICBMU0NYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDIwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjIpLCAKICAg ICAgICAgICAgICAgICAgICBQU1BYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDlDKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAzMCwgCiAgICAgICAg ICAgICAgICAgICAgSFBTWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICBQTVNYLCAgIDEKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlQsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKFBJQ00pCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFSMDgp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBSMDgp CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoUlAw NikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFDMDAwNSkK ICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoUFhDUywgUENJX0NvbmZpZywgMHg0MCwg MHhDMCkKICAgICAgICAgICAgICAgIEZpZWxkIChQWENTLCBBbnlBY2MsIE5vTG9jaywgV3JpdGVB c1plcm9zKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweDEwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICA0LCAKICAgICAgICAgICAg ICAgICAgICBMRFBYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgw eDEyKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAxMywgCiAgICAgICAgICAgICAgICAg ICAgTEFTWCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxQSks IAogICAgICAgICAgICAgICAgICAgIEFCUFgsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAg ICwgICAyLCAKICAgICAgICAgICAgICAgICAgICBQRENYLCAgIDEsIAogICAgICAgICAgICAgICAg ICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgUERTWCwgICAxLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxQiksIAogICAgICAgICAgICAgICAgICAgIExT Q1gsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjApLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyMiksIAogICAgICAgICAgICAgICAg ICAgIFBTUFgsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4OUMp LCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDMwLCAKICAgICAgICAgICAgICAgICAgICBI UFNYLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIFBNU1gsICAgMQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIERldmljZSAoR0xBTikKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCBaZXJvKQogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAweDA5LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNAogICAgICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAg ICB9CgogICAgU2NvcGUgKF9QUikKICAgIHsKICAgICAgICBQcm9jZXNzb3IgKENQVTAsIDB4MDAs IDB4MDAwMDA0MTAsIDB4MDYpIHt9CiAgICAgICAgUHJvY2Vzc29yIChDUFUxLCAweDAxLCAweDAw MDAwNDEwLCAweDA2KSB7fQogICAgICAgIFByb2Nlc3NvciAoQ1BVMiwgMHgwMiwgMHgwMDAwMDQx MCwgMHgwNikge30KICAgICAgICBQcm9jZXNzb3IgKENQVTMsIDB4MDMsIDB4MDAwMDA0MTAsIDB4 MDYpIHt9CiAgICB9CgogICAgTXV0ZXggKE1VVFgsIDB4MDApCiAgICBPcGVyYXRpb25SZWdpb24g KFBSVDAsIFN5c3RlbUlPLCAweDgwLCAweDA0KQogICAgRmllbGQgKFBSVDAsIERXb3JkQWNjLCBM b2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBQODBILCAgIDMyCiAgICB9CgogICAgTWV0aG9k IChQOFhILCAyLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIElmIChMRXF1YWwgKEFyZzAsIFpl cm8pKQogICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKE9yIChBbmQgKFA4MEQsIDB4RkZGRkZG MDApLCBBcmcxKSwgUDgwRCkKICAgICAgICB9CgogICAgICAgIElmIChMRXF1YWwgKEFyZzAsIE9u ZSkpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoT3IgKEFuZCAoUDgwRCwgMHhGRkZGMDBG RiksIFNoaWZ0TGVmdCAoQXJnMSwgMHgwOCkKICAgICAgICAgICAgICAgICksIFA4MEQpCiAgICAg ICAgfQoKICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAyKSkKICAgICAgICB7CiAgICAgICAg ICAgIFN0b3JlIChPciAoQW5kIChQODBELCAweEZGMDBGRkZGKSwgU2hpZnRMZWZ0IChBcmcxLCAw eDEwKQogICAgICAgICAgICAgICAgKSwgUDgwRCkKICAgICAgICB9CgogICAgICAgIElmIChMRXF1 YWwgKEFyZzAsIDB4MDMpKQogICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKE9yIChBbmQgKFA4 MEQsIDB4MDBGRkZGRkYpLCBTaGlmdExlZnQgKEFyZzEsIDB4MTgpCiAgICAgICAgICAgICAgICAp LCBQODBEKQogICAgICAgIH0KCiAgICAgICAgU3RvcmUgKFA4MEQsIFA4MEgpCiAgICB9CgogICAg T3BlcmF0aW9uUmVnaW9uIChTUFJULCBTeXN0ZW1JTywgMHhCMiwgMHgwMikKICAgIEZpZWxkIChT UFJULCBCeXRlQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBTU01QLCAgIDgKICAg IH0KCiAgICBNZXRob2QgKF9QSUMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgU3Rv cmUgKEFyZzAsIEdQSUMpCiAgICAgICAgU3RvcmUgKEFyZzAsIFBJQ00pCiAgICB9CgogICAgTWV0 aG9kIChfUFRTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFN0b3JlIChaZXJvLCBQ ODBEKQogICAgICAgIFA4WEggKDB4MTAsIEFyZzApCiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg MHgwNSkpCiAgICAgICAgewogICAgICAgICAgICBcX1NCLlBIU1IgKDB4MDcsIFplcm8pCiAgICAg ICAgfQoKICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzKSkKICAgICAgICB7CiAgICAgICAg ICAgIElmIChMQW5kIChEVFNFLCBNUEVOKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg VFJBUCAoVFJURCwgMHgxRSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgSWYgKExF cXVhbCAoQXJnMCwgMHgwNSkpIHt9CiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwNCkpCiAg ICAgICAgewogICAgICAgICAgICBTdG9yZSAoT25lLCBJTlM0KQogICAgICAgICAgICBJZiAoXF9T Qi5FQ09LKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBBY3F1aXJlIChcX1NCLlBDSTAu TFBDQi5FQzAuTVVUMSwgMHhGRkZGKQogICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgXF9TQi5Q Q0kwLkxQQ0IuRUMwLkZMUzQpCiAgICAgICAgICAgICAgICBSZWxlYXNlIChcX1NCLlBDSTAuTFBD Qi5FQzAuTVVUMSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgXF9TQi5QSFNSIChP bmUsIFplcm8pCiAgICB9CgogICAgTWV0aG9kIChfV0FLLCAxLCBOb3RTZXJpYWxpemVkKQogICAg ewogICAgICAgIFA4WEggKE9uZSwgMHhBQikKICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAz KSkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlJQMDEsIFplcm8pCiAg ICAgICAgfQoKICAgICAgICBJZiAoTE9yIChMRXF1YWwgKEFyZzAsIDB4MDMpLCBMRXF1YWwgKEFy ZzAsIDB4MDQpKSkKICAgICAgICB7CiAgICAgICAgICAgIElmIChMQW5kIChEVFNFLCBNUEVOKSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgVFJBUCAoVFJURCwgMHgxNCkKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAoQ0ZHRCwgMHgwMTAwMDAwMCkpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIElmIChMQW5kIChBbmQgKENGR0QsIDB4RjApLCBMQW5kIChMRXF1 YWwgKE9TWVMsIDB4MDdEMSksIAogICAgICAgICAgICAgICAgICAgIExOb3QgKEFuZCAoUERDMCwg MHgxMCkpKSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgVFJBUCAoVFJU UCwgRVNDUykKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYg KExFcXVhbCAoT1NZUywgMHgwN0QyKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYg KEFuZCAoQ0ZHRCwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJ ZiAoTEdyZWF0ZXIgKFxfUFIuQ1BVMC5fUFBDLCBaZXJvKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN1YnRyYWN0IChcX1BSLkNQVTAuX1BQQywgT25lLCBc X1BSLkNQVTAuX1BQQykKICAgICAgICAgICAgICAgICAgICAgICAgUE5PVCAoKQogICAgICAgICAg ICAgICAgICAgICAgICBBZGQgKFxfUFIuQ1BVMC5fUFBDLCBPbmUsIFxfUFIuQ1BVMC5fUFBDKQog ICAgICAgICAgICAgICAgICAgICAgICBQTk9UICgpCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIEFkZCAoXF9QUi5DUFUwLl9QUEMsIE9uZSwgXF9QUi5DUFUwLl9QUEMpCiAgICAg ICAgICAgICAgICAgICAgICAgIFBOT1QgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJh Y3QgKFxfUFIuQ1BVMC5fUFBDLCBPbmUsIFxfUFIuQ1BVMC5fUFBDKQogICAgICAgICAgICAgICAg ICAgICAgICBQTk9UICgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQog ICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBJZiAoTE9yIChMRXF1YWwgKEFyZzAsIDB4 MDQpLCBMRXF1YWwgKEFyZzAsIDB4MDMpKSkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChc X1NCLkJURU4sIFxfU0IuUENJMC5MUENCLkVDMC5CTFRIKQogICAgICAgICAgICBTdG9yZSAoXF9T Qi5XTEFOLCBcX1NCLlBDSTAuTFBDQi5FQzAuV0xBTikKICAgICAgICAgICAgU3RvcmUgKE9uZSwg XF9TQi5QQ0kwLkxQQ0IuRUMwLkNQTEUpCiAgICAgICAgICAgIElmIChcX1NCLk1PREwpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0IuUEhTUiAoT25lLCBPbmUpCiAgICAgICAgICAg IH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAo T25lLCBcX1NCLlVOTUYpCiAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5FQzAuQ1BPTCAo MHgwMikKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwg MHgwNCkpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoWmVybywgSU5TNCkKICAgICAgICAg ICAgTm90aWZ5IChcX1NCLlBXUkIsIDB4MDIpCiAgICAgICAgfQoKICAgICAgICBSZXR1cm4gKFBh Y2thZ2UgKDB4MDIpCiAgICAgICAgewogICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgWmVy bwogICAgICAgIH0pCiAgICB9CgogICAgTWV0aG9kIChHRVRCLCAzLCBTZXJpYWxpemVkKQogICAg ewogICAgICAgIE11bHRpcGx5IChBcmcwLCAweDA4LCBMb2NhbDApCiAgICAgICAgTXVsdGlwbHkg KEFyZzEsIDB4MDgsIExvY2FsMSkKICAgICAgICBDcmVhdGVGaWVsZCAoQXJnMiwgTG9jYWwwLCBM b2NhbDEsIFRCRjMpCiAgICAgICAgUmV0dXJuIChUQkYzKQogICAgfQoKICAgIE1ldGhvZCAoUE5P VCwgMCwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoTVBFTikKICAgICAgICB7CiAgICAg ICAgICAgIElmIChBbmQgKFBEQzAsIDB4MDgpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBOb3RpZnkgKFxfUFIuQ1BVMCwgMHg4MCkKICAgICAgICAgICAgICAgIElmIChBbmQgKFBEQzAs IDB4MTApKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDY0 KQogICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9QUi5DUFUwLCAweDgxKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoQW5kIChQREMxLCAweDA4KSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTm90aWZ5IChcX1BSLkNQVTEsIDB4ODApCiAg ICAgICAgICAgICAgICBJZiAoQW5kIChQREMxLCAweDEwKSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBTbGVlcCAoMHg2NCkKICAgICAgICAgICAgICAgICAgICBOb3RpZnkg KFxfUFIuQ1BVMSwgMHg4MSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAg IH0KICAgICAgICBFbHNlCiAgICAgICAgewogICAgICAgICAgICBOb3RpZnkgKFxfUFIuQ1BVMCwg MHg4MCkKICAgICAgICAgICAgU2xlZXAgKDB4NjQpCiAgICAgICAgICAgIE5vdGlmeSAoXF9QUi5D UFUwLCAweDgxKQogICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKFRSQVAsIDIsIFNlcmlhbGl6 ZWQpCiAgICB7CiAgICAgICAgU3RvcmUgKEFyZzEsIFNNSUYpCiAgICAgICAgSWYgKExFcXVhbCAo QXJnMCwgVFJUUCkpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoWmVybywgVFJQSSkKICAg ICAgICB9CgogICAgICAgIElmIChMRXF1YWwgKEFyZzAsIFRSVEQpKQogICAgICAgIHsKICAgICAg ICAgICAgU3RvcmUgKEFyZzEsIERUU0YpCiAgICAgICAgICAgIFN0b3JlIChaZXJvLCBUUlBEKQog ICAgICAgICAgICBSZXR1cm4gKERUU0YpCiAgICAgICAgfQoKICAgICAgICBJZiAoTEVxdWFsIChB cmcwLCBUUlRJKSkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChaZXJvLCBUUlAwKQogICAg ICAgIH0KCiAgICAgICAgUmV0dXJuIChTTUlGKQogICAgfQoKICAgIFNjb3BlIChfU0IuUENJMCkK ICAgIHsKICAgICAgICBNZXRob2QgKF9JTkksIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBTdG9yZSAoT25lLCBQV1JTKQogICAgICAgICAgICBTdG9yZSAoMHgwN0QwLCBP U1lTKQogICAgICAgICAgICBJZiAoQ29uZFJlZk9mIChfT1NJLCBMb2NhbDApKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBJZiAoX09TSSAoIldpbmRvd3MgMjAwMSIpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA3RDEsIE9TWVMpCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKF9PU0kgKCJXaW5kb3dzIDIwMDEgU1AxIikp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDdEMSwgT1NZ UykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoX09TSSAoIldpbmRvd3Mg MjAwMSBTUDIiKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwN0QyLCBPU1lTKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChfT1NJ ICgiV2luZG93cyAyMDA2IikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDdENiwgT1NZUykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJ ZiAoX09TSSAoIldpbmRvd3MgMjAwOSIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDA3RDksIE9TWVMpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgSWYgKF9PU0kgKCJMaW51eCIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDAzRTgsIE9TWVMpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgSWYgKExBbmQgKE1QRU4sIExFcXVhbCAoT1NZUywgMHgwN0QxKSkpIHt9CiAgICAgICAg ICAgIH0KICAgICAgICB9CiAgICB9CgogICAgU2NvcGUgKFwpCiAgICB7CiAgICAgICAgTmFtZSAo UElDTSwgWmVybykKICAgIH0KCiAgICBTY29wZSAoX1NCLlBDSTApCiAgICB7CiAgICAgICAgRGV2 aWNlIChQRFJDKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5Q MEMwMiIpKQogICAgICAgICAgICBOYW1lIChfVUlELCBPbmUpCiAgICAgICAgICAgIE5hbWUgKEJV RjAsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTWVt b3J5MzJGaXhlZCAoUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAg ICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMCwgICAg ICAgICAvLyBBZGRyZXNzIExlbmd0aAogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAg ICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAw MDAwLCAgICAgICAgIC8vIEFkZHJlc3MgQmFzZQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDQw MDAsICAgICAgICAgLy8gQWRkcmVzcyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICApCiAgICAg ICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAg MHgwMDAwMDAwMCwgICAgICAgICAvLyBBZGRyZXNzIEJhc2UKICAgICAgICAgICAgICAgICAgICAw eDAwMDAxMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAg KQogICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLAogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwMTAwMCwgICAgICAgICAvLyBBZGRyZXNzIExlbmd0aAogICAgICAgICAgICAg ICAgICAgICkKICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwKICAgICAg ICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgQmFzZQogICAgICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBMZW5ndGgKICAgICAg ICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUs CiAgICAgICAgICAgICAgICAgICAgMHhGRUQyMDAwMCwgICAgICAgICAvLyBBZGRyZXNzIEJhc2UK ICAgICAgICAgICAgICAgICAgICAweDAwMDIwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3Ro CiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVh ZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4RkVENDUwMDAsICAgICAgICAgLy8gQWRkcmVz cyBCYXNlCiAgICAgICAgICAgICAgICAgICAgMHgwMDA0QjAwMCwgICAgICAgICAvLyBBZGRyZXNz IExlbmd0aAogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgfSkKICAgICAgICAgICAg TWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDA0LCBSQlIwKQogICAgICAgICAgICAgICAgU2hp ZnRMZWZ0ICheXkxQQ0IuUkNCQSwgMHgwRSwgUkJSMCkKICAgICAgICAgICAgICAgIENyZWF0ZURX b3JkRmllbGQgKEJVRjAsIDB4MTAsIE1CUjApCiAgICAgICAgICAgICAgICBTaGlmdExlZnQgKE1I QlIsIDB4MEUsIE1CUjApCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAw eDFDLCBEQlIwKQogICAgICAgICAgICAgICAgU2hpZnRMZWZ0IChESUJSLCAweDBDLCBEQlIwKQog ICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgyOCwgRUJSMCkKICAgICAg ICAgICAgICAgIFNoaWZ0TGVmdCAoRVBCUiwgMHgwQywgRUJSMCkKICAgICAgICAgICAgICAgIENy ZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MzQsIFhCUjApCiAgICAgICAgICAgICAgICBTaGlmdExl ZnQgKFBYQlIsIDB4MUEsIFhCUjApCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChC VUYwLCAweDM4LCBYU1owKQogICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoMHgxMDAwMDAwMCwg UFhTWiwgWFNaMCkKICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMCkKICAgICAgICAgICAgfQog ICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKEhLRFMsIDEsIFNlcmlhbGl6ZWQpCiAgICB7CiAg ICAgICAgSWYgKExFcXVhbCAoWmVybywgQW5kICgweDAzLCBEU0VOKSkpCiAgICAgICAgewogICAg ICAgICAgICBJZiAoTEVxdWFsIChUUkFQIChUUlRJLCBBcmcwKSwgWmVybykpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIElmIChMTm90RXF1YWwgKENBREwsIFBBREwpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChDQURMLCBQQURMKQogICAgICAgICAg ICAgICAgICAgIElmIChMT3IgKExHcmVhdGVyIChPU1lTLCAweDA3RDApLCBMTGVzcyAoT1NZUywg MHgwN0Q2KSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBO b3RpZnkgKFxfU0IuUENJMCwgWmVybykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgTm90aWZ5IChcX1NCLlBDSTAuR0ZYMCwgWmVybykKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAyRUUpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR0ZYMCwgMHg4MCkKICAgICAgICAgICAgfQog ICAgICAgIH0KCiAgICAgICAgSWYgKExFcXVhbCAoT25lLCBBbmQgKDB4MDMsIERTRU4pKSkKICAg ICAgICB7CiAgICAgICAgICAgIElmIChMRXF1YWwgKFRSQVAgKFRSVEksIEluY3JlbWVudCAoQXJn MCkpLCBaZXJvKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBD STAuR0ZYMCwgMHg4MSkKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAo XCkKICAgIHsKICAgICAgICBPcGVyYXRpb25SZWdpb24gKElPX1QsIFN5c3RlbUlPLCAweDA0ODAs IDB4MTApCiAgICAgICAgRmllbGQgKElPX1QsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAg ICAgICAgewogICAgICAgICAgICBUUlBJLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4MDQpLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MDYpLCAKICAgICAgICAg ICAgICAgICAgICBPZmZzZXQgKDB4MDgpLCAKICAgICAgICAgICAgVFJQMCwgICA4LCAKICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MEEpLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4MEIpLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MEMpLCAKICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4MEQpLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MEUp LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MEYpLCAKICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4MTApCiAgICAgICAgfQoKICAgICAgICBPcGVyYXRpb25SZWdpb24gKElPX0Qs IFN5c3RlbUlPLCAweDA5MDAsIDB4MDQpCiAgICAgICAgRmllbGQgKElPX0QsIEJ5dGVBY2MsIE5v TG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAgICAgICBUUlBELCAgIDgKICAgICAgICB9 CgogICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoSU9fSCwgU3lzdGVtSU8sIDB4MDQwMCwgMHgwNCkK ICAgICAgICBGaWVsZCAoSU9fSCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7 CiAgICAgICAgICAgIFRSUEgsICAgOAogICAgICAgIH0KCiAgICAgICAgT3BlcmF0aW9uUmVnaW9u IChQTUlPLCBTeXN0ZW1JTywgUE1CUywgMHg4MCkKICAgICAgICBGaWVsZCAoUE1JTywgQnl0ZUFj YywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDEwKSwgCiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgIFREVFksICAgMywg CiAgICAgICAgICAgIERUWUUsICAgMSwgCiAgICAgICAgICAgIERUWUYsICAgMywgCiAgICAgICAg ICAgIFRIVEwsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIyKSwgCiAgICAg ICAgICAgICAgICAsICAgNiwgCiAgICAgICAgICAgIFNMSUQsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweDI4KSwgCiAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAg IFNQU1QsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDQyKSwgCiAgICAgICAg ICAgICAgICAsICAgMSwgCiAgICAgICAgICAgIEdQRUMsICAgMSwgCiAgICAgICAgICAgICAgICAg ICAgT2Zmc2V0ICgweDY0KSwgCiAgICAgICAgICAgICAgICAsICAgOSwgCiAgICAgICAgICAgIFND SVMsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDY2KQogICAgICAgIH0KCiAg ICAgICAgT3BlcmF0aW9uUmVnaW9uIChHUElPLCBTeXN0ZW1JTywgR1BCUywgMHgzQykKICAgICAg ICBGaWVsZCAoR1BJTywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAg ICAgICAgIEdVMDAsICAgOCwgCiAgICAgICAgICAgIEdVMDEsICAgOCwgCiAgICAgICAgICAgIEdV MDIsICAgOCwgCiAgICAgICAgICAgIEdVMDMsICAgOCwgCiAgICAgICAgICAgIEdJTzAsICAgOCwg CiAgICAgICAgICAgIEdJTzEsICAgOCwgCiAgICAgICAgICAgIEdJTzIsICAgOCwgCiAgICAgICAg ICAgIEdJTzMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDBDKSwgCiAgICAg ICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgIEdPMDIsICAgMSwgCiAgICAgICAgICAgIEdP MDMsICAgMSwgCiAgICAgICAgICAgIEdPMDQsICAgMSwgCiAgICAgICAgICAgIEdPMDUsICAgMSwg CiAgICAgICAgICAgIEdJMDYsICAgMSwgCiAgICAgICAgICAgIEdJMDcsICAgMSwgCiAgICAgICAg ICAgICAgICAsICAgMSwgCiAgICAgICAgICAgIEdPMDksICAgMSwgCiAgICAgICAgICAgIEdPMTAs ICAgMSwgCiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgIEdPMTIsICAgMSwgCiAg ICAgICAgICAgIEdPMTMsICAgMSwgCiAgICAgICAgICAgIEdPMTQsICAgMSwgCiAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDBFKSwgCiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAg ICAgIEdJMTcsICAgMSwgCiAgICAgICAgICAgIEdJMTgsICAgMSwgCiAgICAgICAgICAgIEdJMTks ICAgMSwgCiAgICAgICAgICAgIEdJMjAsICAgMSwgCiAgICAgICAgICAgIEdJMjEsICAgMSwgCiAg ICAgICAgICAgIEdJMjIsICAgMSwgCiAgICAgICAgICAgIEdJMjMsICAgMSwgCiAgICAgICAgICAg IEdPMjQsICAgMSwgCiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAsICAg MSwgCiAgICAgICAgICAgIEdPMjcsICAgMSwgCiAgICAgICAgICAgIEdPMjgsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDEwKSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDE4KSwgCiAgICAgICAgICAgIEdCMDAsICAgOCwgCiAgICAgICAgICAgIEdCMDEsICAgOCwg CiAgICAgICAgICAgIEdCMDIsICAgOCwgCiAgICAgICAgICAgIEdCMDMsICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDJDKSwgCiAgICAgICAgICAgICAgICAsICAgNiwgCiAgICAg ICAgICAgIExJRFAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDJEKSwgCiAg ICAgICAgICAgIEdJVjEsICAgOCwgCiAgICAgICAgICAgIEdJVjIsICAgOCwgCiAgICAgICAgICAg IEdJVjMsICAgOCwgCiAgICAgICAgICAgIEdVMDQsICAgOCwgCiAgICAgICAgICAgIEdVMDUsICAg OCwgCiAgICAgICAgICAgIEdVMDYsICAgOCwgCiAgICAgICAgICAgIEdVMDcsICAgOCwgCiAgICAg ICAgICAgIEdJTzQsICAgOCwgCiAgICAgICAgICAgIEdJTzUsICAgOCwgCiAgICAgICAgICAgIEdJ TzYsICAgOCwgCiAgICAgICAgICAgIEdJTzcsICAgOCwgCiAgICAgICAgICAgICAgICAsICAgNSwg CiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDM5 KSwgCiAgICAgICAgICAgIEdMMDUsICAgOCwgCiAgICAgICAgICAgIEdMMDYsICAgOCwgCiAgICAg ICAgICAgIEdMMDcsICAgOAogICAgICAgIH0KCiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChSQ1JC LCBTeXN0ZW1NZW1vcnksIDB4RkVEMUMwMDAsIDB4NDAwMCkKICAgICAgICBGaWVsZCAoUkNSQiwg RFdvcmRBY2MsIExvY2ssIFByZXNlcnZlKQogICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MTAwMCksIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgzMDAwKSwgCiAg ICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDM0MDQpLCAKICAgICAgICAgICAgSFBBUywgICAy LCAKICAgICAgICAgICAgICAgICwgICA1LCAKICAgICAgICAgICAgSFBBRSwgICAxLCAKICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MzQxOCksIAogICAgICAgICAgICAgICAgLCAgIDEsIAog ICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICBTQVRELCAgIDEsIAogICAgICAgICAg ICBTTUJELCAgIDEsIAogICAgICAgICAgICBIREFELCAgIDEsIAogICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHgzNDFBKSwgCiAgICAgICAgICAgIFJQMUQsICAgMSwgCiAgICAgICAgICAgIFJQ MkQsICAgMSwgCiAgICAgICAgICAgIFJQM0QsICAgMSwgCiAgICAgICAgICAgIFJQNEQsICAgMSwg CiAgICAgICAgICAgIFJQNUQsICAgMSwgCiAgICAgICAgICAgIFJQNkQsICAgMQogICAgICAgIH0K CiAgICAgICAgTWV0aG9kIChHRVRQLCAxLCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAg ICAgSWYgKExFcXVhbCAoQW5kIChBcmcwLCAweDA5KSwgWmVybykpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgSWYgKExFcXVhbCAoQW5kIChBcmcwLCAweDA5KSwgMHgwOCkpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwMzg0KQogICAgICAgICAgICB9CgogICAgICAgICAgICBT aGlmdFJpZ2h0IChBbmQgKEFyZzAsIDB4MDMwMCksIDB4MDgsIExvY2FsMCkKICAgICAgICAgICAg U2hpZnRSaWdodCAoQW5kIChBcmcwLCAweDMwMDApLCAweDBDLCBMb2NhbDEpCiAgICAgICAgICAg IFJldHVybiAoTXVsdGlwbHkgKDB4MUUsIFN1YnRyYWN0ICgweDA5LCBBZGQgKExvY2FsMCwgTG9j YWwxKSkKICAgICAgICAgICAgICAgICkpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEdETUEs IDUsIFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoQXJnMCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgSWYgKExBbmQgKEFyZzEsIEFyZzQpKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgxNCkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBJZiAoTEFuZCAoQXJnMiwgQXJnNCkpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChNdWx0aXBseSAoU3VidHJhY3QgKDB4MDQsIEFy ZzMpLCAweDBGKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBSZXR1cm4gKE11 bHRpcGx5IChTdWJ0cmFjdCAoMHgwNCwgQXJnMyksIDB4MUUpKQogICAgICAgICAgICB9CgogICAg ICAgICAgICBSZXR1cm4gKDB4RkZGRkZGRkYpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEdF VFQsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKE11bHRpcGx5 ICgweDFFLCBTdWJ0cmFjdCAoMHgwOSwgQWRkIChBbmQgKFNoaWZ0UmlnaHQgKEFyZzAsIDB4MDIK ICAgICAgICAgICAgICAgICksIDB4MDMpLCBBbmQgKEFyZzAsIDB4MDMpKSkpKQogICAgICAgIH0K CiAgICAgICAgTWV0aG9kIChHRVRGLCAzLCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAg ICAgTmFtZSAoVE1QRiwgWmVybykKICAgICAgICAgICAgSWYgKEFyZzApCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIE9yIChUTVBGLCBPbmUsIFRNUEYpCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIElmIChBbmQgKEFyZzIsIDB4MDIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBPciAoVE1QRiwgMHgwMiwgVE1QRikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKEFy ZzEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE9yIChUTVBGLCAweDA0LCBUTVBGKQog ICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoQW5kIChBcmcyLCAweDIwKSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgT3IgKFRNUEYsIDB4MDgsIFRNUEYpCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIElmIChBbmQgKEFyZzIsIDB4NDAwMCkpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIE9yIChUTVBGLCAweDEwLCBUTVBGKQogICAgICAgICAgICB9CgogICAgICAgICAg ICBSZXR1cm4gKFRNUEYpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKFNFVFAsIDMsIFNlcmlh bGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoTEdyZWF0ZXIgKEFyZzAsIDB4RjApKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDgpCiAgICAgICAgICAgIH0K ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoQW5kIChB cmcxLCAweDAyKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTEFu ZCAoTExlc3NFcXVhbCAoQXJnMCwgMHg3OCksIEFuZCAoQXJnMiwgMHgwMikpKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDIzMDEpCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTExlc3NFcXVh bCAoQXJnMCwgMHhCNCksIEFuZCAoQXJnMiwgT25lKSkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MjEwMSkKICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuICgweDEwMDEpCiAg ICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoU0RNQSwgMSwgU2VyaWFsaXpl ZCkKICAgICAgICB7CiAgICAgICAgICAgIElmIChMTGVzc0VxdWFsIChBcmcwLCAweDE0KSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIElmIChMTGVzc0VxdWFsIChBcmcwLCAweDFFKSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAo TExlc3NFcXVhbCAoQXJnMCwgMHgyRCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJl dHVybiAoT25lKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTExlc3NFcXVhbCAoQXJn MCwgMHgzQykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKExMZXNzRXF1YWwgKEFyZzAsIDB4NUEpKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKE9uZSkKICAgICAgICAgICAgfQoKICAg ICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChTRVRULCAz LCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKEFuZCAoQXJnMSwgMHgwMikp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChMQW5kIChMTGVzc0VxdWFsIChBcmcw LCAweDc4KSwgQW5kIChBcmcyLCAweDAyKSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IElmIChMQW5kIChMTGVzc0VxdWFsIChBcmcwLCAweEI0KSwgQW5kIChBcmcyLCBPbmUpKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFJldHVybiAoMHgwNCkKICAgICAg ICB9CiAgICB9CgogICAgU2NvcGUgKF9TQi5QQ0kwKQogICAgewogICAgICAgIERldmljZSAoU0FU MCkKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRjAwMDIpCiAgICAgICAg ICAgIE9wZXJhdGlvblJlZ2lvbiAoU0FDUywgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkKICAgICAg ICAgICAgRmllbGQgKFNBQ1MsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBQUklULCAgIDE2LCAKICAgICAgICAgICAgICAgIFNFQ1QsICAg MTYsIAogICAgICAgICAgICAgICAgUFNJVCwgICA0LCAKICAgICAgICAgICAgICAgIFNTSVQsICAg NCwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOCksIAogICAgICAgICAgICAg ICAgU1lOQywgICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDBBKSwgCiAg ICAgICAgICAgICAgICBTRFQwLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAg ICAgICAgICAgICAgIFNEVDEsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAo MHgwQiksIAogICAgICAgICAgICAgICAgU0RUMiwgICAyLCAKICAgICAgICAgICAgICAgICAgICAs ICAgMiwgCiAgICAgICAgICAgICAgICBTRFQzLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4MTQpLCAKICAgICAgICAgICAgICAgIElDUjAsICAgNCwgCiAgICAgICAgICAg ICAgICBJQ1IxLCAgIDQsIAogICAgICAgICAgICAgICAgSUNSMiwgICA0LCAKICAgICAgICAgICAg ICAgIElDUjMsICAgNCwgCiAgICAgICAgICAgICAgICBJQ1I0LCAgIDQsIAogICAgICAgICAgICAg ICAgSUNSNSwgICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDUwKSwgCiAg ICAgICAgICAgICAgICBNQVBWLCAgIDIKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAg RGV2aWNlIChTQVQxKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFGMDAw NSkKICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChTQUNTLCBQQ0lfQ29uZmlnLCAweDQwLCAw eEMwKQogICAgICAgICAgICBGaWVsZCAoU0FDUywgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFBSSVQsICAgMTYsIAogICAgICAgICAgICAg ICAgU0VDVCwgICAxNiwgCiAgICAgICAgICAgICAgICBQU0lULCAgIDQsIAogICAgICAgICAgICAg ICAgU1NJVCwgICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA4KSwgCiAg ICAgICAgICAgICAgICBTWU5DLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4MEEpLCAKICAgICAgICAgICAgICAgIFNEVDAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAg LCAgIDIsIAogICAgICAgICAgICAgICAgU0RUMSwgICAyLCAKICAgICAgICAgICAgICAgICAgICAg ICAgT2Zmc2V0ICgweDBCKSwgCiAgICAgICAgICAgICAgICBTRFQyLCAgIDIsIAogICAgICAgICAg ICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgIFNEVDMsICAgMiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHgxNCksIAogICAgICAgICAgICAgICAgSUNSMCwgICA0LCAK ICAgICAgICAgICAgICAgIElDUjEsICAgNCwgCiAgICAgICAgICAgICAgICBJQ1IyLCAgIDQsIAog ICAgICAgICAgICAgICAgSUNSMywgICA0LCAKICAgICAgICAgICAgICAgIElDUjQsICAgNCwgCiAg ICAgICAgICAgICAgICBJQ1I1LCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4NTApLCAKICAgICAgICAgICAgICAgIE1BUFYsICAgMgogICAgICAgICAgICB9CiAgICAgICAg fQoKICAgICAgICBEZXZpY2UgKFNCVVMpCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfQURS LCAweDAwMUYwMDAzKQogICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFNNQlAsIFBDSV9Db25m aWcsIDB4NDAsIDB4QzApCiAgICAgICAgICAgIEZpZWxkIChTTUJQLCBEV29yZEFjYywgTm9Mb2Nr LCBQcmVzZXJ2ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAg ICAgICAgICAgICAgIEkyQ0UsICAgMQogICAgICAgICAgICB9CgogICAgICAgICAgICBPcGVyYXRp b25SZWdpb24gKFNNQkksIFN5c3RlbUlPLCAweDFDMDAsIDB4MTApCiAgICAgICAgICAgIEZpZWxk IChTTUJJLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBIU1RTLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MDIp LCAKICAgICAgICAgICAgICAgIEhDT04sICAgOCwgCiAgICAgICAgICAgICAgICBIQ09NLCAgIDgs IAogICAgICAgICAgICAgICAgVFhTQSwgICA4LCAKICAgICAgICAgICAgICAgIERBVDAsICAgOCwg CiAgICAgICAgICAgICAgICBEQVQxLCAgIDgsIAogICAgICAgICAgICAgICAgSEJEUiwgICA4LCAK ICAgICAgICAgICAgICAgIFBFQ1IsICAgOCwgCiAgICAgICAgICAgICAgICBSWFNBLCAgIDgsIAog ICAgICAgICAgICAgICAgU0RBVCwgICAxNgogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRo b2QgKFNTWEIsIDIsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElm IChTVFJUICgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAo WmVybykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSTJD RSkKICAgICAgICAgICAgICAgIFN0b3JlICgweEJGLCBIU1RTKQogICAgICAgICAgICAgICAgU3Rv cmUgKEFyZzAsIFRYU0EpCiAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMSwgSENPTSkKICAgICAg ICAgICAgICAgIFN0b3JlICgweDQ4LCBIQ09OKQogICAgICAgICAgICAgICAgSWYgKENPTVAgKCkp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT3IgKEhTVFMsIDB4RkYsIEhT VFMpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBN ZXRob2QgKFNSWEIsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IElmIChTVFJUICgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHhGRkZGKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFN0b3JlIChaZXJv LCBJMkNFKQogICAgICAgICAgICAgICAgU3RvcmUgKDB4QkYsIEhTVFMpCiAgICAgICAgICAgICAg ICBTdG9yZSAoT3IgKEFyZzAsIE9uZSksIFRYU0EpCiAgICAgICAgICAgICAgICBTdG9yZSAoMHg0 NCwgSENPTikKICAgICAgICAgICAgICAgIElmIChDT01QICgpKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIE9yIChIU1RTLCAweEZGLCBIU1RTKQogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoREFUMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4RkZGRikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTV1JCLCAzLCBT ZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoU1RSVCAoKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEkyQ0UpCiAgICAgICAgICAg ICAgICBTdG9yZSAoMHhCRiwgSFNUUykKICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBUWFNB KQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIEhDT00pCiAgICAgICAgICAgICAgICBTdG9y ZSAoQXJnMiwgREFUMCkKICAgICAgICAgICAgICAgIFN0b3JlICgweDQ4LCBIQ09OKQogICAgICAg ICAgICAgICAgSWYgKENPTVAgKCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgT3IgKEhTVFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmUp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAg ICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFNSREIsIDIsIFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIElmIChTVFJUICgpKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIFN0b3JlIChaZXJvLCBJMkNFKQogICAgICAgICAgICAgICAgU3RvcmUgKDB4QkYs IEhTVFMpCiAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKEFyZzAsIE9uZSksIFRYU0EpCiAgICAg ICAgICAgICAgICBTdG9yZSAoQXJnMSwgSENPTSkKICAgICAgICAgICAgICAgIFN0b3JlICgweDQ4 LCBIQ09OKQogICAgICAgICAgICAgICAgSWYgKENPTVAgKCkpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgT3IgKEhTVFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChEQVQwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVy biAoMHhGRkZGKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFNXUlcsIDMsIFNl cmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChTVFJUICgpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSTJDRSkKICAgICAgICAgICAg ICAgIFN0b3JlICgweEJGLCBIU1RTKQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIFRYU0Ep CiAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMSwgSENPTSkKICAgICAgICAgICAgICAgIEFuZCAo QXJnMiwgMHhGRiwgREFUMCkKICAgICAgICAgICAgICAgIEFuZCAoU2hpZnRSaWdodCAoQXJnMiwg MHgwOCksIDB4RkYsIERBVDEpCiAgICAgICAgICAgICAgICBTdG9yZSAoMHg0QywgSENPTikKICAg ICAgICAgICAgICAgIElmIChDT01QICgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIE9yIChIU1RTLCAweEZGLCBIU1RTKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAo T25lKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTUkRXLCAyLCBTZXJpYWxpemVkKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoU1RSVCAoKSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZGRikKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSTJDRSkKICAgICAgICAgICAgICAgIFN0b3JlICgw eEJGLCBIU1RTKQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChBcmcwLCBPbmUpLCBUWFNBKQog ICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIEhDT00pCiAgICAgICAgICAgICAgICBTdG9yZSAo MHg0QywgSENPTikKICAgICAgICAgICAgICAgIElmIChDT01QICgpKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIE9yIChIU1RTLCAweEZGLCBIU1RTKQogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoT3IgKFNoaWZ0TGVmdCAoREFUMSwgMHgwOCksIERBVDApKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTQkxXLCA0LCBTZXJpYWxpemVkKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBJZiAoU1RSVCAoKSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgU3RvcmUgKEFyZzMsIEkyQ0UpCiAgICAgICAgICAgICAgICBTdG9yZSAoMHhCRiwgSFNU UykKICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBUWFNBKQogICAgICAgICAgICAgICAgU3Rv cmUgKEFyZzEsIEhDT00pCiAgICAgICAgICAgICAgICBTdG9yZSAoU2l6ZU9mIChBcmcyKSwgREFU MCkKICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDEpCiAgICAgICAgICAgICAgICBT dG9yZSAoRGVyZWZPZiAoSW5kZXggKEFyZzIsIFplcm8pKSwgSEJEUikKICAgICAgICAgICAgICAg IFN0b3JlICgweDU0LCBIQ09OKQogICAgICAgICAgICAgICAgV2hpbGUgKExHcmVhdGVyIChTaXpl T2YgKEFyZzIpLCBMb2NhbDEpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDBGQTAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTEFuZCAo TE5vdCAoQW5kIChIU1RTLCAweDgwKSksIExvY2FsMCkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU3RhbGwgKDB4MzIpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBJZiAoTE5vdCAoTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIEtJTEwgKCkKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICha ZXJvKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 ODAsIEhTVFMpCiAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChMb2NhbDEpCiAgICAgICAg ICAgICAgICAgICAgSWYgKExHcmVhdGVyIChTaXplT2YgKEFyZzIpLCBMb2NhbDEpKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKElu ZGV4IChBcmcyLCBMb2NhbDEpKSwgSEJEUikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKENPTVAgKCkpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgT3IgKEhTVFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0 dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFNCTFIsIDMsIFNl cmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKFRCVUYsIEJ1ZmZl ciAoMHgwMTAwKSB7fSkKICAgICAgICAgICAgICAgIElmIChTVFJUICgpKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMiwgSTJDRSkKICAgICAgICAgICAgICAgIFN0b3Jl ICgweEJGLCBIU1RTKQogICAgICAgICAgICAgICAgU3RvcmUgKE9yIChBcmcwLCBPbmUpLCBUWFNB KQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIEhDT00pCiAgICAgICAgICAgICAgICBTdG9y ZSAoMHg1NCwgSENPTikKICAgICAgICAgICAgICAgIFN0b3JlICgweDBGQTAsIExvY2FsMCkKICAg ICAgICAgICAgICAgIFdoaWxlIChMQW5kIChMTm90IChBbmQgKEhTVFMsIDB4ODApKSwgTG9jYWww KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICBTdGFsbCAoMHgzMikKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBJZiAoTE5vdCAoTG9jYWwwKSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBLSUxMICgpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFN0b3JlIChEQVQwLCBJbmRleCAoVEJV RiwgWmVybykpCiAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MCwgSFNUUykKICAgICAgICAgICAg ICAgIFN0b3JlIChPbmUsIExvY2FsMSkKICAgICAgICAgICAgICAgIFdoaWxlIChMTGVzcyAoTG9j YWwxLCBEZXJlZk9mIChJbmRleCAoVEJVRiwgWmVybykpKSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwRkEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgV2hpbGUgKExBbmQgKExOb3QgKEFuZCAoSFNUUywgMHg4MCkpLCBMb2NhbDApKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgIFN0YWxsICgweDMyKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExvY2FsMCkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBLSUxMICgpCiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChIQkRSLCBJbmRleCAoVEJVRiwgTG9jYWwxKSkKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHg4MCwgSFNUUykKICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQgKExv Y2FsMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoQ09NUCAoKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPciAoSFNUUywgMHhGRiwgSFNUUykK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFRCVUYpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRo b2QgKFNUUlQsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN0 b3JlICgweEM4LCBMb2NhbDApCiAgICAgICAgICAgICAgICBXaGlsZSAoTG9jYWwwKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEhTVFMsIDB4NDApKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwIChPbmUpCiAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lKQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICha ZXJvLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIFN0b3JlICgweDBGQTAsIExvY2FsMCkKICAgICAgICAgICAgICAgIFdoaWxl IChMb2NhbDApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAo SFNUUywgT25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdGFsbCAoMHgzMikK ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCBaZXJvKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgS0lMTCAoKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoWmVybykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgUmV0dXJuIChPbmUpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IE1ldGhvZCAoQ09NUCwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgU3RvcmUgKDB4MEZBMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgV2hpbGUgKExvY2FsMCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChIU1RTLCAweDAy KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo T25lKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RhbGwgKDB4MzIpCiAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtJTEwgKCkKICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAo S0lMTCwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgT3IgKEhD T04sIDB4MDIsIEhDT04pCiAgICAgICAgICAgICAgICBPciAoSFNUUywgMHhGRiwgSFNUUykKICAg ICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoX0dQRSkKICAgIHsKICAgICAg ICBNZXRob2QgKF9MMDEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBQ OFhIIChaZXJvLCBPbmUpCiAgICAgICAgICAgIElmIChMQW5kIChMRXF1YWwgKFJQMUQsIFplcm8p LCBcX1NCLlBDSTAuUlAwMS5IUFNYKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU2xl ZXAgKDB4NjQpCiAgICAgICAgICAgICAgICBJZiAoXF9TQi5QQ0kwLlJQMDEuUERDWCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBcX1NCLlBDSTAuUlAw MS5QRENYKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFxfU0IuUENJMC5SUDAxLkhQ U1gpCiAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuUlAwMSwgWmVybykKICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBcX1NCLlBDSTAuUlAwMS5IUFNYKQogICAgICAg ICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTEFuZCAoTEVxdWFsIChS UDJELCBaZXJvKSwgXF9TQi5QQ0kwLlJQMDIuSFBTWCkpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIElmIChcX1NCLlBDSTAuUlAwMi5QRENYKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChPbmUsIFxfU0IuUENJMC5SUDAyLlBEQ1gpCiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKE9uZSwgXF9TQi5QQ0kwLlJQMDIuSFBTWCkKICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoT25lLCBcX1NCLlBDSTAuUlAwMi5IUFNYKQogICAgICAgICAgICAgICAgfQog ICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTEFuZCAoTEVxdWFsIChSUDNELCBaZXJvKSwg XF9TQi5QQ0kwLlJQMDMuSFBTWCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChc X1NCLlBDSTAuUlAwMy5QRENYKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IFN0b3JlIChPbmUsIFxfU0IuUENJMC5SUDAzLlBEQ1gpCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKE9uZSwgXF9TQi5QQ0kwLlJQMDMuSFBTWCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo T25lLCBcX1NCLlBDSTAuUlAwMy5IUFNYKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9 CgogICAgICAgICAgICBJZiAoTEFuZCAoTEVxdWFsIChSUDRELCBaZXJvKSwgXF9TQi5QQ0kwLlJQ MDQuSFBTWCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChcX1NCLlBDSTAuUlAw NC5QRENYKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUs IFxfU0IuUENJMC5SUDA0LlBEQ1gpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgXF9T Qi5QQ0kwLlJQMDQuSFBTWCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBcX1NCLlBD STAuUlAwNC5IUFNYKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBJZiAoTEFuZCAoTEVxdWFsIChSUDVELCBaZXJvKSwgXF9TQi5QQ0kwLlJQMDUuSFBTWCkpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChcX1NCLlBDSTAuUlAwNS5QRENYKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFxfU0IuUENJMC5S UDA1LlBEQ1gpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgXF9TQi5QQ0kwLlJQMDUu SFBTWCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBcX1NCLlBDSTAuUlAwNS5IUFNY KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTEFuZCAo TEVxdWFsIChSUDZELCBaZXJvKSwgXF9TQi5QQ0kwLlJQMDYuSFBTWCkpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIElmIChcX1NCLlBDSTAuUlAwNi5QRENYKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFxfU0IuUENJMC5SUDA2LlBEQ1gpCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKE9uZSwgXF9TQi5QQ0kwLlJQMDYuSFBTWCkKICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoT25lLCBcX1NCLlBDSTAuUlAwNi5IUFNYKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMDYsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoTEFuZCAoXF9TQi5QQ0kw LkdGWDAuR1NTRSwgTE5vdCAoR1NNSSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBc X1NCLlBDSTAuR0ZYMC5HU0NJICgpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKFxfU0IuUENJMC5FU0NT LCAweDA4KSwgMHgwOCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKE9uZSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuVDBJ UywgXF9TQi5QQ0kwLlQwSVMpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5U MElTLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5UMUlTLCBc X1NCLlBDSTAuVDFJUykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLlQxSVMs IExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBTQ0lTKQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChPbmUsIFxfU0IuUENJMC5HVFNFKQogICAgICAgICAgICAgICAgICAg IElmIChDb25kUmVmT2YgKFxfU0IuUENJMC5UTUVNLkdQRUgpKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlRNRU0uR1BFSCAoKQogICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBTQ0lTKQogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9M MDcsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoMHgyMCwg XF9TQi5QQ0kwLlNCVVMuSFNUUykKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwOSwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlBF R1AsIDB4MDIpCiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlBFR1AuVkdBLCAweDAyKQog ICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5SUDAxLCAweDAyKQogICAgICAgICAgICBOb3Rp ZnkgKFxfU0IuUENJMC5SUDAyLCAweDAyKQogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5S UDAzLCAweDAyKQogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5SUDA0LCAweDAyKQogICAg ICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5SUDA1LCAweDAyKQogICAgICAgICAgICBOb3RpZnkg KFxfU0IuUENJMC5SUDA2LCAweDAyKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfTDBCLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAu UDBQMSwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwMywgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjAsIDB4MDIp CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMDQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgewogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0IxLCAweDAyKQogICAgICAgIH0K CiAgICAgICAgTWV0aG9kIChfTDBDLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAg ICAgICAgTm90aWZ5IChcX1NCLlBDSTAuVVNCMiwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1l dGhvZCAoX0wyMCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlm eSAoXF9TQi5QQ0kwLlVTQlIsIDB4MDIpCiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVT QjUsIDB4MDIpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMEQsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgewogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5FSEMxLCAweDAyKQog ICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5FSEMyLCAweDAyKQogICAgICAgICAgICBOb3Rp ZnkgKFxfU0IuUENJMC5IREVGLCAweDAyKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfTDBF LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBD STAuVVNCMywgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwNSwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjQsIDB4 MDIpCiAgICAgICAgfQogICAgfQoKICAgIFNjb3BlIChfU0IuUENJMCkKICAgIHsKICAgICAgICBE ZXZpY2UgKFdNSTEpCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfSElELCAiUE5QMEMxNCIp CiAgICAgICAgICAgIE5hbWUgKF9VSUQsICJNWE0zIikKICAgICAgICAgICAgTmFtZSAoX1dERywg QnVmZmVyICgweDNDKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAvKiAwMDAwICovICAg IDB4M0MsIDB4NUMsIDB4Q0IsIDB4RjYsIDB4QUUsIDB4OUMsIDB4QkQsIDB4NEUsIAogICAgICAg ICAgICAgICAgLyogMDAwOCAqLyAgICAweEI1LCAweDc3LCAweDkzLCAweDFFLCAweEEzLCAweDJB LCAweDJDLCAweEMwLCAKICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8gICAgMHg0RCwgMHg1OCwg MHgwMSwgMHgwMiwgMHg1NywgMHg5MywgMHg4QSwgMHhGMiwgCiAgICAgICAgICAgICAgICAvKiAw MDE4ICovICAgIDB4NEIsIDB4Q0YsIDB4MUEsIDB4NEEsIDB4ODgsIDB4OTMsIDB4QkIsIDB4MUYs IAogICAgICAgICAgICAgICAgLyogMDAyMCAqLyAgICAweDU4LCAweEVFLCAweEExLCAweEFGLCAw eEQxLCAweDAwLCAweDAxLCAweDA4LCAKICAgICAgICAgICAgICAgIC8qIDAwMjggKi8gICAgMHgy MSwgMHgxMiwgMHg5MCwgMHgwNSwgMHg2NiwgMHhENSwgMHhEMSwgMHgxMSwgCiAgICAgICAgICAg ICAgICAvKiAwMDMwICovICAgIDB4QjIsIDB4RjAsIDB4MDAsIDB4QTAsIDB4QzksIDB4MDYsIDB4 MjksIDB4MTAsIAogICAgICAgICAgICAgICAgLyogMDAzOCAqLyAgICAweDU4LCAweDRELCAweDAx LCAweDAwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE1ldGhvZCAoV01NWCwgMywgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyRXF1YWwg KFNpemVPZiAoQXJnMiksIDB4MDQpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzIsIFplcm8sIEZVTkMpCiAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMiwgMHgwNCwgQVJHUykKICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChGVU5DLCAweDQ5NEQ1ODREKSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoXl5QRUdQLlZHQS5NWE1JIChBUkdTKSkKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoRlVOQywgMHg1MzRE NTg0RCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoXl5QRUdQLlZHQS5NWE1TIChBUkdTKSkKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKFdRWE0s IEJ1ZmZlciAoMHgwMjlDKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAvKiAwMDAwICov ICAgIDB4NDYsIDB4NEYsIDB4NEQsIDB4NDIsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAg ICAgICAgICAgICAgLyogMDAwOCAqLyAgICAweDhCLCAweDAyLCAweDAwLCAweDAwLCAweDBDLCAw eDA4LCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8gICAgMHg0NCwgMHg1 MywgMHgwMCwgMHgwMSwgMHgxQSwgMHg3RCwgMHhEQSwgMHg1NCwgCiAgICAgICAgICAgICAgICAv KiAwMDE4ICovICAgIDB4MTgsIDB4RDIsIDB4ODMsIDB4MDAsIDB4MDEsIDB4MDYsIDB4MTgsIDB4 NDIsIAogICAgICAgICAgICAgICAgLyogMDAyMCAqLyAgICAweDEwLCAweDA1LCAweDEwLCAweDhB LCAweEU2LCAweDgwLCAweDQyLCAweDA0LCAKICAgICAgICAgICAgICAgIC8qIDAwMjggKi8gICAg MHg5MiwgMHg0MywgMHhBNCwgMHgzMCwgMHgzMCwgMHgyOCwgMHgwQiwgMHgyMCwgCiAgICAgICAg ICAgICAgICAvKiAwMDMwICovICAgIDB4ODYsIDB4OTAsIDB4MEIsIDB4MjYsIDB4MjYsIDB4NDAs IDB4MDQsIDB4ODQsIAogICAgICAgICAgICAgICAgLyogMDAzOCAqLyAgICAweEJDLCAweDBBLCAw eEIwLCAweDI5LCAweEMwLCAweDI0LCAweDg4LCAweEZBLCAKICAgICAgICAgICAgICAgIC8qIDAw NDAgKi8gICAgMHhGNywgMHg4NywgMHgyOCwgMHgwOSwgMHgwRSwgMHgyNSwgMHgwNCwgMHg0Miwg CiAgICAgICAgICAgICAgICAvKiAwMDQ4ICovICAgIDB4MTIsIDB4MDUsIDB4OTgsIDB4MTcsIDB4 QTAsIDB4NUIsIDB4ODAsIDB4NjEsIAogICAgICAgICAgICAgICAgLyogMDA1MCAqLyAgICAweDAx LCAweEI2LCAweDA1LCAweDk4LCAweDE2LCAweEUwLCAweDE4LCAweDkyLCAKICAgICAgICAgICAg ICAgIC8qIDAwNTggKi8gICAgMHg0QSwgMHgwMywgMHhBNywgMHgwNCwgMHg5NiwgMHgwMiwgMHgy MSwgMHhBMSwgCiAgICAgICAgICAgICAgICAvKiAwMDYwICovICAgIDB4MDIsIDB4OTQsIDB4MEIs IDB4RjAsIDB4MkQsIDB4NDAsIDB4M0IsIDB4QTIsIAogICAgICAgICAgICAgICAgLyogMDA2OCAq LyAgICAweDI0LCAweDBCLCAweEIwLCAweDBDLCAweDIzLCAweDAyLCAweDhGLCAweDgyLCAKICAg ICAgICAgICAgICAgIC8qIDAwNzAgKi8gICAgMHhBMSwgMHg3MSwgMHg2OCwgMHhFQywgMHgzMCwg MHgyQywgMHgxMywgMHg0QywgCiAgICAgICAgICAgICAgICAvKiAwMDc4ICovICAgIDB4ODMsIDB4 MzgsIDB4OEMsIDB4QjIsIDB4OTEsIDB4NDUsIDB4NjAsIDB4REMsIAogICAgICAgICAgICAgICAg LyogMDA4MCAqLyAgICAweDRFLCAweDA1LCAweEM4LCAweDE1LCAweDIwLCAweDRDLCAweDgwLCAw eDc4LCAKICAgICAgICAgICAgICAgIC8qIDAwODggKi8gICAgMHg1NCwgMHg2MSwgMHgzNCwgMHgw NywgMHg0NSwgMHhFMCwgMHg0MiwgMHg2MywgCiAgICAgICAgICAgICAgICAvKiAwMDkwICovICAg IDB4NjQsIDB4NDAsIDB4QzgsIDB4QTMsIDB4MDAsIDB4QUIsIDB4QTMsIDB4RDAsIAogICAgICAg ICAgICAgICAgLyogMDA5OCAqLyAgICAweEE0LCAweDEyLCAweEQ4LCAweEJELCAweDAwLCAweDhE LCAweDAyLCAweEI0LCAKICAgICAgICAgICAgICAgIC8qIDAwQTAgKi8gICAgMHgwOSwgMHg3MCwg MHgyOCwgMHg0MCwgMHhBMSwgMHgwMCwgMHg2QiwgMHgxOCwgCiAgICAgICAgICAgICAgICAvKiAw MEE4ICovICAgIDB4NzIsIDB4MDYsIDB4MjEsIDB4NUIsIDB4RDgsIDB4QzIsIDB4NjgsIDB4NTAs IAogICAgICAgICAgICAgICAgLyogMDBCMCAqLyAgICAweDgwLCAweDQ1LCAweDE0LCAweDhELCAw eEUwLCAweDJDLCAweDJBLCAweDlFLCAKICAgICAgICAgICAgICAgIC8qIDAwQjggKi8gICAgMHg5 MywgMHg1MCwgMHgwMiwgMHhEQSwgMHgxQiwgMHg4MiwgMHhGMCwgMHg4QywgCiAgICAgICAgICAg ICAgICAvKiAwMEMwICovICAgIDB4RDksIDB4MTgsIDB4OUUsIDB4MTAsIDB4ODMsIDB4NTQsIDB4 ODYsIDB4MjEsIAogICAgICAgICAgICAgICAgLyogMDBDOCAqLyAgICAweDg4LCAweEI4LCAweDEx LCAweDhFLCAweEE1LCAweEZELCAweDQxLCAweDEwLCAKICAgICAgICAgICAgICAgIC8qIDAwRDAg Ki8gICAgMHhGOSwgMHhBQiwgMHhENywgMHhCOCwgMHgxRCwgMHg2OSwgMHgzNCwgMHhBOCwgCiAg ICAgICAgICAgICAgICAvKiAwMEQ4ICovICAgIDB4QjEsIDB4MjYsIDB4MzgsIDB4NzYsIDB4OEYs IDB4RTYsIDB4ODQsIDB4M0IsIAogICAgICAgICAgICAgICAgLyogMDBFMCAqLyAgICAweDE3LCAw eDIwLCAweDdELCAweDZFLCAweDAyLCAweDM5LCAweEJBLCAweEQzLCAKICAgICAgICAgICAgICAg IC8qIDAwRTggKi8gICAgMHhBOCwgMHg3MywgMHhEMCwgMHg2NCwgMHg3OCwgMHgwQywgMHgyQiwg MHhDMSwgCiAgICAgICAgICAgICAgICAvKiAwMEYwICovICAgIDB4N0YsIDB4ODAsIDB4NEYsIDB4 MDEsIDB4NzgsIDB4RDcsIDB4ODAsIDB4OUEsIAogICAgICAgICAgICAgICAgLyogMDBGOCAqLyAg ICAweEZFLCAweEMxLCAweDMzLCAweDQxLCAweDcwLCAweEE4LCAweDIxLCAweDdBLCAKICAgICAg ICAgICAgICAgIC8qIDAxMDAgKi8gICAgMHhENCwgMHhFMSwgMHg0RSwgMHhFMCwgMHhCQywgMHg4 RSwgMHg4NCwgMHg0MSwgCiAgICAgICAgICAgICAgICAvKiAwMTA4ICovICAgIDB4MUMsIDB4RDEs IDB4NzEsIDB4NjMsIDB4NjcsIDB4NzUsIDB4MzIsIDB4MDcsIAogICAgICAgICAgICAgICAgLyog MDExMCAqLyAgICAweDVELCAweEFBLCAweDAwLCAweEIzLCAweDA3LCAweDAwLCAweDBELCAweDJF LCAKICAgICAgICAgICAgICAgIC8qIDAxMTggKi8gICAgMHhDMSwgMHg2OSwgMHg5RiwgMHg0OSwg MHhFOCwgMHhGNywgMHg4MCwgMHhGMywgCiAgICAgICAgICAgICAgICAvKiAwMTIwICovICAgIDB4 RTksIDB4NzksIDB4NkMsIDB4NkMsIDB4MTAsIDB4QTgsIDB4OTEsIDB4RjksIAogICAgICAgICAg ICAgICAgLyogMDEyOCAqLyAgICAweEZGLCAweDBGLCAweEVELCAweDQxLCAweDlFLCAweDU2LCAw eENDLCAweDkwLCAKICAgICAgICAgICAgICAgIC8qIDAxMzAgKi8gICAgMHhDRiwgMHgwMiwgMHg4 NywgMHhDNSwgMHhDNCwgMHgxRSwgMHgxOSwgMHhFOCwgCiAgICAgICAgICAgICAgICAvKiAwMTM4 ICovICAgIDB4NzgsIDB4QzAsIDB4N0YsIDB4MDAsIDB4NzgsIDB4MzQsIDB4ODgsIDB4RjAsIAog ICAgICAgICAgICAgICAgLyogMDE0MCAqLyAgICAweDY2LCAweEUwLCAweEY5LCAweDlBLCAweDYw LCAweDUwLCAweDA4LCAweDM5LCAKICAgICAgICAgICAgICAgIC8qIDAxNDggKi8gICAgMHgxOSwg MHgwRiwgMHg0QSwgMHhDQywgMHhGOSwgMHg4MCwgMHhDQywgMHgyNSwgCiAgICAgICAgICAgICAg ICAvKiAwMTUwICovICAgIDB4QzQsIDB4NDMsIDB4QzAsIDB4MzEsIDB4QzQsIDB4MDgsIDB4N0Es IDB4NDYsIAogICAgICAgICAgICAgICAgLyogMDE1OCAqLyAgICAweDQ1LCAweDIzLCAweDZCLCAw eDIyLCAweDNFLCAweDAzLCAweDc4LCAweERDLCAKICAgICAgICAgICAgICAgIC8qIDAxNjAgKi8g ICAgMHg5NiwgMHgwNSwgMHg0MiwgMHgwOSwgMHgwQywgMHhFQywgMHg3MywgMHhDMywgCiAgICAg ICAgICAgICAgICAvKiAwMTY4ICovICAgIDB4M0IsIDB4ODQsIDB4NjEsIDB4NzEsIDB4QTMsIDB4 MDksIDB4RUMsIDB4RjMsIAogICAgICAgICAgICAgICAgLyogMDE3MCAqLyAgICAweDg1LCAweDA1 LCAweDBFLCAweDBBLCAweDA1LCAweEVCLCAweEJCLCAweDQyLCAKICAgICAgICAgICAgICAgIC8q IDAxNzggKi8gICAgMHhDQywgMHhFNywgMHg4MSwgMHhFMywgMHgzQywgMHg2MCwgMHgwQiwgMHg5 RiwgCiAgICAgICAgICAgICAgICAvKiAwMTgwICovICAgIDB4MjgsIDB4MDEsIDB4M0UsIDB4MjQs IDB4OEYsIDB4MDYsIDB4REUsIDB4MjAsIAogICAgICAgICAgICAgICAgLyogMDE4OCAqLyAgICAw eEUxLCAweDVCLCAweDNGLCAweDAyLCAweDEwLCAweEUwLCAweDI3LCAweDA2LCAKICAgICAgICAg ICAgICAgIC8qIDAxOTAgKi8gICAgMHgxMywgMHg1OCwgMHgxRSwgMHgzMCwgMHg3QSwgMHg5NCwg MHhGNiwgMHgyQiwgCiAgICAgICAgICAgICAgICAvKiAwMTk4ICovICAgIDB4MDAsIDB4MjEsIDB4 RjgsIDB4OEIsIDB4QzUsIDB4NTMsIDB4QzAsIDB4RUIsIAogICAgICAgICAgICAgICAgLyogMDFB MCAqLyAgICAweDQwLCAweDg0LCAweDYzLCAweDgxLCAweDI5LCAweDcyLCAweDZDLCAweDY4LCAK ICAgICAgICAgICAgICAgIC8qIDAxQTggKi8gICAgMHg3OCwgMHg3RSwgMHg3MCwgMHg4OCwgMHgx RSwgMHhGNSwgMHg1QywgMHhDMiwgCiAgICAgICAgICAgICAgICAvKiAwMUIwICovICAgIDB4MUYs IDB4NEQsIDB4OTQsIDB4NTMsIDB4MzgsIDB4MUMsIDB4MUYsIDB4MzksIAogICAgICAgICAgICAg ICAgLyogMDFCOCAqLyAgICAweDhDLCAweDEwLCAweEZFLCAweDQ5LCAweEUzLCAweEM5LCAweEMz LCAweDlBLCAKICAgICAgICAgICAgICAgIC8qIDAxQzAgKi8gICAgMHhFRiwgMHgwMCwgMHg5QSwg MHhEMiwgMHg1QiwgMHhDMCwgMHhGQiwgMHg4MywgCiAgICAgICAgICAgICAgICAvKiAwMUM4ICov ICAgIDB4NDcsIDB4ODAsIDB4MTEsIDB4MjAsIDB4RTEsIDB4NjgsIDB4ODIsIDB4ODksIAogICAg ICAgICAgICAgICAgLyogMDFEMCAqLyAgICAweDdDLCAweDNBLCAweDAxLCAweEQ1LCAweEZGLCAw eEZGLCAweDc0LCAweDAyLCAKICAgICAgICAgICAgICAgIC8qIDAxRDggKi8gICAgMHhCOCwgMHhC QSwgMHgwMSwgMHgxNCwgMHgzNywgMHg2QSwgMHg5RCwgMHg0OSwgCiAgICAgICAgICAgICAgICAv KiAwMUUwICovICAgIDB4N0MsIDB4MkMsIDB4RjEsIDB4QUQsIDB4RTQsIDB4QkMsIDB4NDMsIDB4 QzUsIAogICAgICAgICAgICAgICAgLyogMDFFOCAqLyAgICAweDdGLCAweDkzLCAweDc4LCAweDNB LCAweEYxLCAweDM0LCAweDFFLCAweDRDLCAKICAgICAgICAgICAgICAgIC8qIDAxRjAgKi8gICAg MHg0MiwgMHg0NCwgMHg4OSwgMHgxOCwgMHgyMSwgMHhBMiwgMHhFRiwgMHgyNywgCiAgICAgICAg ICAgICAgICAvKiAwMUY4ICovICAgIDB4NDYsIDB4MDgsIDB4MTUsIDB4MzEsIDB4NkMsIDB4QTQs IDB4MzcsIDB4ODAsIAogICAgICAgICAgICAgICAgLyogMDIwMCAqLyAgICAweEU3LCAweDEzLCAw eEUzLCAweDg0LCAweDA4LCAweEY0LCAweDc0LCAweEMyLCAKICAgICAgICAgICAgICAgIC8qIDAy MDggKi8gICAgMHg0MiwgMHgzRSwgMHgzNCwgMHhBNCwgMHhFMSwgMHg3NCwgMHgwMiwgMHg1MCwg CiAgICAgICAgICAgICAgICAvKiAwMjEwICovICAgIDB4RTAsIDB4RkYsIDB4N0YsIDB4M0EsIDB4 ODEsIDB4MUYsIDB4RjUsIDB4NzQsIAogICAgICAgICAgICAgICAgLyogMDIxOCAqLyAgICAweDgy LCAweDFFLCAweEFFLCAweDRGLCAweDE5LCAweDE4LCAweEU0LCAweDAzLCAKICAgICAgICAgICAg ICAgIC8qIDAyMjAgKi8gICAgMHhGMiwgMHhBOSwgMHhDMywgMHhGNywgMHgxRiwgMHgxMywgMHhG OCwgMHg3OCwgCiAgICAgICAgICAgICAgICAvKiAwMjI4ICovICAgIDB4QzIsIDB4NDUsIDB4MUQs IDB4NEYsIDB4NTAsIDB4QTcsIDB4MDcsIDB4MUYsIAogICAgICAgICAgICAgICAgLyogMDIzMCAq LyAgICAweDRGLCAweEQ4LCAweDE5LCAweEUxLCAweDJDLCAweDFFLCAweDAzLCAweDdDLCAKICAg ICAgICAgICAgICAgIC8qIDAyMzggKi8gICAgMHgzQSwgMHhDMSwgMHhEQywgMHgxMywgMHg3Qywg MHgzQSwgMHgwMSwgMHhEQiwgCiAgICAgICAgICAgICAgICAvKiAwMjQwICovICAgIDB4NjgsIDB4 NjAsIDB4MUMsIDB4NEYsIDB4QzAsIDB4NzcsIDB4NzQsIDB4QzEsIAogICAgICAgICAgICAgICAg LyogMDI0OCAqLyAgICAweDFELCAweDRGLCAweEMwLCAweDMwLCAweDE4LCAweDE4LCAweEU3LCAw eDEzLCAKICAgICAgICAgICAgICAgIC8qIDAyNTAgKi8gICAgMHhFMCwgMHgzMSwgMHg1RSwgMHhE QywgMHgzMSwgMHhDMCwgMHg0MywgMHhFMCwgCiAgICAgICAgICAgICAgICAvKiAwMjU4ICovICAg IDB4MDMsIDB4NzgsIDB4REMsIDB4MzgsIDB4M0QsIDB4MkIsIDB4OUQsIDB4MTQsIAogICAgICAg ICAgICAgICAgLyogMDI2MCAqLyAgICAweEYyLCAweDI0LCAweEMyLCAweDA3LCAweDg1LCAweDM5 LCAweEIwLCAweEUwLCAKICAgICAgICAgICAgICAgIC8qIDAyNjggKi8gICAgMHgxNCwgMHhEQSwg MHhGNCwgMHhBOSwgMHhEMSwgMHhBOCwgMHg1NSwgMHg4MywgCiAgICAgICAgICAgICAgICAvKiAw MjcwICovICAgIDB4MzIsIDB4MzUsIDB4Q0EsIDB4MzQsIDB4QTgsIDB4RDUsIDB4QTcsIDB4NTIs IAogICAgICAgICAgICAgICAgLyogMDI3OCAqLyAgICAweDYzLCAweEM2LCAweENFLCAweDE5LCAw eDBFLCAweEY4LCAweDEwLCAweEQwLCAKICAgICAgICAgICAgICAgIC8qIDAyODAgKi8gICAgMHg4 OSwgMHhDMCwgMHhGMiwgMHg5RSwgMHgwRCwgMHgwMiwgMHhCMSwgMHgwQywgCiAgICAgICAgICAg ICAgICAvKiAwMjg4ICovICAgIDB4MEEsIDB4ODEsIDB4NTgsIDB4RkEsIDB4QUIsIDB4NDUsIDB4 MjAsIDB4MEUsIAogICAgICAgICAgICAgICAgLyogMDI5MCAqLyAgICAweDBFLCAweEEyLCAweEZG LCAweDNGLCAweDg4LCAweDIzLCAweEQyLCAweDBBLCAKICAgICAgICAgICAgICAgIC8qIDAyOTgg Ki8gICAgMHhDNCwgMHhGRiwgMHg3RiwgMHg3RgogICAgICAgICAgICB9KQogICAgICAgIH0KICAg IH0KCiAgICBTY29wZSAoX1NCLlBDSTAuUEVHUC5WR0EpCiAgICB7CiAgICAgICAgTWV0aG9kIChN WE1JLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKEdJMTcpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN0b3JlICgiPDwgIFpSNiBpcyBub3QgdXNlIE1Y TSAgPj4gIiwgRGVidWcpCiAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAg IH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MzApCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoTVhNUywgMSwg Tm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmIChHSTE3KQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoIjw8ICBaUjYgaXMgbm90IHVzZSBNWE0gID4+ICIs IERlYnVnKQogICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CiAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChNWDMwKQog ICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBOYW1lIChNWDMwLCBCdWZmZXIgKDB4MkQp CiAgICAgICAgewogICAgICAgICAgICAvKiAwMDAwICovICAgIDB4NEQsIDB4NTgsIDB4NEQsIDB4 NUYsIDB4MDMsIDB4MDAsIDB4MjUsIDB4MDAsIAogICAgICAgICAgICAvKiAwMDA4ICovICAgIDB4 MzAsIDB4MTEsIDB4QjgsIDB4RkYsIDB4RjksIDB4M0UsIDB4MEEsIDB4MDAsIAogICAgICAgICAg ICAvKiAwMDEwICovICAgIDB4MDAsIDB4MDAsIDB4OEEsIDB4RkQsIDB4RjksIDB4M0UsIDB4MEEs IDB4MDAsIAogICAgICAgICAgICAvKiAwMDE4ICovICAgIDB4MjAsIDB4MjksIDB4RDIsIDB4RkMs IDB4RjksIDB4M0UsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAvKiAwMDIwICovICAgIDB4MDEs IDB4OTAsIDB4MDEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4OTAsIDB4MDEsIAogICAgICAgICAgICAv KiAwMDI4ICovICAgIDB4MTMsIDB4MDAsIDB4OTAsIDB4MDEsIDB4NkUKICAgICAgICB9KQogICAg ICAgIE1ldGhvZCAoX0RTTSwgNCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAg IE5hbWUgKF9UXzAsIFplcm8pCiAgICAgICAgICAgIElmIChHSTE3KQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBTdG9yZSAoIjw8ICBaUjYgaXMgbm90IHVzZSBNWE0gID4+ICIsIERlYnVn KQogICAgICAgICAgICAgICAgU3RvcmUgKCJfRFNNIEZ1bmN0aW9uIG5vdCBzdXBwb3J0ZWQiLCBE ZWJ1ZykKICAgICAgICAgICAgICAgIFJldHVybiAoMHg4MDAwMDAwMikKICAgICAgICAgICAgfQoK ICAgICAgICAgICAgSWYgKExFcXVhbCAoVUNNUCAoQXJnMCwgQnVmZmVyICgweDEwKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICov ICAgIDB4MDAsIDB4QTQsIDB4MDQsIDB4NDAsIDB4N0QsIDB4OTEsIDB4RjIsIDB4NEMsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgICAweEI4LCAweDlDLCAweDc5LCAw eEI2LCAweDJGLCAweEQ1LCAweDU2LCAweDY1CiAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBP bmUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoIl9EU00gVVVJRCBpcyBN WE0sIFN1Yi1mdW5jdGlvbiA9ICIsIERlYnVnKQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzIs IERlYnVnKQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzIsIF9UXzApCiAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChfVF8wLCBaZXJvKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoIl9EU00gRnVuY3Rpb24gMCIsIERlYnVnKQogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwMTAxMDA2MSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChf VF8wLCAweDE4KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgiX0RTTSBGdW5jdGlvbiAyNCIsIERlYnVnKQogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MzApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKF9UXzAsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoIl9EU00gRnVuY3Rpb24gMTYiLCBEZWJ1ZykKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTVgzMCkKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKF9UXzAsIDB4MDUpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgiX0RTTSBGdW5jdGlvbiA1IiwgRGVidWcpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKCJBcmczID0gIiwgRGVidWcpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEFyZzMsIERlYnVnKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoTVhEUCAoQXJnMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoX1RfMCwg MHgwNikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIl9EU00gRnVuY3Rpb24gNiIsIERlYnVnKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE1EVEwpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBTdG9yZSAoIl9EU00gRnVuY3Rpb24gbm90 IHN1cHBvcnRlZCIsIERlYnVnKQogICAgICAgICAgICBSZXR1cm4gKDB4ODAwMDAwMDIpCiAgICAg ICAgfQoKICAgICAgICBNZXRob2QgKFVDTVAsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBJZiAoTE5vdEVxdWFsICgweDEwLCBTaXplT2YgKEFyZzApKSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAg ICAgICBJZiAoTE5vdEVxdWFsICgweDEwLCBTaXplT2YgKEFyZzEpKSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBT dG9yZSAoWmVybywgTG9jYWwwKQogICAgICAgICAgICBXaGlsZSAoTExlc3MgKExvY2FsMCwgMHgx MCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChMTm90RXF1YWwgKERlcmVmT2Yg KEluZGV4IChBcmcwLCBMb2NhbDApKSwgRGVyZWZPZiAoSW5kZXggKAogICAgICAgICAgICAgICAg ICAgIEFyZzEsIExvY2FsMCkpKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSW5jcmVt ZW50IChMb2NhbDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFJldHVybiAoT25lKQogICAg ICAgIH0KCiAgICAgICAgTmFtZSAoVExTTiwgMHgwMTAwKQogICAgICAgIE1ldGhvZCAoTVhEUCwg MSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmIChBbmQgKERlcmVmT2Yg KEluZGV4IChBcmcwLCAweDAzKSksIE9uZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IEFuZCAoRGVyZWZPZiAoSW5kZXggKEFyZzAsIE9uZSkpLCAweEYwLCBMb2NhbDApCiAgICAgICAg ICAgICAgICBBbmQgKERlcmVmT2YgKEluZGV4IChBcmcwLCBaZXJvKSksIDB4MEYsIExvY2FsMSkK ICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIExvY2FsMSwgTG9jYWwwKQogICAgICAgICAgICAg ICAgU3RvcmUgKFVORFMgKExvY2FsMCksIExvY2FsMikKICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKExvY2FsMiwgT25lKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMTAwLCBUTFNOKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMTAxKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMiwgMHgw MikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDIwMCwg VExTTikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIwMSkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDIsIDB4MDMpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzMDAsIFRMU04pCiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAzMDEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoTG9jYWwyLCAweDA0KSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwNDAwLCBUTFNOKQogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwNDAxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKExvY2FsMiwgMHgwNSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDUwMCwgVExTTikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDUwMSkK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDIsIDB4 MDgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA2MDAs IFRMU04pCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA2MDEpCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwyLCAweDA5KSkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNzAwLCBUTFNOKQogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwNzAxKQogICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAxMDAsIFRMU04pCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxMDEpCiAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBSZXR1cm4gKFRMU04pCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAg ICAgIE5hbWUgKE1EVEwsIFBhY2thZ2UgKDB4MEMpCiAgICAgICAgewogICAgICAgICAgICAweDAx MTAsIAogICAgICAgICAgICAweDJDLCAKICAgICAgICAgICAgMHg4MDAwMDEwMCwgCiAgICAgICAg ICAgIDB4MkMsIAogICAgICAgICAgICAweDAxMTAsIAogICAgICAgICAgICAweDgwMDAwMTAwLCAK ICAgICAgICAgICAgMHgyQywgCiAgICAgICAgICAgIDB4ODAwODczMzAsIAogICAgICAgICAgICAw eDJDLCAKICAgICAgICAgICAgMHgwMTEwLCAKICAgICAgICAgICAgMHg4MDA4NzMzMCwgCiAgICAg ICAgICAgIDB4MkMKICAgICAgICB9KQogICAgfQoKICAgIFNjb3BlIChfU0IuUENJMCkKICAgIHsK ICAgICAgICBOYW1lIChESVNXLCBPbmUpCiAgICAgICAgTmFtZSAoU1dJVCwgT25lKQogICAgICAg IE5hbWUgKExDREEsIE9uZSkKICAgICAgICBOYW1lIChDUlRBLCBPbmUpCiAgICAgICAgTmFtZSAo SERNQSwgT25lKQogICAgICAgIE5hbWUgKERQMEEsIE9uZSkKICAgICAgICBOYW1lIChQRFNQLCBa ZXJvKQogICAgICAgIE5hbWUgKENEU1AsIFplcm8pCiAgICAgICAgTWV0aG9kIChEUlVMLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MDYsIFpl cm8pLCBDRFNQKQogICAgICAgICAgICBVTkRTIChDRFNQKQogICAgICAgICAgICBOb3RpZnkgKF5Q RUdQLlZHQSwgMHg4MCkKICAgICAgICB9CgogICAgICAgIE5hbWUgKFRHTFQsIFBhY2thZ2UgKDB4 MDgpCiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDBBKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAg IE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAg ICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25l LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUKICAgICAgICAgICAg fSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDBBKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBPbmUsIAogICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICBPbmUsIAog ICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAg ICAgT25lLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAg ICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIE9uZQogICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgIFBhY2thZ2UgKDB4MEEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE9u ZSwgCiAgICAgICAgICAgICAgICAweDA1LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAg ICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIDB4MDQs IAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAg ICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lCiAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgUGFja2FnZSAoMHgwQSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgT25lLCAKICAg ICAgICAgICAgICAgIDB4MDksIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAg IE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAg ICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25l LCAKICAgICAgICAgICAgICAgIDB4MDgKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNr YWdlICgweDBBKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAg ICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAweDA1LCAKICAgICAgICAgICAgICAgIDB4MDIs IAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAg ICAgICAgT25lLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAog ICAgICAgICAgICAgICAgT25lCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwQSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAg IDB4MDMsIAogICAgICAgICAgICAgICAgMHgwOSwgCiAgICAgICAgICAgICAgICAweDAyLCAKICAg ICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAg T25lLCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAg ICAgICAgICAgMHgwOAogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MEEp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICAweDA1 LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAg ICAgICAgMHgwOSwgCiAgICAgICAgICAgICAgICAweDA0LCAKICAgICAgICAgICAgICAgIE9uZSwg CiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAg ICAgIDB4MDgKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDBBKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgMHgwMywgCiAg ICAgICAgICAgICAgICAweDA1LCAKICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAg ICAgMHgwOSwgCiAgICAgICAgICAgICAgICAweDA0LCAKICAgICAgICAgICAgICAgIE9uZSwgCiAg ICAgICAgICAgICAgICBPbmUsIAogICAgICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAg IDB4MDgKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoVEdMUCwgWmVybykK ICAgICAgICBNZXRob2QgKFVORFMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAg ICAgICBTdG9yZSAoU2hpZnRSaWdodCAoQW5kIChBcmcwLCAweEYwKSwgMHgwNCksIExvY2FsMCkK ICAgICAgICAgICAgQW5kIChBcmcwLCAweDBGLCBMb2NhbDEpCiAgICAgICAgICAgIElmIChMRXF1 YWwgKExvY2FsMSwgT25lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKFpl cm8sIFRHTFApCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDEsIDB4MDMpKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPbmUsIFRHTFApCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTG9jYWwxLCAweDA1KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBUR0xQKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDEsIDB4MDkpKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywgVEdM UCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMRXF1YWwgKExvY2FsMSwgMHgwNykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQsIFRHTFApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoTG9jYWwxLCAweDBCKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA1LCBU R0xQKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDEsIDB4MEQp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNiwgVEdMUCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMSwgMHgwRikpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDcsIFRHTFApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFN0 b3JlIChEZXJlZk9mIChJbmRleCAoRGVyZWZPZiAoSW5kZXggKFRHTFQsIFRHTFApKSwgTG9jYWww KSksIAogICAgICAgICAgICAgICAgTG9jYWwyKQogICAgICAgICAgICBTaGlmdFJpZ2h0IChBbmQg KExvY2FsMiwgT25lKSwgWmVybywgTENEQSkKICAgICAgICAgICAgU2hpZnRSaWdodCAoQW5kIChM b2NhbDIsIDB4MDIpLCBPbmUsIENSVEEpCiAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoTG9j YWwyLCAweDA0KSwgMHgwMiwgSERNQSkKICAgICAgICAgICAgU2hpZnRSaWdodCAoQW5kIChMb2Nh bDIsIDB4MDgpLCAweDAzLCBEUDBBKQogICAgICAgICAgICBSZXR1cm4gKExvY2FsMikKICAgICAg ICB9CiAgICB9CgogICAgTmFtZSAoX1MwLCBQYWNrYWdlICgweDA0KQogICAgewogICAgICAgIFpl cm8sIAogICAgICAgIFplcm8sIAogICAgICAgIFplcm8sIAogICAgICAgIFplcm8KICAgIH0pCiAg ICBOYW1lIChfUzMsIFBhY2thZ2UgKDB4MDQpCiAgICB7CiAgICAgICAgMHgwNSwgCiAgICAgICAg WmVybywgCiAgICAgICAgWmVybywgCiAgICAgICAgWmVybwogICAgfSkKICAgIE5hbWUgKF9TNCwg UGFja2FnZSAoMHgwNCkKICAgIHsKICAgICAgICAweDA2LCAKICAgICAgICBaZXJvLCAKICAgICAg ICBaZXJvLCAKICAgICAgICBaZXJvCiAgICB9KQogICAgTmFtZSAoX1M1LCBQYWNrYWdlICgweDA0 KQogICAgewogICAgICAgIDB4MDcsIAogICAgICAgIFplcm8sIAogICAgICAgIFplcm8sIAogICAg ICAgIFplcm8KICAgIH0pCiAgICBTY29wZSAoXCkKICAgIHsKICAgICAgICBOYW1lIChTU0RULCBQ YWNrYWdlICgweDBDKQogICAgICAgIHsKICAgICAgICAgICAgIkNQVTBJU1QgIiwgCiAgICAgICAg ICAgIDB4N0ZEMUFDQTAsIAogICAgICAgICAgICAweDAwMDAwMjIzLCAKICAgICAgICAgICAgIkFQ SVNUICAgIiwgCiAgICAgICAgICAgIDB4N0ZEMUFBMjAsIAogICAgICAgICAgICAweDAwMDAwMUNG LCAKICAgICAgICAgICAgIkNQVTBDU1QgIiwgCiAgICAgICAgICAgIDB4N0ZEMTk2MjAsIAogICAg ICAgICAgICAweDAwMDAwNUIzLCAKICAgICAgICAgICAgIkFQQ1NUICAgIiwgCiAgICAgICAgICAg IDB4N0ZEMUFGMjAsIAogICAgICAgICAgICAweDAwMDAwMDhECiAgICAgICAgfSkKICAgICAgICBO YW1lIChDRkdELCAweDE1M0IwODcxKQogICAgICAgIE5hbWUgKFxQREMwLCAweDgwMDAwMDAwKQog ICAgICAgIE5hbWUgKFxQREMxLCAweDgwMDAwMDAwKQogICAgICAgIE5hbWUgKFxQREMyLCAweDgw MDAwMDAwKQogICAgICAgIE5hbWUgKFxQREMzLCAweDgwMDAwMDAwKQogICAgICAgIE5hbWUgKFxT RFRMLCBaZXJvKQogICAgfQoKICAgIFNjb3BlIChcX1BSLkNQVTApCiAgICB7CiAgICAgICAgTmFt ZSAoSEkwLCBaZXJvKQogICAgICAgIE5hbWUgKEhDMCwgWmVybykKICAgICAgICBNZXRob2QgKF9Q REMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoQ1BEQyAo QXJnMCksIExvY2FsMCkKICAgICAgICAgICAgR0NBUCAoTG9jYWwwKQogICAgICAgICAgICBSZXR1 cm4gKExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX09TQywgNCwgTm90U2VyaWFs aXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChDT1NDIChBcmcwLCBBcmcxLCBBcmcy LCBBcmczKSwgTG9jYWwwKQogICAgICAgICAgICBHQ0FQIChMb2NhbDApCiAgICAgICAgICAgIFJl dHVybiAoTG9jYWwwKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChDUERDLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgWmVy bywgUkVWUykKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgwNCwgU0laRSkK ICAgICAgICAgICAgU3RvcmUgKFNpemVPZiAoQXJnMCksIExvY2FsMCkKICAgICAgICAgICAgU3Rv cmUgKFN1YnRyYWN0IChMb2NhbDAsIDB4MDgpLCBMb2NhbDEpCiAgICAgICAgICAgIENyZWF0ZUZp ZWxkIChBcmcwLCAweDQwLCBNdWx0aXBseSAoTG9jYWwxLCAweDA4KSwgVEVNUCkKICAgICAgICAg ICAgTmFtZSAoU1RTMCwgQnVmZmVyICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAweDAwLCAweDAwLCAweDAwLCAweDAwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIENvbmNh dGVuYXRlIChTVFMwLCBURU1QLCBMb2NhbDIpCiAgICAgICAgICAgIFJldHVybiAoQ09TQyAoQnVm ZmVyICgweDEwKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIC8qIDAwMDAg Ki8gICAgMHgxNiwgMHhBNiwgMHg3NywgMHg0MCwgMHgwQywgMHgyOSwgMHhCRSwgMHg0NywgCiAg ICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgICAweDlFLCAweEJELCAweEQ4LCAweDcwLCAw eDU4LCAweDcxLCAweDM5LCAweDUzCiAgICAgICAgICAgICAgICB9LCBSRVZTLCBTSVpFLCBMb2Nh bDIpKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChDT1NDLCA0LCBOb3RTZXJpYWxpemVkKQog ICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMywgWmVybywgU1RTMCkK ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMywgMHgwNCwgQ0FQMCkKICAgICAgICAg ICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgWmVybywgSUlEMCkKICAgICAgICAgICAgQ3JlYXRl RFdvcmRGaWVsZCAoQXJnMCwgMHgwNCwgSUlEMSkKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVs ZCAoQXJnMCwgMHgwOCwgSUlEMikKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwg MHgwQywgSUlEMykKICAgICAgICAgICAgTmFtZSAoVUlEMCwgQnVmZmVyICgweDEwKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAvKiAwMDAwICovICAgIDB4MTYsIDB4QTYsIDB4NzcsIDB4 NDAsIDB4MEMsIDB4MjksIDB4QkUsIDB4NDcsIAogICAgICAgICAgICAgICAgLyogMDAwOCAqLyAg ICAweDlFLCAweEJELCAweEQ4LCAweDcwLCAweDU4LCAweDcxLCAweDM5LCAweDUzCiAgICAgICAg ICAgIH0pCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFVJRDAsIFplcm8sIEVJRDApCiAg ICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFVJRDAsIDB4MDQsIEVJRDEpCiAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKFVJRDAsIDB4MDgsIEVJRDIpCiAgICAgICAgICAgIENyZWF0ZURX b3JkRmllbGQgKFVJRDAsIDB4MEMsIEVJRDMpCiAgICAgICAgICAgIElmIChMTm90IChMQW5kIChM QW5kIChMRXF1YWwgKElJRDAsIEVJRDApLCBMRXF1YWwgKElJRDEsIEVJRDEpKSwgCiAgICAgICAg ICAgICAgICBMQW5kIChMRXF1YWwgKElJRDIsIEVJRDIpLCBMRXF1YWwgKElJRDMsIEVJRDMpKSkp KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNiwgU1RTMCkKICAgICAg ICAgICAgICAgIFJldHVybiAoQXJnMykKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKExO b3RFcXVhbCAoQXJnMSwgT25lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUg KDB4MEEsIFNUUzApCiAgICAgICAgICAgICAgICBSZXR1cm4gKEFyZzMpCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIFJldHVybiAoQXJnMykKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoR0NB UCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKEFyZzAsIFplcm8sIFNUUzApCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAs IDB4MDQsIENBUDApCiAgICAgICAgICAgIElmIChMT3IgKExFcXVhbCAoU1RTMCwgMHgwNiksIExF cXVhbCAoU1RTMCwgMHgwQSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4g KFplcm8pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChBbmQgKFNUUzAsIE9uZSkpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEFuZCAoQ0FQMCwgMHgwQkZGLCBDQVAwKQogICAg ICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBPciAo QW5kIChQREMwLCAweDdGRkZGRkZGKSwgQ0FQMCwgUERDMCkKICAgICAgICAgICAgSWYgKEFuZCAo Q0ZHRCwgT25lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKExBbmQgKExBbmQg KEFuZCAoQ0ZHRCwgMHgwMTAwMDAwMCksIExFcXVhbCAoQW5kIChQREMwLCAKICAgICAgICAgICAg ICAgICAgICAweDA5KSwgMHgwOSkpLCBMTm90IChBbmQgKFNEVEwsIE9uZSkpKSkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPciAoU0RUTCwgT25lLCBTRFRMKQogICAgICAg ICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoSVNUMCwgU3lzdGVtTWVtb3J5LCBEZXJlZk9m IChJbmRleCAoU1NEVCwgT25lKSksIERlcmVmT2YgKEluZGV4IChTU0RULCAweDAyCiAgICAgICAg ICAgICAgICAgICAgICAgICkpKQogICAgICAgICAgICAgICAgICAgIExvYWQgKElTVDAsIEhJMCkK ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAoQ0ZH RCwgMHhGMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChMQW5kIChMQW5kIChB bmQgKENGR0QsIDB4MDEwMDAwMDApLCBBbmQgKFBEQzAsIDB4MTgKICAgICAgICAgICAgICAgICAg ICApKSwgTE5vdCAoQW5kIChTRFRMLCAweDAyKSkpKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIE9yIChTRFRMLCAweDAyLCBTRFRMKQogICAgICAgICAgICAgICAgICAgIE9w ZXJhdGlvblJlZ2lvbiAoQ1NUMCwgU3lzdGVtTWVtb3J5LCBEZXJlZk9mIChJbmRleCAoU1NEVCwg MHgwNykpLCBEZXJlZk9mIChJbmRleCAoU1NEVCwgMHgwOAogICAgICAgICAgICAgICAgICAgICAg ICApKSkKICAgICAgICAgICAgICAgICAgICBMb2FkIChDU1QwLCBIQzApCiAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICB9CiAg ICB9CgogICAgU2NvcGUgKFxfUFIuQ1BVMSkKICAgIHsKICAgICAgICBOYW1lIChISTEsIFplcm8p CiAgICAgICAgTmFtZSAoSEMxLCBaZXJvKQogICAgICAgIE1ldGhvZCAoX1BEQywgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChcX1BSLkNQVTAuQ1BEQyAoQXJn MCksIExvY2FsMCkKICAgICAgICAgICAgR0NBUCAoTG9jYWwwKQogICAgICAgICAgICBSZXR1cm4g KExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX09TQywgNCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChcX1BSLkNQVTAuQ09TQyAoQXJnMCwgQXJn MSwgQXJnMiwgQXJnMyksIExvY2FsMCkKICAgICAgICAgICAgR0NBUCAoTG9jYWwwKQogICAgICAg ICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoR0NBUCwgMSwg Tm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFy ZzAsIFplcm8sIFNUUzEpCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MDQs IENBUDEpCiAgICAgICAgICAgIElmIChMT3IgKExFcXVhbCAoU1RTMSwgMHgwNiksIExFcXVhbCAo U1RTMSwgMHgwQSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8p CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChBbmQgKFNUUzEsIE9uZSkpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIEFuZCAoQ0FQMSwgMHgwQkZGLCBDQVAxKQogICAgICAgICAg ICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBPciAoQW5kIChQ REMxLCAweDdGRkZGRkZGKSwgQ0FQMSwgUERDMSkKICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5k IChQREMwLCAweDA5KSwgMHgwOSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEFQUFQg KCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAoUERDMCwgMHgxOCkpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIEFQQ1QgKCkKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgUmV0dXJuIChaZXJvKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChBUENULCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAoQ0ZHRCwgMHhG MCksIExOb3QgKEFuZCAoU0RUTCwgMHgyMAogICAgICAgICAgICAgICAgKSkpKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBPciAoU0RUTCwgMHgyMCwgU0RUTCkKICAgICAgICAgICAgICAg IE9wZXJhdGlvblJlZ2lvbiAoQ1NUMSwgU3lzdGVtTWVtb3J5LCBEZXJlZk9mIChJbmRleCAoU1NE VCwgMHgwQSkpLCBEZXJlZk9mIChJbmRleCAoU1NEVCwgMHgwQgogICAgICAgICAgICAgICAgICAg ICkpKQogICAgICAgICAgICAgICAgTG9hZCAoQ1NUMSwgSEMxKQogICAgICAgICAgICB9CiAgICAg ICAgfQoKICAgICAgICBNZXRob2QgKEFQUFQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChDRkdELCBPbmUpLCBMTm90IChBbmQgKFNEVEwsIDB4 MTAKICAgICAgICAgICAgICAgICkpKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgT3Ig KFNEVEwsIDB4MTAsIFNEVEwpCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKElTVDEs IFN5c3RlbU1lbW9yeSwgRGVyZWZPZiAoSW5kZXggKFNTRFQsIDB4MDQpKSwgRGVyZWZPZiAoSW5k ZXggKFNTRFQsIDB4MDUKICAgICAgICAgICAgICAgICAgICApKSkKICAgICAgICAgICAgICAgIExv YWQgKElTVDEsIEhJMSkKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAo XF9QUi5DUFUyKQogICAgewogICAgICAgIE1ldGhvZCAoX1BEQywgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChcX1BSLkNQVTAuQ1BEQyAoQXJnMCksIExvY2Fs MCkKICAgICAgICAgICAgR0NBUCAoTG9jYWwwKQogICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkK ICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX09TQywgNCwgTm90U2VyaWFsaXplZCkKICAgICAg ICB7CiAgICAgICAgICAgIFN0b3JlIChcX1BSLkNQVTAuQ09TQyAoQXJnMCwgQXJnMSwgQXJnMiwg QXJnMyksIExvY2FsMCkKICAgICAgICAgICAgR0NBUCAoTG9jYWwwKQogICAgICAgICAgICBSZXR1 cm4gKExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoR0NBUCwgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIFplcm8s IFNUUzIpCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MDQsIENBUDIpCiAg ICAgICAgICAgIElmIChMT3IgKExFcXVhbCAoU1RTMiwgMHgwNiksIExFcXVhbCAoU1RTMiwgMHgw QSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIElmIChBbmQgKFNUUzIsIE9uZSkpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIEFuZCAoQ0FQMiwgMHgwQkZGLCBDQVAyKQogICAgICAgICAgICAgICAgUmV0 dXJuIChaZXJvKQogICAgICAgICAgICB9CgogICAgICAgICAgICBPciAoQW5kIChQREMyLCAweDdG RkZGRkZGKSwgQ0FQMiwgUERDMikKICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChQREMyLCAw eDA5KSwgMHgwOSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfUFIuQ1BVMS5BUFBU ICgpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChBbmQgKFBEQzIsIDB4MTgpKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBcX1BSLkNQVTEuQVBDVCAoKQogICAgICAgICAgICB9 CgogICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgfQogICAgfQoKICAgIFNjb3BlIChc X1BSLkNQVTMpCiAgICB7CiAgICAgICAgTWV0aG9kIChfUERDLCAxLCBOb3RTZXJpYWxpemVkKQog ICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKFxfUFIuQ1BVMC5DUERDIChBcmcwKSwgTG9jYWww KQogICAgICAgICAgICBHQ0FQIChMb2NhbDApCiAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfT1NDLCA0LCBOb3RTZXJpYWxpemVkKQogICAgICAg IHsKICAgICAgICAgICAgU3RvcmUgKFxfUFIuQ1BVMC5DT1NDIChBcmcwLCBBcmcxLCBBcmcyLCBB cmczKSwgTG9jYWwwKQogICAgICAgICAgICBHQ0FQIChMb2NhbDApCiAgICAgICAgICAgIFJldHVy biAoTG9jYWwwKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChHQ0FQLCAxLCBOb3RTZXJpYWxp emVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgWmVybywg U1RTMykKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgwNCwgQ0FQMykKICAg ICAgICAgICAgSWYgKExPciAoTEVxdWFsIChTVFMzLCAweDA2KSwgTEVxdWFsIChTVFMzLCAweDBB KSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAoU1RTMywgT25lKSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgQW5kIChDQVAzLCAweDBCRkYsIENBUDMpCiAgICAgICAgICAgICAgICBSZXR1 cm4gKFplcm8pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE9yIChBbmQgKFBEQzMsIDB4N0ZG RkZGRkYpLCBDQVAzLCBQREMzKQogICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKFBEQzIsIDB4 MDkpLCAweDA5KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9QUi5DUFUxLkFQUFQg KCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAoUERDMiwgMHgxOCkpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIFxfUFIuQ1BVMS5BUENUICgpCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICB9CiAgICB9CgogICAgU2NvcGUgKFxf UFIuQ1BVMCkKICAgIHsKICAgICAgICBOYW1lIChfVFBDLCBaZXJvKQogICAgICAgIE1ldGhvZCAo X1BUQywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmIChBbmQgKFBE QzAsIDB4MDQpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2Ug KDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1w bGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmVn aXN0ZXIgKEZGaXhlZEhXLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAg ICAgICAgICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAg ICAgICAgICAgICAgIC8vIEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDAwMDAwMDAwMCwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAg LCkKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VU ZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmVnaXN0ZXIgKEZGaXhlZEhXLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAg ICAgICAgICAgICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw LCAgICAgICAgICAgICAgIC8vIEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAwMDAwMDAwMDAwMDAwMCwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgLCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICB9CgogICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIAogICAgICAgICAgICAgICAgICAgICAg ICAweDA0LCAgICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgICAg ICAweDAxLCAgICAgICAgICAgICAgIC8vIEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDAwMDAwMDAwMDAwNDEwLCAvLyBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAg ICwpCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRl ICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3Rl bUlPLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNCwgICAgICAgICAgICAgICAvLyBCaXQg V2lkdGgKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBCaXQg T2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDQxMCwgLy8gQWRk cmVzcwogICAgICAgICAgICAgICAgICAgICAgICAsKQogICAgICAgICAgICAgICAgfQogICAgICAg ICAgICB9KQogICAgICAgIH0KCiAgICAgICAgTmFtZSAoVFNTSSwgUGFja2FnZSAoMHgwOCkKICAg ICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIDB4NjQsIAogICAgICAgICAgICAgICAgMHgwM0U4LCAKICAgICAgICAgICAgICAgIFpl cm8sIAogICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBaZXJvCiAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgMHg1OCwgCiAgICAgICAgICAgICAgICAweDAzNkIsIAogICAgICAgICAgICAgICAg WmVybywgCiAgICAgICAgICAgICAgICAweDBGLCAKICAgICAgICAgICAgICAgIFplcm8KICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweDRCLCAKICAgICAgICAgICAgICAgIDB4MDJFRSwgCiAgICAgICAgICAgICAg ICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MEUsIAogICAgICAgICAgICAgICAgWmVybwogICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIDB4M0YsIAogICAgICAgICAgICAgICAgMHgwMjcxLCAKICAgICAgICAgICAg ICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgwRCwgCiAgICAgICAgICAgICAgICBaZXJvCiAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHgzMiwgCiAgICAgICAgICAgICAgICAweDAxRjQsIAogICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDBDLCAKICAgICAgICAgICAgICAgIFplcm8K ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAweDI2LCAKICAgICAgICAgICAgICAgIDB4MDE3NywgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MEIsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4MTksIAogICAgICAgICAgICAgICAgMHhGQSwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MEEsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4MEQsIAogICAgICAgICAgICAgICAgMHg3RCwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MDksIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChUU1NNLCBQYWNrYWdlICgw eDA4KQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHg2NCwgCiAgICAgICAgICAgICAgICAweDAzRTgsIAogICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIFplcm8K ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAweDU4LCAKICAgICAgICAgICAgICAgIDB4MDM2QiwgCiAgICAgICAg ICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MUUsIAogICAgICAgICAgICAgICAgWmVy bwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIDB4NEIsIAogICAgICAgICAgICAgICAgMHgwMkVFLCAKICAgICAg ICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxQywgCiAgICAgICAgICAgICAgICBa ZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgMHgzRiwgCiAgICAgICAgICAgICAgICAweDAyNzEsIAogICAg ICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAweDFBLCAKICAgICAgICAgICAgICAg IFplcm8KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAweDMyLCAKICAgICAgICAgICAgICAgIDB4MDFGNCwgCiAg ICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgIDB4MTgsIAogICAgICAgICAgICAg ICAgWmVybwogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MjYsIAogICAgICAgICAgICAgICAgMHgwMTc3LCAK ICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxNiwgCiAgICAgICAgICAg ICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgMHgxOSwgCiAgICAgICAgICAgICAgICAweEZBLCAK ICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxNCwgCiAgICAgICAgICAg ICAgICBaZXJvCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwRCwgCiAgICAgICAgICAgICAgICAweDdELCAK ICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgMHgxMiwgCiAgICAgICAgICAg ICAgICBaZXJvCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKFRTU0YsIFpl cm8pCiAgICAgICAgTWV0aG9kIChfVFNTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAg ICAgICAgICAgSWYgKExBbmQgKExOb3QgKFRTU0YpLCBDb25kUmVmT2YgKF9QU1MpKSkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKF9QU1MsIExvY2FsMCkKICAgICAgICAgICAg ICAgIFN0b3JlIChTaXplT2YgKExvY2FsMCksIExvY2FsMSkKICAgICAgICAgICAgICAgIERlY3Jl bWVudCAoTG9jYWwxKQogICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChEZXJl Zk9mIChJbmRleCAoTG9jYWwwLCBMb2NhbDEpKSwgT25lKSksIAogICAgICAgICAgICAgICAgICAg IExvY2FsMikKICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBMb2NhbDMpCiAgICAgICAgICAg ICAgICBXaGlsZSAoTExlc3MgKExvY2FsMywgU2l6ZU9mIChUU1NJKSkpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERpdmlkZSAoTXVsdGlwbHkgKExvY2FsMiwg U3VidHJhY3QgKDB4MDgsIExvY2FsMykpLCAweDA4LCAKICAgICAgICAgICAgICAgICAgICAgICAg KSwgTG9jYWw0KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDQsIEluZGV4IChEZXJl Zk9mIChJbmRleCAoVFNTSSwgTG9jYWwzKSksIE9uZSkpCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKExvY2FsNCwgSW5kZXggKERlcmVmT2YgKEluZGV4IChUU1NNLCBMb2NhbDMpKSwgT25lKSkK ICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQgKExvY2FsMykKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBTdG9yZSAoT25lcywgVFNTRikKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgSWYgKEFuZCAoUERDMCwgMHgwNCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IFJldHVybiAoVFNTTSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgUmV0dXJuIChUU1NJKQog ICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfVFNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg IHsKICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAoQ0ZHRCwgMHgwMDgwMDAwMCksIExOb3QgKEFu ZCAoUERDMCwgMHgwNAogICAgICAgICAgICAgICAgKSkpKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDUsIAogICAgICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAg ICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkQs IAogICAgICAgICAgICAgICAgICAgICAgICAweDA0CiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAo Q0ZHRCwgMHgwMTAwMDAwMCksIExOb3QgKEFuZCAoUERDMCwgMHgwNAogICAgICAgICAgICAgICAg KSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDEp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDUsIAogICAgICAg ICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4RkQsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAy CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoK ICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAxKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIDB4MDUsIAogICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAg IFplcm8sIAogICAgICAgICAgICAgICAgICAgIDB4RkMsIAogICAgICAgICAgICAgICAgICAgIE9u ZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgIH0KICAgIH0KCiAgICBT Y29wZSAoXF9QUi5DUFUxKQogICAgewogICAgICAgIE5hbWUgKF9UUEMsIFplcm8pCiAgICAgICAg TWV0aG9kIChfUFRDLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgUmV0 dXJuIChcX1BSLkNQVTAuX1BUQyAoKSkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX1RTUywg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFJldHVybiAoXF9QUi5DUFUw Ll9UU1MgKCkpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9UU0QsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChDRkdELCAweDAwODAwMDAw KSwgTE5vdCAoQW5kIChQREMwLCAweDA0CiAgICAgICAgICAgICAgICApKSkpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNSwgCiAgICAgICAgICAgICAgICAgICAgICAg IFplcm8sIAogICAgICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHhGRCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAo TEFuZCAoQW5kIChDRkdELCAweDAxMDAwMDAwKSwgTE5vdCAoQW5kIChQREMwLCAweDA0CiAgICAg ICAgICAgICAgICApKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUGFj a2FnZSAoMHgwMSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA1KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgw NSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAgICAg ICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRCwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAg ICAgICAgICB9CgogICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgMHgwNSwgCiAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAg ICAgICAgICAgICAgT25lLCAKICAgICAgICAgICAgICAgICAgICAweEZDLCAKICAgICAgICAgICAg ICAgICAgICBPbmUKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkKICAgICAgICB9CiAg ICB9CgogICAgU2NvcGUgKFxfUFIuQ1BVMikKICAgIHsKICAgICAgICBOYW1lIChfVFBDLCBaZXJv KQogICAgICAgIE1ldGhvZCAoX1BUQywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAg ICAgICAgIFJldHVybiAoXF9QUi5DUFUwLl9QVEMgKCkpCiAgICAgICAgfQoKICAgICAgICBNZXRo b2QgKF9UU1MsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4g KFxfUFIuQ1BVMC5fVFNTICgpKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfVFNELCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAoQ0ZHRCwg MHgwMDgwMDAwMCksIExOb3QgKEFuZCAoUERDMCwgMHgwNAogICAgICAgICAgICAgICAgKSkpKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDEpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDUsIAogICAgICAgICAgICAg ICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAgICAgWmVybywgCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4RkQsIAogICAgICAgICAgICAgICAgICAgICAgICAweDA0CiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgSWYgKExBbmQgKEFuZCAoQ0ZHRCwgMHgwMTAwMDAwMCksIExOb3QgKEFuZCAoUERDMCwg MHgwNAogICAgICAgICAgICAgICAgKSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBS ZXR1cm4gKFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDUsIAogICAgICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAg ICAgICAgICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkQsIAogICAgICAg ICAgICAgICAgICAgICAgICAweDAyCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAxKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIDB4MDUsIAogICAgICAgICAgICAgICAgICAgIFplcm8s IAogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIDB4RkMsIAog ICAgICAgICAgICAgICAgICAgIE9uZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQog ICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoXF9QUi5DUFUzKQogICAgewogICAgICAgIE5hbWUg KF9UUEMsIFplcm8pCiAgICAgICAgTWV0aG9kIChfUFRDLCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgIHsKICAgICAgICAgICAgUmV0dXJuIChcX1BSLkNQVTAuX1BUQyAoKSkKICAgICAgICB9Cgog ICAgICAgIE1ldGhvZCAoX1RTUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAg ICAgIFJldHVybiAoXF9QUi5DUFUwLl9UU1MgKCkpCiAgICAgICAgfQoKICAgICAgICBNZXRob2Qg KF9UU0QsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoTEFuZCAo QW5kIChDRkdELCAweDAwODAwMDAwKSwgTE5vdCAoQW5kIChQREMwLCAweDA0CiAgICAgICAgICAg ICAgICApKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAo MHgwMSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA1 KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNSwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgICAgICAgICBaZXJv LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHhGRCwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDQKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICB9CgogICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChDRkdELCAweDAxMDAwMDAwKSwgTE5vdCAo QW5kIChQREMwLCAweDA0CiAgICAgICAgICAgICAgICApKSkpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwNSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFplcm8sIAog ICAgICAgICAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHhG RCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAgICAgICAgICBSZXR1cm4gKFBhY2th Z2UgKDB4MDEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwNSwgCiAgICAgICAgICAgICAg ICAgICAgWmVybywgCiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAg ICAgMHhGQywgCiAgICAgICAgICAgICAgICAgICAgT25lCiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgIH0pCiAgICAgICAgfQogICAgfQp9Cgo= --bcaec52e6005466829049f65d53e-- From owner-freebsd-acpi@FreeBSD.ORG Sat Mar 26 17:45:41 2011 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D27FC106566B for ; Sat, 26 Mar 2011 17:45:41 +0000 (UTC) (envelope-from aksenzov@gmail.com) Received: from mail-iy0-f182.google.com (mail-iy0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id 906328FC08 for ; Sat, 26 Mar 2011 17:45:41 +0000 (UTC) Received: by iyj12 with SMTP id 12so2703928iyj.13 for ; Sat, 26 Mar 2011 10:45:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=H3E4aAo1MRgJdRtDjCCYcHJXO2fpyRECQv5NElE/GLY=; b=AQvJrRl8jzOkb5ijKZvbET4dQ+XHVxlLs2e270Y84jESNYrRlduOK31bvof7YhlfgE g+u1kU6ykmUkLVInG/u78nLukQztZkQNVa64RlI73VN/3949MwKJvh27MEjFEHSo01vj sPCeiiA1ka96AoQWFApfEkEQufoDDClGlSjU4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=joZGcECcKuHPuop8tS8W2pT+zRnZKd9wHYQj+axrkxDh6kwdGa9OXGoUMIYymy++J3 zCehWa8wavZvj+xiqMmQqcgBLeFf3yF7Dp/KrLiaXJ2wwuLGT6/vJptIJDP/G6n4yZyM fUXE7OlcFwpYzdBXniDT7vbMAT/Vja1F1GF0A= MIME-Version: 1.0 Received: by 10.43.47.5 with SMTP id uq5mr3280639icb.487.1301161540805; Sat, 26 Mar 2011 10:45:40 -0700 (PDT) Received: by 10.42.74.2 with HTTP; Sat, 26 Mar 2011 10:45:40 -0700 (PDT) In-Reply-To: References: Date: Sun, 27 Mar 2011 00:45:40 +0700 Message-ID: From: =?KOI8-R?B?69PFztrP1yDhzMXL08XK?= To: freebsd-acpi@freebsd.org Content-Type: multipart/mixed; boundary=bcaec52e60056f64a1049f6647d2 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Atheros 9285 & Atheros AR8131 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Mar 2011 17:45:41 -0000 --bcaec52e60056f64a1049f6647d2 Content-Type: text/plain; charset=ISO-8859-1 Network cards do not work. Tried on systems 8.0, 8.1, and 8.2. Notebook Aser Extenza 5635ZG. Tried to change Wi-Fi adapter on the other, but the situation has not changed. In all kinds of windows and linux, works fine. ath0: irq 19 at device 0.0 on pci7 ath0: 0x10000 bytes of rid 0x10 res 3 failed (0, 0xffffffff). ath0: cannot map register space device_attach: ath0 attach returned 6 alc0: irq 17 at device 0.0 on pci9 alc0: 0x40000 bytes of rid 0x10 res 3 failed (0, 0xffffffff). alc0: cannot allocate memory resources. device_attach: alc0 attach returned 6 Attached: dmesg, sysctl hw.acpi and acpidump -t -d --bcaec52e60056f64a1049f6647d2 Content-Type: application/octet-stream; name=dmesg Content-Disposition: attachment; filename=dmesg Content-Transfer-Encoding: base64 X-Attachment-Id: f_glqstx2a0 Q29weXJpZ2h0IChjKSAxOTkyLTIwMTEgVGhlIEZyZWVCU0QgUHJvamVjdC4KQ29weXJpZ2h0IChj KSAxOTc5LCAxOTgwLCAxOTgzLCAxOTg2LCAxOTg4LCAxOTg5LCAxOTkxLCAxOTkyLCAxOTkzLCAx OTk0CglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiBBbGwgcmln aHRzIHJlc2VydmVkLgpGcmVlQlNEIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgVGhlIEZy ZWVCU0QgRm91bmRhdGlvbi4KRnJlZUJTRCA4LjItUkVMRUFTRSAjMDogRnJpIEZlYiAxOCAwMjoy NDo0NiBVVEMgMjAxMQogICAgcm9vdEBhbG1laWRhLmNzZS5idWZmYWxvLmVkdTovdXNyL29iai91 c3Ivc3JjL3N5cy9HRU5FUklDIGkzODYKUHJlbG9hZGVkIGVsZiBrZXJuZWwgIi9ib290L2tlcm5l bC9rZXJuZWwiIGF0IDB4YzBmZGIwMDAuClRpbWVjb3VudGVyICJpODI1NCIgZnJlcXVlbmN5IDEx OTMxODIgSHogcXVhbGl0eSAwCkNhbGlicmF0aW5nIFRTQyBjbG9jayAuLi4gVFNDIGNsb2NrOiAy MTk0NzU3MzIzIEh6CkNQVTogUGVudGl1bShSKSBEdWFsLUNvcmUgQ1BVICAgICAgIFQ0NDAwICBA IDIuMjBHSHogKDIxOTQuNzYtTUh6IDY4Ni1jbGFzcyBDUFUpCiAgT3JpZ2luID0gIkdlbnVpbmVJ bnRlbCIgIElkID0gMHgxMDY3YSAgRmFtaWx5ID0gNiAgTW9kZWwgPSAxNyAgU3RlcHBpbmcgPSAx MAogIEZlYXR1cmVzPTB4YmZlYmZiZmY8RlBVLFZNRSxERSxQU0UsVFNDLE1TUixQQUUsTUNFLENY OCxBUElDLFNFUCxNVFJSLFBHRSxNQ0EsQ01PVixQQVQsUFNFMzYsQ0xGTFVTSCxEVFMsQUNQSSxN TVgsRlhTUixTU0UsU1NFMixTUyxIVFQsVE0sUEJFPgogIEZlYXR1cmVzMj0weDQwMGUzOWQ8U1NF MyxEVEVTNjQsTU9OLERTX0NQTCxFU1QsVE0yLFNTU0UzLENYMTYseFRQUixQRENNLFhTQVZFPgog IEFNRCBGZWF0dXJlcz0weDIwMTAwMDAwPE5YLExNPgogIEFNRCBGZWF0dXJlczI9MHgxPExBSEY+ CiAgVFNDOiBQLXN0YXRlIGludmFyaWFudAoKSW5zdHJ1Y3Rpb24gVExCOiA0IEtCIFBhZ2VzLCA0 LXdheSBzZXQgYXNzb2NpYXRpdmUsIDEyOCBlbnRyaWVzCjJuZC1sZXZlbCBjYWNoZTogMSBNQiwg NC13YXkgc2V0IGFzc29jaWF0aXZlLCA2NC1ieXRlIGxpbmUgc2l6ZQoxc3QtbGV2ZWwgaW5zdHJ1 Y3Rpb24gY2FjaGU6IDMyIEtCLCA4LXdheSBzZXQgYXNzb2NpYXRpdmUsIDY0IGJ5dGUgbGluZSBz aXplCjFzdC1sZXZlbCBkYXRhIGNhY2hlOiAzMiBLQiwgOC13YXkgc2V0IGFzc29jaWF0aXZlLCA2 NCBieXRlIGxpbmUgc2l6ZQpMMiBjYWNoZTogMTAyNCBrYnl0ZXMsIDQtd2F5IGFzc29jaWF0aXZl LCA2NCBieXRlcy9saW5lCnJlYWwgbWVtb3J5ICA9IDIxNDc0ODM2NDggKDIwNDggTUIpClBoeXNp Y2FsIG1lbW9yeSBjaHVuayhzKToKMHgwMDAwMDAwMDAwMDAxMDAwIC0gMHgwMDAwMDAwMDAwMDll ZmZmLCA2NDcxNjggYnl0ZXMgKDE1OCBwYWdlcykKMHgwMDAwMDAwMDAwMTAwMDAwIC0gMHgwMDAw MDAwMDAwM2ZmZmZmLCAzMTQ1NzI4IGJ5dGVzICg3NjggcGFnZXMpCjB4MDAwMDAwMDAwMTAyNjAw MCAtIDB4MDAwMDAwMDA3ZDQ2NGZmZiwgMjA4NDgyNzEzNiBieXRlcyAoNTA4OTkxIHBhZ2VzKQow eDAwMDAwMDAwN2Y4YTcwMDAgLSAweDAwMDAwMDAwN2Y5YzlmZmYsIDExOTE5MzYgYnl0ZXMgKDI5 MSBwYWdlcykKMHgwMDAwMDAwMDdmYTBmMDAwIC0gMHgwMDAwMDAwMDdmYjA4ZmZmLCAxMDI0MDAw IGJ5dGVzICgyNTAgcGFnZXMpCjB4MDAwMDAwMDA3ZmQwZjAwMCAtIDB4MDAwMDAwMDA3ZmQxOGZm ZiwgNDA5NjAgYnl0ZXMgKDEwIHBhZ2VzKQoweDAwMDAwMDAwN2ZkMWYwMDAgLSAweDAwMDAwMDAw N2ZkNjNmZmYsIDI4MjYyNCBieXRlcyAoNjkgcGFnZXMpCjB4MDAwMDAwMDA3ZmQ5ZjAwMCAtIDB4 MDAwMDAwMDA3ZmRkMGZmZiwgMjA0ODAwIGJ5dGVzICg1MCBwYWdlcykKYXZhaWwgbWVtb3J5ID0g MjA4NjI0NDM1MiAoMTk4OSBNQikKVGFibGUgJ0ZBQ1AnIGF0IDB4N2ZkZTUwMDAKVGFibGUgJ0hQ RVQnIGF0IDB4N2ZkZmVlZmMKVGFibGUgJ01DRkcnIGF0IDB4N2ZkZmVmMzQKVGFibGUgJ0FQSUMn IGF0IDB4N2ZkZmVmNzAKQVBJQzogRm91bmQgdGFibGUgYXQgMHg3ZmRmZWY3MApNUCBDb25maWd1 cmF0aW9uIFRhYmxlIHZlcnNpb24gMS40IGZvdW5kIGF0IDB4YzAwOWY5NzEKQVBJQzogVXNpbmcg dGhlIE1BRFQgZW51bWVyYXRvci4KTUFEVDogRm91bmQgQ1BVIEFQSUMgSUQgMCBBQ1BJIElEIDA6 IGVuYWJsZWQKU01QOiBBZGRlZCBDUFUgMCAoQVApCk1BRFQ6IEZvdW5kIENQVSBBUElDIElEIDEg QUNQSSBJRCAxOiBlbmFibGVkClNNUDogQWRkZWQgQ1BVIDEgKEFQKQpBQ1BJIEFQSUMgVGFibGU6 IDxQVExURCAgCSBBUElDICA+CklOVFI6IEFkZGluZyBsb2NhbCBBUElDIDEgYXMgYSB0YXJnZXQK RnJlZUJTRC9TTVA6IE11bHRpcHJvY2Vzc29yIFN5c3RlbSBEZXRlY3RlZDogMiBDUFVzCkZyZWVC U0QvU01QOiAxIHBhY2thZ2UocykgeCAyIGNvcmUocykKIGNwdTAgKEJTUCk6IEFQSUMgSUQ6ICAw CiBjcHUxIChBUCk6IEFQSUMgSUQ6ICAxCkFQSUM6IENQVSAwIGhhcyBBQ1BJIElEIDAKQVBJQzog Q1BVIDEgaGFzIEFDUEkgSUQgMQpiaW9zMzI6IEZvdW5kIEJJT1MzMiBTZXJ2aWNlIERpcmVjdG9y eSBoZWFkZXIgYXQgMHhjMDBmNzVhMApiaW9zMzI6IEVudHJ5ID0gMHhmZGEyMSAoYzAwZmRhMjEp ICBSZXYgPSAwICBMZW4gPSAxCnBjaWJpb3M6IFBDSSBCSU9TIGVudHJ5IGF0IDB4ZmRhMjArMHgy MjEKcG5wYmlvczogRm91bmQgUG5QIEJJT1MgZGF0YSBhdCAweGMwMGY3NjIwCnBucGJpb3M6IEVu dHJ5ID0gZjAwMDA6YmYwYyAgUmV2ID0gMS4wCk90aGVyIEJJT1Mgc2lnbmF0dXJlcyBmb3VuZDoK eDg2YmlvczogICBJVlQgMHgwMDAwMDAtMHgwMDA0ZmYgYXQgMHhjMDAwMDAwMAp4ODZiaW9zOiAg U1NFRyAweDAxMDAwMC0weDAxZmZmZiBhdCAweGM1MWJlMDAwCng4NmJpb3M6ICBFQkRBIDB4MDlm MDAwLTB4MDlmZmZmIGF0IDB4YzAwOWYwMDAKeDg2YmlvczogICBST00gMHgwYTAwMDAtMHgwZWZm ZmYgYXQgMHhjMDBhMDAwMApVTEU6IHNldHVwIGNwdSAwClVMRTogc2V0dXAgY3B1IDEKQUNQSTog UlNEUCAweGY3NTEwIDAwMDI0ICh2MDIgUFRMVEQgKQpBQ1BJOiBYU0RUIDB4N2ZkZjVhNjcgMDAw NjQgKHYwMSBQVExURCAgPyBYU0RUICAgMDYwNDAwMDAgIExUUCAwMDAwMDAwMCkKQUNQSTogRkFD UCAweDdmZGU1MDAwIDAwMEY0ICh2MDMgSU5URUwgIENSRVNUTE5FIDA2MDQwMDAwIEFMQU4gMDAw MDAwMDEpCkFDUEk6IERTRFQgMHg3ZmRlNjAwMCAwOTJBMSAodjAyIEludGVsICBDQU5USUdBICAw NjA0MDAwMCBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBGQUNTIDB4N2ZkOWVmYzAgMDAwNDAKQUNQSTog SFBFVCAweDdmZGZlZWZjIDAwMDM4ICh2MDEgSU5URUwgIENSRVNUTE5FIDA2MDQwMDAwIExPSFIg MDAwMDAwNUEpCkFDUEk6IE1DRkcgMHg3ZmRmZWYzNCAwMDAzQyAodjAxIElOVEVMICBDUkVTVExO RSAwNjA0MDAwMCBMT0hSIDAwMDAwMDVBKQpBQ1BJOiBBUElDIDB4N2ZkZmVmNzAgMDAwNjggKHYw MSBQVExURCAgPyBBUElDICAgMDYwNDAwMDAgIExUUCAwMDAwMDAwMCkKQUNQSTogQk9PVCAweDdm ZGZlZmQ4IDAwMDI4ICh2MDEgUFRMVEQgICRTQkZUQkwkIDA2MDQwMDAwICBMVFAgMDAwMDAwMDEp CkFDUEk6IFNTRFQgMHg3ZmRlNDAwMCAwMDY1NSAodjAxICBQbVJlZiAgICBDcHVQbSAwMDAwMzAw MCBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBTU0RUIDB4N2ZkZTMwMDAgMDAyNTkgKHYwMSAgUG1SZWYg IENwdTBUc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKQUNQSTogU1NEVCAweDdmZGUyMDAwIDAw MjBGICh2MDEgIFBtUmVmICAgIEFwVHN0IDAwMDAzMDAwIElOVEwgMjAwNjExMDkpCk1BRFQ6IEZv dW5kIElPIEFQSUMgSUQgMiwgSW50ZXJydXB0IDAgYXQgMHhmZWMwMDAwMAppb2FwaWMwOiBSb3V0 aW5nIGV4dGVybmFsIDgyNTlBJ3MgLT4gaW50cGluIDAKbGFwaWMwOiBSb3V0aW5nIE5NSSAtPiBM SU5UMQpsYXBpYzA6IExJTlQxIHRyaWdnZXI6IGVkZ2UKbGFwaWMwOiBMSU5UMSBwb2xhcml0eTog aGlnaApsYXBpYzE6IFJvdXRpbmcgTk1JIC0+IExJTlQxCmxhcGljMTogTElOVDEgdHJpZ2dlcjog ZWRnZQpsYXBpYzE6IExJTlQxIHBvbGFyaXR5OiBoaWdoCk1BRFQ6IEludGVycnVwdCBvdmVycmlk ZTogc291cmNlIDAsIGlycSAyCmlvYXBpYzA6IFJvdXRpbmcgSVJRIDAgLT4gaW50cGluIDIKTUFE VDogSW50ZXJydXB0IG92ZXJyaWRlOiBzb3VyY2UgOSwgaXJxIDkKaW9hcGljMDogaW50cGluIDkg dHJpZ2dlcjogbGV2ZWwKaW9hcGljMCA8VmVyc2lvbiAyLjA+IGlycXMgMC0yMyBvbiBtb3RoZXJi b2FyZApjcHUwIEJTUDoKICAgICBJRDogMHgwMDAwMDAwMCAgIFZFUjogMHgwMDA1MDAxNCBMRFI6 IDB4MDAwMDAwMDAgREZSOiAweGZmZmZmZmZmCiAgbGludDA6IDB4MDAwMTA3MDAgbGludDE6IDB4 MDAwMDA0MDAgVFBSOiAweDAwMDAwMDAwIFNWUjogMHgwMDAwMDFmZgogIHRpbWVyOiAweDAwMDEw MGVmIHRoZXJtOiAweDAwMDEwMDAwIGVycjogMHgwMDAwMDBmMCBwbWM6IDB4MDAwMTA0MDAKd2xh bjogPDgwMi4xMSBMaW5rIExheWVyPgpudWxsOiA8bnVsbCBkZXZpY2UsIHplcm8gZGV2aWNlPgpy YW5kb206IDxlbnRyb3B5IHNvdXJjZSwgU29mdHdhcmUsIFlhcnJvdz4KbmZzbG9jazogcHNldWRv LWRldmljZQppbzogPEkvTz4Ka2JkOiBuZXcgYXJyYXkgc2l6ZSA0CmtiZDEgYXQga2JkbXV4MApt ZW06IDxtZW1vcnk+ClBlbnRpdW0gUHJvIE1UUlIgc3VwcG9ydCBlbmFibGVkCmhwdHJyOiBSb2Nr ZXRSQUlEIDE3eHgvMnh4eCBTQVRBIGNvbnRyb2xsZXIgZHJpdmVyIHYxLjIKYWNwaTA6IDxQVExU RCAJIFhTRFQ+IG9uIG1vdGhlcmJvYXJkClBDSWU6IE1lbW9yeSBNYXBwZWQgY29uZmlndXJhdGlv biBiYXNlIEAgMHhlMDAwMDAwMApwY2liaW9zOiBCSU9TIHZlcnNpb24gMy4wMAppb2FwaWMwOiBy b3V0aW5nIGludHBpbiA5IChJU0EgSVJRIDkpIHRvIGxhcGljIDAgdmVjdG9yIDQ4CmFjcGkwOiBb TVBTQUZFXQphY3BpMDogW0lUSFJFQURdCmFjcGkwOiBQb3dlciBCdXR0b24gKGZpeGVkKQphY3Bp MDogd2FrZXVwIGNvZGUgdmEgMHhjNTFiODAwMCBwYSAweDEwMDAKdW5rbm93bjogSS9PIHJhbmdl IG5vdCBzdXBwb3J0ZWQKYWNwaV9ocGV0MDogdmVuZDogMHg4MDg2IHJldjogMHgxIG51bTogNCBo ejogMTQzMTgxODAgb3B0czogbGVnYWN5X3JvdXRlIDY0LWJpdApUaW1lY291bnRlciAiSFBFVCIg ZnJlcXVlbmN5IDE0MzE4MTgwIEh6IHF1YWxpdHkgOTAwCkFDUEkgdGltZXI6IDEvMiAxLzIgMS8y IDEvMiAxLzIgMS8yIDEvMiAxLzIgMS8yIDEvMiAtPiAxMApUaW1lY291bnRlciAiQUNQSS1mYXN0 IiBmcmVxdWVuY3kgMzU3OTU0NSBIeiBxdWFsaXR5IDEwMDAKYWNwaV90aW1lcjA6IDwyNC1iaXQg dGltZXIgYXQgMy41Nzk1NDVNSHo+IHBvcnQgMHg0MDgtMHg0MGIgb24gYWNwaTAKY3B1MDogPEFD UEkgQ1BVPiBvbiBhY3BpMApBQ1BJOiBTU0RUIDB4N2ZkMWFjYTAgMDAyMjMgKHYwMSAgUG1SZWYg IENwdTBJc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKQUNQSTogRHluYW1pYyBPRU0gVGFibGUg TG9hZDoKQUNQSTogU1NEVCAwIDAwMjIzICh2MDEgIFBtUmVmICBDcHUwSXN0IDAwMDAzMDAwIElO VEwgMjAwNjExMDkpCkFDUEk6IFNTRFQgMHg3ZmQxOTYyMCAwMDVCMyAodjAxICBQbVJlZiAgQ3B1 MENzdCAwMDAwMzAwMSBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBEeW5hbWljIE9FTSBUYWJsZSBMb2Fk OgpBQ1BJOiBTU0RUIDAgMDA1QjMgKHYwMSAgUG1SZWYgIENwdTBDc3QgMDAwMDMwMDEgSU5UTCAy MDA2MTEwOSkKY3B1MTogPEFDUEkgQ1BVPiBvbiBhY3BpMApBQ1BJOiBTU0RUIDB4N2ZkMWFhMjAg MDAxQ0YgKHYwMSAgUG1SZWYgICAgQXBJc3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKQUNQSTog RHluYW1pYyBPRU0gVGFibGUgTG9hZDoKQUNQSTogU1NEVCAwIDAwMUNGICh2MDEgIFBtUmVmICAg IEFwSXN0IDAwMDAzMDAwIElOVEwgMjAwNjExMDkpCkFDUEk6IFNTRFQgMHg3ZmQxYWYyMCAwMDA4 RCAodjAxICBQbVJlZiAgICBBcENzdCAwMDAwMzAwMCBJTlRMIDIwMDYxMTA5KQpBQ1BJOiBEeW5h bWljIE9FTSBUYWJsZSBMb2FkOgpBQ1BJOiBTU0RUIDAgMDAwOEQgKHYwMSAgUG1SZWYgICAgQXBD c3QgMDAwMDMwMDAgSU5UTCAyMDA2MTEwOSkKYWNwaV9lYzA6IDxFbWJlZGRlZCBDb250cm9sbGVy OiBHUEUgMHgxOD4gcG9ydCAweDYyLDB4NjYgb24gYWNwaTAKcGNpX2xpbmswOiAgICAgICAgSW5k ZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAgNSAgIE4g ICAgIDAgIDEgMyA0IDUgNiA3IDEwIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAg IDUgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAg ICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTIgMTQgMTUKcGNpX2xpbmsxOiAg ICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAg ICAxMCAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDExIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAg ICAgICAwICAyNTUgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMSAxMiAxNCAxNQogIEFmdGVyIERp c2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTEgMTIgMTQgMTUKcGNp X2xpbmsyOiAgICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2Jl ICAgICAgIDAgICAxMCAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDEwIDEyIDE0IDE1CiAgVmFsaWRh dGlvbiAgICAgICAgICAwICAgMTAgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMiAxNCAxNQog IEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTIg MTQgMTUKcGNpX2xpbmszOiAgICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0 aWFsIFByb2JlICAgICAgIDAgICAxMCAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDExIDEyIDE0IDE1 CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAyNTUgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMSAx MiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2 IDcgMTEgMTIgMTQgMTUKcGNpX2xpbms0OiAgICAgICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElS UXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgIDI1NSAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDEw IDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAyNTUgICBOICAgICAwICAxIDMgNCA1 IDYgNyAxMCAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAg MSAzIDQgNSA2IDcgMTAgMTIgMTQgMTUKcGNpX2xpbms1OiAgICAgICAgSW5kZXggIElSUSAgUnRk ICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAxMSAgIE4gICAgIDAgIDEgMyA0 IDUgNiA3IDExIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAgMTEgICBOICAgICAw ICAxIDMgNCA1IDYgNyAxMSAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAgMCAgMjU1ICAg TiAgICAgMCAgMSAzIDQgNSA2IDcgMTEgMTIgMTQgMTUKcGNpX2xpbms2OiAgICAgICAgSW5kZXgg IElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAxMSAgIE4gICAg IDAgIDEgMyA0IDUgNiA3IDEwIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAgICAwICAyNTUg ICBOICAgICAwICAxIDMgNCA1IDYgNyAxMCAxMiAxNCAxNQogIEFmdGVyIERpc2FibGUgICAgICAg MCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTAgMTIgMTQgMTUKcGNpX2xpbms3OiAgICAg ICAgSW5kZXggIElSUSAgUnRkICBSZWYgIElSUXMKICBJbml0aWFsIFByb2JlICAgICAgIDAgICAg NyAgIE4gICAgIDAgIDEgMyA0IDUgNiA3IDExIDEyIDE0IDE1CiAgVmFsaWRhdGlvbiAgICAgICAg ICAwICAgIDcgICBOICAgICAwICAxIDMgNCA1IDYgNyAxMSAxMiAxNCAxNQogIEFmdGVyIERpc2Fi bGUgICAgICAgMCAgMjU1ICAgTiAgICAgMCAgMSAzIDQgNSA2IDcgMTEgMTIgMTQgMTUKYWNwaV9h Y2FkMDogPEFDIEFkYXB0ZXI+IG9uIGFjcGkwCmJhdHRlcnkwOiA8QUNQSSBDb250cm9sIE1ldGhv ZCBCYXR0ZXJ5PiBvbiBhY3BpMAphY3BpX2xpZDA6IDxDb250cm9sIE1ldGhvZCBMaWQgU3dpdGNo PiBvbiBhY3BpMAphY3BpX2J1dHRvbjA6IDxQb3dlciBCdXR0b24+IG9uIGFjcGkwCmFjcGlfYnV0 dG9uMTogPFNsZWVwIEJ1dHRvbj4gb24gYWNwaTAKcGNpYjA6IDxBQ1BJIEhvc3QtUENJIGJyaWRn ZT4gcG9ydCAweGNmOC0weGNmZiBvbiBhY3BpMApwY2kwOiA8QUNQSSBQQ0kgYnVzPiBvbiBwY2li MApwY2kwOiBkb21haW49MCwgcGh5c2ljYWwgYnVzPTAKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBk ZXY9MHgyYTQwLCByZXZpZD0weDA3Cglkb21haW49MCwgYnVzPTAsIHNsb3Q9MCwgZnVuYz0wCglj bGFzcz0wNi0wMC0wMCwgaGRydHlwZT0weDAwLCBtZmRldj0wCgljbWRyZWc9MHgwMTA2LCBzdGF0 cmVnPTB4MjA5MCwgY2FjaGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBt aW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgwIG5zKQpmb3VuZC0+CXZlbmRvcj0weDgw ODYsIGRldj0weDJhNDEsIHJldmlkPTB4MDcKCWRvbWFpbj0wLCBidXM9MCwgc2xvdD0xLCBmdW5j PTAKCWNsYXNzPTA2LTA0LTAwLCBoZHJ0eXBlPTB4MDEsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDcs IHN0YXRyZWc9MHgwMDEwLCBjYWNoZWxuc3o9MTYgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAg bnMpLCBtaW5nbnQ9MHgxOCAoNjAwMCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWEs IGlycT01Cglwb3dlcnNwZWMgMyAgc3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBw b3J0cyAxIG1lc3NhZ2UKcGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMS5JTlRBCnBjaWIwOiBz bG90IDEgSU5UQSBoYXJkd2lyZWQgdG8gSVJRIDE2CmZvdW5kLT4JdmVuZG9yPTB4ODA4NiwgZGV2 PTB4MjkzNywgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTI2LCBmdW5jPTAKCWNs YXNzPTBjLTAzLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0weDAwMDUsIHN0YXRy ZWc9MHgwMjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1p bmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YSwgaXJxPTUKCW1h cFsyMF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MTgwMCwgc2l6ZSAgNSwgZW5h YmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4yNi5JTlRBCnBjaWIwOiBzbG90IDI2IElO VEEgaGFyZHdpcmVkIHRvIElSUSAxNgp1bmtub3duOiBSZXNlcnZlZCAweDIwIGJ5dGVzIGZvciBy aWQgMHgyMCB0eXBlIDQgYXQgMHgxODAwCmZvdW5kLT4JdmVuZG9yPTB4ODA4NiwgZGV2PTB4Mjkz OCwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTI2LCBmdW5jPTEKCWNsYXNzPTBj LTAzLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDUsIHN0YXRyZWc9MHgw MjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0w eDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YiwgaXJxPTExCgltYXBbMjBd OiB0eXBlIEkvTyBQb3J0LCByYW5nZSAzMiwgYmFzZSAweDE4MjAsIHNpemUgIDUsIGVuYWJsZWQK cGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjYuSU5UQgpwY2liMDogc2xvdCAyNiBJTlRCIGhh cmR3aXJlZCB0byBJUlEgMjEKdW5rbm93bjogUmVzZXJ2ZWQgMHgyMCBieXRlcyBmb3IgcmlkIDB4 MjAgdHlwZSA0IGF0IDB4MTgyMApmb3VuZC0+CXZlbmRvcj0weDgwODYsIGRldj0weDI5M2MsIHJl dmlkPTB4MDMKCWRvbWFpbj0wLCBidXM9MCwgc2xvdD0yNiwgZnVuYz03CgljbGFzcz0wYy0wMy0y MCwgaGRydHlwZT0weDAwLCBtZmRldj0wCgljbWRyZWc9MHgwMDA2LCBzdGF0cmVnPTB4MDI5MCwg Y2FjaGVsbnN6PTAgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAo MCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWMsIGlycT0xMAoJcG93ZXJzcGVjIDIg IHN1cHBvcnRzIEQwIEQzICBjdXJyZW50IEQwCgltYXBbMTBdOiB0eXBlIE1lbW9yeSwgcmFuZ2Ug MzIsIGJhc2UgMHhmMDQwNDAwMCwgc2l6ZSAxMCwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRy eSBmb3IgMC4yNi5JTlRDCnBjaWIwOiBzbG90IDI2IElOVEMgaGFyZHdpcmVkIHRvIElSUSAxOQp1 bmtub3duOiBSZXNlcnZlZCAweDQwMCBieXRlcyBmb3IgcmlkIDB4MTAgdHlwZSAzIGF0IDB4ZjA0 MDQwMDAKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTNlLCByZXZpZD0weDAzCglkb21h aW49MCwgYnVzPTAsIHNsb3Q9MjcsIGZ1bmM9MAoJY2xhc3M9MDQtMDMtMDAsIGhkcnR5cGU9MHgw MCwgbWZkZXY9MAoJY21kcmVnPTB4MDAwNiwgc3RhdHJlZz0weDAwMTAsIGNhY2hlbG5zej0xNiAo ZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0 PTB4MDAgKDAgbnMpCglpbnRwaW49YSwgaXJxPTExCglwb3dlcnNwZWMgMiAgc3VwcG9ydHMgRDAg RDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UsIDY0IGJpdAoJbWFwWzEwXTog dHlwZSBNZW1vcnksIHJhbmdlIDY0LCBiYXNlIDB4ZjA0MDAwMDAsIHNpemUgMTQsIGVuYWJsZWQK cGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjcuSU5UQQpwY2liMDogc2xvdCAyNyBJTlRBIGhh cmR3aXJlZCB0byBJUlEgMjIKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTQwLCByZXZp ZD0weDAzCglkb21haW49MCwgYnVzPTAsIHNsb3Q9MjgsIGZ1bmM9MAoJY2xhc3M9MDYtMDQtMDAs IGhkcnR5cGU9MHgwMSwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNh Y2hlbG5zej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDA0ICgx MDAwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YSwgaXJxPTEwCglwb3dlcnNwZWMg MiAgc3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UKcGNp YjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjguSU5UQQpwY2liMDogc2xvdCAyOCBJTlRBIGhhcmR3 aXJlZCB0byBJUlEgMTcKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTQ2LCByZXZpZD0w eDAzCglkb21haW49MCwgYnVzPTAsIHNsb3Q9MjgsIGZ1bmM9MwoJY2xhc3M9MDYtMDQtMDAsIGhk cnR5cGU9MHgwMSwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNhY2hl bG5zej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDA0ICgxMDAw IG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49ZCwgaXJxPTEwCglwb3dlcnNwZWMgMiAg c3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UKcGNpYjA6 IG1hdGNoZWQgZW50cnkgZm9yIDAuMjguSU5URApwY2liMDogc2xvdCAyOCBJTlREIGhhcmR3aXJl ZCB0byBJUlEgMTkKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTRhLCByZXZpZD0weDAz Cglkb21haW49MCwgYnVzPTAsIHNsb3Q9MjgsIGZ1bmM9NQoJY2xhc3M9MDYtMDQtMDAsIGhkcnR5 cGU9MHgwMSwgbWZkZXY9MQoJY21kcmVnPTB4MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNhY2hlbG5z ej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDA0ICgxMDAwIG5z KSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49YiwgaXJxPTUKCXBvd2Vyc3BlYyAyICBzdXBw b3J0cyBEMCBEMyAgY3VycmVudCBEMAoJTVNJIHN1cHBvcnRzIDEgbWVzc2FnZQpwY2liMDogbWF0 Y2hlZCBlbnRyeSBmb3IgMC4yOC5JTlRCCnBjaWIwOiBzbG90IDI4IElOVEIgaGFyZHdpcmVkIHRv IElSUSAxNgpmb3VuZC0+CXZlbmRvcj0weDgwODYsIGRldj0weDI5MzQsIHJldmlkPTB4MDMKCWRv bWFpbj0wLCBidXM9MCwgc2xvdD0yOSwgZnVuYz0wCgljbGFzcz0wYy0wMy0wMCwgaGRydHlwZT0w eDAwLCBtZmRldj0xCgljbWRyZWc9MHgwMDA1LCBzdGF0cmVnPTB4MDI5MCwgY2FjaGVsbnN6PTAg KGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxh dD0weDAwICgwIG5zKQoJaW50cGluPWEsIGlycT03CgltYXBbMjBdOiB0eXBlIEkvTyBQb3J0LCBy YW5nZSAzMiwgYmFzZSAweDE4NDAsIHNpemUgIDUsIGVuYWJsZWQKcGNpYjA6IG1hdGNoZWQgZW50 cnkgZm9yIDAuMjkuSU5UQQpwY2liMDogc2xvdCAyOSBJTlRBIGhhcmR3aXJlZCB0byBJUlEgMjMK dW5rbm93bjogUmVzZXJ2ZWQgMHgyMCBieXRlcyBmb3IgcmlkIDB4MjAgdHlwZSA0IGF0IDB4MTg0 MApmb3VuZC0+CXZlbmRvcj0weDgwODYsIGRldj0weDI5MzUsIHJldmlkPTB4MDMKCWRvbWFpbj0w LCBidXM9MCwgc2xvdD0yOSwgZnVuYz0xCgljbGFzcz0wYy0wMy0wMCwgaGRydHlwZT0weDAwLCBt ZmRldj0wCgljbWRyZWc9MHgwMDA1LCBzdGF0cmVnPTB4MDI5MCwgY2FjaGVsbnN6PTAgKGR3b3Jk cykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAw ICgwIG5zKQoJaW50cGluPWIsIGlycT0xMAoJbWFwWzIwXTogdHlwZSBJL08gUG9ydCwgcmFuZ2Ug MzIsIGJhc2UgMHgxODYwLCBzaXplICA1LCBlbmFibGVkCnBjaWIwOiBtYXRjaGVkIGVudHJ5IGZv ciAwLjI5LklOVEIKcGNpYjA6IHNsb3QgMjkgSU5UQiBoYXJkd2lyZWQgdG8gSVJRIDE5CnVua25v d246IFJlc2VydmVkIDB4MjAgYnl0ZXMgZm9yIHJpZCAweDIwIHR5cGUgNCBhdCAweDE4NjAKZm91 bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTM2LCByZXZpZD0weDAzCglkb21haW49MCwgYnVz PTAsIHNsb3Q9MjksIGZ1bmM9MgoJY2xhc3M9MGMtMDMtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9 MAoJY21kcmVnPTB4MDAwNSwgc3RhdHJlZz0weDAyOTAsIGNhY2hlbG5zej0wIChkd29yZHMpCgls YXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBu cykKCWludHBpbj1jLCBpcnE9MTAKCW1hcFsyMF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBi YXNlIDB4MTg4MCwgc2l6ZSAgNSwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4y OS5JTlRDCnBjaWIwOiBzbG90IDI5IElOVEMgaGFyZHdpcmVkIHRvIElSUSAxOAp1bmtub3duOiBS ZXNlcnZlZCAweDIwIGJ5dGVzIGZvciByaWQgMHgyMCB0eXBlIDQgYXQgMHgxODgwCmZvdW5kLT4J dmVuZG9yPTB4ODA4NiwgZGV2PTB4MjkzOSwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBz bG90PTI5LCBmdW5jPTMKCWNsYXNzPTBjLTAzLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNt ZHJlZz0weDAwMDUsIHN0YXRyZWc9MHgwMjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGlt ZXI9MHgwMCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglp bnRwaW49ZCwgaXJxPTUKCW1hcFsyMF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4 MThhMCwgc2l6ZSAgNSwgZW5hYmxlZApwY2liMDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4yOS5JTlRE CnBjaWIwOiBzbG90IDI5IElOVEQgaGFyZHdpcmVkIHRvIElSUSAxNgp1bmtub3duOiBSZXNlcnZl ZCAweDIwIGJ5dGVzIGZvciByaWQgMHgyMCB0eXBlIDQgYXQgMHgxOGEwCmZvdW5kLT4JdmVuZG9y PTB4ODA4NiwgZGV2PTB4MjkzYSwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTI5 LCBmdW5jPTcKCWNsYXNzPTBjLTAzLTIwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0w eDAwMDYsIHN0YXRyZWc9MHgwMjkwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgw MCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49 YSwgaXJxPTcKCXBvd2Vyc3BlYyAyICBzdXBwb3J0cyBEMCBEMyAgY3VycmVudCBEMAoJbWFwWzEw XTogdHlwZSBNZW1vcnksIHJhbmdlIDMyLCBiYXNlIDB4ZjA0MDQ0MDAsIHNpemUgMTAsIGVuYWJs ZWQKcGNpYjA6IG1hdGNoZWQgZW50cnkgZm9yIDAuMjkuSU5UQQpwY2liMDogc2xvdCAyOSBJTlRB IGhhcmR3aXJlZCB0byBJUlEgMjMKdW5rbm93bjogUmVzZXJ2ZWQgMHg0MDAgYnl0ZXMgZm9yIHJp ZCAweDEwIHR5cGUgMyBhdCAweGYwNDA0NDAwCmZvdW5kLT4JdmVuZG9yPTB4ODA4NiwgZGV2PTB4 MjQ0OCwgcmV2aWQ9MHg5MwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTMwLCBmdW5jPTAKCWNsYXNz PTA2LTA0LTAxLCBoZHJ0eXBlPTB4MDEsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDcsIHN0YXRyZWc9 MHgwMDEwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBucyksIG1pbmdu dD0weDA0ICgxMDAwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCmZvdW5kLT4JdmVuZG9yPTB4ODA4 NiwgZGV2PTB4MjkxOSwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTMxLCBmdW5j PTAKCWNsYXNzPTA2LTAxLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTEKCWNtZHJlZz0weDAwMDcs IHN0YXRyZWc9MHgwMjEwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgwMCAoMCBu cyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCmZvdW5kLT4JdmVuZG9y PTB4ODA4NiwgZGV2PTB4MjkyOCwgcmV2aWQ9MHgwMwoJZG9tYWluPTAsIGJ1cz0wLCBzbG90PTMx LCBmdW5jPTIKCWNsYXNzPTAxLTAxLThmLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0w eDAwMDcsIHN0YXRyZWc9MHgwMmIwLCBjYWNoZWxuc3o9MCAoZHdvcmRzKQoJbGF0dGltZXI9MHgw MCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49 YiwgaXJxPTEwCglwb3dlcnNwZWMgMyAgc3VwcG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCW1hcFsx MF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MThmMCwgc2l6ZSAgMywgZW5hYmxl ZAoJbWFwWzE0XTogdHlwZSBJL08gUG9ydCwgcmFuZ2UgMzIsIGJhc2UgMHgxOGU0LCBzaXplICAy LCBlbmFibGVkCgltYXBbMThdOiB0eXBlIEkvTyBQb3J0LCByYW5nZSAzMiwgYmFzZSAweDE4ZTgs IHNpemUgIDMsIGVuYWJsZWQKCW1hcFsxY106IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNl IDB4MThlMCwgc2l6ZSAgMiwgZW5hYmxlZAoJbWFwWzIwXTogdHlwZSBJL08gUG9ydCwgcmFuZ2Ug MzIsIGJhc2UgMHgxOGQwLCBzaXplICA0LCBlbmFibGVkCgltYXBbMjRdOiB0eXBlIEkvTyBQb3J0 LCByYW5nZSAzMiwgYmFzZSAweDE4YzAsIHNpemUgIDQsIGVuYWJsZWQKcGNpYjA6IG1hdGNoZWQg ZW50cnkgZm9yIDAuMzEuSU5UQgpwY2liMDogc2xvdCAzMSBJTlRCIGhhcmR3aXJlZCB0byBJUlEg MTkKZm91bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTMwLCByZXZpZD0weDAzCglkb21haW49 MCwgYnVzPTAsIHNsb3Q9MzEsIGZ1bmM9MwoJY2xhc3M9MGMtMDUtMDAsIGhkcnR5cGU9MHgwMCwg bWZkZXY9MAoJY21kcmVnPTB4MDAwMywgc3RhdHJlZz0weDAyODAsIGNhY2hlbG5zej0wIChkd29y ZHMpCglsYXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgw MCAoMCBucykKCWludHBpbj1jLCBpcnE9MTAKCW1hcFsxMF06IHR5cGUgTWVtb3J5LCByYW5nZSA2 NCwgYmFzZSAwLCBzaXplICA4LCBlbmFibGVkCgltYXBbMjBdOiB0eXBlIEkvTyBQb3J0LCByYW5n ZSAzMiwgYmFzZSAweDFjMDAsIHNpemUgIDUsIGVuYWJsZWQKcGNpYjA6IG1hdGNoZWQgZW50cnkg Zm9yIDAuMzEuSU5UQwpwY2liMDogc2xvdCAzMSBJTlRDIGhhcmR3aXJlZCB0byBJUlEgMTkKZm91 bmQtPgl2ZW5kb3I9MHg4MDg2LCBkZXY9MHgyOTJkLCByZXZpZD0weDAzCglkb21haW49MCwgYnVz PTAsIHNsb3Q9MzEsIGZ1bmM9NQoJY2xhc3M9MDEtMDEtODUsIGhkcnR5cGU9MHgwMCwgbWZkZXY9 MAoJY21kcmVnPTB4MDAwNywgc3RhdHJlZz0weDAyYjAsIGNhY2hlbG5zej0wIChkd29yZHMpCgls YXR0aW1lcj0weDAwICgwIG5zKSwgbWluZ250PTB4MDAgKDAgbnMpLCBtYXhsYXQ9MHgwMCAoMCBu cykKCWludHBpbj1iLCBpcnE9MTAKCXBvd2Vyc3BlYyAzICBzdXBwb3J0cyBEMCBEMyAgY3VycmVu dCBEMAoJbWFwWzEwXTogdHlwZSBJL08gUG9ydCwgcmFuZ2UgMzIsIGJhc2UgMHgxYzQ4LCBzaXpl ICAzLCBlbmFibGVkCgltYXBbMTRdOiB0eXBlIEkvTyBQb3J0LCByYW5nZSAzMiwgYmFzZSAweDE4 ZmMsIHNpemUgIDIsIGVuYWJsZWQKCW1hcFsxOF06IHR5cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBi YXNlIDB4MWM0MCwgc2l6ZSAgMywgZW5hYmxlZAoJbWFwWzFjXTogdHlwZSBJL08gUG9ydCwgcmFu Z2UgMzIsIGJhc2UgMHgxOGY4LCBzaXplICAyLCBlbmFibGVkCgltYXBbMjBdOiB0eXBlIEkvTyBQ b3J0LCByYW5nZSAzMiwgYmFzZSAweDFjMzAsIHNpemUgIDQsIGVuYWJsZWQKCW1hcFsyNF06IHR5 cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MWMyMCwgc2l6ZSAgNCwgZW5hYmxlZApwY2li MDogbWF0Y2hlZCBlbnRyeSBmb3IgMC4zMS5JTlRCCnBjaWIwOiBzbG90IDMxIElOVEIgaGFyZHdp cmVkIHRvIElSUSAxOQpwY2liMTogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGlycSAxNiBhdCBkZXZp Y2UgMS4wIG9uIHBjaTAKcGNpYjE6ICAgZG9tYWluICAgICAgICAgICAgMApwY2liMTogICBzZWNv bmRhcnkgYnVzICAgICAxCnBjaWIxOiAgIHN1Ym9yZGluYXRlIGJ1cyAgIDEKcGNpYjE6ICAgSS9P IGRlY29kZSAgICAgICAgMHgyMDAwLTB4MmZmZgpwY2liMTogICBtZW1vcnkgZGVjb2RlICAgICAw eGNjMDAwMDAwLTB4Y2VmZmZmZmYKcGNpYjE6ICAgcHJlZmV0Y2hlZCBkZWNvZGUgMHhkMDAwMDAw MC0weGRmZmZmZmZmCnBjaTE6IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWIxCnBjaTE6IGRvbWFpbj0w LCBwaHlzaWNhbCBidXM9MQpmb3VuZC0+CXZlbmRvcj0weDEwZGUsIGRldj0weDA2ZWMsIHJldmlk PTB4YTEKCWRvbWFpbj0wLCBidXM9MSwgc2xvdD0wLCBmdW5jPTAKCWNsYXNzPTAzLTAwLTAwLCBo ZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDcsIHN0YXRyZWc9MHgwMDEwLCBjYWNo ZWxuc3o9MTYgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAgbnMpLCBtaW5nbnQ9MHgwMCAoMCBu cyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWEsIGlycT01Cglwb3dlcnNwZWMgMyAgc3Vw cG9ydHMgRDAgRDMgIGN1cnJlbnQgRDAKCU1TSSBzdXBwb3J0cyAxIG1lc3NhZ2UsIDY0IGJpdAoJ bWFwWzEwXTogdHlwZSBNZW1vcnksIHJhbmdlIDMyLCBiYXNlIDB4Y2UwMDAwMDAsIHNpemUgMjQs IGVuYWJsZWQKcGNpYjE6IHJlcXVlc3RlZCBtZW1vcnkgcmFuZ2UgMHhjZTAwMDAwMC0weGNlZmZm ZmZmOiBnb29kCgltYXBbMTRdOiB0eXBlIFByZWZldGNoYWJsZSBNZW1vcnksIHJhbmdlIDY0LCBi YXNlIDB4ZDAwMDAwMDAsIHNpemUgMjgsIGVuYWJsZWQKcGNpYjE6IHJlcXVlc3RlZCBtZW1vcnkg cmFuZ2UgMHhkMDAwMDAwMC0weGRmZmZmZmZmOiBnb29kCgltYXBbMWNdOiB0eXBlIE1lbW9yeSwg cmFuZ2UgNjQsIGJhc2UgMHhjYzAwMDAwMCwgc2l6ZSAyNSwgZW5hYmxlZApwY2liMTogcmVxdWVz dGVkIG1lbW9yeSByYW5nZSAweGNjMDAwMDAwLTB4Y2RmZmZmZmY6IGdvb2QKCW1hcFsyNF06IHR5 cGUgSS9PIFBvcnQsIHJhbmdlIDMyLCBiYXNlIDB4MjAwMCwgc2l6ZSAgNywgZW5hYmxlZApwY2li MTogcmVxdWVzdGVkIEkvTyByYW5nZSAweDIwMDAtMHgyMDdmOiBpbiByYW5nZQpwY2liMTogbWF0 Y2hlZCBlbnRyeSBmb3IgMS4wLklOVEEKcGNpYjE6IHNsb3QgMCBJTlRBIGhhcmR3aXJlZCB0byBJ UlEgMTYKdmdhcGNpMDogPFZHQS1jb21wYXRpYmxlIGRpc3BsYXk+IHBvcnQgMHgyMDAwLTB4MjA3 ZiBtZW0gMHhjZTAwMDAwMC0weGNlZmZmZmZmLDB4ZDAwMDAwMDAtMHhkZmZmZmZmZiwweGNjMDAw MDAwLTB4Y2RmZmZmZmYgaXJxIDE2IGF0IGRldmljZSAwLjAgb24gcGNpMQp1aGNpMDogPEludGVs IDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xsZXI+IHBvcnQgMHgxODAwLTB4MTgxZiBpcnEgMTYg YXQgZGV2aWNlIDI2LjAgb24gcGNpMAppb2FwaWMwOiByb3V0aW5nIGludHBpbiAxNiAoUENJIElS USAxNikgdG8gbGFwaWMgMCB2ZWN0b3IgNDkKdWhjaTA6IFtNUFNBRkVdCnVoY2kwOiBbSVRIUkVB RF0KdXNidXMwOiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgY29udHJvbGxlcj4gb24gdWhjaTAK dWhjaTE6IDxJbnRlbCA4MjgwMUkgKElDSDkpIFVTQiBjb250cm9sbGVyPiBwb3J0IDB4MTgyMC0w eDE4M2YgaXJxIDIxIGF0IGRldmljZSAyNi4xIG9uIHBjaTAKaW9hcGljMDogcm91dGluZyBpbnRw aW4gMjEgKFBDSSBJUlEgMjEpIHRvIGxhcGljIDAgdmVjdG9yIDUwCnVoY2kxOiBbTVBTQUZFXQp1 aGNpMTogW0lUSFJFQURdCnVzYnVzMTogPEludGVsIDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xs ZXI+IG9uIHVoY2kxCmVoY2kwOiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgMi4wIGNvbnRyb2xs ZXI+IG1lbSAweGYwNDA0MDAwLTB4ZjA0MDQzZmYgaXJxIDE5IGF0IGRldmljZSAyNi43IG9uIHBj aTAKaW9hcGljMDogcm91dGluZyBpbnRwaW4gMTkgKFBDSSBJUlEgMTkpIHRvIGxhcGljIDAgdmVj dG9yIDUxCmVoY2kwOiBbTVBTQUZFXQplaGNpMDogW0lUSFJFQURdCnVzYnVzMjogRUhDSSB2ZXJz aW9uIDEuMAp1c2J1czI6IDxJbnRlbCA4MjgwMUkgKElDSDkpIFVTQiAyLjAgY29udHJvbGxlcj4g b24gZWhjaTAKcGNpMDogPG11bHRpbWVkaWEsIEhEQT4gYXQgZGV2aWNlIDI3LjAgKG5vIGRyaXZl ciBhdHRhY2hlZCkKcGNpYjI6IDxBQ1BJIFBDSS1QQ0kgYnJpZGdlPiBpcnEgMTcgYXQgZGV2aWNl IDI4LjAgb24gcGNpMApwY2liMjogICBkb21haW4gICAgICAgICAgICAwCnBjaWIyOiAgIHNlY29u ZGFyeSBidXMgICAgIDIKcGNpYjI6ICAgc3Vib3JkaW5hdGUgYnVzICAgNApwY2liMjogICBJL08g ZGVjb2RlICAgICAgICAweDAtMHgwCnBjaWIyOiAgIG5vIHByZWZldGNoZWQgZGVjb2RlCnBjaTI6 IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWIyCnBjaTI6IGRvbWFpbj0wLCBwaHlzaWNhbCBidXM9Mgpw Y2liMzogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGlycSAxOSBhdCBkZXZpY2UgMjguMyBvbiBwY2kw CnBjaWIzOiAgIGRvbWFpbiAgICAgICAgICAgIDAKcGNpYjM6ICAgc2Vjb25kYXJ5IGJ1cyAgICAg NwpwY2liMzogICBzdWJvcmRpbmF0ZSBidXMgICA3CnBjaWIzOiAgIEkvTyBkZWNvZGUgICAgICAg IDB4MC0weDAKcGNpYjM6ICAgbm8gcHJlZmV0Y2hlZCBkZWNvZGUKcGNpNzogPEFDUEkgUENJIGJ1 cz4gb24gcGNpYjMKcGNpNzogZG9tYWluPTAsIHBoeXNpY2FsIGJ1cz03CmZvdW5kLT4JdmVuZG9y PTB4MTY4YywgZGV2PTB4MDAyYiwgcmV2aWQ9MHgwMQoJZG9tYWluPTAsIGJ1cz03LCBzbG90PTAs IGZ1bmM9MAoJY2xhc3M9MDItODAtMDAsIGhkcnR5cGU9MHgwMCwgbWZkZXY9MAoJY21kcmVnPTB4 MDAwMCwgc3RhdHJlZz0weDAwMTAsIGNhY2hlbG5zej0xNiAoZHdvcmRzKQoJbGF0dGltZXI9MHgw MCAoMCBucyksIG1pbmdudD0weDAwICgwIG5zKSwgbWF4bGF0PTB4MDAgKDAgbnMpCglpbnRwaW49 YSwgaXJxPTEwCglwb3dlcnNwZWMgMyAgc3VwcG9ydHMgRDAgRDEgRDMgIGN1cnJlbnQgRDAKCU1T SSBzdXBwb3J0cyAxIG1lc3NhZ2UKCW1hcFsxMF06IHR5cGUgTWVtb3J5LCByYW5nZSA2NCwgYmFz ZSAwLCBzaXplIDE2LCBtZW1vcnkgZGlzYWJsZWQKcGNpYjM6IG1hdGNoZWQgZW50cnkgZm9yIDcu MC5JTlRBCnBjaWIzOiBzbG90IDAgSU5UQSBoYXJkd2lyZWQgdG8gSVJRIDE5CmF0aDA6IDxBdGhl cm9zIDkyODU+IGlycSAxOSBhdCBkZXZpY2UgMC4wIG9uIHBjaTcKcGNpYjM6IGF0aDAgcmVxdWVz dGVkIHVuc3VwcG9ydGVkIG1lbW9yeSByYW5nZSAwLTB4ZmZmZmZmZmYgKGRlY29kaW5nIDAtMCwg MC0wKQphdGgwOiAweDEwMDAwIGJ5dGVzIG9mIHJpZCAweDEwIHJlcyAzIGZhaWxlZCAoMCwgMHhm ZmZmZmZmZikuCmF0aDA6IGNhbm5vdCBtYXAgcmVnaXN0ZXIgc3BhY2UKZGV2aWNlX2F0dGFjaDog YXRoMCBhdHRhY2ggcmV0dXJuZWQgNgpwY2liNDogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGlycSAx NiBhdCBkZXZpY2UgMjguNSBvbiBwY2kwCnBjaWI0OiAgIGRvbWFpbiAgICAgICAgICAgIDAKcGNp YjQ6ICAgc2Vjb25kYXJ5IGJ1cyAgICAgOQpwY2liNDogICBzdWJvcmRpbmF0ZSBidXMgICA5CnBj aWI0OiAgIEkvTyBkZWNvZGUgICAgICAgIDB4MC0weDAKcGNpYjQ6ICAgbm8gcHJlZmV0Y2hlZCBk ZWNvZGUKcGNpYjQ6IGNvdWxkIG5vdCBnZXQgUENJIGludGVycnVwdCByb3V0aW5nIHRhYmxlIGZv ciBcXF9TQl8uUENJMC5SUDA2IC0gQUVfTk9UX0ZPVU5ECnBjaTk6IDxBQ1BJIFBDSSBidXM+IG9u IHBjaWI0CnBjaTk6IGRvbWFpbj0wLCBwaHlzaWNhbCBidXM9OQpmb3VuZC0+CXZlbmRvcj0weDE5 NjksIGRldj0weDEwNjMsIHJldmlkPTB4YzAKCWRvbWFpbj0wLCBidXM9OSwgc2xvdD0wLCBmdW5j PTAKCWNsYXNzPTAyLTAwLTAwLCBoZHJ0eXBlPTB4MDAsIG1mZGV2PTAKCWNtZHJlZz0weDAwMDAs IHN0YXRyZWc9MHgwMDEwLCBjYWNoZWxuc3o9MTYgKGR3b3JkcykKCWxhdHRpbWVyPTB4MDAgKDAg bnMpLCBtaW5nbnQ9MHgwMCAoMCBucyksIG1heGxhdD0weDAwICgwIG5zKQoJaW50cGluPWEsIGly cT0xMAoJcG93ZXJzcGVjIDMgIHN1cHBvcnRzIEQwIEQzICBjdXJyZW50IEQwCglNU0kgc3VwcG9y dHMgMSBtZXNzYWdlLCA2NCBiaXQKCW1hcFsxMF06IHR5cGUgTWVtb3J5LCByYW5nZSA2NCwgYmFz ZSAwLCBzaXplIDE4LCBtZW1vcnkgZGlzYWJsZWQKCW1hcFsxOF06IHR5cGUgSS9PIFBvcnQsIHJh bmdlIDMyLCBiYXNlIDAsIHNpemUgIDcsIHBvcnQgZGlzYWJsZWQKcGNpYjA6IG1hdGNoZWQgZW50 cnkgZm9yIDAuMjguSU5UQQpwY2liMDogc2xvdCAyOCBJTlRBIGhhcmR3aXJlZCB0byBJUlEgMTcK cGNpYjQ6IHNsb3QgMCBJTlRBIGlzIHJvdXRlZCB0byBpcnEgMTcKYWxjMDogPEF0aGVyb3MgQVI4 MTMxIFBDSWUgR2lnYWJpdCBFdGhlcm5ldD4gaXJxIDE3IGF0IGRldmljZSAwLjAgb24gcGNpOQpw Y2liNDogYWxjMCByZXF1ZXN0ZWQgdW5zdXBwb3J0ZWQgbWVtb3J5IHJhbmdlIDAtMHhmZmZmZmZm ZiAoZGVjb2RpbmcgMC0wLCAwLTApCmFsYzA6IDB4NDAwMDAgYnl0ZXMgb2YgcmlkIDB4MTAgcmVz IDMgZmFpbGVkICgwLCAweGZmZmZmZmZmKS4KYWxjMDogY2Fubm90IGFsbG9jYXRlIG1lbW9yeSBy ZXNvdXJjZXMuCmRldmljZV9hdHRhY2g6IGFsYzAgYXR0YWNoIHJldHVybmVkIDYKdWhjaTI6IDxJ bnRlbCA4MjgwMUkgKElDSDkpIFVTQiBjb250cm9sbGVyPiBwb3J0IDB4MTg0MC0weDE4NWYgaXJx IDIzIGF0IGRldmljZSAyOS4wIG9uIHBjaTAKaW9hcGljMDogcm91dGluZyBpbnRwaW4gMjMgKFBD SSBJUlEgMjMpIHRvIGxhcGljIDAgdmVjdG9yIDUyCnVoY2kyOiBbTVBTQUZFXQp1aGNpMjogW0lU SFJFQURdCnVzYnVzMzogPEludGVsIDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xsZXI+IG9uIHVo Y2kyCnVoY2kzOiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgY29udHJvbGxlcj4gcG9ydCAweDE4 NjAtMHgxODdmIGlycSAxOSBhdCBkZXZpY2UgMjkuMSBvbiBwY2kwCnVoY2kzOiBbTVBTQUZFXQp1 aGNpMzogW0lUSFJFQURdCnVzYnVzNDogPEludGVsIDgyODAxSSAoSUNIOSkgVVNCIGNvbnRyb2xs ZXI+IG9uIHVoY2kzCnVoY2k0OiA8SW50ZWwgODI4MDFJIChJQ0g5KSBVU0IgY29udHJvbGxlcj4g cG9ydCAweDE4ODAtMHgxODlmIGlycSAxOCBhdCBkZXZpY2UgMjkuMiBvbiBwY2kwCmlvYXBpYzA6 IHJvdXRpbmcgaW50cGluIDE4IChQQ0kgSVJRIDE4KSB0byBsYXBpYyAwIHZlY3RvciA1Mwp1aGNp NDogW01QU0FGRV0KdWhjaTQ6IFtJVEhSRUFEXQp1c2J1czU6IDxJbnRlbCA4MjgwMUkgKElDSDkp IFVTQiBjb250cm9sbGVyPiBvbiB1aGNpNAp1aGNpNTogPEludGVsIDgyODAxSSAoSUNIOSkgVVNC IGNvbnRyb2xsZXI+IHBvcnQgMHgxOGEwLTB4MThiZiBpcnEgMTYgYXQgZGV2aWNlIDI5LjMgb24g cGNpMAp1aGNpNTogW01QU0FGRV0KdWhjaTU6IFtJVEhSRUFEXQp1c2J1czY6IDxJbnRlbCA4Mjgw MUkgKElDSDkpIFVTQiBjb250cm9sbGVyPiBvbiB1aGNpNQplaGNpMTogPEludGVsIDgyODAxSSAo SUNIOSkgVVNCIDIuMCBjb250cm9sbGVyPiBtZW0gMHhmMDQwNDQwMC0weGYwNDA0N2ZmIGlycSAy MyBhdCBkZXZpY2UgMjkuNyBvbiBwY2kwCmVoY2kxOiBbTVBTQUZFXQplaGNpMTogW0lUSFJFQURd CnVzYnVzNzogRUhDSSB2ZXJzaW9uIDEuMAp1c2J1czc6IDxJbnRlbCA4MjgwMUkgKElDSDkpIFVT QiAyLjAgY29udHJvbGxlcj4gb24gZWhjaTEKcGNpYjU6IDxBQ1BJIFBDSS1QQ0kgYnJpZGdlPiBh dCBkZXZpY2UgMzAuMCBvbiBwY2kwCnBjaWI1OiAgIGRvbWFpbiAgICAgICAgICAgIDAKcGNpYjU6 ICAgc2Vjb25kYXJ5IGJ1cyAgICAgMTAKcGNpYjU6ICAgc3Vib3JkaW5hdGUgYnVzICAgMTAKcGNp YjU6ICAgSS9PIGRlY29kZSAgICAgICAgMHhmMDAwLTB4ZmZmCnBjaWI1OiAgIG5vIHByZWZldGNo ZWQgZGVjb2RlCnBjaWI1OiAgIFN1YnRyYWN0aXZlbHkgZGVjb2RlZCBicmlkZ2UuCnBjaTEwOiA8 QUNQSSBQQ0kgYnVzPiBvbiBwY2liNQpwY2kxMDogZG9tYWluPTAsIHBoeXNpY2FsIGJ1cz0xMApp c2FiMDogPFBDSS1JU0EgYnJpZGdlPiBhdCBkZXZpY2UgMzEuMCBvbiBwY2kwCmlzYTA6IDxJU0Eg YnVzPiBvbiBpc2FiMAphdGFwY2kwOiA8SW50ZWwgQVRBIGNvbnRyb2xsZXI+IHBvcnQgMHgxOGYw LTB4MThmNywweDE4ZTQtMHgxOGU3LDB4MThlOC0weDE4ZWYsMHgxOGUwLTB4MThlMywweDE4ZDAt MHgxOGRmLDB4MThjMC0weDE4Y2YgaXJxIDE5IGF0IGRldmljZSAzMS4yIG9uIHBjaTAKYXRhcGNp MDogUmVzZXJ2ZWQgMHgxMCBieXRlcyBmb3IgcmlkIDB4MjAgdHlwZSA0IGF0IDB4MThkMAphdGFw Y2kwOiBbTVBTQUZFXQphdGFwY2kwOiBbSVRIUkVBRF0KYXRhMjogPEFUQSBjaGFubmVsIDA+IG9u IGF0YXBjaTAKYXRhcGNpMDogUmVzZXJ2ZWQgMHg4IGJ5dGVzIGZvciByaWQgMHgxMCB0eXBlIDQg YXQgMHgxOGYwCmF0YXBjaTA6IFJlc2VydmVkIDB4NCBieXRlcyBmb3IgcmlkIDB4MTQgdHlwZSA0 IGF0IDB4MThlNAphdGEyOiByZXNldCB0cDEgbWFzaz0wMyBvc3RhdDA9NTAgb3N0YXQxPTAwCmF0 YTI6IHN0YXQwPTB4NTAgZXJyPTB4MDEgbHNiPTB4MDAgbXNiPTB4MDAKYXRhMjogc3RhdDE9MHgw MCBlcnI9MHgwMSBsc2I9MHgwMCBtc2I9MHgwMAphdGEyOiByZXNldCB0cDIgc3RhdDA9NTAgc3Rh dDE9MDAgZGV2aWNlcz0weDEKYXRhMjogW01QU0FGRV0KYXRhMjogW0lUSFJFQURdCmF0YTM6IDxB VEEgY2hhbm5lbCAxPiBvbiBhdGFwY2kwCmF0YXBjaTA6IFJlc2VydmVkIDB4OCBieXRlcyBmb3Ig cmlkIDB4MTggdHlwZSA0IGF0IDB4MThlOAphdGFwY2kwOiBSZXNlcnZlZCAweDQgYnl0ZXMgZm9y IHJpZCAweDFjIHR5cGUgNCBhdCAweDE4ZTAKYXRhMzogcmVzZXQgdHAxIG1hc2s9MDMgb3N0YXQw PTUwIG9zdGF0MT0wMAphdGEzOiBzdGF0MD0weDAwIGVycj0weDAxIGxzYj0weDE0IG1zYj0weGVi CmF0YTM6IHN0YXQxPTB4MDAgZXJyPTB4MDEgbHNiPTB4MTQgbXNiPTB4ZWIKYXRhMzogcmVzZXQg dHAyIHN0YXQwPTAwIHN0YXQxPTAwIGRldmljZXM9MHgzMDAwMAphdGEzOiBbTVBTQUZFXQphdGEz OiBbSVRIUkVBRF0KcGNpMDogPHNlcmlhbCBidXMsIFNNQnVzPiBhdCBkZXZpY2UgMzEuMyAobm8g ZHJpdmVyIGF0dGFjaGVkKQphdGFwY2kxOiA8SW50ZWwgQVRBIGNvbnRyb2xsZXI+IHBvcnQgMHgx YzQ4LTB4MWM0ZiwweDE4ZmMtMHgxOGZmLDB4MWM0MC0weDFjNDcsMHgxOGY4LTB4MThmYiwweDFj MzAtMHgxYzNmLDB4MWMyMC0weDFjMmYgaXJxIDE5IGF0IGRldmljZSAzMS41IG9uIHBjaTAKYXRh cGNpMTogUmVzZXJ2ZWQgMHgxMCBieXRlcyBmb3IgcmlkIDB4MjAgdHlwZSA0IGF0IDB4MWMzMAph dGFwY2kxOiBbTVBTQUZFXQphdGFwY2kxOiBbSVRIUkVBRF0KYXRhNDogPEFUQSBjaGFubmVsIDA+ IG9uIGF0YXBjaTEKYXRhcGNpMTogUmVzZXJ2ZWQgMHg4IGJ5dGVzIGZvciByaWQgMHgxMCB0eXBl IDQgYXQgMHgxYzQ4CmF0YXBjaTE6IFJlc2VydmVkIDB4NCBieXRlcyBmb3IgcmlkIDB4MTQgdHlw ZSA0IGF0IDB4MThmYwphdGE0OiByZXNldCB0cDEgbWFzaz0wMyBvc3RhdDA9N2Ygb3N0YXQxPTdm CmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9 MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZm IGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNi PTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBz dGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJy PTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhm ZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0 YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3 ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxz Yj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4 ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0 MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4 ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBt c2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTQ6 IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNDogc3RhdDA9MHg3ZiBl cnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0w eGZmIG1zYj0weGZmCmF0YTQ6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYK YXRhNDogc3RhdDE9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE0OiByZXNldCB0 cDIgc3RhdDA9ZmYgc3RhdDE9ZmYgZGV2aWNlcz0weDAKYXRhNDogW01QU0FGRV0KYXRhNDogW0lU SFJFQURdCmF0YTU6IDxBVEEgY2hhbm5lbCAxPiBvbiBhdGFwY2kxCmF0YXBjaTE6IFJlc2VydmVk IDB4OCBieXRlcyBmb3IgcmlkIDB4MTggdHlwZSA0IGF0IDB4MWM0MAphdGFwY2kxOiBSZXNlcnZl ZCAweDQgYnl0ZXMgZm9yIHJpZCAweDFjIHR5cGUgNCBhdCAweDE4ZjgKYXRhNTogcmVzZXQgdHAx IG1hc2s9MDMgb3N0YXQwPTdmIG9zdGF0MT03ZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxz Yj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4 ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0 MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4 ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBt c2I9MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6 IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBl cnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0w eGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYK YXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0w eDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYg bHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9 MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0 YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRhNTogc3RhdDA9MHg3ZiBlcnI9 MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0weDdmIGVycj0weGZmIGxzYj0weGZm IG1zYj0weGZmCmF0YTU6IHN0YXQwPTB4N2YgZXJyPTB4ZmYgbHNiPTB4ZmYgbXNiPTB4ZmYKYXRh NTogc3RhdDA9MHg3ZiBlcnI9MHhmZiBsc2I9MHhmZiBtc2I9MHhmZgphdGE1OiBzdGF0MD0weDdm IGVycj0weGZmIGxzYj0weGZmIG1zYj0weGZmCmF0YTU6IHN0YXQxPTB4N2YgZXJyPTB4ZmYgbHNi PTB4ZmYgbXNiPTB4ZmYKYXRhNTogcmVzZXQgdHAyIHN0YXQwPWZmIHN0YXQxPWZmIGRldmljZXM9 MHgwCmF0YTU6IFtNUFNBRkVdCmF0YTU6IFtJVEhSRUFEXQphY3BpX3R6MDogPFRoZXJtYWwgWm9u ZT4gb24gYWNwaTAKYXRydGMwOiA8QVQgcmVhbHRpbWUgY2xvY2s+IHBvcnQgMHg3MC0weDc3IGly cSA4IG9uIGFjcGkwCmF0cnRjMDogV2FybmluZzogQ291bGRuJ3QgbWFwIEkvTy4KYXRydGMwOiBy ZWdpc3RlcmVkIGFzIGEgdGltZS1vZi1kYXkgY2xvY2sgKHJlc29sdXRpb24gMTAwMDAwMHVzKQph dGtiZGMwOiA8S2V5Ym9hcmQgY29udHJvbGxlciAoaTgwNDIpPiBwb3J0IDB4NjAsMHg2NCBpcnEg MSBvbiBhY3BpMAphdGtiZDA6IDxBVCBLZXlib2FyZD4gaXJxIDEgb24gYXRrYmRjMAphdGtiZDog dGhlIGN1cnJlbnQga2JkIGNvbnRyb2xsZXIgY29tbWFuZCBieXRlIDAwNDcKYXRrYmQ6IGtleWJv YXJkIElEIDB4NDFhYiAoMikKa2JkMCBhdCBhdGtiZDAKa2JkMDogYXRrYmQwLCBBVCAxMDEvMTAy ICgyKSwgY29uZmlnOjB4MCwgZmxhZ3M6MHgzZDAwMDAKaW9hcGljMDogcm91dGluZyBpbnRwaW4g MSAoSVNBIElSUSAxKSB0byBsYXBpYyAwIHZlY3RvciA1NAphdGtiZDA6IFtHSUFOVC1MT0NLRURd CmF0a2JkMDogW0lUSFJFQURdCnBzbTA6IHVuYWJsZSB0byBhbGxvY2F0ZSBJUlEKcHNtY3BucDA6 IDxQUy8yIG1vdXNlIHBvcnQ+IGlycSAxMiBvbiBhY3BpMApwc20wOiBjdXJyZW50IGNvbW1hbmQg Ynl0ZTowMDQ3CnBzbTA6IDxQUy8yIE1vdXNlPiBpcnEgMTIgb24gYXRrYmRjMAppb2FwaWMwOiBy b3V0aW5nIGludHBpbiAxMiAoSVNBIElSUSAxMikgdG8gbGFwaWMgMCB2ZWN0b3IgNTUKcHNtMDog W0dJQU5ULUxPQ0tFRF0KcHNtMDogW0lUSFJFQURdCnBzbTA6IG1vZGVsIEdlbmVyaWMgUFMvMiBt b3VzZSwgZGV2aWNlIElEIDAtMDAsIDIgYnV0dG9ucwpwc20wOiBjb25maWc6MDAwMDAwMDAsIGZs YWdzOjAwMDAwMDA4LCBwYWNrZXQgc2l6ZTozCnBzbTA6IHN5bmNtYXNrOmMwLCBzeW5jYml0czow MAp1bmtub3duOiBzdGF0dXMgcmVnIHRlc3QgZmFpbGVkIGZmCnVua25vd246IHN0YXR1cyByZWcg dGVzdCBmYWlsZWQgZmYKdW5rbm93bjogc3RhdHVzIHJlZyB0ZXN0IGZhaWxlZCBmZgp1bmtub3du OiBzdGF0dXMgcmVnIHRlc3QgZmFpbGVkIGZmCnVua25vd246IHN0YXR1cyByZWcgdGVzdCBmYWls ZWQgZmYKdW5rbm93bjogc3RhdHVzIHJlZyB0ZXN0IGZhaWxlZCBmZgphaGNfaXNhX3Byb2JlIDE6 IGlvcG9ydCAweDFjMDAgYWxsb2MgZmFpbGVkCmV4X2lzYV9pZGVudGlmeSgpCnBucF9pZGVudGlm eTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAyMDMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Qb3J0 IGF0IDI0MwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMjgzCnBucF9pZGVudGlm eTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAyYzMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Qb3J0 IGF0IDMwMwpwbnBfaWRlbnRpZnk6IFRyeWluZyBSZWFkX1BvcnQgYXQgMzQzCnBucF9pZGVudGlm eTogVHJ5aW5nIFJlYWRfUG9ydCBhdCAzODMKcG5wX2lkZW50aWZ5OiBUcnlpbmcgUmVhZF9Qb3J0 IGF0IDNjMwpQTlAgSWRlbnRpZnkgY29tcGxldGUKaXNhX3Byb2JlX2NoaWxkcmVuOiBkaXNhYmxp bmcgUG5QIGRldmljZXMKcG10aW1lcjAgb24gaXNhMAphdGtiZGM6IGF0a2JkYzAgYWxyZWFkeSBl eGlzdHM7IHNraXBwaW5nIGl0CmF0cnRjOiBhdHJ0YzAgYWxyZWFkeSBleGlzdHM7IHNraXBwaW5n IGl0CnNjOiBzYzAgYWxyZWFkeSBleGlzdHM7IHNraXBwaW5nIGl0CmlzYV9wcm9iZV9jaGlsZHJl bjogcHJvYmluZyBub24tUG5QIGRldmljZXMKb3JtMDogPElTQSBPcHRpb24gUk9Ncz4gYXQgaW9t ZW0gMHhjMDAwMC0weGNlN2ZmLDB4ZTAwMDAtMHhlMTdmZiBwbnBpZCBPUk0wMDAwIG9uIGlzYTAK c2MwOiA8U3lzdGVtIGNvbnNvbGU+IGF0IGZsYWdzIDB4MTAwIG9uIGlzYTAKc2MwOiBWR0EgPDE2 IHZpcnR1YWwgY29uc29sZXMsIGZsYWdzPTB4MzAwPgpzYzA6IGZiMCwga2JkMSwgdGVybWluYWwg ZW11bGF0b3I6IHNjdGVrZW4gKHRla2VuIHRlcm1pbmFsKQp2Z2EwOiA8R2VuZXJpYyBJU0EgVkdB PiBhdCBwb3J0IDB4M2MwLTB4M2RmIGlvbWVtIDB4YTAwMDAtMHhiZmZmZiBvbiBpc2EwCmF0YTAg YXQgcG9ydCAweDFmMC0weDFmNywweDNmNiBpcnEgMTQgb24gaXNhMAphdGEwOiByZXNldCB0cDEg bWFzaz0wMCBvc3RhdDA9ZmYgb3N0YXQxPWZmCmlvYXBpYzA6IHJvdXRpbmcgaW50cGluIDE0IChJ U0EgSVJRIDE0KSB0byBsYXBpYyAwIHZlY3RvciA1NgphdGEwOiBbTVBTQUZFXQphdGEwOiBbSVRI UkVBRF0KYXRhMSBhdCBwb3J0IDB4MTcwLTB4MTc3LDB4Mzc2IGlycSAxNSBvbiBpc2EwCmF0YTE6 IHJlc2V0IHRwMSBtYXNrPTAwIG9zdGF0MD1mZiBvc3RhdDE9ZmYKaW9hcGljMDogcm91dGluZyBp bnRwaW4gMTUgKElTQSBJUlEgMTUpIHRvIGxhcGljIDAgdmVjdG9yIDU3CmF0YTE6IFtNUFNBRkVd CmF0YTE6IFtJVEhSRUFEXQpmZGMwIGZhaWxlZCB0byBwcm9iZSBhdCBwb3J0IDB4M2YwLTB4M2Y1 LDB4M2Y3IGlycSA2IGRycSAyIG9uIGlzYTAKcHBjMDogcGFyYWxsZWwgcG9ydCBub3QgZm91bmQu CnBwYzA6IDxQYXJhbGxlbCBwb3J0PiBmYWlsZWQgdG8gcHJvYmUgYXQgaXJxIDcgb24gaXNhMAp1 YXJ0MDogPG5zODI1MD4gZmFpbGVkIHRvIHByb2JlIGF0IHBvcnQgMHgzZjgtMHgzZmYgaXJxIDQg b24gaXNhMAp1YXJ0MTogPG5zODI1MD4gZmFpbGVkIHRvIHByb2JlIGF0IHBvcnQgMHgyZjgtMHgy ZmYgaXJxIDMgb24gaXNhMAppc2FfcHJvYmVfY2hpbGRyZW46IHByb2JpbmcgUG5QIGRldmljZXMK ZXN0MDogPEVuaGFuY2VkIFNwZWVkU3RlcCBGcmVxdWVuY3kgQ29udHJvbD4gb24gY3B1MApwNHRj YzA6IDxDUFUgRnJlcXVlbmN5IFRoZXJtYWwgQ29udHJvbD4gb24gY3B1MAplc3QxOiA8RW5oYW5j ZWQgU3BlZWRTdGVwIEZyZXF1ZW5jeSBDb250cm9sPiBvbiBjcHUxCnA0dGNjMTogPENQVSBGcmVx dWVuY3kgVGhlcm1hbCBDb250cm9sPiBvbiBjcHUxCkRldmljZSBjb25maWd1cmF0aW9uIGZpbmlz aGVkLgpwcm9jZnMgcmVnaXN0ZXJlZApsYXBpYzogRGl2aXNvciAyLCBGcmVxdWVuY3kgOTk3NjE3 MDAgSHoKVGltZWNvdW50ZXIgIlRTQyIgZnJlcXVlbmN5IDIxOTQ3NTczMjMgSHogcXVhbGl0eSAt MTAwClRpbWVjb3VudGVycyB0aWNrIGV2ZXJ5IDEuMDAwIG1zZWMKdmxhbjogaW5pdGlhbGl6ZWQs IHVzaW5nIGhhc2ggdGFibGVzIHdpdGggY2hhaW5pbmcKbG8wOiBicGYgYXR0YWNoZWQKaHB0cnI6 IG5vIGNvbnRyb2xsZXIgZGV0ZWN0ZWQuCmF0YTA6IElkZW50aWZ5aW5nIGRldmljZXM6IDAwMDAw MDAwCmF0YTA6IE5ldyBkZXZpY2VzOiAwMDAwMDAwMAphdGExOiBJZGVudGlmeWluZyBkZXZpY2Vz OiAwMDAwMDAwMAphdGExOiBOZXcgZGV2aWNlczogMDAwMDAwMDAKYXRhMjogSWRlbnRpZnlpbmcg ZGV2aWNlczogMDAwMDAwMDEKYXRhMjogTmV3IGRldmljZXM6IDAwMDAwMDAxCnVzYnVzMDogMTJN YnBzIEZ1bGwgU3BlZWQgVVNCIHYxLjAKdXNidXMxOiAxMk1icHMgRnVsbCBTcGVlZCBVU0IgdjEu MAp1c2J1czI6IDQ4ME1icHMgSGlnaCBTcGVlZCBVU0IgdjIuMAp1c2J1czM6IDEyTWJwcyBGdWxs IFNwZWVkIFVTQiB2MS4wCnVzYnVzNDogMTJNYnBzIEZ1bGwgU3BlZWQgVVNCIHYxLjAKdXNidXM1 OiAxMk1icHMgRnVsbCBTcGVlZCBVU0IgdjEuMAp1c2J1czY6IDEyTWJwcyBGdWxsIFNwZWVkIFVT QiB2MS4wCnVzYnVzNzogNDgwTWJwcyBIaWdoIFNwZWVkIFVTQiB2Mi4wCmFjcGlfYWNhZDA6IGFj bGluZSBpbml0aWFsaXphdGlvbiBzdGFydApiYXR0ZXJ5MDogYmF0dGVyeSBpbml0aWFsaXphdGlv biBzdGFydAphdGEyLW1hc3RlcjogcGlvPVBJTzQgd2RtYT1XRE1BMiB1ZG1hPVVETUExMzMgY2Fi bGU9NDAgd2lyZWFjcGlfYWNhZDA6IE9uIExpbmUKYWNwaV9hY2FkMDogYWNsaW5lIGluaXRpYWxp emF0aW9uIGRvbmUsIHRyaWVkIDEgdGltZXMKCnVnZW4wLjE6IDxJbnRlbD4gYXQgdXNidXMwCnVo dWIwOiA8SW50ZWwgVUhDSSByb290IEhVQiwgY2xhc3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRy IDE+IG9uIHVzYnVzMAp1Z2VuMS4xOiA8SW50ZWw+IGF0IHVzYnVzMQp1aHViMTogPEludGVsIFVI Q0kgcm9vdCBIVUIsIGNsYXNzIDkvMCwgcmV2IDEuMDAvMS4wMCwgYWRkciAxPiBvbiB1c2J1czEK dWdlbjIuMTogPEludGVsPiBhdCB1c2J1czIKdWh1YjI6IDxJbnRlbCBFSENJIHJvb3QgSFVCLCBj bGFzcyA5LzAsIHJldiAyLjAwLzEuMDAsIGFkZHIgMT4gb24gdXNidXMyCnVnZW4zLjE6IDxJbnRl bD4gYXQgdXNidXMzCnVodWIzOiA8SW50ZWwgVUhDSSByb290IEhVQiwgY2xhc3MgOS8wLCByZXYg MS4wMC8xLjAwLCBhZGRyIDE+IG9uIHVzYnVzMwp1Z2VuNC4xOiA8SW50ZWw+IGF0IHVzYnVzNAp1 aHViNDogPEludGVsIFVIQ0kgcm9vdCBIVUIsIGNsYXNzIDkvMCwgcmV2IDEuMDAvMS4wMCwgYWRk ciAxPiBvbiB1c2J1czQKdWdlbjUuMTogPEludGVsPiBhdCB1c2J1czUKdWh1YjU6IDxJbnRlbCBV SENJIHJvb3QgSFVCLCBjbGFzcyA5LzAsIHJldiAxLjAwLzEuMDAsIGFkZHIgMT4gb24gdXNidXM1 CnVnZW42LjE6IDxJbnRlbD4gYXQgdXNidXM2CnVodWI2OiA8SW50ZWwgVUhDSSByb290IEhVQiwg Y2xhc3MgOS8wLCByZXYgMS4wMC8xLjAwLCBhZGRyIDE+IG9uIHVzYnVzNgp1Z2VuNy4xOiA8SW50 ZWw+IGF0IHVzYnVzNwp1aHViNzogPEludGVsIEVIQ0kgcm9vdCBIVUIsIGNsYXNzIDkvMCwgcmV2 IDIuMDAvMS4wMCwgYWRkciAxPiBvbiB1c2J1czcKYWQ0OiBzZXR0aW5nIFVETUEzMwphZDQ6IDMw NTI0NU1CIDxTZWFnYXRlIFNUOTMyMDMyNUFTIDAwMDFTRE0xPiBhdCBhdGEyLW1hc3RlciBVRE1B MzMgCmFkNDogNjI1MTQyNDQ4IHNlY3RvcnMgWzYyMDE4MUMvMTZILzYzU10gMTYgc2VjdG9ycy9p bnRlcnJ1cHQgMSBkZXB0aCBxdWV1ZQpHRU9NOiBuZXcgZGlzayBhZDQKYWQ0OiBJbnRlbCBjaGVj azEgZmFpbGVkCmFkNDogQWRhcHRlYyBjaGVjazEgZmFpbGVkCmFkNDogTFNJICh2MykgY2hlY2sx IGZhaWxlZAphZDQ6IExTSSAodjIpIGNoZWNrMSBmYWlsZWQKdWh1YjA6IDIgcG9ydHMgd2l0aCAy IHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCnVodWIxOiAyIHBvcnRzIHdpdGggMiByZW1vdmFibGUs IHNlbGYgcG93ZXJlZAp1aHViMzogMiBwb3J0cyB3aXRoIDIgcmVtb3ZhYmxlLCBzZWxmIHBvd2Vy ZWQKdWh1YjQ6IDIgcG9ydHMgd2l0aCAyIHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCnVodWI1OiAy IHBvcnRzIHdpdGggMiByZW1vdmFibGUsIHNlbGYgcG93ZXJlZAp1aHViNjogMiBwb3J0cyB3aXRo IDIgcmVtb3ZhYmxlLCBzZWxmIHBvd2VyZWQKYWQ0OiBGcmVlQlNEIGNoZWNrMSBmYWlsZWQKYXRh MzogSWRlbnRpZnlpbmcgZGV2aWNlczogMDAwMzAwMDAKYXRhMzogTmV3IGRldmljZXM6IDAwMDMw MDAwCmF0YTM6IHRpbWVvdXQgd2FpdGluZyBmb3IgcmVhZCBEUlEKYXRhMzogdGltZW91dCB3YWl0 aW5nIGZvciByZWFkIERSUQphdGEzLW1hc3RlcjogcGlvPVBJTzQgd2RtYT1XRE1BMiB1ZG1hPVVE TUExMDAgY2FibGU9NDAgd2lyZQphY2QwOiBzZXR0aW5nIFVETUEzMwphY2QwOiA8VFNTVGNvcnAg Q0REVkRXIFRTLUw2MzNDL0FDMDE+IERWRFIgZHJpdmUgYXQgYXRhMyBhcyBtYXN0ZXIKYWNkMDog cmVhZCAxMDgyMEtCL3MgKDEwODIwS0Ivcykgd3JpdGUgNTQxMEtCL3MgKDU0MTBLQi9zKSwgMjA0 OEtCIGJ1ZmZlciwgVURNQTMzIAphY2QwOiBSZWFkczogQ0RSLCBDRFJXLCBDRERBIHN0cmVhbSwg RFZEUk9NLCBEVkRSLCBEVkRSQU0sIHBhY2tldAphY2QwOiBXcml0ZXM6IENEUiwgQ0RSVywgRFZE UiwgRFZEUkFNLCB0ZXN0IHdyaXRlLCBidXJucHJvb2YKYWNkMDogQXVkaW86IHBsYXksIDI1NiB2 b2x1bWUgbGV2ZWxzCmFjZDA6IE1lY2hhbmlzbTogZWplY3RhYmxlIHRyYXksIHVubG9ja2VkCmFj ZDA6IE1lZGl1bTogRFZEIDEyMG1tIGRhdGEgZGlzYwphdGE0OiBJZGVudGlmeWluZyBkZXZpY2Vz OiAwMDAwMDAwMAphdGE0OiBOZXcgZGV2aWNlczogMDAwMDAwMDAKYXRhNTogSWRlbnRpZnlpbmcg ZGV2aWNlczogMDAwMDAwMDAKYXRhNTogTmV3IGRldmljZXM6IDAwMDAwMDAwCkFUQSBQc2V1ZG9S QUlEIGxvYWRlZApTTVA6IEFQIENQVSAjMSBMYXVuY2hlZCEKY3B1MSBBUDoKICAgICBJRDogMHgw MTAwMDAwMCAgIFZFUjogMHgwMDA1MDAxNCBMRFI6IDB4MDAwMDAwMDAgREZSOiAweGZmZmZmZmZm CiAgbGludDA6IDB4MDAwMTA3MDAgbGludDE6IDB4MDAwMDA0MDAgVFBSOiAweDAwMDAwMDAwIFNW UjogMHgwMDAwMDFmZgogIHRpbWVyOiAweDAwMDIwMGVmIHRoZXJtOiAweDAwMDEwMDAwIGVycjog MHgwMDAwMDBmMCBwbWM6IDB4MDAwMTA0MDAKaW9hcGljMDogcm91dGluZyBpbnRwaW4gOSAoSVNB IElSUSA5KSB0byBsYXBpYyAxIHZlY3RvciA0OAppb2FwaWMwOiByb3V0aW5nIGludHBpbiAxNCAo SVNBIElSUSAxNCkgdG8gbGFwaWMgMSB2ZWN0b3IgNDkKaW9hcGljMDogcm91dGluZyBpbnRwaW4g MTYgKFBDSSBJUlEgMTYpIHRvIGxhcGljIDEgdmVjdG9yIDUwCmlvYXBpYzA6IHJvdXRpbmcgaW50 cGluIDE5IChQQ0kgSVJRIDE5KSB0byBsYXBpYyAxIHZlY3RvciA1MQppb2FwaWMwOiByb3V0aW5n IGludHBpbiAyMyAoUENJIElSUSAyMykgdG8gbGFwaWMgMSB2ZWN0b3IgNTIKdWh1YjI6IDQgcG9y dHMgd2l0aCA0IHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCnVodWI3OiA4IHBvcnRzIHdpdGggOCBy ZW1vdmFibGUsIHNlbGYgcG93ZXJlZAp1Z2VuMC4yOiA8QTRUZWNoPiBhdCB1c2J1czAKdW1zMDog PEE0VGVjaCBQUy8yK1VTQiBNb3VzZSwgY2xhc3MgMC8wLCByZXYgMS4xMC8wLjAyLCBhZGRyIDI+ IG9uIHVzYnVzMAp1bXMwOiA4IGJ1dHRvbnMgYW5kIFtYWVpdIGNvb3JkaW5hdGVzIElEPTAKdWdl bjcuMjogPFN1WWluPiBhdCB1c2J1czcKVHJ5aW5nIHRvIG1vdW50IHJvb3QgZnJvbSB1ZnM6L2Rl di9hZDRzMWEKY3RfdG9fdHMoWzIwMTEtMDMtMjYgMTY6NDg6MTddKSA9IDEzMDExNTgwOTcuMDAw MDAwMDAwCnN0YXJ0X2luaXQ6IHRyeWluZyAvc2Jpbi9pbml0Cg== --bcaec52e60056f64a1049f6647d2 Content-Type: application/octet-stream; name="sysctl_hw.acpi" Content-Disposition: attachment; filename="sysctl_hw.acpi" Content-Transfer-Encoding: base64 X-Attachment-Id: f_glqsu2gi1 aHcuYWNwaS5zdXBwb3J0ZWRfc2xlZXBfc3RhdGU6IFMzIFM0IFM1Cmh3LmFjcGkucG93ZXJfYnV0 dG9uX3N0YXRlOiBTNQpody5hY3BpLnNsZWVwX2J1dHRvbl9zdGF0ZTogUzMKaHcuYWNwaS5saWRf c3dpdGNoX3N0YXRlOiBOT05FCmh3LmFjcGkuc3RhbmRieV9zdGF0ZTogTk9ORQpody5hY3BpLnN1 c3BlbmRfc3RhdGU6IFMzCmh3LmFjcGkuc2xlZXBfZGVsYXk6IDEKaHcuYWNwaS5zNGJpb3M6IDAK aHcuYWNwaS52ZXJib3NlOiAxCmh3LmFjcGkuZGlzYWJsZV9vbl9yZWJvb3Q6IDAKaHcuYWNwaS5o YW5kbGVfcmVib290OiAwCmh3LmFjcGkucmVzZXRfdmlkZW86IDAKaHcuYWNwaS5jcHUuY3hfbG93 ZXN0OiBDMQpody5hY3BpLmFjbGluZTogMQpody5hY3BpLmJhdHRlcnkubGlmZTogLTEKaHcuYWNw aS5iYXR0ZXJ5LnRpbWU6IC0xCmh3LmFjcGkuYmF0dGVyeS5zdGF0ZTogNwpody5hY3BpLmJhdHRl cnkudW5pdHM6IDEKaHcuYWNwaS5iYXR0ZXJ5LmluZm9fZXhwaXJlOiA1Cmh3LmFjcGkudGhlcm1h bC5taW5fcnVudGltZTogMApody5hY3BpLnRoZXJtYWwucG9sbGluZ19yYXRlOiAxMApody5hY3Bp LnRoZXJtYWwudXNlcl9vdmVycmlkZTogMApody5hY3BpLnRoZXJtYWwudHowLnRlbXBlcmF0dXJl OiA3My4wQwpody5hY3BpLnRoZXJtYWwudHowLmFjdGl2ZTogLTEKaHcuYWNwaS50aGVybWFsLnR6 MC5wYXNzaXZlX2Nvb2xpbmc6IDEKaHcuYWNwaS50aGVybWFsLnR6MC50aGVybWFsX2ZsYWdzOiAw Cmh3LmFjcGkudGhlcm1hbC50ejAuX1BTVjogMTA1LjBDCmh3LmFjcGkudGhlcm1hbC50ejAuX0hP VDogLTEKaHcuYWNwaS50aGVybWFsLnR6MC5fQ1JUOiAxMDguMEMKaHcuYWNwaS50aGVybWFsLnR6 MC5fQUN4OiAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMSAtMQpody5hY3BpLnRoZXJtYWwudHow Ll9UQzE6IDIKaHcuYWNwaS50aGVybWFsLnR6MC5fVEMyOiAzCmh3LmFjcGkudGhlcm1hbC50ejAu X1RTUDogNDAK --bcaec52e60056f64a1049f6647d2--