From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alex =?UTF-8?Q?Benn=C3=A9e?= Newsgroups: gmane.emacs.bugs Subject: bug#48337: Fwd: 28.0.50; Emacs crashing randomly (possibly minibuffer activity related) Date: Tue, 11 May 2021 09:54:32 +0100 Message-ID: References: <87tunasd2u.fsf@linaro.org> <83fsyu57oj.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000a2594105c20a0b54" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1247"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Alan Mackenzie , 48337@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue May 11 11:38:24 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lgOqM-0000C4-Uq for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 11 May 2021 11:38:23 +0200 Original-Received: from localhost ([::1]:39032 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lgOqL-0005xn-Tt for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 11 May 2021 05:38:21 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43064) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lgOAQ-0007oc-Kf for bug-gnu-emacs@gnu.org; Tue, 11 May 2021 04:55:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:51600) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lgOAP-0006rw-TJ for bug-gnu-emacs@gnu.org; Tue, 11 May 2021 04:55:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lgOAP-0002a5-RG for bug-gnu-emacs@gnu.org; Tue, 11 May 2021 04:55:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alex =?UTF-8?Q?Benn=C3=A9e?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 11 May 2021 08:55:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48337 X-GNU-PR-Package: emacs Original-Received: via spool by 48337-submit@debbugs.gnu.org id=B48337.16207232959904 (code B ref 48337); Tue, 11 May 2021 08:55:01 +0000 Original-Received: (at 48337) by debbugs.gnu.org; 11 May 2021 08:54:55 +0000 Original-Received: from localhost ([127.0.0.1]:34913 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lgOAH-0002Ze-O7 for submit@debbugs.gnu.org; Tue, 11 May 2021 04:54:55 -0400 Original-Received: from mail-lj1-f182.google.com ([209.85.208.182]:40848) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lgOAE-0002ZI-B4 for 48337@debbugs.gnu.org; Tue, 11 May 2021 04:54:52 -0400 Original-Received: by mail-lj1-f182.google.com with SMTP id c15so9654658ljr.7 for <48337@debbugs.gnu.org>; Tue, 11 May 2021 01:54:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=RAtw7hzZkGE1KgGwJIBN5/9li8bzee26+pKQunJETbI=; b=lLwRsMq3QSaxlkDGRhhFVS6uiy6cKYnE9fyqaSnI8SNUplVZ8xcBz11YrOTe3kVtQa 2hu5yyeuYicRQ1NzXAdiScnb1hILkq/xdFa73g9z+/FncckayEkZPeTSljrHN8J61WWb yGpM/1AUwbq3/TXRK/kYV1XDxl+P9zXq9soVR6fxM40srXqFijByPG8Bu8sBx6aDA/1C hisSfQlZRu3RI1Ctjfw4FeEgmgakJlfN/TMnLL0sR1T92xJxF9YSQ3MSrL8H9HbITGFZ fOQKxvve46BUo0YRHB33Tw3e2g8QmlIbt1AIAcUDV2HJTx3cajbS+PjmGm9106vC4e5r 6x8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RAtw7hzZkGE1KgGwJIBN5/9li8bzee26+pKQunJETbI=; b=ukBU+fhiLcgy67Mw4pTdc6zXPyIZRBkqIeb2RGm5uwKStWOb+M3hMjribnPATnJdfy HSFRBpZAoUoJazRlkWOUmsZu9U0jaKzCes1PMxdrrsKvXz45Tr6v5LGg8Av/T1Iv/JUq cIXVrDKYEz96uavFUzlOMBoYFtPtMMF7rvA4VkR/0ydXT4Bbq+J5k+/Ttux2GhcWm1y6 HyrGElrRfFS9xSoB0pV05nFxtxeBxRgWRdW4CciF8xIPqAT7agqijbNuL9LOrUb7u6LL cfsHzpx4rMfCtxsMZRjeTS2ygmg32WuuQY+bfn0FgHKn6HsAHSxxTf9Xc18e6WwcEf8A 88bQ== X-Gm-Message-State: AOAM531xE3an+n4KCFM6U7jCYyVePSJuf/BovhT+Ra/qz5PWgIQjMfxg di3gsbxROBnl8Oiv6zkPZngOXXxMSAsBRK2QuH7x/w== X-Google-Smtp-Source: ABdhPJx2P/gAagH98RmRdnt0TShVcaFaotvezUiD3U+1dLo5UUj1vJOif/OZ8Q4udtNF9/dYQwlo8NJ8yYDifSewRYQ= X-Received: by 2002:a2e:a28f:: with SMTP id k15mr22930576lja.163.1620723284192; Tue, 11 May 2021 01:54:44 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:206211 Archived-At: --000000000000a2594105c20a0b54 Content-Type: multipart/alternative; boundary="000000000000a2593f05c20a0b52" --000000000000a2593f05c20a0b52 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sorry for the spamming of the logs, this time collected with debugging information and the trace of gdb commands so you can see what's going on. Basically the for (; 0 < num; num--, tail =3D XCDR (tail)) ends with a NULL value. On Tue, 11 May 2021 at 09:23, Alex Benn=C3=A9e wro= te: > I tried noodling around in rr to get some more details but I'm a bit lost > with how the C code iterates through the objects. It certainly looks like > Fnthcdr just ends up with an empty value. > > Log attached: > > > > On Tue, 11 May 2021 at 07:51, Alex Benn=C3=A9e w= rote: > >> I can now recreate at will with a magit sequence (l o hackbox/ TAB) whic= h >> triggers a minibuffer re-size to accommodate the list of git branches: >> >> (gdb) info frame 0 >> Stack frame at 0x7fffffffb2e0: >> rip =3D 0x5555556a80ef in Factive_minibuffer_window (minibuf.c:230); sa= ved >> rip =3D 0x5555556f52ab >> called by frame at 0x7fffffffb340 >> source language c. >> Arglist at 0x7fffffffb2c8, args: >> Locals at 0x7fffffffb2c8, Previous frame's sp is 0x7fffffffb2e0 >> Saved registers: >> rip at 0x7fffffffb2d8 >> (gdb) x/5i $pc >> =3D> 0x5555556a80ef : mov >> -0x3(%rax),%r10 >> 0x5555556a80f3 : lea >> -0x3(%rdx),%eax >> 0x5555556a80f6 : test $0x7,%al >> 0x5555556a80f8 : jne >> 0x5555556a8153 >> 0x5555556a80fa : nopw >> 0x0(%rax,%rax,1) >> (gdb) p/x $rax >> $4 =3D 0x0 >> (gdb) p/x $r10 >> $5 =3D 0x7fffeece9c6d >> (gdb) l >> 225 Lisp_Object innermost_MB; >> 226 >> 227 if (!minibuf_level) >> 228 return Qnil; >> 229 >> 230 innermost_MB =3D nth_minibuffer (minibuf_level); >> 231 FOR_EACH_FRAME (frames, frame) >> 232 { >> 233 f =3D XFRAME (frame); >> 234 if (FRAME_LIVE_P (f) >> (gdb) p minibuf_level >> $6 =3D 2 >> (gdb) p Vminibuffer_list >> $7 =3D (Lisp_Object) 0x555555c9aca3 >> (gdb) p $* >> A syntax error in expression, near `'. >> (gdb) p *$ >> $8 =3D >> (gdb) >> >> Let me know if you want something else. >> >> On Tue, 11 May 2021 at 03:24, Eli Zaretskii wrote: >> >>> > From: Alex Benn=C3=A9e >>> > Date: Mon, 10 May 2021 20:30:58 +0100 >>> > Cc: Alan Mackenzie >>> > >>> > It seems my mail client left this in the sent folder but never >>> actually sent it: >>> > >>> > I haven't been able to find a reproduction as the bug hits fairly >>> > randomly hence I'm running in my normal init.el heavy environment. >>> > That said there shouldn't be anything in lisp that could cause a >>> > segfault in the core C code. >>> > >>> > This only started happening this week after a recent update from >>> > master (I update every Monday). The only change I could see that >>> might >>> > be related was f608b4b93 (Prevent the selected window being a dead >>> > mini-window when switching frames). >>> > >>> > Unfortunately no symbols. However both core dumps so far have seen >>> the >>> > same null XCAR being called from nth_minibuffer: >>> > >>> > #0 0x00007f4384f585cb in raise (sig=3Dsig@entry=3D11) at >>> ../sysdeps/unix/sysv/linux/raise.c:50 >>> > set =3D {__val =3D {18446744067266837247, 0 }} >>> > pid =3D >>> > tid =3D >>> > #1 0x000055b6738bf530 in terminate_due_to_signal (sig=3Dsig@entry= =3D11, >>> > backtrace_limit=3Dbacktrace_limit@entry=3D40) at emacs.c:437 >>> > #2 0x000055b6738bf97d in handle_fatal_signal (sig=3Dsig@entry=3D11= ) at >>> sysdep.c:1762 >>> > #3 0x000055b6739b8ca8 in deliver_thread_signal (sig=3Dsig@entry=3D= 11, >>> handler=3D0x55b6738bf972 >>> > ) at sysdep.c:1754 >>> > #4 0x000055b6739b8d29 in deliver_fatal_thread_signal (sig=3D11) at >>> sysdep.c:1867 >>> > fatal =3D >>> > #5 0x000055b6739b8d29 in handle_sigsegv (sig=3D11, siginfo=3D>> out>, arg=3D) at >>> > sysdep.c:1867 >>> > fatal =3D >>> > #6 0x00007f4384f58730 in () at >>> /lib/x86_64-linux-gnu/libpthread.so.0 >>> > #7 0x000055b6739ce0ef in XCAR (c=3D0x0) at lisp.h:1420 >>> > tail =3D 0x0 >>> > frames =3D >>> > frame =3D >>> > f =3D >>> > innermost_MB =3D >>> > #8 0x000055b6739ce0ef in nth_minibuffer (depth=3D) = at >>> minibuf.c:972 >>> > tail =3D 0x0 >>> > frames =3D >>> > frame =3D >>> > f =3D >>> > innermost_MB =3D >>> >>> Please show the Lisp value of Vminibuffer_list. >>> >> >> >> -- >> Alex Benn=C3=A9e >> KVM/QEMU Hacker for Linaro >> > > > -- > Alex Benn=C3=A9e > KVM/QEMU Hacker for Linaro > --=20 Alex Benn=C3=A9e KVM/QEMU Hacker for Linaro --000000000000a2593f05c20a0b52 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Sorry for the spamming of the logs, this time collected wi= th debugging information and the trace of gdb commands so you can see what&= #39;s going on. Basically the for (; 0 < num; num--, tail =3D XCDR (tail= )) ends with a NULL value.

On Tue, 11 May 2021 at 09:23, Alex Benn=C3=A9e &l= t;alex.bennee@linaro.org> = wrote:
I tried noodling around in rr to get some more details but I&= #39;m a bit lost with how the C code iterates through the objects. It certa= inly looks like Fnthcdr just ends up with an empty value.

Log attached:



On Tue, 11 May 202= 1 at 07:51, Alex Benn=C3=A9e <alex.bennee@linaro.org> wrote:
I can now rec= reate at will with a magit sequence (l o hackbox/ TAB) which triggers a min= ibuffer re-size to accommodate the list of git branches:

(gdb) info frame 0
Stack frame at 0x7fffffffb2e0:
=C2=A0rip = =3D 0x5555556a80ef in Factive_minibuffer_window (minibuf.c:230); saved rip = =3D 0x5555556f52ab
=C2=A0called by frame at 0x7fffffffb340
=C2=A0sour= ce language c.
=C2=A0Arglist at 0x7fffffffb2c8, args:
=C2=A0Locals at= 0x7fffffffb2c8, Previous frame's sp is 0x7fffffffb2e0
=C2=A0Saved r= egisters:
=C2=A0 rip at 0x7fffffffb2d8
(gdb) x/5i $pc
=3D> 0x55= 55556a80ef <Factive_minibuffer_window+79>: =C2=A0 =C2=A0 =C2=A0 mov = =C2=A0 =C2=A0-0x3(%rax),%r10
=C2=A0 =C2=A00x5555556a80f3 <Factive_min= ibuffer_window+83>: =C2=A0 =C2=A0 =C2=A0 lea =C2=A0 =C2=A0-0x3(%rdx),%ea= x
=C2=A0 =C2=A00x5555556a80f6 <Factive_minibuffer_window+86>: =C2= =A0 =C2=A0 =C2=A0 test =C2=A0 $0x7,%al
=C2=A0 =C2=A00x5555556a80f8 <F= active_minibuffer_window+88>: =C2=A0 =C2=A0 =C2=A0 jne =C2=A0 =C2=A00x55= 55556a8153 <Factive_minibuffer_window+179>
=C2=A0 =C2=A00x5555556a= 80fa <Factive_minibuffer_window+90>: =C2=A0 =C2=A0 =C2=A0 nopw =C2=A0= 0x0(%rax,%rax,1)
(gdb) p/x $rax
$4 =3D 0x0
(gdb) p/x $r10
$5 = =3D 0x7fffeece9c6d
(gdb) l
225 =C2=A0 =C2=A0 =C2=A0 Lisp_Object inner= most_MB;
226
227 =C2=A0 =C2=A0 =C2=A0 if (!minibuf_level)
228 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 return Qnil;
229
230 =C2=A0 =C2=A0 =C2=A0 in= nermost_MB =3D nth_minibuffer (minibuf_level);
231 =C2=A0 =C2=A0 =C2=A0 = FOR_EACH_FRAME (frames, frame)
232 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
233 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 f =3D XFRAME (frame);
234 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 if (FRAME_LIVE_P (f)
(gdb) p minibuf_level
$= 6 =3D 2
(gdb) p Vminibuffer_list
$7 =3D (Lisp_Object) 0x555555c9aca3<= br>(gdb) p $*
A syntax error in expression, near `'.
(gdb) p *$$8 =3D <incomplete type>
(gdb)

Let me k= now if you want something else.

On Tue, 11 May 2021 at 03:24, Eli = Zaretskii <eliz@gnu.or= g> wrote:
> From: Alex Benn=C3=A9e <alex.bennee@linaro.org>
> Date: Mon, 10 May 2021 20:30:58 +0100
> Cc: Alan Mackenzie <acm@muc.de>
>
> It seems my mail client left this in the sent folder but never actuall= y sent it:
>
>=C2=A0 =C2=A0I haven't been able to find a reproduction as the bug = hits fairly
>=C2=A0 =C2=A0randomly hence I'm running in my normal init.el heavy = environment.
>=C2=A0 =C2=A0That said there shouldn't be anything in lisp that cou= ld cause a
>=C2=A0 =C2=A0segfault in the core C code.
>
>=C2=A0 =C2=A0This only started happening this week after a recent updat= e from
>=C2=A0 =C2=A0master (I update every Monday). The only change I could se= e that might
>=C2=A0 =C2=A0be related was f608b4b93 (Prevent the selected window bein= g a dead
>=C2=A0 =C2=A0mini-window when switching frames).
>
>=C2=A0 =C2=A0Unfortunately no symbols. However both core dumps so far h= ave seen the
>=C2=A0 =C2=A0same null XCAR being called from nth_minibuffer:
>
>=C2=A0 =C2=A0#0=C2=A0 0x00007f4384f585cb in raise (sig=3Dsig@entry=3D11= ) at ../sysdeps/unix/sysv/linux/raise.c:50
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0set =3D {__val =3D {1844674406= 7266837247, 0 <repeats 15 times>}}
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pid =3D <optimized out><= br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0tid =3D <optimized out><= br> >=C2=A0 =C2=A0#1=C2=A0 0x000055b6738bf530 in terminate_due_to_signal (si= g=3Dsig@entry=3D11,
> backtrace_limit=3Dbacktrace_limit@entry=3D40) at emacs.c:437
>=C2=A0 =C2=A0#2=C2=A0 0x000055b6738bf97d in handle_fatal_signal (sig=3D= sig@entry=3D11) at sysdep.c:1762
>=C2=A0 =C2=A0#3=C2=A0 0x000055b6739b8ca8 in deliver_thread_signal (sig= =3Dsig@entry=3D11, handler=3D0x55b6738bf972
> <handle_fatal_signal>) at sysdep.c:1754
>=C2=A0 =C2=A0#4=C2=A0 0x000055b6739b8d29 in deliver_fatal_thread_signal= (sig=3D11) at sysdep.c:1867
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0fatal =3D <optimized out>= ;
>=C2=A0 =C2=A0#5=C2=A0 0x000055b6739b8d29 in handle_sigsegv (sig=3D11, s= iginfo=3D<optimized out>, arg=3D<optimized out>) at
> sysdep.c:1867
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0fatal =3D <optimized out>= ;
>=C2=A0 =C2=A0#6=C2=A0 0x00007f4384f58730 in <signal handler called&g= t; () at /lib/x86_64-linux-gnu/libpthread.so.0
>=C2=A0 =C2=A0#7=C2=A0 0x000055b6739ce0ef in XCAR (c=3D0x0) at lisp.h:14= 20
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0tail =3D 0x0
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0frames =3D <optimized out&g= t;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0frame =3D <optimized out>= ;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0f =3D <optimized out> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0innermost_MB =3D <optimized= out>
>=C2=A0 =C2=A0#8=C2=A0 0x000055b6739ce0ef in nth_minibuffer (depth=3D<= ;optimized out>) at minibuf.c:972
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0tail =3D 0x0
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0frames =3D <optimized out&g= t;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0frame =3D <optimized out>= ;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0f =3D <optimized out> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0innermost_MB =3D <optimized= out>

Please show the Lisp value of Vminibuffer_list.


--
Alex Benn= =C3=A9e
KVM/QEMU Hacker for Linaro


--
Alex Benn= =C3=A9e
KVM/QEMU Hacker for Linaro


--
Alex Benn=C3=A9e
KVM/QEMU Hacker for Linaro
--000000000000a2593f05c20a0b52-- --000000000000a2594105c20a0b54 Content-Type: text/plain; charset="US-ASCII"; name="rr2.txt" Content-Disposition: attachment; filename="rr2.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kojsse8e0 NDUJaW4gLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmFpc2UuYwojMCAgMHgwMDAwN2VmZDBj YTJlNWNiIGluIHJhaXNlIChzaWc9NikgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmFp c2UuYzo1MAojMSAgMHgwMDAwNTVlM2M1NjRjNGY2IGluIHRlcm1pbmF0ZV9kdWVfdG9fc2lnbmFs IChzaWc9NiwgYmFja3RyYWNlX2xpbWl0PTIxNDc0ODM2NDcpIGF0IGVtYWNzLmM6NDM3CiMyICAw eDAwMDA1NWUzYzU2ZjlkYzIgaW4gZGllIChtc2c9MHg1NWUzYzU4OWM5NWMgIkNPTlNQICh0YWls KSIsIGZpbGU9MHg1NWUzYzU4OWM1YzYgIm1pbmlidWYuYyIsIGxpbmU9OTcyKSBhdCBhbGxvYy5j Ojc0NTEKIzMgIDB4MDAwMDU1ZTNjNTZhOTgyZSBpbiBudGhfbWluaWJ1ZmZlciAoZGVwdGg9Mikg YXQgbWluaWJ1Zi5jOjk3MgojNCAgMHgwMDAwNTVlM2M1NmE2ZTZlIGluIEZhY3RpdmVfbWluaWJ1 ZmZlcl93aW5kb3cgKCkgYXQgbWluaWJ1Zi5jOjIzMAojNSAgMHgwMDAwNTVlM2M1NzM0ODYzIGlu IGZ1bmNhbGxfc3ViciAoc3Vicj0weDU1ZTNjNWQzMDYwMCA8U2FjdGl2ZV9taW5pYnVmZmVyX3dp bmRvdz4sIG51bWFyZ3M9MCwgYXJncz0weDdmZmU0ODA0NGI1MCkgYXQgZXZhbC5jOjMxMDkKIzYg IDB4MDAwMDU1ZTNjNTczNDMzMyBpbiBGZnVuY2FsbCAobmFyZ3M9MSwgYXJncz0weDdmZmU0ODA0 NGI0OCkgYXQgZXZhbC5jOjMwMzYKIzcgIDB4MDAwMDU1ZTNjNTc4ZWI1MCBpbiBleGVjX2J5dGVf Y29kZSAoYnl0ZXN0cj0uLi4sIHZlY3Rvcj0uLi4sIG1heGRlcHRoPS4uLiwgYXJnc190ZW1wbGF0 ZT0uLi4sIG5hcmdzPTEsIGFyZ3M9MHg3ZmZlNDgwNDUwMTApIGF0IGJ5dGVjb2RlLmM6NjMyCiM4 ICAweDAwMDA1NWUzYzU3MzRhZmIgaW4gZmV0Y2hfYW5kX2V4ZWNfYnl0ZV9jb2RlIChmdW49Li4u LCBzeW1zX2xlZnQ9Li4uLCBuYXJncz0xLCBhcmdzPTB4N2ZmZTQ4MDQ1MDA4KSBhdCBldmFsLmM6 MzE2MAojOSAgMHgwMDAwNTVlM2M1NzM0ZjgxIGluIGZ1bmNhbGxfbGFtYmRhIChmdW49Li4uLCBu YXJncz0xLCBhcmdfdmVjdG9yPTB4N2ZmZTQ4MDQ1MDA4KSBhdCBldmFsLmM6MzI0MQojMTAgMHgw MDAwNTVlM2M1NzM0Mzg3IGluIEZmdW5jYWxsIChuYXJncz0yLCBhcmdzPTB4N2ZmZTQ4MDQ1MDAw KSBhdCBldmFsLmM6MzA0MAojMTEgMHgwMDAwN2VmY2YwYTIyZjgyIGluIEY2NDZmNmY2ZDJkNmQ2 ZjY0NjU2YzY5NmU2NTJkNzM2NTc0MmQ3MzY1NmM2NTYzNzQ2NTY0MmQ3NzY5NmU2NDZmNzdfZG9v bV9tb2RlbGluZV9zZXRfc2VsZWN0ZWRfd2luZG93XzAgKCkgYXQgL2hvbWUvYWxleC8uZW1hY3Mu ZC9lbG4tY2FjaGUvMjguMC41MC1iY2ZmN2RkNy9kb29tLW1vZGVsaW5lLWNvcmUtMzE2MzQyZjMt YTBhYjlmYTUuZWxuCiMxMiAweDAwMDA1NWUzYzU3MzQ3NmQgaW4gZnVuY2FsbF9zdWJyIChzdWJy PTB4NTVlM2M3NWZiOTgwLCBudW1hcmdzPTAsIGFyZ3M9MHg3ZmZlNDgwNDUxZjApIGF0IGV2YWwu YzozMDkxCiMxMyAweDAwMDA1NWUzYzU3MzQzMzMgaW4gRmZ1bmNhbGwgKG5hcmdzPTEsIGFyZ3M9 MHg3ZmZlNDgwNDUxZTgpIGF0IGV2YWwuYzozMDM2CiMxNCAweDAwMDA1NWUzYzU3MzM1OTkgaW4g ZnVuY2FsbF9uaWwgKG5hcmdzPTEsIGFyZ3M9MHg3ZmZlNDgwNDUxZTgpIGF0IGV2YWwuYzoyNjc3 CiMxNSAweDAwMDA1NWUzYzU3MzNhYzMgaW4gcnVuX2hvb2tfd2l0aF9hcmdzIChuYXJncz0xLCBh cmdzPTB4N2ZmZTQ4MDQ1MWU4LCBmdW5jYWxsPTB4NTVlM2M1NzMzNTc2IDxmdW5jYWxsX25pbD4p IGF0IGV2YWwuYzoyODU0CiMxNiAweDAwMDA1NWUzYzU3MzM2MWYgaW4gRnJ1bl9ob29rX3dpdGhf YXJncyAobmFyZ3M9MSwgYXJncz0weDdmZmU0ODA0NTFlOCkgYXQgZXZhbC5jOjI3MTkKIzE3IDB4 MDAwMDU1ZTNjNTczM2I1YiBpbiBydW5faG9vayAoaG9vaz0uLi4pIGF0IGV2YWwuYzoyODY3CiMx OCAweDAwMDA1NWUzYzU3MzM1ZGEgaW4gRnJ1bl9ob29rcyAobmFyZ3M9MSwgYXJncz0weDdmZmU0 ODA0NTM2OCkgYXQgZXZhbC5jOjI3MDEKIzE5IDB4MDAwMDU1ZTNjNTczNDc2ZCBpbiBmdW5jYWxs X3N1YnIgKHN1YnI9MHg1NWUzYzVkMzk1YTAgPFNydW5faG9va3M+LCBudW1hcmdzPTEsIGFyZ3M9 MHg3ZmZlNDgwNDUzNjgpIGF0IGV2YWwuYzozMDkxCiMyMCAweDAwMDA1NWUzYzU3MzQzMzMgaW4g RmZ1bmNhbGwgKG5hcmdzPTIsIGFyZ3M9MHg3ZmZlNDgwNDUzNjApIGF0IGV2YWwuYzozMDM2CiMy MSAweDAwMDA1NWUzYzU3OGViNTAgaW4gZXhlY19ieXRlX2NvZGUgKGJ5dGVzdHI9Li4uLCB2ZWN0 b3I9Li4uLCBtYXhkZXB0aD0uLi4sIGFyZ3NfdGVtcGxhdGU9Li4uLCBuYXJncz0yLCBhcmdzPTB4 N2ZmZTQ4MDQ1OGM4KSBhdCBieXRlY29kZS5jOjYzMgojMjIgMHgwMDAwNTVlM2M1NzM0YWZiIGlu IGZldGNoX2FuZF9leGVjX2J5dGVfY29kZSAoZnVuPS4uLiwgc3ltc19sZWZ0PS4uLiwgbmFyZ3M9 MiwgYXJncz0weDdmZmU0ODA0NThiOCkgYXQgZXZhbC5jOjMxNjAKIzIzIDB4MDAwMDU1ZTNjNTcz NGY4MSBpbiBmdW5jYWxsX2xhbWJkYSAoZnVuPS4uLiwgbmFyZ3M9MiwgYXJnX3ZlY3Rvcj0weDdm ZmU0ODA0NThiOCkgYXQgZXZhbC5jOjMyNDEKIzI0IDB4MDAwMDU1ZTNjNTczNDM4NyBpbiBGZnVu Y2FsbCAobmFyZ3M9MywgYXJncz0weDdmZmU0ODA0NThiMCkgYXQgZXZhbC5jOjMwNDAKIzI1IDB4 MDAwMDU1ZTNjNTczM2M4ZiBpbiBjYWxsMiAoZm49Li4uLCBhcmcxPS4uLiwgYXJnMj0uLi4pIGF0 IGV2YWwuYzoyOTAzCiMyNiAweDAwMDA1NWUzYzU2YTgyYjAgaW4gcmVhZF9taW5pYnVmIChtYXA9 Li4uLCBpbml0aWFsPS4uLiwgcHJvbXB0PS4uLiwgZXhwZmxhZz1mYWxzZSwgaGlzdHZhcj0uLi4s IGhpc3Rwb3M9Li4uLCBkZWZhbHQ9Li4uLCBhbGxvd19wcm9wcz1mYWxzZSwgaW5oZXJpdF9pbnB1 dF9tZXRob2Q9ZmFsc2UpIGF0IG1pbmlidWYuYzo2ODMKIzI3IDB4MDAwMDU1ZTNjNTZhYThjZSBp biBGcmVhZF9mcm9tX21pbmlidWZmZXIgKHByb21wdD0uLi4sIGluaXRpYWxfY29udGVudHM9Li4u LCBrZXltYXA9Li4uLCByZWFkPS4uLiwgaGlzdD0uLi4sIGRlZmF1bHRfdmFsdWU9Li4uLCBpbmhl cml0X2lucHV0X21ldGhvZD0uLi4pIGF0IG1pbmlidWYuYzoxMzQyCiMyOCAweDAwMDA1NWUzYzU3 MzJkMWYgaW4gZXZhbF9zdWIgKGZvcm09Li4uKSBhdCBldmFsLmM6MjUzNQojMjkgMHgwMDAwNTVl M2M1NzJmZDBjIGluIGludGVybmFsX2xpc3BfY29uZGl0aW9uX2Nhc2UgKHZhcj0uLi4sIGJvZHlm b3JtPS4uLiwgaGFuZGxlcnM9Li4uKSBhdCBldmFsLmM6MTQyOQojMzAgMHgwMDAwNTVlM2M1NzJm NjA1IGluIEZjb25kaXRpb25fY2FzZSAoYXJncz0uLi4pIGF0IGV2YWwuYzoxMzQ3CiMzMSAweDAw MDA1NWUzYzU3MzI3ZDEgaW4gZXZhbF9zdWIgKGZvcm09Li4uKSBhdCBldmFsLmM6MjQ2NAojMzIg MHgwMDAwNTVlM2M1NzJjYTMwIGluIEZwcm9nbiAoYm9keT0uLi4pIGF0IGV2YWwuYzo0NzEKIzMz IDB4MDAwMDU1ZTNjNTcyYzdmMiBpbiBGaWYgKGFyZ3M9Li4uKSBhdCBldmFsLmM6NDI3CiMzNCAw eDAwMDA1NWUzYzU3MzI3ZDEgaW4gZXZhbF9zdWIgKGZvcm09Li4uKSBhdCBldmFsLmM6MjQ2NAoj MzUgMHgwMDAwNTVlM2M1NzJjYTMwIGluIEZwcm9nbiAoYm9keT0uLi4pIGF0IGV2YWwuYzo0NzEK IzM2IDB4MDAwMDU1ZTNjNTcyZTY3NCBpbiBGbGV0WCAoYXJncz0uLi4pIGF0IGV2YWwuYzo5ODkK IzM3IDB4MDAwMDU1ZTNjNTczMjdkMSBpbiBldmFsX3N1YiAoZm9ybT0uLi4pIGF0IGV2YWwuYzoy NDY0CiMzOCAweDAwMDA1NWUzYzU3MmNhMzAgaW4gRnByb2duIChib2R5PS4uLikgYXQgZXZhbC5j OjQ3MQojMzkgMHgwMDAwNTVlM2M1NzMyN2QxIGluIGV2YWxfc3ViIChmb3JtPS4uLikgYXQgZXZh bC5jOjI0NjQKIzQwIDB4MDAwMDU1ZTNjNTcyZjQyNCBpbiBGdW53aW5kX3Byb3RlY3QgKGFyZ3M9 Li4uKSBhdCBldmFsLmM6MTMwNQojNDEgMHgwMDAwNTVlM2M1NzMyN2QxIGluIGV2YWxfc3ViIChm b3JtPS4uLikgYXQgZXZhbC5jOjI0NjQKIzQyIDB4MDAwMDU1ZTNjNTcyY2EzMCBpbiBGcHJvZ24g KGJvZHk9Li4uKSBhdCBldmFsLmM6NDcxCiM0MyAweDAwMDA1NWUzYzU3MmViODcgaW4gRmxldCAo YXJncz0uLi4pIGF0IGV2YWwuYzoxMDU3CiM0NCAweDAwMDA1NWUzYzU3MzI3ZDEgaW4gZXZhbF9z dWIgKGZvcm09Li4uKSBhdCBldmFsLmM6MjQ2NAojNDUgMHgwMDAwNTVlM2M1NzJmNDI0IGluIEZ1 bndpbmRfcHJvdGVjdCAoYXJncz0uLi4pIGF0IGV2YWwuYzoxMzA1CiM0NiAweDAwMDA1NWUzYzU3 MzI3ZDEgaW4gZXZhbF9zdWIgKGZvcm09Li4uKSBhdCBldmFsLmM6MjQ2NAojNDcgMHgwMDAwNTVl M2M1NzJjYTMwIGluIEZwcm9nbiAoYm9keT0uLi4pIGF0IGV2YWwuYzo0NzEKIzQ4IDB4MDAwMDU1 ZTNjNTcyZTY3NCBpbiBGbGV0WCAoYXJncz0uLi4pIGF0IGV2YWwuYzo5ODkKIzQ5IDB4MDAwMDU1 ZTNjNTczMjdkMSBpbiBldmFsX3N1YiAoZm9ybT0uLi4pIGF0IGV2YWwuYzoyNDY0CiM1MCAweDAw MDA1NWUzYzU3MmNhMzAgaW4gRnByb2duIChib2R5PS4uLikgYXQgZXZhbC5jOjQ3MQojNTEgMHgw MDAwNTVlM2M1NzMyN2QxIGluIGV2YWxfc3ViIChmb3JtPS4uLikgYXQgZXZhbC5jOjI0NjQKIzUy IDB4MDAwMDU1ZTNjNTcyY2EzMCBpbiBGcHJvZ24gKGJvZHk9Li4uKSBhdCBldmFsLmM6NDcxCiM1 MyAweDAwMDA1NWUzYzU3MzI3ZDEgaW4gZXZhbF9zdWIgKGZvcm09Li4uKSBhdCBldmFsLmM6MjQ2 NAojNTQgMHgwMDAwNTVlM2M1NzJjYTMwIGluIEZwcm9nbiAoYm9keT0uLi4pIGF0IGV2YWwuYzo0 NzEKIzU1IDB4MDAwMDU1ZTNjNTcyZTY3NCBpbiBGbGV0WCAoYXJncz0uLi4pIGF0IGV2YWwuYzo5 ODkKIzU2IDB4MDAwMDU1ZTNjNTczMjdkMSBpbiBldmFsX3N1YiAoZm9ybT0uLi4pIGF0IGV2YWwu YzoyNDY0CiM1NyAweDAwMDA1NWUzYzU3MmNhMzAgaW4gRnByb2duIChib2R5PS4uLikgYXQgZXZh bC5jOjQ3MQojNTggMHgwMDAwNTVlM2M1NzM1NDZjIGluIGZ1bmNhbGxfbGFtYmRhIChmdW49Li4u LCBuYXJncz0xMiwgYXJnX3ZlY3Rvcj0weDApIGF0IGV2YWwuYzozMzEzCiM1OSAweDAwMDA1NWUz YzU3MzRjYTUgaW4gYXBwbHlfbGFtYmRhIChmdW49Li4uLCBhcmdzPS4uLiwgY291bnQ9NTEpIGF0 IGV2YWwuYzozMTg1CiM2MCAweDAwMDA1NWUzYzU3MzJmZTggaW4gZXZhbF9zdWIgKGZvcm09Li4u KSBhdCBldmFsLmM6MjU4OAojNjEgMHgwMDAwNTVlM2M1NzJjYTMwIGluIEZwcm9nbiAoYm9keT0u Li4pIGF0IGV2YWwuYzo0NzEKIzYyIDB4MDAwMDU1ZTNjNTcyYzdmMiBpbiBGaWYgKGFyZ3M9Li4u KSBhdCBldmFsLmM6NDI3CiM2MyAweDAwMDA1NWUzYzU3MzI3ZDEgaW4gZXZhbF9zdWIgKGZvcm09 Li4uKSBhdCBldmFsLmM6MjQ2NAojNjQgMHgwMDAwNTVlM2M1NzJjYTMwIGluIEZwcm9nbiAoYm9k eT0uLi4pIGF0IGV2YWwuYzo0NzEKIzY1IDB4MDAwMDU1ZTNjNTcyZTY3NCBpbiBGbGV0WCAoYXJn cz0uLi4pIGF0IGV2YWwuYzo5ODkKIzY2IDB4MDAwMDU1ZTNjNTczMjdkMSBpbiBldmFsX3N1YiAo Zm9ybT0uLi4pIGF0IGV2YWwuYzoyNDY0CiM2NyAweDAwMDA1NWUzYzU3MmNhMzAgaW4gRnByb2du IChib2R5PS4uLikgYXQgZXZhbC5jOjQ3MQojNjggMHgwMDAwNTVlM2M1NzJjOTFkIGluIEZjb25k IChhcmdzPS4uLikgYXQgZXZhbC5jOjQ1MQojNjkgMHgwMDAwNTVlM2M1NzMyN2QxIGluIGV2YWxf c3ViIChmb3JtPS4uLikgYXQgZXZhbC5jOjI0NjQKIzcwIDB4MDAwMDU1ZTNjNTcyY2EzMCBpbiBG cHJvZ24gKGJvZHk9Li4uKSBhdCBldmFsLmM6NDcxCiM3MSAweDAwMDA1NWUzYzU3MmU2NzQgaW4g RmxldFggKGFyZ3M9Li4uKSBhdCBldmFsLmM6OTg5CiM3MiAweDAwMDA1NWUzYzU3MzI3ZDEgaW4g ZXZhbF9zdWIgKGZvcm09Li4uKSBhdCBldmFsLmM6MjQ2NAojNzMgMHgwMDAwNTVlM2M1NzJjYTMw IGluIEZwcm9nbiAoYm9keT0uLi4pIGF0IGV2YWwuYzo0NzEKIzc0IDB4MDAwMDU1ZTNjNTczNTQ2 YyBpbiBmdW5jYWxsX2xhbWJkYSAoZnVuPS4uLiwgbmFyZ3M9NCwgYXJnX3ZlY3Rvcj0weDApIGF0 IGV2YWwuYzozMzEzCiM3NSAweDAwMDA1NWUzYzU3MzQ0OWEgaW4gRmZ1bmNhbGwgKG5hcmdzPTUs IGFyZ3M9MHg3ZmZlNDgwNDc4ODgpIGF0IGV2YWwuYzozMDUyCiM3NiAweDAwMDA1NWUzYzU3OGVi NTAgaW4gZXhlY19ieXRlX2NvZGUgKGJ5dGVzdHI9Li4uLCB2ZWN0b3I9Li4uLCBtYXhkZXB0aD0u Li4sIGFyZ3NfdGVtcGxhdGU9Li4uLCBuYXJncz00LCBhcmdzPTB4N2ZmZTQ4MDQ3ZDg4KSBhdCBi eXRlY29kZS5jOjYzMgojNzcgMHgwMDAwNTVlM2M1NzM0YWZiIGluIGZldGNoX2FuZF9leGVjX2J5 dGVfY29kZSAoZnVuPS4uLiwgc3ltc19sZWZ0PS4uLiwgbmFyZ3M9NCwgYXJncz0weDdmZmU0ODA0 N2Q2OCkgYXQgZXZhbC5jOjMxNjAKIzc4IDB4MDAwMDU1ZTNjNTczNGY4MSBpbiBmdW5jYWxsX2xh bWJkYSAoZnVuPS4uLiwgbmFyZ3M9NCwgYXJnX3ZlY3Rvcj0weDdmZmU0ODA0N2Q2OCkgYXQgZXZh bC5jOjMyNDEKIzc5IDB4MDAwMDU1ZTNjNTczNDM4NyBpbiBGZnVuY2FsbCAobmFyZ3M9NSwgYXJn cz0weDdmZmU0ODA0N2Q2MCkgYXQgZXZhbC5jOjMwNDAKIzgwIDB4MDAwMDdlZmNmMDY4OGI1YyBp biBGNjM3MjZkMmQ2MzZmNmQ3MDZjNjU3NDY1X2NybV9jb21wbGV0ZV8wICgpIGF0IC9ob21lL2Fs ZXgvLmVtYWNzLmQvZWxuLWNhY2hlLzI4LjAuNTAtYmNmZjdkZDcvY3JtLWYwODY2NWYyLTE2Y2Ri NDdkLmVsbgojODEgMHgwMDAwNTVlM2M1NzM0ODYzIGluIGZ1bmNhbGxfc3ViciAoc3Vicj0weDU1 ZTNjY2FhMWYxOCwgbnVtYXJncz0wLCBhcmdzPTB4N2ZmZTQ4MDQ4MTUwKSBhdCBldmFsLmM6MzEw OQojODIgMHgwMDAwNTVlM2M1NzM0MzMzIGluIEZmdW5jYWxsIChuYXJncz0xLCBhcmdzPTB4N2Zm ZTQ4MDQ4MTQ4KSBhdCBldmFsLmM6MzAzNgojODMgMHgwMDAwNTVlM2M1NzI3ZjdlIGluIEZmdW5j YWxsX2ludGVyYWN0aXZlbHkgKG5hcmdzPTEsIGFyZ3M9MHg3ZmZlNDgwNDgxNDgpIGF0IGNhbGxp bnQuYzoyNjAKIzg0IDB4MDAwMDU1ZTNjNTczNDc2ZCBpbiBmdW5jYWxsX3N1YnIgKHN1YnI9MHg1 NWUzYzVkMzg5NDAgPFNmdW5jYWxsX2ludGVyYWN0aXZlbHk+LCBudW1hcmdzPTEsIGFyZ3M9MHg3 ZmZlNDgwNDgxNDgpIGF0IGV2YWwuYzozMDkxCiM4NSAweDAwMDA1NWUzYzU3MzQzMzMgaW4gRmZ1 bmNhbGwgKG5hcmdzPTIsIGFyZ3M9MHg3ZmZlNDgwNDgxNDApIGF0IGV2YWwuYzozMDM2CiM4NiAw eDAwMDA1NWUzYzU3MzMxMjEgaW4gRmFwcGx5IChuYXJncz0zLCBhcmdzPTB4N2ZmZTQ4MDQ4MTQw KSBhdCBldmFsLmM6MjYxOQojODcgMHgwMDAwNTVlM2M1NzI4NDA2IGluIEZjYWxsX2ludGVyYWN0 aXZlbHkgKGZ1bmN0aW9uPS4uLiwgcmVjb3JkX2ZsYWc9Li4uLCBrZXlzPS4uLikgYXQgY2FsbGlu dC5jOjM1MwojODggMHgwMDAwNTVlM2M1NzM0OGM2IGluIGZ1bmNhbGxfc3ViciAoc3Vicj0weDU1 ZTNjNWQzODlhMCA8U2NhbGxfaW50ZXJhY3RpdmVseT4sIG51bWFyZ3M9MywgYXJncz0weDdmZmU0 ODA0ODQwMCkgYXQgZXZhbC5jOjMxMTYKIzg5IDB4MDAwMDU1ZTNjNTczNDMzMyBpbiBGZnVuY2Fs bCAobmFyZ3M9NCwgYXJncz0weDdmZmU0ODA0ODNmOCkgYXQgZXZhbC5jOjMwMzYKIzkwIDB4MDAw MDU1ZTNjNTc4ZWI1MCBpbiBleGVjX2J5dGVfY29kZSAoYnl0ZXN0cj0uLi4sIHZlY3Rvcj0uLi4s IG1heGRlcHRoPS4uLiwgYXJnc190ZW1wbGF0ZT0uLi4sIG5hcmdzPTEsIGFyZ3M9MHg3ZmZlNDgw NDg5NzApIGF0IGJ5dGVjb2RlLmM6NjMyCiM5MSAweDAwMDA1NWUzYzU3MzRhZmIgaW4gZmV0Y2hf YW5kX2V4ZWNfYnl0ZV9jb2RlIChmdW49Li4uLCBzeW1zX2xlZnQ9Li4uLCBuYXJncz0xLCBhcmdz PTB4N2ZmZTQ4MDQ4OTY4KSBhdCBldmFsLmM6MzE2MAojOTIgMHgwMDAwNTVlM2M1NzM0ZjgxIGlu IGZ1bmNhbGxfbGFtYmRhIChmdW49Li4uLCBuYXJncz0xLCBhcmdfdmVjdG9yPTB4N2ZmZTQ4MDQ4 OTY4KSBhdCBldmFsLmM6MzI0MQojOTMgMHgwMDAwNTVlM2M1NzM0Mzg3IGluIEZmdW5jYWxsIChu YXJncz0yLCBhcmdzPTB4N2ZmZTQ4MDQ4OTYwKSBhdCBldmFsLmM6MzA0MAojOTQgMHgwMDAwNTVl M2M1NzMzYzUwIGluIGNhbGwxIChmbj0uLi4sIGFyZzE9Li4uKSBhdCBldmFsLmM6Mjg5NgojOTUg MHgwMDAwNTVlM2M1NjU0YTBlIGluIGNvbW1hbmRfbG9vcF8xICgpIGF0IGtleWJvYXJkLmM6MTQ2 NgojOTYgMHgwMDAwNTVlM2M1NzJmZTkyIGluIGludGVybmFsX2NvbmRpdGlvbl9jYXNlIChiZnVu PTB4NTVlM2M1NjU0MWI1IDxjb21tYW5kX2xvb3BfMT4sIGhhbmRsZXJzPS4uLiwgaGZ1bj0weDU1 ZTNjNTY1MzdjNCA8Y21kX2Vycm9yPikgYXQgZXZhbC5jOjE0NzUKIzk3IDB4MDAwMDU1ZTNjNTY1 M2Q5YSBpbiBjb21tYW5kX2xvb3BfMiAoaWdub3JlPS4uLikgYXQga2V5Ym9hcmQuYzoxMDk0CiM5 OCAweDAwMDA1NWUzYzU3MmYwMzYgaW4gaW50ZXJuYWxfY2F0Y2ggKHRhZz0uLi4sIGZ1bmM9MHg1 NWUzYzU2NTNkNmQgPGNvbW1hbmRfbG9vcF8yPiwgYXJnPS4uLikgYXQgZXZhbC5jOjExOTgKIzk5 IDB4MDAwMDU1ZTNjNTY1M2NjOCBpbiBjb21tYW5kX2xvb3AgKCkgYXQga2V5Ym9hcmQuYzoxMDY1 CiMxMDAgMHgwMDAwNTVlM2M1NjUzMmFiIGluIHJlY3Vyc2l2ZV9lZGl0XzEgKCkgYXQga2V5Ym9h cmQuYzo3MjAKIzEwMSAweDAwMDA1NWUzYzU2YTkxMWIgaW4gcmVhZF9taW5pYnVmIChtYXA9Li4u LCBpbml0aWFsPS4uLiwgcHJvbXB0PS4uLiwgZXhwZmxhZz1mYWxzZSwgaGlzdHZhcj0uLi4sIGhp c3Rwb3M9Li4uLCBkZWZhbHQ9Li4uLCBhbGxvd19wcm9wcz1mYWxzZSwgaW5oZXJpdF9pbnB1dF9t ZXRob2Q9ZmFsc2UpIGF0IG1pbmlidWYuYzo4OTQKIzEwMiAweDAwMDA1NWUzYzU2YWE4Y2UgaW4g RnJlYWRfZnJvbV9taW5pYnVmZmVyIChwcm9tcHQ9Li4uLCBpbml0aWFsX2NvbnRlbnRzPS4uLiwg a2V5bWFwPS4uLiwgcmVhZD0uLi4sIGhpc3Q9Li4uLCBkZWZhdWx0X3ZhbHVlPS4uLiwgaW5oZXJp dF9pbnB1dF9tZXRob2Q9Li4uKSBhdCBtaW5pYnVmLmM6MTM0MgojMTAzIDB4MDAwMDdlZmNmMDY5 N2JlMyBpbiBGNmQ2MTY3Njk3NDJkNjM2ZjZkNzA2YzY1NzQ2OTZlNjcyZDcyNjU2MTY0MmQ2ZDc1 NmM3NDY5NzA2YzY1X21hZ2l0X2NvbXBsZXRpbmdfcmVhZF9tdWx0aXBsZV8wICgpIGF0IC9ob21l L2FsZXgvLmVtYWNzLmQvZWxuLWNhY2hlLzI4LjAuNTAtYmNmZjdkZDcvbWFnaXQtdXRpbHMtNDdj ZTJiNDQtNzZkNjBlMjEuZWxuCiMxMDQgMHgwMDAwNTVlM2M1NzM0OThjIGluIGZ1bmNhbGxfc3Vi ciAoc3Vicj0weDU1ZTNjYzIyMjQ3MCwgbnVtYXJncz02LCBhcmdzPTB4N2ZmZTQ4MDQ5MDc4KSBh dCBldmFsLmM6MzEyNwojMTA1IDB4MDAwMDU1ZTNjNTczNDMzMyBpbiBGZnVuY2FsbCAobmFyZ3M9 NywgYXJncz0weDdmZmU0ODA0OTA3MCkgYXQgZXZhbC5jOjMwMzYKIzEwNiAweDAwMDA3ZWZjZjAz YWNjMDQgaW4gRjZkNjE2NzY5NzQyZDZjNmY2NzJkNzI2NTYxNjQyZDcyNjU3NjczX21hZ2l0X2xv Z19yZWFkX3JldnNfMCAoKSBhdCAvaG9tZS9hbGV4Ly5lbWFjcy5kL2Vsbi1jYWNoZS8yOC4wLjUw LWJjZmY3ZGQ3L21hZ2l0LWxvZy1mNTgxZTQ3Yy0xYzk0MTE4ZC5lbG4KIzEwNyAweDAwMDA1NWUz YzU3MzQ4NzkgaW4gZnVuY2FsbF9zdWJyIChzdWJyPTB4NTVlM2NhOWJkNGEwLCBudW1hcmdzPTAs IGFyZ3M9MHg3ZmZlNDgwNDkxZjApIGF0IGV2YWwuYzozMTExCiMxMDggMHgwMDAwNTVlM2M1NzM0 MzMzIGluIEZmdW5jYWxsIChuYXJncz0xLCBhcmdzPTB4N2ZmZTQ4MDQ5MWU4KSBhdCBldmFsLmM6 MzAzNgojMTA5IDB4MDAwMDU1ZTNjNTc4ZWI1MCBpbiBleGVjX2J5dGVfY29kZSAoYnl0ZXN0cj0u Li4sIHZlY3Rvcj0uLi4sIG1heGRlcHRoPS4uLiwgYXJnc190ZW1wbGF0ZT0uLi4sIG5hcmdzPTAs IGFyZ3M9MHgwKSBhdCBieXRlY29kZS5jOjYzMgojMTEwIDB4MDAwMDU1ZTNjNTc4ZGUzMCBpbiBG Ynl0ZV9jb2RlIChieXRlc3RyPS4uLiwgdmVjdG9yPS4uLiwgbWF4ZGVwdGg9Li4uKSBhdCBieXRl Y29kZS5jOjMzNAojMTExIDB4MDAwMDU1ZTNjNTczMmMxNiBpbiBldmFsX3N1YiAoZm9ybT0uLi4p IGF0IGV2YWwuYzoyNTE3CiMxMTIgMHgwMDAwNTVlM2M1NzMyMTM2IGluIEZldmFsIChmb3JtPS4u LiwgbGV4aWNhbD0uLi4pIGF0IGV2YWwuYzoyMzQwCiMxMTMgMHgwMDAwNTVlM2M1NzI4MmIyIGlu IEZjYWxsX2ludGVyYWN0aXZlbHkgKGZ1bmN0aW9uPS4uLiwgcmVjb3JkX2ZsYWc9Li4uLCBrZXlz PS4uLikgYXQgY2FsbGludC5jOjMzNAojMTE0IDB4MDAwMDU1ZTNjNTczNDhjNiBpbiBmdW5jYWxs X3N1YnIgKHN1YnI9MHg1NWUzYzVkMzg5YTAgPFNjYWxsX2ludGVyYWN0aXZlbHk+LCBudW1hcmdz PTMsIGFyZ3M9MHg3ZmZlNDgwNDlhNzApIGF0IGV2YWwuYzozMTE2CiMxMTUgMHgwMDAwNTVlM2M1 NzM0MzMzIGluIEZmdW5jYWxsIChuYXJncz00LCBhcmdzPTB4N2ZmZTQ4MDQ5YTY4KSBhdCBldmFs LmM6MzAzNgojMTE2IDB4MDAwMDU1ZTNjNTc4ZWI1MCBpbiBleGVjX2J5dGVfY29kZSAoYnl0ZXN0 cj0uLi4sIHZlY3Rvcj0uLi4sIG1heGRlcHRoPS4uLiwgYXJnc190ZW1wbGF0ZT0uLi4sIG5hcmdz PTEsIGFyZ3M9MHg3ZmZlNDgwNDlmZTApIGF0IGJ5dGVjb2RlLmM6NjMyCiMxMTcgMHgwMDAwNTVl M2M1NzM0YWZiIGluIGZldGNoX2FuZF9leGVjX2J5dGVfY29kZSAoZnVuPS4uLiwgc3ltc19sZWZ0 PS4uLiwgbmFyZ3M9MSwgYXJncz0weDdmZmU0ODA0OWZkOCkgYXQgZXZhbC5jOjMxNjAKIzExOCAw eDAwMDA1NWUzYzU3MzRmODEgaW4gZnVuY2FsbF9sYW1iZGEgKGZ1bj0uLi4sIG5hcmdzPTEsIGFy Z192ZWN0b3I9MHg3ZmZlNDgwNDlmZDgpIGF0IGV2YWwuYzozMjQxCiMxMTkgMHgwMDAwNTVlM2M1 NzM0Mzg3IGluIEZmdW5jYWxsIChuYXJncz0yLCBhcmdzPTB4N2ZmZTQ4MDQ5ZmQwKSBhdCBldmFs LmM6MzA0MAojMTIwIDB4MDAwMDU1ZTNjNTczM2M1MCBpbiBjYWxsMSAoZm49Li4uLCBhcmcxPS4u LikgYXQgZXZhbC5jOjI4OTYKIzEyMSAweDAwMDA1NWUzYzU2NTRhMGUgaW4gY29tbWFuZF9sb29w XzEgKCkgYXQga2V5Ym9hcmQuYzoxNDY2CiMxMjIgMHgwMDAwNTVlM2M1NzJmZTkyIGluIGludGVy bmFsX2NvbmRpdGlvbl9jYXNlIChiZnVuPTB4NTVlM2M1NjU0MWI1IDxjb21tYW5kX2xvb3BfMT4s IGhhbmRsZXJzPS4uLiwgaGZ1bj0weDU1ZTNjNTY1MzdjNCA8Y21kX2Vycm9yPikgYXQgZXZhbC5j OjE0NzUKIzEyMyAweDAwMDA1NWUzYzU2NTNkOWEgaW4gY29tbWFuZF9sb29wXzIgKGlnbm9yZT0u Li4pIGF0IGtleWJvYXJkLmM6MTA5NAojMTI0IDB4MDAwMDU1ZTNjNTcyZjAzNiBpbiBpbnRlcm5h bF9jYXRjaCAodGFnPS4uLiwgZnVuYz0weDU1ZTNjNTY1M2Q2ZCA8Y29tbWFuZF9sb29wXzI+LCBh cmc9Li4uKSBhdCBldmFsLmM6MTE5OAojMTI1IDB4MDAwMDU1ZTNjNTY1M2QzOCBpbiBjb21tYW5k X2xvb3AgKCkgYXQga2V5Ym9hcmQuYzoxMDczCiMxMjYgMHgwMDAwNTVlM2M1NjUzMmFiIGluIHJl Y3Vyc2l2ZV9lZGl0XzEgKCkgYXQga2V5Ym9hcmQuYzo3MjAKIzEyNyAweDAwMDA1NWUzYzU2NTM0 YTMgaW4gRnJlY3Vyc2l2ZV9lZGl0ICgpIGF0IGtleWJvYXJkLmM6Nzg5CiMxMjggMHgwMDAwNTVl M2M1NjRmMzM4IGluIG1haW4gKGFyZ2M9MSwgYXJndj0weDdmZmU0ODA0YTRmOCkgYXQgZW1hY3Mu YzoyMjk3CiMzICAweDAwMDA1NWUzYzU2YTk4MmUgaW4gbnRoX21pbmlidWZmZXIgKGRlcHRoPTIp IGF0IG1pbmlidWYuYzo5NzIKOTcyCSAgcmV0dXJuIFhDQVIgKHRhaWwpOwo9PiAweDU1ZTNjNTZh OTgyZSA8bnRoX21pbmlidWZmZXIrMTgwPjoJbW92ICAgIC0weDEwKCVyYnApLCVyYXgKICAgMHg1 NWUzYzU2YTk4MzIgPG50aF9taW5pYnVmZmVyKzE4ND46CXN1YiAgICAkMHgzLCVyYXgKICAgMHg1 NWUzYzU2YTk4MzYgPG50aF9taW5pYnVmZmVyKzE4OD46CW1vdiAgICAoJXJheCksJXJheAogICAw eDU1ZTNjNTZhOTgzOSA8bnRoX21pbmlidWZmZXIrMTkxPjoJbGVhdmVxIAogICAweDU1ZTNjNTZh OTgzYSA8bnRoX21pbmlidWZmZXIrMTkyPjoJcmV0cSAgIAokMSA9IDB4N2ZmZTQ4MDQ0OWYwCkJy ZWFrcG9pbnQgMSBhdCAweDU1ZTNjNTZhNmU0NDogZmlsZSBtaW5pYnVmLmMsIGxpbmUgMjI3LgpD b250aW51aW5nLgoKVGhyZWFkIDEgcmVjZWl2ZWQgc2lnbmFsIFNJR0FCUlQsIEFib3J0ZWQuCnJh aXNlIChzaWc9NikgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmFpc2UuYzo1MAo1MAku Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9yYWlzZS5jOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5LgpDb250aW51aW5nLgoKVGhyZWFkIDEgaGl0IEJyZWFrcG9pbnQgMSwgRmFjdGl2ZV9taW5p YnVmZmVyX3dpbmRvdyAoKSBhdCBtaW5pYnVmLmM6MjI3CjIyNwkgIGlmICghbWluaWJ1Zl9sZXZl bCkKJDIgPSAyCiQzID0ge2kgPSAweDU1ZTNjNjRmNGNhM30KMjMwCSAgaW5uZXJtb3N0X01CID0g bnRoX21pbmlidWZmZXIgKG1pbmlidWZfbGV2ZWwpOwpudGhfbWluaWJ1ZmZlciAoZGVwdGg9Mikg YXQgbWluaWJ1Zi5jOjk3MQo5NzEJICBMaXNwX09iamVjdCB0YWlsID0gRm50aGNkciAobWFrZV9m aXhudW0gKGRlcHRoKSwgVm1pbmlidWZmZXJfbGlzdCk7CkZudGhjZHIgKG49Li4uLCBsaXN0PS4u LikgYXQgZm5zLmM6MTUyNgoxNTI2CSAgTGlzcF9PYmplY3QgdGFpbCA9IGxpc3Q7CjE1MjgJICBD SEVDS19JTlRFR0VSIChuKTsKMTUzNAkgIEVNQUNTX0lOVCBsYXJnZV9udW0gPSBFTUFDU19JTlRf TUFYOwoxNTM3CSAgaWYgKEZJWE5VTVAgKG4pKQoxNTM5CSAgICAgIG51bSA9IFhGSVhOVU0gKG4p OwoxNTQyCSAgICAgIGlmIChudW0gPD0gU01BTExfTElTVF9MRU5fTUFYKQokNCA9IDIKMTU0NAkJ ICBmb3IgKDsgMCA8IG51bTsgbnVtLS0sIHRhaWwgPSBYQ0RSICh0YWlsKSkKMTUzOQkgICAgICBu dW0gPSBYRklYTlVNIChuKTsKMTU0MAkKMTU0MQkgICAgICAvKiBTcGVlZCB1cCBzbWFsbCBsaXN0 cyBieSBvbWl0dGluZyBjaXJjdWxhcml0eSBhbmQgcXVpdCBjaGVja2luZy4gICovCjE1NDIJICAg ICAgaWYgKG51bSA8PSBTTUFMTF9MSVNUX0xFTl9NQVgpCjE1NDMJCXsKMTU0NAkJICBmb3IgKDsg MCA8IG51bTsgbnVtLS0sIHRhaWwgPSBYQ0RSICh0YWlsKSkKMTU0NQkJICAgIGlmICghIENPTlNQ ICh0YWlsKSkKMTU0NgkJICAgICAgewoxNTQ3CQkJQ0hFQ0tfTElTVF9FTkQgKHRhaWwsIGxpc3Qp OwoxNTQ4CQkJcmV0dXJuIFFuaWw7CiQ1ID0ge2kgPSAweDU1ZTNjNjRmNGNhM30KJDYgPSAoTGlz cF9Xb3JkKSAweDU1ZTNjNjRmNGNhMwokNyA9IDxpbmNvbXBsZXRlIHR5cGU+CjB4NTVlM2M2NGY0 Y2EzOgkweDljOWMxMzAwMDA3ZWZkMDYJMHgwMDAwMDIwMDAwNTVlM2M3CjB4NTVlM2M2NGY0Y2Iz OgkweDljOWMwMzAwMDAwMDAwMDAJMHg4MTRkODAwMDAwNTVlM2M3CjB4NTVlM2M2NGY0Y2MzOgkw eDRmNGMwMzAwMDAwMDAwMDAKMTU0NQkJICAgIGlmICghIENPTlNQICh0YWlsKSkKMTU0NAkJICBm b3IgKDsgMCA8IG51bTsgbnVtLS0sIHRhaWwgPSBYQ0RSICh0YWlsKSkKMTU0NQkJICAgIGlmICgh IENPTlNQICh0YWlsKSkKMTU0NAkJICBmb3IgKDsgMCA8IG51bTsgbnVtLS0sIHRhaWwgPSBYQ0RS ICh0YWlsKSkKMTU1MAkJICByZXR1cm4gdGFpbDsKJDggPSAwCiQ5ID0ge2kgPSAweDB9CjE1NDQJ CSAgZm9yICg7IDAgPCBudW07IG51bS0tLCB0YWlsID0gWENEUiAodGFpbCkpCiQxMCA9IHtpID0g MHg1NWUzYzc5YzljMTN9CiQxMSA9IChMaXNwX1dvcmQpIDB4NTVlM2M3OWM5YzEzCjB4NTVlM2M3 OWM5YzEzOgkweDAwMDAwMDAwMDA1NWUzY2IJMHgyYjgxNDQwMDAwMDAwMDAwCjB4NTVlM2M3OWM5 YzIzOgkweDljOWI4MzAwMDA1NWUzYzcJMHgwMGMwZjAwMDAwNTVlM2M3CjB4NTVlM2M3OWM5YzMz OgkweDljOWQwMzAwMDAwMDAwMDAKPT4gMHg1NWUzYzU3NDA2YjUgPEZudGhjZHIrMTUxPjoJbW92 emJsIDB4NjgxZGVjKCVyaXApLCVlYXggICAgICAgICMgMHg1NWUzYzVkYzI0YTggPHN1cHByZXNz X2NoZWNraW5nPgogICAweDU1ZTNjNTc0MDZiYyA8Rm50aGNkcisxNTg+Ogl0ZXN0ICAgJWFsLCVh bAogICAweDU1ZTNjNTc0MDZiZSA8Rm50aGNkcisxNjA+OglqbmUgICAgMHg1NWUzYzU3NDA2ZTYg PEZudGhjZHIrMjAwPgogICAweDU1ZTNjNTc0MDZjMCA8Rm50aGNkcisxNjI+Ogltb3YgICAgLTB4 MzgoJXJicCksJXJheAogICAweDU1ZTNjNTc0MDZjNCA8Rm50aGNkcisxNjY+OglzdWIgICAgJDB4 MywlZWF4CjB4MDAwMDU1ZTNjNTc0MDZiYwkxNTQ0CQkgIGZvciAoOyAwIDwgbnVtOyBudW0tLSwg dGFpbCA9IFhDRFIgKHRhaWwpKQo9PiAweDU1ZTNjNTc0MDZiYyA8Rm50aGNkcisxNTg+Ogl0ZXN0 ICAgJWFsLCVhbAogICAweDU1ZTNjNTc0MDZiZSA8Rm50aGNkcisxNjA+OglqbmUgICAgMHg1NWUz YzU3NDA2ZTYgPEZudGhjZHIrMjAwPgogICAweDU1ZTNjNTc0MDZjMCA8Rm50aGNkcisxNjI+Oglt b3YgICAgLTB4MzgoJXJicCksJXJheAoweDAwMDA1NWUzYzU3NDA2YmUJMTU0NAkJICBmb3IgKDsg MCA8IG51bTsgbnVtLS0sIHRhaWwgPSBYQ0RSICh0YWlsKSkKPT4gMHg1NWUzYzU3NDA2YmUgPEZu dGhjZHIrMTYwPjoJam5lICAgIDB4NTVlM2M1NzQwNmU2IDxGbnRoY2RyKzIwMD4KICAgMHg1NWUz YzU3NDA2YzAgPEZudGhjZHIrMTYyPjoJbW92ICAgIC0weDM4KCVyYnApLCVyYXgKICAgMHg1NWUz YzU3NDA2YzQgPEZudGhjZHIrMTY2PjoJc3ViICAgICQweDMsJWVheAoweDAwMDA1NWUzYzU3NDA2 YzAJMTU0NAkJICBmb3IgKDsgMCA8IG51bTsgbnVtLS0sIHRhaWwgPSBYQ0RSICh0YWlsKSkKPT4g MHg1NWUzYzU3NDA2YzAgPEZudGhjZHIrMTYyPjoJbW92ICAgIC0weDM4KCVyYnApLCVyYXgKICAg MHg1NWUzYzU3NDA2YzQgPEZudGhjZHIrMTY2PjoJc3ViICAgICQweDMsJWVheAogICAweDU1ZTNj NTc0MDZjNyA8Rm50aGNkcisxNjk+OglhbmQgICAgJDB4NywlZWF4CjB4MDAwMDU1ZTNjNTc0MDZj NAkxNTQ0CQkgIGZvciAoOyAwIDwgbnVtOyBudW0tLSwgdGFpbCA9IFhDRFIgKHRhaWwpKQo9PiAw eDU1ZTNjNTc0MDZjNCA8Rm50aGNkcisxNjY+OglzdWIgICAgJDB4MywlZWF4CiAgIDB4NTVlM2M1 NzQwNmM3IDxGbnRoY2RyKzE2OT46CWFuZCAgICAkMHg3LCVlYXgKICAgMHg1NWUzYzU3NDA2Y2Eg PEZudGhjZHIrMTcyPjoJdGVzdCAgICVlYXgsJWVheAokMTIgPSAweDU1ZTNjNzljOWMxMwoweDAw MDA1NWUzYzU3NDA2YzcJMTU0NAkJICBmb3IgKDsgMCA8IG51bTsgbnVtLS0sIHRhaWwgPSBYQ0RS ICh0YWlsKSkKPT4gMHg1NWUzYzU3NDA2YzcgPEZudGhjZHIrMTY5PjoJYW5kICAgICQweDcsJWVh eAogICAweDU1ZTNjNTc0MDZjYSA8Rm50aGNkcisxNzI+Ogl0ZXN0ICAgJWVheCwlZWF4CiAgIDB4 NTVlM2M1NzQwNmNjIDxGbnRoY2RyKzE3ND46CWplICAgICAweDU1ZTNjNTc0MDZlNiA8Rm50aGNk cisyMDA+CjB4MDAwMDU1ZTNjNTc0MDZjYQkxNTQ0CQkgIGZvciAoOyAwIDwgbnVtOyBudW0tLSwg dGFpbCA9IFhDRFIgKHRhaWwpKQo9PiAweDU1ZTNjNTc0MDZjYSA8Rm50aGNkcisxNzI+Ogl0ZXN0 ICAgJWVheCwlZWF4CiAgIDB4NTVlM2M1NzQwNmNjIDxGbnRoY2RyKzE3ND46CWplICAgICAweDU1 ZTNjNTc0MDZlNiA8Rm50aGNkcisyMDA+CiAgIDB4NTVlM2M1NzQwNmNlIDxGbnRoY2RyKzE3Nj46 CW1vdiAgICAkMHg2MDgsJWVkeAoweDAwMDA1NWUzYzU3NDA2Y2MJMTU0NAkJICBmb3IgKDsgMCA8 IG51bTsgbnVtLS0sIHRhaWwgPSBYQ0RSICh0YWlsKSkKPT4gMHg1NWUzYzU3NDA2Y2MgPEZudGhj ZHIrMTc0PjoJamUgICAgIDB4NTVlM2M1NzQwNmU2IDxGbnRoY2RyKzIwMD4KICAgMHg1NWUzYzU3 NDA2Y2UgPEZudGhjZHIrMTc2PjoJbW92ICAgICQweDYwOCwlZWR4CiAgIDB4NTVlM2M1NzQwNmQz IDxGbnRoY2RyKzE4MT46CWxlYSAgICAweDE2Y2ZiOCglcmlwKSwlcnNpICAgICAgICAjIDB4NTVl M2M1OGFkNjkyCjB4MDAwMDU1ZTNjNTc0MDZlNgkxNTQ0CQkgIGZvciAoOyAwIDwgbnVtOyBudW0t LSwgdGFpbCA9IFhDRFIgKHRhaWwpKQo9PiAweDU1ZTNjNTc0MDZlNiA8Rm50aGNkcisyMDA+Oglt b3YgICAgLTB4MzgoJXJicCksJXJheAogICAweDU1ZTNjNTc0MDZlYSA8Rm50aGNkcisyMDQ+Oglz dWIgICAgJDB4MywlcmF4CiAgIDB4NTVlM2M1NzQwNmVlIDxGbnRoY2RyKzIwOD46CW1vdiAgICAw eDgoJXJheCksJXJheApBIHN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uLCBuZWFyIGAlcmJwJy4K JDEzID0gMHg3ZmZlNDgwNDQ5YzAKJDE0ID0gMHg3ZmZlNDgwNDQ5ODgKMHg3ZmZlNDgwNDQ5ODg6 CTB4MDAwMDU1ZTNjNzljOWMxMwkweDAwMDAwMDAxMDAwMDAwMDIKMHg3ZmZlNDgwNDQ5OTg6CTB4 N2ZmZmZmZmZmZmZmZmZmZgkweDAwMDA1NWUzYzVkYzQ0MzAKMHg3ZmZlNDgwNDQ5YTg6CTB4MDAw MDAwMDAwMDAwMDAwMAoweDAwMDA1NWUzYzU3NDA2ZWEJMTU0NAkJICBmb3IgKDsgMCA8IG51bTsg bnVtLS0sIHRhaWwgPSBYQ0RSICh0YWlsKSkKPT4gMHg1NWUzYzU3NDA2ZWEgPEZudGhjZHIrMjA0 PjoJc3ViICAgICQweDMsJXJheAogICAweDU1ZTNjNTc0MDZlZSA8Rm50aGNkcisyMDg+Ogltb3Yg ICAgMHg4KCVyYXgpLCVyYXgKICAgMHg1NWUzYzU3NDA2ZjIgPEZudGhjZHIrMjEyPjoJbW92ICAg ICVyYXgsLTB4MzgoJXJicCkKJDE1ID0gMHg1NWUzYzc5YzljMTMKMHgwMDAwNTVlM2M1NzQwNmVl CTE1NDQJCSAgZm9yICg7IDAgPCBudW07IG51bS0tLCB0YWlsID0gWENEUiAodGFpbCkpCj0+IDB4 NTVlM2M1NzQwNmVlIDxGbnRoY2RyKzIwOD46CW1vdiAgICAweDgoJXJheCksJXJheAogICAweDU1 ZTNjNTc0MDZmMiA8Rm50aGNkcisyMTI+Ogltb3YgICAgJXJheCwtMHgzOCglcmJwKQogICAweDU1 ZTNjNTc0MDZmNiA8Rm50aGNkcisyMTY+OgljbXBxICAgJDB4MCwtMHgxOCglcmJwKQokMTYgPSAw eDU1ZTNjNzljOWMxMApBIHN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uLCBuZWFyIGAlcmF4Jy4K MHg1NWUzYzc5YzljMTA6CTB4MDAwMDU1ZTNjYjBjY2RkNQkweDAwMDAwMDAwMDAwMDAwMDAKMHg1 NWUzYzc5YzljMjA6CTB4MDAwMDU1ZTNjNzJiODE0NAkweDAwMDA1NWUzYzc5YzliODMKMHg1NWUz Yzc5YzljMzA6CTB4MDAwMDAwMDAwMDAwYzBmMAkweDAwMDA1NWUzYzc5YzlkMDMKMHg1NWUzYzc5 YzljNDA6CTB4MDAwMDU1ZTNjNzJiODE2NAkweDAwMDA1NWUzYzc5YzljMjMKMHg1NWUzYzc5Yzlj NTA6CTB4MDAwMDI5MTk0MDlhZDBjOAkweDAwMDA1NWUzYzc5YzliOTMKMHgwMDAwNTVlM2M1NzQw NmYyCTE1NDQJCSAgZm9yICg7IDAgPCBudW07IG51bS0tLCB0YWlsID0gWENEUiAodGFpbCkpCj0+ IDB4NTVlM2M1NzQwNmYyIDxGbnRoY2RyKzIxMj46CW1vdiAgICAlcmF4LC0weDM4KCVyYnApCiAg IDB4NTVlM2M1NzQwNmY2IDxGbnRoY2RyKzIxNj46CWNtcHEgICAkMHgwLC0weDE4KCVyYnApCiAg IDB4NTVlM2M1NzQwNmZiIDxGbnRoY2RyKzIyMT46CWpnICAgICAweDU1ZTNjNTc0MDY4MCA8Rm50 aGNkcis5OD4KJDE3ID0gMHgwCkNvbnRpbnVpbmcuCgpUaHJlYWQgMSBoaXQgQnJlYWtwb2ludCAx LCBGYWN0aXZlX21pbmlidWZmZXJfd2luZG93ICgpIGF0IG1pbmlidWYuYzoyMjcKMjI3CSAgaWYg KCFtaW5pYnVmX2xldmVsKQorc2V0IGxvZ2dpbmcgZmlsZSBycjMudHh0CitsCjIyMgl7CjIyMwkg IExpc3BfT2JqZWN0IGZyYW1lcywgZnJhbWU7CjIyNAkgIHN0cnVjdCBmcmFtZSAqZjsKMjI1CSAg TGlzcF9PYmplY3QgaW5uZXJtb3N0X01COwoyMjYJCjIyNwkgIGlmICghbWluaWJ1Zl9sZXZlbCkK MjI4CSAgICByZXR1cm4gUW5pbDsKMjI5CQoyMzAJICBpbm5lcm1vc3RfTUIgPSBudGhfbWluaWJ1 ZmZlciAobWluaWJ1Zl9sZXZlbCk7CjIzMQkgIEZPUl9FQUNIX0ZSQU1FIChmcmFtZXMsIGZyYW1l KQoraW5mbyBsb2NhbHMKZnJhbWVzID0ge2kgPSAweDdmZmU0ODA0NGE0MH0KZnJhbWUgPSB7aSA9 IDB4MH0KZiA9IDB4NTVlM2M1NzJhOWU2IDxtYWtlX2xpc3Bfc3ltYm9sKzYxPgppbm5lcm1vc3Rf TUIgPSB7aSA9IDB4NTVlM2M1ZGM0NDAwIDxsaXNwc3ltPn0KK3AgbWluaWJ1Zl9sZXZlbCAKJDE4 ID0gMgorcCBWbWluaWJ1ZmZlcl9saXN0IAokMTkgPSB7aSA9IDB4NTVlM2M2NGY0Y2EzfQorcCAk MTkuaQokMjAgPSAoTGlzcF9Xb3JkKSAweDU1ZTNjNjRmNGNhMworeC81ZyAkMjAKMHg1NWUzYzY0 ZjRjYTM6CTB4OWM5YzEzMDAwMDdlZmQwNgkweDAwMDAwMjAwMDA1NWUzYzcKMHg1NWUzYzY0ZjRj YjM6CTB4OWM5YzAzMDAwMDAwMDAwMAkweDgxNGQ4MDAwMDA1NWUzYzcKMHg1NWUzYzY0ZjRjYzM6 CTB4NGY0YzAzMDAwMDAwMDAwMAorbgorK3JyLXNldC1zdXBwcmVzcy1ydW4taG9vayAxCjIzMAkg IGlubmVybW9zdF9NQiA9IG50aF9taW5pYnVmZmVyIChtaW5pYnVmX2xldmVsKTsKK3MKKytyci1z ZXQtc3VwcHJlc3MtcnVuLWhvb2sgMQpudGhfbWluaWJ1ZmZlciAoZGVwdGg9MikgYXQgbWluaWJ1 Zi5jOjk3MQo5NzEJICBMaXNwX09iamVjdCB0YWlsID0gRm50aGNkciAobWFrZV9maXhudW0gKGRl cHRoKSwgVm1pbmlidWZmZXJfbGlzdCk7CitzCisrcnItc2V0LXN1cHByZXNzLXJ1bi1ob29rIDEK Rm50aGNkciAobj0uLi4sIGxpc3Q9Li4uKSBhdCBmbnMuYzoxNTI2CjE1MjYJICBMaXNwX09iamVj dCB0YWlsID0gbGlzdDsKK3AgbGlzdAokMjEgPSB7aSA9IDB4NTVlM2M2NGY0Y2EzfQorbgorK3Jy LXNldC1zdXBwcmVzcy1ydW4taG9vayAxCjE1MjgJICBDSEVDS19JTlRFR0VSIChuKTsKK24KKyty ci1zZXQtc3VwcHJlc3MtcnVuLWhvb2sgMQoxNTM0CSAgRU1BQ1NfSU5UIGxhcmdlX251bSA9IEVN QUNTX0lOVF9NQVg7CituCisrcnItc2V0LXN1cHByZXNzLXJ1bi1ob29rIDEKMTUzNwkgIGlmIChG SVhOVU1QIChuKSkKK24KKytyci1zZXQtc3VwcHJlc3MtcnVuLWhvb2sgMQoxNTM5CSAgICAgIG51 bSA9IFhGSVhOVU0gKG4pOworbgorK3JyLXNldC1zdXBwcmVzcy1ydW4taG9vayAxCjE1NDIJICAg ICAgaWYgKG51bSA8PSBTTUFMTF9MSVNUX0xFTl9NQVgpCituCisrcnItc2V0LXN1cHByZXNzLXJ1 bi1ob29rIDEKMTU0NAkJICBmb3IgKDsgMCA8IG51bTsgbnVtLS0sIHRhaWwgPSBYQ0RSICh0YWls KSkKK24KKytyci1zZXQtc3VwcHJlc3MtcnVuLWhvb2sgMQoxNTQ1CQkgICAgaWYgKCEgQ09OU1Ag KHRhaWwpKQorbgorK3JyLXNldC1zdXBwcmVzcy1ydW4taG9vayAxCjE1NDQJCSAgZm9yICg7IDAg PCBudW07IG51bS0tLCB0YWlsID0gWENEUiAodGFpbCkpCituCisrcnItc2V0LXN1cHByZXNzLXJ1 bi1ob29rIDEKMTU0NQkJICAgIGlmICghIENPTlNQICh0YWlsKSkKK24KKytyci1zZXQtc3VwcHJl c3MtcnVuLWhvb2sgMQoxNTQ0CQkgIGZvciAoOyAwIDwgbnVtOyBudW0tLSwgdGFpbCA9IFhDRFIg KHRhaWwpKQorbgorK3JyLXNldC1zdXBwcmVzcy1ydW4taG9vayAxCjE1NTAJCSAgcmV0dXJuIHRh aWw7CitwIHRhaWwKJDIyID0ge2kgPSAweDB9CityZXZlcnNlLXN0ZXAKK3N0ZXAgCisrcnItc2V0 LXN1cHByZXNzLXJ1bi1ob29rIDEKKytyci1zZXQtc3VwcHJlc3MtcnVuLWhvb2sgMQoxNTQ0CQkg IGZvciAoOyAwIDwgbnVtOyBudW0tLSwgdGFpbCA9IFhDRFIgKHRhaWwpKQorcCB0YWlsCiQyMyA9 IHtpID0gMHg1NWUzYzc5YzljMTN9CitwIHRhaWwuaQokMjQgPSAoTGlzcF9Xb3JkKSAweDU1ZTNj NzljOWMxMworeC81ZyAkMjQKMHg1NWUzYzc5YzljMTM6CTB4MDAwMDAwMDAwMDU1ZTNjYgkweDJi ODE0NDAwMDAwMDAwMDAKMHg1NWUzYzc5YzljMjM6CTB4OWM5YjgzMDAwMDU1ZTNjNwkweDAwYzBm MDAwMDA1NWUzYzcKMHg1NWUzYzc5YzljMzM6CTB4OWM5ZDAzMDAwMDAwMDAwMAoraQorK3NpCjB4 MDAwMDU1ZTNjNTc0MDZiYwkxNTQ0CQkgIGZvciAoOyAwIDwgbnVtOyBudW0tLSwgdGFpbCA9IFhD RFIgKHRhaWwpKQorKytyci1zZXQtc3VwcHJlc3MtcnVuLWhvb2sgMQorK3gvM2kgJHBjCj0+IDB4 NTVlM2M1NzQwNmJjIDxGbnRoY2RyKzE1OD46CXRlc3QgICAlYWwsJWFsCiAgIDB4NTVlM2M1NzQw NmJlIDxGbnRoY2RyKzE2MD46CWpuZSAgICAweDU1ZTNjNTc0MDZlNiA8Rm50aGNkcisyMDA+CiAg IDB4NTVlM2M1NzQwNmMwIDxGbnRoY2RyKzE2Mj46CW1vdiAgICAtMHgzOCglcmJwKSwlcmF4Citp Cisrc2kKMHgwMDAwNTVlM2M1NzQwNmJlCTE1NDQJCSAgZm9yICg7IDAgPCBudW07IG51bS0tLCB0 YWlsID0gWENEUiAodGFpbCkpCisrK3JyLXNldC1zdXBwcmVzcy1ydW4taG9vayAxCisreC8zaSAk cGMKPT4gMHg1NWUzYzU3NDA2YmUgPEZudGhjZHIrMTYwPjoJam5lICAgIDB4NTVlM2M1NzQwNmU2 IDxGbnRoY2RyKzIwMD4KICAgMHg1NWUzYzU3NDA2YzAgPEZudGhjZHIrMTYyPjoJbW92ICAgIC0w eDM4KCVyYnApLCVyYXgKICAgMHg1NWUzYzU3NDA2YzQgPEZudGhjZHIrMTY2PjoJc3ViICAgICQw eDMsJWVheAoraQorK3NpCjB4MDAwMDU1ZTNjNTc0MDZjMAkxNTQ0CQkgIGZvciAoOyAwIDwgbnVt OyBudW0tLSwgdGFpbCA9IFhDRFIgKHRhaWwpKQorKytyci1zZXQtc3VwcHJlc3MtcnVuLWhvb2sg MQorK3gvM2kgJHBjCj0+IDB4NTVlM2M1NzQwNmMwIDxGbnRoY2RyKzE2Mj46CW1vdiAgICAtMHgz OCglcmJwKSwlcmF4CiAgIDB4NTVlM2M1NzQwNmM0IDxGbnRoY2RyKzE2Nj46CXN1YiAgICAkMHgz LCVlYXgKICAgMHg1NWUzYzU3NDA2YzcgPEZudGhjZHIrMTY5PjoJYW5kICAgICQweDcsJWVheAor cC94ICRyYnAKJDI1ID0gMHg3ZmZlNDgwNDQ5YzAKK3AveCAkcmJwIC0gMHgzOAokMjYgPSAweDdm ZmU0ODA0NDk4OAoreC81ZyAkMjYKMHg3ZmZlNDgwNDQ5ODg6CTB4MDAwMDU1ZTNjNzljOWMxMwkw eDAwMDAwMDAxMDAwMDAwMDIKMHg3ZmZlNDgwNDQ5OTg6CTB4N2ZmZmZmZmZmZmZmZmZmZgkweDAw MDA1NWUzYzVkYzQ0MzAKMHg3ZmZlNDgwNDQ5YTg6CTB4MDAwMDAwMDAwMDAwMDAwMAoraQorK3Np CjB4MDAwMDU1ZTNjNTc0MDZjNAkxNTQ0CQkgIGZvciAoOyAwIDwgbnVtOyBudW0tLSwgdGFpbCA9 IFhDRFIgKHRhaWwpKQorKytyci1zZXQtc3VwcHJlc3MtcnVuLWhvb2sgMQorK3gvM2kgJHBjCj0+ IDB4NTVlM2M1NzQwNmM0IDxGbnRoY2RyKzE2Nj46CXN1YiAgICAkMHgzLCVlYXgKICAgMHg1NWUz YzU3NDA2YzcgPEZudGhjZHIrMTY5PjoJYW5kICAgICQweDcsJWVheAogICAweDU1ZTNjNTc0MDZj YSA8Rm50aGNkcisxNzI+Ogl0ZXN0ICAgJWVheCwlZWF4CitwL3ggJHJheAokMjcgPSAweDU1ZTNj NzljOWMxMworaQorK3NpCjB4MDAwMDU1ZTNjNTc0MDZjNwkxNTQ0CQkgIGZvciAoOyAwIDwgbnVt OyBudW0tLSwgdGFpbCA9IFhDRFIgKHRhaWwpKQorKytyci1zZXQtc3VwcHJlc3MtcnVuLWhvb2sg MQorK3gvM2kgJHBjCj0+IDB4NTVlM2M1NzQwNmM3IDxGbnRoY2RyKzE2OT46CWFuZCAgICAkMHg3 LCVlYXgKICAgMHg1NWUzYzU3NDA2Y2EgPEZudGhjZHIrMTcyPjoJdGVzdCAgICVlYXgsJWVheAog ICAweDU1ZTNjNTc0MDZjYyA8Rm50aGNkcisxNzQ+OglqZSAgICAgMHg1NWUzYzU3NDA2ZTYgPEZu dGhjZHIrMjAwPgoraQorK3NpCjB4MDAwMDU1ZTNjNTc0MDZjYQkxNTQ0CQkgIGZvciAoOyAwIDwg bnVtOyBudW0tLSwgdGFpbCA9IFhDRFIgKHRhaWwpKQorKytyci1zZXQtc3VwcHJlc3MtcnVuLWhv b2sgMQorK3gvM2kgJHBjCj0+IDB4NTVlM2M1NzQwNmNhIDxGbnRoY2RyKzE3Mj46CXRlc3QgICAl ZWF4LCVlYXgKICAgMHg1NWUzYzU3NDA2Y2MgPEZudGhjZHIrMTc0PjoJamUgICAgIDB4NTVlM2M1 NzQwNmU2IDxGbnRoY2RyKzIwMD4KICAgMHg1NWUzYzU3NDA2Y2UgPEZudGhjZHIrMTc2PjoJbW92 ICAgICQweDYwOCwlZWR4CitpCisrc2kKMHgwMDAwNTVlM2M1NzQwNmNjCTE1NDQJCSAgZm9yICg7 IDAgPCBudW07IG51bS0tLCB0YWlsID0gWENEUiAodGFpbCkpCisrK3JyLXNldC1zdXBwcmVzcy1y dW4taG9vayAxCisreC8zaSAkcGMKPT4gMHg1NWUzYzU3NDA2Y2MgPEZudGhjZHIrMTc0PjoJamUg ICAgIDB4NTVlM2M1NzQwNmU2IDxGbnRoY2RyKzIwMD4KICAgMHg1NWUzYzU3NDA2Y2UgPEZudGhj ZHIrMTc2PjoJbW92ICAgICQweDYwOCwlZWR4CiAgIDB4NTVlM2M1NzQwNmQzIDxGbnRoY2RyKzE4 MT46CWxlYSAgICAweDE2Y2ZiOCglcmlwKSwlcnNpICAgICAgICAjIDB4NTVlM2M1OGFkNjkyCitp Cisrc2kKMHgwMDAwNTVlM2M1NzQwNmU2CTE1NDQJCSAgZm9yICg7IDAgPCBudW07IG51bS0tLCB0 YWlsID0gWENEUiAodGFpbCkpCisrK3JyLXNldC1zdXBwcmVzcy1ydW4taG9vayAxCisreC8zaSAk cGMKPT4gMHg1NWUzYzU3NDA2ZTYgPEZudGhjZHIrMjAwPjoJbW92ICAgIC0weDM4KCVyYnApLCVy YXgKICAgMHg1NWUzYzU3NDA2ZWEgPEZudGhjZHIrMjA0PjoJc3ViICAgICQweDMsJXJheAogICAw eDU1ZTNjNTc0MDZlZSA8Rm50aGNkcisyMDg+Ogltb3YgICAgMHg4KCVyYXgpLCVyYXgKK3AveCAk cmJwIC0gMHgzOAokMjggPSAweDdmZmU0ODA0NDk4OAoreC81ZyAkMjgKMHg3ZmZlNDgwNDQ5ODg6 CTB4MDAwMDU1ZTNjNzljOWMxMwkweDAwMDAwMDAxMDAwMDAwMDIKMHg3ZmZlNDgwNDQ5OTg6CTB4 N2ZmZmZmZmZmZmZmZmZmZgkweDAwMDA1NWUzYzVkYzQ0MzAKMHg3ZmZlNDgwNDQ5YTg6CTB4MDAw MDAwMDAwMDAwMDAwMAoraQorK3NpCjB4MDAwMDU1ZTNjNTc0MDZlYQkxNTQ0CQkgIGZvciAoOyAw IDwgbnVtOyBudW0tLSwgdGFpbCA9IFhDRFIgKHRhaWwpKQorKytyci1zZXQtc3VwcHJlc3MtcnVu LWhvb2sgMQorK3gvM2kgJHBjCj0+IDB4NTVlM2M1NzQwNmVhIDxGbnRoY2RyKzIwND46CXN1YiAg ICAkMHgzLCVyYXgKICAgMHg1NWUzYzU3NDA2ZWUgPEZudGhjZHIrMjA4PjoJbW92ICAgIDB4OCgl cmF4KSwlcmF4CiAgIDB4NTVlM2M1NzQwNmYyIDxGbnRoY2RyKzIxMj46CW1vdiAgICAlcmF4LC0w eDM4KCVyYnApCitwL3ggJHJheAokMjkgPSAweDU1ZTNjNzljOWMxMworaQorK3NpCjB4MDAwMDU1 ZTNjNTc0MDZlZQkxNTQ0CQkgIGZvciAoOyAwIDwgbnVtOyBudW0tLSwgdGFpbCA9IFhDRFIgKHRh aWwpKQorKytyci1zZXQtc3VwcHJlc3MtcnVuLWhvb2sgMQorK3gvM2kgJHBjCj0+IDB4NTVlM2M1 NzQwNmVlIDxGbnRoY2RyKzIwOD46CW1vdiAgICAweDgoJXJheCksJXJheAogICAweDU1ZTNjNTc0 MDZmMiA8Rm50aGNkcisyMTI+Ogltb3YgICAgJXJheCwtMHgzOCglcmJwKQogICAweDU1ZTNjNTc0 MDZmNiA8Rm50aGNkcisyMTY+OgljbXBxICAgJDB4MCwtMHgxOCglcmJwKQoraQorK3NpCjB4MDAw MDU1ZTNjNTc0MDZmMgkxNTQ0CQkgIGZvciAoOyAwIDwgbnVtOyBudW0tLSwgdGFpbCA9IFhDRFIg KHRhaWwpKQorKytyci1zZXQtc3VwcHJlc3MtcnVuLWhvb2sgMQorK3gvM2kgJHBjCj0+IDB4NTVl M2M1NzQwNmYyIDxGbnRoY2RyKzIxMj46CW1vdiAgICAlcmF4LC0weDM4KCVyYnApCiAgIDB4NTVl M2M1NzQwNmY2IDxGbnRoY2RyKzIxNj46CWNtcHEgICAkMHgwLC0weDE4KCVyYnApCiAgIDB4NTVl M2M1NzQwNmZiIDxGbnRoY2RyKzIyMT46CWpnICAgICAweDU1ZTNjNTc0MDY4MCA8Rm50aGNkcis5 OD4KK2kKKytzaQoweDAwMDA1NWUzYzU3NDA2ZjYJMTU0NAkJICBmb3IgKDsgMCA8IG51bTsgbnVt LS0sIHRhaWwgPSBYQ0RSICh0YWlsKSkKKysrcnItc2V0LXN1cHByZXNzLXJ1bi1ob29rIDEKKyt4 LzNpICRwYwo9PiAweDU1ZTNjNTc0MDZmNiA8Rm50aGNkcisyMTY+OgljbXBxICAgJDB4MCwtMHgx OCglcmJwKQogICAweDU1ZTNjNTc0MDZmYiA8Rm50aGNkcisyMjE+OglqZyAgICAgMHg1NWUzYzU3 NDA2ODAgPEZudGhjZHIrOTg+CiAgIDB4NTVlM2M1NzQwNmZkIDxGbnRoY2RyKzIyMz46CW1vdiAg ICAtMHgzOCglcmJwKSwlcmF4CitpCisrc2kKMHgwMDAwNTVlM2M1NzQwNmZiCTE1NDQJCSAgZm9y ICg7IDAgPCBudW07IG51bS0tLCB0YWlsID0gWENEUiAodGFpbCkpCisrK3JyLXNldC1zdXBwcmVz cy1ydW4taG9vayAxCisreC8zaSAkcGMKPT4gMHg1NWUzYzU3NDA2ZmIgPEZudGhjZHIrMjIxPjoJ amcgICAgIDB4NTVlM2M1NzQwNjgwIDxGbnRoY2RyKzk4PgogICAweDU1ZTNjNTc0MDZmZCA8Rm50 aGNkcisyMjM+Ogltb3YgICAgLTB4MzgoJXJicCksJXJheAogICAweDU1ZTNjNTc0MDcwMSA8Rm50 aGNkcisyMjc+OglqbXBxICAgMHg1NWUzYzU3NDA5YmYgPEZudGhjZHIrOTI5PgoraQorK3NpCjE1 NTAJCSAgcmV0dXJuIHRhaWw7CisrK3JyLXNldC1zdXBwcmVzcy1ydW4taG9vayAxCisreC8zaSAk cGMKPT4gMHg1NWUzYzU3NDA2ZmQgPEZudGhjZHIrMjIzPjoJbW92ICAgIC0weDM4KCVyYnApLCVy YXgKICAgMHg1NWUzYzU3NDA3MDEgPEZudGhjZHIrMjI3PjoJam1wcSAgIDB4NTVlM2M1NzQwOWJm IDxGbnRoY2RyKzkyOT4KICAgMHg1NWUzYzU3NDA3MDYgPEZudGhjZHIrMjMyPjoJbW92ICAgIC0w eDc4KCVyYnApLCVyYXgKK2kKKytzaQoweDAwMDA1NWUzYzU3NDA3MDEJMTU1MAkJICByZXR1cm4g dGFpbDsKKysrcnItc2V0LXN1cHByZXNzLXJ1bi1ob29rIDEKKyt4LzNpICRwYwo9PiAweDU1ZTNj NTc0MDcwMSA8Rm50aGNkcisyMjc+OglqbXBxICAgMHg1NWUzYzU3NDA5YmYgPEZudGhjZHIrOTI5 PgogICAweDU1ZTNjNTc0MDcwNiA8Rm50aGNkcisyMzI+Ogltb3YgICAgLTB4NzgoJXJicCksJXJh eAogICAweDU1ZTNjNTc0MDcwYSA8Rm50aGNkcisyMzY+Ogltb3YgICAgJXJheCwlcmRpCitwL3gg JHJheAokMzAgPSAweDAKK3JldmVyc2Utc3RlcGkKK3N0ZXBpIAorK3JyLXNldC1zdXBwcmVzcy1y dW4taG9vayAxCisrcnItc2V0LXN1cHByZXNzLXJ1bi1ob29rIDEKMTU1MAkJICByZXR1cm4gdGFp bDsKK3gvNWkgJHBjCj0+IDB4NTVlM2M1NzQwNmZkIDxGbnRoY2RyKzIyMz46CW1vdiAgICAtMHgz OCglcmJwKSwlcmF4CiAgIDB4NTVlM2M1NzQwNzAxIDxGbnRoY2RyKzIyNz46CWptcHEgICAweDU1 ZTNjNTc0MDliZiA8Rm50aGNkcis5Mjk+CiAgIDB4NTVlM2M1NzQwNzA2IDxGbnRoY2RyKzIzMj46 CW1vdiAgICAtMHg3OCglcmJwKSwlcmF4CiAgIDB4NTVlM2M1NzQwNzBhIDxGbnRoY2RyKzIzNj46 CW1vdiAgICAlcmF4LCVyZGkKICAgMHg1NWUzYzU3NDA3MGQgPEZudGhjZHIrMjM5PjoJY2FsbHEg IDB4NTVlM2M1NzNiNjE2IDx4YmlnbnVtX3ZhbD4KK3AveCAkcmJwCiQzMSA9IDB4N2ZmZTQ4MDQ0 OWMwCitwL3ggJHJicCAtIDB4MzgKJDMyID0gMHg3ZmZlNDgwNDQ5ODgKK3gvNWcgJDMyCjB4N2Zm ZTQ4MDQ0OTg4OgkweDAwMDAwMDAwMDAwMDAwMDAJMHgwMDAwMDAwMTAwMDAwMDAyCjB4N2ZmZTQ4 MDQ0OTk4OgkweDdmZmZmZmZmZmZmZmZmZmYJMHgwMDAwNTVlM2M1ZGM0NDMwCjB4N2ZmZTQ4MDQ0 OWE4OgkweDAwMDAwMDAwMDAwMDAwMDAKK3AveCAkcmJwIC0gMHg3OAokMzMgPSAweDdmZmU0ODA0 NDk0OAoreC81ZyAkMzMKMHg3ZmZlNDgwNDQ5NDg6CTB4MDAwMDAwMDAwMDAwMDAwYQkweDAwMDAw MDAwMDAwMDAwMzIKMHg3ZmZlNDgwNDQ5NTg6CTB4MDAwMDAwMDAwMDAwMDAwMAkweDAwMDAwMDAw MDAwMDAwMDAKMHg3ZmZlNDgwNDQ5Njg6CTB4MDAwMDAwMDAwMDAwMDAwMAoraQorK3NpCjB4MDAw MDU1ZTNjNTc0MDcwMQkxNTUwCQkgIHJldHVybiB0YWlsOworKytyci1zZXQtc3VwcHJlc3MtcnVu LWhvb2sgMQorK3gvM2kgJHBjCj0+IDB4NTVlM2M1NzQwNzAxIDxGbnRoY2RyKzIyNz46CWptcHEg ICAweDU1ZTNjNTc0MDliZiA8Rm50aGNkcis5Mjk+CiAgIDB4NTVlM2M1NzQwNzA2IDxGbnRoY2Ry KzIzMj46CW1vdiAgICAtMHg3OCglcmJwKSwlcmF4CiAgIDB4NTVlM2M1NzQwNzBhIDxGbnRoY2Ry KzIzNj46CW1vdiAgICAlcmF4LCVyZGkKK2kKKytzaQoxNjEzCX0KKysrcnItc2V0LXN1cHByZXNz LXJ1bi1ob29rIDEKKyt4LzNpICRwYwo9PiAweDU1ZTNjNTc0MDliZiA8Rm50aGNkcis5Mjk+Oglh ZGQgICAgJDB4NzgsJXJzcAogICAweDU1ZTNjNTc0MDljMyA8Rm50aGNkcis5MzM+Oglwb3AgICAg JXJieAogICAweDU1ZTNjNTc0MDljNCA8Rm50aGNkcis5MzQ+Oglwb3AgICAgJXJicAorcC94ICRy YXgKJDM0ID0gMHgwCitzZXQgbG9nZ2luZyBvZmYK --000000000000a2594105c20a0b54--