From owner-freebsd-gnome@FreeBSD.ORG Sun Sep 27 00:42:46 2009 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A05B7106566C; Sun, 27 Sep 2009 00:42:46 +0000 (UTC) (envelope-from oberman@es.net) Received: from mailgw.es.net (mail4.es.net [IPv6:2001:400:6000:6::2]) by mx1.freebsd.org (Postfix) with ESMTP id 3F9818FC16; Sun, 27 Sep 2009 00:42:46 +0000 (UTC) Received: from ptavv.es.net (ptavv.es.net [IPv6:2001:400:910::29]) by mailgw.es.net (8.14.3/8.14.3) with ESMTP id n8R0ghiD014414 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sat, 26 Sep 2009 17:42:44 -0700 Received: from ptavv.es.net (ptavv.es.net [127.0.0.1]) by ptavv.es.net (Tachyon Server) with ESMTP id A52DD1CC13; Sat, 26 Sep 2009 17:42:43 -0700 (PDT) To: marcus@FreeBSD.org In-reply-to: Your message of "Sat, 26 Sep 2009 14:12:00 GMT." <200909261412.n8QEC0JW010677@freefall.freebsd.org> Date: Sat, 26 Sep 2009 17:42:43 -0700 From: "Kevin Oberman" Message-Id: <20090927004243.A52DD1CC13@ptavv.es.net> X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2009-09-26_03:2009-09-22, 2009-09-26, 2009-09-26 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx engine=5.0.0-0908210000 definitions=main-0909260136 Cc: gnome@FreeBSD.org Subject: Re: ports/139038: x11/gnome-applets: clock applet no longer shows weather information on FreeBSD 8.0 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Sep 2009 00:42:46 -0000 > Date: Sat, 26 Sep 2009 14:12:00 GMT > From: marcus@FreeBSD.org > > Synopsis: x11/gnome-applets: clock applet no longer shows weather information on FreeBSD 8.0 > > State-Changed-From-To: open->closed > State-Changed-By: marcus > State-Changed-When: Sat Sep 26 14:10:26 UTC 2009 > State-Changed-Why: > The problem has to do with the timezone file being used. The timezone file > in /etc/localtime is not what GNOME is expecting it to be. Therefore, the > clock applet doesn't think your home location is still home. If you click > the Set button next to the location in the clock applet, you should get > your weather display back. > > http://www.freebsd.org/cgi/query-pr.cgi?pr=139038 > Not sure what "Set" button you refer to. I see none in the "Locations" tab. There is a "Time Settings", but it did nothing to press the "Set System Time" in the time settings window. I did note that the zone files in 8.0 are very different from those in V7. The file now in /usr/share/zoneinfo/America/Los_Angeles is 2819 bytes while it was only 1701 in V7. I see nothing in UPDATING about this, but something changed and, once I replaced /etc/localtime with the now file, the local weather reappeared. Thanks! -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634 Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751 From owner-freebsd-gnome@FreeBSD.ORG Sun Sep 27 00:53:46 2009 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 855321065670 for ; Sun, 27 Sep 2009 00:53:46 +0000 (UTC) (envelope-from marcus@FreeBSD.org) Received: from creme-brulee.marcuscom.com (marcuscom-pt.tunnel.tserv1.fmt.ipv6.he.net [IPv6:2001:470:1f00:ffff::1279]) by mx1.freebsd.org (Postfix) with ESMTP id 217AB8FC1C for ; Sun, 27 Sep 2009 00:53:46 +0000 (UTC) Received: from [IPv6:2001:470:1f00:2464::4] (shumai.marcuscom.com [IPv6:2001:470:1f00:2464::4]) by creme-brulee.marcuscom.com (8.14.3/8.14.3) with ESMTP id n8R0ukU7087639; Sat, 26 Sep 2009 20:56:46 -0400 (EDT) (envelope-from marcus@FreeBSD.org) From: Joe Marcus Clarke To: Kevin Oberman In-Reply-To: <20090927004243.A52DD1CC13@ptavv.es.net> References: <20090927004243.A52DD1CC13@ptavv.es.net> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-hm/4+HGkuV623+0RD10w" Organization: FreeBSD, Inc. Date: Sat, 26 Sep 2009 20:53:44 -0400 Message-Id: <1254012824.1274.34.camel@shumai.marcuscom.com> Mime-Version: 1.0 X-Mailer: Evolution 2.26.3 FreeBSD GNOME Team Port X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,NO_RELAYS autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on creme-brulee.marcuscom.com Cc: gnome@FreeBSD.org Subject: Re: ports/139038: x11/gnome-applets: clock applet no longer shows weather information on FreeBSD 8.0 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Sep 2009 00:53:46 -0000 --=-hm/4+HGkuV623+0RD10w Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Sat, 2009-09-26 at 17:42 -0700, Kevin Oberman wrote: > > Date: Sat, 26 Sep 2009 14:12:00 GMT > > From: marcus@FreeBSD.org > >=20 > > Synopsis: x11/gnome-applets: clock applet no longer shows weather infor= mation on FreeBSD 8.0 > >=20 > > State-Changed-From-To: open->closed > > State-Changed-By: marcus > > State-Changed-When: Sat Sep 26 14:10:26 UTC 2009 > > State-Changed-Why:=20 > > The problem has to do with the timezone file being used. The timezone = file > > in /etc/localtime is not what GNOME is expecting it to be. Therefore, = the > > clock applet doesn't think your home location is still home. If you cl= ick > > the Set button next to the location in the clock applet, you should get > > your weather display back. > >=20 > > http://www.freebsd.org/cgi/query-pr.cgi?pr=3D139038 > >=20 >=20 > Not sure what "Set" button you refer to. I see none in the "Locations" > tab. There is a "Time Settings", but it did nothing to press the "Set > System Time" in the time settings window. If you click on the clock applet, a pull-down appears showing the calendar and map. Below the map are the configured locations. Next to the home location is a house icon. Next to all other locations where the house icon would be will appear a Set button when you put the mouse in that area. Joe >=20 > I did note that the zone files in 8.0 are very different from those in > V7. The file now in /usr/share/zoneinfo/America/Los_Angeles is 2819 > bytes while it was only 1701 in V7. I see nothing in UPDATING about > this, but something changed and, once I replaced /etc/localtime with the > now file, the local weather reappeared. >=20 > Thanks! --=20 Joe Marcus Clarke FreeBSD GNOME Team :: gnome@FreeBSD.org FreeNode / #freebsd-gnome http://www.FreeBSD.org/gnome --=-hm/4+HGkuV623+0RD10w Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEABECAAYFAkq+t5YACgkQb2iPiv4Uz4cezgCeJlJEFi1ioiRc/j8FNvtCobNT gK0Ani1QGdQM0ggJ/1lIq237Y9q6Mqz+ =+YeG -----END PGP SIGNATURE----- --=-hm/4+HGkuV623+0RD10w-- From owner-freebsd-gnome@FreeBSD.ORG Sun Sep 27 00:54:17 2009 Return-Path: Delivered-To: gnome@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4460E1065679; Sun, 27 Sep 2009 00:54:17 +0000 (UTC) (envelope-from marcus@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 1876E8FC12; Sun, 27 Sep 2009 00:54:17 +0000 (UTC) Received: from freefall.freebsd.org (marcus@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n8R0sGTY072218; Sun, 27 Sep 2009 00:54:16 GMT (envelope-from marcus@freefall.freebsd.org) Received: (from marcus@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n8R0sGWX072214; Sun, 27 Sep 2009 00:54:16 GMT (envelope-from marcus) Date: Sun, 27 Sep 2009 00:54:16 GMT Message-Id: <200909270054.n8R0sGWX072214@freefall.freebsd.org> To: ohartman@zedat.fu-berlin.de, marcus@FreeBSD.org, gnome@FreeBSD.org From: marcus@FreeBSD.org Cc: Subject: Re: ports/134509: graphics/inkscape: after loading any type of data file (SVG, PDF, EPS ...) inkscape gets stuck and eating up 100% CPU :** (inkscape:1677): CRITICAL **: SPCurve* sp_curve_new_from_foreign_bpath(const NArtBpath*): assertion `new_bpath != N X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Sep 2009 00:54:17 -0000 Synopsis: graphics/inkscape: after loading any type of data file (SVG, PDF, EPS ...) inkscape gets stuck and eating up 100% CPU :** (inkscape:1677): CRITICAL **: SPCurve* sp_curve_new_from_foreign_bpath(const NArtBpath*): assertion `new_bpath != N State-Changed-From-To: feedback->closed State-Changed-By: marcus State-Changed-When: Sun Sep 27 00:53:58 UTC 2009 State-Changed-Why: The submitter reports it is working now. http://www.freebsd.org/cgi/query-pr.cgi?pr=134509 From owner-freebsd-gnome@FreeBSD.ORG Sun Sep 27 03:18:31 2009 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B6CDD1065670; Sun, 27 Sep 2009 03:18:31 +0000 (UTC) (envelope-from oberman@es.net) Received: from mailgw.es.net (mail1.es.net [IPv6:2001:400:201:1::2]) by mx1.freebsd.org (Postfix) with ESMTP id 9B5448FC19; Sun, 27 Sep 2009 03:18:31 +0000 (UTC) Received: from ptavv.es.net (ptavv.es.net [IPv6:2001:400:910::29]) by mailgw.es.net (8.14.3/8.14.3) with ESMTP id n8R3IUp5009977 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sat, 26 Sep 2009 20:18:30 -0700 Received: from ptavv.es.net (ptavv.es.net [127.0.0.1]) by ptavv.es.net (Tachyon Server) with ESMTP id 688E41CC0E; Sat, 26 Sep 2009 20:18:30 -0700 (PDT) To: Joe Marcus Clarke In-reply-to: Your message of "Sat, 26 Sep 2009 20:53:44 EDT." <1254012824.1274.34.camel@shumai.marcuscom.com> Date: Sat, 26 Sep 2009 20:18:30 -0700 From: "Kevin Oberman" Message-Id: <20090927031830.688E41CC0E@ptavv.es.net> X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2009-09-26_03:2009-09-22, 2009-09-26, 2009-09-26 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx engine=5.0.0-0908210000 definitions=main-0909260154 Cc: gnome@FreeBSD.org Subject: Re: ports/139038: x11/gnome-applets: clock applet no longer shows weather information on FreeBSD 8.0 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Sep 2009 03:18:31 -0000 > From: Joe Marcus Clarke > Date: Sat, 26 Sep 2009 20:53:44 -0400 > > On Sat, 2009-09-26 at 17:42 -0700, Kevin Oberman wrote: > > > Date: Sat, 26 Sep 2009 14:12:00 GMT > > > From: marcus@FreeBSD.org > > > > > > Synopsis: x11/gnome-applets: clock applet no longer shows weather information on FreeBSD 8.0 > > > > > > State-Changed-From-To: open->closed > > > State-Changed-By: marcus > > > State-Changed-When: Sat Sep 26 14:10:26 UTC 2009 > > > State-Changed-Why: > > > The problem has to do with the timezone file being used. The timezone file > > > in /etc/localtime is not what GNOME is expecting it to be. Therefore, the > > > clock applet doesn't think your home location is still home. If you click > > > the Set button next to the location in the clock applet, you should get > > > your weather display back. > > > > > > http://www.freebsd.org/cgi/query-pr.cgi?pr=139038 > > > > > > > Not sure what "Set" button you refer to. I see none in the "Locations" > > tab. There is a "Time Settings", but it did nothing to press the "Set > > System Time" in the time settings window. > > If you click on the clock applet, a pull-down appears showing the > calendar and map. Below the map are the configured locations. Next to > the home location is a house icon. Next to all other locations where > the house icon would be will appear a Set button when you put the mouse > in that area. I see it. I never change my location, so had not seen it, but I doubt it would have helped, in any case. The cause was r196683 which updated zic and changed the format of the zonefiles. I missed the note in UPDATING that I need to run tzsetup to install the new zonefile. Thanks again! -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634 Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751 From owner-freebsd-gnome@FreeBSD.ORG Sun Sep 27 08:00:15 2009 Return-Path: Delivered-To: gnome@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A10E01065670 for ; Sun, 27 Sep 2009 08:00:15 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 774408FC1A for ; Sun, 27 Sep 2009 08:00:15 +0000 (UTC) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n8R80FlI041164 for ; Sun, 27 Sep 2009 08:00:15 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n8R80FXx041154; Sun, 27 Sep 2009 08:00:15 GMT (envelope-from gnats) Date: Sun, 27 Sep 2009 08:00:15 GMT Message-Id: <200909270800.n8R80FXx041154@freefall.freebsd.org> To: gnome@FreeBSD.org From: Andrew Reilly Cc: Subject: Re: ports/138872: www/epiphany doesn't work when WITH_GECKO=libxul X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Andrew Reilly List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Sep 2009 08:00:15 -0000 The following reply was made to PR ports/138872; it has been noted by GNATS. From: Andrew Reilly To: bug-followup@FreeBSD.org Cc: Subject: Re: ports/138872: www/epiphany doesn't work when WITH_GECKO=libxul Date: Sun, 27 Sep 2009 15:24:57 +1000 Still broken for me, I'm afraid. I had uninstalled firefox2 before I installed libxul, but this weekend I uninstalled firefox3, and removed (I think) all trace of foxes from my system, then reinstalled libxul and epiphany and it still breaks as per the original bug submission. I even moved my .mozilla directory aside: no change. Looking forward to webkit-gtk2 in 2.28... From owner-freebsd-gnome@FreeBSD.ORG Sun Sep 27 14:27:27 2009 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E82B6106566C; Sun, 27 Sep 2009 14:27:27 +0000 (UTC) (envelope-from beat@FreeBSD.org) Received: from marvin.chruetertee.ch (marvin.chruetertee.ch [217.150.245.55]) by mx1.freebsd.org (Postfix) with ESMTP id 841068FC13; Sun, 27 Sep 2009 14:27:27 +0000 (UTC) Received: from daedalus.network.local (84-26.3-85.cust.bluewin.ch [85.3.26.84]) (authenticated bits=0) by marvin.chruetertee.ch (8.14.3/8.14.3) with ESMTP id n8RECmBZ095482 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES256-SHA bits=256 verify=NO); Sun, 27 Sep 2009 14:12:49 GMT (envelope-from beat@FreeBSD.org) Message-ID: <4ABF7367.6050300@FreeBSD.org> Date: Sun, 27 Sep 2009 16:15:03 +0200 From: Beat Gaetzi User-Agent: Thunderbird 2.0.0.23 (X11/20090821) MIME-Version: 1.0 To: gnome@FreeBSD.org X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-gecko@FreeBSD.org, Martin Wilke Subject: Building devel/gtkmozedit with libxul gecko provider X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Sep 2009 14:27:28 -0000 Hi, We are going to remove xulrunner, Firefox 2 and Mozilla from the ports tree. We created a patch which switches all ports using xulrunner, firefox or mozilla gecko provider to libxul. Unfortunately three ports failed during the exp-run. One of them is devel/gtkmozedit which is maintained by the Gnome team. I tried to fix this problem but was not successful. Could you please take a look at this problem. Is it possible to use gtkmozedit with libxul gecko provider? If not, should we remove the port? Patch which was tested on pointyhat is available here (updated version for current ports tree): http://tmp.chruetertee.ch/gecko-ff-removal-part2-v0.3.patch Pointyhat log is here: http://pointyhat.freebsd.org/errorlogs/i386-errorlogs/a.7-exp.20090917174615/gtkmozedit-0.3.0_5.log Thanks, Beat, on behalf of the FreeBSD-Gecko Team From owner-freebsd-gnome@FreeBSD.ORG Sun Sep 27 15:02:07 2009 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0BC4106566C for ; Sun, 27 Sep 2009 15:02:07 +0000 (UTC) (envelope-from oberman@es.net) Received: from mailgw.es.net (mail3.es.net [IPv6:2001:400:4c01::2]) by mx1.freebsd.org (Postfix) with ESMTP id 72F718FC14 for ; Sun, 27 Sep 2009 15:02:07 +0000 (UTC) Received: from ptavv.es.net (ptavv.es.net [IPv6:2001:400:910::29]) by mailgw.es.net (8.14.3/8.14.3) with ESMTP id n8RF1tXt011515 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sun, 27 Sep 2009 08:02:01 -0700 Received: from ptavv.es.net (ptavv.es.net [127.0.0.1]) by ptavv.es.net (Tachyon Server) with ESMTP id 2EAD61CC0E; Sun, 27 Sep 2009 08:01:54 -0700 (PDT) To: Andrew Reilly In-reply-to: Your message of "Sun, 27 Sep 2009 08:00:15 GMT." <200909270800.n8R80FXx041154@freefall.freebsd.org> Date: Sun, 27 Sep 2009 08:01:54 -0700 From: "Kevin Oberman" Message-Id: <20090927150154.2EAD61CC0E@ptavv.es.net> X-Proofpoint-Virus-Version: vendor=fsecure engine=1.12.8161:2.4.5, 1.2.40, 4.0.166 definitions=2009-09-26_03:2009-09-22, 2009-09-26, 2009-09-27 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx engine=5.0.0-0908210000 definitions=main-0909270057 Cc: gnome@FreeBSD.org Subject: Re: ports/138872: www/epiphany doesn't work when WITH_GECKO=libxul X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Sep 2009 15:02:07 -0000 > Date: Sun, 27 Sep 2009 08:00:15 GMT > From: Andrew Reilly > Sender: owner-freebsd-gnome@freebsd.org > > The following reply was made to PR ports/138872; it has been noted by GNATS. > > From: Andrew Reilly > To: bug-followup@FreeBSD.org > Cc: > Subject: Re: ports/138872: www/epiphany doesn't work when WITH_GECKO=libxul > Date: Sun, 27 Sep 2009 15:24:57 +1000 > > Still broken for me, I'm afraid. I had uninstalled firefox2 > before I installed libxul, but this weekend I uninstalled > firefox3, and removed (I think) all trace of foxes from my > system, then reinstalled libxul and epiphany and it still breaks > as per the original bug submission. I even moved my .mozilla > directory aside: no change. Other possibilities come to mind. seamonkey and thunderbird. Old copies of these include old gecko header files. The other is some old header that is still hanging around the system. These can be hard to track down...very hard. The only real answer is to remove all ports, delete everything in /usr/local, and reinstall. This is not hard, but VERY time consuming. At over 1000 ports installed on my laptop and it being an old 2 GHz uniprocessor, it can take quite a while. I, too, am looking forward to 2.28 and all that comes with it, but I am resigned to having issues with the upgrade. Gnome is just so big and complex that it is hard to make an upgrade go completely smoothly for every system. -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634 Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751 From owner-freebsd-gnome@FreeBSD.ORG Mon Sep 28 11:07:16 2009 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 14D13106568D for ; Mon, 28 Sep 2009 11:07:16 +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 026FE8FC08 for ; Mon, 28 Sep 2009 11:07:16 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n8SB7Fu4064378 for ; Mon, 28 Sep 2009 11:07:15 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n8SB7FKg064372 for gnome@FreeBSD.org; Mon, 28 Sep 2009 11:07:15 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 28 Sep 2009 11:07:15 GMT Message-Id: <200909281107.n8SB7FKg064372@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: gnome@FreeBSD.org Cc: Subject: Current problem reports assigned to gnome@FreeBSD.org X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Sep 2009 11:07:16 -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 ports/139160 gnome update port: devel/dbus This fixes dbus on systems u a ports/138872 gnome www/epiphany doesn't work when WITH_GECKO=libxul f ports/137368 gnome x11-toolkits/libwnck: add menu option to configure dep s ports/137367 gnome net/libproxy: add menu option to configure dependence s ports/136967 gnome security/seahorse-plugins 2.26.2_1 + GPG = fail p ports/136676 gnome x11/gnome2: hald/GNOME (I guess) (re) mounted /usr and f ports/136435 gnome security/gnome-keyring + hald prevents umount of usb d p ports/134737 gnome Update www/webkit-gtk2 to 1.1.7 f ports/134536 gnome [patch] graphics/gimp: Gimp 2.6.6 fails to open URI's a ports/134361 gnome devel/gvfs ports with smbclient support doesn't pass a f ports/134358 gnome x11/gnome2: trackerd uses up all of the cpu o ports/132304 gnome ports/devel/dbus misses /var/db/dbus/machine-id in dis 12 problems total. From owner-freebsd-gnome@FreeBSD.ORG Mon Sep 28 19:31:20 2009 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1262F1065672 for ; Mon, 28 Sep 2009 19:31:20 +0000 (UTC) (envelope-from shuvaev@physik.uni-wuerzburg.de) Received: from mailrelay.rz.uni-wuerzburg.de (mailrelay.rz.uni-wuerzburg.de [132.187.3.28]) by mx1.freebsd.org (Postfix) with ESMTP id B750A8FC1E for ; Mon, 28 Sep 2009 19:31:19 +0000 (UTC) Received: from virusscan.mail (localhost [127.0.0.1]) by mailrelay.mail (Postfix) with ESMTP id 35A635B054; Mon, 28 Sep 2009 20:59:38 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by virusscan.mail (Postfix) with ESMTP id 32C525B03F; Mon, 28 Sep 2009 20:59:38 +0200 (CEST) X-Virus-Scanned: by amavisd-new at uni-wuerzburg.de Received: from mail.physik.uni-wuerzburg.de (wthp192.physik.uni-wuerzburg.de [132.187.40.192]) by mailmaster.uni-wuerzburg.de (Postfix) with ESMTP id 106135CC75; Mon, 28 Sep 2009 20:59:38 +0200 (CEST) Received: from wep4035 ([132.187.37.35]) by mail.physik.uni-wuerzburg.de (Lotus Domino Release 8.0.2FP1HF244) with ESMTP id 2009092820593664-99541 ; Mon, 28 Sep 2009 20:59:36 +0200 Received: by wep4035 (sSMTP sendmail emulation); Mon, 28 Sep 2009 20:59:36 +0200 Date: Mon, 28 Sep 2009 20:59:36 +0200 From: Alexey Shuvaev To: gnome@FreeBSD.org Message-ID: <20090928185936.GA79514@wep4035.physik.uni-wuerzburg.de> References: <20090928114239.GA58251@wep4035.physik.uni-wuerzburg.de> <20090928161316.GA7368@space> <20090928180241.GA13213@space> Mime-Version: 1.0 In-Reply-To: <20090928180241.GA13213@space> User-Agent: Mutt/1.4.2.3i Organization: Universitaet Wuerzburg X-MIMETrack: Itemize by SMTP Server on domino1/uni-wuerzburg(Release 8.0.2FP1HF244 | April 7, 2009) at 09/28/2009 08:59:36 PM, Serialize by Router on domino1/uni-wuerzburg(Release 8.0.2FP1HF244 | April 7, 2009) at 09/28/2009 08:59:37 PM, Serialize complete at 09/28/2009 08:59:37 PM Content-Type: multipart/mixed; boundary="BXVAT5kNtrzKuDFl" Content-Disposition: inline Cc: Michael Noble Subject: Test patch to slgtk to fit gtk-2.18? X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Sep 2009 19:31:20 -0000 --BXVAT5kNtrzKuDFl Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello gnome team! Recently I have noticed this build failure of one of my ports: http://pointyhat.freebsd.org/errorlogs/i386-7-exp-latest/slgtk-0.7.5_1.log After reactive response from Michael Noble, the author of slgtk, I realized that gtk-2.18 is not in the ports yet and that there was an experimental ports' build run. Well, could someone with access to the new experimental gtk-2.18 packages test x11-toolkits/slgtk with the following patch dropped into files/ in the port directory? Big thanks to Michael for providing the patch within few hours! --BXVAT5kNtrzKuDFl Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="patch-src-slirprc-gtk.sl" --- src/slirprc-gtk.sl.orig 2009-02-02 20:23:59.000000000 +0100 +++ src/slirprc-gtk.sl 2009-09-28 20:15:24.000000000 +0200 @@ -308,6 +308,9 @@ gtk_widget_get_window % prefer my version, which returns % bin_window for GtkLayout +gtk_widget_get_allocation % prefer my version, which returns + % allocation struct on stack + gtk_accel_group_activate % gtk/gtkaccelgroup.h: "internal" funcs gtk_accel_group_get_entry gtk_accel_group_lock_entry --BXVAT5kNtrzKuDFl-- From owner-freebsd-gnome@FreeBSD.ORG Tue Sep 29 20:45:02 2009 Return-Path: Delivered-To: freebsd-gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C91F106566C for ; Tue, 29 Sep 2009 20:45:02 +0000 (UTC) (envelope-from mbeis@xs4all.nl) Received: from smtp-vbr7.xs4all.nl (smtp-vbr7.xs4all.nl [194.109.24.27]) by mx1.freebsd.org (Postfix) with ESMTP id B98338FC14 for ; Tue, 29 Sep 2009 20:45:01 +0000 (UTC) Received: from yokozuna.lan (213-84-73-82.adsl.xs4all.nl [80.101.78.208]) by smtp-vbr7.xs4all.nl (8.13.8/8.13.8) with ESMTP id n8TKixlj074237 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 29 Sep 2009 22:45:00 +0200 (CEST) (envelope-from mbeis@xs4all.nl) Received: from yokozuna.lan (yokozuna.lan [127.0.0.1]) by yokozuna.lan (8.14.3/8.14.3) with ESMTP id n8TKixw2080896; Tue, 29 Sep 2009 22:44:59 +0200 (CEST) (envelope-from mbeis@xs4all.nl) Date: Tue, 29 Sep 2009 22:44:59 +0200 (CEST) From: Marco Beishuizen Sender: marco@yokozuna.lan To: "Andrey V. Elsukov" In-Reply-To: <4AB766E2.6000009@yandex.ru> Message-ID: References: <4AB7569A.1030200@yandex.ru> <4AB766E2.6000009@yandex.ru> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: by XS4ALL Virus Scanner Cc: freebsd-gnome@freebsd.org Subject: Re: gnome-commander glib error X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Marco Beishuizen List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Sep 2009 20:45:02 -0000 On Mon, 21 Sep 2009, Andrey V. Elsukov wrote: > Andrey V. Elsukov wrote: >> I have the same problem, did you find any solutions? >> My system is 9.0-CURRENT-amd64 with 2G RAM. >> I got an error: >> >> GLib-ERROR **: gmem.c:156: failed to allocate 18446744073709551615 bytes >> aborting... > > So, I rebuild it with DEBUG_FLAGS=-g and found that it crashes in > GnomeCmdOwner > constructor. After that i found this fix: > http://mail.gnome.org/archives/svn-commits-list/2009-August/msg02622.html > > Also I found that it already fixed and i just should update my ports :) > http://www.freebsd.org/cgi/query-pr.cgi?pr=137684 > > Sorry for th noise. :) Hi Andrey, Sorry for my late response, I didn't check the freebsd mailing list well enough. At this moment I'm unable to upgrade gnome-commander to the version with the patch. The configure script exits with the error: ... checking lex library... -lfl checking whether yytext is a pointer... yes ./configure: 6479: Syntax error: word unexpected (expecting ")") ===> Script "configure" failed unexpectedly. Please report the problem to scjamorim@bsd.com.br [maintainer] and attach the "/usr/ports/x11-fm/gnome-commander2/work/gnome-commander-1.2.8.1/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. an `ls /var/db/pkg`). *** Error code 1 Stop in /usr/ports/x11-fm/gnome-commander2. ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20090929-77520-e3d1vs-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=gnome-commander2-1.2.8,1 UPGRADE_PORT_VER=1.2.8,1 make ** Fix the problem and try again. ** Listing the failed packages (-:ignored / *:skipped / !:failed) ! x11-fm/gnome-commander2 (gnome-commander2-1.2.8,1) (unknown build error) ... I'll send the output to the port maintainer, but perhaps you have an idea what causes this problem. Thanks and regards, Marco -- I will make you shorter by the head. -- Elizabeth I From owner-freebsd-gnome@FreeBSD.ORG Tue Sep 29 20:45:41 2009 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D24521065692 for ; Tue, 29 Sep 2009 20:45:41 +0000 (UTC) (envelope-from larry@kiputers.com) Received: from mail.coolhandle.com (mail.coolhandle.com [64.39.19.208]) by mx1.freebsd.org (Postfix) with ESMTP id A3E568FC12 for ; Tue, 29 Sep 2009 20:45:40 +0000 (UTC) Received: (qmail 11098 invoked by uid 399); 29 Sep 2009 15:18:56 -0500 Received: from localhost (127.0.0.1) by localhost with ESMTPM; 29 Sep 2009 15:18:56 -0500 X-Originating-IP: 127.0.0.1 From: "larry" To: gnome@FreeBSD.org Date: Tue, 29 Sep 2009 15:18:49 -0500 Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Message-Id: <20090929204541.D24521065692@hub.freebsd.org> Cc: Subject: Problem/Solution to building intltool-0.4.6 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Sep 2009 20:45:41 -0000 To whomever maintains intltool for FreeBSD... I had a problem all day today trying to upgrade from intltool 0.4.5 to intltool 0.4.6. Turns out the problem was with the make process in FreeBSD. If I did make on the port, it wouldn't install, and produced a configure.rej file that wasn't very clear on the problem. Anyway, I found on the net, that one should use gmake, instead of make. After I ran gmake, all was good. So you, may want to update the port to call gmake. Larry From owner-freebsd-gnome@FreeBSD.ORG Wed Sep 30 02:10:15 2009 Return-Path: Delivered-To: gnome@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 02EFD1065672; Wed, 30 Sep 2009 02:10:15 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id CDB988FC20; Wed, 30 Sep 2009 02:10:14 +0000 (UTC) Received: from freefall.freebsd.org (edwin@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n8U2AEKA018901; Wed, 30 Sep 2009 02:10:14 GMT (envelope-from edwin@freefall.freebsd.org) Received: (from edwin@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n8U2AE95018891; Wed, 30 Sep 2009 02:10:14 GMT (envelope-from edwin) Date: Wed, 30 Sep 2009 02:10:14 GMT Message-Id: <200909300210.n8U2AE95018891@freefall.freebsd.org> To: edwin@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org, gnome@FreeBSD.org From: edwin@FreeBSD.org Cc: Subject: Re: ports/139245: [patch] security/nss header file permission fix X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Sep 2009 02:10:15 -0000 Synopsis: [patch] security/nss header file permission fix Responsible-Changed-From-To: freebsd-ports-bugs->gnome Responsible-Changed-By: edwin Responsible-Changed-When: Wed Sep 30 02:10:14 UTC 2009 Responsible-Changed-Why: Over to maintainer (via the GNATS Auto Assign Tool) http://www.freebsd.org/cgi/query-pr.cgi?pr=139245 From owner-freebsd-gnome@FreeBSD.ORG Wed Sep 30 16:09:02 2009 Return-Path: Delivered-To: gnome@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 712BE106566B; Wed, 30 Sep 2009 16:09:02 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 48BDE8FC14; Wed, 30 Sep 2009 16:09:02 +0000 (UTC) Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n8UG92l9026009; Wed, 30 Sep 2009 16:09:02 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n8UG92k2026005; Wed, 30 Sep 2009 16:09:02 GMT (envelope-from linimon) Date: Wed, 30 Sep 2009 16:09:02 GMT Message-Id: <200909301609.n8UG92k2026005@freefall.freebsd.org> To: linimon@FreeBSD.org, freebsd-bugs@FreeBSD.org, gnome@FreeBSD.org From: linimon@FreeBSD.org Cc: Subject: Re: ports/139247: hald uses nearly 100% of CPU on 8.0-rc1 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Sep 2009 16:09:02 -0000 Synopsis: hald uses nearly 100% of CPU on 8.0-rc1 Responsible-Changed-From-To: freebsd-bugs->gnome Responsible-Changed-By: linimon Responsible-Changed-When: Wed Sep 30 16:08:46 UTC 2009 Responsible-Changed-Why: Over to maintainer(s). http://www.freebsd.org/cgi/query-pr.cgi?pr=139247 From owner-freebsd-gnome@FreeBSD.ORG Wed Sep 30 22:22:33 2009 Return-Path: Delivered-To: freebsd-gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 23F4F1065670 for ; Wed, 30 Sep 2009 22:22:33 +0000 (UTC) (envelope-from datahead4@gmail.com) Received: from mail-pz0-f194.google.com (mail-pz0-f194.google.com [209.85.222.194]) by mx1.freebsd.org (Postfix) with ESMTP id F0B118FC19 for ; Wed, 30 Sep 2009 22:22:32 +0000 (UTC) Received: by pzk32 with SMTP id 32so4775763pzk.3 for ; Wed, 30 Sep 2009 15:22:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=cyHedDzOOmzfNd8jpwXnMi1UjIlokoKnypC8RxK4Q8M=; b=UD1oV/9MKUwDKhh+dsWkQ5q808UTAMuWWdTUU1WA7a5SZ7gaLSL5XZeSpsHeM5Wjqw viKT6+ayyk3SoWK+GGptIrMUU/yLOFi5zC18w1/bq94QTmHDWmfwuhACxC9HXon/ILjH hJzEvpLD5jCz476HKAmIs2zl3O1Rztr8woLpY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=F6PtCUszR45yoBzd+uSNotBiI4i2+QUYYN7YkZjBgh/KCYpB1PR7RmXMIYYIfWn5gF 053XCyO39szhwN+k/m3Pa5qxltDIMiQOpWBl9gVotTOMLRUl6CDY8yCapli48fE2wTwX 8kIQFMCD0fYLdK1cytKR/ydbycIoz4oxlyG7w= MIME-Version: 1.0 Received: by 10.114.69.19 with SMTP id r19mr558234waa.117.1254347965456; Wed, 30 Sep 2009 14:59:25 -0700 (PDT) Date: Wed, 30 Sep 2009 16:59:25 -0500 Message-ID: From: Matt To: FreeBSD GNOME Users Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: pthread_mutexattr_settype assertion from PulseAudio with Amarok 2.2 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Sep 2009 22:22:33 -0000 Does anyone know if the root cause of the "Assertion =E2=80=98pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE) =3D=3D 0= =E2=80=B2 failed at pulsecore/mutex-posix.c:52, function pa_mutex_new(). Aborting." error discussed at: http://miwi.bsdcrew.de/2009/07/firefox-35-in-ports/ was ever determined? I'm seeing this same error when trying to update the amarok-kde4 port to version 2.2 and the only discussion I can find related to this issue is at http://lists.freebsd.org/pipermail/freebsd-gnome/2009-July/022732.html and I don't see a resolution. Relevant data about my system: - All ports built in Tinderbox with "WITH_DEBUG=3Dyes" set - Tinderbox jail is 8-STABLE from 2009-09-10 16:42:33 - Tinderbox ports were updated 2009-09-14 12:59:10 - System where ports are installed is same host running the Tinderbox. "uname -a" states (sanitized) "FreeBSD 8.0-RC1 FreeBSD 8.0-RC1 #0: Mon Sep 21 09:46:16 CDT 2009 root@:/usr/obj/usr/src/sys/CUSTOM i386" - pkg_info list available at http://freebsd-gnome.pastebin.com/m1b0d9c9f I can't seem to get any usable core dumps from the system, but I can provide ktrace or other output if anyone is interested. Thank you, Matt From owner-freebsd-gnome@FreeBSD.ORG Wed Sep 30 22:30:28 2009 Return-Path: Delivered-To: gnome@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 26FCA10656A9; Wed, 30 Sep 2009 22:30:28 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id F277D8FC2F; Wed, 30 Sep 2009 22:30:27 +0000 (UTC) Received: from freefall.freebsd.org (edwin@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n8UMURhb019485; Wed, 30 Sep 2009 22:30:27 GMT (envelope-from edwin@freefall.freebsd.org) Received: (from edwin@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n8UMURvo019474; Wed, 30 Sep 2009 22:30:27 GMT (envelope-from edwin) Date: Wed, 30 Sep 2009 22:30:27 GMT Message-Id: <200909302230.n8UMURvo019474@freefall.freebsd.org> To: edwin@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org, gnome@FreeBSD.org From: edwin@FreeBSD.org Cc: Subject: Re: ports/139267: 8.0 RC1 cannot upgrade sysutils/hal X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Sep 2009 22:30:28 -0000 Synopsis: 8.0 RC1 cannot upgrade sysutils/hal Responsible-Changed-From-To: freebsd-ports-bugs->gnome Responsible-Changed-By: edwin Responsible-Changed-When: Wed Sep 30 22:30:27 UTC 2009 Responsible-Changed-Why: Over to maintainer (via the GNATS Auto Assign Tool) http://www.freebsd.org/cgi/query-pr.cgi?pr=139267 From owner-freebsd-gnome@FreeBSD.ORG Wed Sep 30 22:38:24 2009 Return-Path: Delivered-To: gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D705106566B for ; Wed, 30 Sep 2009 22:38:24 +0000 (UTC) (envelope-from marcus@marcuscom.com) Received: from creme-brulee.marcuscom.com (marcuscom-pt.tunnel.tserv1.fmt.ipv6.he.net [IPv6:2001:470:1f00:ffff::1279]) by mx1.freebsd.org (Postfix) with ESMTP id D85588FC0C for ; Wed, 30 Sep 2009 22:38:23 +0000 (UTC) Received: from [IPv6:2001:470:1f00:2464::4] (shumai.marcuscom.com [IPv6:2001:470:1f00:2464::4]) by creme-brulee.marcuscom.com (8.14.3/8.14.3) with ESMTP id n8UMcSYU048441; Wed, 30 Sep 2009 18:38:29 -0400 (EDT) (envelope-from marcus@marcuscom.com) From: Joe Marcus Clarke To: larry In-Reply-To: <20090929204541.D24521065692@hub.freebsd.org> References: <20090929204541.D24521065692@hub.freebsd.org> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-+M41aKv8K/FrTdIiMu/A" Organization: MarcusCom, Inc. Date: Wed, 30 Sep 2009 18:38:30 -0400 Message-Id: <1254350310.94567.32.camel@shumai.marcuscom.com> Mime-Version: 1.0 X-Mailer: Evolution 2.26.3 FreeBSD GNOME Team Port X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,NO_RELAYS autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on creme-brulee.marcuscom.com Cc: gnome@freebsd.org Subject: Re: Problem/Solution to building intltool-0.4.6 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Sep 2009 22:38:24 -0000 --=-+M41aKv8K/FrTdIiMu/A Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Tue, 2009-09-29 at 15:18 -0500, larry wrote: > To whomever maintains intltool for FreeBSD...=20 >=20 > I had a problem all day today trying to upgrade from intltool 0.4.5 to=20 > intltool 0.4.6.=20 >=20 > Turns out the problem was with the make process in FreeBSD.=20 >=20 > If I did make on the port, it wouldn't install, and produced a configure.= rej=20 > file that wasn't very clear on the problem.=20 >=20 > Anyway, I found on the net, that one should use gmake, instead of make.=20 >=20 > After I ran gmake, all was good.=20 >=20 > So you, may want to update the port to call gmake.=20 The port already uses gmake. Look at line 21 in the Makefile. Joe --=20 PGP Key : http://www.marcuscom.com/pgp.asc --=-+M41aKv8K/FrTdIiMu/A Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEABECAAYFAkrD3eUACgkQb2iPiv4Uz4ez+wCfbA0Mysf2kZXKMQ4kaiqCZHlN gOIAn1AbLC7DoiHAEps08mQytzAb3anN =qCbG -----END PGP SIGNATURE----- --=-+M41aKv8K/FrTdIiMu/A-- From owner-freebsd-gnome@FreeBSD.ORG Wed Sep 30 22:39:24 2009 Return-Path: Delivered-To: gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 913941065692; Wed, 30 Sep 2009 22:39:24 +0000 (UTC) (envelope-from marcus@marcuscom.com) Received: from creme-brulee.marcuscom.com (marcuscom-pt.tunnel.tserv1.fmt.ipv6.he.net [IPv6:2001:470:1f00:ffff::1279]) by mx1.freebsd.org (Postfix) with ESMTP id 2B76F8FC08; Wed, 30 Sep 2009 22:39:24 +0000 (UTC) Received: from [IPv6:2001:470:1f00:2464::4] (shumai.marcuscom.com [IPv6:2001:470:1f00:2464::4]) by creme-brulee.marcuscom.com (8.14.3/8.14.3) with ESMTP id n8UMdQZo048462; Wed, 30 Sep 2009 18:39:26 -0400 (EDT) (envelope-from marcus@marcuscom.com) From: Joe Marcus Clarke To: Beat Gaetzi In-Reply-To: <4ABF7367.6050300@FreeBSD.org> References: <4ABF7367.6050300@FreeBSD.org> Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-hGNItzFNSslrto3zTzIj" Organization: MarcusCom, Inc. Date: Wed, 30 Sep 2009 18:39:27 -0400 Message-Id: <1254350367.94567.33.camel@shumai.marcuscom.com> Mime-Version: 1.0 X-Mailer: Evolution 2.26.3 FreeBSD GNOME Team Port X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,NO_RELAYS autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on creme-brulee.marcuscom.com Cc: gnome@freebsd.org, freebsd-gecko@freebsd.org Subject: Re: Building devel/gtkmozedit with libxul gecko provider X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Sep 2009 22:39:24 -0000 --=-hGNItzFNSslrto3zTzIj Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Sun, 2009-09-27 at 16:15 +0200, Beat Gaetzi wrote: > Hi, >=20 > We are going to remove xulrunner, Firefox 2 and Mozilla from the ports > tree. We created a patch which switches all ports using xulrunner, > firefox or mozilla gecko provider to libxul. > Unfortunately three ports failed during the exp-run. One of them is > devel/gtkmozedit which is maintained by the Gnome team. I tried to fix > this problem but was not successful. > Could you please take a look at this problem. Is it possible to use > gtkmozedit with libxul gecko provider? If not, should we remove the port? >=20 > Patch which was tested on pointyhat is available here (updated version > for current ports tree): > http://tmp.chruetertee.ch/gecko-ff-removal-part2-v0.3.patch >=20 > Pointyhat log is here: > http://pointyhat.freebsd.org/errorlogs/i386-errorlogs/a.7-exp.20090917174= 615/gtkmozedit-0.3.0_5.log The log is gone, but I have no interest in updating gtkmozedit for libxul. If none of the other team members reply, then feel free to remove it. Joe --=20 PGP Key : http://www.marcuscom.com/pgp.asc --=-hGNItzFNSslrto3zTzIj Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEABECAAYFAkrD3h4ACgkQb2iPiv4Uz4f22QCfTFsZgEFYQLjISYPgW9WVNt63 YTUAoKRvscDq1VBkwzB0Mra4+PyLI/hc =mYpH -----END PGP SIGNATURE----- --=-hGNItzFNSslrto3zTzIj-- From owner-freebsd-gnome@FreeBSD.ORG Wed Sep 30 22:46:59 2009 Return-Path: Delivered-To: freebsd-gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CACFC1065670 for ; Wed, 30 Sep 2009 22:46:59 +0000 (UTC) (envelope-from marcus@marcuscom.com) Received: from creme-brulee.marcuscom.com (marcuscom-pt.tunnel.tserv1.fmt.ipv6.he.net [IPv6:2001:470:1f00:ffff::1279]) by mx1.freebsd.org (Postfix) with ESMTP id 64A058FC1A for ; Wed, 30 Sep 2009 22:46:59 +0000 (UTC) Received: from [IPv6:2001:470:1f00:2464::4] (shumai.marcuscom.com [IPv6:2001:470:1f00:2464::4]) by creme-brulee.marcuscom.com (8.14.3/8.14.3) with ESMTP id n8UMl4gV048576; Wed, 30 Sep 2009 18:47:04 -0400 (EDT) (envelope-from marcus@marcuscom.com) From: Joe Marcus Clarke To: Matt In-Reply-To: References: Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-KaZ5nSHJSs4m9fcxEIK9" Organization: MarcusCom, Inc. Date: Wed, 30 Sep 2009 18:47:06 -0400 Message-Id: <1254350826.94567.41.camel@shumai.marcuscom.com> Mime-Version: 1.0 X-Mailer: Evolution 2.26.3 FreeBSD GNOME Team Port X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,NO_RELAYS autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on creme-brulee.marcuscom.com Cc: FreeBSD GNOME Users Subject: Re: pthread_mutexattr_settype assertion from PulseAudio with Amarok 2.2 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Sep 2009 22:46:59 -0000 --=-KaZ5nSHJSs4m9fcxEIK9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 2009-09-30 at 16:59 -0500, Matt wrote: > Does anyone know if the root cause of the "Assertion > =E2=80=98pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE) =3D=3D= 0=E2=80=B2 > failed at pulsecore/mutex-posix.c:52, function pa_mutex_new(). > Aborting." error discussed at: >=20 > http://miwi.bsdcrew.de/2009/07/firefox-35-in-ports/ >=20 > was ever determined? I'm seeing this same error when trying to update > the amarok-kde4 port to version 2.2 and the only discussion I can find > related to this issue is at > http://lists.freebsd.org/pipermail/freebsd-gnome/2009-July/022732.html > and I don't see a resolution. >=20 > Relevant data about my system: > - All ports built in Tinderbox with "WITH_DEBUG=3Dyes" set > - Tinderbox jail is 8-STABLE from 2009-09-10 16:42:33 > - Tinderbox ports were updated 2009-09-14 12:59:10 > - System where ports are installed is same host running the Tinderbox. > "uname -a" states (sanitized) "FreeBSD 8.0-RC1 FreeBSD > 8.0-RC1 #0: Mon Sep 21 09:46:16 CDT 2009 > root@:/usr/obj/usr/src/sys/CUSTOM i386" > - pkg_info list available at http://freebsd-gnome.pastebin.com/m1b0d9c9f >=20 > I can't seem to get any usable core dumps from the system, but I can > provide ktrace or other output if anyone is interested. I think there is a bug in the pthread_stubs in libc. If you apply this patch, then rebuild libc, does the problem go away: http://www.marcuscom.com/downloads/_pthread_stubs.c.diff Joe >=20 > Thank you, > Matt > _______________________________________________ > freebsd-gnome@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-gnome > To unsubscribe, send any mail to "freebsd-gnome-unsubscribe@freebsd.org" >=20 --=20 PGP Key : http://www.marcuscom.com/pgp.asc --=-KaZ5nSHJSs4m9fcxEIK9 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEABECAAYFAkrD3+gACgkQb2iPiv4Uz4cJ4ACdFCDxKQvFhk2+MSUPh34/UnaC IQ8An1PKX2cRGiJM4HEtnMPnDmWyB8d1 =0BiM -----END PGP SIGNATURE----- --=-KaZ5nSHJSs4m9fcxEIK9-- From owner-freebsd-gnome@FreeBSD.ORG Thu Oct 1 03:27:11 2009 Return-Path: Delivered-To: freebsd-gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1490E1065672 for ; Thu, 1 Oct 2009 03:27:11 +0000 (UTC) (envelope-from datahead4@gmail.com) Received: from mail-pz0-f202.google.com (mail-pz0-f202.google.com [209.85.222.202]) by mx1.freebsd.org (Postfix) with ESMTP id DDE0E8FC15 for ; Thu, 1 Oct 2009 03:27:10 +0000 (UTC) Received: by pzk40 with SMTP id 40so4894032pzk.7 for ; Wed, 30 Sep 2009 20:27:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Sm/eUdxRg4b8+ag2rzNL4vkHizIz2GzfgJycSgQi8e4=; b=C2sV4VUfAYuVpe6mvOedAPJ1QIQyvAKJJbXyYGLxACJBkmmvCD7E6SXrDPwUPDVb13 4lJEHJtkvAI0Hx+p+JJsHhnhTPNOe5ez7CVq85214EvDc6qG/Co4qVOL2B9gqYkrflz8 7auAL4Bk3dBpZqUQ+rVyNil/rwTXsC8AIbPIM= 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 :cc:content-type:content-transfer-encoding; b=Si/kwW9UqwIeZQn/buDVjIE9flqcUXjeB84KAu/494S1qTge3aBqrkPBYRdgRJgDAx 0eGaX6Oeij0EFn/eFpt/uJamAVCrMiuLclYX5ZS4nq+YUA4MRC8IZUAURNMUqnU3h9fD UeMvvOD6eI6I/C9VXDaf1jYqhU4oy2VwakpFA= MIME-Version: 1.0 Received: by 10.114.69.19 with SMTP id r19mr1144025waa.117.1254367629603; Wed, 30 Sep 2009 20:27:09 -0700 (PDT) In-Reply-To: <1254350826.94567.41.camel@shumai.marcuscom.com> References: <1254350826.94567.41.camel@shumai.marcuscom.com> Date: Wed, 30 Sep 2009 22:27:09 -0500 Message-ID: From: Matt To: Joe Marcus Clarke Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: FreeBSD GNOME Users Subject: Re: pthread_mutexattr_settype assertion from PulseAudio with Amarok 2.2 X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Oct 2009 03:27:11 -0000 On Wed, Sep 30, 2009 at 5:47 PM, Joe Marcus Clarke w= rote: > On Wed, 2009-09-30 at 16:59 -0500, Matt wrote: >> Does anyone know if the root cause of the "Assertion >> =E2=80=98pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE) =3D= =3D 0=E2=80=B2 >> failed at pulsecore/mutex-posix.c:52, function pa_mutex_new(). >> Aborting." error discussed at: >> >> http://miwi.bsdcrew.de/2009/07/firefox-35-in-ports/ >> >> was ever determined? =C2=A0I'm seeing this same error when trying to upd= ate >> the amarok-kde4 port to version 2.2 and the only discussion I can find >> related to this issue is at >> http://lists.freebsd.org/pipermail/freebsd-gnome/2009-July/022732.html >> and I don't see a resolution. >> >> Relevant data about my system: >> - All ports built in Tinderbox with "WITH_DEBUG=3Dyes" set >> - Tinderbox jail is 8-STABLE from 2009-09-10 16:42:33 >> - Tinderbox ports were updated 2009-09-14 12:59:10 >> - System where ports are installed is same host running the Tinderbox. >> =C2=A0"uname -a" states (sanitized) "FreeBSD 8.0-RC1 FreeBSD >> 8.0-RC1 #0: Mon Sep 21 09:46:16 CDT 2009 >> root@:/usr/obj/usr/src/sys/CUSTOM =C2=A0i386" >> - pkg_info list available at http://freebsd-gnome.pastebin.com/m1b0d9c9f >> >> I can't seem to get any usable core dumps from the system, but I can >> provide ktrace or other output if anyone is interested. > > I think there is a bug in the pthread_stubs in libc. =C2=A0If you apply t= his > patch, then rebuild libc, does the problem go away: > > http://www.marcuscom.com/downloads/_pthread_stubs.c.diff Yes, this eliminates the error mentioned above. Another patch to Amarok mentioned at: http://mail.kde.org/pipermail/amarok/2009-October/009340.html cleans up the rest of the problems I've been seeing. Thank you! Matt From owner-freebsd-gnome@FreeBSD.ORG Thu Oct 1 08:53:52 2009 Return-Path: Delivered-To: gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B538106566B for ; Thu, 1 Oct 2009 08:53:52 +0000 (UTC) (envelope-from anton@domino-host.ru) Received: from server1.domino-host.ru (server1.domino-host.ru [95.215.0.30]) by mx1.freebsd.org (Postfix) with ESMTP id D8A4B8FC1B for ; Thu, 1 Oct 2009 08:53:49 +0000 (UTC) Received: from server1.domino-host.ru ([95.215.0.30]) by server1.domino-host.ru with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1MtGQ6-000Fhd-Gk for gnome@freebsd.org; Thu, 01 Oct 2009 11:49:46 +0400 MIME-Version: 1.0 Date: Thu, 01 Oct 2009 11:49:46 +0400 From: Anton Shilin To: Organization: Dominoes LTD Message-ID: <9f989e6750bb6d9bce93efcb524c75c5@95.215.0.30> X-Sender: anton@domino-host.ru User-Agent: RoundCube Webmail/0.3-stable Content-Type: multipart/mixed; boundary="=_e8413d40240b9274bca3b82daa2d3521" X-Mailman-Approved-At: Thu, 01 Oct 2009 11:29:10 +0000 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: fail upgrade X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Oct 2009 08:53:52 -0000 --=_e8413d40240b9274bca3b82daa2d3521 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 fail upgrade glib 2.20.4 to 2.20.5 --=_e8413d40240b9274bca3b82daa2d3521 Content-Transfer-Encoding: base64 Content-Type: application/octet-stream; charset=UTF-8; name=config.log; Content-Disposition: attachment; filename=config.log; VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGdsaWIgY29uZmlndXJlIDIuMjAuNSwgd2hp Y2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42My4gIEludm9jYXRpb24gY29tbWFu ZCBsaW5lIHdhcwoKICAkIC4vY29uZmlndXJlIC0tZW5hYmxlLXN0YXRpYyAtLXdpdGgtbGliaWNv bnY9Z251IC0tZGlzYWJsZS1ndGstZG9jIC0td2l0aC1odG1sLWRpcj0vdXNyL2xvY2FsL3NoYXJl L2RvYyAtLWRpc2FibGUtbWFuIC0td2l0aG91dC14bWwtY2F0YWxvZyAtLXdpdGgtcGNyZT1zeXN0 ZW0gLS1kaXNhYmxlLWZhbSAtLXByZWZpeD0vdXNyL2xvY2FsIC0tbWFuZGlyPS91c3IvbG9jYWwv bWFuIC0taW5mb2Rpcj0vdXNyL2xvY2FsL2luZm8vIC0tYnVpbGQ9eDg2XzY0LXBvcnRibGQtZnJl ZWJzZDcuMgoKIyMgLS0tLS0tLS0tICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0tLS0gIyMK Cmhvc3RuYW1lID0gc2VydmVyMS5kb21pbm8taG9zdC5ydQp1bmFtZSAtbSA9IGFtZDY0CnVuYW1l IC1yID0gNy4yLVJFTEVBU0UtcDIKdW5hbWUgLXMgPSBGcmVlQlNECnVuYW1lIC12ID0gRnJlZUJT RCA3LjItUkVMRUFTRS1wMiAjMTogV2VkIEp1bCAyOSAxMjoxMjozOSBNU0QgMjAwOSAgICAgYzBk ZXJAc2VydmVyMS5kb21pbm8taG9zdC5ydTovdXNyL29iai91c3Ivc3JjL3N5cy9NeUtlcm4gCgov dXNyL2Jpbi91bmFtZSAtcCA9IGFtZDY0Ci9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jp bi9hcmNoICAgICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVu a25vd24KL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8g ICAgICA9IHVua25vd24KL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4v b3NsZXZlbCAgICAgICA9IHVua25vd24KL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24K ClBBVEg6IC9zYmluClBBVEg6IC9iaW4KUEFUSDogL3Vzci9zYmluClBBVEg6IC91c3IvYmluClBB VEg6IC91c3IvZ2FtZXMKUEFUSDogL3Vzci9sb2NhbC9zYmluClBBVEg6IC91c3IvbG9jYWwvYmlu ClBBVEg6IC9yb290L2JpbgoKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMj IC0tLS0tLS0tLS0tICMjCgpjb25maWd1cmU6MjI4NDogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbApjb25maWd1cmU6MjM1MjogcmVzdWx0OiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1vIHJvb3QgLWcgd2hlZWwKY29uZmlndXJlOjIzNjM6IGNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZQpjb25maWd1cmU6MjQyMzogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjI1NjQ6IGNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wCmNvbmZpZ3VyZToyNjAz OiByZXN1bHQ6IC4vaW5zdGFsbC1zaCAtYyAtZApjb25maWd1cmU6MjYxNjogY2hlY2tpbmcgZm9y IGdhd2sKY29uZmlndXJlOjI2NDY6IHJlc3VsdDogbm8KY29uZmlndXJlOjI2MTY6IGNoZWNraW5n IGZvciBtYXdrCmNvbmZpZ3VyZToyNjQ2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjE2OiBjaGVj a2luZyBmb3IgbmF3awpjb25maWd1cmU6MjYzMjogZm91bmQgL3Vzci9iaW4vbmF3awpjb25maWd1 cmU6MjY0MzogcmVzdWx0OiBuYXdrCmNvbmZpZ3VyZToyNjU0OiBjaGVja2luZyB3aGV0aGVyIGdt YWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6MjY3NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4 MDg6IGNoZWNraW5nIHdoZXRoZXIgdG8gZW5hYmxlIG1haW50YWluZXItc3BlY2lmaWMgcG9ydGlv bnMgb2YgTWFrZWZpbGVzCmNvbmZpZ3VyZToyODE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODM3 OiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6Mjg1NTogcmVzdWx0OiB4ODZf NjQtcG9ydGJsZC1mcmVlYnNkNy4yCmNvbmZpZ3VyZToyODc3OiBjaGVja2luZyBob3N0IHN5c3Rl bSB0eXBlCmNvbmZpZ3VyZToyODkyOiByZXN1bHQ6IHg4Nl82NC1wb3J0YmxkLWZyZWVic2Q3LjIK Y29uZmlndXJlOjI5MTU6IGNoZWNraW5nIGZvciB0aGUgQmVPUwpjb25maWd1cmU6MjkyNTogcmVz dWx0OiBubwpjb25maWd1cmU6MjkyOTogY2hlY2tpbmcgZm9yIFdpbjMyCmNvbmZpZ3VyZToyOTYz OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTY5OiBjaGVja2luZyBmb3IgTWFjIE9TIFggQ2FyYm9u IHN1cHBvcnQKY29uZmlndXJlOjI5ODM6IGNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVz ZWQgYnkgZ21ha2UKY29uZmlndXJlOjMwMTE6IHJlc3VsdDogR05VCmNvbmZpZ3VyZTozMDgxOiBj aGVja2luZyBmb3IgZ2NjCmNvbmZpZ3VyZTozMTA4OiByZXN1bHQ6IGNjCmNvbmZpZ3VyZTozMzQw OiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTozMzQ4OiBjYyAtLXZl cnNpb24gPiY1CmNjIChHQ0MpIDQuMi4xIDIwMDcwNzE5ICBbRnJlZUJTRF0KQ29weXJpZ2h0IChD KSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdh cmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3 YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3VyZTozMzUyOiAkPyA9IDAKY29uZmlndXJlOjMzNTk6 IGNjIC12ID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KVGFyZ2V0OiBhbWQ2NC11bmRlcm15ZGVz ay1mcmVlYnNkCkNvbmZpZ3VyZWQgd2l0aDogRnJlZUJTRC9hbWQ2NCBzeXN0ZW0gY29tcGlsZXIK VGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA0LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0Rd CmNvbmZpZ3VyZTozMzYzOiAkPyA9IDAKY29uZmlndXJlOjMzNzA6IGNjIC1WID4mNQpjYzogJy1W JyBvcHRpb24gbXVzdCBoYXZlIGFyZ3VtZW50CmNvbmZpZ3VyZTozMzc0OiAkPyA9IDEKY29uZmln dXJlOjMzOTc6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt ZQpjb25maWd1cmU6MzQxOTogY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgID4mNQpj b25maWd1cmU6MzQyMzogJD8gPSAwCmNvbmZpZ3VyZTozNDYxOiByZXN1bHQ6IGEub3V0CmNvbmZp Z3VyZTozNDgwOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzCmNvbmZpZ3Vy ZTozNDkwOiAuL2Eub3V0CmNvbmZpZ3VyZTozNDk0OiAkPyA9IDAKY29uZmlndXJlOjM1MTM6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTozNTIwOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj b21waWxpbmcKY29uZmlndXJlOjM1MjI6IHJlc3VsdDogbm8KY29uZmlndXJlOjM1MjU6IGNoZWNr aW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMKY29uZmlndXJlOjM1MzI6IGNjIC1vIGNvbmZ0 ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAt TC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjM1MzY6ICQ/ ID0gMApjb25maWd1cmU6MzU2MjogcmVzdWx0OiAKY29uZmlndXJlOjM1Njg6IGNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTozNTk0OiBjYyAtYyAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjM1OTg6ICQ/ID0gMApjb25maWd1cmU6MzYyMzogcmVzdWx0OiBvCmNvbmZpZ3Vy ZTozNjI3OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIK Y29uZmlndXJlOjM2NTY6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91 c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzY2MzogJD8gPSAwCmNv bmZpZ3VyZTozNjgwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzY4OTogY2hlY2tpbmcgd2hldGhl ciBjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTozNzE5OiBjYyAtYyAtZyAtSS91c3IvbG9jYWwvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzcyNjogJD8gPSAwCmNvbmZpZ3VyZTozODI3 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mzg0NDogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0byBh Y2NlcHQgSVNPIEM4OQpjb25maWd1cmU6MzkxODogY2MgIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlh c2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 MzkyNTogJD8gPSAwCmNvbmZpZ3VyZTozOTQ4OiByZXN1bHQ6IG5vbmUgbmVlZGVkCmNvbmZpZ3Vy ZTozOTY4OiBjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGNjCmNvbmZpZ3VyZTo0MDc4OiBy ZXN1bHQ6IGdjYzMKY29uZmlndXJlOjQwOTk6IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJl cHJvY2Vzc29yCmNvbmZpZ3VyZTo0MTM5OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25m dGVzdC5jCmNvbmZpZ3VyZTo0MTQ2OiAkPyA9IDAKY29uZmlndXJlOjQxNzc6IGNjIC1FIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMzoyODogZXJyb3I6IGFjX25v bmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjQxODQ6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi Z2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6 Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmlu ZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwg I2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdF IDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6NDIxNzogcmVzdWx0OiBj YyAtRQpjb25maWd1cmU6NDI0NjogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu Ywpjb25maWd1cmU6NDI1MzogJD8gPSAwCmNvbmZpZ3VyZTo0Mjg0OiBjYyAtRSAtSS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTM6Mjg6IGVycm9yOiBhY19ub25leGlz dGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo0MjkxOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVn emlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJ Ql9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZp bmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1Cnwg I2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjQzNDc6IGNjIC1FIC1JL3Vzci9s b2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxNDoyNzogZXJyb3I6IENhcmJvbi9D YXJib24uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25mdGVzdC5jOjE1OjM5OiBlcnJv cjogQ29yZVNlcnZpY2VzL0NvcmVTZXJ2aWNlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 CmNvbmZpZ3VyZTo0MzU0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAu NSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJv ZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJf TUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5l IEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8Q2FyYm9uL0NhcmJvbi5oPgp8ICNp bmNsdWRlIDxDb3JlU2VydmljZXMvQ29yZVNlcnZpY2VzLmg+CnwgCmNvbmZpZ3VyZTo0MzY5OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODE2OiBjaGVja2luZyB3aGV0aGVyIHRvIGVuYWJsZSBnYXJi YWdlIGNvbGxlY3RvciBmcmllbmRsaW5lc3MKY29uZmlndXJlOjQ4Mjc6IHJlc3VsdDogbm8KY29u ZmlndXJlOjQ4MzE6IGNoZWNraW5nIHdoZXRoZXIgdG8gZGlzYWJsZSBtZW1vcnkgcG9vbHMKY29u ZmlndXJlOjQ4MzQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4OTU6IGNoZWNraW5nIGZvciBnY2MK Y29uZmlndXJlOjQ5MjI6IHJlc3VsdDogY2MKY29uZmlndXJlOjUxNTQ6IGNoZWNraW5nIGZvciBD IGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjUxNjI6IGNjIC0tdmVyc2lvbiA+JjUKY2MgKEdD QykgNC4yLjEgMjAwNzA3MTkgIFtGcmVlQlNEXQpDb3B5cmlnaHQgKEMpIDIwMDcgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3Vy Y2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZl biBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LgoKY29uZmlndXJlOjUxNjY6ICQ/ID0gMApjb25maWd1cmU6NTE3MzogY2MgLXYgPiY1ClVzaW5n IGJ1aWx0LWluIHNwZWNzLgpUYXJnZXQ6IGFtZDY0LXVuZGVybXlkZXNrLWZyZWVic2QKQ29uZmln dXJlZCB3aXRoOiBGcmVlQlNEL2FtZDY0IHN5c3RlbSBjb21waWxlcgpUaHJlYWQgbW9kZWw6IHBv c2l4CmdjYyB2ZXJzaW9uIDQuMi4xIDIwMDcwNzE5ICBbRnJlZUJTRF0KY29uZmlndXJlOjUxNzc6 ICQ/ID0gMApjb25maWd1cmU6NTE4NDogY2MgLVYgPiY1CmNjOiAnLVYnIG9wdGlvbiBtdXN0IGhh dmUgYXJndW1lbnQKY29uZmlndXJlOjUxODg6ICQ/ID0gMQpjb25maWd1cmU6NTE5MTogY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyCmNvbmZpZ3VyZTo1MjQ0 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTI1MzogY2hlY2tpbmcgd2hldGhlciBjYyBhY2NlcHRz IC1nCmNvbmZpZ3VyZTo1MzkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTQwODogY2hlY2tpbmcg Zm9yIGNjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6NTUxMjogcmVzdWx0OiBu b25lIG5lZWRlZApjb25maWd1cmU6NTUzMjogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBj Ywpjb25maWd1cmU6NTY0MjogcmVzdWx0OiBnY2MzCmNvbmZpZ3VyZTo1NjYyOiBjaGVja2luZyBo b3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NTc4MDogcmVzdWx0OiBjYyAt RQpjb25maWd1cmU6NTgwOTogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYwpj b25maWd1cmU6NTgxNjogJD8gPSAwCmNvbmZpZ3VyZTo1ODQ3OiBjYyAtRSAtSS91c3IvbG9jYWwv aW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTM6Mjg6IGVycm9yOiBhY19ub25leGlzdGVu dC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo1ODU0OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemls bGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9N QUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUg R0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2Rl ZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjU4OTg6IGNoZWNraW5nIGZvciBjKysK Y29uZmlndXJlOjU5MjU6IHJlc3VsdDogYysrCmNvbmZpZ3VyZTo2MDU2OiBjaGVja2luZyBmb3Ig QysrIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjYwNjQ6IGMrKyAtLXZlcnNpb24gPiY1CmMr KyAoR0NDKSA0LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0RdCkNvcHlyaWdodCAoQykgMjAwNyBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhl IHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2FycmFudHk7IG5v dCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuCgpjb25maWd1cmU6NjA2ODogJD8gPSAwCmNvbmZpZ3VyZTo2MDc1OiBjKysgLXYgPiY1 ClVzaW5nIGJ1aWx0LWluIHNwZWNzLgpUYXJnZXQ6IGFtZDY0LXVuZGVybXlkZXNrLWZyZWVic2QK Q29uZmlndXJlZCB3aXRoOiBGcmVlQlNEL2FtZDY0IHN5c3RlbSBjb21waWxlcgpUaHJlYWQgbW9k ZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDQuMi4xIDIwMDcwNzE5ICBbRnJlZUJTRF0KY29uZmlndXJl OjYwNzk6ICQ/ID0gMApjb25maWd1cmU6NjA4NjogYysrIC1WID4mNQpjKys6ICctVicgb3B0aW9u IG11c3QgaGF2ZSBhcmd1bWVudApjb25maWd1cmU6NjA5MDogJD8gPSAxCmNvbmZpZ3VyZTo2MDkz OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMrKyBjb21waWxlcgpjb25m aWd1cmU6NjEyMjogYysrIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3Iv bG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZTo2MTI5OiAkPyA9IDAKY29u ZmlndXJlOjYxNDY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MTU1OiBjaGVja2luZyB3aGV0aGVy IGMrKyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo2MTg1OiBjKysgLWMgLWcgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6NjE5MjogJD8gPSAwCmNvbmZpZ3VyZTo2 MjkzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjMxODogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBjKysKY29uZmlndXJlOjY0Mjg6IHJlc3VsdDogZ2NjMwpjb25maWd1cmU6NjQ2NTogYysr IC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBj b25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZTo2NDcyOiAkPyA9IDAKY29uZmlndXJlOjY1NDk6IGNo ZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjY1NzY6IHJlc3VsdDogY2MKY29uZmlndXJlOjY4MDg6 IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjY4MTY6IGNjIC0tdmVy c2lvbiA+JjUKY2MgKEdDQykgNC4yLjEgMjAwNzA3MTkgIFtGcmVlQlNEXQpDb3B5cmlnaHQgKEMp IDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2Fy ZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndh cnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLgoKY29uZmlndXJlOjY4MjA6ICQ/ID0gMApjb25maWd1cmU6NjgyNzog Y2MgLXYgPiY1ClVzaW5nIGJ1aWx0LWluIHNwZWNzLgpUYXJnZXQ6IGFtZDY0LXVuZGVybXlkZXNr LWZyZWVic2QKQ29uZmlndXJlZCB3aXRoOiBGcmVlQlNEL2FtZDY0IHN5c3RlbSBjb21waWxlcgpU aHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDQuMi4xIDIwMDcwNzE5ICBbRnJlZUJTRF0K Y29uZmlndXJlOjY4MzE6ICQ/ID0gMApjb25maWd1cmU6NjgzODogY2MgLVYgPiY1CmNjOiAnLVYn IG9wdGlvbiBtdXN0IGhhdmUgYXJndW1lbnQKY29uZmlndXJlOjY4NDI6ICQ/ID0gMQpjb25maWd1 cmU6Njg0NTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy CmNvbmZpZ3VyZTo2ODk4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjkwNzogY2hlY2tpbmcgd2hl dGhlciBjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo3MDQ1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 NzA2MjogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6 NzE2NjogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1cmU6NzE4NjogY2hlY2tpbmcgZGVwZW5k ZW5jeSBzdHlsZSBvZiBjYwpjb25maWd1cmU6NzI5NjogcmVzdWx0OiBnY2MzCmNvbmZpZ3VyZTo3 MzE4OiBjaGVja2luZyB3aGV0aGVyIGNjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlcgpj b25maWd1cmU6NzM1MDogY2MgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdDIubyA+JjUKY29uZmln dXJlOjczNTQ6ICQ/ID0gMApjb25maWd1cmU6NzM2MDogY2MgLWMgY29uZnRlc3QuYyAtbyBjb25m dGVzdDIubyA+JjUKY29uZmlndXJlOjczNjQ6ICQ/ID0gMApjb25maWd1cmU6NzQxOTogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjc0NjA6IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh bGwKY29uZmlndXJlOjc1Mjg6IHJlc3VsdDogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbyByb290IC1n IHdoZWVsCmNvbmZpZ3VyZTo3NTQ3OiBjaGVja2luZyBmb3Igc3BlY2lhbCBDIGNvbXBpbGVyIG9w dGlvbnMgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6NzY0MjogcmVzdWx0OiBubwpj b25maWd1cmU6NzY0ODogY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZhbHVlIG5lZWRl ZCBmb3IgbGFyZ2UgZmlsZXMKY29uZmlndXJlOjc2ODM6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6NzY5MDogJD8gPSAwCmNvbmZpZ3VyZTo3NzU5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo3OTAy OiBjaGVja2luZyBmb3IgcGtnLWNvbmZpZwpjb25maWd1cmU6NzkyMDogZm91bmQgL3Vzci9sb2Nh bC9iaW4vcGtnLWNvbmZpZwpjb25maWd1cmU6NzkzMzogcmVzdWx0OiAvdXNyL2xvY2FsL2Jpbi9w a2ctY29uZmlnCmNvbmZpZ3VyZTo4MDI1OiBjaGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6ODA1 MjogcmVzdWx0OiBuYXdrCmNvbmZpZ3VyZTo4MDY3OiBjaGVja2luZyBmb3IgcGVybDUKY29uZmln dXJlOjgwODM6IGZvdW5kIC91c3IvYmluL3Blcmw1CmNvbmZpZ3VyZTo4MDk0OiByZXN1bHQ6IHBl cmw1CmNvbmZpZ3VyZTo4MTA4OiBjaGVja2luZyBmb3IgaW5kZW50CmNvbmZpZ3VyZTo4MTI0OiBm b3VuZCAvdXNyL2Jpbi9pbmRlbnQKY29uZmlndXJlOjgxMzU6IHJlc3VsdDogaW5kZW50CmNvbmZp Z3VyZTo4MTU3OiBjaGVja2luZyBmb3IgcGVybDUKY29uZmlndXJlOjgxNzU6IGZvdW5kIC91c3Iv YmluL3Blcmw1CmNvbmZpZ3VyZTo4MTg3OiByZXN1bHQ6IC91c3IvYmluL3Blcmw1CmNvbmZpZ3Vy ZTo4MjA4OiBjaGVja2luZyB3aGV0aGVyIC91c3IvbG9jYWwvYmluL3B5dGhvbjIuNSB2ZXJzaW9u ID49IDIuNApjb25maWd1cmU6ODIxOTogL3Vzci9sb2NhbC9iaW4vcHl0aG9uMi41IC1jIGltcG9y dCBzeXMgIyBzcGxpdCBzdHJpbmdzIGJ5ICcuJyBhbmQgY29udmVydCB0byBudW1lcmljLiBBcHBl bmQgc29tZSB6ZXJvcyAjIGJlY2F1c2Ugd2UgbmVlZCBhdCBsZWFzdCA0IGRpZ2l0cyBmb3IgdGhl IGhleCBjb252ZXJzaW9uLiAjIG1hcCByZXR1cm5zIGFuIGl0ZXJhdG9yIGluIFB5dGhvbiAzLjAg YW5kIGEgbGlzdCBpbiAyLnggbWludmVyID0gbGlzdChtYXAoaW50LCAnMi40Jy5zcGxpdCgnLicp KSkgKyBbMCwgMCwgMF0gbWludmVyaGV4ID0gMCAjIHhyYW5nZSBpcyBub3QgcHJlc2VudCBpbiBQ eXRob24gMy4wIGFuZCByYW5nZSByZXR1cm5zIGFuIGl0ZXJhdG9yIGZvciBpIGluIGxpc3QocmFu Z2UoMCwgNCkpOiBtaW52ZXJoZXggPSAobWludmVyaGV4IDw8IDgpICsgbWludmVyW2ldIHN5cy5l eGl0KHN5cy5oZXh2ZXJzaW9uIDwgbWludmVyaGV4KQpjb25maWd1cmU6ODIyMjogJD8gPSAwCmNv bmZpZ3VyZTo4MjI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODMxOTogY2hlY2tpbmcgZm9yIC91 c3IvbG9jYWwvYmluL3B5dGhvbjIuNSB2ZXJzaW9uCmNvbmZpZ3VyZTo4MzI2OiByZXN1bHQ6IDIu NQpjb25maWd1cmU6ODMzODogY2hlY2tpbmcgZm9yIC91c3IvbG9jYWwvYmluL3B5dGhvbjIuNSBw bGF0Zm9ybQpjb25maWd1cmU6ODM0NTogcmVzdWx0OiBmcmVlYnNkNwpjb25maWd1cmU6ODM1Mjog Y2hlY2tpbmcgZm9yIC91c3IvbG9jYWwvYmluL3B5dGhvbjIuNSBzY3JpcHQgZGlyZWN0b3J5CmNv bmZpZ3VyZTo4MzczOiByZXN1bHQ6ICR7cHJlZml4fS9saWIvcHl0aG9uMi41L3NpdGUtcGFja2Fn ZXMKY29uZmlndXJlOjgzODI6IGNoZWNraW5nIGZvciAvdXNyL2xvY2FsL2Jpbi9weXRob24yLjUg ZXh0ZW5zaW9uIG1vZHVsZSBkaXJlY3RvcnkKY29uZmlndXJlOjg0MDM6IHJlc3VsdDogJHtleGVj X3ByZWZpeH0vbGliL3B5dGhvbjIuNS9zaXRlLXBhY2thZ2VzCmNvbmZpZ3VyZTo4NzYyOiBjaGVj a2luZyBmb3IgbGliaWNvbnZfb3BlbiBpbiAtbGljb252CmNvbmZpZ3VyZTo4Nzk3OiBjYyAtbyBj b25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAtbGljb252ICAgPiY1CmNvbmZp Z3VyZTo4ODA0OiAkPyA9IDAKY29uZmlndXJlOjg4MjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4 OTEyOiBjaGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUKY29u ZmlndXJlOjg5NzI6IHJlc3VsdDogL3Vzci9iaW4vZ3JlcApjb25maWd1cmU6ODk3NzogY2hlY2tp bmcgZm9yIGVncmVwCmNvbmZpZ3VyZTo5MDQxOiByZXN1bHQ6IC91c3IvYmluL2dyZXAgLUUKY29u ZmlndXJlOjkwNDc6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBMaWJy YXJ5IDIuMSBvciBuZXdlcgpjb25mdGVzdC5jOjE0OjIyOiBlcnJvcjogZmVhdHVyZXMuaDogTm8g c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6OTA3ODogcmVzdWx0OiBubwpjb25maWd1 cmU6OTA5MjogY2hlY2tpbmcgV2hldGhlciB0byBjYWNoZSBpY29udiBkZXNjcmlwdG9ycwpjb25m aWd1cmU6OTExODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkxMjY6IGNoZWNraW5nIGZvciBBTlNJ IEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTo5MTU2OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjkxNjM6ICQ/ID0gMApjb25maWd1cmU6OTI2MjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIg LWxpbnRsIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6OTI2NjogJD8gPSAwCmNvbmZpZ3VyZTo5 MjcyOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo5Mjc2OiAkPyA9IDAKY29uZmlndXJlOjkyOTQ6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo5MzE4OiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmln dXJlOjkzMzk6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTM0NjogJD8gPSAwCmNvbmZpZ3Vy ZTo5MzYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTMxODogY2hlY2tpbmcgZm9yIHN5cy9zdGF0 LmgKY29uZmlndXJlOjkzMzk6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTM0NjogJD8gPSAw CmNvbmZpZ3VyZTo5MzYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTMxODogY2hlY2tpbmcgZm9y IHN0ZGxpYi5oCmNvbmZpZ3VyZTo5MzM5OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjkzNDY6 ICQ/ID0gMApjb25maWd1cmU6OTM2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkzMTg6IGNoZWNr aW5nIGZvciBzdHJpbmcuaApjb25maWd1cmU6OTMzOTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo5MzQ2OiAkPyA9IDAKY29uZmlndXJlOjkzNjM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5MzE4 OiBjaGVja2luZyBmb3IgbWVtb3J5LmgKY29uZmlndXJlOjkzMzk6IGNjIC1jIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6OTM0NjogJD8gPSAwCmNvbmZpZ3VyZTo5MzYzOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6OTMxODogY2hlY2tpbmcgZm9yIHN0cmluZ3MuaApjb25maWd1cmU6OTMzOTogY2MgLWMgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo5MzQ2OiAkPyA9IDAKY29uZmlndXJlOjkzNjM6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo5MzE4OiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6OTMzOTog Y2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5MzQ2OiAkPyA9IDAKY29uZmlndXJlOjkzNjM6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo5MzE4OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJl OjkzMzk6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwv aW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTM0NjogJD8gPSAwCmNvbmZpZ3VyZTo5 MzYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTMxODogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNv bmZpZ3VyZTo5MzM5OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjkzNDY6ICQ/ID0gMApjb25m aWd1cmU6OTM2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjkzOTQ6IGNoZWNraW5nIGxvY2FsZS5o IHVzYWJpbGl0eQpjb25maWd1cmU6OTQxMTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDE4 OiAkPyA9IDAKY29uZmlndXJlOjk0MzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NDM2OiBjaGVj a2luZyBsb2NhbGUuaCBwcmVzZW5jZQpjb25maWd1cmU6OTQ1MTogY2MgLUUgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6OTQ1ODogJD8gPSAwCmNvbmZpZ3VyZTo5NDcy OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTUwNTogY2hlY2tpbmcgZm9yIGxvY2FsZS5oCmNvbmZp Z3VyZTo5NTE0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTUzMDogY2hlY2tpbmcgZm9yIExDX01F U1NBR0VTCmNvbmZpZ3VyZTo5NTU2OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwg Y29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo5NTYzOiAkPyA9IDAKY29uZmlndXJlOjk1ODM6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo5NjEyOiBjaGVja2luZyBsaWJpbnRsLmggdXNhYmlsaXR5CmNv bmZpZ3VyZTo5NjI5OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk2MzY6ICQ/ID0gMApjb25m aWd1cmU6OTY1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk2NTQ6IGNoZWNraW5nIGxpYmludGwu aCBwcmVzZW5jZQpjb25maWd1cmU6OTY2OTogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuYwpjb25maWd1cmU6OTY3NjogJD8gPSAwCmNvbmZpZ3VyZTo5NjkwOiByZXN1bHQ6IHll cwpjb25maWd1cmU6OTcyMzogY2hlY2tpbmcgZm9yIGxpYmludGwuaApjb25maWd1cmU6OTczMDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjk3NDE6IGNoZWNraW5nIGZvciBuZ2V0dGV4dCBpbiBsaWJj CmNvbmZpZ3VyZTo5NzY5OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRl c3QuYyAgPiY1CmNvbmZpZ3VyZTo5Nzc2OiAkPyA9IDAKY29uZmlndXJlOjk3OTc6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTo5ODAxOiBjaGVja2luZyBmb3IgZGdldHRleHQgaW4gbGliYwpjb25maWd1 cmU6OTgyOTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgID4m NQpjb25maWd1cmU6OTgzNjogJD8gPSAwCmNvbmZpZ3VyZTo5ODU3OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6OTg2NjogY2hlY2tpbmcgZm9yIGJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0CmNvbmZpZ3Vy ZTo5OTIyOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgPiY1 CmNvbmZpZ3VyZTo5OTI5OiAkPyA9IDAKY29uZmlndXJlOjk5NTE6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxMDQ2NzogY2hlY2tpbmcgZm9yIG1zZ2ZtdApjb25maWd1cmU6MTA0OTQ6IHJlc3VsdDog L3Vzci9sb2NhbC9iaW4vbXNnZm10CmNvbmZpZ3VyZToxMDUwNzogY2hlY2tpbmcgZm9yIGRjZ2V0 dGV4dApjb25maWd1cmU6MTA1NjM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlh c2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIC1saW50bCBj b25mdGVzdC5jICAgPiY1CmNvbmZ0ZXN0LmM6NTE6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVz IGZvciBidWlsdC1pbiBmdW5jdGlvbiAnZGNnZXR0ZXh0Jwpjb25maWd1cmU6MTA1NzA6ICQ/ID0g MApjb25maWd1cmU6MTA1OTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDYwNTogY2hlY2tpbmcg aWYgbXNnZm10IGFjY2VwdHMgLWMKY29uZmlndXJlOjEwNjIwOiAkTVNHRk1UIC1jIC1vIC9kZXYv bnVsbCBjb25mdGVzdC5mb28KY29uZmlndXJlOjEwNjIzOiAkPyA9IDAKY29uZmlndXJlOjEwNjI1 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA2MzU6IGNoZWNraW5nIGZvciBnbXNnZm10CmNvbmZp Z3VyZToxMDY2NjogcmVzdWx0OiAvdXNyL2xvY2FsL2Jpbi9tc2dmbXQKY29uZmlndXJlOjEwNjc2 OiBjaGVja2luZyBmb3IgeGdldHRleHQKY29uZmlndXJlOjEwNzAzOiByZXN1bHQ6IC91c3IvbG9j YWwvYmluL3hnZXR0ZXh0CmNvbmZpZ3VyZToxMDczMjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9s aWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjEwNzM5OiAkPyA9IDAKY29uZmln dXJlOjEwOTE1OiBjaGVja2luZyBmb3IgY2F0YWxvZ3MgdG8gYmUgaW5zdGFsbGVkCmNvbmZpZ3Vy ZToxMDk0MDogcmVzdWx0OiAgYW0gYXIgYXMgYXogYmUgYmVAbGF0aW4gYmcgYm4gYm5fSU4gYnMg Y2EgY2FAdmFsZW5jaWEgY3MgY3kgZGEgZGUgZHogZWwgZW5fQ0EgZW5fR0IgZW8gZXMgZXQgZXUg ZmEgZmkgZnIgZ2EgZ2wgZ3UgaGUgaGkgaHIgaHUgaHkgaWQgaXMgaXQgamEga2Ega24ga28ga3Ug bHQgbHYgbWFpIG1nIG1rIG1sIG1uIG1yIG1zIG5iIG5lIG5sIG5uIG9jIG9yIHBhIHBsIHBzIHB0 IHB0X0JSIHJvIHJ1IHJ3IHNpIHNrIHNsIHNxIHNyIHNyQGxhdGluIHNyQGlqZSBzdiB0YSB0ZSB0 aCB0bCB0ciB0dCB1ayB2aSB3YSB4aCB5aSB6aF9DTiB6aF9ISyB6aF9UVwpjb25maWd1cmU6MTE0 MDM6IGNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dApjb25m aWd1cmU6MTE0Njk6IHJlc3VsdDogL3Vzci9iaW4vc2VkCmNvbmZpZ3VyZToxMTQ4NzogY2hlY2tp bmcgZm9yIGZncmVwCmNvbmZpZ3VyZToxMTU1MTogcmVzdWx0OiAvdXNyL2Jpbi9ncmVwIC1GCmNv bmZpZ3VyZToxMTU4NjogY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgY2MKY29uZmlndXJlOjExNjUz OiByZXN1bHQ6IC91c3IvYmluL2xkCmNvbmZpZ3VyZToxMTY2MjogY2hlY2tpbmcgaWYgdGhlIGxp bmtlciAoL3Vzci9iaW4vbGQpIGlzIEdOVSBsZApjb25maWd1cmU6MTE2Nzc6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMTY4OTogY2hlY2tpbmcgZm9yIEJTRC0gb3IgTVMtY29tcGF0aWJsZSBuYW1l IGxpc3RlciAobm0pCmNvbmZpZ3VyZToxMTczODogcmVzdWx0OiAvdXNyL2Jpbi9ubSAtQgpjb25m aWd1cmU6MTE4NTY6IGNoZWNraW5nIHRoZSBuYW1lIGxpc3RlciAoL3Vzci9iaW4vbm0gLUIpIGlu dGVyZmFjZQpjb25maWd1cmU6MTE4NjM6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt cGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTE4NjY6 IC91c3IvYmluL25tIC1CICJjb25mdGVzdC5vIgpjb25maWd1cmU6MTE4Njk6IG91dHB1dAowMDAw MDAwMDAwMDAwMDAwIEIgc29tZV92YXJpYWJsZQpjb25maWd1cmU6MTE4NzY6IHJlc3VsdDogQlNE IG5tCmNvbmZpZ3VyZToxMTg3OTogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcwpjb25maWd1 cmU6MTE4ODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTg5MTogY2hlY2tpbmcgdGhlIG1heGlt dW0gbGVuZ3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMKY29uZmlndXJlOjEyMDExOiByZXN1 bHQ6IDI2MjE0NApjb25maWd1cmU6MTIwMjg6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVu ZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0cnVjdHMKY29uZmlndXJlOjEyMDM4OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTIwNDI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRz ICIrPSIKY29uZmlndXJlOjEyMDQ4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjA4MzogY2hlY2tp bmcgZm9yIC91c3IvYmluL2xkIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzCmNvbmZpZ3Vy ZToxMjA5MDogcmVzdWx0OiAtcgpjb25maWd1cmU6MTIxNTk6IGNoZWNraW5nIGZvciBvYmpkdW1w CmNvbmZpZ3VyZToxMjE4NjogcmVzdWx0OiBvYmpkdW1wCmNvbmZpZ3VyZToxMjIxNTogY2hlY2tp bmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzCmNvbmZpZ3VyZToxMjQxMTog cmVzdWx0OiBwYXNzX2FsbApjb25maWd1cmU6MTI0NzE6IGNoZWNraW5nIGZvciBhcgpjb25maWd1 cmU6MTI0ODc6IGZvdW5kIC91c3IvYmluL2FyCmNvbmZpZ3VyZToxMjQ5ODogcmVzdWx0OiBhcgpj b25maWd1cmU6MTI1NzY6IGNoZWNraW5nIGZvciBzdHJpcApjb25maWd1cmU6MTI1OTI6IGZvdW5k IC91c3IvYmluL3N0cmlwCmNvbmZpZ3VyZToxMjYwMzogcmVzdWx0OiBzdHJpcApjb25maWd1cmU6 MTI2NzU6IGNoZWNraW5nIGZvciByYW5saWIKY29uZmlndXJlOjEyNjkxOiBmb3VuZCAvdXNyL2Jp bi9yYW5saWIKY29uZmlndXJlOjEyNzAyOiByZXN1bHQ6IHJhbmxpYgpjb25maWd1cmU6MTI3OTI6 IGNoZWNraW5nIGNvbW1hbmQgdG8gcGFyc2UgL3Vzci9iaW4vbm0gLUIgb3V0cHV0IGZyb20gY2Mg b2JqZWN0CmNvbmZpZ3VyZToxMjkxMDogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1w aXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMjkxMzog JD8gPSAwCmNvbmZpZ3VyZToxMjkxNzogL3Vzci9iaW4vbm0gLUIgY29uZnRlc3QubyBcfCBzZWQg LW4gLWUgJ3MvXi4qWwkgXVwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlwpWwkgXVsJIF0qXChb X0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnIFw+IGNvbmZ0ZXN0Lm5tCmNvbmZp Z3VyZToxMjkyMDogJD8gPSAwCmNvbmZpZ3VyZToxMjk3NDogY2MgLW8gY29uZnRlc3QgLU8yIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgY29uZnRzdG0ubyA+JjUKY29uZmlndXJlOjEyOTc3OiAk PyA9IDAKY29uZmlndXJlOjEzMDE1OiByZXN1bHQ6IG9rCmNvbmZpZ3VyZToxMzg4MDogY2hlY2tp bmcgZm9yIGRsZmNuLmgKY29uZmlndXJlOjEzOTAxOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjEzOTA4OiAkPyA9IDAKY29uZmlndXJlOjEzOTI1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQw NTI6IGNoZWNraW5nIGZvciBDKysgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MTQwNjA6IGMr KyAtLXZlcnNpb24gPiY1CmMrKyAoR0NDKSA0LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0RdCkNvcHly aWdodCAoQykgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVl IHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUg aXMgTk8Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCgpjb25maWd1cmU6MTQwNjQ6ICQ/ID0gMApjb25maWd1 cmU6MTQwNzE6IGMrKyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuClRhcmdldDogYW1kNjQt dW5kZXJteWRlc2stZnJlZWJzZApDb25maWd1cmVkIHdpdGg6IEZyZWVCU0QvYW1kNjQgc3lzdGVt IGNvbXBpbGVyClRocmVhZCBtb2RlbDogcG9zaXgKZ2NjIHZlcnNpb24gNC4yLjEgMjAwNzA3MTkg IFtGcmVlQlNEXQpjb25maWd1cmU6MTQwNzU6ICQ/ID0gMApjb25maWd1cmU6MTQwODI6IGMrKyAt ViA+JjUKYysrOiAnLVYnIG9wdGlvbiBtdXN0IGhhdmUgYXJndW1lbnQKY29uZmlndXJlOjE0MDg2 OiAkPyA9IDEKY29uZmlndXJlOjE0MDg5OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0 aGUgR05VIEMrKyBjb21waWxlcgpjb25maWd1cmU6MTQxNDI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNDE1MTogY2hlY2tpbmcgd2hldGhlciBjKysgYWNjZXB0cyAtZwpjb25maWd1cmU6MTQyODk6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDMxNDogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv ZiBjKysKY29uZmlndXJlOjE0NDI0OiByZXN1bHQ6IGdjYzMKY29uZmlndXJlOjE0NDQ3OiBjaGVj a2luZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZToxNDQ4MzogYysr IC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmNwcApjb25maWd1cmU6MTQ0OTA6ICQ/ ID0gMApjb25maWd1cmU6MTQ1MjE6IGMrKyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz dC5jcHAKY29uZnRlc3QuY3BwOjM0OjI4OiBlcnJvcjogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3Vj aCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MTQ1Mjg6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4y MC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5v cmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJ T04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JP X1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJf QklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNk ZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVY VCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xp YjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIK fCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZp Z3VyZToxNDU2MTogcmVzdWx0OiBjKysgLUUKY29uZmlndXJlOjE0NTkwOiBjKysgLUUgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuY3BwCmNvbmZpZ3VyZToxNDU5NzogJD8gPSAwCmNvbmZp Z3VyZToxNDYyODogYysrIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmNwcApjb25m dGVzdC5jcHA6MzQ6Mjg6IGVycm9yOiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CmNvbmZpZ3VyZToxNDYzNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGli Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9i dWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2Rl ZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1 CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdF IDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZF X0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVm aW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2Rl ZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUg VVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjE0ODE2 OiBjaGVja2luZyBmb3Igb2JqZGlyCmNvbmZpZ3VyZToxNDgzMTogcmVzdWx0OiAubGlicwpjb25m aWd1cmU6MTUxMjM6IGNoZWNraW5nIGlmIGNjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2Vw dGlvbnMKY29uZmlndXJlOjE1MTQxOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBp cGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyBjb25mdGVz dC5jID4mNQpjYzE6IHdhcm5pbmc6IGNvbW1hbmQgbGluZSBvcHRpb24gIi1mbm8tcnR0aSIgaXMg dmFsaWQgZm9yIEMrKy9PYmpDKysgYnV0IG5vdCBmb3IgQwpjb25maWd1cmU6MTUxNDU6ICQ/ID0g MApjb25maWd1cmU6MTUxNTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE1MTc4OiBjaGVja2luZyBm b3IgY2Mgb3B0aW9uIHRvIHByb2R1Y2UgUElDCmNvbmZpZ3VyZToxNTQ1MDogcmVzdWx0OiAtZlBJ QyAtRFBJQwpjb25maWd1cmU6MTU0NjI6IGNoZWNraW5nIGlmIGNjIFBJQyBmbGFnIC1mUElDIC1E UElDIHdvcmtzCmNvbmZpZ3VyZToxNTQ4MDogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mUElDIC1EUElDIC1EUElDIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZToxNTQ4NDogJD8gPSAwCmNvbmZpZ3VyZToxNTQ5NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjE1NTIxOiBjaGVja2luZyBpZiBjYyBzdGF0aWMgZmxhZyAtc3RhdGljIHdvcmtz CmNvbmZpZ3VyZToxNTU0OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1NTY0OiBjaGVja2luZyBp ZiBjYyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8KY29uZmlndXJlOjE1NTg1OiBjYyAtYyAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLW8gb3V0L2NvbmZ0 ZXN0Mi5vIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNTU4OTogJD8gPSAwCmNvbmZpZ3VyZTox NTYxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1NjE5OiBjaGVja2luZyBpZiBjYyBzdXBwb3J0 cyAtYyAtbyBmaWxlLm8KY29uZmlndXJlOjE1NjY2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU2 OTk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGNjIGxpbmtlciAoL3Vzci9iaW4vbGQpIHN1cHBvcnRz IHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjE2NzczOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MTY4MTA6IGNoZWNraW5nIHdoZXRoZXIgLWxjIHNob3VsZCBiZSBleHBsaWNpdGx5IGxpbmtlZCBp bgpjb25maWd1cmU6MTY4MTU6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTY4MTg6ICQ/ID0g MApjb25maWd1cmU6MTY4MzM6IGNjIC1zaGFyZWQgY29uZnRlc3QubyAgLXYgLVdsLC1zb25hbWUg LVdsLGNvbmZ0ZXN0IC1vIGNvbmZ0ZXN0IDJcPlwmMSBcfCAvdXNyL2Jpbi9ncmVwICAtbGMgIFw+ L2Rldi9udWxsIDJcPlwmMQpjb25maWd1cmU6MTY4MzY6ICQ/ID0gMApjb25maWd1cmU6MTY4NDg6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE3MDEyOiBjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFy YWN0ZXJpc3RpY3MKY29uZmlndXJlOjE3Njk4OiByZXN1bHQ6IGZyZWVic2Q3LjIgbGQuc28KY29u ZmlndXJlOjE3ODAwOiBjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRv IHByb2dyYW1zCmNvbmZpZ3VyZToxNzgyNTogcmVzdWx0OiBpbW1lZGlhdGUKY29uZmlndXJlOjE4 NjU4OiBjaGVja2luZyB3aGV0aGVyIHN0cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUKY29u ZmlndXJlOjE4NjYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTg2OTg6IGNoZWNraW5nIGlmIGxp YnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTg3MDA6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxODcwMzogY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGli cmFyaWVzCmNvbmZpZ3VyZToxODcyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4NzI3OiBjaGVj a2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMKY29uZmlndXJlOjE4NzMxOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MTg4ODE6IGNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IGMrKwpj b25maWd1cmU6MTg5NDg6IHJlc3VsdDogL3Vzci9iaW4vbGQKY29uZmlndXJlOjE4OTU3OiBjaGVj a2luZyBpZiB0aGUgbGlua2VyICgvdXNyL2Jpbi9sZCkgaXMgR05VIGxkCmNvbmZpZ3VyZToxODk3 MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5MDI3OiBjaGVja2luZyB3aGV0aGVyIHRoZSBjKysg bGlua2VyICgvdXNyL2Jpbi9sZCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6 MjAwMDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDAzMDogYysrIC1jIC1PMiAtZm5vLXN0cmlj dC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jcHAgPiY1CmNv bmZpZ3VyZToyMDAzMzogJD8gPSAwCmNvbmZpZ3VyZToyMDIxNTogY2hlY2tpbmcgZm9yIGMrKyBv cHRpb24gdG8gcHJvZHVjZSBQSUMKY29uZmlndXJlOjIwNTMyOiByZXN1bHQ6IC1mUElDIC1EUElD CmNvbmZpZ3VyZToyMDU0MTogY2hlY2tpbmcgaWYgYysrIFBJQyBmbGFnIC1mUElDIC1EUElDIHdv cmtzCmNvbmZpZ3VyZToyMDU1OTogYysrIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlw ZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtZlBJQyAtRFBJQyAtRFBJQyBjb25mdGVzdC5jcHAgPiY1 CmNvbmZpZ3VyZToyMDU2MzogJD8gPSAwCmNvbmZpZ3VyZToyMDU3NjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjIwNTk3OiBjaGVja2luZyBpZiBjKysgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jrcwpj b25maWd1cmU6MjA2MjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDYzNzogY2hlY2tpbmcgaWYg YysrIHN1cHBvcnRzIC1jIC1vIGZpbGUubwpjb25maWd1cmU6MjA2NTg6IGMrKyAtYyAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLW8gb3V0L2NvbmZ0 ZXN0Mi5vIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjIwNjYyOiAkPyA9IDAKY29uZmlndXJl OjIwNjg0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjA2ODk6IGNoZWNraW5nIGlmIGMrKyBzdXBw b3J0cyAtYyAtbyBmaWxlLm8KY29uZmlndXJlOjIwNzM2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MjA3NjY6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGMrKyBsaW5rZXIgKC91c3IvYmluL2xkKSBzdXBw b3J0cyBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZToyMDc5MjogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjIwOTI5OiBjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MKY29uZmln dXJlOjIxNTYzOiByZXN1bHQ6IGZyZWVic2Q3LjIgbGQuc28KY29uZmlndXJlOjIxNjE0OiBjaGVj a2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zCmNvbmZpZ3Vy ZToyMTYzOTogcmVzdWx0OiBpbW1lZGlhdGUKY29uZmlndXJlOjIxNjk4OiBjcmVhdGluZyAuL2Nv bmZpZy5sdAoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLmx0LiAj IwojIyAtLS0tLS0tLS0tLS0tLS0tLS0gIyMKY29uZmlnLmx0OjYwMzogY3JlYXRpbmcgbGlidG9v bApjb25maWd1cmU6MjMyODg6IGNoZWNraW5nIGZvciBleHRyYSBmbGFncyB0byBnZXQgQU5TSSBs aWJyYXJ5IHByb3RvdHlwZXMKY29uZmlndXJlOjIzMzE2OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMg ICAtbG0gPiY1CmNvbmZpZ3VyZToyMzMyMDogJD8gPSAwCmNvbmZpZ3VyZToyMzMyNjogLi9jb25m dGVzdApjb25maWd1cmU6MjMzMzA6ICQ/ID0gMApjb25maWd1cmU6MjMzMzI6IHJlc3VsdDogbm9u ZSBuZWVkZWQKY29uZmlndXJlOjIzNDEyOiBjaGVja2luZyBmb3IgZXh0cmEgZmxhZ3MgZm9yIFBP U0lYIGNvbXBsaWFuY2UKY29uZmlndXJlOjIzNDM1OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoK Y29uZnRlc3QuYzozOTogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICdkaXInCmNvbmZpZ3VyZToy MzQ0MjogJD8gPSAwCmNvbmZpZ3VyZToyMzQ0NzogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1 cmU6MjM1MDc6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZToyMzY3 NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIzNjkxOiBjaGVja2luZyBmb3IgdnByaW50Zgpjb25m aWd1cmU6MjM3NDc6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlw ZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMg LUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25mdGVzdC5jOjU5OiB3 YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3ZwcmludGYn CmNvbmZpZ3VyZToyMzc1NDogJD8gPSAwCmNvbmZpZ3VyZToyMzc3NjogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjIzNzg1OiBjaGVja2luZyBmb3IgX2RvcHJudApjb25maWd1cmU6MjM4NDE6IGNjIC1v IGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9j YWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAt bGludGwgY29uZnRlc3QuYyAgID4mNQovdmFyL3RtcC8vY2NWU2RKMk8ubygudGV4dCsweDcpOiBJ biBmdW5jdGlvbiBgbWFpbic6CjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2RvcHJudCcKY29u ZmlndXJlOjIzODQ4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVj dD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlO T1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdM SUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZp bmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMg MQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05M UyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9D QUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZf R05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJz LyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgX2RvcHJudCB0byBhbiBpbm5vY3VvdXMg dmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIF9kb3BybnQuCnwgICAgRm9yIGV4 YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwg I2RlZmluZSBfZG9wcm50IGlubm9jdW91c19fZG9wcm50CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0 byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAg ICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIF9kb3BybnQgKCk7IGJlbG93Lgp8ICAgICBQ cmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNp bmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVy cy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxz ZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIF9kb3BybnQKfCAK fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj ZW5kaWYKfCBjaGFyIF9kb3BybnQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfX2RvcHJudCB8fCBkZWZpbmVkIF9fc3R1Yl9fX19k b3BybnQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IF9kb3BybnQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMzg2ODogcmVz dWx0OiBubwpjb25maWd1cmU6MjM4ODQ6IGNoZWNraW5nIGZvciB3b3JraW5nIGFsbG9jYS5oCmNv bmZpZ3VyZToyMzkxMTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1w aXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURF UyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZ0ZXN0LmM6Mzc6 MjA6IGVycm9yOiBhbGxvY2EuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NDE6IHdhcm5pbmc6IGltcGxpY2l0IGRl Y2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdhbGxvY2EnCmNvbmZ0ZXN0LmM6NDE6IHdhcm5pbmc6IGlu Y29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnYWxs b2NhJwpjb25maWd1cmU6MjM5MTg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi Mi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNn aT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUg R0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNk ZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1 CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19N RVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBF TkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUg R0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9M SUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJ UiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5U RiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhbGxvY2EuaD4KfCBpbnQK fCBtYWluICgpCnwgewp8IGNoYXIgKnAgPSAoY2hhciAqKSBhbGxvY2EgKDIgKiBzaXplb2YgKGlu dCkpOwp8IAkJCSAgaWYgKHApIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MjM5Mzg6IHJlc3VsdDogbm8KY29uZmlndXJlOjIzOTQ4OiBjaGVja2luZyBmb3IgYWxs b2NhCmNvbmZpZ3VyZToyMzk5NTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3Vy ZToyNDAwMjogJD8gPSAwCmNvbmZpZ3VyZToyNDAyMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI0 MjY4OiBjaGVja2luZyBmb3IgbW1hcApjb25maWd1cmU6MjQzMjQ6IGNjIC1vIGNvbmZ0ZXN0IC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAt REdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRl c3QuYyAgID4mNQpjb25maWd1cmU6MjQzMzE6ICQ/ID0gMApjb25maWd1cmU6MjQzNTM6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToyNDI2ODogY2hlY2tpbmcgZm9yIHBvc2l4X21lbWFsaWduCmNvbmZp Z3VyZToyNDMyNDogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl IC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAt TC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZToyNDMzMTog JD8gPSAwCmNvbmZpZ3VyZToyNDM1MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI0MjY4OiBjaGVj a2luZyBmb3IgbWVtYWxpZ24KY29uZmlndXJlOjI0MzI0OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMg ICA+JjUKL3Zhci90bXAvL2NjV1VROVQzLm8oLnRleHQrMHg3KTogSW4gZnVuY3Rpb24gYG1haW4n Ogo6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG1lbWFsaWduJwpjb25maWd1cmU6MjQzMzE6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi Z2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6 Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmlu ZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwg I2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdF IDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NB Q0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZF X0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2Rl ZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdF VFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xv Y2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBtZW1hbGlnbiB0byBhbiBpbm5v Y3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIG1lbWFsaWduLgp8ICAg IEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXku ICAqLwp8ICNkZWZpbmUgbWVtYWxpZ24gaW5ub2N1b3VzX21lbWFsaWduCnwgCnwgLyogU3lzdGVt IGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5 cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIG1lbWFsaWduICgpOyBiZWxv dy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBk ZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGlu ZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRz Lmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBt ZW1hbGlnbgp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgbWVtYWxpZ24gKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJh cnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0 byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu YW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfbWVtYWxpZ24gfHwgZGVmaW5l ZCBfX3N0dWJfX19tZW1hbGlnbgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCByZXR1cm4gbWVtYWxpZ24gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZToyNDM1MzogcmVzdWx0OiBubwpjb25maWd1cmU6MjQyNjg6IGNoZWNraW5nIGZvciB2YWxs b2MKY29uZmlndXJlOjI0MzI0OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lO Q0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJl OjI0MzMxOiAkPyA9IDAKY29uZmlndXJlOjI0MzUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQy Njg6IGNoZWNraW5nIGZvciBmc3luYwpjb25maWd1cmU6MjQzMjQ6IGNjIC1vIGNvbmZ0ZXN0IC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAt REdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRl c3QuYyAgID4mNQpjb25maWd1cmU6MjQzMzE6ICQ/ID0gMApjb25maWd1cmU6MjQzNTM6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToyNDI2ODogY2hlY2tpbmcgZm9yIHBpcGUyCmNvbmZpZ3VyZToyNDMy NDogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9j YWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1Ci92YXIvdG1wLy9jYzE1VnNnUS5vKC50ZXh0 KzB4Nyk6IEluIGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBwaXBl MicKY29uZmlndXJlOjI0MzMxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIu MjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/ cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdM SUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVm aW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8 ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVT U0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5B QkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdM SUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElC SUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIg Ii5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5l IEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9GU1lOQyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBwaXBlMiB0 byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHBpcGUy Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1l b2ZkYXkuICAqLwp8ICNkZWZpbmUgcGlwZTIgaW5ub2N1b3VzX3BpcGUyCnwgCnwgLyogU3lzdGVt IGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5 cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHBpcGUyICgpOyBiZWxvdy4K fCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZp bmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBj b21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+ CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBwaXBl Mgp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu IGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g dHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJD Igp8ICNlbmRpZgp8IGNoYXIgcGlwZTIgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5l cyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMg ZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAg ICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFs aWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfcGlwZTIgfHwgZGVmaW5lZCBfX3N0dWJfX19w aXBlMgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4g cGlwZTIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDM1MzogcmVzdWx0 OiBubwpjb25maWd1cmU6MjQzNzI6IGNoZWNraW5nIGZvciBhdGV4aXQKY29uZmlndXJlOjI0NDI4 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjI0NDM1OiAkPyA9IDAKY29u ZmlndXJlOjI0NDU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQzNzI6IGNoZWNraW5nIGZvciBv bl9leGl0CmNvbmZpZ3VyZToyNDQyODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1Ci92YXIv dG1wLy9jY1lwMWJUUC5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRlZmlu ZWQgcmVmZXJlbmNlIHRvIGBvbl9leGl0Jwpjb25maWd1cmU6MjQ0MzU6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImds aWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5n bm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9S X1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElC X01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5l IEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0gg MQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERP TUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RD R0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FH RSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xv Y2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I IDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBI QVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElU IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIG9uX2V4aXQgdG8gYW4gaW5u b2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBvbl9leGl0Lgp8ICAg IEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXku ICAqLwp8ICNkZWZpbmUgb25fZXhpdCBpbm5vY3VvdXNfb25fZXhpdAp8IAp8IC8qIFN5c3RlbSBo ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl cywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBvbl9leGl0ICgpOyBiZWxvdy4K fCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZp bmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBj b21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+ CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBvbl9l eGl0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg YW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVy biB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90 eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4g IkMiCnwgI2VuZGlmCnwgY2hhciBvbl9leGl0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRl ZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3 YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK fCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX29uX2V4aXQgfHwgZGVmaW5lZCBfX3N0 dWJfX19vbl9leGl0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHJldHVybiBvbl9leGl0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjQ0 NTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjI0MzcyOiBjaGVja2luZyBmb3IgdGltZWdtCmNvbmZp Z3VyZToyNDQyODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl IC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAt TC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZToyNDQzNTog JD8gPSAwCmNvbmZpZ3VyZToyNDQ1NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI0MzcyOiBjaGVj a2luZyBmb3IgZ210aW1lX3IKY29uZmlndXJlOjI0NDI4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMg ICA+JjUKY29uZmlndXJlOjI0NDM1OiAkPyA9IDAKY29uZmlndXJlOjI0NDU3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MjQ0NzQ6IGNoZWNraW5nIHNpemUgb2YgY2hhcgpjb25maWd1cmU6MjQ3Nzk6 IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2Fs L2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MjQ3ODM6ICQ/ID0gMApjb25m aWd1cmU6MjQ3ODk6IC4vY29uZnRlc3QKY29uZmlndXJlOjI0NzkzOiAkPyA9IDAKY29uZmlndXJl OjI0ODE5OiByZXN1bHQ6IDEKY29uZmlndXJlOjI0ODMzOiBjaGVja2luZyBzaXplIG9mIHNob3J0 CmNvbmZpZ3VyZToyNTEzODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNM VURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZToy NTE0MjogJD8gPSAwCmNvbmZpZ3VyZToyNTE0ODogLi9jb25mdGVzdApjb25maWd1cmU6MjUxNTI6 ICQ/ID0gMApjb25maWd1cmU6MjUxNzg6IHJlc3VsdDogMgpjb25maWd1cmU6MjUxOTI6IGNoZWNr aW5nIHNpemUgb2YgbG9uZwpjb25maWd1cmU6MjU0OTc6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElT QUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAg ID4mNQpjb25maWd1cmU6MjU1MDE6ICQ/ID0gMApjb25maWd1cmU6MjU1MDc6IC4vY29uZnRlc3QK Y29uZmlndXJlOjI1NTExOiAkPyA9IDAKY29uZmlndXJlOjI1NTM3OiByZXN1bHQ6IDgKY29uZmln dXJlOjI1NTUxOiBjaGVja2luZyBzaXplIG9mIGludApjb25maWd1cmU6MjU4NTY6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGlu dGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MjU4NjA6ICQ/ID0gMApjb25maWd1cmU6MjU4 NjY6IC4vY29uZnRlc3QKY29uZmlndXJlOjI1ODcwOiAkPyA9IDAKY29uZmlndXJlOjI1ODk2OiBy ZXN1bHQ6IDQKY29uZmlndXJlOjI1OTEwOiBjaGVja2luZyBzaXplIG9mIHZvaWQgKgpjb25maWd1 cmU6MjYyMTU6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt V2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwv dXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MjYyMTk6ICQ/ ID0gMApjb25maWd1cmU6MjYyMjU6IC4vY29uZnRlc3QKY29uZmlndXJlOjI2MjI5OiAkPyA9IDAK Y29uZmlndXJlOjI2MjU1OiByZXN1bHQ6IDgKY29uZmlndXJlOjI2MjY5OiBjaGVja2luZyBzaXpl IG9mIGxvbmcgbG9uZwpjb25maWd1cmU6MjY1NzQ6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4m NQpjb25maWd1cmU6MjY1Nzg6ICQ/ID0gMApjb25maWd1cmU6MjY1ODQ6IC4vY29uZnRlc3QKY29u ZmlndXJlOjI2NTg4OiAkPyA9IDAKY29uZmlndXJlOjI2NjE0OiByZXN1bHQ6IDgKY29uZmlndXJl OjI2NjI4OiBjaGVja2luZyBzaXplIG9mIF9faW50NjQKY29uZmlndXJlOjI2OTMzOiBjYyAtbyBj b25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxp bnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ2xvbmd2YWwnOgpj b25mdGVzdC5jOjg0OiBlcnJvcjogJ19faW50NjQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjg0OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVu dGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpjb25mdGVzdC5jOjg0OiBlcnJvcjogZm9yIGVh Y2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICd1bG9u Z3ZhbCc6CmNvbmZ0ZXN0LmM6ODU6IGVycm9yOiAnX19pbnQ2NCcgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u ZnRlc3QuYzo5NTogZXJyb3I6ICdfX2ludDY0JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKY29uZmlndXJlOjI2OTM3OiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4 aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9 Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9S X1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElC X0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5l IE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEK fCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9H RVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMg MQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FM RV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dO VSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNk ZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBT SVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lO VCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcg OAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IHN0 YXRpYyBsb25nIGludCBsb25ndmFsICgpIHsgcmV0dXJuIChsb25nIGludCkgKHNpemVvZiAoX19p bnQ2NCkpOyB9Cnwgc3RhdGljIHVuc2lnbmVkIGxvbmcgaW50IHVsb25ndmFsICgpIHsgcmV0dXJu IChsb25nIGludCkgKHNpemVvZiAoX19pbnQ2NCkpOyB9CnwgI2luY2x1ZGUgPHN0ZGlvLmg+Cnwg I2luY2x1ZGUgPHN0ZGxpYi5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICBGSUxFICpmID0g Zm9wZW4gKCJjb25mdGVzdC52YWwiLCAidyIpOwp8ICAgaWYgKCEgZikKfCAgICAgcmV0dXJuIDE7 CnwgICBpZiAoKChsb25nIGludCkgKHNpemVvZiAoX19pbnQ2NCkpKSA8IDApCnwgICAgIHsKfCAg ICAgICBsb25nIGludCBpID0gbG9uZ3ZhbCAoKTsKfCAgICAgICBpZiAoaSAhPSAoKGxvbmcgaW50 KSAoc2l6ZW9mIChfX2ludDY0KSkpKQp8IAlyZXR1cm4gMTsKfCAgICAgICBmcHJpbnRmIChmLCAi JWxkIiwgaSk7CnwgICAgIH0KfCAgIGVsc2UKfCAgICAgewp8ICAgICAgIHVuc2lnbmVkIGxvbmcg aW50IGkgPSB1bG9uZ3ZhbCAoKTsKfCAgICAgICBpZiAoaSAhPSAoKGxvbmcgaW50KSAoc2l6ZW9m IChfX2ludDY0KSkpKQp8IAlyZXR1cm4gMTsKfCAgICAgICBmcHJpbnRmIChmLCAiJWx1IiwgaSk7 CnwgICAgIH0KfCAgIC8qIERvIG5vdCBvdXRwdXQgYSB0cmFpbGluZyBuZXdsaW5lLCBhcyB0aGlz IGNhdXNlcyBcclxuIGNvbmZ1c2lvbgp8ICAgICAgb24gc29tZSBwbGF0Zm9ybXMuICAqLwp8ICAg cmV0dXJuIGZlcnJvciAoZikgfHwgZmNsb3NlIChmKSAhPSAwOwp8IAp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6MjY5NzM6IHJlc3VsdDogMApjb25maWd1cmU6MjcwMDA6IGNoZWNr aW5nIGZvciBmb3JtYXQgdG8gcHJpbnRmIGFuZCBzY2FuZiBhIGd1aW50NjQKY29uZmlndXJlOjI3 MDMzOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9s b2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjU5OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBm dW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzo1OTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxp Y2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdleGl0Jwpjb25maWd1cmU6Mjcw Mzc6ICQ/ID0gMApjb25maWd1cmU6MjcwNDM6IC4vY29uZnRlc3QKY29uZmlndXJlOjI3MDQ3OiAk PyA9IDAKY29uZmlndXJlOjI3MDY2OiByZXN1bHQ6ICVsbHUKY29uZmlndXJlOjI3MTA0OiBjaGVj a2luZyBmb3IgYW4gQU5TSSBDLWNvbmZvcm1pbmcgY29uc3QKY29uZmlndXJlOjI3MTc5OiBjYyAt YyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo4Mjogd2FybmluZzogJ3QnIGlzIHVzZWQg dW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCmNvbmZ0ZXN0LmM6OTg6IHdhcm5pbmc6ICdi JyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgpjb25mdGVzdC5jOjEwNDog d2FybmluZzogJ2NzWzBdJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgpj b25maWd1cmU6MjcxODY6ICQ/ID0gMApjb25maWd1cmU6MjcyMDE6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyNzIxMzogY2hlY2tpbmcgaWYgbWFsbG9jKCkgYW5kIGZyaWVuZHMgcHJvdG90eXBlcyBh cmUgZ21lbS5oIGNvbXBhdGlibGUKY29uZmlndXJlOjI3MjQ4OiBjYyAtYyAtTzIgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLVdlcnJvciAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdf RElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI3MjU1OiAk PyA9IDAKY29uZmlndXJlOjI3Mjc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjcyNzk6IGNoZWNr aW5nIGZvciBncm93aW5nIHN0YWNrIHBvaW50ZXIKY29uZmlndXJlOjI3MzEzOiBjYyAtbyBjb25m dGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRs IGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjI3MzE3OiAkPyA9IDAKY29uZmlndXJlOjI3MzIz OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToyNzMyNzogJD8gPSAwCmNvbmZpZ3VyZToyNzM0NzogcmVz dWx0OiBubwpjb25maWd1cmU6MjczNTA6IGNoZWNraW5nIGZvciBfX2lubGluZQpjb25maWd1cmU6 MjczNjg6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjI3Mzc1OiAkPyA9IDAKY29uZmlndXJlOjI3MzkzOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6Mjc0MDI6IGNoZWNraW5nIGZvciBfX2lubGluZV9fCmNvbmZpZ3VyZToyNzQyMDogY2Mg LWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 Mjc0Mjc6ICQ/ID0gMApjb25maWd1cmU6Mjc0NDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNzQ1 NDogY2hlY2tpbmcgZm9yIGlubGluZQpjb25maWd1cmU6Mjc0NzM6IGNjIC1jIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI3NDgwOiAkPyA9IDAK Y29uZmlndXJlOjI3NDk4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc1MDk6IGNoZWNraW5nIGlm IGlubGluZSBmdW5jdGlvbnMgaW4gaGVhZGVycyB3b3JrCmNvbmZpZ3VyZToyNzU0MzogY2MgLW8g Y29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1s aW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u ZnRlc3QuYzoyMzogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICdpJwpjb25mdGVzdC5jOjI0OiB3 YXJuaW5nOiBjb250cm9sIHJlYWNoZXMgZW5kIG9mIG5vbi12b2lkIGZ1bmN0aW9uCmNvbmZpZ3Vy ZToyNzU1MDogJD8gPSAwCmNvbmZpZ3VyZToyNzU2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI3 NTcyOiBjaGVja2luZyBmb3Igd29ya2luZyBkbyB3aGlsZSgwKSBtYWNyb3MKY29uZmlndXJlOjI3 NjAzOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo2NTogd2FybmluZzogJ21h aW4nIGlzIG5vcm1hbGx5IGEgbm9uLXN0YXRpYyBmdW5jdGlvbgpjb25maWd1cmU6Mjc2MTA6ICQ/ ID0gMApjb25maWd1cmU6Mjc2MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNzYzNzogY2hlY2tp bmcgZm9yIElTTyBDOTkgdmFyYXJncyBtYWNyb3MgaW4gQwpjb25maWd1cmU6Mjc2NjQ6IGNjIC1j IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI3 NjcxOiAkPyA9IDAKY29uZmlndXJlOjI3Njg1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc2ODg6 IGNoZWNraW5nIGZvciBJU08gQzk5IHZhcmFyZ3MgbWFjcm9zIGluIEMrKwpjb25maWd1cmU6Mjc3 MjQ6IGMrKyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmln dXJlOjI3NzMxOiAkPyA9IDAKY29uZmlndXJlOjI3NzUyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 Mjc3NTU6IGNoZWNraW5nIGZvciBHTlVDIHZhcmFyZ3MgbWFjcm9zCmNvbmZpZ3VyZToyNzc4Mjog Y2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6Mjc3ODk6ICQ/ID0gMApjb25maWd1cmU6Mjc4MDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy NzgwNzogY2hlY2tpbmcgZm9yIEdOVUMgdmlzaWJpbGl0eSBhdHRyaWJ1dGUKY29uZmlndXJlOjI3 ODQ0OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZmln dXJlOjI3ODUwOiAkPyA9IDAKY29uZmlndXJlOjI3ODUzOiAoaWYgdGVzdCAtcyBjb25mdGVzdC5l cnI7IHRoZW4gZmFsc2UgOyBlbHNlIHRydWU7IGZpKQpjb25maWd1cmU6Mjc4NTY6ICQ/ID0gMApj b25maWd1cmU6Mjc4NjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNzg3NzogY2hlY2tpbmcgd2hl dGhlciB1c2luZyBTdW4gU3R1ZGlvIEMgY29tcGlsZXIKY29uZmlndXJlOjI3OTA0OiBjYyAtYyAt TzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NjA6 NDM6IGVycm9yOiBlcnJvcjogdGhpcyBpcyBub3QgU3VuIFN0dWRpby46IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkKY29uZmlndXJlOjI3OTExOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImds aWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVy X2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAj ZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9O IDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9B R0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhB VkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAx CnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNk ZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAj ZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmlu ZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBM VF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEK fCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBI QVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9D SEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4Cnwg I2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUg U0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAj ZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwg I2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaWYgZGVmaW5lZChfX1NVTlBST19DKSB8fCAoX19T VU5QUk9fQyA+PSAweDU1MCkKfCAjZWxzZQp8ICMgaW5jbHVkZSAiZXJyb3I6IHRoaXMgaXMgbm90 IFN1biBTdHVkaW8uIgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNzkyNTogcmVzdWx0OiBubwpjb25maWd1cmU6Mjc5 Mzg6IGNoZWNraW5nIHdoZXRoZXIgYnl0ZSBvcmRlcmluZyBpcyBiaWdlbmRpYW4KY29uZmlndXJl OjI3OTYzOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6NTk6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAn X19hdHRyaWJ1dGVfXycgYmVmb3JlICdhJwpjb25maWd1cmU6Mjc5NzA6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImds aWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5n bm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9S X1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElC X01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5l IEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0gg MQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERP TUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RD R0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FH RSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xv Y2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I IDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBI QVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElU IDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNk ZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJ WkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURf UCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0 IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExP Q19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9f X0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dI SUxFX01BQ1JPUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZm5kZWYgX19BUFBMRV9D Q19fCnwgCSAgICAgICBub3QgYSB1bml2ZXJzYWwgY2FwYWJsZSBjb21waWxlcgp8IAkgICAgICNl bmRpZgp8IAkgICAgIHR5cGVkZWYgaW50IGR1bW15Owp8IApjb25maWd1cmU6MjgwMjA6IGNjIC1j IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4 MDI3OiAkPyA9IDAKY29uZmlndXJlOjI4MDU5OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lO Q0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u ZnRlc3QuYzo2NTogZXJyb3I6ICdub3QnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQpjb25mdGVzdC5jOjY1OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVy IGlzIHJlcG9ydGVkIG9ubHkgb25jZQpjb25mdGVzdC5jOjY1OiBlcnJvcjogZm9yIGVhY2ggZnVu Y3Rpb24gaXQgYXBwZWFycyBpbi4pCmNvbmZ0ZXN0LmM6NjU6IGVycm9yOiBleHBlY3RlZCAnOycg YmVmb3JlICdiaWcnCmNvbmZpZ3VyZToyODA2NjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJn bGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRl cl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwg I2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lP TiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllf QUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBI QVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQg MQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAj ZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwg I2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZp bmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUg TFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAx CnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUg SEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0Zf Q0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8 ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5l IFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUg SEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwg I2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8 ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8IAkJI2lu Y2x1ZGUgPHN5cy9wYXJhbS5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmIEJZVEVfT1JE RVIgIT0gQklHX0VORElBTgp8IAkJIG5vdCBiaWcgZW5kaWFuCnwgCQkjZW5kaWYKfCAKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI4MzE4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToy ODQ2MzogY2hlY2tpbmcgZGlyZW50LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyODQ4MDogY2MgLWMg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mjg0 ODc6ICQ/ID0gMApjb25maWd1cmU6Mjg1MDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODUwNTog Y2hlY2tpbmcgZGlyZW50LmggcHJlc2VuY2UKY29uZmlndXJlOjI4NTIwOiBjYyAtRSAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25m aWd1cmU6Mjg1Mjc6ICQ/ID0gMApjb25maWd1cmU6Mjg1NDE6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyODU3NDogY2hlY2tpbmcgZm9yIGRpcmVudC5oCmNvbmZpZ3VyZToyODU4MzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjI4NDYzOiBjaGVja2luZyBmbG9hdC5oIHVzYWJpbGl0eQpjb25maWd1cmU6 Mjg0ODA6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjI4NDg3OiAkPyA9IDAKY29uZmlndXJlOjI4NTAxOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6Mjg1MDU6IGNoZWNraW5nIGZsb2F0LmggcHJlc2VuY2UKY29uZmlndXJlOjI4NTIwOiBj YyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29u ZnRlc3QuYwpjb25maWd1cmU6Mjg1Mjc6ICQ/ID0gMApjb25maWd1cmU6Mjg1NDE6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyODU3NDogY2hlY2tpbmcgZm9yIGZsb2F0LmgKY29uZmlndXJlOjI4NTgz OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg0NjM6IGNoZWNraW5nIGxpbWl0cy5oIHVzYWJpbGl0 eQpjb25maWd1cmU6Mjg0ODA6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt V2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4NDg3OiAkPyA9IDAKY29uZmlndXJlOjI4NTAxOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6Mjg1MDU6IGNoZWNraW5nIGxpbWl0cy5oIHByZXNlbmNlCmNvbmZp Z3VyZToyODUyMDogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjI4NTI3OiAkPyA9IDAKY29uZmlndXJlOjI4 NTQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg1NzQ6IGNoZWNraW5nIGZvciBsaW1pdHMuaApj b25maWd1cmU6Mjg1ODM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODQ2MzogY2hlY2tpbmcgcHdk LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyODQ4MDogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mjg0ODc6ICQ/ID0gMApjb25maWd1cmU6 Mjg1MDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODUwNTogY2hlY2tpbmcgcHdkLmggcHJlc2Vu Y2UKY29uZmlndXJlOjI4NTIwOiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25maWd1cmU6Mjg1Mjc6ICQ/ID0gMApjb25m aWd1cmU6Mjg1NDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODU3NDogY2hlY2tpbmcgZm9yIHB3 ZC5oCmNvbmZpZ3VyZToyODU4MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NDYzOiBjaGVja2lu ZyBncnAuaCB1c2FiaWxpdHkKY29uZmlndXJlOjI4NDgwOiBjYyAtYyAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lO R0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyODQ4NzogJD8gPSAwCmNvbmZp Z3VyZToyODUwMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NTA1OiBjaGVja2luZyBncnAuaCBw cmVzZW5jZQpjb25maWd1cmU6Mjg1MjA6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19E SVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZpZ3VyZToyODUyNzogJD8gPSAw CmNvbmZpZ3VyZToyODU0MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NTc0OiBjaGVja2luZyBm b3IgZ3JwLmgKY29uZmlndXJlOjI4NTgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg0NjM6IGNo ZWNraW5nIHN5cy9wYXJhbS5oIHVzYWJpbGl0eQpjb25maWd1cmU6Mjg0ODA6IGNjIC1jIC1PMiAt Zm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdf RElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4NDg3OiAk PyA9IDAKY29uZmlndXJlOjI4NTAxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg1MDU6IGNoZWNr aW5nIHN5cy9wYXJhbS5oIHByZXNlbmNlCmNvbmZpZ3VyZToyODUyMDogY2MgLUUgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZmln dXJlOjI4NTI3OiAkPyA9IDAKY29uZmlndXJlOjI4NTQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 Mjg1NzQ6IGNoZWNraW5nIGZvciBzeXMvcGFyYW0uaApjb25maWd1cmU6Mjg1ODM6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToyODQ2MzogY2hlY2tpbmcgc3lzL3BvbGwuaCB1c2FiaWxpdHkKY29uZmln dXJlOjI4NDgwOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZToyODQ4NzogJD8gPSAwCmNvbmZpZ3VyZToyODUwMTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjI4NTA1OiBjaGVja2luZyBzeXMvcG9sbC5oIHByZXNlbmNlCmNvbmZpZ3VyZToy ODUyMDogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xV REVTIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjI4NTI3OiAkPyA9IDAKY29uZmlndXJlOjI4NTQxOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg1NzQ6IGNoZWNraW5nIGZvciBzeXMvcG9sbC5oCmNvbmZp Z3VyZToyODU4MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NDYzOiBjaGVja2luZyBzeXMvcmVz b3VyY2UuaCB1c2FiaWxpdHkKY29uZmlndXJlOjI4NDgwOiBjYyAtYyAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lO R0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyODQ4NzogJD8gPSAwCmNvbmZp Z3VyZToyODUwMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NTA1OiBjaGVja2luZyBzeXMvcmVz b3VyY2UuaCBwcmVzZW5jZQpjb25maWd1cmU6Mjg1MjA6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZpZ3VyZToyODUy NzogJD8gPSAwCmNvbmZpZ3VyZToyODU0MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NTc0OiBj aGVja2luZyBmb3Igc3lzL3Jlc291cmNlLmgKY29uZmlndXJlOjI4NTgzOiByZXN1bHQ6IHllcwpj b25maWd1cmU6Mjg2MTg6IGNoZWNraW5nIHN5cy90aW1lLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToy ODYzNTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6Mjg2NDI6ICQ/ID0gMApjb25maWd1cmU6Mjg2NTY6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyODY2MDogY2hlY2tpbmcgc3lzL3RpbWUuaCBwcmVzZW5jZQpjb25maWd1cmU6Mjg2NzU6 IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBj b25mdGVzdC5jCmNvbmZpZ3VyZToyODY4MjogJD8gPSAwCmNvbmZpZ3VyZToyODY5NjogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjI4NzI5OiBjaGVja2luZyBmb3Igc3lzL3RpbWUuaApjb25maWd1cmU6 Mjg3Mzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODYxODogY2hlY2tpbmcgc3lzL3RpbWVzLmgg dXNhYmlsaXR5CmNvbmZpZ3VyZToyODYzNTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNM VURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mjg2NDI6ICQ/ID0gMApjb25maWd1cmU6Mjg2 NTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODY2MDogY2hlY2tpbmcgc3lzL3RpbWVzLmggcHJl c2VuY2UKY29uZmlndXJlOjI4Njc1OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElT QUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25maWd1cmU6Mjg2ODI6ICQ/ID0gMApj b25maWd1cmU6Mjg2OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODcyOTogY2hlY2tpbmcgZm9y IHN5cy90aW1lcy5oCmNvbmZpZ3VyZToyODczODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NjE4 OiBjaGVja2luZyBzeXMvd2FpdC5oIHVzYWJpbGl0eQpjb25maWd1cmU6Mjg2MzU6IGNjIC1jIC1P MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAt REdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI4NjQy OiAkPyA9IDAKY29uZmlndXJlOjI4NjU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg2NjA6IGNo ZWNraW5nIHN5cy93YWl0LmggcHJlc2VuY2UKY29uZmlndXJlOjI4Njc1OiBjYyAtRSAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25m aWd1cmU6Mjg2ODI6ICQ/ID0gMApjb25maWd1cmU6Mjg2OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyODcyOTogY2hlY2tpbmcgZm9yIHN5cy93YWl0LmgKY29uZmlndXJlOjI4NzM4OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6Mjg2MDc6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6Mjg2 MTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODYxODogY2hlY2tpbmcgdmFsdWVzLmggdXNhYmls aXR5CmNvbmZpZ3VyZToyODYzNTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl IC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBj b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjEwMzoyMDogZXJyb3I6IHZhbHVlcy5oOiBObyBzdWNo IGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToyODY0MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIw LjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9y Zy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lP TiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9f VkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9C SU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2Rl ZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NP REVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhU IDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGli MjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8 ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNk ZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVf TU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFM TE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNk ZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBT SVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xP TkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAj ZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RP UyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5F X18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFD Uk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEK fCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNf SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NU QVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFE RVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl CnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRp Zgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hF QURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+Cnwg IyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5U VFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDx2YWx1ZXMu aD4KY29uZmlndXJlOjI4NjU2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODY2MDogY2hlY2tpbmcg dmFsdWVzLmggcHJlc2VuY2UKY29uZmlndXJlOjI4Njc1OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5j bHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25mdGVzdC5jOjcw OjIwOiBlcnJvcjogdmFsdWVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJl OjI4NjgyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGli Igp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVS U0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5U RVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVF RF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNk ZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRF WFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwg I2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJ UiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEK fCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf TUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmlu ZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVP Rl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQK fCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4Cnwg I2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQg MQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElO RSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5F IDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx2YWx1 ZXMuaD4KY29uZmlndXJlOjI4Njk2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODcyOTogY2hlY2tp bmcgZm9yIHZhbHVlcy5oCmNvbmZpZ3VyZToyODczODogcmVzdWx0OiBubwpjb25maWd1cmU6Mjg3 NzM6IGNoZWNraW5nIHN5cy9zZWxlY3QuaCB1c2FiaWxpdHkKY29uZmlndXJlOjI4NzkwOiBjYyAt YyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToy ODc5NzogJD8gPSAwCmNvbmZpZ3VyZToyODgxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4ODE1 OiBjaGVja2luZyBzeXMvc2VsZWN0LmggcHJlc2VuY2UKY29uZmlndXJlOjI4ODMwOiBjYyAtRSAt SS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3Qu Ywpjb25maWd1cmU6Mjg4Mzc6ICQ/ID0gMApjb25maWd1cmU6Mjg4NTE6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyODg4NDogY2hlY2tpbmcgZm9yIHN5cy9zZWxlY3QuaApjb25maWd1cmU6Mjg4OTM6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODc2MjogY2hlY2tpbmcgZm9yIHN5cy90eXBlcy5oCmNv bmZpZ3VyZToyODc2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NzYyOiBjaGVja2luZyBmb3Ig c3RkaW50LmgKY29uZmlndXJlOjI4NzY5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjg3NzM6IGNo ZWNraW5nIHNjaGVkLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyODc5MDogY2MgLWMgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNB QkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mjg3OTc6ICQ/ID0g MApjb25maWd1cmU6Mjg4MTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODgxNTogY2hlY2tpbmcg c2NoZWQuaCBwcmVzZW5jZQpjb25maWd1cmU6Mjg4MzA6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZpZ3VyZToyODgz NzogJD8gPSAwCmNvbmZpZ3VyZToyODg1MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4ODg0OiBj aGVja2luZyBmb3Igc2NoZWQuaApjb25maWd1cmU6Mjg4OTM6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyODc3MzogY2hlY2tpbmcgbWFsbG9jLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyODc5MDogY2Mg LWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gY29uZnRlc3QuYzoxMDc6Ci91c3IvaW5jbHVkZS9tYWxsb2MuaDozOjI6IGVy cm9yOiAjZXJyb3IgIjxtYWxsb2MuaD4gaGFzIGJlZW4gcmVwbGFjZWQgYnkgPHN0ZGxpYi5oPiIK Y29uZmlndXJlOjI4Nzk3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAu NSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJv ZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJf TUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5l IEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNk ZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FH RVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBI QVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxF X05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJf TE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNP TlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5s aWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhB VkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAx CnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVm aW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpF T0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdf TE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFW RV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hB VkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1J VFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBl cy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9z dGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJf SAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9N RU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0 cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3Ry aW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGlu dHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0 ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlz dGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8bWFsbG9jLmg+CmNvbmZpZ3VyZToyODgxMTogcmVz dWx0OiBubwpjb25maWd1cmU6Mjg4MTU6IGNoZWNraW5nIG1hbGxvYy5oIHByZXNlbmNlCmNvbmZp Z3VyZToyODgzMDogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIGNvbmZ0ZXN0LmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6NzQ6 Ci91c3IvaW5jbHVkZS9tYWxsb2MuaDozOjI6IGVycm9yOiAjZXJyb3IgIjxtYWxsb2MuaD4gaGFz IGJlZW4gcmVwbGFjZWQgYnkgPHN0ZGxpYi5oPiIKY29uZmlndXJlOjI4ODM3OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemls bGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9N QUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUg R0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2Rl ZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FM RV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RF WFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFW RV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BB Q0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFy ZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExG Q05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNk ZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZp bmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FU RVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEK fCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmlu ZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9W T0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19J TlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9N QUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hB VkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVf RE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1hbGxvYy5oPgpjb25maWd1cmU6Mjg4NTE6 IHJlc3VsdDogbm8KY29uZmlndXJlOjI4ODg0OiBjaGVja2luZyBmb3IgbWFsbG9jLmgKY29uZmln dXJlOjI4ODkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODkyODogY2hlY2tpbmcgc3lzL3Zmcy5o IHVzYWJpbGl0eQpjb25maWd1cmU6Mjg5NDU6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5D TFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoxMDc6MjE6IGVycm9yOiBzeXMvdmZzLmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI4OTUyOiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJn bGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEu Z25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpP Ul9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJ Ql9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmlu ZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9I IDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRE T01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9E Q0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tB R0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9s b2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05f SCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUg SEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJ VCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAj ZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBT SVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lE X1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2 NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxM T0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVf X19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9X SElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZM T0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZ UEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZ U19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENf SEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAj ZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg ZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1RE Q19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5o Pgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lz L3Zmcy5oPgpjb25maWd1cmU6Mjg5NjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjI4OTcwOiBjaGVj a2luZyBzeXMvdmZzLmggcHJlc2VuY2UKY29uZmlndXJlOjI4OTg1OiBjYyAtRSAtSS91c3IvbG9j YWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYwpjb25mdGVz dC5jOjc0OjIxOiBlcnJvcjogc3lzL3Zmcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNv bmZpZ3VyZToyODk5MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1 Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01J Tk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBH TElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVm aW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VT IDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFW RV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9O TFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xP Q0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05W X0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGli cy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZF X1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8 ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmlu ZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9G X0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xP TkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdf Rk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVf X19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZF X0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfU0NIRURfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz eXMvdmZzLmg+CmNvbmZpZ3VyZToyOTAwNjogcmVzdWx0OiBubwpjb25maWd1cmU6MjkwMzk6IGNo ZWNraW5nIGZvciBzeXMvdmZzLmgKY29uZmlndXJlOjI5MDQ4OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToyODkyODogY2hlY2tpbmcgc3lzL21vdW50LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyODk0NTog Y2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6Mjg5NTI6ICQ/ID0gMApjb25maWd1cmU6Mjg5NjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy ODk3MDogY2hlY2tpbmcgc3lzL21vdW50LmggcHJlc2VuY2UKY29uZmlndXJlOjI4OTg1OiBjYyAt RSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRl c3QuYwpjb25maWd1cmU6Mjg5OTI6ICQ/ID0gMApjb25maWd1cmU6MjkwMDY6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyOTAzOTogY2hlY2tpbmcgZm9yIHN5cy9tb3VudC5oCmNvbmZpZ3VyZToyOTA0 ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4OTI4OiBjaGVja2luZyBzeXMvdm1vdW50LmggdXNh YmlsaXR5CmNvbmZpZ3VyZToyODk0NTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1w aXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURF UyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjEwODoyNDogZXJyb3I6IHN5cy92bW91bnQuaDog Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6Mjg5NTI6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImds aWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5n bm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9S X1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElC X01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5l IEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0gg MQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERP TUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RD R0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FH RSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xv Y2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I IDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBI QVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElU IDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNk ZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJ WkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURf UCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0 IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExP Q19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9f X0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dI SUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxP QVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfTU9VTlRfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz dGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3Rh dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gK fCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVN T1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJp bmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmlu Z3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRp bnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3Rk Lmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHN5cy92bW91bnQuaD4KY29uZmlndXJlOjI4OTY2OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODk3MDogY2hlY2tpbmcgc3lzL3Ztb3VudC5oIHByZXNlbmNl CmNvbmZpZ3VyZToyODk4NTogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVf U0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo3NToyNDogZXJyb3I6IHN5cy92 bW91bnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6Mjg5OTI6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xp YiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9i dWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBH TElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2Rl ZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUK fCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hF IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf TE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJ TkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmlu ZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRF WFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2Fs L3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFW RV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAx CnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwg I2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1F X1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAj ZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0la RU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVP Rl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBT QU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5l IEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUg SEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzeXMvdm1vdW50Lmg+CmNvbmZpZ3VyZToyOTAwNjogcmVzdWx0OiBubwpjb25maWd1 cmU6MjkwMzk6IGNoZWNraW5nIGZvciBzeXMvdm1vdW50LmgKY29uZmlndXJlOjI5MDQ4OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToyODkyODogY2hlY2tpbmcgc3lzL3N0YXRmcy5oIHVzYWJpbGl0eQpj b25maWd1cmU6Mjg5NDU6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2Fs bCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzoxMDg6MjQ6IGVycm9yOiBzeXMvc3RhdGZzLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI4OTUyOiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAu NSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3Jn L2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9O IDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19W RVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJ TkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVm aW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQg MQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIy MCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwg I2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2Rl ZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2Rl ZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJ WkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9O RyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNk ZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9T IDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVf XyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNS T1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X01PVU5UX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4K fCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGlu Y2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19I CnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwg IyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4K fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNl bmRpZgp8ICNpbmNsdWRlIDxzeXMvc3RhdGZzLmg+CmNvbmZpZ3VyZToyODk2NjogcmVzdWx0OiBu bwpjb25maWd1cmU6Mjg5NzA6IGNoZWNraW5nIHN5cy9zdGF0ZnMuaCBwcmVzZW5jZQpjb25maWd1 cmU6Mjg5ODU6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NzU6MjQ6IGVycm9yOiBzeXMvc3RhdGZzLmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI4OTkyOiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJn bGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEu Z25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpP Ul9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJ Ql9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmlu ZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9I IDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRE T01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9E Q0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tB R0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9s b2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05f SCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUg SEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJ VCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAj ZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBT SVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lE X1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2 NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxM T0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVf X19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9X SElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZM T0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX01PVU5UX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3lzL3N0YXRmcy5oPgpjb25maWd1cmU6MjkwMDY6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5MDM5 OiBjaGVja2luZyBmb3Igc3lzL3N0YXRmcy5oCmNvbmZpZ3VyZToyOTA0ODogcmVzdWx0OiBubwpj b25maWd1cmU6Mjg5Mjg6IGNoZWNraW5nIHN5cy9zdGF0dmZzLmggdXNhYmlsaXR5CmNvbmZpZ3Vy ZToyODk0NTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6Mjg5NTI6ICQ/ID0gMApjb25maWd1cmU6Mjg5NjY6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyODk3MDogY2hlY2tpbmcgc3lzL3N0YXR2ZnMuaCBwcmVzZW5jZQpjb25maWd1cmU6 Mjg5ODU6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNM VURFUyBjb25mdGVzdC5jCmNvbmZpZ3VyZToyODk5MjogJD8gPSAwCmNvbmZpZ3VyZToyOTAwNjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjI5MDM5OiBjaGVja2luZyBmb3Igc3lzL3N0YXR2ZnMuaApj b25maWd1cmU6MjkwNDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyOTA4NDogY2hlY2tpbmcgbW50 ZW50LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyOTEwMTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjEwOToyMDogZXJyb3I6IG1udGVu dC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToyOTEwODogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3pp bGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJf TUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5l IEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNk ZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NB TEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9U RVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhB VkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9Q QUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hh cmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RM RkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9B VEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAx CnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZp bmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0Zf Vk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19f SU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVf TUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZF X0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZF X1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVm Lmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZp bmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxt ZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1 ZGUgPG1udGVudC5oPgpjb25maWd1cmU6MjkxMjI6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5MTI2 OiBjaGVja2luZyBtbnRlbnQuaCBwcmVzZW5jZQpjb25maWd1cmU6MjkxNDE6IGNjIC1FIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNv bmZ0ZXN0LmM6NzY6MjA6IGVycm9yOiBtbnRlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQpjb25maWd1cmU6MjkxNDg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4y MC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9w cm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJ Ql9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZp bmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1Cnwg I2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNT QUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFC TEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJ Ql9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJ Q09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAi LmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdN IDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNk ZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJ WkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9O R19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdf SEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJ TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8bW50ZW50Lmg+CmNvbmZpZ3VyZToyOTE2MjogcmVzdWx0OiBubwpjb25maWd1cmU6Mjkx OTU6IGNoZWNraW5nIGZvciBtbnRlbnQuaApjb25maWd1cmU6MjkyMDQ6IHJlc3VsdDogbm8KY29u ZmlndXJlOjI5MDg0OiBjaGVja2luZyBzeXMvbW50dGFiLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToy OTEwMTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOjEwOToyNDogZXJyb3I6IHN5cy9tbnR0YWIuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQpjb25maWd1cmU6MjkxMDg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVn LmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZp bmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8 ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAy MDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9M Q19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmlu ZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZp bmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVT RV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09C SkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVf VElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIg MQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVm aW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpF T0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZp bmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVm aW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVk ZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5j bHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNs dWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBI QVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVm aW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMg aW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBp bmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMg aW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMg aW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGlu Y2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvbW50dGFiLmg+CmNvbmZp Z3VyZToyOTEyMjogcmVzdWx0OiBubwpjb25maWd1cmU6MjkxMjY6IGNoZWNraW5nIHN5cy9tbnR0 YWIuaCBwcmVzZW5jZQpjb25maWd1cmU6MjkxNDE6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NzY6MjQ6 IGVycm9yOiBzeXMvbW50dGFiLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJl OjI5MTQ4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGli Igp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVS U0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5U RVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVF RF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNk ZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRF WFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwg I2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJ UiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEK fCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf TUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmlu ZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVP Rl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQK fCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4Cnwg I2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQg MQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElO RSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5F IDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVFZGU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy9t bnR0YWIuaD4KY29uZmlndXJlOjI5MTYyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTE5NTogY2hl Y2tpbmcgZm9yIHN5cy9tbnR0YWIuaApjb25maWd1cmU6MjkyMDQ6IHJlc3VsdDogbm8KY29uZmln dXJlOjI5MDg0OiBjaGVja2luZyBzeXMvdmZzdGFiLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyOTEw MTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25m dGVzdC5jOjEwOToyNDogZXJyb3I6IHN5cy92ZnN0YWIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQpjb25maWd1cmU6MjkxMDg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi Mi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNn aT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUg R0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNk ZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1 CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19N RVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBF TkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUg R0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9M SUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJ UiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5U RiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZp bmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElN RUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8 ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5l IFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0Zf TE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9O R19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUg R19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5l IEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmlu ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZF X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZF X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5j bHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5j bHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvdmZzdGFiLmg+CmNvbmZpZ3Vy ZToyOTEyMjogcmVzdWx0OiBubwpjb25maWd1cmU6MjkxMjY6IGNoZWNraW5nIHN5cy92ZnN0YWIu aCBwcmVzZW5jZQpjb25maWd1cmU6MjkxNDE6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1E R19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NzY6MjQ6IGVy cm9yOiBzeXMvdmZzdGFiLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI5 MTQ4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8 ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lP TiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJG QUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9J Q09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZp bmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQg MQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2Rl ZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAi L3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAj ZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVN QUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwg I2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBI QVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9T SE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAj ZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2Rl ZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8 ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAx CnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEK fCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T Q0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVFZGU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy92ZnN0 YWIuaD4KY29uZmlndXJlOjI5MTYyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTE5NTogY2hlY2tp bmcgZm9yIHN5cy92ZnN0YWIuaApjb25maWd1cmU6MjkyMDQ6IHJlc3VsdDogbm8KY29uZmlndXJl OjI5MDg0OiBjaGVja2luZyBzeXMvbW50Y3RsLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyOTEwMTog Y2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjEwOToyNDogZXJyb3I6IHN5cy9tbnRjdGwuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQpjb25maWd1cmU6MjkxMDg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4y MC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9w cm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJ Ql9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZp bmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1Cnwg I2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNT QUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFC TEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJ Ql9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJ Q09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAi LmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdN IDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNk ZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJ WkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9O R19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdf SEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJ TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8 c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NU RExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBI QVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVk ZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRl IDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVk ZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVk ZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUg PHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvbW50Y3RsLmg+CmNvbmZpZ3VyZToy OTEyMjogcmVzdWx0OiBubwpjb25maWd1cmU6MjkxMjY6IGNoZWNraW5nIHN5cy9tbnRjdGwuaCBw cmVzZW5jZQpjb25maWd1cmU6MjkxNDE6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19E SVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6NzY6MjQ6IGVycm9y OiBzeXMvbW50Y3RsLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI5MTQ4 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJo dHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNk ZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAy MAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNF X0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09O Vl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUg SEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8 ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmlu ZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vz ci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVm aW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJ R04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZF X0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9S VCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVm aW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmlu ZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNk ZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwg I2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAj ZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hF RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VFZGU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy9tbnRjdGwu aD4KY29uZmlndXJlOjI5MTYyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTE5NTogY2hlY2tpbmcg Zm9yIHN5cy9tbnRjdGwuaApjb25maWd1cmU6MjkyMDQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5 MDg0OiBjaGVja2luZyBzeXMvc3lzY3RsLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyOTEwMTogY2Mg LWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6 MjkxMDg6ICQ/ID0gMApjb25maWd1cmU6MjkxMjI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyOTEy NjogY2hlY2tpbmcgc3lzL3N5c2N0bC5oIHByZXNlbmNlCmNvbmZpZ3VyZToyOTE0MTogY2MgLUUg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0 LmMKY29uZmlndXJlOjI5MTQ4OiAkPyA9IDAKY29uZmlndXJlOjI5MTYyOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjkxOTU6IGNoZWNraW5nIGZvciBzeXMvc3lzY3RsLmgKY29uZmlndXJlOjI5MjA0 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjkwODQ6IGNoZWNraW5nIGZzdGFiLmggdXNhYmlsaXR5 CmNvbmZpZ3VyZToyOTEwMTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1X YWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6MjkxMDg6ICQ/ID0gMApjb25maWd1cmU6MjkxMjI6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToyOTEyNjogY2hlY2tpbmcgZnN0YWIuaCBwcmVzZW5jZQpjb25maWd1 cmU6MjkxNDE6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyBjb25mdGVzdC5jCmNvbmZpZ3VyZToyOTE0ODogJD8gPSAwCmNvbmZpZ3VyZToyOTE2 MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI5MTk1OiBjaGVja2luZyBmb3IgZnN0YWIuaApjb25m aWd1cmU6MjkyMDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyOTIyMTogY2hlY2tpbmcgZm9yIHN0 cnVjdCBzdGF0LnN0X210aW1lbnNlYwpjb25maWd1cmU6MjkyNDk6IGNjIC1jIC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjExNTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1lbWJl ciBuYW1lZCAnc3RfbXRpbWVuc2VjJwpjb25maWd1cmU6MjkyNTY6ICQ/ID0gMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIg Mi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9t ZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZF UlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01J Q1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdM SUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8 ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJ Tl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VU VEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAi Z2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2Fs ZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEK fCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBI QVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZF X1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEK fCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZp bmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVP Rl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4 CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19Q Uk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lO TElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxF X01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRf SCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVT X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19T VEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVB REVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxz ZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5k aWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19I RUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8 ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lO VFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VO SVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwg ewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X210aW1lbnNl YykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI5Mjg5OiBj YyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTU6IGVycm9yOiAnc3RydWN0IHN0 YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X210aW1lbnNlYycKY29uZmlndXJlOjI5Mjk2OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRw Oi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZp bmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8 ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FH RSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9D QUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFW RV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNk ZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBH RVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9s b2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5l IEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04g MQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dN VElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAy CnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5l IFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBT SVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZp bmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2Rl ZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVm aW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZG U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJf SCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRl ZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8 c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlm ICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNs dWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwg aW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6 ZW9mIGFjX2FnZ3Iuc3RfbXRpbWVuc2VjKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MjkzMTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5MzI0OiBjaGVja2lu ZyBmb3Igc3RydWN0IHN0YXQuc3RfbXRpbS50dl9uc2VjCmNvbmZpZ3VyZToyOTM1MjogY2MgLWMg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTE1OiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBo YXMgbm8gbWVtYmVyIG5hbWVkICdzdF9tdGltJwpjb25maWd1cmU6MjkzNTk6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxs YS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01B Sk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBH TElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVm aW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxF X0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVY VERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZF X0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFD S0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJl L2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZD Tl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmlu ZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRF WElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8 ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5l IFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZP SURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lO VDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01B TExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFW RV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9E T1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf RkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lT X1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNU RENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4K fCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8 ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQg U1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9y eS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X210 aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjI5MzkyOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTU6IGVycm9yOiAn c3RydWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X210aW0nCmNvbmZpZ3VyZToyOTM5 OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgu ICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi aHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAj ZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04g MjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFD RV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNP TlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5l IEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEK fCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZp bmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91 c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2Rl ZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFM SUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFW RV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hP UlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2Rl ZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZp bmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAj ZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8 ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwg I2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU0NI RURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZT VEFCX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAj aWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5k aWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1 ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwg IyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAg aW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRp Zgp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYg KHNpemVvZiBhY19hZ2dyLnN0X210aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjI5NDE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTQyNzog Y2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2F0aW1lbnNlYwpjb25maWd1cmU6Mjk0NTU6IGNj IC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5j bHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu YzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjExNTogZXJyb3I6ICdzdHJ1Y3Qgc3Rh dCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYXRpbWVuc2VjJwpjb25maWd1cmU6Mjk0NjI6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi Z2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6 Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmlu ZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwg I2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdF IDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NB Q0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZF X0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2Rl ZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdF VFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xv Y2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAx CnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5l IEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01U SU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIK fCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUg U0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJ WkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmlu ZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVm aW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZp bmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9I IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVm IEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxz dGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1 ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBp bnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19h Z2dyLnN0X2F0aW1lbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjI5NDk1OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTU6IGVy cm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW1lbnNlYycKY29u ZmlndXJlOjI5NTAyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVj dD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlO T1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdM SUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZp bmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMg MQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05M UyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9D QUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZf R05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJz LyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVf UE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9G U1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwg I2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5l IFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0Zf SU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9O RyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19G T1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9f X0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVf SU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVm aW5lIEhBVkVfRlNUQUJfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz dGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3Rh dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gK fCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVN T1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJp bmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmlu Z3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRp bnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3Rk Lmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNf YWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbWVuc2VjKQp8IHJldHVybiAwOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6Mjk1MjA6IHJlc3VsdDogbm8KY29uZmlndXJl OjI5NTMwOiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQuc3RfYXRpbS50dl9uc2VjCmNvbmZpZ3Vy ZToyOTU1ODogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTE1OiBlcnJvcjog J3N0cnVjdCBzdGF0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9hdGltJwpjb25maWd1cmU6Mjk1 NjU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o LiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwg I2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9O IDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZB Q0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lD T05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmlu ZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAx CnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVm aW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIv dXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNk ZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1B TElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhB VkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NI T1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNk ZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVm aW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwg I2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEK fCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8 ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1ND SEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9G U1RBQl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+Cnwg I2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNs dWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1 ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8 ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMg IGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5k aWYKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlm IChhY19hZ2dyLnN0X2F0aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjI5NjA0OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBp cGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVT IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3Qu YzoxMjE6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW0n CmNvbmZpZ3VyZToyOTYxMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIw LjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3By b2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElC X01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmlu ZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAj ZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NB R0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJM RV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElC X0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklD T05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIu bGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBI QVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhB VkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00g MQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2Rl ZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0la RU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05H X0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hB VkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19I QVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhB VkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElN SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwg I2RlZmluZSBIQVZFX0ZTVEFCX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lz L3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJ Ql9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZF X01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8 c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxz dHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8 c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVu aXN0ZC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19QQVJBTV9ICnwgI2luY2x1ZGUgPHN5 cy9wYXJhbS5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19NT1VOVF9ICnwgI2luY2x1ZGUg PHN5cy9tb3VudC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVj dCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2F0aW0udHZfbnNlYykKfCBy ZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI5NjI5OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToyOTYzOTogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2N0aW1lbnNl Ywpjb25maWd1cmU6Mjk2Njc6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt V2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEx NTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfY3RpbWVuc2Vj Jwpjb25maWd1cmU6Mjk2NzQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4y MC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9w cm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJ Ql9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZp bmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1Cnwg I2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNT QUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFC TEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJ Ql9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJ Q09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAi LmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdN IDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNk ZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJ WkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9O R19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19M T05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdf SEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJ TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8 ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5 cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERM SUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFW RV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUg PHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8 c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUg PGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUg PHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1 bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3Rh dCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2N0aW1lbnNlYykKfCByZXR1cm4gMDsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI5NzA3OiBjYyAtYyAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lO R0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWlu JzoKY29uZnRlc3QuYzoxMTU6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFt ZWQgJ3N0X2N0aW1lbnNlYycKY29uZmlndXJlOjI5NzE0OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAu NSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3Jn L2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9O IDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19W RVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJ TkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVm aW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQg MQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIy MCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwg I2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2Rl ZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2Rl ZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJ WkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9O RyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNk ZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9T IDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVf XyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNS T1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9I CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMK fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj IGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVS UyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVu ZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdT X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBF U19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElO VF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERf SAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBz dGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfY3RpbWVu c2VjKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6Mjk3MzI6 IHJlc3VsdDogbm8KY29uZmlndXJlOjI5NzQyOiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQuc3Rf Y3RpbS50dl9uc2VjCmNvbmZpZ3VyZToyOTc3MDogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNv bmZ0ZXN0LmM6MTE1OiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdz dF9jdGltJwpjb25maWd1cmU6Mjk3Nzc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVn LmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZp bmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8 ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAy MDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9M Q19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmlu ZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZp bmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVT RV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09C SkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVf VElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIg MQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVm aW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpF T0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVf TE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZp bmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVm aW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVD VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RM X0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1 ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFW RV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmlu ZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGlu Y2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5j bHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGlu Y2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGlu Y2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNs dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1 Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2N0aW0udHZfbnNlYykKfCByZXR1cm4g MDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI5ODEwOiBjYyAtYyAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0 aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTU6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBt ZW1iZXIgbmFtZWQgJ3N0X2N0aW0nCmNvbmZpZ3VyZToyOTgxNzogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAy LjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21l Lm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVS U0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlD Uk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJ Ql9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwg I2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlO X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRU RVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJn bGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxl Igp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8 ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhB VkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVf VkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8 ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmlu ZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9G X0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgK fCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BS T1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5M SU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVf TUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9I IDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl ZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFCX0ggMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNf SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NU QVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFE RVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl CnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRp Zgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hF QURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+Cnwg IyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5U VFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7 Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2N0 aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjI5ODM1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTg0NjogY2hlY2tpbmcgZm9yIHN0cnVjdCBz dGF0LnN0X2Jsa3NpemUKY29uZmlndXJlOjI5ODg2OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyOTg5MzogJD8gPSAwCmNvbmZpZ3Vy ZToyOTk2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI5OTczOiBjaGVja2luZyBmb3Igc3RydWN0 IHN0YXQuc3RfYmxvY2tzCmNvbmZpZ3VyZTozMDAxMzogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzAwMjA6ICQ/ID0gMApjb25maWd1 cmU6MzAwOTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDEwMDogY2hlY2tpbmcgZm9yIHN0cnVj dCBzdGF0ZnMuZl9mc3R5cGVuYW1lCmNvbmZpZ3VyZTozMDE0MDogY2MgLWMgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxF X1NJTkdMRV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzAxNDc6ICQ/ID0gMApj b25maWd1cmU6MzAyMTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDIyNzogY2hlY2tpbmcgZm9y IHN0cnVjdCBzdGF0ZnMuZl9iYXZhaWwKY29uZmlndXJlOjMwMjY3OiBjYyAtYyAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FC TEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMDI3NDogJD8gPSAw CmNvbmZpZ3VyZTozMDM0NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMwMzU2OiBjaGVja2luZyBm b3Igc3RydWN0IHN0YXR2ZnMuZl9iYXNldHlwZQpjb25maWd1cmU6MzAzODU6IGNjIC1jIC1PMiAt Zm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdf RElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjg4OiBlcnJvcjogJ3N0cnVjdCBzdGF0dmZzJyBoYXMg bm8gbWVtYmVyIG5hbWVkICdmX2Jhc2V0eXBlJwpjb25maWd1cmU6MzAzOTI6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg ImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxs YS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01B Sk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBH TElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVm aW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxF X0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVY VERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZF X0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFD S0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJl L2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZD Tl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmlu ZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRF WElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8 ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5l IFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZP SURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lO VDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01B TExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFW RV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9E T1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf RkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T VEFUX1NUX0JMT0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9GU1RZUEVOQU1F IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJTCAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvc3RhdHZmcy5oPgp8IAp8IGludAp8IG1haW4gKCkK fCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0dmZzIGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IuZl9iYXNl dHlwZSkKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMwNDI2 OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo4ODogZXJyb3I6ICdzdHJ1Y3Qg c3RhdHZmcycgaGFzIG5vIG1lbWJlciBuYW1lZCAnZl9iYXNldHlwZScKY29uZmlndXJlOjMwNDMz OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJo dHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNk ZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAy MAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNF X0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09O Vl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUg SEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8 ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmlu ZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vz ci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVm aW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJ R04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZF X0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9S VCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVm aW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmlu ZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNk ZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwg I2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAj ZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hF RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNU QUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZT X0ZfRlNUWVBFTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3N0YXR2ZnMuaD4KfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdHZmcyBhY19hZ2dyOwp8IGlmIChz aXplb2YgYWNfYWdnci5mX2Jhc2V0eXBlKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MzA0NTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjMwNDY1OiBjaGVja2lu ZyBmb3IgbmxfbGFuZ2luZm8gYW5kIENPREVTRVQKY29uZmlndXJlOjMwNDkxOiBjYyAtbyBjb25m dGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRs IGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVz dC5jOjg2OiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ2NzJwpjb25maWd1cmU6MzA0OTg6ICQ/ ID0gMApjb25maWd1cmU6MzA1MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDUzMDogY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIExpYnJhcnkgMi4xIG9yIG5ld2VyCmNv bmZpZ3VyZTozMDU2MTogcmVzdWx0OiBubwpjb25maWd1cmU6MzA1ODU6IGNoZWNraW5nIHN0ZGRl Zi5oIHVzYWJpbGl0eQpjb25maWd1cmU6MzA2MDI6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlh c2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVf SU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMwNjA5OiAkPyA9IDAKY29uZmlndXJl OjMwNjIzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzA2Mjc6IGNoZWNraW5nIHN0ZGRlZi5oIHBy ZXNlbmNlCmNvbmZpZ3VyZTozMDY0MjogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjMwNjQ5OiAkPyA9IDAK Y29uZmlndXJlOjMwNjYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzA2OTY6IGNoZWNraW5nIGZv ciBzdGRkZWYuaApjb25maWd1cmU6MzA3MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDU3NDog Y2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3VyZTozMDU4MTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjMwNTc0OiBjaGVja2luZyBmb3Igc3RyaW5nLmgKY29uZmlndXJlOjMwNTgxOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MzA3MjQ6IGNoZWNraW5nIGZvciBzZXRsb2NhbGUKY29uZmlndXJlOjMw NzgwOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9s b2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMwNzg3OiAkPyA9IDAK Y29uZmlndXJlOjMwODA5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzA4Mjc6IGNoZWNraW5nIHNp emUgb2Ygc2l6ZV90CmNvbmZpZ3VyZTozMTEzMjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxF X1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1 CmNvbmZpZ3VyZTozMTEzNjogJD8gPSAwCmNvbmZpZ3VyZTozMTE0MjogLi9jb25mdGVzdApjb25m aWd1cmU6MzExNDY6ICQ/ID0gMApjb25maWd1cmU6MzExNzI6IHJlc3VsdDogOApjb25maWd1cmU6 MzExODM6IGNoZWNraW5nIGZvciB0aGUgYXBwcm9wcmlhdGUgZGVmaW5pdGlvbiBmb3Igc2l6ZV90 CmNvbmZpZ3VyZTozMTI4ODogcmVzdWx0OiB1bnNpZ25lZCBsb25nCmNvbmZpZ3VyZTozMTMxMjog Y2hlY2tpbmcgZm9yIGxzdGF0CmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19E SVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5j ICAgPiY1CmNvbmZpZ3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjMxMzEyOiBjaGVja2luZyBmb3Igc3RyZXJyb3IKY29uZmlndXJlOjMxMzY4 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMxMzc1OiAkPyA9IDAKY29u ZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEzMTI6IGNoZWNraW5nIGZvciBz dHJzaWduYWwKY29uZmlndXJlOjMxMzY4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lO R0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29u ZmlndXJlOjMxMzc1OiAkPyA9IDAKY29uZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MzEzMTI6IGNoZWNraW5nIGZvciBtZW1tb3ZlCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29u ZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50 bCBjb25mdGVzdC5jICAgPiY1CmNvbmZ0ZXN0LmM6MTE0OiB3YXJuaW5nOiBjb25mbGljdGluZyB0 eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ21lbW1vdmUnCmNvbmZpZ3VyZTozMTM3NTogJD8g PSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxMzEyOiBjaGVja2lu ZyBmb3IgdnNucHJpbnRmCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNB QkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAg PiY1CmNvbmZ0ZXN0LmM6MTE1OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQt aW4gZnVuY3Rpb24gJ3ZzbnByaW50ZicKY29uZmlndXJlOjMxMzc1OiAkPyA9IDAKY29uZmlndXJl OjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEzMTI6IGNoZWNraW5nIGZvciBzdHBjcHkK Y29uZmlndXJlOjMxMzY4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xV REVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzox MTY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnc3Rw Y3B5Jwpjb25maWd1cmU6MzEzNzU6ICQ/ID0gMApjb25maWd1cmU6MzEzOTc6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTozMTMxMjogY2hlY2tpbmcgZm9yIHN0cmNhc2VjbXAKY29uZmlndXJlOjMxMzY4 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzoxMTc6IHdhcm5pbmc6IGNv bmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnc3RyY2FzZWNtcCcKY29uZmln dXJlOjMxMzc1OiAkPyA9IDAKY29uZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MzEzMTI6IGNoZWNraW5nIGZvciBzdHJuY2FzZWNtcApjb25maWd1cmU6MzEzNjg6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGlu dGwgY29uZnRlc3QuYyAgID4mNQpjb25mdGVzdC5jOjExODogd2FybmluZzogY29uZmxpY3Rpbmcg dHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzdHJuY2FzZWNtcCcKY29uZmlndXJlOjMxMzc1 OiAkPyA9IDAKY29uZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEzMTI6IGNo ZWNraW5nIGZvciBwb2xsCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNB QkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAg PiY1CmNvbmZpZ3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjMxMzEyOiBjaGVja2luZyBmb3IgZ2V0Y3dkCmNvbmZpZ3VyZTozMTM2ODogY2Mg LW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGli IC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3Vy ZTozMTM5NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxMzEyOiBjaGVja2luZyBmb3IgdmFzcHJp bnRmCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3Vy ZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMx MzEyOiBjaGVja2luZyBmb3Igc2V0ZW52CmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3Qg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25m dGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjMxMzEyOiBjaGVja2luZyBmb3IgdW5zZXRlbnYKY29uZmlndXJl OjMxMzY4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdh bGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vz ci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMxMzc1OiAkPyA9 IDAKY29uZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEzMTI6IGNoZWNraW5n IGZvciBnZXRjX3VubG9ja2VkCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19E SVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5j ICAgPiY1CmNvbmZpZ3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjMxMzEyOiBjaGVja2luZyBmb3IgcmVhZGxpbmsKY29uZmlndXJlOjMxMzY4 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMxMzc1OiAkPyA9IDAKY29u ZmlndXJlOjMxMzk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEzMTI6IGNoZWNraW5nIGZvciBz eW1saW5rCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZp Z3VyZTozMTM3NTogJD8gPSAwCmNvbmZpZ3VyZTozMTM5NzogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjMxMzEyOiBjaGVja2luZyBmb3IgZmR3YWxrCmNvbmZpZ3VyZTozMTM2ODogY2MgLW8gY29uZnRl c3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBj b25mdGVzdC5jICAgPiY1Ci92YXIvdG1wLy9jY0ZOQ1RjNC5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0 aW9uIGBtYWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBmZHdhbGsnCmNvbmZpZ3VyZToz MTM3NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIK fCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJ T04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVS RkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURf SUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVm aW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhU IDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNk ZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIg Ii91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwg I2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01F TUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUg SEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0Zf U0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0Cnwg I2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNk ZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEK fCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUg MQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAx CnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U0NIRURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZF X0ZTVEFCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NU QVRGU19GX0ZTVFlQRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfQkFWQUlM IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX1NURERF Rl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9W U05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJDQVNF Q01QIDEKfCAjZGVmaW5lIEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9QT0xMIDEK fCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFW RV9HRVRDX1VOTE9DS0VEIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGZkd2FsayB0 byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGZkd2Fs ay4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGZkd2FsayBpbm5vY3VvdXNfZmR3YWxrCnwgCnwgLyogU3lz dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGZkd2FsayAoKTsgYmVs b3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMg ZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRp bmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0 cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYg ZmR3YWxrCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl cm4gIkMiCnwgI2VuZGlmCnwgY2hhciBmZHdhbGsgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l ZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz IGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZmR3YWxrIHx8IGRlZmluZWQgX19z dHViX19fZmR3YWxrCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHJldHVybiBmZHdhbGsgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMTM5 NzogcmVzdWx0OiBubwpjb25maWd1cmU6MzE0MjI6IGNoZWNraW5nIGZvciBjaG93bgpjb25maWd1 cmU6MzE0Nzg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAt V2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwv dXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MzE0ODU6ICQ/ ID0gMApjb25maWd1cmU6MzE1MDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTQyMjogY2hlY2tp bmcgZm9yIGxjaG93bgpjb25maWd1cmU6MzE0Nzg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4m NQpjb25maWd1cmU6MzE0ODU6ICQ/ID0gMApjb25maWd1cmU6MzE1MDc6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTozMTQyMjogY2hlY2tpbmcgZm9yIGZjaG1vZApjb25maWd1cmU6MzE0Nzg6IGNjIC1v IGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9j YWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAt bGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MzE0ODU6ICQ/ID0gMApjb25maWd1cmU6 MzE1MDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTQyMjogY2hlY2tpbmcgZm9yIGZjaG93bgpj b25maWd1cmU6MzE0Nzg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt cGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVE RVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MzE0 ODU6ICQ/ID0gMApjb25maWd1cmU6MzE1MDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTQyMjog Y2hlY2tpbmcgZm9yIGxpbmsKY29uZmlndXJlOjMxNDc4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMg ICA+JjUKY29uZmlndXJlOjMxNDg1OiAkPyA9IDAKY29uZmlndXJlOjMxNTA3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MzE0MjI6IGNoZWNraW5nIGZvciBzdGF0dmZzCmNvbmZpZ3VyZTozMTQ3ODog Y2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwv bGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMTQ4NTogJD8gPSAwCmNvbmZp Z3VyZTozMTUwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxNDIyOiBjaGVja2luZyBmb3Igc3Rh dGZzCmNvbmZpZ3VyZTozMTQ3ODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3Vy ZTozMTQ4NTogJD8gPSAwCmNvbmZpZ3VyZTozMTUwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMx NDIyOiBjaGVja2luZyBmb3IgdXRpbWVzCmNvbmZpZ3VyZTozMTQ3ODogY2MgLW8gY29uZnRlc3Qg LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25m dGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMTQ4NTogJD8gPSAwCmNvbmZpZ3VyZTozMTUwNzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjMxNDIyOiBjaGVja2luZyBmb3IgZ2V0Z3JnaWQKY29uZmlndXJl OjMxNDc4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdh bGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vz ci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMxNDg1OiAkPyA9 IDAKY29uZmlndXJlOjMxNTA3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE0MjI6IGNoZWNraW5n IGZvciBnZXRwd3VpZApjb25maWd1cmU6MzE0Nzg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0 cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJM RV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4m NQpjb25maWd1cmU6MzE0ODU6ICQ/ID0gMApjb25maWd1cmU6MzE1MDc6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTozMTQyMjogY2hlY2tpbmcgZm9yIHN5c2N0bGJ5bmFtZQpjb25maWd1cmU6MzE0Nzg6 IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2Fs L2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6MzE0ODU6ICQ/ID0gMApjb25m aWd1cmU6MzE1MDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTUyNzogY2hlY2tpbmcgZm9yIGdl dG1udGVudF9yCmNvbmZpZ3VyZTozMTU4MzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJ TkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1Ci92 YXIvdG1wLy9jY01EZDZDUi5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBnZXRtbnRlbnRfcicKY29uZmlndXJlOjMxNTkwOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVn emlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJ Ql9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZp bmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1Cnwg I2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xP Q0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5E X1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUg SEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhU X1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9z aGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVf RExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNk ZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZF X0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9S IDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2Rl ZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVP Rl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0Zf X19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FO RV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBH X0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhB VkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRlNUWVBF TkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8ICNkZWZpbmUg SEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZpbmUgSEFWRV9M U1RBVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFM IDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxCnwg I2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNkZWZp bmUgSEFWRV9TVFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUgSEFW RV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TRVRF TlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5MT0NL RUQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBI QVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xJTksg MQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZTIDEKfCAjZGVm aW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNkZWZpbmUgSEFW RV9HRVRQV1VJRCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8IC8qIERlZmluZSBnZXRtbnRlbnRfciB0byBhbiBpbm5vY3VvdXMgdmFyaWFu dCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldG1udGVudF9yLgp8ICAgIEZvciBleGFt cGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNk ZWZpbmUgZ2V0bW50ZW50X3IgaW5ub2N1b3VzX2dldG1udGVudF9yCnwgCnwgLyogU3lzdGVtIGhl YWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz LAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldG1udGVudF9yICgpOyBiZWxv dy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBk ZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGlu ZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRz Lmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBn ZXRtbnRlbnRfcgp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg ZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ2V0bW50ZW50X3IgKCk7CnwgLyogVGhlIEdOVSBD IGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8 ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1 YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1h bCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ2V0bW50ZW50X3Ig fHwgZGVmaW5lZCBfX3N0dWJfX19nZXRtbnRlbnRfcgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZ2V0bW50ZW50X3IgKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZTozMTYxMjogcmVzdWx0OiBubwpjb25maWd1cmU6MzE1Mjc6IGNo ZWNraW5nIGZvciBzZXRtbnRlbnQKY29uZmlndXJlOjMxNTgzOiBjYyAtbyBjb25mdGVzdCAtTzIg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURH X0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0 LmMgICA+JjUKL3Zhci90bXAvL2NjZ0prVGVZLm8oLnRleHQrMHg3KTogSW4gZnVuY3Rpb24gYG1h aW4nOgo6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHNldG1udGVudCcKY29uZmlndXJlOjMxNTkw OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4g ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJo dHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNk ZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAy MAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNF X0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09O Vl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUg SEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8 ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmlu ZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vz ci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVm aW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9B TExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJ R04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZF X0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9S VCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVm aW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmlu ZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNk ZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwg I2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAj ZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hF RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNU QUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZT X0ZfRlNUWVBFTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8 ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf U1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAg MQp8ICNkZWZpbmUgSEFWRV9TVFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNk ZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dF VENfVU5MT0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwg I2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBI QVZFX0xJTksgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZT IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQV1VJRCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBzZXRtbnRlbnQgdG8gYW4gaW5ub2N1b3Vz IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzZXRtbnRlbnQuCnwgICAgRm9y IGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICov CnwgI2RlZmluZSBzZXRtbnRlbnQgaW5ub2N1b3VzX3NldG1udGVudAp8IAp8IC8qIFN5c3RlbSBo ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl cywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzZXRtbnRlbnQgKCk7IGJlbG93 Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRl ZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5n IGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMu aD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHNl dG1udGVudAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc2V0bW50ZW50ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJy YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAg dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg bmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFt ZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3NldG1udGVudCB8fCBkZWZp bmVkIF9fc3R1Yl9fX3NldG1udGVudAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCByZXR1cm4gc2V0bW50ZW50ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MzE2MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjMxNTI3OiBjaGVja2luZyBmb3Ig ZW5kbW50ZW50CmNvbmZpZ3VyZTozMTU4MzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJ TkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1Ci92 YXIvdG1wLy9jY2pJWHJPSi5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBlbmRtbnRlbnQnCmNvbmZpZ3VyZTozMTU5MDogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3pp bGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJf TUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5l IEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNk ZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NB TEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9U RVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhB VkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9Q QUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hh cmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RM RkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9B VEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAx CnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZp bmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0Zf Vk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19f SU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVf TUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZF X0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0ZTVFlQRU5B TUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfQkFWQUlMIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJDQVNFQ01QIDEKfCAjZGVmaW5l IEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9QT0xMIDEKfCAjZGVmaW5lIEhBVkVf R0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5W IDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9HRVRDX1VOTE9DS0VE IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFW RV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MSU5LIDEK fCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NUQVRGUyAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVEdSR0lEIDEKfCAjZGVmaW5lIEhBVkVf R0VUUFdVSUQgMQp8ICNkZWZpbmUgSEFWRV9TWVNDVExCWU5BTUUgMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAvKiBEZWZpbmUgZW5kbW50ZW50IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBp biBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZW5kbW50ZW50Lgp8ICAgIEZvciBleGFtcGxlLCBI UC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUg ZW5kbW50ZW50IGlubm9jdW91c19lbmRtbnRlbnQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRl ZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZW5kbW50ZW50ICgpOyBiZWxvdy4KfCAgICAgUHJl ZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5j ZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UK fCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBlbmRtbnRlbnQKfCAK fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291 bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj ZW5kaWYKfCBjaGFyIGVuZG1udGVudCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBm YWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAg IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp YXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9lbmRtbnRlbnQgfHwgZGVmaW5lZCBfX3N0dWJf X19lbmRtbnRlbnQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg cmV0dXJuIGVuZG1udGVudCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMx NjEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMTUyNzogY2hlY2tpbmcgZm9yIGhhc21udG9wdApj b25maWd1cmU6MzE1ODM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt cGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVE RVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQovdmFyL3RtcC8vY2Mw NnZIejEubygudGV4dCsweDcpOiBJbiBmdW5jdGlvbiBgbWFpbic6CjogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgaGFzbW50b3B0Jwpjb25maWd1cmU6MzE1OTA6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4y MC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5v cmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJ T04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JP X1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJf QklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNk ZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVY VCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xp YjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIK fCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAj ZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZB TExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAj ZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUg U0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9M T05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4Cnwg I2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9U T1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElO RV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01B Q1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAx CnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JM T0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9GU1RZUEVOQU1FIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJTCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZP X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUg MQp8ICNkZWZpbmUgU0laRU9GX1NJWkVfVCA4CnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVm aW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf U1RQQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU1RSQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1NUUk5D QVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfUE9MTCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwg I2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmlu ZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ19VTkxPQ0tFRCAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0NIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEK fCAjZGVmaW5lIEhBVkVfRkNIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTElOSyAxCnwgI2RlZmluZSBI QVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVEFURlMgMQp8ICNkZWZpbmUgSEFWRV9VVElN RVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVFBXVUlEIDEK fCAjZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg LyogRGVmaW5lIGhhc21udG9wdCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGlt aXRzLmg+IGRlY2xhcmVzIGhhc21udG9wdC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGhhc21udG9wdCBp bm5vY3VvdXNfaGFzbW50b3B0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29u ZmxpY3Qgd2l0aCBjaGFyIGhhc21udG9wdCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRz Lmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxp bWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAj aWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRl IDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgaGFzbW50b3B0CnwgCnwgLyogT3ZlcnJp ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwg ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw cGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh ciBoYXNtbnRvcHQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBm dW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcg c3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAj aWYgZGVmaW5lZCBfX3N0dWJfaGFzbW50b3B0IHx8IGRlZmluZWQgX19zdHViX19faGFzbW50b3B0 CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBoYXNt bnRvcHQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMTYxMjogcmVzdWx0 OiBubwpjb25maWd1cmU6MzE1Mjc6IGNoZWNraW5nIGZvciBnZXRtbnRpbmZvCmNvbmZpZ3VyZToz MTU4MzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxs IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3Iv bG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMTU5MDogJD8gPSAw CmNvbmZpZ3VyZTozMTYxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxNjMwOiBjaGVja2luZyBm b3IgbmFub3NsZWVwCmNvbmZpZ3VyZTozMTY4NjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxF X1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1 CmNvbmZpZ3VyZTozMTY5MzogJD8gPSAwCmNvbmZpZ3VyZTozMTcxNTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjMxNjMwOiBjaGVja2luZyBmb3IgbnNsZWVwCmNvbmZpZ3VyZTozMTY4NjogY2MgLW8g Y29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1s aW50bCBjb25mdGVzdC5jICAgPiY1Ci92YXIvdG1wLy9jY0VBZG5xTi5vKC50ZXh0KzB4Nyk6IElu IGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBuc2xlZXAnCmNvbmZp Z3VyZTozMTY5MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9 Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9S X1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElC X0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5l IE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEK fCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9H RVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMg MQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FM RV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dO VSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BP U0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNk ZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBT SVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lO VCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcg OAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9S TUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19J TkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lO TElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU0NIRURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmlu ZSBIQVZFX0ZTVEFCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX1NUQVRGU19GX0ZTVFlQRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0Zf QkFWQUlMIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpFT0ZfU0laRV9U IDgKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUg SEFWRV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9T VFJDQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9Q T0xMIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZp bmUgSEFWRV9HRVRDX1VOTE9DS0VEIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9M Q0hPV04gMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ0hPV04gMQp8 ICNkZWZpbmUgSEFWRV9MSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBI QVZFX1NUQVRGUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVEdS R0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdVSUQgMQp8ICNkZWZpbmUgSEFWRV9TWVNDVExCWU5B TUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRNTlRJTkZPIDEKfCAjZGVmaW5lIEhBVkVfTkFOT1NMRUVQ IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIG5zbGVlcCB0byBhbiBpbm5v Y3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIG5zbGVlcC4KfCAgICBG b3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAg Ki8KfCAjZGVmaW5lIG5zbGVlcCBpbm5vY3VvdXNfbnNsZWVwCnwgCnwgLyogU3lzdGVtIGhlYWRl ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8 ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIG5zbGVlcCAoKTsgYmVsb3cuCnwgICAg IFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwg c2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGls ZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNl bHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbnNsZWVwCnwg CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg I2VuZGlmCnwgY2hhciBuc2xlZXAgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfbnNsZWVwIHx8IGRlZmluZWQgX19zdHViX19fbnNs ZWVwCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBu c2xlZXAgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMTcxNTogcmVzdWx0 OiBubwpjb25maWd1cmU6MzE3NDQ6IGNoZWNraW5nIGNydF9leHRlcm5zLmggdXNhYmlsaXR5CmNv bmZpZ3VyZTozMTc2MTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxs IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyBjb25mdGVz dC5jID4mNQpjb25mdGVzdC5jOjE1MDoyNTogZXJyb3I6IGNydF9leHRlcm5zLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjMxNzY4OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAu NSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3Jn L2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9O IDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19W RVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJ TkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVm aW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQg MQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIy MCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwg I2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2Rl ZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu ZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2Rl ZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJ WkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9O RyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNk ZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9T IDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVf XyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNS T1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5l IEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9D S1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRlNUWVBFTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK fCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhB VkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NU UENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJOQ0FT RUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNk ZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUg SEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5MT0NLRUQgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9D SE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwg I2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xJTksgMQp8ICNkZWZpbmUgSEFW RV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZTIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT IDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV1VJRCAxCnwg I2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVE1OVElORk8gMQp8 ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8 c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NU RExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBI QVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVk ZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRl IDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVk ZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVk ZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUg PHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxjcnRfZXh0ZXJucy5oPgpjb25maWd1cmU6 MzE3ODI6IHJlc3VsdDogbm8KY29uZmlndXJlOjMxNzg2OiBjaGVja2luZyBjcnRfZXh0ZXJucy5o IHByZXNlbmNlCmNvbmZpZ3VyZTozMTgwMTogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURH X0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMTc6MjU6IGVy cm9yOiBjcnRfZXh0ZXJucy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToz MTgwODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIK fCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJ T04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVS RkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURf SUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVm aW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhU IDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNk ZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIg Ii91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwg I2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01F TUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8 ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUg SEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0Zf U0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0Cnwg I2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNk ZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEK fCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUg MQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAx CnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U0NIRURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZF X0ZTVEFCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NU QVRGU19GX0ZTVFlQRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfQkFWQUlM IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX1NURERF Rl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9W U05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJDQVNF Q01QIDEKfCAjZGVmaW5lIEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9QT0xMIDEK fCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFW RV9HRVRDX1VOTE9DS0VEIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04g MQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ0hPV04gMQp8ICNkZWZp bmUgSEFWRV9MSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NU QVRGUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVEdSR0lEIDEK fCAjZGVmaW5lIEhBVkVfR0VUUFdVSUQgMQp8ICNkZWZpbmUgSEFWRV9TWVNDVExCWU5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRNTlRJTkZPIDEKfCAjZGVmaW5lIEhBVkVfTkFOT1NMRUVQIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGNydF9leHRlcm5zLmg+CmNvbmZpZ3Vy ZTozMTgyMjogcmVzdWx0OiBubwpjb25maWd1cmU6MzE4NTU6IGNoZWNraW5nIGZvciBjcnRfZXh0 ZXJucy5oCmNvbmZpZ3VyZTozMTg2NDogcmVzdWx0OiBubwpjb25maWd1cmU6MzE4ODM6IGNoZWNr aW5nIGZvciBfTlNHZXRFbnZpcm9uCmNvbmZpZ3VyZTozMTkzOTogY2MgLW8gY29uZnRlc3QgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1E R19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVz dC5jICAgPiY1Ci92YXIvdG1wLy9jYzFPcnFrcC5vKC50ZXh0KzB4Nyk6IEluIGZ1bmN0aW9uIGBt YWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfTlNHZXRFbnZpcm9uJwpjb25maWd1cmU6 MzE5NDY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIi CnwgI2RlZmluZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJT SU9OIDIwCnwgI2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRF UkZBQ0VfQUdFIDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVE X0lDT05WX0NBQ0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2Rl ZmluZSBIQVZFX0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVY VCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAj ZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElS ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8 ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9N RU1BTElHTiAxCnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5l IEhBVkVfR01USU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9G X1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8 ICNkZWZpbmUgU0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAj ZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAx CnwgI2RlZmluZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5F IDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUg MQp8ICNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19USU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1NDSEVEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFW RV9GU1RBQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMT0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9T VEFURlNfRl9GU1RZUEVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJ TCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9TVERE RUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgU0laRU9GX1NJWkVfVCA4Cnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVf VlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RQQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU1RSQ0FT RUNNUCAxCnwgI2RlZmluZSBIQVZFX1NUUk5DQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfUE9MTCAx CnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCnwgI2Rl ZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhB VkVfR0VUQ19VTkxPQ0tFRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhB VkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0NIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dO IDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNIT1dOIDEKfCAjZGVm aW5lIEhBVkVfTElOSyAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9T VEFURlMgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkdJRCAx CnwgI2RlZmluZSBIQVZFX0dFVFBXVUlEIDEKfCAjZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEK fCAjZGVmaW5lIEhBVkVfR0VUTU5USU5GTyAxCnwgI2RlZmluZSBIQVZFX05BTk9TTEVFUCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBfTlNHZXRFbnZpcm9uIHRvIGFuIGlu bm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgX05TR2V0RW52aXJv bi4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIF9OU0dldEVudmlyb24gaW5ub2N1b3VzX19OU0dldEVudmly b24KfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl ZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIg X05TR2V0RW52aXJvbiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3Nl cnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlz dHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERD X18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4K fCAjZW5kaWYKfCAKfCAjdW5kZWYgX05TR2V0RW52aXJvbgp8IAp8IC8qIE92ZXJyaWRlIGFueSBH Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJl Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgX05TR2V0 RW52aXJvbiAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0 aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBk ZWZpbmVkIF9fc3R1Yl9fTlNHZXRFbnZpcm9uIHx8IGRlZmluZWQgX19zdHViX19fX05TR2V0RW52 aXJvbgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4g X05TR2V0RW52aXJvbiAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMxOTY4 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMTk4MTogY2hlY2tpbmcgZm9yIEM5OSB2c25wcmludGYK Y29uZmlndXJlOjMyMDM4OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xV REVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzog SW4gZnVuY3Rpb24gJ2RvaXQnOgpjb25mdGVzdC5jOjEzMjogd2FybmluZzogaW1wbGljaXQgZGVj bGFyYXRpb24gb2YgZnVuY3Rpb24gJ2V4aXQnCmNvbmZ0ZXN0LmM6MTMyOiB3YXJuaW5nOiBpbmNv bXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQn CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNTE6IHdhcm5pbmc6 IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAn ZXhpdCcKY29uZmlndXJlOjMyMDQyOiAkPyA9IDAKY29uZmlndXJlOjMyMDQ4OiAuL2NvbmZ0ZXN0 CmNvbmZpZ3VyZTozMjA1MjogJD8gPSAwCmNvbmZpZ3VyZTozMjA2OTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjMyMDc5OiBjaGVja2luZyB3aGV0aGVyIHByaW50ZiBzdXBwb3J0cyBwb3NpdGlvbmFs IHBhcmFtZXRlcnMKY29uZmlndXJlOjMyMTEyOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVf U0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUK Y29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEyNjogd2FybmluZzog aW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3N0cmNtcCcKY29uZnRlc3QuYzoxMjc6 IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdleGl0Jwpjb25mdGVz dC5jOjEyNzogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1 aWx0LWluIGZ1bmN0aW9uICdleGl0Jwpjb25maWd1cmU6MzIxMTY6ICQ/ID0gMApjb25maWd1cmU6 MzIxMjI6IC4vY29uZnRlc3QKY29uZmlndXJlOjMyMTI2OiAkPyA9IDAKY29uZmlndXJlOjMyMTQz OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzIxNTU6IGNoZWNraW5nIG51bWJlciBvZiBhcmd1bWVu dHMgdG8gc3RhdGZzKCkKY29uZmlndXJlOjMyMTkxOiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxp YXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMjE5ODogJD8gPSAwCmNvbmZpZ3Vy ZTozMjIwNDogcmVzdWx0OiAyCmNvbmZpZ3VyZTozMjM1MjogY2hlY2tpbmcgZm9yIHNpZ25lZApj b25maWd1cmU6MzIzNzg6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2Fs bCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEyNTog d2FybmluZzogdW51c2VkIHZhcmlhYmxlICd4Jwpjb25maWd1cmU6MzIzODU6ICQ/ID0gMApjb25m aWd1cmU6MzI0MDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMjQxMTogY2hlY2tpbmcgZm9yIGxv bmcgbG9uZwpjb25maWd1cmU6MzI0Mzg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5H TEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25m aWd1cmU6MzI0NDU6ICQ/ID0gMApjb25maWd1cmU6MzI0NjU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTozMjQ3NjogY2hlY2tpbmcgZm9yIGxvbmcgZG91YmxlCmNvbmZpZ3VyZTozMjUzMzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjMyNTQ0OiBjaGVja2luZyBmb3Igd2NoYXJfdApjb25maWd1cmU6MzI1 NzE6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9j YWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjMyNTc4OiAkPyA9IDAKY29uZmlndXJlOjMyNTkzOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MzI2MDQ6IGNoZWNraW5nIGZvciB3aW50X3QKY29uZmlndXJlOjMyNjMxOiBjYyAtYyAtTzIg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURH X0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMjYzODog JD8gPSAwCmNvbmZpZ3VyZTozMjY1MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMyNjYzOiBjaGVj a2luZyBmb3Igc2l6ZV90CmNvbmZpZ3VyZTozMjY5MTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzI2OTg6ICQ/ID0gMApjb25maWd1 cmU6MzI3MjU6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjE2MTogZXJyb3I6 IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6MzI3MzI6ICQ/ ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi Z2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6 Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmlu ZSBHTElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwg I2RlZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdF IDUKfCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NB Q0hFIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZF X0JJTkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2Rl ZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdF VFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xv Y2FsL3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAx CnwgI2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5l IEhBVkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01U SU1FX1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIK fCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUg U0laRU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJ WkVPRl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmlu ZSBTQU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVm aW5lIEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZp bmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9TVEFUX1NUX0JMT0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9G U1RZUEVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJTCAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgU0laRU9GX1NJWkVfVCA4CnwgI2RlZmluZSBI QVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJT SUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfU1RQQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU1RSQ0FTRUNNUCAxCnwg I2RlZmluZSBIQVZFX1NUUk5DQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfUE9MTCAxCnwgI2RlZmlu ZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCnwgI2RlZmluZSBIQVZF X1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ19V TkxPQ0tFRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0NIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVm aW5lIEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNIT1dOIDEKfCAjZGVmaW5lIEhBVkVf TElOSyAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVEFURlMgMQp8 ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkdJRCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBXVUlEIDEKfCAjZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0VUTU5USU5GTyAxCnwgI2RlZmluZSBIQVZFX05BTk9TTEVFUCAxCnwgI2RlZmluZSBI QVZFX0M5OV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9VTklYOThfUFJJTlRGIDEKfCAjZGVm aW5lIFNUQVRGU19BUkdTIDIKfCAjZGVmaW5lIEhBVkVfR09PRF9QUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9XSU5UX1QgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMg aW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8 ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBp ZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRp Zgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19I CnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNf SAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRf SAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gK fCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYg KHNpemVvZiAoKHNpemVfdCkpKQp8IAkgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MzI3NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMjc2NzogY2hlY2tpbmcg Zm9yIHB0cmRpZmZfdApjb25maWd1cmU6MzI3OTU6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlh c2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVf SU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMyODAyOiAkPyA9IDAKY29uZmlndXJl OjMyODI5OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNjE6IGVycm9yOiBl eHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjMyODM2OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwg I2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImds aWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8v YnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUg R0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNk ZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1 CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNI RSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9C SU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZp bmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRU RVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2Nh bC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhB VkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg MQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8 ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBI QVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElN RV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwg I2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJ WkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpF T0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUg U0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmlu ZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5l IEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRlNU WVBFTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8ICNkZWZp bmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZpbmUgSEFW RV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lH TkFMIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNk ZWZpbmUgSEFWRV9TVFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUg SEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9T RVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5M T0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksg MQp8ICNkZWZpbmUgSEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmlu ZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xJ TksgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZTIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNkZWZpbmUg SEFWRV9HRVRQV1VJRCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dFVE1OVElORk8gMQp8ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAgMQp8ICNkZWZpbmUgSEFW RV9DOTlfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfVU5JWDk4X1BSSU5URiAxCnwgI2RlZmlu ZSBTVEFURlNfQVJHUyAyCnwgI2RlZmluZSBIQVZFX0dPT0RfUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFW RV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfV0lOVF9UIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGlu Y2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAj IGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMg aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZk ZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYm IGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYK fCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8 ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gK fCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gK fCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwg IyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChz aXplb2YgKChwdHJkaWZmX3QpKSkKfCAJICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjMyODU5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzI4NzE6IGNoZWNraW5n IGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTozMjg5ODogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdM RV9JTkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6 CmNvbmZ0ZXN0LmM6MTMxOiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ2knCmNvbmZpZ3VyZToz MjkwNTogJD8gPSAwCmNvbmZpZ3VyZTozMjkyMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMyOTMx OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjMyOTU4OiBjYyAtYyAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FC TEVfU0lOR0xFX0lOQ0xVREVTIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzoxMzI6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAnaScKY29u ZmlndXJlOjMyOTY1OiAkPyA9IDAKY29uZmlndXJlOjMyOTgwOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MzMwMTY6IGNoZWNraW5nIGZvciBzbnByaW50Zgpjb25maWd1cmU6MzMwNzI6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGlu dGwgY29uZnRlc3QuYyAgID4mNQpjb25mdGVzdC5jOjE1Mjogd2FybmluZzogY29uZmxpY3Rpbmcg dHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzbnByaW50ZicKY29uZmlndXJlOjMzMDc5OiAk PyA9IDAKY29uZmlndXJlOjMzMTAxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzMwMTY6IGNoZWNr aW5nIGZvciB3Y3NsZW4KY29uZmlndXJlOjMzMDcyOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FC TEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+ JjUKY29uZmlndXJlOjMzMDc5OiAkPyA9IDAKY29uZmlndXJlOjMzMTAxOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MzMxMTM6IGNoZWNraW5nIGZvciBDOTkgc25wcmludGYKY29uZmlndXJlOjMzMTY4 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2Nh bC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ2Rv aXQnOgpjb25mdGVzdC5jOjE0NDogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24gJ2V4aXQnCmNvbmZ0ZXN0LmM6MTQ0OiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGlj aXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ2V4aXQnCmNvbmZ0ZXN0LmM6MTM4 OiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ2FyZ3MnCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u ICdtYWluJzoKY29uZnRlc3QuYzoxNjM6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBk ZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcKY29uZmlndXJlOjMzMTcyOiAk PyA9IDAKY29uZmlndXJlOjMzMTc4OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTozMzE4MjogJD8gPSAw CmNvbmZpZ3VyZTozMzE5OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzMzA2OiBjaGVja2luZyBm b3Igc3lzX2Vycmxpc3QKY29uZmlndXJlOjMzMzMzOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FC TEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+ JjUKY29uZmlndXJlOjMzMzQwOiAkPyA9IDAKY29uZmlndXJlOjMzMzU5OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MzMzNzA6IGNoZWNraW5nIGZvciBzeXNfc2lnbGlzdApjb25maWd1cmU6MzMzOTY6 IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2Fs L2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFp bic6CmNvbmZ0ZXN0LmM6MTM4OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5j dGlvbiAnZXhpdCcKY29uZnRlc3QuYzoxMzg6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNp dCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzoxMzg6 IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiAnZXhpdCcgbWFrZXMgaW50ZWdlciBmcm9t IHBvaW50ZXIgd2l0aG91dCBhIGNhc3QKY29uZmlndXJlOjMzNDAzOiAkPyA9IDAKY29uZmlndXJl OjMzNDIyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzM0MzM6IGNoZWNraW5nIGZvciBzeXNfc2ln bGlzdCBkZWNsYXJhdGlvbgpjb25maWd1cmU6MzM0NTg6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5H TEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4n Ogpjb25mdGVzdC5jOjEzNzogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24gJ3N0cmxlbicKY29uZnRlc3QuYzoxMzc6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNp dCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnc3RybGVuJwpjb25mdGVzdC5jOjEz Nzogd2FybmluZzogc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0CmNvbmZpZ3VyZTozMzQ2NTogJD8g PSAwCmNvbmZpZ3VyZTozMzQ3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzNDkwOiBjaGVja2lu ZyBmb3IgZmRfc2V0CmNvbmZpZ3VyZTozMzUxMzogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNv bmZ0ZXN0LmM6MTM2OiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFibGUgJ3dyaXRlTWFzaycKY29uZnRl c3QuYzoxMzY6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAncmVhZE1hc2snCmNvbmZpZ3VyZToz MzUyMDogJD8gPSAwCmNvbmZpZ3VyZTozMzUzNTogcmVzdWx0OiB5ZXMsIGZvdW5kIGluIHN5cy90 eXBlcy5oCmNvbmZpZ3VyZTozMzU3MzogY2hlY2tpbmcgd2hldGhlciByZWFsbG9jIChOVUxMLCkg d2lsbCB3b3JrCmNvbmZpZ3VyZTozMzU5OTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJ TkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNv bmZpZ3VyZTozMzYwMzogJD8gPSAwCmNvbmZpZ3VyZTozMzYwOTogLi9jb25mdGVzdApjb25maWd1 cmU6MzM2MTM6ICQ/ID0gMApjb25maWd1cmU6MzM2MzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToz MzY0MTogY2hlY2tpbmcgZm9yIG5sX2xhbmdpbmZvIChDT0RFU0VUKQpjb25maWd1cmU6MzM2Njg6 IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEzNzogd2FybmluZzogdW51c2Vk IHZhcmlhYmxlICdjb2Rlc2V0Jwpjb25maWd1cmU6MzM2NzU6ICQ/ID0gMApjb25maWd1cmU6MzM2 OTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMzcwMDogY2hlY2tpbmcgZm9yIGEgY29tcGxpYW50 IHBvc2l4X21lbWFsaWduKCkgaW1wbGVtZW50YXRpb24KY29uZmlndXJlOjMzNzQ4OiBjYyAtbyBj b25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxp bnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMzNzUyOiAkPyA9IDAKY29uZmlndXJlOjMz NzU4OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTozMzc2MjogJD8gPSAwCmNvbmZpZ3VyZTozMzc4Mjog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzNzk2OiBjaGVja2luZyBmb3IgT3BlbkJTRCBzdHJsY3B5 L3N0cmxjYXQKY29uZmlndXJlOjMzODI3OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lO R0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29u ZmlndXJlOjMzODMxOiAkPyA9IDAKY29uZmlndXJlOjMzODM3OiAuL2NvbmZ0ZXN0CmNvbmZpZ3Vy ZTozMzg0MTogJD8gPSAwCmNvbmZpZ3VyZTozMzg1ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMz ODY5OiBjaGVja2luZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgdmFfY29weSgpCmNvbmZpZ3Vy ZTozMzg5NzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1X YWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtTC91 c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozMzkwNDogJD8g PSAwCmNvbmZpZ3VyZTozMzkyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzOTI3OiBjaGVja2lu ZyBmb3IgYW4gaW1wbGVtZW50YXRpb24gb2YgX192YV9jb3B5KCkKY29uZmlndXJlOjMzOTU1OiBj YyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9s aWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjMzOTYyOiAkPyA9IDAKY29uZmln dXJlOjMzOTgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzQwMDE6IGNoZWNraW5nIHdoZXRoZXIg dmFfbGlzdHMgY2FuIGJlIGNvcGllZCBieSB2YWx1ZQpjb25maWd1cmU6MzQwMzc6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGlu dGwgY29uZnRlc3QuYyAgID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnZic6CmNvbmZ0ZXN0 LmM6MTQyOiBlcnJvcjogaW5jb21wYXRpYmxlIHR5cGVzIGluIGFzc2lnbm1lbnQKY29uZmlndXJl OjM0MDQxOiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3pp bGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJf TUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBHTElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5l IEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNk ZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUKfCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NB TEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01FU1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9U RVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhB VkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVOQUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9Q QUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBHTElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hh cmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RM RkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVm aW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9B VEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1FR00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAx CnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZp bmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0Zf Vk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19f SU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVf TUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19I QVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUgR19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZF X0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTEtTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0ZTVFlQRU5B TUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfQkFWQUlMIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAx CnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJDQVNFQ01QIDEKfCAjZGVmaW5l IEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9QT0xMIDEKfCAjZGVmaW5lIEhBVkVf R0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5W IDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9HRVRDX1VOTE9DS0VE IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFW RV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MSU5LIDEK fCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NUQVRGUyAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX0dFVEdSR0lEIDEKfCAjZGVmaW5lIEhBVkVf R0VUUFdVSUQgMQp8ICNkZWZpbmUgSEFWRV9TWVNDVExCWU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9H RVRNTlRJTkZPIDEKfCAjZGVmaW5lIEhBVkVfTkFOT1NMRUVQIDEKfCAjZGVmaW5lIEhBVkVfQzk5 X1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1VOSVg5OF9QUklOVEYgMQp8ICNkZWZpbmUgU1RB VEZTX0FSR1MgMgp8ICNkZWZpbmUgSEFWRV9HT09EX1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xP TkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfVCAxCnwgI2RlZmluZSBIQVZFX1dJTlRfVCAxCnwgI2RlZmluZSBIQVZFX1BUUkRJRkZfVCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0hfV0lUSF9VSU5UTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0hfV0lUSF9VSU5UTUFYIDEKfCAjZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQp8ICNkZWZp bmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1dDU0xFTiAxCnwgI2RlZmluZSBIQVZF X0M5OV9TTlBSSU5URiAxCnwgI2RlZmluZSBSRUFMTE9DXzBfV09SS1MgMQp8ICNkZWZpbmUgSEFW RV9DT0RFU0VUIDEKfCAjZGVmaW5lIFBPU0lYX01FTUFMSUdOX1dJVEhfQ09NUExJQU5UX0FMTE9D UyAxCnwgI2RlZmluZSBIQVZFX1NUUkxDUFkgMQp8ICNkZWZpbmUgR19WQV9DT1BZIHZhX2NvcHkK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGFyZy5oPgp8ICNpbmNsdWRl IDxzdGRsaWIuaD4KfCAJdm9pZCBmIChpbnQgaSwgLi4uKSB7CnwgCXZhX2xpc3QgYXJnczEsIGFy Z3MyOwp8IAl2YV9zdGFydCAoYXJnczEsIGkpOwp8IAlhcmdzMiA9IGFyZ3MxOwp8IAlpZiAodmFf YXJnIChhcmdzMiwgaW50KSAhPSA0MiB8fCB2YV9hcmcgKGFyZ3MxLCBpbnQpICE9IDQyKQp8IAkg IGV4aXQgKDEpOwp8IAl2YV9lbmQgKGFyZ3MxKTsgdmFfZW5kIChhcmdzMik7CnwgCX0KfCAJaW50 IG1haW4oKSB7CnwgCSAgZiAoMCwgNDIpOwp8IAkgIHJldHVybiAwOwp8IAl9CmNvbmZpZ3VyZToz NDA2OTogcmVzdWx0OiBubwpjb25maWd1cmU6MzQxMDM6IGNoZWNraW5nIGZvciBkbG9wZW4KY29u ZmlndXJlOjM0MTU5OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBp cGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVT IC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgICA+JjUKY29uZmlndXJlOjM0MTY2 OiAkPyA9IDAKY29uZmlndXJlOjM0MTg2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzQxODk6IGNo ZWNraW5nIGZvciBkbHN5bQpjb25maWd1cmU6MzQyNDU6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElT QUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAg ID4mNQpjb25maWd1cmU6MzQyNTI6ICQ/ID0gMApjb25maWd1cmU6MzQyNzI6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTozNDY2NzogY2hlY2tpbmcgZm9yIFJUTERfR0xPQkFMIGJyb2tlbm5lc3MKY29u ZmlndXJlOjM0NzA2OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBp cGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVT IC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIC1XbCwtLWV4cG9ydC1keW5hbWljIGNvbmZ0ZXN0LmMg ICAgPiY1CmNvbmZpZ3VyZTozNDcxMDogJD8gPSAwCmNvbmZpZ3VyZTozNDcxNjogLi9jb25mdGVz dApjb25maWd1cmU6MzQ3MjA6ICQ/ID0gMApjb25maWd1cmU6MzQ3NDA6IHJlc3VsdDogbm8KY29u ZmlndXJlOjM0NzQ3OiBjaGVja2luZyBmb3IgcHJlY2VlZGluZyB1bmRlcnNjb3JlIGluIHN5bWJv bHMKY29uZmlndXJlOjM0Nzg1OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lO Q0xVREVTIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIC1XbCwtLWV4cG9ydC1keW5hbWljIGNvbmZ0 ZXN0LmMgICAgPiY1CmNvbmZpZ3VyZTozNDc4OTogJD8gPSAwCmNvbmZpZ3VyZTozNDc5NTogLi9j b25mdGVzdApjb25maWd1cmU6MzQ3OTk6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVk IHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGli Igp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVS U0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5U RVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVF RF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNk ZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRF WFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwg I2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJ UiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEK fCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhf TUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmlu ZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVP Rl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQK fCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4Cnwg I2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQg MQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElO RSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5F IDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhB VkVfRlNUQUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf U1RBVEZTX0ZfRlNUWVBFTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZB SUwgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1RE REVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8 ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZF X1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNB U0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwg MQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBI QVZFX0dFVENfVU5MT0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBI QVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9X TiAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2Rl ZmluZSBIQVZFX0xJTksgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVf U1RBVEZTIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQg MQp8ICNkZWZpbmUgSEFWRV9HRVRQV1VJRCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dFVE1OVElORk8gMQp8ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAgMQp8 ICNkZWZpbmUgSEFWRV9DOTlfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfVU5JWDk4X1BSSU5U RiAxCnwgI2RlZmluZSBTVEFURlNfQVJHUyAyCnwgI2RlZmluZSBIQVZFX0dPT0RfUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfV0lOVF9UIDEKfCAjZGVmaW5l IEhBVkVfUFRSRElGRl9UIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRNQVgg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9J TlRNQVhfVCAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfV0NTTEVO IDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NOUFJJTlRGIDEKfCAjZGVmaW5lIFJFQUxMT0NfMF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX0NPREVTRVQgMQp8ICNkZWZpbmUgUE9TSVhfTUVNQUxJR05fV0lU SF9DT01QTElBTlRfQUxMT0NTIDEKfCAjZGVmaW5lIEhBVkVfU1RSTENQWSAxCnwgI2RlZmluZSBH X1ZBX0NPUFkgdmFfY29weQp8ICNkZWZpbmUgR19WQV9DT1BZX0FTX0FSUkFZIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGRsZmNuLmg+CnwgICAgICAgICAgICAgICAgIGlu dCBnbGliX3VuZGVyc2NvcmVfdGVzdCAodm9pZCkgeyByZXR1cm4gNDI7IH0KfCAJCWludCBtYWlu KCkgewp8IAkJICB2b2lkICpmMSA9ICh2b2lkKikwLCAqZjIgPSAodm9pZCopMCwgKmhhbmRsZTsK fCAJCSAgaGFuZGxlID0gZGxvcGVuICgodm9pZCopMCwgMCk7CnwgCQkgIGlmIChoYW5kbGUpIHsK fCAJCSAgICBmMSA9IGRsc3ltIChoYW5kbGUsICJnbGliX3VuZGVyc2NvcmVfdGVzdCIpOwp8IAkJ ICAgIGYyID0gZGxzeW0gKGhhbmRsZSwgIl9nbGliX3VuZGVyc2NvcmVfdGVzdCIpOwp8IAkJICB9 IHJldHVybiAoIWYyIHx8IGYxKTsKfCAJCX0KY29uZmlndXJlOjM0ODE4OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTozNDgzMzogY2hlY2tpbmcgZm9yIGRsZXJyb3IKY29uZmlndXJlOjM0ODg5OiBjYyAt byBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1ML3Vzci9sb2NhbC9saWIg LWxpbnRsIGNvbmZ0ZXN0LmMgICAgPiY1CmNvbmZpZ3VyZTozNDg5NjogJD8gPSAwCmNvbmZpZ3Vy ZTozNDkxNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM0OTMzOiBjaGVja2luZyBmb3IgdGhlIHN1 ZmZpeCBvZiBtb2R1bGUgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MzQ5NDE6IHJlc3VsdDog LnNvCmNvbmZpZ3VyZTozNDk2MjogY2hlY2tpbmcgZm9yIGdzcGF3biBpbXBsZW1lbnRhdGlvbgpj b25maWd1cmU6MzQ5NzI6IHJlc3VsdDogZ3NwYXduLmxvCmNvbmZpZ3VyZTozNDk3NzogY2hlY2tp bmcgZm9yIEdJT0NoYW5uZWwgaW1wbGVtZW50YXRpb24KY29uZmlndXJlOjM0OTg3OiByZXN1bHQ6 IGdpb3VuaXgubG8KY29uZmlndXJlOjM1MDEyOiBjaGVja2luZyBmb3IgaXNfc2VsaW51eF9lbmFi bGVkIGluIC1sc2VsaW51eApjb25maWd1cmU6MzUwNDc6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5v LXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElT QUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAt bHNlbGludXggICAgPiY1Ci91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbHNlbGludXgKY29uZmln dXJlOjM1MDU0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1n bGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1Jf VkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJf SU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUg TkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8 ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dF VFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAx CnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxF X0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05V IDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9T SVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lO QyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2Rl ZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJ WkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5U IDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4 CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JN QVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lO TElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5M SU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5l IEhBVkVfRlNUQUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJV Q1RfU1RBVEZTX0ZfRlNUWVBFTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9C QVZBSUwgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf U1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1Qg OAp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBI QVZFX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NU UkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BP TEwgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmlu ZSBIQVZFX0dFVENfVU5MT0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmlu ZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xD SE9XTiAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwg I2RlZmluZSBIQVZFX0xJTksgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhB VkVfU1RBVEZTIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JH SUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV1VJRCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dFVE1OVElORk8gMQp8ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAg MQp8ICNkZWZpbmUgSEFWRV9DOTlfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfVU5JWDk4X1BS SU5URiAxCnwgI2RlZmluZSBTVEFURlNfQVJHUyAyCnwgI2RlZmluZSBIQVZFX0dPT0RfUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfV0lOVF9UIDEKfCAjZGVm aW5lIEhBVkVfUFRSRElGRl9UIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRN QVggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFW RV9JTlRNQVhfVCAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfV0NT TEVOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NOUFJJTlRGIDEKfCAjZGVmaW5lIFJFQUxMT0NfMF9X T1JLUyAxCnwgI2RlZmluZSBIQVZFX0NPREVTRVQgMQp8ICNkZWZpbmUgUE9TSVhfTUVNQUxJR05f V0lUSF9DT01QTElBTlRfQUxMT0NTIDEKfCAjZGVmaW5lIEhBVkVfU1RSTENQWSAxCnwgI2RlZmlu ZSBHX1ZBX0NPUFkgdmFfY29weQp8ICNkZWZpbmUgR19WQV9DT1BZX0FTX0FSUkFZIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBpc19zZWxpbnV4X2VuYWJsZWQgKCk7 CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gaXNfc2VsaW51eF9lbmFibGVkICgpOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzUwNzU6IHJlc3VsdDogbm8KY29uZmlndXJl OjM1MzI3OiBjaGVja2luZyBzeXMvaW5vdGlmeS5oIHVzYWJpbGl0eQpjb25maWd1cmU6MzUzNDQ6 IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwv aW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzoxNzE6MjU6IGVycm9yOiBzeXMvaW5vdGlmeS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CmNvbmZpZ3VyZTozNTM1MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbGliIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbGliIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy LjIwLjUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ2xpYiAyLjIwLjUiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dp P3Byb2R1Y3Q9Z2xpYiIKfCAjZGVmaW5lIEdMSUJfTUFKT1JfVkVSU0lPTiAyCnwgI2RlZmluZSBH TElCX01JTk9SX1ZFUlNJT04gMjAKfCAjZGVmaW5lIEdMSUJfTUlDUk9fVkVSU0lPTiA1CnwgI2Rl ZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQp8ICNkZWZpbmUgR0xJQl9CSU5BUllfQUdFIDIwMDUK fCAjZGVmaW5lIE5FRURfSUNPTlZfQ0FDSEUgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX0xDX01F U1NBR0VTIDEKfCAjZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQp8ICNkZWZp bmUgSEFWRV9HRVRURVhUIDEKfCAjZGVmaW5lIEhBVkVfRENHRVRURVhUIDEKfCAjZGVmaW5lIEVO QUJMRV9OTFMgMQp8ICNkZWZpbmUgR0VUVEVYVF9QQUNLQUdFICJnbGliMjAiCnwgI2RlZmluZSBH TElCX0xPQ0FMRV9ESVIgIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIgp8ICNkZWZpbmUgVVNFX0xJ QklDT05WX0dOVSAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElS ICIubGlicy8iCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmlu ZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKfCAjZGVmaW5lIEhBVkVfVkFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9BVEVYSVQgMQp8ICNkZWZpbmUgSEFWRV9USU1F R00gMQp8ICNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxCnwg I2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUg U0laRU9GX0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfVk9JRF9QIDgKfCAjZGVmaW5lIFNJWkVPRl9M T05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX19fSU5UNjQgMAp8ICNkZWZpbmUgSEFWRV9MT05H X0xPTkdfRk9STUFUIDEKfCAjZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCnwgI2RlZmluZSBH X0hBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FX18gMQp8ICNkZWZpbmUg R19IQVZFX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0RPV0hJTEVfTUFDUk9TIDEKfCAjZGVmaW5l IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKfCAjZGVmaW5lIEhBVkVf TElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfU0NIRURfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAx CnwgI2RlZmluZSBIQVZFX0ZTVEFCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9C TEtTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTIDEKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX1NUQVRGU19GX0ZTVFlQRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf U1RBVEZTX0ZfQkFWQUlMIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2Rl ZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBTSVpF T0ZfU0laRV9UIDgKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8 ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZp bmUgSEFWRV9TVFJDQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfU1RSTkNBU0VDTVAgMQp8ICNkZWZp bmUgSEFWRV9QT0xMIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfVkFT UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYg MQp8ICNkZWZpbmUgSEFWRV9HRVRDX1VOTE9DS0VEIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksg MQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfQ0hPV04gMQp8ICNkZWZp bmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9G Q0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwg I2RlZmluZSBIQVZFX1NUQVRGUyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBI QVZFX0dFVEdSR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUUFdVSUQgMQp8ICNkZWZpbmUgSEFWRV9T WVNDVExCWU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9HRVRNTlRJTkZPIDEKfCAjZGVmaW5lIEhBVkVf TkFOT1NMRUVQIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X1VOSVg5OF9QUklOVEYgMQp8ICNkZWZpbmUgU1RBVEZTX0FSR1MgMgp8ICNkZWZpbmUgSEFWRV9H T09EX1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xP TkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX1dJTlRf VCAxCnwgI2RlZmluZSBIQVZFX1BUUkRJRkZfVCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0hf V0lUSF9VSU5UTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0hfV0lUSF9VSU5UTUFYIDEKfCAj ZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmlu ZSBIQVZFX1dDU0xFTiAxCnwgI2RlZmluZSBIQVZFX0M5OV9TTlBSSU5URiAxCnwgI2RlZmluZSBS RUFMTE9DXzBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9DT0RFU0VUIDEKfCAjZGVmaW5lIFBPU0lY X01FTUFMSUdOX1dJVEhfQ09NUExJQU5UX0FMTE9DUyAxCnwgI2RlZmluZSBIQVZFX1NUUkxDUFkg MQp8ICNkZWZpbmUgR19WQV9DT1BZIHZhX2NvcHkKfCAjZGVmaW5lIEdfVkFfQ09QWV9BU19BUlJB WSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRl ZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8 c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlm ICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNs dWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwg I2luY2x1ZGUgPHN5cy9pbm90aWZ5Lmg+CmNvbmZpZ3VyZTozNTM2NTogcmVzdWx0OiBubwpjb25m aWd1cmU6MzUzNjk6IGNoZWNraW5nIHN5cy9pbm90aWZ5LmggcHJlc2VuY2UKY29uZmlndXJlOjM1 Mzg0OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVE RVMgY29uZnRlc3QuYwpjb25mdGVzdC5jOjEzODoyNTogZXJyb3I6IHN5cy9pbm90aWZ5Lmg6IE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjM1MzkxOiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGli IDIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25v bWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9W RVJTSU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9N SUNST19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBH TElCX0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEK fCAjZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01B SU5fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dF VFRFWFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0Ug ImdsaWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2Nh bGUiCnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx CnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFW RV9WQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAx CnwgI2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVm aW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpF T0ZfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1Ag OAp8ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAw CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0Nf UFJPVE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19J TkxJTkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElM RV9NQUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FU X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9T VF9CTE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRlNUWVBFTkFNRSAxCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8ICNkZWZpbmUgSEFWRV9MQU5H SU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9D QUxFIDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwg I2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVm aW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9T VFJOQ0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0Qg MQp8ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNk ZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5MT0NLRUQgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0ZDSE1P RCAxCnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xJTksgMQp8ICNkZWZp bmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZTIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV1VJ RCAxCnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVE1OVElO Rk8gMQp8ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAgMQp8ICNkZWZpbmUgSEFWRV9DOTlfVlNOUFJJ TlRGIDEKfCAjZGVmaW5lIEhBVkVfVU5JWDk4X1BSSU5URiAxCnwgI2RlZmluZSBTVEFURlNfQVJH UyAyCnwgI2RlZmluZSBIQVZFX0dPT0RfUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEK fCAjZGVmaW5lIEhBVkVfV0lOVF9UIDEKfCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9JTlRNQVhfVCAxCnwgI2RlZmluZSBIQVZF X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfV0NTTEVOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NO UFJJTlRGIDEKfCAjZGVmaW5lIFJFQUxMT0NfMF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX0NPREVT RVQgMQp8ICNkZWZpbmUgUE9TSVhfTUVNQUxJR05fV0lUSF9DT01QTElBTlRfQUxMT0NTIDEKfCAj ZGVmaW5lIEhBVkVfU1RSTENQWSAxCnwgI2RlZmluZSBHX1ZBX0NPUFkgdmFfY29weQp8ICNkZWZp bmUgR19WQV9DT1BZX0FTX0FSUkFZIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPHN5cy9pbm90aWZ5Lmg+CmNvbmZpZ3VyZTozNTQwNTogcmVzdWx0OiBubwpjb25maWd1cmU6 MzU0Mzg6IGNoZWNraW5nIGZvciBzeXMvaW5vdGlmeS5oCmNvbmZpZ3VyZTozNTQ0NzogcmVzdWx0 OiBubwpjb25maWd1cmU6MzU1OTA6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlw ZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyOjE4OiBlcnJvcjogcG9ydC5oOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CmNvbmZ0ZXN0LmM6NDoyOiBlcnJvcjogI2Vycm9yICJQbGVhc2UgdXBn cmFkZSB0byBOZXZhZGEgNzIgb3IgYWJvdmUgdG8gc3VwcG9lcnQgRkVOIgpjb25maWd1cmU6MzU1 OTc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAKfCAjaW5jbHVkZSA8 cG9ydC5oPgp8ICNpZm5kZWYgUE9SVF9TT1VSQ0VfRklMRQp8ICNlcnJvciAiUGxlYXNlIHVwZ3Jh ZGUgdG8gTmV2YWRhIDcyIG9yIGFib3ZlIHRvIHN1cHBvZXJ0IEZFTiIKfCAjZW5kaWYKfCBpbnQg bWFpbigpIHsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjM1OTY3OiBjaGVja2luZyBmb3IgZ2V0eGF0 dHIgaW4gLWxjCmNvbmZpZ3VyZTozNjAwMjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJ TkdMRV9JTkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jIC1sYyAgICA+ JjUKL3Zhci90bXAvL2NjWTRxTnBtLm8oLnRleHQrMHg3KTogSW4gZnVuY3Rpb24gYG1haW4nOgo6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldHhhdHRyJwpjb25maWd1cmU6MzYwMDk6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAj ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xp YiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9i dWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBH TElCX01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2Rl ZmluZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUK fCAjZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hF IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf TE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJ TkRfVEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmlu ZSBIQVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRF WFRfUEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2Fs L3NoYXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFW RV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAx CnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwg I2RlZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfQVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1F X1IgMQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAj ZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0la RU9GX1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVP Rl9fX0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBT QU5FX01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5l IEdfSEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUg SEFWRV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9TVEFUX1NUX0JMT0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9GU1RZ UEVOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJTCAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgU0laRU9GX1NJWkVfVCA4CnwgI2RlZmluZSBIQVZF X0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDEK fCAjZGVmaW5lIEhBVkVfU1RQQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU1RSQ0FTRUNNUCAxCnwgI2Rl ZmluZSBIQVZFX1NUUk5DQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfUE9MTCAxCnwgI2RlZmluZSBI QVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NF VEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ19VTkxP Q0tFRCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX0NIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTElO SyAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVEFURlMgMQp8ICNk ZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkdJRCAxCnwgI2RlZmluZSBI QVZFX0dFVFBXVUlEIDEKfCAjZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEKfCAjZGVmaW5lIEhB VkVfR0VUTU5USU5GTyAxCnwgI2RlZmluZSBIQVZFX05BTk9TTEVFUCAxCnwgI2RlZmluZSBIQVZF X0M5OV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9VTklYOThfUFJJTlRGIDEKfCAjZGVmaW5l IFNUQVRGU19BUkdTIDIKfCAjZGVmaW5lIEhBVkVfR09PRF9QUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9XSU5UX1QgMQp8ICNkZWZpbmUgSEFWRV9QVFJESUZG X1QgMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDEKfCAj ZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9XQ1NMRU4gMQp8ICNkZWZpbmUg SEFWRV9DOTlfU05QUklOVEYgMQp8ICNkZWZpbmUgUkVBTExPQ18wX1dPUktTIDEKfCAjZGVmaW5l IEhBVkVfQ09ERVNFVCAxCnwgI2RlZmluZSBQT1NJWF9NRU1BTElHTl9XSVRIX0NPTVBMSUFOVF9B TExPQ1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJMQ1BZIDEKfCAjZGVmaW5lIEdfVkFfQ09QWSB2YV9j b3B5CnwgI2RlZmluZSBHX1ZBX0NPUFlfQVNfQVJSQVkgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi QyIKfCAjZW5kaWYKfCBjaGFyIGdldHhhdHRyICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuIGdldHhhdHRyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzYwMzA6 IHJlc3VsdDogbm8KY29uZmlndXJlOjM2MTk0OiBjaGVja2luZyBmb3IgZ2V0eGF0dHIgaW4gLWxh dHRyCmNvbmZpZ3VyZTozNjIyOTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jIC1sYXR0ciAgICA+JjUK L3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sYXR0cgpjb25maWd1cmU6MzYyMzY6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ2xpYiIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgImdsaWIgMi4yMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6 aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWIiCnwgI2RlZmluZSBHTElC X01BSk9SX1ZFUlNJT04gMgp8ICNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCnwgI2RlZmlu ZSBHTElCX01JQ1JPX1ZFUlNJT04gNQp8ICNkZWZpbmUgR0xJQl9JTlRFUkZBQ0VfQUdFIDUKfCAj ZGVmaW5lIEdMSUJfQklOQVJZX0FHRSAyMDA1CnwgI2RlZmluZSBORUVEX0lDT05WX0NBQ0hFIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBIQVZFX0JJTkRf VEVYVERPTUFJTl9DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBI QVZFX0RDR0VUVEVYVCAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEKfCAjZGVmaW5lIEdFVFRFWFRf UEFDS0FHRSAiZ2xpYjIwIgp8ICNkZWZpbmUgR0xJQl9MT0NBTEVfRElSICIvdXNyL2xvY2FsL3No YXJlL2xvY2FsZSIKfCAjZGVmaW5lIFVTRV9MSUJJQ09OVl9HTlUgMQp8ICNkZWZpbmUgSEFWRV9E TEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwg I2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCnwgI2Rl ZmluZSBIQVZFX1ZBTExPQyAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf QVRFWElUIDEKfCAjZGVmaW5lIEhBVkVfVElNRUdNIDEKfCAjZGVmaW5lIEhBVkVfR01USU1FX1Ig MQp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIKfCAjZGVm aW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9G X1ZPSURfUCA4CnwgI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKfCAjZGVmaW5lIFNJWkVPRl9f X0lOVDY0IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0ZPUk1BVCAxCnwgI2RlZmluZSBTQU5F X01BTExPQ19QUk9UT1MgMQp8ICNkZWZpbmUgR19IQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEdf SEFWRV9fX0lOTElORV9fIDEKfCAjZGVmaW5lIEdfSEFWRV9JTkxJTkUgMQp8ICNkZWZpbmUgSEFW RV9ET1dISUxFX01BQ1JPUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB VkVfRkxPQVRfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NDSEVEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1lTQ1RMX0ggMQp8ICNkZWZpbmUgSEFWRV9GU1RBQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxLU0laRSAxCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9TVEFUX1NUX0JMT0NLUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9GU1RZUEVO QU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0JBVkFJTCAxCnwgI2RlZmluZSBI QVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgU0laRU9GX1NJWkVfVCA4CnwgI2RlZmluZSBIQVZFX0xT VEFUIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwg MQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDEKfCAj ZGVmaW5lIEhBVkVfU1RQQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU1RSQ0FTRUNNUCAxCnwgI2RlZmlu ZSBIQVZFX1NUUk5DQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfUE9MTCAxCnwgI2RlZmluZSBIQVZF X0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX1ZBU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NFVEVO ViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ19VTkxPQ0tF RCAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0NIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTElOSyAx CnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVEFURlMgMQp8ICNkZWZp bmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9HRVRHUkdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVFBXVUlEIDEKfCAjZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0VUTU5USU5GTyAxCnwgI2RlZmluZSBIQVZFX05BTk9TTEVFUCAxCnwgI2RlZmluZSBIQVZFX0M5 OV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9VTklYOThfUFJJTlRGIDEKfCAjZGVmaW5lIFNU QVRGU19BUkdTIDIKfCAjZGVmaW5lIEhBVkVfR09PRF9QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9XSU5UX1QgMQp8ICNkZWZpbmUgSEFWRV9QVFJESUZGX1Qg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZFX0lOVE1BWF9UIDEKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9XQ1NMRU4gMQp8ICNkZWZpbmUgSEFW RV9DOTlfU05QUklOVEYgMQp8ICNkZWZpbmUgUkVBTExPQ18wX1dPUktTIDEKfCAjZGVmaW5lIEhB VkVfQ09ERVNFVCAxCnwgI2RlZmluZSBQT1NJWF9NRU1BTElHTl9XSVRIX0NPTVBMSUFOVF9BTExP Q1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJMQ1BZIDEKfCAjZGVmaW5lIEdfVkFfQ09QWSB2YV9jb3B5 CnwgI2RlZmluZSBHX1ZBX0NPUFlfQVNfQVJSQVkgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBl cnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5 cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIK fCAjZW5kaWYKfCBjaGFyIGdldHhhdHRyICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJu IGdldHhhdHRyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzYyNTc6IHJl c3VsdDogbm8KY29uZmlndXJlOjM2NDkzOiBjaGVja2luZyBmb3IgcGxhdGZvcm0tZGVwZW5kZW50 IHNvdXJjZQpjb25maWd1cmU6MzY1MDM6IHJlc3VsdDogCmNvbmZpZ3VyZTozNjUwNzogY2hlY2tp bmcgd2hldGhlciB0byBjb21waWxlIHRpbWVsb29wCmNvbmZpZ3VyZTozNjUxNzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjM2NTI4OiBjaGVja2luZyBpZiBidWlsZGluZyBmb3Igc29tZSBXaW4zMiBw bGF0Zm9ybQpjb25maWd1cmU6MzY1Mzg6IHJlc3VsdDogbm8KY29uZmlndXJlOjM2NjQxOiBjYyAt YyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1BPU0lYNF9EUkFGVF9TT1VSQ0UgLURf UE9TSVg0QV9EUkFGVDEwX1NPVVJDRSAtVV9PU0ZfU09VUkNFIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNDI6IHdhcm5pbmc6IHVudXNl ZCB2YXJpYWJsZSAnbScKY29uZmlndXJlOjM2NjQ4OiAkPyA9IDAKY29uZmlndXJlOjM2NzY3OiBj aGVja2luZyBmb3IgdGhyZWFkIGltcGxlbWVudGF0aW9uCmNvbmZpZ3VyZTozNjc3NjogcmVzdWx0 OiBwb3NpeApjb25maWd1cmU6MzY4ODM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtV2FsbCAtcHRocmVhZCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElT QUJMRV9TSU5HTEVfSU5DTFVERVMgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAg ID4mNQpjb25maWd1cmU6MzY4ODc6ICQ/ID0gMApjb25maWd1cmU6MzY4OTM6IC4vY29uZnRlc3QK Y29uZmlndXJlOjM2ODk3OiAkPyA9IDAKY29uZmlndXJlOjM3MDIwOiBjaGVja2luZyB0aHJlYWQg cmVsYXRlZCBjZmxhZ3MKY29uZmlndXJlOjM3MDIyOiByZXN1bHQ6IC1EX1JFRU5UUkFOVApjb25m aWd1cmU6MzcxOTI6IGNoZWNraW5nIGZvciBzY2hlZF9nZXRfcHJpb3JpdHlfbWluCmNvbmZpZ3Vy ZTozNzI1OTogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1X YWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtRF9S RUVOVFJBTlQgLURfUE9TSVg0X0RSQUZUX1NPVVJDRSAtRF9QT1NJWDRBX0RSQUZUMTBfU09VUkNF IC1VX09TRl9TT1VSQ0UgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgICA+JjUK Y29uZmlndXJlOjM3MjYzOiAkPyA9IDAKY29uZmlndXJlOjM3MjY5OiAuL2NvbmZ0ZXN0CmNvbmZp Z3VyZTozNzI3MzogJD8gPSAwCmNvbmZpZ3VyZTozNzI4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjM3MzQwOiBjaGVja2luZyB0aHJlYWQgcmVsYXRlZCBsaWJyYXJpZXMKY29uZmlndXJlOjM3MzQy OiByZXN1bHQ6IC1wdGhyZWFkIApjb25maWd1cmU6MzczNTY6IGNoZWNraW5nIGZvciBsb2NhbHRp bWVfcgpjb25maWd1cmU6Mzc0MTI6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlh c2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVf SU5DTFVERVMgLURfUkVFTlRSQU5UIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMg ICA+JjUKY29uZmlndXJlOjM3NDE5OiAkPyA9IDAKY29uZmlndXJlOjM3NDQxOiByZXN1bHQ6IHll cwpjb25maWd1cmU6MzczNTY6IGNoZWNraW5nIGZvciBnbXRpbWVfcgpjb25maWd1cmU6Mzc0NDE6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNzQ1NDogY2hlY2tpbmcgZm9yIHBvc2l4IGdldHB3dWlk X3IKY29uZmlndXJlOjM3NDk0OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lO Q0xVREVTIC1EX1JFRU5UUkFOVCAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAg PiY1CmNvbmZpZ3VyZTozNzQ5ODogJD8gPSAwCmNvbmZpZ3VyZTozNzUwNDogLi9jb25mdGVzdApj b25maWd1cmU6Mzc1MDg6ICQ/ID0gMApjb25maWd1cmU6Mzc1MjU6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTozNzYxNDogY2hlY2tpbmcgZm9yIHBvc2l4IGdldGdyZ2lkX3IKY29uZmlndXJlOjM3NjU0 OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JFRU5UUkFO VCAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTozNzY1 ODogJD8gPSAwCmNvbmZpZ3VyZTozNzY2NDogLi9jb25mdGVzdApjb25maWd1cmU6Mzc2Njg6ICQ/ ID0gMApjb25maWd1cmU6Mzc2ODU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNzc3NzogY2hlY2tp bmcgc2l6ZSBvZiBwdGhyZWFkX3QKY29uZmlndXJlOjM4MDg0OiBjYyAtbyBjb25mdGVzdCAtTzIg LWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURH X0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JFRU5UUkFOVCAtRF9QT1NJWDRfRFJBRlRfU09V UkNFIC1EX1BPU0lYNEFfRFJBRlQxMF9TT1VSQ0UgLVVfT1NGX1NPVVJDRSAtTC91c3IvbG9jYWwv bGliIC1saW50bCBjb25mdGVzdC5jIC1wdGhyZWFkICAgID4mNQpjb25maWd1cmU6MzgwODg6ICQ/ ID0gMApjb25maWd1cmU6MzgwOTQ6IC4vY29uZnRlc3QKY29uZmlndXJlOjM4MDk4OiAkPyA9IDAK Y29uZmlndXJlOjM4MTE4OiByZXN1bHQ6IDgKY29uZmlndXJlOjM4MTI3OiBjaGVja2luZyBmb3Ig cHRocmVhZF9hdHRyX3NldHN0YWNrc2l6ZQpjb25maWd1cmU6MzgxNTA6IGNjIC1vIGNvbmZ0ZXN0 IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLURfUkVFTlRSQU5UIC1EX1BPU0lYNF9EUkFG VF9TT1VSQ0UgLURfUE9TSVg0QV9EUkFGVDEwX1NPVVJDRSAtVV9PU0ZfU09VUkNFIC1ML3Vzci9s b2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgLXB0aHJlYWQgICAgPiY1CmNvbmZpZ3VyZTozODE1 NzogJD8gPSAwCmNvbmZpZ3VyZTozODE2NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM4MTgzOiBj aGVja2luZyBmb3IgbWluaW1hbC9tYXhpbWFsIHRocmVhZCBwcmlvcml0eQpjb25maWd1cmU6Mzgy NTc6IHJlc3VsdDogc2NoZWRfZ2V0X3ByaW9yaXR5X21pbihTQ0hFRF9PVEhFUikvc2NoZWRfZ2V0 X3ByaW9yaXR5X21heChTQ0hFRF9PVEhFUikKY29uZmlndXJlOjM4MjU5OiBjaGVja2luZyBmb3Ig cHRocmVhZF9zZXRzY2hlZHBhcmFtCmNvbmZpZ3VyZTozODI4MjogY2MgLW8gY29uZnRlc3QgLU8y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1E R19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtRF9SRUVOVFJBTlQgLURfUE9TSVg0X0RSQUZUX1NP VVJDRSAtRF9QT1NJWDRBX0RSQUZUMTBfU09VUkNFIC1VX09TRl9TT1VSQ0UgLUwvdXNyL2xvY2Fs L2xpYiAtbGludGwgY29uZnRlc3QuYyAtcHRocmVhZCAgICA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjE0ODogd2FybmluZzogJ3QnIGlzIHVzZWQgdW5pbml0 aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCmNvbmZpZ3VyZTozODI4OTogJD8gPSAwCmNvbmZpZ3Vy ZTozODI5NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM4MzI0OiBjaGVja2luZyBmb3IgcG9zaXgg eWllbGQgZnVuY3Rpb24KY29uZmlndXJlOjM4MzQ5OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1z dHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FC TEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JFRU5UUkFOVCAtRF9QT1NJWDRfRFJBRlRfU09VUkNFIC1E X1BPU0lYNEFfRFJBRlQxMF9TT1VSQ0UgLVVfT1NGX1NPVVJDRSAtTC91c3IvbG9jYWwvbGliIC1s aW50bCBjb25mdGVzdC5jIC1wdGhyZWFkICAgID4mNQpjb25maWd1cmU6MzgzNTY6ICQ/ID0gMApj b25maWd1cmU6MzgzODQ6IHJlc3VsdDogc2NoZWRfeWllbGQKY29uZmlndXJlOjM5MTMyOiBjaGVj a2luZyBzaXplIG9mIHB0aHJlYWRfbXV0ZXhfdApjb25maWd1cmU6Mzk0Mzk6IGNjIC1vIGNvbmZ0 ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5j bHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLURfUkVFTlRSQU5UIC1EX1BPU0lYNF9E UkFGVF9TT1VSQ0UgLURfUE9TSVg0QV9EUkFGVDEwX1NPVVJDRSAtVV9PU0ZfU09VUkNFIC1ML3Vz ci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgLXB0aHJlYWQgICAgPiY1CmNvbmZpZ3VyZToz OTQ0MzogJD8gPSAwCmNvbmZpZ3VyZTozOTQ0OTogLi9jb25mdGVzdApjb25maWd1cmU6Mzk0NTM6 ICQ/ID0gMApjb25maWd1cmU6Mzk0NzM6IHJlc3VsdDogOApjb25maWd1cmU6Mzk0ODA6IGNoZWNr aW5nIGJ5dGUgY29udGVudHMgb2YgUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUgpjb25maWd1cmU6 Mzk1MTU6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtV2Fs bCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5HTEVfSU5DTFVERVMgLURfUkVF TlRSQU5UIC1EX1BPU0lYNF9EUkFGVF9TT1VSQ0UgLURfUE9TSVg0QV9EUkFGVDEwX1NPVVJDRSAt VV9PU0ZfU09VUkNFIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0LmMgLXB0aHJlYWQg ICAgPiY1CmNvbmZ0ZXN0LmM6MTUyOiB3YXJuaW5nOiByZXR1cm4gdHlwZSBkZWZhdWx0cyB0byAn aW50Jwpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTU3OiB3YXJu aW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZXhpdCcKY29uZnRlc3QuYzox NTc6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1p biBmdW5jdGlvbiAnZXhpdCcKY29uZmlndXJlOjM5NTE5OiAkPyA9IDAKY29uZmlndXJlOjM5NTI1 OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTozOTUyOTogJD8gPSAwCmNvbmZpZ3VyZTozOTU0NjogcmVz dWx0OiAwLDAsMCwwLDAsMCwwLDAKY29uZmlndXJlOjM5NTY1OiBjaGVja2luZyBmb3IgY2xvY2tf Z2V0dGltZQpjb25maWd1cmU6Mzk2MjE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5vLXN0cmljdC1h bGlhc2luZyAtcGlwZSAtV2FsbCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtREdfRElTQUJMRV9TSU5H TEVfSU5DTFVERVMgLURfUkVFTlRSQU5UIC1ML3Vzci9sb2NhbC9saWIgLWxpbnRsIGNvbmZ0ZXN0 LmMgICA+JjUKY29uZmlndXJlOjM5NjI4OiAkPyA9IDAKY29uZmlndXJlOjM5NjUwOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6Mzk3NDI6IGNoZWNraW5nIGZvciBtb25vdG9uaWMgY2xvY2tzCmNvbmZp Z3VyZTozOTc3MDogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtRF9SRUVOVFJB TlQgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM5Nzc3OiAkPyA9IDAKY29uZmlndXJlOjM5Nzky OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mzk4MDQ6IGNoZWNraW5nIHdoZXRoZXIgdG8gdXNlIGFz c2VtYmxlciBjb2RlIGZvciBhdG9taWMgb3BlcmF0aW9ucwpjb25maWd1cmU6Mzk4OTQ6IHJlc3Vs dDogeDg2XzY0CmNvbmZpZ3VyZTo0MDA0MzogY2hlY2tpbmcgdmFsdWUgb2YgUE9MTElOCmNvbmZp Z3VyZTo0MDMzODogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl IC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAt RF9SRUVOVFJBTlQgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25m aWd1cmU6NDAzNDI6ICQ/ID0gMApjb25maWd1cmU6NDAzNDg6IC4vY29uZnRlc3QKY29uZmlndXJl OjQwMzUyOiAkPyA9IDAKY29uZmlndXJlOjQwMzY5OiByZXN1bHQ6IDEKY29uZmlndXJlOjQwMzcy OiBjaGVja2luZyB2YWx1ZSBvZiBQT0xMT1VUCmNvbmZpZ3VyZTo0MDY2NzogY2MgLW8gY29uZnRl c3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtRF9SRUVOVFJBTlQgLUwvdXNyL2xvY2Fs L2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6NDA2NzE6ICQ/ID0gMApjb25m aWd1cmU6NDA2Nzc6IC4vY29uZnRlc3QKY29uZmlndXJlOjQwNjgxOiAkPyA9IDAKY29uZmlndXJl OjQwNjk4OiByZXN1bHQ6IDQKY29uZmlndXJlOjQwNzAxOiBjaGVja2luZyB2YWx1ZSBvZiBQT0xM UFJJCmNvbmZpZ3VyZTo0MDk5NjogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9J TkNMVURFUyAtRF9SRUVOVFJBTlQgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAg ID4mNQpjb25maWd1cmU6NDEwMDA6ICQ/ID0gMApjb25maWd1cmU6NDEwMDY6IC4vY29uZnRlc3QK Y29uZmlndXJlOjQxMDEwOiAkPyA9IDAKY29uZmlndXJlOjQxMDI3OiByZXN1bHQ6IDIKY29uZmln dXJlOjQxMDMwOiBjaGVja2luZyB2YWx1ZSBvZiBQT0xMRVJSCmNvbmZpZ3VyZTo0MTMyNTogY2Mg LW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1ER19ESVNBQkxFX1NJTkdMRV9JTkNMVURFUyAtRF9SRUVOVFJBTlQgLUwv dXNyL2xvY2FsL2xpYiAtbGludGwgY29uZnRlc3QuYyAgID4mNQpjb25maWd1cmU6NDEzMjk6ICQ/ ID0gMApjb25maWd1cmU6NDEzMzU6IC4vY29uZnRlc3QKY29uZmlndXJlOjQxMzM5OiAkPyA9IDAK Y29uZmlndXJlOjQxMzU2OiByZXN1bHQ6IDgKY29uZmlndXJlOjQxMzU5OiBjaGVja2luZyB2YWx1 ZSBvZiBQT0xMSFVQCmNvbmZpZ3VyZTo0MTY1NDogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ER19ESVNBQkxF X1NJTkdMRV9JTkNMVURFUyAtRF9SRUVOVFJBTlQgLUwvdXNyL2xvY2FsL2xpYiAtbGludGwgY29u ZnRlc3QuYyAgID4mNQpjb25maWd1cmU6NDE2NTg6ICQ/ID0gMApjb25maWd1cmU6NDE2NjQ6IC4v Y29uZnRlc3QKY29uZmlndXJlOjQxNjY4OiAkPyA9IDAKY29uZmlndXJlOjQxNjg1OiByZXN1bHQ6 IDE2CmNvbmZpZ3VyZTo0MTY4ODogY2hlY2tpbmcgdmFsdWUgb2YgUE9MTE5WQUwKY29uZmlndXJl OjQxOTgzOiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdh bGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JF RU5UUkFOVCAtTC91c3IvbG9jYWwvbGliIC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3Vy ZTo0MTk4NzogJD8gPSAwCmNvbmZpZ3VyZTo0MTk5MzogLi9jb25mdGVzdApjb25maWd1cmU6NDE5 OTc6ICQ/ID0gMApjb25maWd1cmU6NDIwMTQ6IHJlc3VsdDogMzIKY29uZmlndXJlOjQyMDMxOiBj aGVja2luZyBmb3IgYnJva2VuIHBvbGwKY29uZmlndXJlOjQyMDY4OiBjYyAtbyBjb25mdGVzdCAt TzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLVdhbGwgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LURHX0RJU0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JFRU5UUkFOVCAtTC91c3IvbG9jYWwvbGli IC1saW50bCBjb25mdGVzdC5jICAgPiY1CmNvbmZpZ3VyZTo0MjA3MjogJD8gPSAwCmNvbmZpZ3Vy ZTo0MjA3ODogLi9jb25mdGVzdApjb25maWd1cmU6NDIwODI6ICQ/ID0gMApjb25maWd1cmU6NDIx MDM6IHJlc3VsdDogbm8KY29uZmlndXJlOjQyMjYwOiBjaGVja2luZyBwa2ctY29uZmlnIGlzIGF0 IGxlYXN0IHZlcnNpb24gMC45LjAKY29uZmlndXJlOjQyMjYzOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6NDIyNzQ6IGNoZWNraW5nIGZvciBQQ1JFCmNvbmZpZ3VyZTo0MjI4MTogJFBLR19DT05GSUcg LS1leGlzdHMgLS1wcmludC1lcnJvcnMgImxpYnBjcmUgPj0gJFBDUkVfUkVRVUlSRURfVkVSU0lP TiIKY29uZmlndXJlOjQyMjg0OiAkPyA9IDAKY29uZmlndXJlOjQyMjk3OiAkUEtHX0NPTkZJRyAt LWV4aXN0cyAtLXByaW50LWVycm9ycyAibGlicGNyZSA+PSAkUENSRV9SRVFVSVJFRF9WRVJTSU9O Igpjb25maWd1cmU6NDIzMDA6ICQ/ID0gMApjb25maWd1cmU6NDIzNzc6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo0MjM4MTogY2hlY2tpbmcgZm9yIFVuaWNvZGUgc3VwcG9ydCBpbiBQQ1JFCmNvbmZp Z3VyZTo0MjQxNzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBl IC1XYWxsIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJ U0FCTEVfU0lOR0xFX0lOQ0xVREVTIC1EX1JFRU5UUkFOVCAtTC91c3IvbG9jYWwvbGliIC1saW50 bCBjb25mdGVzdC5jIC1ML3Vzci9sb2NhbC9saWIgLWxwY3JlICAgPiY1CmNvbmZpZ3VyZTo0MjQy MTogJD8gPSAwCmNvbmZpZ3VyZTo0MjQyNzogLi9jb25mdGVzdApjb25maWd1cmU6NDI0MzE6ICQ/ ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaC4gICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgImdsaWIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdsaWIiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjIuMjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbGliIDIu MjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUu b3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgp8ICNkZWZpbmUgR0xJQl9NQUpPUl9WRVJT SU9OIDIKfCAjZGVmaW5lIEdMSUJfTUlOT1JfVkVSU0lPTiAyMAp8ICNkZWZpbmUgR0xJQl9NSUNS T19WRVJTSU9OIDUKfCAjZGVmaW5lIEdMSUJfSU5URVJGQUNFX0FHRSA1CnwgI2RlZmluZSBHTElC X0JJTkFSWV9BR0UgMjAwNQp8ICNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAj ZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMgMQp8ICNkZWZpbmUgSEFWRV9CSU5EX1RFWFRET01BSU5f Q09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8ICNkZWZpbmUgSEFWRV9EQ0dFVFRF WFQgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBHRVRURVhUX1BBQ0tBR0UgImds aWIyMCIKfCAjZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUi CnwgI2RlZmluZSBVU0VfTElCSUNPTlZfR05VIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwg I2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFW RV9NTUFQIDEKfCAjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQp8ICNkZWZpbmUgSEFWRV9W QUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0FURVhJVCAxCnwg I2RlZmluZSBIQVZFX1RJTUVHTSAxCnwgI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKfCAjZGVmaW5l IFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBTSVpFT0Zf TE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAp8 ICNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfX19JTlQ2NCAwCnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19GT1JNQVQgMQp8ICNkZWZpbmUgU0FORV9NQUxMT0NfUFJP VE9TIDEKfCAjZGVmaW5lIEdfSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBHX0hBVkVfX19JTkxJ TkVfXyAxCnwgI2RlZmluZSBHX0hBVkVfSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfRE9XSElMRV9N QUNST1MgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0ZMT0FUX0gg MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm aW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NZU0NUTF9IIDEKfCAjZGVmaW5lIEhBVkVfRlNUQUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUlVDVF9TVEFUX1NUX0JMS1NJWkUgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9C TE9DS1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRlNUWVBFTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9CQVZBSUwgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJO Q0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1BPTEwgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8 ICNkZWZpbmUgSEFWRV9WQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZp bmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5MT0NLRUQgMQp8ICNkZWZp bmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9DSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PRCAx CnwgI2RlZmluZSBIQVZFX0ZDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xJTksgMQp8ICNkZWZpbmUg SEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEZTIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVTIDEKfCAjZGVmaW5lIEhBVkVfR0VUR1JHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRQV1VJRCAx CnwgI2RlZmluZSBIQVZFX1NZU0NUTEJZTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dFVE1OVElORk8g MQp8ICNkZWZpbmUgSEFWRV9OQU5PU0xFRVAgMQp8ICNkZWZpbmUgSEFWRV9DOTlfVlNOUFJJTlRG IDEKfCAjZGVmaW5lIEhBVkVfVU5JWDk4X1BSSU5URiAxCnwgI2RlZmluZSBTVEFURlNfQVJHUyAy CnwgI2RlZmluZSBIQVZFX0dPT0RfUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEK fCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAj ZGVmaW5lIEhBVkVfV0lOVF9UIDEKfCAjZGVmaW5lIEhBVkVfUFRSRElGRl9UIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSF9X SVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9JTlRNQVhfVCAxCnwgI2RlZmluZSBIQVZFX1NO UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfV0NTTEVOIDEKfCAjZGVmaW5lIEhBVkVfQzk5X1NOUFJJ TlRGIDEKfCAjZGVmaW5lIFJFQUxMT0NfMF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX0NPREVTRVQg MQp8ICNkZWZpbmUgUE9TSVhfTUVNQUxJR05fV0lUSF9DT01QTElBTlRfQUxMT0NTIDEKfCAjZGVm aW5lIEhBVkVfU1RSTENQWSAxCnwgI2RlZmluZSBHX1ZBX0NPUFkgdmFfY29weQp8ICNkZWZpbmUg R19WQV9DT1BZX0FTX0FSUkFZIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQp8ICNkZWZp bmUgSEFWRV9HTVRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX1BPU0lYX0dFVFBXVUlEX1IgMQp8ICNk ZWZpbmUgSEFWRV9QT1NJWF9HRVRHUkdJRF9SIDEKfCAjZGVmaW5lIEdMSUJfU0laRU9GX1NZU1RF TV9USFJFQUQgOAp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0FUVFJfU0VUU1RBQ0tTSVpFIDEKfCAj ZGVmaW5lIFBPU0lYX01JTl9QUklPUklUWSBzY2hlZF9nZXRfcHJpb3JpdHlfbWluKFNDSEVEX09U SEVSKQp8ICNkZWZpbmUgUE9TSVhfTUFYX1BSSU9SSVRZIHNjaGVkX2dldF9wcmlvcml0eV9tYXgo U0NIRURfT1RIRVIpCnwgI2RlZmluZSBQT1NJWF9ZSUVMRF9GVU5DIHNjaGVkX3lpZWxkKCkKfCAj ZGVmaW5lIEdfVEhSRUFEX1NPVVJDRSAiZ3RocmVhZC1wb3NpeC5jIgp8ICNkZWZpbmUgR0xJQl9T SVpFT0ZfR01VVEVYIDgKfCAjZGVmaW5lIEdMSUJfQllURV9DT05URU5UU19HTVVURVggMCwwLDAs MCwwLDAsMCwwCnwgI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQp8ICNkZWZpbmUgSEFWRV9N T05PVE9OSUNfQ0xPQ0sgMQp8ICNkZWZpbmUgR19BVE9NSUNfWDg2XzY0IDEKfCAjZGVmaW5lIEVO QUJMRV9SRUdFWCAvKiovCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxwY3Jl Lmg+CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtYWluICgpIHsKfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3VwcG9ydDsKfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwY3JlX2NvbmZpZyAoUENSRV9DT05GSUdfVVRGOCwgJnN1cHBv cnQpOwp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3VwcG9ydCkKfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwp8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBjcmVfY29uZmlnIChQQ1JFX0NPTkZJR19VTklDT0RFX1BS T1BFUlRJRVMsICZzdXBwb3J0KTsKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp ZiAoIXN1cHBvcnQpCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g MTsKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQpjb25maWd1cmU6NDI0NTE6IHJlc3VsdDogbm8KY29u ZmlndXJlOjQyNDU0OiBlcnJvcjogKioqIFRoZSBzeXN0ZW0tc3VwcGxpZWQgUENSRSBkb2VzIG5v dCBzdXBwb3J0IFVuaWNvZGUgcHJvcGVydGllcyBvciBVVEYtOC4KCiMjIC0tLS0tLS0tLS0tLS0t LS0gIyMKIyMgQ2FjaGUgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tICMjCgphY19j dl9idWlsZD14ODZfNjQtcG9ydGJsZC1mcmVlYnNkNy4yCmFjX2N2X2NfYmlnZW5kaWFuPW5vCmFj X2N2X2NfY29tcGlsZXJfZ251PXllcwphY19jdl9jX2NvbnN0PXllcwphY19jdl9jeHhfY29tcGls ZXJfZ251PXllcwphY19jdl9lbnZfQ0NDX3NldD0nJwphY19jdl9lbnZfQ0NDX3ZhbHVlPScnCmFj X2N2X2Vudl9DQ19zZXQ9c2V0CmFjX2N2X2Vudl9DQ192YWx1ZT1jYwphY19jdl9lbnZfQ0ZMQUdT X3NldD1zZXQKYWNfY3ZfZW52X0NGTEFHU192YWx1ZT0nLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1waXBlJwphY19jdl9lbnZfQ1BQRkxBR1Nfc2V0PXNldAphY19jdl9lbnZfQ1BQRkxBR1NfdmFs dWU9LUkvdXNyL2xvY2FsL2luY2x1ZGUKYWNfY3ZfZW52X0NQUF9zZXQ9JycKYWNfY3ZfZW52X0NQ UF92YWx1ZT0nJwphY19jdl9lbnZfQ1hYQ1BQX3NldD0nJwphY19jdl9lbnZfQ1hYQ1BQX3ZhbHVl PScnCmFjX2N2X2Vudl9DWFhGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9DWFhGTEFHU192YWx1ZT0n LU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlJwphY19jdl9lbnZfQ1hYX3NldD1zZXQKYWNf Y3ZfZW52X0NYWF92YWx1ZT1jKysKYWNfY3ZfZW52X0xERkxBR1Nfc2V0PXNldAphY19jdl9lbnZf TERGTEFHU192YWx1ZT0nLUwvdXNyL2xvY2FsL2xpYiAtbGludGwnCmFjX2N2X2Vudl9MSUJTX3Nl dD0nJwphY19jdl9lbnZfTElCU192YWx1ZT0nJwphY19jdl9lbnZfUENSRV9DRkxBR1Nfc2V0PScn CmFjX2N2X2Vudl9QQ1JFX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfUENSRV9MSUJTX3NldD0n JwphY19jdl9lbnZfUENSRV9MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9QS0dfQ09ORklHX3NldD0n JwphY19jdl9lbnZfUEtHX0NPTkZJR192YWx1ZT0nJwphY19jdl9lbnZfYnVpbGRfYWxpYXNfc2V0 PXNldAphY19jdl9lbnZfYnVpbGRfYWxpYXNfdmFsdWU9eDg2XzY0LXBvcnRibGQtZnJlZWJzZDcu MgphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X2hvc3RfYWxpYXNfdmFsdWU9 JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc192 YWx1ZT0nJwphY19jdl9mdW5jX19OU0dldEVudmlyb249bm8KYWNfY3ZfZnVuY19fZG9wcm50PW5v CmFjX2N2X2Z1bmNfYWxsb2NhX3dvcmtzPXllcwphY19jdl9mdW5jX2F0ZXhpdD15ZXMKYWNfY3Zf ZnVuY19iaW5kX3RleHRkb21haW5fY29kZXNldD15ZXMKYWNfY3ZfZnVuY19jaG93bj15ZXMKYWNf Y3ZfZnVuY19jbG9ja19nZXR0aW1lPXllcwphY19jdl9mdW5jX2RjZ2V0dGV4dD15ZXMKYWNfY3Zf ZnVuY19kbGVycm9yPXllcwphY19jdl9mdW5jX2Rsb3Blbj15ZXMKYWNfY3ZfZnVuY19kbHN5bT15 ZXMKYWNfY3ZfZnVuY19lbmRtbnRlbnQ9bm8KYWNfY3ZfZnVuY19mY2htb2Q9eWVzCmFjX2N2X2Z1 bmNfZmNob3duPXllcwphY19jdl9mdW5jX2Zkd2Fsaz1ubwphY19jdl9mdW5jX2ZzeW5jPXllcwph Y19jdl9mdW5jX2dldGNfdW5sb2NrZWQ9eWVzCmFjX2N2X2Z1bmNfZ2V0Y3dkPXllcwphY19jdl9m dW5jX2dldGdyZ2lkPXllcwphY19jdl9mdW5jX2dldG1udGVudF9yPW5vCmFjX2N2X2Z1bmNfZ2V0 bW50aW5mbz15ZXMKYWNfY3ZfZnVuY19nZXRwd3VpZD15ZXMKYWNfY3ZfZnVuY19nbXRpbWVfcj15 ZXMKYWNfY3ZfZnVuY19oYXNtbnRvcHQ9bm8KYWNfY3ZfZnVuY19sY2hvd249eWVzCmFjX2N2X2Z1 bmNfbGluaz15ZXMKYWNfY3ZfZnVuY19sb2NhbHRpbWVfcj15ZXMKYWNfY3ZfZnVuY19sc3RhdD15 ZXMKYWNfY3ZfZnVuY19tZW1hbGlnbj1ubwphY19jdl9mdW5jX21lbW1vdmU9eWVzCmFjX2N2X2Z1 bmNfbW1hcD15ZXMKYWNfY3ZfZnVuY19uYW5vc2xlZXA9eWVzCmFjX2N2X2Z1bmNfbnNsZWVwPW5v CmFjX2N2X2Z1bmNfb25fZXhpdD1ubwphY19jdl9mdW5jX3BpcGUyPW5vCmFjX2N2X2Z1bmNfcG9s bD15ZXMKYWNfY3ZfZnVuY19wb3NpeF9nZXRncmdpZF9yPXllcwphY19jdl9mdW5jX3Bvc2l4X2dl dHB3dWlkX3I9eWVzCmFjX2N2X2Z1bmNfcG9zaXhfbWVtYWxpZ249eWVzCmFjX2N2X2Z1bmNfcHJp bnRmX3VuaXg5OD15ZXMKYWNfY3ZfZnVuY19yZWFkbGluaz15ZXMKYWNfY3ZfZnVuY19zZXRlbnY9 eWVzCmFjX2N2X2Z1bmNfc2V0bG9jYWxlPXllcwphY19jdl9mdW5jX3NldG1udGVudD1ubwphY19j dl9mdW5jX3NucHJpbnRmPXllcwphY19jdl9mdW5jX3NucHJpbnRmX2M5OT15ZXMKYWNfY3ZfZnVu Y19zdGF0ZnM9eWVzCmFjX2N2X2Z1bmNfc3RhdHZmcz15ZXMKYWNfY3ZfZnVuY19zdHBjcHk9eWVz CmFjX2N2X2Z1bmNfc3RyY2FzZWNtcD15ZXMKYWNfY3ZfZnVuY19zdHJlcnJvcj15ZXMKYWNfY3Zf ZnVuY19zdHJuY2FzZWNtcD15ZXMKYWNfY3ZfZnVuY19zdHJzaWduYWw9eWVzCmFjX2N2X2Z1bmNf c3ltbGluaz15ZXMKYWNfY3ZfZnVuY19zeXNjdGxieW5hbWU9eWVzCmFjX2N2X2Z1bmNfdGltZWdt PXllcwphY19jdl9mdW5jX3Vuc2V0ZW52PXllcwphY19jdl9mdW5jX3V0aW1lcz15ZXMKYWNfY3Zf ZnVuY192YWxsb2M9eWVzCmFjX2N2X2Z1bmNfdmFzcHJpbnRmPXllcwphY19jdl9mdW5jX3Zwcmlu dGY9eWVzCmFjX2N2X2Z1bmNfdnNucHJpbnRmPXllcwphY19jdl9mdW5jX3ZzbnByaW50Zl9jOTk9 eWVzCmFjX2N2X2Z1bmNfd2NzbGVuPXllcwphY19jdl9nbnVfbGlicmFyeV8yXzE9bm8KYWNfY3Zf aGVhZGVyX2NydF9leHRlcm5zX2g9bm8KYWNfY3ZfaGVhZGVyX2RpcmVudF9oPXllcwphY19jdl9o ZWFkZXJfZGxmY25faD15ZXMKYWNfY3ZfaGVhZGVyX2Zsb2F0X2g9eWVzCmFjX2N2X2hlYWRlcl9m c3RhYl9oPXllcwphY19jdl9oZWFkZXJfZ3JwX2g9eWVzCmFjX2N2X2hlYWRlcl9pbnR0eXBlc19o PXllcwphY19jdl9oZWFkZXJfbGliaW50bF9oPXllcwphY19jdl9oZWFkZXJfbGltaXRzX2g9eWVz CmFjX2N2X2hlYWRlcl9sb2NhbGVfaD15ZXMKYWNfY3ZfaGVhZGVyX21hbGxvY19oPW5vCmFjX2N2 X2hlYWRlcl9tZW1vcnlfaD15ZXMKYWNfY3ZfaGVhZGVyX21udGVudF9oPW5vCmFjX2N2X2hlYWRl cl9wd2RfaD15ZXMKYWNfY3ZfaGVhZGVyX3NjaGVkX2g9eWVzCmFjX2N2X2hlYWRlcl9zdGRjPXll cwphY19jdl9oZWFkZXJfc3RkZGVmX2g9eWVzCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD15ZXMKYWNf Y3ZfaGVhZGVyX3N0ZGxpYl9oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hl YWRlcl9zdHJpbmdzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfaW5vdGlmeV9oPW5vCmFjX2N2X2hl YWRlcl9zeXNfbW50Y3RsX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19tbnR0YWJfaD1ubwphY19jdl9o ZWFkZXJfc3lzX21vdW50X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfcGFyYW1faD15ZXMKYWNfY3Zf aGVhZGVyX3N5c19wb2xsX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfcmVzb3VyY2VfaD15ZXMKYWNf Y3ZfaGVhZGVyX3N5c19zZWxlY3RfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzCmFj X2N2X2hlYWRlcl9zeXNfc3RhdGZzX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19zdGF0dmZzX2g9eWVz CmFjX2N2X2hlYWRlcl9zeXNfc3lzY3RsX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdGltZV9oPXll cwphY19jdl9oZWFkZXJfc3lzX3RpbWVzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaD15 ZXMKYWNfY3ZfaGVhZGVyX3N5c192ZnNfaD1ubwphY19jdl9oZWFkZXJfc3lzX3Zmc3RhYl9oPW5v CmFjX2N2X2hlYWRlcl9zeXNfdm1vdW50X2g9bm8KYWNfY3ZfaGVhZGVyX3N5c193YWl0X2g9eWVz CmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMKYWNfY3ZfaGVhZGVyX3ZhbHVlc19oPW5vCmFjX2N2 X2hvc3Q9eDg2XzY0LXBvcnRibGQtZnJlZWJzZDcuMgphY19jdl9saWJfYXR0cl9nZXR4YXR0cj1u bwphY19jdl9saWJfY19nZXR4YXR0cj1ubwphY19jdl9saWJfaWNvbnZfbGliaWNvbnZfb3Blbj15 ZXMKYWNfY3ZfbGliX3NlbGludXhfaXNfc2VsaW51eF9lbmFibGVkPW5vCmFjX2N2X21lbWJlcl9z dHJ1Y3Rfc3RhdF9zdF9hdGltX3R2X25zZWM9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0 X2F0aW1lbnNlYz1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfYmxrc2l6ZT15ZXMKYWNf Y3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2Jsb2Nrcz15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9z dGF0X3N0X2N0aW1fdHZfbnNlYz1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfY3RpbWVu c2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9tdGltX3R2X25zZWM9bm8KYWNfY3Zf bWVtYmVyX3N0cnVjdF9zdGF0X3N0X210aW1lbnNlYz1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0 YXRmc19mX2JhdmFpbD15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0ZnNfZl9mc3R5cGVuYW1l PXllcwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXR2ZnNfZl9iYXNldHlwZT1ubwphY19jdl9vYmpl eHQ9bwphY19jdl9wYXRoX0RPTFRfQkFTSD0nJwphY19jdl9wYXRoX0VHUkVQPScvdXNyL2Jpbi9n cmVwIC1FJwphY19jdl9wYXRoX0ZHUkVQPScvdXNyL2Jpbi9ncmVwIC1GJwphY19jdl9wYXRoX0dN U0dGTVQ9L3Vzci9sb2NhbC9iaW4vbXNnZm10CmFjX2N2X3BhdGhfR1JFUD0vdXNyL2Jpbi9ncmVw CmFjX2N2X3BhdGhfTVNHRk1UPS91c3IvbG9jYWwvYmluL21zZ2ZtdAphY19jdl9wYXRoX1BFUkxf UEFUSD0vdXNyL2Jpbi9wZXJsNQphY19jdl9wYXRoX1BLR19DT05GSUc9L3Vzci9sb2NhbC9iaW4v cGtnLWNvbmZpZwphY19jdl9wYXRoX1NFRD0vdXNyL2Jpbi9zZWQKYWNfY3ZfcGF0aF9YR0VUVEVY VD0vdXNyL2xvY2FsL2Jpbi94Z2V0dGV4dAphY19jdl9wcm9nX0FXSz1uYXdrCmFjX2N2X3Byb2df Q1BQPSdjYyAtRScKYWNfY3ZfcHJvZ19DWFg9YysrCmFjX2N2X3Byb2dfQ1hYQ1BQPSdjKysgLUUn CmFjX2N2X3Byb2dfSU5ERU5UPWluZGVudAphY19jdl9wcm9nX1BFUkw9cGVybDUKYWNfY3ZfcHJv Z19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0X0NDPWNjCmFjX2N2X3Byb2dfYWNfY3RfT0JK RFVNUD1vYmpkdW1wCmFjX2N2X3Byb2dfYWNfY3RfUkFOTElCPXJhbmxpYgphY19jdl9wcm9nX2Fj X2N0X1NUUklQPXN0cmlwCmFjX2N2X3Byb2dfY2NfYzg5PScnCmFjX2N2X3Byb2dfY2NfY2NfY19v PXllcwphY19jdl9wcm9nX2NjX2c9eWVzCmFjX2N2X3Byb2dfY3h4X2c9eWVzCmFjX2N2X3Byb2df bWFrZV9nbWFrZV9zZXQ9eWVzCmFjX2N2X3NpemVvZl9fX2ludDY0PTAKYWNfY3Zfc2l6ZW9mX2No YXI9MQphY19jdl9zaXplb2ZfaW50PTQKYWNfY3Zfc2l6ZW9mX2xvbmc9OAphY19jdl9zaXplb2Zf bG9uZ19sb25nPTgKYWNfY3Zfc2l6ZW9mX3Nob3J0PTIKYWNfY3Zfc2l6ZW9mX3NpemVfdD04CmFj X2N2X3NpemVvZl92b2lkX3A9OAphY19jdl9zeXNfZmlsZV9vZmZzZXRfYml0cz1ubwphY19jdl9z eXNfbGFyZ2VmaWxlX0NDPW5vCmFjX2N2X3R5cGVfbG9uZ19sb25nPXllcwphY19jdl90eXBlX3B0 cmRpZmZfdD15ZXMKYWNfY3ZfdHlwZV9zaXplX3Q9eWVzCmFjX2N2X3dvcmtpbmdfYWxsb2NhX2g9 bm8KYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9Z2NjMwphbV9jdl9DWFhfZGVw ZW5kZW5jaWVzX2NvbXBpbGVyX3R5cGU9Z2NjMwphbV9jdl9sYW5naW5mb19jb2Rlc2V0PXllcwph bV9jdl9wcm9nX2NjX3N0ZGM9JycKYW1fY3ZfcHl0aG9uX3BsYXRmb3JtPWZyZWVic2Q3CmFtX2N2 X3B5dGhvbl9weWV4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYi9weXRob24yLjUvc2l0ZS1wYWNr YWdlcycKYW1fY3ZfcHl0aG9uX3B5dGhvbmRpcj0nJHtwcmVmaXh9L2xpYi9weXRob24yLjUvc2l0 ZS1wYWNrYWdlcycKYW1fY3ZfcHl0aG9uX3ZlcnNpb249Mi41CmFtX2N2X3ZhbF9MQ19NRVNTQUdF Uz15ZXMKYmhfY3ZfY19zaWduZWQ9eWVzCmdfY3Zfc3VwcG9ydF9kb3doaWxlX21hY3Jvcz15ZXMK Z2xpYl9jdl9fX3ZhX2NvcHk9eWVzCmdsaWJfY3ZfYnl0ZV9jb250ZW50c19nbXV0ZXg9MCwwLDAs MCwwLDAsMCwwCmdsaWJfY3ZfY29tcGxpYW50X3Bvc2l4X21lbWFsaWduPTEKZ2xpYl9jdl9oYXNf X2lubGluZT15ZXMKZ2xpYl9jdl9oYXNfX2lubGluZV9fPXllcwpnbGliX2N2X2hhc2lubGluZT15 ZXMKZ2xpYl9jdl9oYXZlX3N0cmxjcHk9eWVzCmdsaWJfY3ZfbGFuZ2luZm9fY29kZXNldD15ZXMK Z2xpYl9jdl9sb25nX2xvbmdfZm9ybWF0PWxsCmdsaWJfY3ZfbW9ub3RvbmljX2Nsb2NrPXllcwpn bGliX2N2X3BjcmVfaGFzX3VuaWNvZGU9bm8KZ2xpYl9jdl9ydGxkZ2xvYmFsX2Jyb2tlbj1ubwpn bGliX2N2X3NhbmVfcmVhbGxvYz15ZXMKZ2xpYl9jdl9zaXplb2ZfZ211dGV4PTgKZ2xpYl9jdl9z aXplb2Zfc3lzdGVtX3RocmVhZD04CmdsaWJfY3Zfc3RhY2tfZ3Jvd3M9bm8KZ2xpYl9jdl91c2Nv cmU9bm8KZ2xpYl9jdl92YV9jb3B5PXllcwpnbGliX2N2X3ZhX3ZhbF9jb3B5PW5vCmdsaWJfY3Zf dmFsdWVfUE9MTEVSUj04CmdsaWJfY3ZfdmFsdWVfUE9MTEhVUD0xNgpnbGliX2N2X3ZhbHVlX1BP TExJTj0xCmdsaWJfY3ZfdmFsdWVfUE9MTE5WQUw9MzIKZ2xpYl9jdl92YWx1ZV9QT0xMT1VUPTQK Z2xpYl9jdl92YWx1ZV9QT0xMUFJJPTIKZ3RfY3ZfY19sb25nX2RvdWJsZT15ZXMKZ3RfY3ZfY193 Y2hhcl90PXllcwpndF9jdl9jX3dpbnRfdD15ZXMKZ3RfY3ZfZnVuY19kZ2V0dGV4dF9saWJjPXll cwpndF9jdl9mdW5jX2RnZXR0ZXh0X2xpYmludGw9bm8KZ3RfY3ZfZnVuY19uZ2V0dGV4dF9saWJj PXllcwpndF9jdl9oYXZlX2dldHRleHQ9eWVzCmptX2FjX2N2X2hlYWRlcl9pbnR0eXBlc19oPXll cwpqbV9hY19jdl9oZWFkZXJfc3RkaW50X2g9eWVzCmx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9k PXBhc3NfYWxsCmx0X2N2X2ZpbGVfbWFnaWNfY21kPSckTUFHSUNfQ01EJwpsdF9jdl9maWxlX21h Z2ljX3Rlc3RfZmlsZT0nJwpsdF9jdl9sZF9yZWxvYWRfZmxhZz0tcgpsdF9jdl9ubV9pbnRlcmZh Y2U9J0JTRCBubScKbHRfY3Zfb2JqZGlyPS5saWJzCmx0X2N2X3BhdGhfTEQ9L3Vzci9iaW4vbGQK bHRfY3ZfcGF0aF9MRENYWD0vdXNyL2Jpbi9sZApsdF9jdl9wYXRoX05NPScvdXNyL2Jpbi9ubSAt QicKbHRfY3ZfcHJvZ19jb21waWxlcl9jX289eWVzCmx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0NY WD15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3M9eWVzCmx0X2N2X3Byb2dfY29tcGls ZXJfcGljX3dvcmtzX0NYWD15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9ydHRpX2V4Y2VwdGlvbnM9 bm8KbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCmx0X2N2X3Byb2dfY29tcGls ZXJfc3RhdGljX3dvcmtzX0NYWD15ZXMKbHRfY3ZfcHJvZ19nbnVfbGQ9eWVzCmx0X2N2X3Byb2df Z251X2xkY3h4PXllcwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdzZWQgLW4gLWUgJ1wn J3MvXi4qWwkgXVwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlwpWwkgXVsJIF0qXChbX0EtWmEt el1bX0EtWmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnXCcnJwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJv bF90b19jX25hbWVfYWRkcmVzcz0nc2VkIC1uIC1lICdcJydzL146IFwoW14gXSpcKSAkLyAge1wi XDFcIiwgKHZvaWQgKikgMH0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIFwoW14gXSpc KSBcKFteIF0qXCkkLyAgeyJcMiIsICh2b2lkICopIFwmXDJ9LC9wJ1wnJycKbHRfY3Zfc3lzX2ds b2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nc2VkIC1uIC1lICdcJydz L146IFwoW14gXSpcKSAkLyAge1wiXDFcIiwgKHZvaWQgKikgMH0sL3AnXCcnIC1lICdcJydzL15b QUJDREdJUlNUV10qIFwoW14gXSpcKSBcKGxpYlteIF0qXCkkLyAgeyJcMiIsICh2b2lkICopIFwm XDJ9LC9wJ1wnJyAtZSAnXCcncy9eW0FCQ0RHSVJTVFddKiBcKFteIF0qXCkgXChbXiBdKlwpJC8g IHsibGliXDIiLCAodm9pZCAqKSBcJlwyfSwvcCdcJycnCmx0X2N2X3N5c19nbG9iYWxfc3ltYm9s X3RvX2NkZWNsPSdzZWQgLW4gLWUgJ1wnJ3MvXlQgLiogXCguKlwpJC9leHRlcm4gaW50IFwxKCk7 L3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIC4qIFwoLipcKSQvZXh0ZXJuIGNoYXIgXDE7 L3AnXCcnJwpsdF9jdl9zeXNfbWF4X2NtZF9sZW49MjYyMTQ0CnBrZ19jdl9QQ1JFX0NGTEFHUz0n LUkvdXNyL2xvY2FsL2luY2x1ZGUgICcKcGtnX2N2X1BDUkVfTElCUz0nLUwvdXNyL2xvY2FsL2xp YiAtbHBjcmUgICcKCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIE91dHB1dCB2YXJpYWJsZXMu ICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCgpBQ0xPQ0FMPScke1NIRUxMfSAvdXNyL3BvcnRz L2RldmVsL2dsaWIyMC93b3JrL2dsaWItMi4yMC41L21pc3NpbmcgLS1ydW4gYWNsb2NhbC0xLjEx JwpBTExPQ0E9JycKQU1ERVBCQUNLU0xBU0g9J1wnCkFNREVQX0ZBTFNFPScjJwpBTURFUF9UUlVF PScnCkFNVEFSPScke1NIRUxMfSAvdXNyL3BvcnRzL2RldmVsL2dsaWIyMC93b3JrL2dsaWItMi4y MC41L21pc3NpbmcgLS1ydW4gdGFyJwpBUj0nYXInCkFTPSdhcycKQVVUT0NPTkY9JyR7U0hFTEx9 IC91c3IvcG9ydHMvZGV2ZWwvZ2xpYjIwL3dvcmsvZ2xpYi0yLjIwLjUvbWlzc2luZyAtLXJ1biBh dXRvY29uZicKQVVUT0hFQURFUj0nJHtTSEVMTH0gL3Vzci9wb3J0cy9kZXZlbC9nbGliMjAvd29y ay9nbGliLTIuMjAuNS9taXNzaW5nIC0tcnVuIGF1dG9oZWFkZXInCkFVVE9NQUtFPScke1NIRUxM fSAvdXNyL3BvcnRzL2RldmVsL2dsaWIyMC93b3JrL2dsaWItMi4yMC41L21pc3NpbmcgLS1ydW4g YXV0b21ha2UtMS4xMScKQVdLPSduYXdrJwpDQVRBTE9HUz0nIGFtLmdtbyBhci5nbW8gYXMuZ21v IGF6LmdtbyBiZS5nbW8gYmVAbGF0aW4uZ21vIGJnLmdtbyBibi5nbW8gYm5fSU4uZ21vIGJzLmdt byBjYS5nbW8gY2FAdmFsZW5jaWEuZ21vIGNzLmdtbyBjeS5nbW8gZGEuZ21vIGRlLmdtbyBkei5n bW8gZWwuZ21vIGVuX0NBLmdtbyBlbl9HQi5nbW8gZW8uZ21vIGVzLmdtbyBldC5nbW8gZXUuZ21v IGZhLmdtbyBmaS5nbW8gZnIuZ21vIGdhLmdtbyBnbC5nbW8gZ3UuZ21vIGhlLmdtbyBoaS5nbW8g aHIuZ21vIGh1LmdtbyBoeS5nbW8gaWQuZ21vIGlzLmdtbyBpdC5nbW8gamEuZ21vIGthLmdtbyBr bi5nbW8ga28uZ21vIGt1LmdtbyBsdC5nbW8gbHYuZ21vIG1haS5nbW8gbWcuZ21vIG1rLmdtbyBt bC5nbW8gbW4uZ21vIG1yLmdtbyBtcy5nbW8gbmIuZ21vIG5lLmdtbyBubC5nbW8gbm4uZ21vIG9j LmdtbyBvci5nbW8gcGEuZ21vIHBsLmdtbyBwcy5nbW8gcHQuZ21vIHB0X0JSLmdtbyByby5nbW8g cnUuZ21vIHJ3LmdtbyBzaS5nbW8gc2suZ21vIHNsLmdtbyBzcS5nbW8gc3IuZ21vIHNyQGxhdGlu LmdtbyBzckBpamUuZ21vIHN2LmdtbyB0YS5nbW8gdGUuZ21vIHRoLmdtbyB0bC5nbW8gdHIuZ21v IHR0LmdtbyB1ay5nbW8gdmkuZ21vIHdhLmdtbyB4aC5nbW8geWkuZ21vIHpoX0NOLmdtbyB6aF9I Sy5nbW8gemhfVFcuZ21vJwpDQVRPQkpFWFQ9Jy5nbW8nCkNDPSdjYycKQ0NERVBNT0RFPSdkZXBt b2RlPWdjYzMnCkNGTEFHUz0nLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1XYWxsJwpD T05GSUdfU1RBVFVTX0RFUEVOREVOQ0lFUz0nJCh0b3Bfc3JjZGlyKS9wby9MSU5HVUFTJwpDUFA9 J2NjIC1FJwpDUFBGTEFHUz0nLUkvdXNyL2xvY2FsL2luY2x1ZGUgLURHX0RJU0FCTEVfU0lOR0xF X0lOQ0xVREVTIC1EX1JFRU5UUkFOVCcKQ1JPU1NfQ09NUElMSU5HX0ZBTFNFPScnCkNST1NTX0NP TVBJTElOR19UUlVFPScnCkNYWD0nYysrJwpDWFhDUFA9J2MrKyAtRScKQ1hYREVQTU9ERT0nZGVw bW9kZT1nY2MzJwpDWFhGTEFHUz0nLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlJwpDWUdQ QVRIX1c9J2VjaG8nCkRBVEFESVJOQU1FPSdzaGFyZScKREVGUz0nJwpERVBESVI9Jy5kZXBzJwpE SVNBQkxFX01FTV9QT09MUz0nJwpETExUT09MPSdkbGx0b29sJwpEU1lNVVRJTD0nJwpEVU1QQklO PScnCkVDSE9fQz0nJwpFQ0hPX049Jy1uJwpFQ0hPX1Q9JycKRUdSRVA9Jy91c3IvYmluL2dyZXAg LUUnCkVOQUJMRV9HVEtfRE9DX0ZBTFNFPScnCkVOQUJMRV9HVEtfRE9DX1RSVUU9JycKRU5BQkxF X01BTl9GQUxTRT0nJwpFTkFCTEVfTUFOX1RSVUU9JycKRU5BQkxFX1JFR0VYX0ZBTFNFPScjJwpF TkFCTEVfUkVHRVhfVFJVRT0nJwpFTkFCTEVfVElNRUxPT1BfRkFMU0U9JyMnCkVOQUJMRV9USU1F TE9PUF9UUlVFPScnCkVYRUVYVD0nJwpGQU1fTElCUz0nJwpGR1JFUD0nL3Vzci9iaW4vZ3JlcCAt RicKR0VUVEVYVF9QQUNLQUdFPSdnbGliMjAnCkdJTz0nZ2lvdW5peC5sbycKR0lPX01PRFVMRV9E SVI9JyR7bGliZGlyfS9naW8vbW9kdWxlcycKR0xJQkMyMT0nbm8nCkdMSUJfQklOQVJZX0FHRT0n MjAwNScKR0xJQl9ERUJVR19GTEFHUz0nLURHX0RJU0FCTEVfQ0FTVF9DSEVDS1MnCkdMSUJfRVhU UkFfQ0ZMQUdTPScnCkdMSUJfR0VOTUFSU0hBTD0nJwpHTElCX0lOVEVSRkFDRV9BR0U9JzUnCkdM SUJfTUFKT1JfVkVSU0lPTj0nMicKR0xJQl9NSUNST19WRVJTSU9OPSc1JwpHTElCX01JTk9SX1ZF UlNJT049JzIwJwpHTElCX1ZFUlNJT049JzIuMjAuNScKR0xJQl9XSU4zMl9TVEFUSUNfQ09NUElM QVRJT05fREVGSU5FPScnCkdNT0ZJTEVTPScgYW0uZ21vIGFyLmdtbyBhcy5nbW8gYXouZ21vIGJl LmdtbyBiZUBsYXRpbi5nbW8gYmcuZ21vIGJuLmdtbyBibl9JTi5nbW8gYnMuZ21vIGNhLmdtbyBj YUB2YWxlbmNpYS5nbW8gY3MuZ21vIGN5LmdtbyBkYS5nbW8gZGUuZ21vIGR6LmdtbyBlbC5nbW8g ZW5fQ0EuZ21vIGVuX0dCLmdtbyBlby5nbW8gZXMuZ21vIGV0LmdtbyBldS5nbW8gZmEuZ21vIGZp LmdtbyBmci5nbW8gZ2EuZ21vIGdsLmdtbyBndS5nbW8gaGUuZ21vIGhpLmdtbyBoci5nbW8gaHUu Z21vIGh5LmdtbyBpZC5nbW8gaXMuZ21vIGl0LmdtbyBqYS5nbW8ga2EuZ21vIGtuLmdtbyBrby5n bW8ga3UuZ21vIGx0LmdtbyBsdi5nbW8gbWFpLmdtbyBtZy5nbW8gbWsuZ21vIG1sLmdtbyBtbi5n bW8gbXIuZ21vIG1zLmdtbyBuYi5nbW8gbmUuZ21vIG5sLmdtbyBubi5nbW8gb2MuZ21vIG9yLmdt byBwYS5nbW8gcGwuZ21vIHBzLmdtbyBwdC5nbW8gcHRfQlIuZ21vIHJvLmdtbyBydS5nbW8gcncu Z21vIHNpLmdtbyBzay5nbW8gc2wuZ21vIHNxLmdtbyBzci5nbW8gc3JAbGF0aW4uZ21vIHNyQGlq ZS5nbW8gc3YuZ21vIHRhLmdtbyB0ZS5nbW8gdGguZ21vIHRsLmdtbyB0ci5nbW8gdHQuZ21vIHVr LmdtbyB2aS5nbW8gd2EuZ21vIHhoLmdtbyB5aS5nbW8gemhfQ04uZ21vIHpoX0hLLmdtbyB6aF9U Vy5nbW8nCkdNU0dGTVQ9Jy91c3IvbG9jYWwvYmluL21zZ2ZtdCcKR1JFUD0nL3Vzci9iaW4vZ3Jl cCcKR1NQQVdOPSdnc3Bhd24ubG8nCkdUSFJFQURfQ09NUElMRV9JTVBMX0RFRklORVM9Jy1EX1BP U0lYNF9EUkFGVF9TT1VSQ0UgLURfUE9TSVg0QV9EUkFGVDEwX1NPVVJDRSAtVV9PU0ZfU09VUkNF JwpHVEtET0NfQ0hFQ0s9JycKR1RLX0RPQ19VU0VfTElCVE9PTF9GQUxTRT0nJwpHVEtfRE9DX1VT RV9MSUJUT09MX1RSVUU9JycKR19MSUJTX0VYVFJBPScnCkdfTU9EVUxFX0JST0tFTl9SVExEX0dM T0JBTD0nMCcKR19NT0RVTEVfSEFWRV9ETEVSUk9SPScxJwpHX01PRFVMRV9JTVBMPSdHX01PRFVM RV9JTVBMX0RMJwpHX01PRFVMRV9MREZMQUdTPSctV2wsLS1leHBvcnQtZHluYW1pYycKR19NT0RV TEVfTElCUz0nJwpHX01PRFVMRV9MSUJTX0VYVFJBPScnCkdfTU9EVUxFX05FRURfVVNDT1JFPScw JwpHX01PRFVMRV9QTFVHSU5fTElCUz0nJwpHX01PRFVMRV9TVVBQT1JURUQ9J3RydWUnCkdfVEhS RUFEX0NGTEFHUz0nLURfUkVFTlRSQU5UJwpHX1RIUkVBRF9MSUJTPSctcHRocmVhZCAnCkdfVEhS RUFEX0xJQlNfRVhUUkE9JycKR19USFJFQURfTElCU19GT1JfR1RIUkVBRD0nLXB0aHJlYWQnCkhB VkVfQ1hYX0ZBTFNFPScjJwpIQVZFX0NYWF9UUlVFPScnCkhBVkVfRkFNX0ZBTFNFPScnCkhBVkVf RkFNX1RSVUU9JyMnCkhBVkVfRkVOX0ZBTFNFPScnCkhBVkVfRkVOX1RSVUU9JyMnCkhBVkVfR05V Q19WSVNJQklMSVRZX0ZBTFNFPScjJwpIQVZFX0dOVUNfVklTSUJJTElUWV9UUlVFPScnCkhBVkVf R09PRF9QUklOVEZfRkFMU0U9JyMnCkhBVkVfR09PRF9QUklOVEZfVFJVRT0nJwpIQVZFX0lOT1RJ RllfRkFMU0U9JycKSEFWRV9JTk9USUZZX1RSVUU9JyMnCkhBVkVfU1VOU1RVRElPX1ZJU0lCSUxJ VFlfRkFMU0U9JycKSEFWRV9TVU5TVFVESU9fVklTSUJJTElUWV9UUlVFPScjJwpIVE1MX0RJUj0n JwpJQ09OVl9MSUJTPSctbGljb252JwpJTkRFTlQ9J2luZGVudCcKSU5TVEFMTF9EQVRBPSdpbnN0 YWxsICAtbyByb290IC1nIHdoZWVsIC1tIDQ0NCcKSU5TVEFMTF9QUk9HUkFNPSdpbnN0YWxsICAt cyAtbyByb290IC1nIHdoZWVsIC1tIDU1NScKSU5TVEFMTF9TQ1JJUFQ9J2luc3RhbGwgIC1vIHJv b3QgLWcgd2hlZWwgLW0gNTU1JwpJTlNUQUxMX1NUUklQX1BST0dSQU09JyQoaW5zdGFsbF9zaCkg LWMgLXMnCklOU1RPQkpFWFQ9Jy5tbycKSU5UTExJQlM9JycKTEQ9Jy91c3IvYmluL2xkJwpMREZM QUdTPSctTC91c3IvbG9jYWwvbGliIC1saW50bCcKTElCT0JKUz0nJwpMSUJTPScgJwpMSUJUT09M PSckKFNIRUxMKSAvdXNyL3BvcnRzL2RldmVsL2dsaWIyMC93b3JrL2dub21lLWxpYnRvb2wnCkxJ QlRPT0xfRVhQT1JUX09QVElPTlM9Jy1leHBvcnQtc3ltYm9scy1yZWdleCAiXmcuKiInCkxJQl9F WEVfTUFDSElORV9GTEFHPSdYODYnCkxJUE89JycKTE5fUz0nbG4gLXMnCkxUTElCT0JKUz0nJwpM VF9BR0U9JzIwMDAnCkxUX0NVUlJFTlQ9JzIwMDAnCkxUX0NVUlJFTlRfTUlOVVNfQUdFPScwJwpM VF9SRUxFQVNFPScyLjIwJwpMVF9SRVZJU0lPTj0nNScKTUFJTlQ9JyMnCk1BSU5UQUlORVJfTU9E RV9GQUxTRT0nJwpNQUlOVEFJTkVSX01PREVfVFJVRT0nIycKTUFLRUlORk89JyR7U0hFTEx9IC91 c3IvcG9ydHMvZGV2ZWwvZ2xpYjIwL3dvcmsvZ2xpYi0yLjIwLjUvbWlzc2luZyAtLXJ1biBtYWtl aW5mbycKTUtESVJfUD0nLi9pbnN0YWxsLXNoIC1jIC1kJwpNS0lOU1RBTExESVJTPScuL21raW5z dGFsbGRpcnMnCk1TR0ZNVD0nL3Vzci9sb2NhbC9iaW4vbXNnZm10JwpNU0dGTVRfT1BUUz0nLWMn Ck1TX0xJQl9BVkFJTEFCTEVfRkFMU0U9JycKTVNfTElCX0FWQUlMQUJMRV9UUlVFPScjJwpOTT0n L3Vzci9iaW4vbm0gLUInCk5NRURJVD0nJwpPQkpEVU1QPSdvYmpkdW1wJwpPQkpFWFQ9J28nCk9T X0NBUkJPTl9GQUxTRT0nJwpPU19DQVJCT05fVFJVRT0nIycKT1NfTElOVVhfRkFMU0U9JycKT1Nf TElOVVhfVFJVRT0nIycKT1NfVU5JWF9GQUxTRT0nIycKT1NfVU5JWF9UUlVFPScnCk9TX1dJTjMy X0FORF9ETExfQ09NUElMQVRJT05fRkFMU0U9JycKT1NfV0lOMzJfQU5EX0RMTF9DT01QSUxBVElP Tl9UUlVFPScjJwpPU19XSU4zMl9GQUxTRT0nJwpPU19XSU4zMl9UUlVFPScjJwpPU19XSU4zMl9Y NjRfRkFMU0U9JycKT1NfV0lOMzJfWDY0X1RSVUU9JyMnCk9UT09MNjQ9JycKT1RPT0w9JycKUEFD S0FHRT0nZ2xpYicKUEFDS0FHRV9CVUdSRVBPUlQ9J2h0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcv ZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWInClBBQ0tBR0VfTkFNRT0nZ2xpYicKUEFDS0FHRV9T VFJJTkc9J2dsaWIgMi4yMC41JwpQQUNLQUdFX1RBUk5BTUU9J2dsaWInClBBQ0tBR0VfVkVSU0lP Tj0nMi4yMC41JwpQQVRIX1NFUEFSQVRPUj0nOicKUENSRV9DRkxBR1M9Jy1JL3Vzci9sb2NhbC9p bmNsdWRlICAnClBDUkVfTElCUz0nLUwvdXNyL2xvY2FsL2xpYiAtbHBjcmUgICcKUENSRV9SRVFV SVJFUz0nJwpQQ1JFX1dBUk5fQ0ZMQUdTPScnClBFUkw9J3Blcmw1JwpQRVJMX1BBVEg9Jy91c3Iv YmluL3Blcmw1JwpQS0dfQ09ORklHPScvdXNyL2xvY2FsL2Jpbi9wa2ctY29uZmlnJwpQTEFURk9S TURFUD0nJwpQTEFURk9STV9XSU4zMl9GQUxTRT0nJwpQTEFURk9STV9XSU4zMl9UUlVFPScjJwpQ T0ZJTEVTPScgYW0ucG8gYXIucG8gYXMucG8gYXoucG8gYmUucG8gYmVAbGF0aW4ucG8gYmcucG8g Ym4ucG8gYm5fSU4ucG8gYnMucG8gY2EucG8gY2FAdmFsZW5jaWEucG8gY3MucG8gY3kucG8gZGEu cG8gZGUucG8gZHoucG8gZWwucG8gZW5fQ0EucG8gZW5fR0IucG8gZW8ucG8gZXMucG8gZXQucG8g ZXUucG8gZmEucG8gZmkucG8gZnIucG8gZ2EucG8gZ2wucG8gZ3UucG8gaGUucG8gaGkucG8gaHIu cG8gaHUucG8gaHkucG8gaWQucG8gaXMucG8gaXQucG8gamEucG8ga2EucG8ga24ucG8ga28ucG8g a3UucG8gbHQucG8gbHYucG8gbWFpLnBvIG1nLnBvIG1rLnBvIG1sLnBvIG1uLnBvIG1yLnBvIG1z LnBvIG5iLnBvIG5lLnBvIG5sLnBvIG5uLnBvIG9jLnBvIG9yLnBvIHBhLnBvIHBsLnBvIHBzLnBv IHB0LnBvIHB0X0JSLnBvIHJvLnBvIHJ1LnBvIHJ3LnBvIHNpLnBvIHNrLnBvIHNsLnBvIHNxLnBv IHNyLnBvIHNyQGxhdGluLnBvIHNyQGlqZS5wbyBzdi5wbyB0YS5wbyB0ZS5wbyB0aC5wbyB0bC5w byB0ci5wbyB0dC5wbyB1ay5wbyB2aS5wbyB3YS5wbyB4aC5wbyB5aS5wbyB6aF9DTi5wbyB6aF9I Sy5wbyB6aF9UVy5wbycKUE9TVUI9J3BvJwpQT19JTl9EQVRBRElSX0ZBTFNFPScnClBPX0lOX0RB VEFESVJfVFJVRT0nJwpQWVRIT049Jy91c3IvbG9jYWwvYmluL3B5dGhvbjIuNScKUFlUSE9OX0VY RUNfUFJFRklYPScke2V4ZWNfcHJlZml4fScKUFlUSE9OX1BMQVRGT1JNPSdmcmVlYnNkNycKUFlU SE9OX1BSRUZJWD0nJHtwcmVmaXh9JwpQWVRIT05fVkVSU0lPTj0nMi41JwpSQU5MSUI9J3Jhbmxp YicKUkVCVUlMRD0nJwpTRUQ9Jy91c3IvYmluL3NlZCcKU0VMSU5VWF9MSUJTPScnClNFVF9NQUtF PScnClNIRUxMPScvYmluL3NoJwpTVFJJUD0nc3RyaXAnClVTRV9OTFM9J3llcycKVVNFX1NZU1RF TV9QQ1JFX0ZBTFNFPScjJwpVU0VfU1lTVEVNX1BDUkVfVFJVRT0nJwpWRVJTSU9OPScyLjIwLjUn CldJTkRSRVM9JycKWEFUVFJfTElCUz0nJwpYR0VUVEVYVD0nL3Vzci9sb2NhbC9iaW4veGdldHRl eHQnClhNTENBVEFMT0c9JycKWE1MX0NBVEFMT0dfRklMRT0nJwpYU0xUUFJPQz0nJwphY19jdF9D Qz0nY2MnCmFjX2N0X0NYWD0nJwphY19jdF9EVU1QQklOPScnCmFtX19FWEVFWFRfRkFMU0U9JycK YW1fX0VYRUVYVF9UUlVFPScnCmFtX19mYXN0ZGVwQ0NfRkFMU0U9JyMnCmFtX19mYXN0ZGVwQ0Nf VFJVRT0nJwphbV9fZmFzdGRlcENYWF9GQUxTRT0nIycKYW1fX2Zhc3RkZXBDWFhfVFJVRT0nJwph bV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2lzcmM9JycKYW1fX2xlYWRpbmdfZG90PScuJwphbV9f cXVvdGU9JycKYW1fX3Rhcj0nJHtBTVRBUn0gY2hvZiAtICIkJHRhcmRpciInCmFtX191bnRhcj0n JHtBTVRBUn0geGYgLScKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJ1aWxkPSd4ODZfNjQt cG9ydGJsZC1mcmVlYnNkNy4yJwpidWlsZF9hbGlhcz0neDg2XzY0LXBvcnRibGQtZnJlZWJzZDcu MicKYnVpbGRfY3B1PSd4ODZfNjQnCmJ1aWxkX29zPSdmcmVlYnNkNy4yJwpidWlsZF92ZW5kb3I9 J3BvcnRibGQnCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9JwpkYXRhcm9vdGRpcj0nJHtwcmVmaXh9 L3NoYXJlJwpkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BBQ0tBR0VfVEFSTkFNRX0nCmR2 aWRpcj0nJHtkb2NkaXJ9JwpleGVjX3ByZWZpeD0nTk9ORScKaG9zdD0neDg2XzY0LXBvcnRibGQt ZnJlZWJzZDcuMicKaG9zdF9hbGlhcz0nJwpob3N0X2NwdT0neDg2XzY0Jwpob3N0X29zPSdmcmVl YnNkNy4yJwpob3N0X3ZlbmRvcj0ncG9ydGJsZCcKaHRtbGRpcj0nJHtkb2NkaXJ9JwppbmNsdWRl ZGlyPScke3ByZWZpeH0vaW5jbHVkZScKaW5mb2Rpcj0nL3Vzci9sb2NhbC9pbmZvJwppbnN0YWxs X3NoPScke1NIRUxMfSAvdXNyL3BvcnRzL2RldmVsL2dsaWIyMC93b3JrL2dsaWItMi4yMC41L2lu c3RhbGwtc2gnCmxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke2V4ZWNf cHJlZml4fS9saWJleGVjJwpsb2NhbGVkaXI9Jy91c3IvbG9jYWwvc2hhcmUvbG9jYWxlJwpsb2Nh bHN0YXRlZGlyPScke3ByZWZpeH0vdmFyJwpsdF9FQ0hPPSdlY2hvJwptYW5kaXI9Jy91c3IvbG9j YWwvbWFuJwpta2Rpcl9wPSckKHRvcF9idWlsZGRpcikvLi9pbnN0YWxsLXNoIC1jIC1kJwptc19s aWJyYXJpYW49JycKb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpwZGZkaXI9JyR7ZG9jZGly fScKcGtncHlleGVjZGlyPScke3B5ZXhlY2Rpcn0vZ2xpYicKcGtncHl0aG9uZGlyPScke3B5dGhv bmRpcn0vZ2xpYicKcHJlZml4PScvdXNyL2xvY2FsJwpwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSdz LHgseCwnCnBzZGlyPScke2RvY2Rpcn0nCnB5ZXhlY2Rpcj0nJHtleGVjX3ByZWZpeH0vbGliL3B5 dGhvbjIuNS9zaXRlLXBhY2thZ2VzJwpweXRob25kaXI9JyR7cHJlZml4fS9saWIvcHl0aG9uMi41 L3NpdGUtcGFja2FnZXMnCnNiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L3NiaW4nCnNoYXJlZHN0YXRl ZGlyPScke3ByZWZpeH0vY29tJwpzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJwp0YXJnZXRfYWxp YXM9JycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0t ICMjCgojZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ2xpYiIKI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImdsaWIiCiNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjIwLjUiCiNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgImdsaWIgMi4yMC41IgojZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVn emlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliIgojZGVmaW5lIEdMSUJf TUFKT1JfVkVSU0lPTiAyCiNkZWZpbmUgR0xJQl9NSU5PUl9WRVJTSU9OIDIwCiNkZWZpbmUgR0xJ Ql9NSUNST19WRVJTSU9OIDUKI2RlZmluZSBHTElCX0lOVEVSRkFDRV9BR0UgNQojZGVmaW5lIEdM SUJfQklOQVJZX0FHRSAyMDA1CiNkZWZpbmUgTkVFRF9JQ09OVl9DQUNIRSAxCiNkZWZpbmUgU1RE Q19IRUFERVJTIDEKI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQojZGVmaW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQoj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfVU5J U1REX0ggMQojZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQojZGVmaW5lIEhBVkVfTENfTUVTU0FHRVMg MQojZGVmaW5lIEhBVkVfQklORF9URVhURE9NQUlOX0NPREVTRVQgMQojZGVmaW5lIEhBVkVfR0VU VEVYVCAxCiNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQojZGVmaW5lIEVOQUJMRV9OTFMgMQojZGVm aW5lIEdFVFRFWFRfUEFDS0FHRSAiZ2xpYjIwIgojZGVmaW5lIEdMSUJfTE9DQUxFX0RJUiAiL3Vz ci9sb2NhbC9zaGFyZS9sb2NhbGUiCiNkZWZpbmUgVVNFX0xJQklDT05WX0dOVSAxCiNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKI2RlZmluZSBTVERDX0hF QURFUlMgMQojZGVmaW5lIEhBVkVfVlBSSU5URiAxCiNkZWZpbmUgSEFWRV9BTExPQ0EgMQojZGVm aW5lIEhBVkVfTU1BUCAxCiNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCiNkZWZpbmUgSEFW RV9WQUxMT0MgMQojZGVmaW5lIEhBVkVfRlNZTkMgMQojZGVmaW5lIEhBVkVfQVRFWElUIDEKI2Rl ZmluZSBIQVZFX1RJTUVHTSAxCiNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCiNkZWZpbmUgU0laRU9G X0NIQVIgMQojZGVmaW5lIFNJWkVPRl9TSE9SVCAyCiNkZWZpbmUgU0laRU9GX0xPTkcgOAojZGVm aW5lIFNJWkVPRl9JTlQgNAojZGVmaW5lIFNJWkVPRl9WT0lEX1AgOAojZGVmaW5lIFNJWkVPRl9M T05HX0xPTkcgOAojZGVmaW5lIFNJWkVPRl9fX0lOVDY0IDAKI2RlZmluZSBIQVZFX0xPTkdfTE9O R19GT1JNQVQgMQojZGVmaW5lIFNBTkVfTUFMTE9DX1BST1RPUyAxCiNkZWZpbmUgR19IQVZFX19f SU5MSU5FIDEKI2RlZmluZSBHX0hBVkVfX19JTkxJTkVfXyAxCiNkZWZpbmUgR19IQVZFX0lOTElO RSAxCiNkZWZpbmUgSEFWRV9ET1dISUxFX01BQ1JPUyAxCiNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CiNkZWZpbmUgSEFWRV9GTE9BVF9IIDEKI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKI2RlZmluZSBI QVZFX1BXRF9IIDEKI2RlZmluZSBIQVZFX0dSUF9IIDEKI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQojZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQojZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCiNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBI QVZFX1NZU19TRUxFQ1RfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCiNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCiNkZWZpbmUgSEFWRV9TQ0hFRF9IIDEKI2RlZmluZSBIQVZFX1NZU19NT1VO VF9IIDEKI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NZU0NU TF9IIDEKI2RlZmluZSBIQVZFX0ZTVEFCX0ggMQojZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1Rf QkxLU0laRSAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MgMQojZGVmaW5lIEhB VkVfU1RSVUNUX1NUQVRGU19GX0ZTVFlQRU5BTUUgMQojZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRG U19GX0JBVkFJTCAxCiNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKI2RlZmluZSBIQVZF X1NURERFRl9IIDEKI2RlZmluZSBIQVZFX1NURExJQl9IIDEKI2RlZmluZSBIQVZFX1NUUklOR19I IDEKI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCiNkZWZpbmUgU0laRU9GX1NJWkVfVCA4CiNkZWZp bmUgSEFWRV9MU1RBVCAxCiNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCiNkZWZpbmUgSEFWRV9TVFJT SUdOQUwgMQojZGVmaW5lIEhBVkVfTUVNTU9WRSAxCiNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQoj ZGVmaW5lIEhBVkVfU1RQQ1BZIDEKI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQojZGVmaW5lIEhB VkVfU1RSTkNBU0VDTVAgMQojZGVmaW5lIEhBVkVfUE9MTCAxCiNkZWZpbmUgSEFWRV9HRVRDV0Qg MQojZGVmaW5lIEhBVkVfVkFTUFJJTlRGIDEKI2RlZmluZSBIQVZFX1NFVEVOViAxCiNkZWZpbmUg SEFWRV9VTlNFVEVOViAxCiNkZWZpbmUgSEFWRV9HRVRDX1VOTE9DS0VEIDEKI2RlZmluZSBIQVZF X1JFQURMSU5LIDEKI2RlZmluZSBIQVZFX1NZTUxJTksgMQojZGVmaW5lIEhBVkVfQ0hPV04gMQoj ZGVmaW5lIEhBVkVfTENIT1dOIDEKI2RlZmluZSBIQVZFX0ZDSE1PRCAxCiNkZWZpbmUgSEFWRV9G Q0hPV04gMQojZGVmaW5lIEhBVkVfTElOSyAxCiNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKI2RlZmlu ZSBIQVZFX1NUQVRGUyAxCiNkZWZpbmUgSEFWRV9VVElNRVMgMQojZGVmaW5lIEhBVkVfR0VUR1JH SUQgMQojZGVmaW5lIEhBVkVfR0VUUFdVSUQgMQojZGVmaW5lIEhBVkVfU1lTQ1RMQllOQU1FIDEK I2RlZmluZSBIQVZFX0dFVE1OVElORk8gMQojZGVmaW5lIEhBVkVfTkFOT1NMRUVQIDEKI2RlZmlu ZSBIQVZFX0M5OV9WU05QUklOVEYgMQojZGVmaW5lIEhBVkVfVU5JWDk4X1BSSU5URiAxCiNkZWZp bmUgU1RBVEZTX0FSR1MgMgojZGVmaW5lIEhBVkVfR09PRF9QUklOVEYgMQojZGVmaW5lIEhBVkVf TE9OR19MT05HIDEKI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKI2RlZmluZSBIQVZFX1dDSEFS X1QgMQojZGVmaW5lIEhBVkVfV0lOVF9UIDEKI2RlZmluZSBIQVZFX1BUUkRJRkZfVCAxCiNkZWZp bmUgSEFWRV9JTlRUWVBFU19IX1dJVEhfVUlOVE1BWCAxCiNkZWZpbmUgSEFWRV9TVERJTlRfSF9X SVRIX1VJTlRNQVggMQojZGVmaW5lIEhBVkVfSU5UTUFYX1QgMQojZGVmaW5lIEhBVkVfU05QUklO VEYgMQojZGVmaW5lIEhBVkVfV0NTTEVOIDEKI2RlZmluZSBIQVZFX0M5OV9TTlBSSU5URiAxCiNk ZWZpbmUgUkVBTExPQ18wX1dPUktTIDEKI2RlZmluZSBIQVZFX0NPREVTRVQgMQojZGVmaW5lIFBP U0lYX01FTUFMSUdOX1dJVEhfQ09NUExJQU5UX0FMTE9DUyAxCiNkZWZpbmUgSEFWRV9TVFJMQ1BZ IDEKI2RlZmluZSBHX1ZBX0NPUFkgdmFfY29weQojZGVmaW5lIEdfVkFfQ09QWV9BU19BUlJBWSAx CiNkZWZpbmUgSEFWRV9MT0NBTFRJTUVfUiAxCiNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCiNkZWZp bmUgSEFWRV9QT1NJWF9HRVRQV1VJRF9SIDEKI2RlZmluZSBIQVZFX1BPU0lYX0dFVEdSR0lEX1Ig MQojZGVmaW5lIEdMSUJfU0laRU9GX1NZU1RFTV9USFJFQUQgOAojZGVmaW5lIEhBVkVfUFRIUkVB RF9BVFRSX1NFVFNUQUNLU0laRSAxCiNkZWZpbmUgUE9TSVhfTUlOX1BSSU9SSVRZIHNjaGVkX2dl dF9wcmlvcml0eV9taW4oU0NIRURfT1RIRVIpCiNkZWZpbmUgUE9TSVhfTUFYX1BSSU9SSVRZIHNj aGVkX2dldF9wcmlvcml0eV9tYXgoU0NIRURfT1RIRVIpCiNkZWZpbmUgUE9TSVhfWUlFTERfRlVO QyBzY2hlZF95aWVsZCgpCiNkZWZpbmUgR19USFJFQURfU09VUkNFICJndGhyZWFkLXBvc2l4LmMi CiNkZWZpbmUgR0xJQl9TSVpFT0ZfR01VVEVYIDgKI2RlZmluZSBHTElCX0JZVEVfQ09OVEVOVFNf R01VVEVYIDAsMCwwLDAsMCwwLDAsMAojZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCiNkZWZp bmUgSEFWRV9NT05PVE9OSUNfQ0xPQ0sgMQojZGVmaW5lIEdfQVRPTUlDX1g4Nl82NCAxCiNkZWZp bmUgRU5BQkxFX1JFR0VYIC8qKi8KCmNvbmZpZ3VyZTogZXhpdCAxCg== --=_e8413d40240b9274bca3b82daa2d3521-- From owner-freebsd-gnome@FreeBSD.ORG Thu Oct 1 19:42:01 2009 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24EFC1065670 for ; Thu, 1 Oct 2009 19:42:01 +0000 (UTC) (envelope-from barbara.xxx1975@libero.it) Received: from cp-out2.libero.it (cp-out2.libero.it [212.52.84.102]) by mx1.freebsd.org (Postfix) with ESMTP id B387A8FC16 for ; Thu, 1 Oct 2009 19:42:00 +0000 (UTC) Received: from libero.it (192.168.16.58) by cp-out2.libero.it (8.5.107) id 4ABC46950061A901 for gnome@FreeBSD.org; Thu, 1 Oct 2009 21:41:59 +0200 Date: Thu, 1 Oct 2009 21:41:58 +0200 Message-Id: MIME-Version: 1.0 X-Sensitivity: 3 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable From: "barbara" To: "gnome" X-XaM3-API-Version: 4.3 (R1) (B3pl25) X-SenderIP: 87.17.226.239 Cc: Subject: audio/pulseaudio: small fix in pkg-plist X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Oct 2009 19:42:01 -0000 Can someone have a look at this? --- pkg-plist.orig 2009-09-19 20:24:02.000000000 +0200 +++ pkg-plist 2009-10-01 21:37:22.000000000 +0200 @@ -169,8 +169,8 @@ lib/pulse-%%PULSE_VERSION%%/modules/module-pipe-source.so lib/pulse-%%PULSE_VERSION%%/modules/module-position-event-sounds.a lib/pulse-%%PULSE_VERSION%%/modules/module-position-event-sounds.so -lib/pulse-%%PULSE_VERSION%%/modules/module-raop-discover.a -lib/pulse-%%PULSE_VERSION%%/modules/module-raop-discover.so +%%AVAHI%%lib/pulse-%%PULSE_VERSION%%/modules/module-raop-discover.a +%%AVAHI%%lib/pulse-%%PULSE_VERSION%%/modules/module-raop-discover.so lib/pulse-%%PULSE_VERSION%%/modules/module-raop-sink.a lib/pulse-%%PULSE_VERSION%%/modules/module-raop-sink.so lib/pulse-%%PULSE_VERSION%%/modules/module-remap-sink.a Thanks Barbara From owner-freebsd-gnome@FreeBSD.ORG Thu Oct 1 22:03:42 2009 Return-Path: Delivered-To: gnome@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ECA8E1065670; Thu, 1 Oct 2009 22:03:42 +0000 (UTC) (envelope-from mezz7@cox.net) Received: from eastrmmtao107.cox.net (eastrmmtao107.cox.net [68.230.240.59]) by mx1.freebsd.org (Postfix) with ESMTP id 3956C8FC1E; Thu, 1 Oct 2009 22:03:42 +0000 (UTC) Received: from eastrmimpo03.cox.net ([68.1.16.126]) by eastrmmtao107.cox.net (InterMail vM.8.00.01.00 201-2244-105-20090324) with ESMTP id <20091001220340.TYSM19505.eastrmmtao107.cox.net@eastrmimpo03.cox.net>; Thu, 1 Oct 2009 18:03:40 -0400 Received: from localhost ([68.103.37.153]) by eastrmimpo03.cox.net with bizsmtp id na3g1c00B3JFCbG02a3h64; Thu, 01 Oct 2009 18:03:41 -0400 X-VR-Score: -245.00 X-Authority-Analysis: v=1.0 c=1 a=xR5UGGDgzpcA:10 a=6I5d2MoRAAAA:8 a=nKsjC9ClAAAA:8 a=HCtGnLr1AAAA:8 a=kviXuzpPAAAA:8 a=WwL9oaoi0YJrGWwR1bQA:9 a=xz9_pU2Og1jg_r5esa0A:7 a=eCFUaIBtHGLRfJxxM3qgLFoWwR8A:4 a=SV7veod9ZcQA:10 a=4vB-4DCPJfMA:10 X-CM-Score: 0.00 Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes References: <4ABF7367.6050300@FreeBSD.org> To: "Beat Gaetzi" Date: Thu, 01 Oct 2009 17:06:01 -0500 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: "Jeremy Messenger" Message-ID: In-Reply-To: <4ABF7367.6050300@FreeBSD.org> User-Agent: Opera Mail/10.00 (Linux) Cc: gnome@freebsd.org, freebsd-gecko@freebsd.org Subject: Re: Building devel/gtkmozedit with libxul gecko provider X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Oct 2009 22:03:43 -0000 On Sun, 27 Sep 2009 09:15:03 -0500, Beat Gaetzi wrote: > Hi, > > We are going to remove xulrunner, Firefox 2 and Mozilla from the ports > tree. We created a patch which switches all ports using xulrunner, > firefox or mozilla gecko provider to libxul. > Unfortunately three ports failed during the exp-run. One of them is > devel/gtkmozedit which is maintained by the Gnome team. I tried to fix > this problem but was not successful. > Could you please take a look at this problem. Is it possible to use > gtkmozedit with libxul gecko provider? If not, should we remove the port? > > Patch which was tested on pointyhat is available here (updated version > for current ports tree): > http://tmp.chruetertee.ch/gecko-ff-removal-part2-v0.3.patch > > Pointyhat log is here: > http://pointyhat.freebsd.org/errorlogs/i386-errorlogs/a.7-exp.20090917174615/gtkmozedit-0.3.0_5.log You can remove this port, it's no longer being development in the upstream for four years. http://www.advogato.org/proj/GtkMozEdit/ Cheers, Mezz > Thanks, > Beat, on behalf of the FreeBSD-Gecko Team -- mezz7@cox.net - mezz@FreeBSD.org FreeBSD GNOME Team http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org From owner-freebsd-gnome@FreeBSD.ORG Sat Oct 3 04:50:28 2009 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 728581065670 for ; Sat, 3 Oct 2009 04:50:27 +0000 (UTC) (envelope-from luizgustavo@luizgustavo.pro.br) Received: from mail-bw0-f227.google.com (mail-bw0-f227.google.com [209.85.218.227]) by mx1.freebsd.org (Postfix) with ESMTP id 89B578FC08 for ; Sat, 3 Oct 2009 04:50:26 +0000 (UTC) Received: by bwz27 with SMTP id 27so1414786bwz.43 for ; Fri, 02 Oct 2009 21:50:25 -0700 (PDT) MIME-Version: 1.0 Sender: luizgustavo@luizgustavo.pro.br Received: by 10.223.97.155 with SMTP id l27mr1309951fan.91.1254543846706; Fri, 02 Oct 2009 21:24:06 -0700 (PDT) Date: Sat, 3 Oct 2009 01:24:06 -0300 X-Google-Sender-Auth: 19b42cbc7b2d9c77 Message-ID: <772ca7d0910022124i74a14606w5aa3b97f8919ce31@mail.gmail.com> From: "Luiz Gustavo S. Costa" To: gnome@FreeBSD.org Content-Type: multipart/mixed; boundary=0015174c3520568f2c04750040a7 Cc: Subject: build error on pulseaudio port X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Oct 2009 04:50:28 -0000 --0015174c3520568f2c04750040a7 Content-Type: text/plain; charset=ISO-8859-1 Hi guys.... On the upgrade the package pulseaudio with portmaster utility, i received this message: configure: error: Unable to find libltdl version 2. Makes sure you have libtool 2.2 or later installed. but, the package libtool and libtdl is installed ! % pkg_info | grep "libltdl\|libtool" libltdl-2.2.6a_1 System independent dlopen wrapper libtool-2.2.6a_1 Generic shared library support script My ports installed is here: http://freebsd-gnome.pastebin.com/m545c1384 I running the FreeBSD 8.0 RC-1 %uname -a FreeBSD mesa.mundounix.com.br 8.0-RC1 FreeBSD 8.0-RC1 #0: Thu Sep 17 20:45:19 UTC 2009 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 Log of build on attachment. Thanks ! -- Luiz Gustavo Costa (Powered by BSD) *+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+ mundoUnix - Consultoria em Software Livre http://www.mundounix.com.br ICQ: 2890831 / MSN: contato@mundounix.com.br Blog: http://www.luizgustavo.pro.br --0015174c3520568f2c04750040a7 Content-Type: text/plain; charset=US-ASCII; name="logfile-pulseaudio.txt" Content-Disposition: attachment; filename="logfile-pulseaudio.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g0buzvsi0 PT09PiAgVnVsbmVyYWJpbGl0eSBjaGVjayBkaXNhYmxlZCwgZGF0YWJhc2Ugbm90IGZvdW5kCj09 PT4gIEZvdW5kIHNhdmVkIGNvbmZpZ3VyYXRpb24gZm9yIHB1bHNlYXVkaW8tMC45LjE5Cj09PT4g IEV4dHJhY3RpbmcgZm9yIHB1bHNlYXVkaW8tMC45LjE5Cj0+IE1ENSBDaGVja3N1bSBPSyBmb3Ig cHVsc2VhdWRpby0wLjkuMTkudGFyLmd6Lgo9PiBTSEEyNTYgQ2hlY2tzdW0gT0sgZm9yIHB1bHNl YXVkaW8tMC45LjE5LnRhci5nei4KPT09PiAgUGF0Y2hpbmcgZm9yIHB1bHNlYXVkaW8tMC45LjE5 Cj09PT4gICBwdWxzZWF1ZGlvLTAuOS4xOSBkZXBlbmRzIG9uIHBhY2thZ2U6IGxpYnRvb2w+PTIu MiAtIGZvdW5kCj09PT4gIEFwcGx5aW5nIEZyZWVCU0QgcGF0Y2hlcyBmb3IgcHVsc2VhdWRpby0w LjkuMTkKPT09PiAgIHB1bHNlYXVkaW8tMC45LjE5IGRlcGVuZHMgb24gZXhlY3V0YWJsZTogZ21h a2UgLSBmb3VuZAo9PT0+ICAgcHVsc2VhdWRpby0wLjkuMTkgZGVwZW5kcyBvbiBmaWxlOiAvdXNy L2xvY2FsL2xpYmRhdGEvcGtnY29uZmlnL3gxMS5wYyAtIGZvdW5kCj09PT4gICBwdWxzZWF1ZGlv LTAuOS4xOSBkZXBlbmRzIG9uIGZpbGU6IC91c3IvbG9jYWwvbGliZGF0YS9wa2djb25maWcvc20u cGMgLSBmb3VuZAo9PT0+ICAgcHVsc2VhdWRpby0wLjkuMTkgZGVwZW5kcyBvbiBmaWxlOiAvdXNy L2xvY2FsL2xpYmRhdGEvcGtnY29uZmlnL3h0c3QucGMgLSBmb3VuZAo9PT0+ICAgcHVsc2VhdWRp by0wLjkuMTkgZGVwZW5kcyBvbiBmaWxlOiAvdXNyL2xvY2FsL2xpYmRhdGEvcGtnY29uZmlnL2lj ZS5wYyAtIGZvdW5kCj09PT4gICBwdWxzZWF1ZGlvLTAuOS4xOSBkZXBlbmRzIG9uIHBhY2thZ2U6 IGxpYnRvb2w+PTIuMiAtIGZvdW5kCj09PT4gICBwdWxzZWF1ZGlvLTAuOS4xOSBkZXBlbmRzIG9u IGZpbGU6IC91c3IvbG9jYWwvYmluL2ludGx0b29sLWV4dHJhY3QgLSBmb3VuZAo9PT0+ICAgcHVs c2VhdWRpby0wLjkuMTkgZGVwZW5kcyBvbiBleGVjdXRhYmxlOiBwa2ctY29uZmlnIC0gZm91bmQK PT09PiAgIHB1bHNlYXVkaW8tMC45LjE5IGRlcGVuZHMgb24gc2hhcmVkIGxpYnJhcnk6IHNhbXBs ZXJhdGUuMSAtIGZvdW5kCj09PT4gICBwdWxzZWF1ZGlvLTAuOS4xOSBkZXBlbmRzIG9uIHNoYXJl ZCBsaWJyYXJ5OiBzcGVleGRzcC4xIC0gZm91bmQKPT09PiAgIHB1bHNlYXVkaW8tMC45LjE5IGRl cGVuZHMgb24gc2hhcmVkIGxpYnJhcnk6IGRidXMtMS4zIC0gZm91bmQKPT09PiAgIHB1bHNlYXVk aW8tMC45LjE5IGRlcGVuZHMgb24gc2hhcmVkIGxpYnJhcnk6IGdkYm0uMyAtIGZvdW5kCj09PT4g ICBwdWxzZWF1ZGlvLTAuOS4xOSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJyYXJ5OiBleGVjaW5mbyAt IGZvdW5kCj09PT4gICBwdWxzZWF1ZGlvLTAuOS4xOSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJyYXJ5 OiBhdmFoaS1jbGllbnQuMyAtIGZvdW5kCj09PT4gICBwdWxzZWF1ZGlvLTAuOS4xOSBkZXBlbmRz IG9uIHNoYXJlZCBsaWJyYXJ5OiBoYWwuMSAtIGZvdW5kCj09PT4gICBwdWxzZWF1ZGlvLTAuOS4x OSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJyYXJ5OiBpbnRsIC0gZm91bmQKPT09PiAgIHB1bHNlYXVk aW8tMC45LjE5IGRlcGVuZHMgb24gc2hhcmVkIGxpYnJhcnk6IGx0ZGwuNyAtIGZvdW5kCj09PT4g ICBwdWxzZWF1ZGlvLTAuOS4xOSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJyYXJ5OiBhdGstMS4wLjAg LSBmb3VuZAo9PT0+ICAgcHVsc2VhdWRpby0wLjkuMTkgZGVwZW5kcyBvbiBzaGFyZWQgbGlicmFy eTogZ2NvbmYtMi40IC0gZm91bmQKPT09PiAgIHB1bHNlYXVkaW8tMC45LjE5IGRlcGVuZHMgb24g c2hhcmVkIGxpYnJhcnk6IGdsaWItMi4wLjAgLSBmb3VuZAo9PT0+ICAgcHVsc2VhdWRpby0wLjku MTkgZGVwZW5kcyBvbiBzaGFyZWQgbGlicmFyeTogZ3RrLXgxMS0yLjAuMCAtIGZvdW5kCj09PT4g ICBwdWxzZWF1ZGlvLTAuOS4xOSBkZXBlbmRzIG9uIHNoYXJlZCBsaWJyYXJ5OiBJREwtMi4wIC0g Zm91bmQKPT09PiAgIHB1bHNlYXVkaW8tMC45LjE5IGRlcGVuZHMgb24gc2hhcmVkIGxpYnJhcnk6 IHhtbDIuNSAtIGZvdW5kCj09PT4gICBwdWxzZWF1ZGlvLTAuOS4xOSBkZXBlbmRzIG9uIHNoYXJl ZCBsaWJyYXJ5OiBPUkJpdC0yLjAgLSBmb3VuZAo9PT0+ICAgcHVsc2VhdWRpby0wLjkuMTkgZGVw ZW5kcyBvbiBzaGFyZWQgbGlicmFyeTogcGFuZ28tMS4wLjAgLSBmb3VuZAo9PT0+ICBDb25maWd1 cmluZyBmb3IgcHVsc2VhdWRpby0wLjkuMTkKY29uZmlndXJlOiBXQVJOSU5HOiB1bnJlY29nbml6 ZWQgb3B0aW9uczogLS13aXRoLXF0LWluY2x1ZGVzLCAtLXdpdGgtcXQtbGlicmFyaWVzLCAtLXdp dGgtZXh0cmEtbGlicywgLS13aXRoLWV4dHJhLWluY2x1ZGVzCmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYyAtbyByb290IC1nIHdoZWVs CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gLi9pbnN0YWxsLXNoIC1jIC1kCmNoZWNr aW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBnbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSBwYXggdGFyIGFyY2hpdmUuLi4gZ251dGFy CmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIGkzODYtcG9ydGJsZC1mcmVlYnNkOC4wCmNo ZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUuLi4gaTM4Ni1wb3J0YmxkLWZyZWVic2Q4LjAKLXA6IG5v dCBmb3VuZApzdG93OiBub3QgZm91bmQKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gLi9pbnN0YWxsLXNoIC1jIC1kCmNoZWNraW5nIGZvciBnY2MuLi4gY2MKY2hlY2tpbmcg Zm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5n IHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgY2Mgb3B0aW9uIHRvIGFj Y2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRl IHVzZWQgYnkgZ21ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgY2MuLi4g Z2NjMwpjaGVja2luZyBmb3IgY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzk5Li4uIC1zdGQ9Z251 OTkKY2hlY2tpbmcgd2hldGhlciBjYyAtc3RkPWdudTk5IGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFu ZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNz b3IuLi4gY2MgLXN0ZD1nbnU5OSAtRQpjaGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9u ZyBsaW5lcyBhbmQgLWUuLi4gL3Vzci9iaW4vZ3JlcApjaGVja2luZyBmb3IgZWdyZXAuLi4gL3Vz ci9iaW4vZ3JlcCAtRQpjaGVja2luZyB3aGV0aGVyIGNjIC1zdGQ9Z251OTkgbmVlZHMgLXRyYWRp dGlvbmFsLi4uIG5vCmNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzLi4uIHllcwpjaGVj a2luZyBmb3Igc3lzL3R5cGVzLmguLi4geWVzCmNoZWNraW5nIGZvciBzeXMvc3RhdC5oLi4uIHll cwpjaGVja2luZyBmb3Igc3RkbGliLmguLi4geWVzCmNoZWNraW5nIGZvciBzdHJpbmcuaC4uLiB5 ZXMKY2hlY2tpbmcgZm9yIG1lbW9yeS5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RyaW5ncy5oLi4u IHllcwpjaGVja2luZyBmb3IgaW50dHlwZXMuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0ZGludC5o Li4uIHllcwpjaGVja2luZyBmb3IgdW5pc3RkLmguLi4geWVzCmNoZWNraW5nIG1pbml4L2NvbmZp Zy5oIHVzYWJpbGl0eS4uLiBubwpjaGVja2luZyBtaW5peC9jb25maWcuaCBwcmVzZW5jZS4uLiBu bwpjaGVja2luZyBmb3IgbWluaXgvY29uZmlnLmguLi4gbm8KY2hlY2tpbmcgd2hldGhlciBpdCBp cyBzYWZlIHRvIGRlZmluZSBfX0VYVEVOU0lPTlNfXy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdtNC4u LiBnbTQKY2hlY2tpbmcgaWYgY2MgLXN0ZD1nbnU5OSBzdXBwb3J0cyAtV2FsbCBmbGFnLi4uIHll cwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBvcnRzIC1XIGZsYWcuLi4geWVzCmNoZWNr aW5nIGlmIGNjIC1zdGQ9Z251OTkgc3VwcG9ydHMgLVdleHRyYSBmbGFnLi4uIHllcwpjaGVja2lu ZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBvcnRzIC1waXBlIGZsYWcuLi4geWVzCmNoZWNraW5nIGlm IGNjIC1zdGQ9Z251OTkgc3VwcG9ydHMgLVduby1sb25nLWxvbmcgZmxhZy4uLiB5ZXMKY2hlY2tp bmcgaWYgY2MgLXN0ZD1nbnU5OSBzdXBwb3J0cyAtV2lubGluZSBmbGFnLi4uIHllcwpjaGVja2lu ZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBvcnRzIC1XdmxhIGZsYWcuLi4gbm8KY2hlY2tpbmcgaWYg Y2MgLXN0ZD1nbnU5OSBzdXBwb3J0cyAtV25vLW92ZXJsZW5ndGgtc3RyaW5ncyBmbGFnLi4uIHll cwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBvcnRzIC1XdW5zYWZlLWxvb3Atb3B0aW1p emF0aW9ucyBmbGFnLi4uIHllcwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBvcnRzIC1X dW5kZWYgZmxhZy4uLiB5ZXMKY2hlY2tpbmcgaWYgY2MgLXN0ZD1nbnU5OSBzdXBwb3J0cyAtV2Zv cm1hdD0yIGZsYWcuLi4geWVzCmNoZWNraW5nIGlmIGNjIC1zdGQ9Z251OTkgc3VwcG9ydHMgLVds b2dpY2FsLW9wIGZsYWcuLi4gbm8KY2hlY2tpbmcgaWYgY2MgLXN0ZD1nbnU5OSBzdXBwb3J0cyAt V3NpZ24tY29tcGFyZSBmbGFnLi4uIHllcwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBv cnRzIC1XZm9ybWF0LXNlY3VyaXR5IGZsYWcuLi4geWVzCmNoZWNraW5nIGlmIGNjIC1zdGQ9Z251 OTkgc3VwcG9ydHMgLVdmb3JtYXQtbm9ubGl0ZXJhbCBmbGFnLi4uIHllcwpjaGVja2luZyBpZiBj YyAtc3RkPWdudTk5IHN1cHBvcnRzIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gZmxhZy4uLiB5ZXMK Y2hlY2tpbmcgaWYgY2MgLXN0ZD1nbnU5OSBzdXBwb3J0cyAtV3BvaW50ZXItYXJpdGggZmxhZy4u LiB5ZXMKY2hlY2tpbmcgaWYgY2MgLXN0ZD1nbnU5OSBzdXBwb3J0cyAtV2luaXQtc2VsZiBmbGFn Li4uIHllcwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBvcnRzIC1XZGVjbGFyYXRpb24t YWZ0ZXItc3RhdGVtZW50IGZsYWcuLi4geWVzCmNoZWNraW5nIGlmIGNjIC1zdGQ9Z251OTkgc3Vw cG9ydHMgLVdmbG9hdC1lcXVhbCBmbGFnLi4uIHllcwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5 IHN1cHBvcnRzIC1XbWlzc2luZy1wcm90b3R5cGVzIGZsYWcuLi4geWVzCmNoZWNraW5nIGlmIGNj IC1zdGQ9Z251OTkgc3VwcG9ydHMgLVdzdHJpY3QtcHJvdG90eXBlcyBmbGFnLi4uIHllcwpjaGVj a2luZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBvcnRzIC1XcmVkdW5kYW50LWRlY2xzIGZsYWcuLi4g eWVzCmNoZWNraW5nIGlmIGNjIC1zdGQ9Z251OTkgc3VwcG9ydHMgLVdtaXNzaW5nLWRlY2xhcmF0 aW9ucyBmbGFnLi4uIHllcwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBvcnRzIC1XbWlz c2luZy1ub3JldHVybiBmbGFnLi4uIHllcwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBv cnRzIC1Xc2hhZG93IGZsYWcuLi4geWVzCmNoZWNraW5nIGlmIGNjIC1zdGQ9Z251OTkgc3VwcG9y dHMgLVdlbmRpZi1sYWJlbHMgZmxhZy4uLiB5ZXMKY2hlY2tpbmcgaWYgY2MgLXN0ZD1nbnU5OSBz dXBwb3J0cyAtV2Nhc3QtYWxpZ24gZmxhZy4uLiB5ZXMKY2hlY2tpbmcgaWYgY2MgLXN0ZD1nbnU5 OSBzdXBwb3J0cyAtV3N0cmljdC1hbGlhc2luZz0yIGZsYWcuLi4geWVzCmNoZWNraW5nIGlmIGNj IC1zdGQ9Z251OTkgc3VwcG9ydHMgLVd3cml0ZS1zdHJpbmdzIGZsYWcuLi4geWVzCmNoZWNraW5n IGlmIGNjIC1zdGQ9Z251OTkgc3VwcG9ydHMgLVduby11bnVzZWQtcGFyYW1ldGVyIGZsYWcuLi4g eWVzCmNoZWNraW5nIGlmIGNjIC1zdGQ9Z251OTkgc3VwcG9ydHMgLWZmYXN0LW1hdGggZmxhZy4u LiB5ZXMKY2hlY2tpbmcgaWYgY2MgLXN0ZD1nbnU5OSBzdXBwb3J0cyAtV3AsLURfRk9SVElGWV9T T1VSQ0U9MiBmbGFnLi4uIHllcwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBvcnRzIC1m bm8tY29tbW9uIGZsYWcuLi4geWVzCmNoZWNraW5nIGlmIGNjIC1zdGQ9Z251OTkgc3VwcG9ydHMg LWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiBmbGFnLi4uIHllcwpjaGVja2luZyBpZiBjYyAtc3Rk PWdudTk5IHN1cHBvcnRzIC1XbCwtdmVyc2lvbi1zY3JpcHQ9Li9zcmMvbWFwLWZpbGUgZmxhZy4u LiB5ZXMKY2hlY2tpbmcgaWYgY2MgLXN0ZD1nbnU5OSBzdXBwb3J0cyAtV2wsLXosbm93IGZsYWcu Li4geWVzCmNoZWNraW5nIGlmIGNjIC1zdGQ9Z251OTkgc3VwcG9ydHMgLVdsLC16LG5vZGVsZXRl IGZsYWcuLi4geWVzCmNoZWNraW5nIHRhcmdldCBvcGVyYXRpbmcgc3lzdGVtLi4uIHVua25vd24K Y2hlY2tpbmcgd2hldGhlciBjYyAtc3RkPWdudTk5IGtub3dzIF9fc3luY19ib29sX2NvbXBhcmVf YW5kX3N3YXAoKS4uLiBubwpjaGVja2luZyBhcmNoaXRlY3R1cmUgZm9yIG5hdGl2ZSBhdG9taWMg b3BlcmF0aW9ucy4uLiB1bmtub3duCmNoZWNraW5nIHdoZXRoZXIgY2MgLXN0ZD1nbnU5OSBrbm93 cyBfX3RocmVhZCBmb3IgVGhyZWFkLUxvY2FsIFN0b3JhZ2UuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgY2MgLXN0ZD1nbnU5OSBrbm93cyBfQm9vbC4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgc2VkIHRo YXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0Li4uIC91c3IvYmluL3NlZApjaGVja2luZyBmb3Ig ZmdyZXAuLi4gL3Vzci9iaW4vZ3JlcCAtRgpjaGVja2luZyBmb3IgbGQgdXNlZCBieSBjYyAtc3Rk PWdudTk5Li4uIC91c3IvYmluL2xkCmNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKC91c3IvYmluL2xk KSBpcyBHTlUgbGQuLi4geWVzCmNoZWNraW5nIGZvciBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFt ZSBsaXN0ZXIgKG5tKS4uLiAvdXNyL2Jpbi9ubSAtQgpjaGVja2luZyB0aGUgbmFtZSBsaXN0ZXIg KC91c3IvYmluL25tIC1CKSBpbnRlcmZhY2UuLi4gQlNEIG5tCmNoZWNraW5nIHdoZXRoZXIgbG4g LXMgd29ya3MuLi4geWVzCmNoZWNraW5nIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBjb21tYW5kIGxp bmUgYXJndW1lbnRzLi4uIChjYWNoZWQpIDI2MjE0NApjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVs bCB1bmRlcnN0YW5kcyBzb21lIFhTSSBjb25zdHJ1Y3RzLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IHRoZSBzaGVsbCB1bmRlcnN0YW5kcyAiKz0iLi4uIG5vCmNoZWNraW5nIGZvciAvdXNyL2Jpbi9s ZCBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcy4uLiAtcgpjaGVja2luZyBmb3Igb2JqZHVt cC4uLiBvYmpkdW1wCmNoZWNraW5nIGhvdyB0byByZWNvZ25pemUgZGVwZW5kZW50IGxpYnJhcmll cy4uLiBwYXNzX2FsbApjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgZm9yIHN0cmlwLi4u IHN0cmlwCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIGNvbW1hbmQgdG8g cGFyc2UgL3Vzci9iaW4vbm0gLUIgb3V0cHV0IGZyb20gY2MgLXN0ZD1nbnU5OSBvYmplY3QuLi4g b2sKY2hlY2tpbmcgZm9yIGRsZmNuLmguLi4geWVzCmNoZWNraW5nIGZvciBvYmpkaXIuLi4gLmxp YnMKY2hlY2tpbmcgaWYgY2MgLXN0ZD1nbnU5OSBzdXBwb3J0cyAtZm5vLXJ0dGkgLWZuby1leGNl cHRpb25zLi4uIG5vCmNoZWNraW5nIGZvciBjYyAtc3RkPWdudTk5IG9wdGlvbiB0byBwcm9kdWNl IFBJQy4uLiAtZlBJQyAtRFBJQwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5IFBJQyBmbGFnIC1m UElDIC1EUElDIHdvcmtzLi4uIHllcwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5IHN0YXRpYyBm bGFnIC1zdGF0aWMgd29ya3MuLi4geWVzCmNoZWNraW5nIGlmIGNjIC1zdGQ9Z251OTkgc3VwcG9y dHMgLWMgLW8gZmlsZS5vLi4uIHllcwpjaGVja2luZyBpZiBjYyAtc3RkPWdudTk5IHN1cHBvcnRz IC1jIC1vIGZpbGUuby4uLiAoY2FjaGVkKSB5ZXMKY2hlY2tpbmcgd2hldGhlciB0aGUgY2MgLXN0 ZD1nbnU5OSBsaW5rZXIgKC91c3IvYmluL2xkKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhwbGljaXRseSBsaW5rZWQgaW4u Li4gbm8KY2hlY2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uIGZyZWVic2Q4 LjAgbGQuc28KY2hlY2tpbmcgaG93IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0aHMgaW50byBwcm9n cmFtcy4uLiBpbW1lZGlhdGUKY2hlY2tpbmcgZm9yIHNobF9sb2FkLi4uIG5vCmNoZWNraW5nIGZv ciBzaGxfbG9hZCBpbiAtbGRsZC4uLiBubwpjaGVja2luZyBmb3IgZGxvcGVuLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGEgcHJvZ3JhbSBjYW4gZGxvcGVuIGl0c2VsZi4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBhIHN0YXRpY2FsbHkgbGlua2VkIHByb2dyYW0gY2FuIGRsb3BlbiBpdHNlbGYuLi4g bm8KY2hlY2tpbmcgd2hldGhlciBzdHJpcHBpbmcgbGlicmFyaWVzIGlzIHBvc3NpYmxlLi4uIHll cwpjaGVja2luZyBpZiBsaWJ0b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzLi4uIG5vCmNoZWNraW5nIGx0ZGwuaCB1 c2FiaWxpdHkuLi4gbm8KY2hlY2tpbmcgbHRkbC5oIHByZXNlbmNlLi4uIG5vCmNoZWNraW5nIGZv ciBsdGRsLmguLi4gbm8KY29uZmlndXJlOiBlcnJvcjogVW5hYmxlIHRvIGZpbmQgbGlibHRkbCB2 ZXJzaW9uIDIuIE1ha2VzIHN1cmUgeW91IGhhdmUgbGlidG9vbCAyLjIgb3IgbGF0ZXIgaW5zdGFs bGVkLgo9PT0+ICBTY3JpcHQgImNvbmZpZ3VyZSIgZmFpbGVkIHVuZXhwZWN0ZWRseS4KUGxlYXNl IHJ1biB0aGUgZ25vbWVsb2dhbHl6ZXIsIGF2YWlsYWJsZSBmcm9tCiJodHRwOi8vd3d3LmZyZWVi c2Qub3JnL2dub21lL2dub21lbG9nYWx5emVyLnNoIiwgd2hpY2ggd2lsbCBkaWFnbm9zZSB0aGUK cHJvYmxlbSBhbmQgc3VnZ2VzdCBhIHNvbHV0aW9uLiBJZiAtIGFuZCBvbmx5IGlmIC0gdGhlIGdu b21lbG9nYWx5emVyIGNhbm5vdApzb2x2ZSB0aGUgcHJvYmxlbSwgcmVwb3J0IHRoZSBidWlsZCBm YWlsdXJlIHRvIHRoZSBGcmVlQlNEIEdOT01FIHRlYW0gYXQKZ25vbWVARnJlZUJTRC5vcmcsIGFu ZCBhdHRhY2ggKGEpCiIvdXNyL3BvcnRzL2F1ZGlvL3B1bHNlYXVkaW8vd29yay9wdWxzZWF1ZGlv LTAuOS4xOS9jb25maWcubG9nIiwgKGIpIHRoZQpvdXRwdXQgb2YgdGhlIGZhaWxlZCBtYWtlIGNv bW1hbmQsIGFuZCAoYykgdGhlIGdub21lbG9nYWx5emVyIG91dHB1dC4gQWxzbywKaXQgbWlnaHQg YmUgYSBnb29kIGlkZWEgdG8gcHJvdmlkZSBhbiBvdmVydmlldyBvZiBhbGwgcGFja2FnZXMgaW5z dGFsbGVkIG9uCnlvdXIgc3lzdGVtIChpLmUuIGFuIGBscyAvdmFyL2RiL3BrZ2ApLiBQdXQgeW91 ciBhdHRhY2htZW50IHVwIG9uIGFueSB3ZWJzaXRlLApjb3B5LWFuZC1wYXN0ZSBpbnRvIGh0dHA6 Ly9mcmVlYnNkLWdub21lLnBhc3RlYmluLmNvbSwgb3IgdXNlIHNlbmQtcHIoMSkgd2l0aAp0aGUg YXR0YWNobWVudC4gVHJ5IHRvIGF2b2lkIHNlbmRpbmcgYW55IGF0dGFjaG1lbnRzIHRvIHRoZSBt YWlsaW5nIGxpc3QKKGdub21lQEZyZWVCU0Qub3JnKSwgYmVjYXVzZSBhdHRhY2htZW50cyBzZW50 IHRvIEZyZWVCU0QgbWFpbGluZyBsaXN0cyBhcmUKdXN1YWxseSBkaXNjYXJkZWQgYnkgdGhlIG1h aWxpbmcgbGlzdCBzb2Z0d2FyZS4KKioqIEVycm9yIGNvZGUgMQoKU3RvcCBpbiAvdXNyL3BvcnRz L2F1ZGlvL3B1bHNlYXVkaW8uCioqKiBFcnJvciBjb2RlIDEKClN0b3AgaW4gL3Vzci9wb3J0cy9h dWRpby9wdWxzZWF1ZGlvLgo= --0015174c3520568f2c04750040a7--