<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>227821</bug_id>
          
          <creation_ts>2008-06-17 14:33 0000</creation_ts>
          <short_desc>x11-drivers/xf86-video-ati-6.8.0-r1 - radeon_accelfuncs.c:551: error: &apos;pattern&apos; undeclared (first use in this function)</short_desc>
          <delta_ts>2009-05-07 16:35:32 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Unspecified</component>
          <version>2007.0</version>
          <rep_platform>PPC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>christophe_philemotte@hotmail.com</reporter>
          <assigned_to>x11@gentoo.org</assigned_to>
          <cc>1i5t5.duncan@cox.net</cc>
    
    <cc>caster@gentoo.org</cc>
    
    <cc>darkjames@darkjames.ath.cx</cc>
    
    <cc>even.more.spam.for.me@googlemail.com</cc>
    
    <cc>felix@crowfix.com</cc>
    
    <cc>gentoo@torangan.de</cc>
    
    <cc>graham@gmurray.org.uk</cc>
    
    <cc>karpi.web@email.cz</cc>
    
    <cc>lu_zero@gentoo.org</cc>
    
    <cc>roy@marples.name</cc>
    
    <cc>silvio.frischi@gmail.com</cc>
    
    <cc>teidakankan@gmail.com</cc>
    
    <cc>vapier@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>christophe_philemotte@hotmail.com</who>
            <bug_when>2008-06-17 14:33:58 0000</bug_when>
            <thetext>After upgrading x11-base/xorg-server-1.4.2 (and my system), I&apos;ve remerged x11-drivers as usual. x11-drivers/xf86-video-ati-6.8.0-r1 does not compile. I&apos;ve tried a downgrade of x11-drivers/xf86-video-ati to 6.8.0, but same error.

I will downgrade x11-base/xorg-server-1.4.2 and see if the problem comes from it.

Reproducible: Always

Steps to Reproduce:
1. emerge -1 x11-drivers/xf86-video-ati

Actual Results:  
An aborted emerge

Expected Results:  
A successful emerge

In file included from radeon_accel.c:413:
radeon_accelfuncs.c: In function &apos;RADEONSetupForMono8x8PatternFillMMIO&apos;:
radeon_accelfuncs.c:551: error: &apos;pattern&apos; undeclared (first use in this function)
radeon_accelfuncs.c:551: error: (Each undeclared identifier is reported only once
radeon_accelfuncs.c:551: error: for each function it appears in.)
In file included from radeon_accel.c:436:
radeon_accelfuncs.c: In function &apos;RADEONSetupForMono8x8PatternFillCP&apos;:
radeon_accelfuncs.c:551: error: &apos;pattern&apos; undeclared (first use in this function)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>christophe_philemotte@hotmail.com</who>
            <bug_when>2008-06-17 14:35:30 0000</bug_when>
            <thetext>Portage 2.1.5.5 (default-linux/ppc/ppc32/2007.0/G4, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r3daneel ppc)
=================================================================
System uname: 2.6.24-gentoo-r3daneel ppc 7447A, altivec supported
Timestamp of tree: Tue, 17 Jun 2008 04:45:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r5, 2.5.2-r4
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.12
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.4
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS=&quot;ppc ~ppc&quot;
CBUILD=&quot;powerpc-unknown-linux-gnu&quot;
CFLAGS=&quot;-mcpu=7450 -maltivec -mabi=altivec -O2 -mtune=powerpc -pipe&quot;
CHOST=&quot;powerpc-unknown-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc&quot;
CONFIG_PROTECT_MASK=&quot;/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d&quot;
CXXFLAGS=&quot;-mcpu=7450 -maltivec -mabi=altivec -O2 -mtune=powerpc -pipe&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;distlocks fixpackages parallel-fetch sandbox sfperms splitdebug strict unmerge-orphans userfetch&quot;
GENTOO_MIRRORS=&quot;http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://mirror.ovh.net/gentoo-distfiles/&quot;
LANG=&quot;en_US.UTF8&quot;
LC_ALL=&quot;en_US.UTF8&quot;
LDFLAGS=&quot;&quot;
MAKEOPTS=&quot;-j2&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/local/portage&quot;
SYNC=&quot;rsync://rsync.europe.gentoo.org/gentoo-portage&quot;
USE=&quot;X a52 aac alsa altivec bash-completion bcmath berkdb bluetooth bzip2 cdparanoia cdr cli cracklib crypt ctype cups dbus divx4linux dri dts dvd dvdr dvdread encode fbcon ffmpeg fftw firefox fontconfig fortran gdbm gif gphoto2 gpm gstreamer gtk gtk2 gtkhtml iconv icq ieee1394 imagemagick imap ipv6 isdnlog jabber java javascript jpeg jpeg2k lapack mad maildir matroska midi mime motif mozilla-firefox mp3 mpeg mpi msn mudflap musepack ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl php plotutils png posix ppc ppds pppd python quicktime readline recode reflection ruby sdl session sharedmem sockets source spell spl ssl svg symlink tcltk tcpd tetex threads tiff tokenizer truetype unicode usb v4l vim-syntax vorbis wifi wma wxwindows xml xml2 xorg xosd xpm xprint xv xvid zlib&quot; ALSA_CARDS=&quot;aoa aoa-fabric-layout aoa-onyx aoa-soundbus aoa-soundbus-i2s 	aoa-tas aoa-toonie powermac usb-audio via82xx&quot; ALSA_PCM_PLUGINS=&quot;adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol&quot; APACHE2_MODULES=&quot;actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias&quot; ELIBC=&quot;glibc&quot; INPUT_DEVICES=&quot;keyboard mouse synaptics wacom&quot; KERNEL=&quot;linux&quot; LCD_DEVICES=&quot;bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text&quot; USERLAND=&quot;GNU&quot; VIDEO_CARDS=&quot;radeon fbdev&quot;
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>christophe_philemotte@hotmail.com</who>
            <bug_when>2008-06-17 14:36:57 0000</bug_when>
            <thetext>Created an attachment (id=157295)
build log

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>christophe_philemotte@hotmail.com</who>
            <bug_when>2008-06-17 14:37:34 0000</bug_when>
            <thetext>Created an attachment (id=157297)
ebuild environment

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>christophe_philemotte@hotmail.com</who>
            <bug_when>2008-06-17 15:21:11 0000</bug_when>
            <thetext>I&apos;ve downgraded xorg-server to 1.4.0.90-r3 and successfully remerge x11-drivers/xf86-video-ati-6.8.0-r1

So, it seems a problem with xorg-server-1.4.2</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>darkjames@darkjames.ath.cx</who>
            <bug_when>2008-06-18 19:35:01 0000</bug_when>
            <thetext>Yep, the same problem here 

I think this is because of 1.4.2-unbreak-endianess.patch where:
line AC_DEFINE_UNQUOTED(_X_BYTE_ORDER,[$ENDIAN],[Endian order])
was removed, which is needed by xorg-server.h

#ifndef __APPLE_CC__
#define X_BYTE_ORDER _X_BYTE_ORDER
#else
// [cut]
#endif

cpp -I../ -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -I/usr/include/pixman-1 radeon_accel.c |egrep &apos;xorg-server|Xarch&apos;
# 1 &quot;/usr/include/xorg/xorg-server.h&quot; 1
# 1 &quot;/usr/include/X11/Xarch.h&quot; 1 3 4

as you can see first is included xorg-server.h later Xarch.h

and because _X_BYTE_ORDER is undefined it evaluates to 0.
So neither 
#if X_BYTE_ORDER == X_BIG_ENDIAN 
nor
#if X_BYTE_ORDER == X_LITTLE_ENDIAN 
is true

I think we can patch xorg-server.h.in like other stuff from
1.4.2-unbreak-endianess.patch

no patch, sorry.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>teidakankan@gmail.com</who>
            <bug_when>2008-06-18 22:03:49 0000</bug_when>
            <thetext>This problem is not ppc specific.  I&apos;m seeing this on ~x86 and it does not appear to be related to xorg-server-1.4.2 here.

I have two pentium-m laptops.  Both with xorg-server-1.4.2 installed.  One compiles xf86-video-ati-6.8.0-r1 with no problems.  The only major differences is that I have gcc-4.2.4 and glibc-2.7-r2 on the one that compiles and gcc-4.3.1 with glibc-2.8_p20080602 one the one that fails.  Both have libtool-2.2.4.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>lu_zero@gentoo.org</who>
            <bug_when>2008-06-18 22:29:11 0000</bug_when>
            <thetext>directly including Xarch or removing all the reference from the file should address the issue.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>darkjames@darkjames.ath.cx</who>
            <bug_when>2008-06-18 22:52:15 0000</bug_when>
            <thetext>Ok, i patched xorg-server.h.in and x11-drivers/xf86-video-ati-6.8.0-r1 compiles fine.

I attach new version of 1.4.2-unbreak-endianess.patch
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>even.more.spam.for.me@googlemail.com</who>
            <bug_when>2008-06-18 22:53:19 0000</bug_when>
            <thetext>Excluding 1.4.2-unbreak-endianess.patch from the ebuild did work for me - at least it did compile...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>darkjames@darkjames.ath.cx</who>
            <bug_when>2008-06-18 22:53:25 0000</bug_when>
            <thetext>Created an attachment (id=157515)
new version of 1.4.2-unbreak-endianess.patch for xorg-server

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ferki@freemail.hu</who>
            <bug_when>2008-06-20 17:08:11 0000</bug_when>
            <thetext>The attached patch works for me! :)

Thank you very much!</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>silvio.frischi@gmail.com</who>
            <bug_when>2008-06-21 01:39:29 0000</bug_when>
            <thetext>*** Bug 228423 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>silvio.frischi@gmail.com</who>
            <bug_when>2008-06-21 01:48:07 0000</bug_when>
            <thetext>seems I have been 2 days to late.
New patch works for me, too.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>christophe_philemotte@hotmail.com</who>
            <bug_when>2008-06-21 11:24:54 0000</bug_when>
            <thetext>I did&apos;nt get the time before. I&apos;ve just tried and it emerges perfectly now. Thx a lot Jakub Zawadzki for the patch :).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mattia.rossi.mate@gmail.com</who>
            <bug_when>2008-06-26 03:56:45 0000</bug_when>
            <thetext>Tried the patch, passed the above mentioned problem, but after that it faild with:

radeon_accelfuncs.c: In function &apos;RADEONSetupForMono8x8PatternFillCP&apos;
radeon_accelfuncs.c:551: error: &apos;pattern&apos; undeclared (first use in this function)

Tried to get rid of the unbreak_endianess patch completely, and that failed also at RADEONSetupForMono8x8PatternFillMMIO

Any Ideas?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2008-06-27 05:28:21 0000</bug_when>
            <thetext>Does it work without the patch with the 6.9 driver I just committed? (Note that Luca added the patch to the 1.4.2 version in the tree.)

Luca, is that patch upstreamed yet? I don&apos;t like adding patches to our tree unless they&apos;re already upstream.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>caster@gentoo.org</who>
            <bug_when>2008-06-27 06:58:23 0000</bug_when>
            <thetext>6.9.0 does not compile here (the same error) with x11-base/xorg-server-1.4.2 merged on Thu Jun 19 03:25:30 2008 (which should therefore be with the 1.4.2-unbreak-endianess.patch according to ChangeLog from 15 Jun).

Portage 2.2_rc1 (default-linux/x86/2007.0/desktop, gcc-4.2.4, glibc-2.8_p20080602-r0, 2.6.25-gentoo-r5 i686)
=================================================================
System uname: Linux-2.6.25-gentoo-r5-i686-Intel-R-_Pentium-R-_M_processor_1.60GHz-with-glibc2.0
Timestamp of tree: Fri, 27 Jun 2008 05:45:03 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r5
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.62
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r2
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.4
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS=&quot;x86 ~x86&quot;
CBUILD=&quot;i686-pc-linux-gnu&quot;
CFLAGS=&quot;-O2 -march=pentium-m -pipe&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb&quot;
CONFIG_PROTECT_MASK=&quot;/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d&quot;
CXXFLAGS=&quot;-O2 -march=pentium-m -pipe&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
EMERGE_DEFAULT_OPTS=&quot;--with-bdeps y&quot;
FEATURES=&quot;assume-digests ccache collision-protect distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox&quot;
GENTOO_MIRRORS=&quot;        ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo        http://gentoo.osuosl.org&quot;
LANG=&quot;en_US.utf8&quot;
LDFLAGS=&quot;-Wl,--as-needed&quot;
LINGUAS=&quot;en cs&quot;
MAKEOPTS=&quot;-j2&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/portage/local/layman/mozilla /usr/portage/local/layman/vmware /usr/portage/local/layman/java-overlay /usr/portage/local/layman/java-experimental /usr/portage/local/crossdev /usr/portage/local/caster&quot;
SYNC=&quot;rsync://rsync.europe.gentoo.org/gentoo-portage&quot;
USE=&quot;7zip X a52 aac acl acpi alsa amr ao audiofile bash-completion berkdb blas bluetooth branding bsf bzip2 cairo caps cdr cjk cli cracklib crypt cups curl dbus djvu dri dts dvd dvdr dvdread dvi emboss encode evo fam ffmpeg fftw firefox flac fontconfig fortran gdbm ggi gif gmp gpm gstreamer gtk hal iconv icq idn ipv6 irda isdnlog java java5 javascript jpeg kde kdeenablefinal kdehiddenvisibility kerberos kipi lapack lcms ldap libnotify lm_sensors lua lzo mad maildir matroska mbox midi mikmod mmx mozdevelop moznoirc mp3 mpeg mplayer mudflap musicbrainz ncurses nls nptl nptlonly nsplugin ntfs nvidia obex ogg openal opengl openmp oscar pam pcre pdf perl pmu png ppds pppd python qt3 qt3support qt4 quicktime readline reflection reiserfs rtc ruby sdl seamonkey session slang sockets sound speex spell spl sqlite sse sse2 ssl svg t1lib tcl tcpd tetex threads tiff tk truetype unicode usb v4l vorbis webdav win32codecs x86 xcb xcomposite xine xinerama xml xorg xosd xulrunner xv xvid zlib&quot; ALSA_CARDS=&quot;intel8x0 intel8x0m&quot; ALSA_PCM_PLUGINS=&quot;adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol&quot; APACHE2_MODULES=&quot;actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias&quot; ELIBC=&quot;glibc&quot; INPUT_DEVICES=&quot;keyboard mouse evdev synaptics&quot; KERNEL=&quot;linux&quot; LCD_DEVICES=&quot;bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text&quot; LINGUAS=&quot;en cs&quot; USERLAND=&quot;GNU&quot; VIDEO_CARDS=&quot;radeon vesa fbdev v4l&quot;
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>caster@gentoo.org</who>
            <bug_when>2008-06-27 08:50:45 0000</bug_when>
            <thetext>(In reply to comment #16)
&gt; Does it work without the patch with the 6.9 driver I just committed? (Note that
&gt; Luca added the patch to the 1.4.2 version in the tree.)

Ok so after recompiling xorg-server-1.4.2 without the patch, xf86-video-ati-6.9.0 compiles and works here. 

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>1i5t5.duncan@cox.net</who>
            <bug_when>2008-06-27 14:49:22 0000</bug_when>
            <thetext>I&apos;ve the problem with -ati-6.9.0 and xorg-server-1.4.2 as well.  I&apos;ll try killing the endianness patch in xorg-server and see if that helps.

FWIW, I had &gt;xf86-video-ati-6.6.99 masked due to problems with 6.8.0, so have been using 6.6.0 with xorg-server 1.4.2 without problems.  Now xorg-server is apparently requiring 6.9.0 (according to portage&apos;s warning since I had it masked), and I&apos;d hoped to try it, but it won&apos;t compile.  So the now required 6.9.0 won&apos;t compile while the older supposedly unsatisfactory 6.6.0 continues to work just fine with xorg-server-1.4.2.  Sounds like screwed dependencies to me! =8^(

But still, thanks for the work, gentoo/xorg team.  Herding xorg&apos;s set of packages has gotta be rather like herding cats, if for no other reason than because of the variety of hardware involved and the fact that some of the drivers are blackbox closed, so a few problems here or there is still rather better than most could manage, and it&apos;s certainly appreciated! =8^)

Duncan</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2008-06-27 16:48:27 0000</bug_when>
            <thetext>   27 Jun 2008; Donnie Berkholz &lt;dberkholz@gentoo.org&gt;;
+  -files/1.4.2-unbreak-endianess.patch, xorg-server-1.4.2.ebuild:
+  (#227821) Remove patch because ati 6.9 driver appears to work fine without
+  it and breaks with it. If anyone wants to revert this, please discuss it
+  on the bug in advance.
+
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>graham@gmurray.org.uk</who>
            <bug_when>2008-06-27 19:31:19 0000</bug_when>
            <thetext>(In reply to comment #20)
&gt;    27 Jun 2008; Donnie Berkholz &lt;dberkholz@gentoo.org&gt;;
&gt; +  -files/1.4.2-unbreak-endianess.patch, xorg-server-1.4.2.ebuild:
&gt; +  (#227821) Remove patch because ati 6.9 driver appears to work fine without
&gt; +  it and breaks with it. If anyone wants to revert this, please discuss it
&gt; +  on the bug in advance.
&gt; +
&gt; 
There seems to be a catch-22 situation here. 
x11-drivers/xf86-video-ati-6.9.0 fails to build against the (patched) xorg-server-1.4.2 and attempting to re-emerge xorg-server-1.4.2 without the patch requires building video-ati-6.9.0 which fails because the installed xorg server has the patch. running &apos;emerge --resume --skipfirst&apos; (portage 2.2_rc1) will allow you to skip building video-ati-6.9.0. Repeat round and round the circle.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>graham@gmurray.org.uk</who>
            <bug_when>2008-06-27 19:33:15 0000</bug_when>
            <thetext>(In reply to comment #21)
&gt; running &apos;emerge --resume --skipfirst&apos; (portage 2.2_rc1)
&gt; will allow you to skip building video-ati-6.9.0. 

oops.Should be will not allow you to skip
                    ^^^

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo@torangan.de</who>
            <bug_when>2008-06-27 19:39:12 0000</bug_when>
            <thetext>I had the same problem but resolved it by &quot;emerge --nodeps xorg-server&quot; which worked just fine against the older driver. Afterwards I could update the driver and probably it&apos;s best to recompile xorg-server once again then.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>1i5t5.duncan@cox.net</who>
            <bug_when>2008-06-27 20:18:55 0000</bug_when>
            <thetext>(In reply to comment #23)
&gt; I had the same problem but resolved it by &quot;emerge --nodeps xorg-server&quot; which
&gt; worked just fine against the older driver. Afterwards I could update the
&gt; driver and probably it&apos;s best to recompile xorg-server once again then.

--nodeps is what I used as well.  Works fine and is particularly appropriate in this case due to the details which follow.  However, the second remerge of xorg-server shouldn&apos;t be necessary as the driver is a pdep (post-dep), not a regular dep (required to merge).  The apparent reason portage was trying to do it in reverse is that xorg-server-1.4.2 was already merged, and now has that pdep, so it was trying to fill that first before doing the remerge... I guess.  Since it&apos;s a pdep and only wants to be merged early because xorg-server would be a remerge, forcing it to be merged after xorg-server is absolutely appropriate.

Another solution implied by the above, convenient if you&apos;re running FEATURES=buildpkg, less so otherwise, would be to temporarily downgrade xorg-server to a previous version (using -K to simply remerge the prepackaged version if you have it, thus the convenience) without the pdep.  The previous server versions won&apos;t require 6.9.0 so should merge without issue.  Re-upgrading from there should cause portage to merge in the appropriate order, server-first, then the pdep-ed driver.

Finally, there&apos;s a third solution (before we start considering ebuild hacks) in this particular case.  The changelogs reminded me of this.  The drivers are pdeped only if the appropriate USE_EXPAND var is set, in this case VIDEO_CARDS=&quot;radeon&quot; or &quot;ati&quot; or whatever.  Unset that or temporarily set it to something else, and that should kill the pdep too. =8^)

Duncan</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>mattia.rossi.mate@gmail.com</who>
            <bug_when>2008-06-28 09:23:47 0000</bug_when>
            <thetext>Works for me!

xorg-server-1.4.2 without unbreak endianess patch and xf86-video-ati-6.9.0

All from the repository, no manual patching.

As Duncan stated:

emerge --nodeps xorg-server

then

emerge xf86-video-ati

Compiles fine, runs well.

I&apos;m on a ~amd64

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dberkholz@gentoo.org</who>
            <bug_when>2008-06-29 18:41:38 0000</bug_when>
            <thetext>I would mark this fixed, but I&apos;m going to leave it open for a while for anyone else coming across this issue.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>christendoc@nosocomia.com</who>
            <bug_when>2008-07-02 17:37:27 0000</bug_when>
            <thetext>This fix (--nodep xorg-server rebuild THEN emerge xf86-video-ati (6.9)) worked for me for ~x86 as well. Thanks.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>t.heikamp@gmx.de</who>
            <bug_when>2008-07-04 10:42:40 0000</bug_when>
            <thetext># emerge --nodeps xorg-server &amp;&amp; emerge xf86-video-ati

solved the problem for me
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>roy@marples.name</who>
            <bug_when>2008-07-09 10:49:03 0000</bug_when>
            <thetext>(In reply to comment #26)
&gt; I would mark this fixed, but I&apos;m going to leave it open for a while for anyone
&gt; else coming across this issue.

Could you not detect this in the ebuild and warn about it until xorg-server gets a bump? Would probably save peoples hair loss :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>hayakawa@uci.edu</who>
            <bug_when>2008-07-19 05:05:14 0000</bug_when>
            <thetext>(In reply to comment #10)
&gt; Created an attachment (id=157515) [edit]
&gt; new version of 1.4.2-unbreak-endianess.patch for xorg-server
&gt; 

Is this fix possibly related to problem I&apos;m having
emerging xf86-video-ati-6.8.0-r1 and xorg-server-1.3.0.0-r6?
I get the following error when emerging xf86-video-ati-6.8.0-r1:

	then mv -f &quot;.deps/radeon_modes.Tpo&quot; &quot;.deps/radeon_modes.Plo&quot;; else rm -f &quot;.deps/radeon_modes.Tpo&quot;; exit 1; fi
radeon_crtc.c:109: error: syntax error before &quot;n&quot;
radeon_crtc.c: In function `RADEONDiv&apos;:
radeon_crtc.c:111: error: `n&apos; undeclared (first use in this function)
radeon_crtc.c:111: error: (Each undeclared identifier is reported only once
radeon_crtc.c:111: error: for each function it appears in.)
radeon_crtc.c:111: error: `d&apos; undeclared (first use in this function)
radeon_crtc.c: In function `RADEONComputePLL&apos;:
radeon_crtc.c:168: error: `CARD64&apos; undeclared (first use in this function)
radeon_crtc.c:168: error: syntax error before &quot;freq&quot;
radeon_crtc.c:174: error: syntax error before &quot;pll&quot;
make[2]: *** [radeon_crtc.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
 i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./AtomBios/includes -Wall -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -DDISABLE_EASF -DENABLE_ALL_SERVICE_FUNCTIONS -DATOM_BIOS -DATOM_BIOS_PARSER -DFGL_LINUX -DDRIVER_PARSER -O2 -march=athlon-mp -pipe -fomit-frame-pointer -MT radeon_output.lo -MD -MP -MF .deps/radeon_output.Tpo -c radeon_output.c  -fPIC -DPIC -o .libs/radeon_output.o
 i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I./AtomBios/includes -Wall -I/usr/include/xorg -I/usr/include/drm -I/usr/include/X11/dri -DDISABLE_EASF -DENABLE_ALL_SERVICE_FUNCTIONS -DATOM_BIOS -DATOM_BIOS_PARSER -DFGL_LINUX -DDRIVER_PARSER -O2 -march=athlon-mp -pipe -fomit-frame-pointer -MT radeon_modes.lo -MD -MP -MF .deps/radeon_modes.Tpo -c radeon_modes.c  -fPIC -DPIC -o .libs/radeon_modes.o
radeon_output.c: In function `RADEONSetupConnectors&apos;:
radeon_output.c:2694: warning: unsigned int format, RADEONDacType arg (arg 4)
radeon_output.c:2694: warning: unsigned int format, RADEONTmdsType arg (arg 5)
radeon_output.c:2694: warning: unsigned int format, RADEONConnectorType arg (arg 6)
radeon_output.c:2694: warning: unsigned int format, RADEONDacType arg (arg 8)
radeon_output.c:2694: warning: unsigned int format, RADEONTmdsType arg (arg 9)
radeon_output.c:2694: warning: unsigned int format, RADEONConnectorType arg (arg 10)
make[2]: Leaving directory `/var/tmp/portage/x11-drivers/xf86-video-ati-6.8.0-r1/work/xf86-video-ati-6.8.0/src&apos;
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/x11-drivers/xf86-video-ati-6.8.0-r1/work/xf86-video-ati-6.8.0&apos;
make: *** [all] Error 2
 * 
 * ERROR: x11-drivers/xf86-video-ati-6.8.0-r1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2940:  Called x-modular_src_compile
 *             environment, line 3725:  Called x-modular_src_make
 *             environment, line 3761:  Called die
 * The specific snippet of code:
 *       emake || die &quot;emake failed&quot;
 *  The die message:
 *   emake failed
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at &apos;/var/tmp/portage/x11-drivers/xf86-video-ati-6.8.0-r1/temp/build.log&apos;.
 * The ebuild environment file is located at &apos;/var/tmp/portage/x11-drivers/xf86-video-ati-6.8.0-r1/temp/environment&apos;.
 * 

 * Messages for package x11-drivers/xf86-video-ati-6.8.0-r1:

 * 
 * ERROR: x11-drivers/xf86-video-ati-6.8.0-r1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2940:  Called x-modular_src_compile
 *             environment, line 3725:  Called x-modular_src_make
 *             environment, line 3761:  Called die
 * The specific snippet of code:
 *       emake || die &quot;emake failed&quot;
 *  The die message:
 *   emake failed
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at &apos;/var/tmp/portage/x11-drivers/xf86-video-ati-6.8.0-r1/temp/build.log&apos;.
 * The ebuild environment file is located at &apos;/var/tmp/portage/x11-drivers/xf86-video-ati-6.8.0-r1/temp/environment&apos;.
 * 
----
Any help would be much appreciated.  Thanks!</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>1i5t5.duncan@cox.net</who>
            <bug_when>2008-07-20 09:50:50 0000</bug_when>
            <thetext>(In reply to comment #30)
&gt; Is this fix possibly related to problem I&apos;m having
&gt; emerging xf86-video-ati-6.8.0-r1 and xorg-server-1.3.0.0-r6?
&gt; I get the following error when emerging xf86-video-ati-6.8.0-r1:

&gt; radeon_crtc.c:109: error: syntax error before &quot;n&quot;
&gt; radeon_crtc.c: In function `RADEONDiv&apos;:
&gt; radeon_crtc.c:111: error: `n&apos; undeclared (first use in this function)
&gt; radeon_crtc.c:111: error: (Each undeclared identifier is reported only once
&gt; radeon_crtc.c:111: error: for each function it appears in.)
&gt; radeon_crtc.c:111: error: `d&apos; undeclared (first use in this function)

[etc]

That looks like a missing header file to me, perhaps one of the -proto- ebuilds.  Simple single-letter stuff like that shouldn&apos;t be showing up -- normally it&apos;d be something more informative like the above &quot;pattern&quot;.  That such obviously non-descriptive stuff is showing up has at least here usually indicated a missing header file, such that gcc is interpreting what it sees incorrectly.  I really haven&apos;t a clue which header file, unfortunately.

I&apos;ve also seen errors like that on some packages when I&apos;m trying a still-hard-masked gcc (or glibc) (usually because... you guessed it, the previously auto-included header files aren&apos;t, any more, or previously deprecated header files have been removed, and the sources in question haven&apos;t been fixed yet, so it&apos;s still basically a missing header file, but with a different reason it&apos;s missing), occasionally, but if you were the type to try something that bleeding edge, you&apos;d probably be running at least ~arch xorg as well, so I don&apos;t consider it likely.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>hayakawa@uci.edu</who>
            <bug_when>2008-07-20 14:29:54 0000</bug_when>
            <thetext>(In reply to comment #31)
&gt; (In reply to comment #30)
&gt; &gt; Is this fix possibly related to problem I&apos;m having
&gt; &gt; emerging xf86-video-ati-6.8.0-r1 and xorg-server-1.3.0.0-r6?
&gt; &gt; I get the following error when emerging xf86-video-ati-6.8.0-r1:
&gt; 
&gt; &gt; radeon_crtc.c:109: error: syntax error before &quot;n&quot;
&gt; &gt; radeon_crtc.c: In function `RADEONDiv&apos;:
&gt; &gt; radeon_crtc.c:111: error: `n&apos; undeclared (first use in this function)
&gt; &gt; radeon_crtc.c:111: error: (Each undeclared identifier is reported only once
&gt; &gt; radeon_crtc.c:111: error: for each function it appears in.)
&gt; &gt; radeon_crtc.c:111: error: `d&apos; undeclared (first use in this function)
&gt; 
&gt; [etc]
&gt; 
&gt; That looks like a missing header file to me, perhaps one of the -proto-
&gt; ebuilds.  Simple single-letter stuff like that shouldn&apos;t be showing up --
&gt; normally it&apos;d be something more informative like the above &quot;pattern&quot;.  That
&gt; such obviously non-descriptive stuff is showing up has at least here usually
&gt; indicated a missing header file, such that gcc is interpreting what it sees
&gt; incorrectly.  I really haven&apos;t a clue which header file, unfortunately.
&gt; 
&gt; I&apos;ve also seen errors like that on some packages when I&apos;m trying a
&gt; still-hard-masked gcc (or glibc) (usually because... you guessed it, the
&gt; previously auto-included header files aren&apos;t, any more, or previously
&gt; deprecated header files have been removed, and the sources in question haven&apos;t
&gt; been fixed yet, so it&apos;s still basically a missing header file, but with a
&gt; different reason it&apos;s missing), occasionally, but if you were the type to try
&gt; something that bleeding edge, you&apos;d probably be running at least ~arch xorg as
&gt; well, so I don&apos;t consider it likely.
&gt; 

Thanks for your reply.  Do you think an &quot;emerge -uD world&quot; might solve
the problem?  Or do you think its most likely a problem with the ebuild
and that I need to wait for an updated version of the software?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>1i5t5.duncan@cox.net</who>
            <bug_when>2008-07-20 16:21:48 0000</bug_when>
            <thetext>(In reply to comment #32)
&gt; (In reply to comment #31)
&gt; Thanks for your reply.  Do you think an &quot;emerge -uD world&quot; might solve
&gt; the problem?  Or do you think its most likely a problem with the ebuild
&gt; and that I need to wait for an updated version of the software?

Honestly, I don&apos;t know, but I&apos;d try both that and a revdep-rebuild before anything else.

As you might have guessed from the comment, I tend toward the leading sometime bleeding edge and run ~arch (~amd64) consistently, sometimes bringing in still-hard-masked packages as well.  Thus, my experience is somewhat ahead of where you are back with stable and xorg-1.3 was some time ago for me.  I can&apos;t rightly tell you to take the risk that&apos;s ~arch, but 6.9.0 has fixed problems for some people (tho you may have to ~arch keyword more of X to match it), and I also know that X gets held back by the folks running proprietary (nvidia/ati/whatever) drivers and would often be stabilized sooner if it wasn&apos;t for that.  Thus if you aren&apos;t running the proprietary stuff, newer X might be worth trying.  But it&apos;s up to you.

Alternatively, file a new bug (or check for others, but I imagine that&apos;s what you were doing when you found this) with the appropriate details, as best /I/ can tell, it&apos;s not related to this one.  Maybe the Gentoo X folks or other users can help, but they have to find it first and here, they (other users especially) might not.

HTH, Duncan</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>remi@gentoo.org</who>
            <bug_when>2009-05-07 16:35:32 0000</bug_when>
            <thetext>Closing as per comment #26.

Thanks</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>157295</attachid>
            <date>2008-06-17 14:36 0000</date>
            <desc>build log</desc>
            <filename>build.log</filename>
            <type>text/plain</type>
            <data encoding="base64">Pj4+IFVucGFja2luZyBzb3VyY2UuLi4KIBtbMzI7MDFtKhtbMG0gQ2hlY2tpbmcgZm9yIGRpcmVj
dCByZW5kZXJpbmcgY2FwYWJpbGl0aWVzIC4uLgo+Pj4gVW5wYWNraW5nIHhmODYtdmlkZW8tYXRp
LTYuOC4wLnRhci5iejIgdG8gL3Zhci90bXAvcG9ydGFnZS94MTEtZHJpdmVycy94Zjg2LXZpZGVv
LWF0aS02LjguMC1yMS93b3JrCiAbWzMyOzAxbSobWzBtIEFwcGx5aW5nIDAwMDEtQnVtcC1DUlRD
LXNpemUtbGltaXRzLW9uLUFWSVZPLWNoaXBzLXNvLTMwLWRpc3BsYXlzLnBhdGNoIC4uLgobW0Eb
WzE1OUMgIBtbMzQ7MDFtWyAbWzMyOzAxbW9rG1szNDswMW0gXRtbMG0KIBtbMzI7MDFtKhtbMG0g
QXBwbHlpbmcgMDAwMi1SQURFT04tdXBkYXRlLW1hbi1wYWdlLXdpdGgtc3VwcG9ydGVkLWNoaXBz
LnBhdGNoIC4uLgobW0EbWzE1OUMgIBtbMzQ7MDFtWyAbWzMyOzAxbW9rG1szNDswMW0gXRtbMG0K
IBtbMzI7MDFtKhtbMG0gQXBwbHlpbmcgMDAwMy1SQURFT04tZml4LUREQy10eXBlcy01LWFuZC02
LnBhdGNoIC4uLgobW0EbWzE1OUMgIBtbMzQ7MDFtWyAbWzMyOzAxbW9rG1szNDswMW0gXRtbMG0K
IBtbMzI7MDFtKhtbMG0gQXBwbHlpbmcgMDAwNC1SQURFT04tcmVzdG9yZS1jbG9jay1nYXRpbmct
YW5kLUNQLWNsb2NrLWVycmF0YS1vbi5wYXRjaCAuLi4KG1tBG1sxNTlDICAbWzM0OzAxbVsgG1sz
MjswMW1vaxtbMzQ7MDFtIF0bWzBtCiAbWzMyOzAxbSobWzBtIEFwcGx5aW5nIDAwMDUtUjEwMC1m
aXgtcmVuZGVyLWFjY2VsLWZvci10cmFuc2Zvcm1zLnBhdGNoIC4uLgobW0EbWzE1OUMgIBtbMzQ7
MDFtWyAbWzMyOzAxbW9rG1szNDswMW0gXRtbMG0KIBtbMzI7MDFtKhtbMG0gQXBwbHlpbmcgMDAw
Ni1yYWRlb24tRml4LXR5cG8tZmxhZ2dlZC1ieS1nY2MtV2FsbC5wYXRjaCAuLi4KG1tBG1sxNTlD
ICAbWzM0OzAxbVsgG1szMjswMW1vaxtbMzQ7MDFtIF0bWzBtCiAbWzMyOzAxbSobWzBtIEFwcGx5
aW5nIDAwMDctQVRPTS1wcm9wZXJseS1zZXQtdXAtRERJQS1vdXRwdXQtb24tUlM2eHgtYm9hcmRz
LnBhdGNoIC4uLgobW0EbWzE1OUMgIBtbMzQ7MDFtWyAbWzMyOzAxbW9rG1szNDswMW0gXRtbMG0K
IBtbMzI7MDFtKhtbMG0gQXBwbHlpbmcgMDAwOC1SUzZ4eC1maXgtRERDLW9uLURESUEtb3V0cHV0
LXVzdWFsbHktSERNSS1wb3J0LnBhdGNoIC4uLgobW0EbWzE1OUMgIBtbMzQ7MDFtWyAbWzMyOzAx
bW9rG1szNDswMW0gXRtbMG0KIBtbMzI7MDFtKhtbMG0gQXBwbHlpbmcgMDEzNC1EaXNhYmxlLXRo
ZS1zZXR0aW5nLW9mLUhBUkRXQVJFX0NVUlNPUl9CSVRfT1JERVJfTVNCLnBhdGNoIC4uLgobW0Eb
WzE1OUMgIBtbMzQ7MDFtWyAbWzMyOzAxbW9rG1szNDswMW0gXRtbMG0KIBtbMzI7MDFtKhtbMG0g
UnVubmluZyBlbGlidG9vbGl6ZSBpbjogeGY4Ni12aWRlby1hdGktNi44LjAKIBtbMzI7MDFtKhtb
MG0gICBBcHBseWluZyBpbnN0YWxsLXNoLTEuNS40LnBhdGNoIC4uLgogG1szMjswMW0qG1swbSAg
IEFwcGx5aW5nIHBvcnRhZ2UtMS41LjEwLnBhdGNoIC4uLgogG1szMjswMW0qG1swbSAgIEFwcGx5
aW5nIG1heF9jbWRfbGVuLTEuNS4yMC5wYXRjaCAuLi4KIBtbMzI7MDFtKhtbMG0gICBBcHBseWlu
ZyBzZWQtMS41LjYucGF0Y2ggLi4uCj4+PiBTb3VyY2UgdW5wYWNrZWQuCj4+PiBDb21waWxpbmcg
c291cmNlIGluIC92YXIvdG1wL3BvcnRhZ2UveDExLWRyaXZlcnMveGY4Ni12aWRlby1hdGktNi44
LjAtcjEvd29yay94Zjg2LXZpZGVvLWF0aS02LjguMCAuLi4KICogZWNvbmY6IHVwZGF0aW5nIHhm
ODYtdmlkZW8tYXRpLTYuOC4wL2NvbmZpZy5ndWVzcyB3aXRoIC91c3Ivc2hhcmUvZ251Y29uZmln
L2NvbmZpZy5ndWVzcwogKiBlY29uZjogdXBkYXRpbmcgeGY4Ni12aWRlby1hdGktNi44LjAvY29u
ZmlnLnN1YiB3aXRoIC91c3Ivc2hhcmUvZ251Y29uZmlnL2NvbmZpZy5zdWIKLi9jb25maWd1cmUg
LS1wcmVmaXg9L3VzciAtLWhvc3Q9cG93ZXJwYy11bmtub3duLWxpbnV4LWdudSAtLW1hbmRpcj0v
dXNyL3NoYXJlL21hbiAtLWluZm9kaXI9L3Vzci9zaGFyZS9pbmZvIC0tZGF0YWRpcj0vdXNyL3No
YXJlIC0tc3lzY29uZmRpcj0vZXRjIC0tbG9jYWxzdGF0ZWRpcj0vdmFyL2xpYiAtLXByZWZpeD0v
dXNyIC0tZGF0YWRpcj0vdXNyL3NoYXJlIC0tZW5hYmxlLWRyaSAtLWJ1aWxkPXBvd2VycGMtdW5r
bm93bi1saW51eC1nbnUKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv
dXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg
c2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1h
a2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGVuYWJsZSBtYWludGFp
bmVyLXNwZWNpZmljIHBvcnRpb25zIG9mIE1ha2VmaWxlcy4uLiBubwpjaGVja2luZyBidWlsZCBz
eXN0ZW0gdHlwZS4uLiBwb3dlcnBjLXVua25vd24tbGludXgtZ251CmNoZWNraW5nIGhvc3Qgc3lz
dGVtIHR5cGUuLi4gcG93ZXJwYy11bmtub3duLWxpbnV4LWdudQpjaGVja2luZyBmb3Igc3R5bGUg
b2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGZvciBwb3dlcnBjLXVua25v
d24tbGludXgtZ251LWdjYy4uLiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYwpjaGVja2lu
ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tp
bmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB3
ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0
YWJsZXMuLi4gCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp
bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu
ZyB3aGV0aGVyIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIGFjY2VwdHMgLWcuLi4geWVz
CmNoZWNraW5nIGZvciBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyBvcHRpb24gdG8gYWNj
ZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBw
b3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhIHNlZCB0
aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dC4uLiAvYmluL3NlZApjaGVja2luZyBmb3IgZ3Jl
cCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUuLi4gL2Jpbi9ncmVwCmNoZWNraW5nIGZv
ciBlZ3JlcC4uLiAvYmluL2dyZXAgLUUKY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgcG93ZXJwYy11
bmtub3duLWxpbnV4LWdudS1nY2MuLi4gL3Vzci9wb3dlcnBjLXVua25vd24tbGludXgtZ251L2Jp
bi9sZApjaGVja2luZyBpZiB0aGUgbGlua2VyICgvdXNyL3Bvd2VycGMtdW5rbm93bi1saW51eC1n
bnUvYmluL2xkKSBpcyBHTlUgbGQuLi4geWVzCmNoZWNraW5nIGZvciAvdXNyL3Bvd2VycGMtdW5r
bm93bi1saW51eC1nbnUvYmluL2xkIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzLi4uIC1y
CmNoZWNraW5nIGZvciBCU0QtY29tcGF0aWJsZSBubS4uLiAvdXNyL2Jpbi9ubSAtQgpjaGVja2lu
ZyB3aGV0aGVyIGxuIC1zIHdvcmtzLi4uIHllcwpjaGVja2luZyBob3cgdG8gcmVjb2duaXNlIGRl
cGVuZGVudCBsaWJyYXJpZXMuLi4gcGFzc19hbGwKY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBw
cmVwcm9jZXNzb3IuLi4gcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLUUKY2hlY2tpbmcg
Zm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMuLi4geWVzCmNoZWNraW5nIGZvciBzeXMvdHlwZXMuaC4u
LiB5ZXMKY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmguLi4geWVzCmNoZWNraW5nIGZvciBzdGRsaWIu
aC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmluZy5oLi4uIHllcwpjaGVja2luZyBmb3IgbWVtb3J5
LmguLi4geWVzCmNoZWNraW5nIGZvciBzdHJpbmdzLmguLi4geWVzCmNoZWNraW5nIGZvciBpbnR0
eXBlcy5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RkaW50LmguLi4geWVzCmNoZWNraW5nIGZvciB1
bmlzdGQuaC4uLiB5ZXMKY2hlY2tpbmcgZGxmY24uaCB1c2FiaWxpdHkuLi4geWVzCmNoZWNraW5n
IGRsZmNuLmggcHJlc2VuY2UuLi4geWVzCmNoZWNraW5nIGZvciBkbGZjbi5oLi4uIHllcwpjaGVj
a2luZyBmb3IgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nKysuLi4gcG93ZXJwYy11bmtub3du
LWxpbnV4LWdudS1nKysKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDKysg
Y29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgcG93ZXJwYy11bmtub3duLWxpbnV4LWdu
dS1nKysgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBwb3dl
cnBjLXVua25vd24tbGludXgtZ251LWcrKy4uLiBnY2MzCmNoZWNraW5nIGhvdyB0byBydW4gdGhl
IEMrKyBwcmVwcm9jZXNzb3IuLi4gcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nKysgLUUKY2hl
Y2tpbmcgZm9yIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZzc3Li4uIG5vCmNoZWNraW5nIGZv
ciBwb3dlcnBjLXVua25vd24tbGludXgtZ251LXhsZi4uLiBubwpjaGVja2luZyBmb3IgcG93ZXJw
Yy11bmtub3duLWxpbnV4LWdudS1mNzcuLi4gbm8KY2hlY2tpbmcgZm9yIHBvd2VycGMtdW5rbm93
bi1saW51eC1nbnUtZnJ0Li4uIG5vCmNoZWNraW5nIGZvciBwb3dlcnBjLXVua25vd24tbGludXgt
Z251LXBnZjc3Li4uIG5vCmNoZWNraW5nIGZvciBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWNm
NzcuLi4gbm8KY2hlY2tpbmcgZm9yIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZm9ydDc3Li4u
IG5vCmNoZWNraW5nIGZvciBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWZsMzIuLi4gbm8KY2hl
Y2tpbmcgZm9yIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtYWY3Ny4uLiBubwpjaGVja2luZyBm
b3IgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS14bGY5MC4uLiBubwpjaGVja2luZyBmb3IgcG93
ZXJwYy11bmtub3duLWxpbnV4LWdudS1mOTAuLi4gbm8KY2hlY2tpbmcgZm9yIHBvd2VycGMtdW5r
bm93bi1saW51eC1nbnUtcGdmOTAuLi4gbm8KY2hlY2tpbmcgZm9yIHBvd2VycGMtdW5rbm93bi1s
aW51eC1nbnUtcGdocGYuLi4gbm8KY2hlY2tpbmcgZm9yIHBvd2VycGMtdW5rbm93bi1saW51eC1n
bnUtZXBjZjkwLi4uIG5vCmNoZWNraW5nIGZvciBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdm
b3J0cmFuLi4uIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2ZvcnRyYW4KY2hlY2tpbmcgd2hl
dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBGb3J0cmFuIDc3IGNvbXBpbGVyLi4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2ZvcnRyYW4gYWNjZXB0cyAt
Zy4uLiB5ZXMKY2hlY2tpbmcgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1
bWVudHMuLi4gMzI3NjgKY2hlY2tpbmcgY29tbWFuZCB0byBwYXJzZSAvdXNyL2Jpbi9ubSAtQiBv
dXRwdXQgZnJvbSBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyBvYmplY3QuLi4gb2sKY2hl
Y2tpbmcgZm9yIG9iamRpci4uLiAubGlicwpjaGVja2luZyBmb3IgcG93ZXJwYy11bmtub3duLWxp
bnV4LWdudS1hci4uLiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWFyCmNoZWNraW5nIGZvciBw
b3dlcnBjLXVua25vd24tbGludXgtZ251LXJhbmxpYi4uLiBwb3dlcnBjLXVua25vd24tbGludXgt
Z251LXJhbmxpYgpjaGVja2luZyBmb3IgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1zdHJpcC4u
LiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LXN0cmlwCmNoZWNraW5nIGlmIHBvd2VycGMtdW5r
bm93bi1saW51eC1nbnUtZ2NjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMuLi4g
bm8KY2hlY2tpbmcgZm9yIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIG9wdGlvbiB0byBw
cm9kdWNlIFBJQy4uLiAtZlBJQwpjaGVja2luZyBpZiBwb3dlcnBjLXVua25vd24tbGludXgtZ251
LWdjYyBQSUMgZmxhZyAtZlBJQyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgaWYgcG93ZXJwYy11bmtu
b3duLWxpbnV4LWdudS1nY2Mgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jrcy4uLiB5ZXMKY2hlY2tp
bmcgaWYgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5v
Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRoZSBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdj
YyBsaW5rZXIgKC91c3IvcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS9iaW4vbGQpIHN1cHBvcnRz
IHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgLWxjIHNob3VsZCBiZSBl
eHBsaWNpdGx5IGxpbmtlZCBpbi4uLiBubwpjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0
ZXJpc3RpY3MuLi4gR05VL0xpbnV4IGxkLnNvCmNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJy
YXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMuLi4gaW1tZWRpYXRlCmNoZWNraW5nIHdoZXRoZXIgc3Ry
aXBwaW5nIGxpYnJhcmllcyBpcyBwb3NzaWJsZS4uLiB5ZXMKY2hlY2tpbmcgaWYgbGlidG9vbCBz
dXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxk
IHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3RhdGlj
IGxpYnJhcmllcy4uLiBubwpjb25maWd1cmU6IGNyZWF0aW5nIGxpYnRvb2wKYXBwZW5kaW5nIGNv
bmZpZ3VyYXRpb24gdGFnICJDWFgiIHRvIGxpYnRvb2wKY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkg
cG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nKysuLi4gL3Vzci9wb3dlcnBjLXVua25vd24tbGlu
dXgtZ251L2Jpbi9sZApjaGVja2luZyBpZiB0aGUgbGlua2VyICgvdXNyL3Bvd2VycGMtdW5rbm93
bi1saW51eC1nbnUvYmluL2xkKSBpcyBHTlUgbGQuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdGhl
IHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZysrIGxpbmtlciAoL3Vzci9wb3dlcnBjLXVua25v
d24tbGludXgtZ251L2Jpbi9sZCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hl
Y2tpbmcgZm9yIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZysrIG9wdGlvbiB0byBwcm9kdWNl
IFBJQy4uLiAtZlBJQwpjaGVja2luZyBpZiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWcrKyBQ
SUMgZmxhZyAtZlBJQyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgaWYgcG93ZXJwYy11bmtub3duLWxp
bnV4LWdudS1nKysgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgaWYg
cG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nKysgc3VwcG9ydHMgLWMgLW8gZmlsZS5vLi4uIHll
cwpjaGVja2luZyB3aGV0aGVyIHRoZSBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWcrKyBsaW5r
ZXIgKC91c3IvcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS9iaW4vbGQpIHN1cHBvcnRzIHNoYXJl
ZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGlj
cy4uLiBHTlUvTGludXggbGQuc28KY2hlY2tpbmcgaG93IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0
aHMgaW50byBwcm9ncmFtcy4uLiBpbW1lZGlhdGUKYXBwZW5kaW5nIGNvbmZpZ3VyYXRpb24gdGFn
ICJGNzciIHRvIGxpYnRvb2wKY2hlY2tpbmcgaWYgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGli
cmFyaWVzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMu
Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmllcy4uLiBubwpj
aGVja2luZyBmb3IgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nZm9ydHJhbiBvcHRpb24gdG8g
cHJvZHVjZSBQSUMuLi4gLWZQSUMKY2hlY2tpbmcgaWYgcG93ZXJwYy11bmtub3duLWxpbnV4LWdu
dS1nZm9ydHJhbiBQSUMgZmxhZyAtZlBJQyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgaWYgcG93ZXJw
Yy11bmtub3duLWxpbnV4LWdudS1nZm9ydHJhbiBzdGF0aWMgZmxhZyAtc3RhdGljIHdvcmtzLi4u
IHllcwpjaGVja2luZyBpZiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdmb3J0cmFuIHN1cHBv
cnRzIC1jIC1vIGZpbGUuby4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB0aGUgcG93ZXJwYy11bmtu
b3duLWxpbnV4LWdudS1nZm9ydHJhbiBsaW5rZXIgKC91c3IvcG93ZXJwYy11bmtub3duLWxpbnV4
LWdudS9iaW4vbGQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIGR5
bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcy4uLiBHTlUvTGludXggbGQuc28KY2hlY2tpbmcg
aG93IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0aHMgaW50byBwcm9ncmFtcy4uLiBpbW1lZGlhdGUK
Y2hlY2tpbmcgZm9yIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjLi4uIChjYWNoZWQpIHBv
d2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5n
IHRoZSBHTlUgQyBjb21waWxlci4uLiAoY2FjaGVkKSB5ZXMKY2hlY2tpbmcgd2hldGhlciBwb3dl
cnBjLXVua25vd24tbGludXgtZ251LWdjYyBhY2NlcHRzIC1nLi4uIChjYWNoZWQpIHllcwpjaGVj
a2luZyBmb3IgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2Mgb3B0aW9uIHRvIGFjY2VwdCBJ
U08gQzg5Li4uIChjYWNoZWQpIG5vbmUgbmVlZGVkCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg
b2YgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MuLi4gKGNhY2hlZCkgZ2NjMwpjaGVja2lu
ZyBpZiBYSU5FUkFNQSBpcyBkZWZpbmVkLi4uIHllcwpjaGVja2luZyBpZiBSQU5EUiBpcyBkZWZp
bmVkLi4uIHllcwpjaGVja2luZyBpZiBSRU5ERVIgaXMgZGVmaW5lZC4uLiB5ZXMKY2hlY2tpbmcg
aWYgWFYgaXMgZGVmaW5lZC4uLiB5ZXMKY2hlY2tpbmcgaWYgWEY4Nk1JU0MgaXMgZGVmaW5lZC4u
LiB5ZXMKY2hlY2tpbmcgaWYgRFBNU0V4dGVuc2lvbiBpcyBkZWZpbmVkLi4uIHllcwpjaGVja2lu
ZyBmb3IgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1wa2ctY29uZmlnLi4uIG5vCmNoZWNraW5n
IGZvciBwa2ctY29uZmlnLi4uIC91c3IvYmluL3BrZy1jb25maWcKY2hlY2tpbmcgcGtnLWNvbmZp
ZyBpcyBhdCBsZWFzdCB2ZXJzaW9uIDAuOS4wLi4uIHllcwpjaGVja2luZyBmb3IgWE9SRy4uLiB5
ZXMKY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMuLi4gKGNhY2hlZCkgeWVzCmNoZWNr
aW5nIGZvciAvdXNyL2luY2x1ZGUveG9yZy9kcmkuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIC91c3Iv
aW5jbHVkZS94b3JnL3NhcmVhLmguLi4geWVzCmNoZWNraW5nIGZvciAvdXNyL2luY2x1ZGUveG9y
Zy9kcmlzdHJ1Y3QuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIC91c3IvaW5jbHVkZS94b3JnL2RhbWFn
ZS5oLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGluY2x1ZGUgRFJJIHN1cHBvcnQuLi4geWVz
CmNoZWNraW5nIGZvciBEUkkuLi4geWVzCmNoZWNraW5nIGZvciB4Zjg2TW9kZXMuaC4uLiB5ZXMK
Y2hlY2tpbmcgd2hldGhlciB0byBpbmNsdWRlIFBJTyBzdXBwb3J0Li4uIG5vLCBNTUlPCmNoZWNr
aW5nIHdoZXRoZXIgdG8gaW5jbHVkZSBER0Egc3VwcG9ydC4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl
ciB0byBpbmNsdWRlIFRWIE91dCBzdXBwb3J0Li4uIG5vCmNoZWNraW5nIHdoZXRoZXIgdG8gZW5h
YmxlIEVYQSBzdXBwb3J0Li4uIHllcwpjaGVja2luZyBleGEuaCB1c2FiaWxpdHkuLi4geWVzCmNo
ZWNraW5nIGV4YS5oIHByZXNlbmNlLi4uIHllcwpjaGVja2luZyBmb3IgZXhhLmguLi4geWVzCmNo
ZWNraW5nIHdoZXRoZXIgRVhBIHZlcnNpb24gaXMgYXQgbGVhc3QgMi4wLjAuLi4geWVzCmNoZWNr
aW5nIHdoZXRoZXIgeGY4NlhWRmlsbEtleUhlbHBlckRyYXdhYmxlIGlzIGRlY2xhcmVkLi4uIHll
cwpjaGVja2luZyB3aGV0aGVyIHhmODZNb2RlQmFuZHdpZHRoIGlzIGRlY2xhcmVkLi4uIG5vCmNo
ZWNraW5nIHdoZXRoZXIgeGY4Nl9jcnRjX2NsaXBfdmlkZW9faGVscGVyIGlzIGRlY2xhcmVkLi4u
IHllcwpjaGVja2luZyB3aGV0aGVyIFhTRVJWRVJfTElCUENJQUNDRVNTIGlzIGRlY2xhcmVkLi4u
IG5vCmNvbmZpZ3VyZTogWCBzZXJ2ZXIgaGFzIG5ldyBtb2RlIGNvZGUKY2hlY2tpbmcgZm9yIC91
c3Ivc2hhcmUvc2dtbC9YMTEvZGVmcy5lbnQuLi4geWVzCmNoZWNraW5nIGZvciBsaW51eGRvYy4u
LiBubwpjaGVja2luZyBmb3IgcHMycGRmLi4uIC91c3IvYmluL3BzMnBkZgpjaGVja2luZyBXaGV0
aGVyIHRvIGJ1aWxkIGRvY3VtZW50YXRpb24uLi4gbm8KY2hlY2tpbmcgV2hldGhlciB0byBidWls
ZCBwZGYgZG9jdW1lbnRhdGlvbi4uLiB5ZXMKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5z
dGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3Jl
YXRpbmcgc3JjL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIG1hbi9NYWtlZmlsZQpj
b25maWcuc3RhdHVzOiBjcmVhdGluZyBjb25maWcuaApjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg
ZGVwZmlsZXMgY29tbWFuZHMKbWFrZSAgYWxsLXJlY3Vyc2l2ZQptYWtlWzFdOiBFbnRlcmluZyBk
aXJlY3RvcnkgYC92YXIvdG1wL3BvcnRhZ2UveDExLWRyaXZlcnMveGY4Ni12aWRlby1hdGktNi44
LjAtcjEvd29yay94Zjg2LXZpZGVvLWF0aS02LjguMCcKTWFraW5nIGFsbCBpbiBzcmMKbWFrZVsy
XTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvdmFyL3RtcC9wb3J0YWdlL3gxMS1kcml2ZXJzL3hmODYt
dmlkZW8tYXRpLTYuOC4wLXIxL3dvcmsveGY4Ni12aWRlby1hdGktNi44LjAvc3JjJwppZiAvYmlu
L3NoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgcG93ZXJwYy11bmtub3duLWxp
bnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5j
bHVkZXMgIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEg
ICAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAgICAtRERJU0FCTEVf
RUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJ
T1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZl
YyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpLmxvIC1NRCAt
TVAgLU1GICIuZGVwcy9hdGkuVHBvIiAtYyAtbyBhdGkubG8gYXRpLmM7IFwKCXRoZW4gbXYgLWYg
Ii5kZXBzL2F0aS5UcG8iICIuZGVwcy9hdGkuUGxvIjsgZWxzZSBybSAtZiAiLmRlcHMvYXRpLlRw
byI7IGV4aXQgMTsgZmkKaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21w
aWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUku
IC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1J
L3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRl
L1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05T
IC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJT
RVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMg
LXBpcGUgLU1UIGF0aW1vZHVsZS5sbyAtTUQgLU1QIC1NRiAiLmRlcHMvYXRpbW9kdWxlLlRwbyIg
LWMgLW8gYXRpbW9kdWxlLmxvIGF0aW1vZHVsZS5jOyBcCgl0aGVuIG12IC1mICIuZGVwcy9hdGlt
b2R1bGUuVHBvIiAiLmRlcHMvYXRpbW9kdWxlLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0aW1v
ZHVsZS5UcG8iOyBleGl0IDE7IGZpCm1rZGlyIC5saWJzCiBwb3dlcnBjLXVua25vd24tbGludXgt
Z251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRl
cyAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vz
ci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEvZHJpIC1ERElTQUJMRV9FQVNGIC1ERU5B
QkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIg
LURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFs
dGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1NVCBhdGkubG8gLU1EIC1NUCAtTUYgLmRl
cHMvYXRpLlRwbyAtYyBhdGkuYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvYXRpLm8KIHBvd2VycGMt
dW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0
b21CaW9zL2luY2x1ZGVzIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUv
cGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgLURESVNB
QkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRP
TV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFs
dGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aW1vZHVs
ZS5sbyAtTUQgLU1QIC1NRiAuZGVwcy9hdGltb2R1bGUuVHBvIC1jIGF0aW1vZHVsZS5jICAtZlBJ
QyAtRFBJQyAtbyAubGlicy9hdGltb2R1bGUubwppZiAvYmluL3NoIC4uL2xpYnRvb2wgLS10YWc9
Q0MgLS1tb2RlPWNvbXBpbGUgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NP
TkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgIC1XYWxsIC1JL3Vzci9p
bmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgICAtSS91c3IvaW5jbHVkZS9kcm0g
LUkvdXNyL2luY2x1ZGUvWDExL2RyaSAgICAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VS
VklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVY
IC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAt
bXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpYnVzLmxvIC1NRCAtTVAgLU1GICIuZGVwcy9hdGli
dXMuVHBvIiAtYyAtbyBhdGlidXMubG8gYXRpYnVzLmM7IFwKCXRoZW4gbXYgLWYgIi5kZXBzL2F0
aWJ1cy5UcG8iICIuZGVwcy9hdGlidXMuUGxvIjsgZWxzZSBybSAtZiAiLmRlcHMvYXRpYnVzLlRw
byI7IGV4aXQgMTsgZmkKaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21w
aWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUku
IC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1J
L3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRl
L1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05T
IC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJT
RVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMg
LXBpcGUgLU1UIGF0aWNoaXAubG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0aWNoaXAuVHBvIiAtYyAt
byBhdGljaGlwLmxvIGF0aWNoaXAuYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvYXRpY2hpcC5UcG8i
ICIuZGVwcy9hdGljaGlwLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0aWNoaXAuVHBvIjsgZXhp
dCAxOyBmaQogcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1J
LiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9y
ZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1
ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMg
LURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNF
UiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAt
cGlwZSAtTVQgYXRpYnVzLmxvIC1NRCAtTVAgLU1GIC5kZXBzL2F0aWJ1cy5UcG8gLWMgYXRpYnVz
LmMgIC1mUElDIC1EUElDIC1vIC5saWJzL2F0aWJ1cy5vCiBwb3dlcnBjLXVua25vd24tbGludXgt
Z251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRl
cyAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vz
ci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEvZHJpIC1ERElTQUJMRV9FQVNGIC1ERU5B
QkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIg
LURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFs
dGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1NVCBhdGljaGlwLmxvIC1NRCAtTVAgLU1G
IC5kZXBzL2F0aWNoaXAuVHBvIC1jIGF0aWNoaXAuYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvYXRp
Y2hpcC5vCmlmIC9iaW4vc2ggLi4vbGlidG9vbCAtLXRhZz1DQyAtLW1vZGU9Y29tcGlsZSBwb3dl
cnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAtSS4uIC1J
Li9BdG9tQmlvcy9pbmNsdWRlcyAgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5j
bHVkZS9waXhtYW4tMSAgIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEvZHJp
ICAgIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01f
QklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1
PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1N
VCBhdGlwcm9iZS5sbyAtTUQgLU1QIC1NRiAiLmRlcHMvYXRpcHJvYmUuVHBvIiAtYyAtbyBhdGlw
cm9iZS5sbyBhdGlwcm9iZS5jOyBcCgl0aGVuIG12IC1mICIuZGVwcy9hdGlwcm9iZS5UcG8iICIu
ZGVwcy9hdGlwcm9iZS5QbG8iOyBlbHNlIHJtIC1mICIuZGVwcy9hdGlwcm9iZS5UcG8iOyBleGl0
IDE7IGZpCmlmIC9iaW4vc2ggLi4vbGlidG9vbCAtLXRhZz1DQyAtLW1vZGU9Y29tcGlsZSBwb3dl
cnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAtSS4uIC1J
Li9BdG9tQmlvcy9pbmNsdWRlcyAgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5j
bHVkZS9waXhtYW4tMSAgIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEvZHJp
ICAgIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01f
QklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1
PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1N
VCBhdGl2aWRtZW0ubG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0aXZpZG1lbS5UcG8iIC1jIC1vIGF0
aXZpZG1lbS5sbyBhdGl2aWRtZW0uYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvYXRpdmlkbWVtLlRw
byIgIi5kZXBzL2F0aXZpZG1lbS5QbG8iOyBlbHNlIHJtIC1mICIuZGVwcy9hdGl2aWRtZW0uVHBv
IjsgZXhpdCAxOyBmaQogcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJ
R19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1
ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNy
L2luY2x1ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5D
VElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVS
X1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93
ZXJwYyAtcGlwZSAtTVQgYXRpcHJvYmUubG8gLU1EIC1NUCAtTUYgLmRlcHMvYXRpcHJvYmUuVHBv
IC1jIGF0aXByb2JlLmMgIC1mUElDIC1EUElDIC1vIC5saWJzL2F0aXByb2JlLm8KIHBvd2VycGMt
dW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0
b21CaW9zL2luY2x1ZGVzIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUv
cGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgLURESVNB
QkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRP
TV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFs
dGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aXZpZG1l
bS5sbyAtTUQgLU1QIC1NRiAuZGVwcy9hdGl2aWRtZW0uVHBvIC1jIGF0aXZpZG1lbS5jICAtZlBJ
QyAtRFBJQyAtbyAubGlicy9hdGl2aWRtZW0ubwppZiAvYmluL3NoIC4uL2xpYnRvb2wgLS10YWc9
Q0MgLS1tb2RlPWNvbXBpbGUgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NP
TkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgIC1XYWxsIC1JL3Vzci9p
bmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgICAtSS91c3IvaW5jbHVkZS9kcm0g
LUkvdXNyL2luY2x1ZGUvWDExL2RyaSAgICAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VS
VklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVY
IC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAt
bXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpYWRqdXN0LmxvIC1NRCAtTVAgLU1GICIuZGVwcy9h
dGlhZGp1c3QuVHBvIiAtYyAtbyBhdGlhZGp1c3QubG8gYXRpYWRqdXN0LmM7IFwKCXRoZW4gbXYg
LWYgIi5kZXBzL2F0aWFkanVzdC5UcG8iICIuZGVwcy9hdGlhZGp1c3QuUGxvIjsgZWxzZSBybSAt
ZiAiLmRlcHMvYXRpYWRqdXN0LlRwbyI7IGV4aXQgMTsgZmkKaWYgL2Jpbi9zaCAuLi9saWJ0b29s
IC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1E
SEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAt
SS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1
ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVf
QUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZH
TF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZl
YyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aWF1ZGlvLmxvIC1NRCAtTVAgLU1GICIu
ZGVwcy9hdGlhdWRpby5UcG8iIC1jIC1vIGF0aWF1ZGlvLmxvIGF0aWF1ZGlvLmM7IFwKCXRoZW4g
bXYgLWYgIi5kZXBzL2F0aWF1ZGlvLlRwbyIgIi5kZXBzL2F0aWF1ZGlvLlBsbyI7IGVsc2Ugcm0g
LWYgIi5kZXBzL2F0aWF1ZGlvLlRwbyI7IGV4aXQgMTsgZmkKIHBvd2VycGMtdW5rbm93bi1saW51
eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1
ZGVzIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkv
dXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgLURESVNBQkxFX0VBU0YgLURF
TkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNF
UiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9
YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aWFkanVzdC5sbyAtTUQgLU1Q
IC1NRiAuZGVwcy9hdGlhZGp1c3QuVHBvIC1jIGF0aWFkanVzdC5jICAtZlBJQyAtRFBJQyAtbyAu
bGlicy9hdGlhZGp1c3QubwogcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NP
TkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2lu
Y2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkv
dXNyL2luY2x1ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9G
VU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJ
VkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9
cG93ZXJwYyAtcGlwZSAtTVQgYXRpYXVkaW8ubG8gLU1EIC1NUCAtTUYgLmRlcHMvYXRpYXVkaW8u
VHBvIC1jIGF0aWF1ZGlvLmMgIC1mUElDIC1EUElDIC1vIC5saWJzL2F0aWF1ZGlvLm8KaWYgL2Jp
bi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1s
aW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2lu
Y2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x
ICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxF
X0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9C
SU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2
ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aWNsb2NrLmxv
IC1NRCAtTVAgLU1GICIuZGVwcy9hdGljbG9jay5UcG8iIC1jIC1vIGF0aWNsb2NrLmxvIGF0aWNs
b2NrLmM7IFwKCXRoZW4gbXYgLWYgIi5kZXBzL2F0aWNsb2NrLlRwbyIgIi5kZXBzL2F0aWNsb2Nr
LlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0aWNsb2NrLlRwbyI7IGV4aXQgMTsgZmkKaWYgL2Jp
bi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1s
aW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2lu
Y2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x
ICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxF
X0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9C
SU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2
ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aWNvbmZpZy5s
byAtTUQgLU1QIC1NRiAiLmRlcHMvYXRpY29uZmlnLlRwbyIgLWMgLW8gYXRpY29uZmlnLmxvIGF0
aWNvbmZpZy5jOyBcCgl0aGVuIG12IC1mICIuZGVwcy9hdGljb25maWcuVHBvIiAiLmRlcHMvYXRp
Y29uZmlnLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0aWNvbmZpZy5UcG8iOyBleGl0IDE7IGZp
CiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAt
SS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vz
ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEv
ZHJpIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01f
QklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1
PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1N
VCBhdGljbG9jay5sbyAtTUQgLU1QIC1NRiAuZGVwcy9hdGljbG9jay5UcG8gLWMgYXRpY2xvY2su
YyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvYXRpY2xvY2subwogcG93ZXJwYy11bmtub3duLWxpbnV4
LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVk
ZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91
c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAtREVO
QUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VS
IC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1h
bHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpY29uZmlnLmxvIC1NRCAtTVAg
LU1GIC5kZXBzL2F0aWNvbmZpZy5UcG8gLWMgYXRpY29uZmlnLmMgIC1mUElDIC1EUElDIC1vIC5s
aWJzL2F0aWNvbmZpZy5vCmlmIC9iaW4vc2ggLi4vbGlidG9vbCAtLXRhZz1DQyAtLW1vZGU9Y29t
cGlsZSBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1J
LiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAt
SS91c3IvaW5jbHVkZS9waXhtYW4tMSAgIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVk
ZS9YMTEvZHJpICAgIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9O
UyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFS
U0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBj
IC1waXBlIC1NVCBhdGljb25zb2xlLmxvIC1NRCAtTVAgLU1GICIuZGVwcy9hdGljb25zb2xlLlRw
byIgLWMgLW8gYXRpY29uc29sZS5sbyBhdGljb25zb2xlLmM7IFwKCXRoZW4gbXYgLWYgIi5kZXBz
L2F0aWNvbnNvbGUuVHBvIiAiLmRlcHMvYXRpY29uc29sZS5QbG8iOyBlbHNlIHJtIC1mICIuZGVw
cy9hdGljb25zb2xlLlRwbyI7IGV4aXQgMTsgZmkKaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFn
PUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9D
T05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3Iv
aW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJt
IC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NF
UlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5V
WCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIg
LW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aWRhYy5sbyAtTUQgLU1QIC1NRiAiLmRlcHMvYXRp
ZGFjLlRwbyIgLWMgLW8gYXRpZGFjLmxvIGF0aWRhYy5jOyBcCgl0aGVuIG12IC1mICIuZGVwcy9h
dGlkYWMuVHBvIiAiLmRlcHMvYXRpZGFjLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0aWRhYy5U
cG8iOyBleGl0IDE7IGZpCiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09O
RklHX0ggLUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAtV2FsbCAtSS91c3IvaW5j
bHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91
c3IvaW5jbHVkZS9YMTEvZHJpIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZV
TkNUSU9OUyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklW
RVJfUEFSU0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1w
b3dlcnBjIC1waXBlIC1NVCBhdGljb25zb2xlLmxvIC1NRCAtTVAgLU1GIC5kZXBzL2F0aWNvbnNv
bGUuVHBvIC1jIGF0aWNvbnNvbGUuYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvYXRpY29uc29sZS5v
CiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAt
SS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vz
ci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEv
ZHJpIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01f
QklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1
PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1N
VCBhdGlkYWMubG8gLU1EIC1NUCAtTUYgLmRlcHMvYXRpZGFjLlRwbyAtYyBhdGlkYWMuYyAgLWZQ
SUMgLURQSUMgLW8gLmxpYnMvYXRpZGFjLm8KaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUND
IC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05G
SUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5j
bHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1J
L3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJ
Q0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAt
RERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10
dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aWRlY29kZXIubG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0
aWRlY29kZXIuVHBvIiAtYyAtbyBhdGlkZWNvZGVyLmxvIGF0aWRlY29kZXIuYzsgXAoJdGhlbiBt
diAtZiAiLmRlcHMvYXRpZGVjb2Rlci5UcG8iICIuZGVwcy9hdGlkZWNvZGVyLlBsbyI7IGVsc2Ug
cm0gLWYgIi5kZXBzL2F0aWRlY29kZXIuVHBvIjsgZXhpdCAxOyBmaQppZiAvYmluL3NoIC4uL2xp
YnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1n
Y2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgIC1X
YWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgICAtSS91c3Iv
aW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAgICAtRERJU0FCTEVfRUFTRiAtREVO
QUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VS
IC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1h
bHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpZHNwLmxvIC1NRCAtTVAgLU1G
ICIuZGVwcy9hdGlkc3AuVHBvIiAtYyAtbyBhdGlkc3AubG8gYXRpZHNwLmM7IFwKCXRoZW4gbXYg
LWYgIi5kZXBzL2F0aWRzcC5UcG8iICIuZGVwcy9hdGlkc3AuUGxvIjsgZWxzZSBybSAtZiAiLmRl
cHMvYXRpZHNwLlRwbyI7IGV4aXQgMTsgZmkKIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2Nj
IC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzIC1XYWxs
IC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1
ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxM
X1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9M
SU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAt
TzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aWRlY29kZXIubG8gLU1EIC1NUCAtTUYgLmRl
cHMvYXRpZGVjb2Rlci5UcG8gLWMgYXRpZGVjb2Rlci5jICAtZlBJQyAtRFBJQyAtbyAubGlicy9h
dGlkZWNvZGVyLm8KIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdf
SCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzIC1XYWxsIC1JL3Vzci9pbmNsdWRl
L3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9p
bmNsdWRlL1gxMS9kcmkgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJ
T05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9Q
QVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2Vy
cGMgLXBpcGUgLU1UIGF0aWRzcC5sbyAtTUQgLU1QIC1NRiAuZGVwcy9hdGlkc3AuVHBvIC1jIGF0
aWRzcC5jICAtZlBJQyAtRFBJQyAtbyAubGlicy9hdGlkc3AubwppZiAvYmluL3NoIC4uL2xpYnRv
b2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2Mg
LURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgIC1XYWxs
IC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgICAtSS91c3IvaW5j
bHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAgICAtRERJU0FCTEVfRUFTRiAtREVOQUJM
RV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1E
RkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRp
dmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpaTJjLmxvIC1NRCAtTVAgLU1GICIu
ZGVwcy9hdGlpMmMuVHBvIiAtYyAtbyBhdGlpMmMubG8gYXRpaTJjLmM7IFwKCXRoZW4gbXYgLWYg
Ii5kZXBzL2F0aWkyYy5UcG8iICIuZGVwcy9hdGlpMmMuUGxvIjsgZWxzZSBybSAtZiAiLmRlcHMv
YXRpaTJjLlRwbyI7IGV4aXQgMTsgZmkKaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0t
bW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdf
SCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVk
ZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vz
ci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0Vf
RlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERS
SVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5l
PXBvd2VycGMgLXBpcGUgLU1UIGF0aWxvY2subG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0aWxvY2su
VHBvIiAtYyAtbyBhdGlsb2NrLmxvIGF0aWxvY2suYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvYXRp
bG9jay5UcG8iICIuZGVwcy9hdGlsb2NrLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0aWxvY2su
VHBvIjsgZXhpdCAxOyBmaQogcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NP
TkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2lu
Y2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkv
dXNyL2luY2x1ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9G
VU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJ
VkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9
cG93ZXJwYyAtcGlwZSAtTVQgYXRpaTJjLmxvIC1NRCAtTVAgLU1GIC5kZXBzL2F0aWkyYy5UcG8g
LWMgYXRpaTJjLmMgIC1mUElDIC1EUElDIC1vIC5saWJzL2F0aWkyYy5vCiBwb3dlcnBjLXVua25v
d24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlv
cy9pbmNsdWRlcyAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1h
bi0xIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEvZHJpIC1ERElTQUJMRV9F
QVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01fQklPUyAtREFUT01fQklP
U19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVj
IC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1NVCBhdGlsb2NrLmxvIC1N
RCAtTVAgLU1GIC5kZXBzL2F0aWxvY2suVHBvIC1jIGF0aWxvY2suYyAgLWZQSUMgLURQSUMgLW8g
LmxpYnMvYXRpbG9jay5vCmlmIC9iaW4vc2ggLi4vbGlidG9vbCAtLXRhZz1DQyAtLW1vZGU9Y29t
cGlsZSBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1J
LiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAt
SS91c3IvaW5jbHVkZS9waXhtYW4tMSAgIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVk
ZS9YMTEvZHJpICAgIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9O
UyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFS
U0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBj
IC1waXBlIC1NVCBhdGltYWNoNjQubG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0aW1hY2g2NC5UcG8i
IC1jIC1vIGF0aW1hY2g2NC5sbyBhdGltYWNoNjQuYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvYXRp
bWFjaDY0LlRwbyIgIi5kZXBzL2F0aW1hY2g2NC5QbG8iOyBlbHNlIHJtIC1mICIuZGVwcy9hdGlt
YWNoNjQuVHBvIjsgZXhpdCAxOyBmaQppZiAvYmluL3NoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1t
b2RlPWNvbXBpbGUgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19I
IC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgIC1XYWxsIC1JL3Vzci9pbmNsdWRl
L3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgICAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNy
L2luY2x1ZGUvWDExL2RyaSAgICAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9G
VU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJ
VkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9
cG93ZXJwYyAtcGlwZSAtTVQgYXRpbWFjaDY0YWNjZWwubG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0
aW1hY2g2NGFjY2VsLlRwbyIgLWMgLW8gYXRpbWFjaDY0YWNjZWwubG8gYXRpbWFjaDY0YWNjZWwu
YzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvYXRpbWFjaDY0YWNjZWwuVHBvIiAiLmRlcHMvYXRpbWFj
aDY0YWNjZWwuUGxvIjsgZWxzZSBybSAtZiAiLmRlcHMvYXRpbWFjaDY0YWNjZWwuVHBvIjsgZXhp
dCAxOyBmaQogcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1J
LiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9y
ZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1
ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMg
LURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNF
UiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAt
cGlwZSAtTVQgYXRpbWFjaDY0LmxvIC1NRCAtTVAgLU1GIC5kZXBzL2F0aW1hY2g2NC5UcG8gLWMg
YXRpbWFjaDY0LmMgIC1mUElDIC1EUElDIC1vIC5saWJzL2F0aW1hY2g2NC5vCiBwb3dlcnBjLXVu
a25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAtSS4uIC1JLi9BdG9t
Qmlvcy9pbmNsdWRlcyAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3Bp
eG1hbi0xIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEvZHJpIC1ERElTQUJM
RV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01fQklPUyAtREFUT01f
QklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1PTc0NTAgLW1hbHRp
dmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1NVCBhdGltYWNoNjRh
Y2NlbC5sbyAtTUQgLU1QIC1NRiAuZGVwcy9hdGltYWNoNjRhY2NlbC5UcG8gLWMgYXRpbWFjaDY0
YWNjZWwuYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvYXRpbWFjaDY0YWNjZWwubwppZiAvYmluL3No
IC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgcG93ZXJwYy11bmtub3duLWxpbnV4
LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVk
ZXMgIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgICAt
SS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAgICAtRERJU0FCTEVfRUFT
RiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1Nf
UEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAt
bWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpbWFjaDY0Y3Vyc29y
LmxvIC1NRCAtTVAgLU1GICIuZGVwcy9hdGltYWNoNjRjdXJzb3IuVHBvIiAtYyAtbyBhdGltYWNo
NjRjdXJzb3IubG8gYXRpbWFjaDY0Y3Vyc29yLmM7IFwKCXRoZW4gbXYgLWYgIi5kZXBzL2F0aW1h
Y2g2NGN1cnNvci5UcG8iICIuZGVwcy9hdGltYWNoNjRjdXJzb3IuUGxvIjsgZWxzZSBybSAtZiAi
LmRlcHMvYXRpbWFjaDY0Y3Vyc29yLlRwbyI7IGV4aXQgMTsgZmkKaWYgL2Jpbi9zaCAuLi9saWJ0
b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2Nj
IC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2Fs
bCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2lu
Y2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFC
TEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAt
REZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0
aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aW1hY2g2NGkyYy5sbyAtTUQgLU1Q
IC1NRiAiLmRlcHMvYXRpbWFjaDY0aTJjLlRwbyIgLWMgLW8gYXRpbWFjaDY0aTJjLmxvIGF0aW1h
Y2g2NGkyYy5jOyBcCgl0aGVuIG12IC1mICIuZGVwcy9hdGltYWNoNjRpMmMuVHBvIiAiLmRlcHMv
YXRpbWFjaDY0aTJjLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0aW1hY2g2NGkyYy5UcG8iOyBl
eGl0IDE7IGZpCiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0gg
LUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAtV2FsbCAtSS91c3IvaW5jbHVkZS94
b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5j
bHVkZS9YMTEvZHJpIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9O
UyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFS
U0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBj
IC1waXBlIC1NVCBhdGltYWNoNjRjdXJzb3IubG8gLU1EIC1NUCAtTUYgLmRlcHMvYXRpbWFjaDY0
Y3Vyc29yLlRwbyAtYyBhdGltYWNoNjRjdXJzb3IuYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvYXRp
bWFjaDY0Y3Vyc29yLm8KIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05G
SUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzIC1XYWxsIC1JL3Vzci9pbmNs
dWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vz
ci9pbmNsdWRlL1gxMS9kcmkgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVO
Q1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZF
Ul9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBv
d2VycGMgLXBpcGUgLU1UIGF0aW1hY2g2NGkyYy5sbyAtTUQgLU1QIC1NRiAuZGVwcy9hdGltYWNo
NjRpMmMuVHBvIC1jIGF0aW1hY2g2NGkyYy5jICAtZlBJQyAtRFBJQyAtbyAubGlicy9hdGltYWNo
NjRpMmMubwppZiAvYmluL3NoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgcG93
ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAt
SS4vQXRvbUJpb3MvaW5jbHVkZXMgIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2lu
Y2x1ZGUvcGl4bWFuLTEgICAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2Ry
aSAgICAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9N
X0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNw
dT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAt
TVQgYXRpbWFjaDY0aW8ubG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0aW1hY2g2NGlvLlRwbyIgLWMg
LW8gYXRpbWFjaDY0aW8ubG8gYXRpbWFjaDY0aW8uYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvYXRp
bWFjaDY0aW8uVHBvIiAiLmRlcHMvYXRpbWFjaDY0aW8uUGxvIjsgZWxzZSBybSAtZiAiLmRlcHMv
YXRpbWFjaDY0aW8uVHBvIjsgZXhpdCAxOyBmaQppZiAvYmluL3NoIC4uL2xpYnRvb2wgLS10YWc9
Q0MgLS1tb2RlPWNvbXBpbGUgcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NP
TkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgIC1XYWxsIC1JL3Vzci9p
bmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgICAtSS91c3IvaW5jbHVkZS9kcm0g
LUkvdXNyL2luY2x1ZGUvWDExL2RyaSAgICAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VS
VklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVY
IC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAt
bXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpbWFjaDY0eHYubG8gLU1EIC1NUCAtTUYgIi5kZXBz
L2F0aW1hY2g2NHh2LlRwbyIgLWMgLW8gYXRpbWFjaDY0eHYubG8gYXRpbWFjaDY0eHYuYzsgXAoJ
dGhlbiBtdiAtZiAiLmRlcHMvYXRpbWFjaDY0eHYuVHBvIiAiLmRlcHMvYXRpbWFjaDY0eHYuUGxv
IjsgZWxzZSBybSAtZiAiLmRlcHMvYXRpbWFjaDY0eHYuVHBvIjsgZXhpdCAxOyBmaQogcG93ZXJw
Yy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4v
QXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVk
ZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAtRERJ
U0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURB
VE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1t
YWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpbWFj
aDY0aW8ubG8gLU1EIC1NUCAtTUYgLmRlcHMvYXRpbWFjaDY0aW8uVHBvIC1jIGF0aW1hY2g2NGlv
LmMgIC1mUElDIC1EUElDIC1vIC5saWJzL2F0aW1hY2g2NGlvLm8KIHBvd2VycGMtdW5rbm93bi1s
aW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2lu
Y2x1ZGVzIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEg
LUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgLURESVNBQkxFX0VBU0Yg
LURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BB
UlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1h
Ymk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aW1hY2g2NHh2LmxvIC1N
RCAtTVAgLU1GIC5kZXBzL2F0aW1hY2g2NHh2LlRwbyAtYyBhdGltYWNoNjR4di5jICAtZlBJQyAt
RFBJQyAtbyAubGlicy9hdGltYWNoNjR4di5vCmlmIC9iaW4vc2ggLi4vbGlidG9vbCAtLXRhZz1D
QyAtLW1vZGU9Y29tcGlsZSBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09O
RklHX0ggLUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAgLVdhbGwgLUkvdXNyL2lu
Y2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAgIC1JL3Vzci9pbmNsdWRlL2RybSAt
SS91c3IvaW5jbHVkZS9YMTEvZHJpICAgIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJW
SUNFX0ZVTkNUSU9OUyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVgg
LUREUklWRVJfUEFSU0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1t
dHVuZT1wb3dlcnBjIC1waXBlIC1NVCBhdGltb2RlLmxvIC1NRCAtTVAgLU1GICIuZGVwcy9hdGlt
b2RlLlRwbyIgLWMgLW8gYXRpbW9kZS5sbyBhdGltb2RlLmM7IFwKCXRoZW4gbXYgLWYgIi5kZXBz
L2F0aW1vZGUuVHBvIiAiLmRlcHMvYXRpbW9kZS5QbG8iOyBlbHNlIHJtIC1mICIuZGVwcy9hdGlt
b2RlLlRwbyI7IGV4aXQgMTsgZmkKIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFW
RV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzIC1XYWxsIC1JL3Vz
ci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZHJt
IC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJ
Q0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAt
RERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10
dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aW1vZGUubG8gLU1EIC1NUCAtTUYgLmRlcHMvYXRpbW9k
ZS5UcG8gLWMgYXRpbW9kZS5jICAtZlBJQyAtRFBJQyAtbyAubGlicy9hdGltb2RlLm8KaWYgL2Jp
bi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1s
aW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2lu
Y2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0x
ICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxF
X0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9C
SU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2
ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aXByZWluaXQu
bG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0aXByZWluaXQuVHBvIiAtYyAtbyBhdGlwcmVpbml0Lmxv
IGF0aXByZWluaXQuYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvYXRpcHJlaW5pdC5UcG8iICIuZGVw
cy9hdGlwcmVpbml0LlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0aXByZWluaXQuVHBvIjsgZXhp
dCAxOyBmaQppZiAvYmluL3NoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgcG93
ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAt
SS4vQXRvbUJpb3MvaW5jbHVkZXMgIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2lu
Y2x1ZGUvcGl4bWFuLTEgICAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2Ry
aSAgICAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9N
X0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNw
dT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAt
TVQgYXRpcHJpbnQubG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0aXByaW50LlRwbyIgLWMgLW8gYXRp
cHJpbnQubG8gYXRpcHJpbnQuYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvYXRpcHJpbnQuVHBvIiAi
LmRlcHMvYXRpcHJpbnQuUGxvIjsgZWxzZSBybSAtZiAiLmRlcHMvYXRpcHJpbnQuVHBvIjsgZXhp
dCAxOyBmaQogcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1J
LiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9y
ZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1
ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMg
LURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNF
UiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAt
cGlwZSAtTVQgYXRpcHJlaW5pdC5sbyAtTUQgLU1QIC1NRiAuZGVwcy9hdGlwcmVpbml0LlRwbyAt
YyBhdGlwcmVpbml0LmMgIC1mUElDIC1EUElDIC1vIC5saWJzL2F0aXByZWluaXQubwogcG93ZXJw
Yy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4v
QXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVk
ZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAtRERJ
U0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURB
VE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1t
YWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpcHJp
bnQubG8gLU1EIC1NUCAtTUYgLmRlcHMvYXRpcHJpbnQuVHBvIC1jIGF0aXByaW50LmMgIC1mUElD
IC1EUElDIC1vIC5saWJzL2F0aXByaW50Lm8KaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUND
IC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05G
SUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5j
bHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1J
L3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJ
Q0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAt
RERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10
dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aXJnYjUxNC5sbyAtTUQgLU1QIC1NRiAiLmRlcHMvYXRp
cmdiNTE0LlRwbyIgLWMgLW8gYXRpcmdiNTE0LmxvIGF0aXJnYjUxNC5jOyBcCgl0aGVuIG12IC1m
ICIuZGVwcy9hdGlyZ2I1MTQuVHBvIiAiLmRlcHMvYXRpcmdiNTE0LlBsbyI7IGVsc2Ugcm0gLWYg
Ii5kZXBzL2F0aXJnYjUxNC5UcG8iOyBleGl0IDE7IGZpCmlmIC9iaW4vc2ggLi4vbGlidG9vbCAt
LXRhZz1DQyAtLW1vZGU9Y29tcGlsZSBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhB
VkVfQ09ORklHX0ggLUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAgLVdhbGwgLUkv
dXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAgIC1JL3Vzci9pbmNsdWRl
L2RybSAtSS91c3IvaW5jbHVkZS9YMTEvZHJpICAgIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FM
TF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xf
TElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMg
LU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1NVCBhdGlzY3JlZW4ubG8gLU1EIC1NUCAtTUYgIi5k
ZXBzL2F0aXNjcmVlbi5UcG8iIC1jIC1vIGF0aXNjcmVlbi5sbyBhdGlzY3JlZW4uYzsgXAoJdGhl
biBtdiAtZiAiLmRlcHMvYXRpc2NyZWVuLlRwbyIgIi5kZXBzL2F0aXNjcmVlbi5QbG8iOyBlbHNl
IHJtIC1mICIuZGVwcy9hdGlzY3JlZW4uVHBvIjsgZXhpdCAxOyBmaQogcG93ZXJwYy11bmtub3du
LWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3Mv
aW5jbHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4t
MSAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFT
RiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1Nf
UEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAt
bWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpcmdiNTE0LmxvIC1N
RCAtTVAgLU1GIC5kZXBzL2F0aXJnYjUxNC5UcG8gLWMgYXRpcmdiNTE0LmMgIC1mUElDIC1EUElD
IC1vIC5saWJzL2F0aXJnYjUxNC5vCiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhB
VkVfQ09ORklHX0ggLUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAtV2FsbCAtSS91
c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2Ry
bSAtSS91c3IvaW5jbHVkZS9YMTEvZHJpIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJW
SUNFX0ZVTkNUSU9OUyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVgg
LUREUklWRVJfUEFSU0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1t
dHVuZT1wb3dlcnBjIC1waXBlIC1NVCBhdGlzY3JlZW4ubG8gLU1EIC1NUCAtTUYgLmRlcHMvYXRp
c2NyZWVuLlRwbyAtYyBhdGlzY3JlZW4uYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvYXRpc2NyZWVu
Lm8KaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMt
dW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0
b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRl
L3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAg
LURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9T
IC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1
MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0
aXR1bmVyLmxvIC1NRCAtTVAgLU1GICIuZGVwcy9hdGl0dW5lci5UcG8iIC1jIC1vIGF0aXR1bmVy
LmxvIGF0aXR1bmVyLmM7IFwKCXRoZW4gbXYgLWYgIi5kZXBzL2F0aXR1bmVyLlRwbyIgIi5kZXBz
L2F0aXR1bmVyLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0aXR1bmVyLlRwbyI7IGV4aXQgMTsg
ZmkKIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUku
IC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkv
dXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gx
MS9kcmkgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRP
TV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1j
cHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUg
LU1UIGF0aXR1bmVyLmxvIC1NRCAtTVAgLU1GIC5kZXBzL2F0aXR1bmVyLlRwbyAtYyBhdGl0dW5l
ci5jICAtZlBJQyAtRFBJQyAtbyAubGlicy9hdGl0dW5lci5vCmlmIC9iaW4vc2ggLi4vbGlidG9v
bCAtLXRhZz1DQyAtLW1vZGU9Y29tcGlsZSBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAt
REhBVkVfQ09ORklHX0ggLUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAgLVdhbGwg
LUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAgIC1JL3Vzci9pbmNs
dWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEvZHJpICAgIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxF
X0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURG
R0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2
ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1NVCBhdGl1dGlsLmxvIC1NRCAtTVAgLU1GICIu
ZGVwcy9hdGl1dGlsLlRwbyIgLWMgLW8gYXRpdXRpbC5sbyBhdGl1dGlsLmM7IFwKCXRoZW4gbXYg
LWYgIi5kZXBzL2F0aXV0aWwuVHBvIiAiLmRlcHMvYXRpdXRpbC5QbG8iOyBlbHNlIHJtIC1mICIu
ZGVwcy9hdGl1dGlsLlRwbyI7IGV4aXQgMTsgZmkKaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFn
PUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9D
T05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3Iv
aW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJt
IC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NF
UlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5V
WCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIg
LW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aXZhbGlkLmxvIC1NRCAtTVAgLU1GICIuZGVwcy9h
dGl2YWxpZC5UcG8iIC1jIC1vIGF0aXZhbGlkLmxvIGF0aXZhbGlkLmM7IFwKCXRoZW4gbXYgLWYg
Ii5kZXBzL2F0aXZhbGlkLlRwbyIgIi5kZXBzL2F0aXZhbGlkLlBsbyI7IGVsc2Ugcm0gLWYgIi5k
ZXBzL2F0aXZhbGlkLlRwbyI7IGV4aXQgMTsgZmkKIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUt
Z2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzIC1X
YWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu
Y2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgLURESVNBQkxFX0VBU0YgLURFTkFCTEVf
QUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZH
TF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZl
YyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aXV0aWwubG8gLU1EIC1NUCAtTUYgLmRl
cHMvYXRpdXRpbC5UcG8gLWMgYXRpdXRpbC5jICAtZlBJQyAtRFBJQyAtbyAubGlicy9hdGl1dGls
Lm8KaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMt
dW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0
b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRl
L3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAg
LURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9T
IC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1
MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0
aWxvYWQubG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0aWxvYWQuVHBvIiAtYyAtbyBhdGlsb2FkLmxv
IGF0aWxvYWQuYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvYXRpbG9hZC5UcG8iICIuZGVwcy9hdGls
b2FkLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0aWxvYWQuVHBvIjsgZXhpdCAxOyBmaQogcG93
ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAt
SS4vQXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5j
bHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAt
RERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1Mg
LURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUw
IC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRp
dmFsaWQubG8gLU1EIC1NUCAtTUYgLmRlcHMvYXRpdmFsaWQuVHBvIC1jIGF0aXZhbGlkLmMgIC1m
UElDIC1EUElDIC1vIC5saWJzL2F0aXZhbGlkLm8KaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFn
PUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9D
T05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3Iv
aW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJt
IC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NF
UlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5V
WCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIg
LW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0aW1pc2MubG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0
aW1pc2MuVHBvIiAtYyAtbyBhdGltaXNjLmxvIGF0aW1pc2MuYzsgXAoJdGhlbiBtdiAtZiAiLmRl
cHMvYXRpbWlzYy5UcG8iICIuZGVwcy9hdGltaXNjLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0
aW1pc2MuVHBvIjsgZXhpdCAxOyBmaQogcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURI
QVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkv
dXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9k
cm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VS
VklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVY
IC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAt
bXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpbG9hZC5sbyAtTUQgLU1QIC1NRiAuZGVwcy9hdGls
b2FkLlRwbyAtYyBhdGlsb2FkLmMgIC1mUElDIC1EUElDIC1vIC5saWJzL2F0aWxvYWQubwppZiAv
YmluL3NoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgcG93ZXJwYy11bmtub3du
LWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3Mv
aW5jbHVkZXMgIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFu
LTEgICAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAgICAtRERJU0FC
TEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9N
X0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0
aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpbWFjaDY0
cHJvYmUubG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0aW1hY2g2NHByb2JlLlRwbyIgLWMgLW8gYXRp
bWFjaDY0cHJvYmUubG8gYXRpbWFjaDY0cHJvYmUuYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvYXRp
bWFjaDY0cHJvYmUuVHBvIiAiLmRlcHMvYXRpbWFjaDY0cHJvYmUuUGxvIjsgZWxzZSBybSAtZiAi
LmRlcHMvYXRpbWFjaDY0cHJvYmUuVHBvIjsgZXhpdCAxOyBmaQogcG93ZXJwYy11bmtub3duLWxp
bnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5j
bHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt
SS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAt
REVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFS
U0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFi
aT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpbWlzYy5sbyAtTUQgLU1Q
IC1NRiAuZGVwcy9hdGltaXNjLlRwbyAtYyBhdGltaXNjLmMgIC1mUElDIC1EUElDIC1vIC5saWJz
L2F0aW1pc2MubwppZiAvYmluL3NoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUg
cG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUku
LiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNy
L2luY2x1ZGUvcGl4bWFuLTEgICAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDEx
L2RyaSAgICAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURB
VE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAt
bWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlw
ZSAtTVQgYXRpZGdhLmxvIC1NRCAtTVAgLU1GICIuZGVwcy9hdGlkZ2EuVHBvIiAtYyAtbyBhdGlk
Z2EubG8gYXRpZGdhLmM7IFwKCXRoZW4gbXYgLWYgIi5kZXBzL2F0aWRnYS5UcG8iICIuZGVwcy9h
dGlkZ2EuUGxvIjsgZWxzZSBybSAtZiAiLmRlcHMvYXRpZGdhLlRwbyI7IGV4aXQgMTsgZmkKIHBv
d2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4g
LUkuL0F0b21CaW9zL2luY2x1ZGVzIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2lu
Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkg
LURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9T
IC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1
MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIGF0
aW1hY2g2NHByb2JlLmxvIC1NRCAtTVAgLU1GIC5kZXBzL2F0aW1hY2g2NHByb2JlLlRwbyAtYyBh
dGltYWNoNjRwcm9iZS5jICAtZlBJQyAtRFBJQyAtbyAubGlicy9hdGltYWNoNjRwcm9iZS5vCiBw
b3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAtSS4u
IC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9p
bmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEvZHJp
IC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01fQklP
UyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1PTc0
NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1NVCBh
dGlkZ2EubG8gLU1EIC1NUCAtTUYgLmRlcHMvYXRpZGdhLlRwbyAtYyBhdGlkZ2EuYyAgLWZQSUMg
LURQSUMgLW8gLmxpYnMvYXRpZGdhLm8KaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0t
bW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdf
SCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVk
ZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vz
ci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0Vf
RlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERS
SVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5l
PXBvd2VycGMgLXBpcGUgLU1UIGF0aWRyaS5sbyAtTUQgLU1QIC1NRiAiLmRlcHMvYXRpZHJpLlRw
byIgLWMgLW8gYXRpZHJpLmxvIGF0aWRyaS5jOyBcCgl0aGVuIG12IC1mICIuZGVwcy9hdGlkcmku
VHBvIiAiLmRlcHMvYXRpZHJpLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL2F0aWRyaS5UcG8iOyBl
eGl0IDE7IGZpCmlmIC9iaW4vc2ggLi4vbGlidG9vbCAtLXRhZz1DQyAtLW1vZGU9Y29tcGlsZSBw
b3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAtSS4u
IC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3Iv
aW5jbHVkZS9waXhtYW4tMSAgIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEv
ZHJpICAgIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFU
T01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1t
Y3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBl
IC1NVCBhdGltYWNoNjRleGEubG8gLU1EIC1NUCAtTUYgIi5kZXBzL2F0aW1hY2g2NGV4YS5UcG8i
IC1jIC1vIGF0aW1hY2g2NGV4YS5sbyBhdGltYWNoNjRleGEuYzsgXAoJdGhlbiBtdiAtZiAiLmRl
cHMvYXRpbWFjaDY0ZXhhLlRwbyIgIi5kZXBzL2F0aW1hY2g2NGV4YS5QbG8iOyBlbHNlIHJtIC1m
ICIuZGVwcy9hdGltYWNoNjRleGEuVHBvIjsgZXhpdCAxOyBmaQogcG93ZXJwYy11bmtub3duLWxp
bnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5j
bHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAt
SS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAt
REVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFS
U0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFi
aT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgYXRpZHJpLmxvIC1NRCAtTVAg
LU1GIC5kZXBzL2F0aWRyaS5UcG8gLWMgYXRpZHJpLmMgIC1mUElDIC1EUElDIC1vIC5saWJzL2F0
aWRyaS5vCiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUku
IC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3Jn
IC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVk
ZS9YMTEvZHJpIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAt
REFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFSU0VS
IC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1w
aXBlIC1NVCBhdGltYWNoNjRleGEubG8gLU1EIC1NUCAtTUYgLmRlcHMvYXRpbWFjaDY0ZXhhLlRw
byAtYyBhdGltYWNoNjRleGEuYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvYXRpbWFjaDY0ZXhhLm8K
aWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5r
bm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21C
aW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3Bp
eG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURE
SVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1E
QVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAt
bWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIHIxMjhf
YWNjZWwubG8gLU1EIC1NUCAtTUYgIi5kZXBzL3IxMjhfYWNjZWwuVHBvIiAtYyAtbyByMTI4X2Fj
Y2VsLmxvIHIxMjhfYWNjZWwuYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvcjEyOF9hY2NlbC5UcG8i
ICIuZGVwcy9yMTI4X2FjY2VsLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL3IxMjhfYWNjZWwuVHBv
IjsgZXhpdCAxOyBmaQogcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJ
R19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1
ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNy
L2luY2x1ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5D
VElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVS
X1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93
ZXJwYyAtcGlwZSAtTVQgcjEyOF9hY2NlbC5sbyAtTUQgLU1QIC1NRiAuZGVwcy9yMTI4X2FjY2Vs
LlRwbyAtYyByMTI4X2FjY2VsLmMgIC1mUElDIC1EUElDIC1vIC5saWJzL3IxMjhfYWNjZWwubwpp
ZiAvYmluL3NoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgcG93ZXJwYy11bmtu
b3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJp
b3MvaW5jbHVkZXMgIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4
bWFuLTEgICAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAgICAtRERJ
U0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURB
VE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1t
YWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgcjEyOF9j
dXJzb3IubG8gLU1EIC1NUCAtTUYgIi5kZXBzL3IxMjhfY3Vyc29yLlRwbyIgLWMgLW8gcjEyOF9j
dXJzb3IubG8gcjEyOF9jdXJzb3IuYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvcjEyOF9jdXJzb3Iu
VHBvIiAiLmRlcHMvcjEyOF9jdXJzb3IuUGxvIjsgZWxzZSBybSAtZiAiLmRlcHMvcjEyOF9jdXJz
b3IuVHBvIjsgZXhpdCAxOyBmaQogcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZF
X0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNy
L2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0g
LUkvdXNyL2luY2x1ZGUvWDExL2RyaSAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklD
RV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1E
RFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1
bmU9cG93ZXJwYyAtcGlwZSAtTVQgcjEyOF9jdXJzb3IubG8gLU1EIC1NUCAtTUYgLmRlcHMvcjEy
OF9jdXJzb3IuVHBvIC1jIHIxMjhfY3Vyc29yLmMgIC1mUElDIC1EUElDIC1vIC5saWJzL3IxMjhf
Y3Vyc29yLm8KaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBv
d2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4g
LUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9p
bmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9k
cmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRP
TV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1j
cHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUg
LU1UIHIxMjhfZGdhLmxvIC1NRCAtTVAgLU1GICIuZGVwcy9yMTI4X2RnYS5UcG8iIC1jIC1vIHIx
MjhfZGdhLmxvIHIxMjhfZGdhLmM7IFwKCXRoZW4gbXYgLWYgIi5kZXBzL3IxMjhfZGdhLlRwbyIg
Ii5kZXBzL3IxMjhfZGdhLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL3IxMjhfZGdhLlRwbyI7IGV4
aXQgMTsgZmkKaWYgL2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBv
d2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4g
LUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9p
bmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9k
cmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRP
TV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1j
cHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUg
LU1UIHIxMjhfZHJpdmVyLmxvIC1NRCAtTVAgLU1GICIuZGVwcy9yMTI4X2RyaXZlci5UcG8iIC1j
IC1vIHIxMjhfZHJpdmVyLmxvIHIxMjhfZHJpdmVyLmM7IFwKCXRoZW4gbXYgLWYgIi5kZXBzL3Ix
MjhfZHJpdmVyLlRwbyIgIi5kZXBzL3IxMjhfZHJpdmVyLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBz
L3IxMjhfZHJpdmVyLlRwbyI7IGV4aXQgMTsgZmkKIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUt
Z2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzIC1X
YWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2lu
Y2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgLURESVNBQkxFX0VBU0YgLURFTkFCTEVf
QUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAtREZH
TF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZl
YyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIHIxMjhfZGdhLmxvIC1NRCAtTVAgLU1GIC5k
ZXBzL3IxMjhfZGdhLlRwbyAtYyByMTI4X2RnYS5jICAtZlBJQyAtRFBJQyAtbyAubGlicy9yMTI4
X2RnYS5vCiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUku
IC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3Jn
IC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVk
ZS9YMTEvZHJpIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAt
REFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFSU0VS
IC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1w
aXBlIC1NVCByMTI4X2RyaXZlci5sbyAtTUQgLU1QIC1NRiAuZGVwcy9yMTI4X2RyaXZlci5UcG8g
LWMgcjEyOF9kcml2ZXIuYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvcjEyOF9kcml2ZXIubwppZiAv
YmluL3NoIC4uL2xpYnRvb2wgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgcG93ZXJwYy11bmtub3du
LWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJpb3Mv
aW5jbHVkZXMgIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2luY2x1ZGUvcGl4bWFu
LTEgICAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAgICAtRERJU0FC
TEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9N
X0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0
aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgcjEyOF92aWRl
by5sbyAtTUQgLU1QIC1NRiAiLmRlcHMvcjEyOF92aWRlby5UcG8iIC1jIC1vIHIxMjhfdmlkZW8u
bG8gcjEyOF92aWRlby5jOyBcCgl0aGVuIG12IC1mICIuZGVwcy9yMTI4X3ZpZGVvLlRwbyIgIi5k
ZXBzL3IxMjhfdmlkZW8uUGxvIjsgZWxzZSBybSAtZiAiLmRlcHMvcjEyOF92aWRlby5UcG8iOyBl
eGl0IDE7IGZpCiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0gg
LUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAtV2FsbCAtSS91c3IvaW5jbHVkZS94
b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5j
bHVkZS9YMTEvZHJpIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9O
UyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFS
U0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBj
IC1waXBlIC1NVCByMTI4X3ZpZGVvLmxvIC1NRCAtTVAgLU1GIC5kZXBzL3IxMjhfdmlkZW8uVHBv
IC1jIHIxMjhfdmlkZW8uYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvcjEyOF92aWRlby5vCmlmIC9i
aW4vc2ggLi4vbGlidG9vbCAtLXRhZz1DQyAtLW1vZGU9Y29tcGlsZSBwb3dlcnBjLXVua25vd24t
bGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9p
bmNsdWRlcyAgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4t
MSAgIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEvZHJpICAgIC1ERElTQUJM
RV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01fQklPUyAtREFUT01f
QklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1PTc0NTAgLW1hbHRp
dmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1NVCByMTI4X21pc2Mu
bG8gLU1EIC1NUCAtTUYgIi5kZXBzL3IxMjhfbWlzYy5UcG8iIC1jIC1vIHIxMjhfbWlzYy5sbyBy
MTI4X21pc2MuYzsgXAoJdGhlbiBtdiAtZiAiLmRlcHMvcjEyOF9taXNjLlRwbyIgIi5kZXBzL3Ix
MjhfbWlzYy5QbG8iOyBlbHNlIHJtIC1mICIuZGVwcy9yMTI4X21pc2MuVHBvIjsgZXhpdCAxOyBm
aQogcG93ZXJwYy11bmtub3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4g
LUkuLiAtSS4vQXRvbUJpb3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91
c3IvaW5jbHVkZS9waXhtYW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDEx
L2RyaSAtRERJU0FCTEVfRUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9N
X0JJT1MgLURBVE9NX0JJT1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNw
dT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAt
TVQgcjEyOF9taXNjLmxvIC1NRCAtTVAgLU1GIC5kZXBzL3IxMjhfbWlzYy5UcG8gLWMgcjEyOF9t
aXNjLmMgIC1mUElDIC1EUElDIC1vIC5saWJzL3IxMjhfbWlzYy5vCmlmIC9iaW4vc2ggLi4vbGli
dG9vbCAtLXRhZz1DQyAtLW1vZGU9Y29tcGlsZSBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdj
YyAtREhBVkVfQ09ORklHX0ggLUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAgLVdh
bGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXhtYW4tMSAgIC1JL3Vzci9p
bmNsdWRlL2RybSAtSS91c3IvaW5jbHVkZS9YMTEvZHJpICAgIC1ERElTQUJMRV9FQVNGIC1ERU5B
QkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9OUyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIg
LURGR0xfTElOVVggLUREUklWRVJfUEFSU0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFs
dGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBjIC1waXBlIC1NVCByMTI4X3Byb2JlLmxvIC1NRCAtTVAg
LU1GICIuZGVwcy9yMTI4X3Byb2JlLlRwbyIgLWMgLW8gcjEyOF9wcm9iZS5sbyByMTI4X3Byb2Jl
LmM7IFwKCXRoZW4gbXYgLWYgIi5kZXBzL3IxMjhfcHJvYmUuVHBvIiAiLmRlcHMvcjEyOF9wcm9i
ZS5QbG8iOyBlbHNlIHJtIC1mICIuZGVwcy9yMTI4X3Byb2JlLlRwbyI7IGV4aXQgMTsgZmkKaWYg
L2Jpbi9zaCAuLi9saWJ0b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93
bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9z
L2luY2x1ZGVzICAtV2FsbCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1h
bi0xICAgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNB
QkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRP
TV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFs
dGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIHIxMjhfZHJp
LmxvIC1NRCAtTVAgLU1GICIuZGVwcy9yMTI4X2RyaS5UcG8iIC1jIC1vIHIxMjhfZHJpLmxvIHIx
MjhfZHJpLmM7IFwKCXRoZW4gbXYgLWYgIi5kZXBzL3IxMjhfZHJpLlRwbyIgIi5kZXBzL3IxMjhf
ZHJpLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL3IxMjhfZHJpLlRwbyI7IGV4aXQgMTsgZmkKIHBv
d2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4g
LUkuL0F0b21CaW9zL2luY2x1ZGVzIC1XYWxsIC1JL3Vzci9pbmNsdWRlL3hvcmcgLUkvdXNyL2lu
Y2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2luY2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkg
LURESVNBQkxFX0VBU0YgLURFTkFCTEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9T
IC1EQVRPTV9CSU9TX1BBUlNFUiAtREZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1
MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIHIx
MjhfcHJvYmUubG8gLU1EIC1NUCAtTUYgLmRlcHMvcjEyOF9wcm9iZS5UcG8gLWMgcjEyOF9wcm9i
ZS5jICAtZlBJQyAtRFBJQyAtbyAubGlicy9yMTI4X3Byb2JlLm8KaWYgL2Jpbi9zaCAuLi9saWJ0
b29sIC0tdGFnPUNDIC0tbW9kZT1jb21waWxlIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUtZ2Nj
IC1ESEFWRV9DT05GSUdfSCAtSS4gLUkuIC1JLi4gLUkuL0F0b21CaW9zL2luY2x1ZGVzICAtV2Fs
bCAtSS91c3IvaW5jbHVkZS94b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xICAgLUkvdXNyL2lu
Y2x1ZGUvZHJtIC1JL3Vzci9pbmNsdWRlL1gxMS9kcmkgICAgLURESVNBQkxFX0VBU0YgLURFTkFC
TEVfQUxMX1NFUlZJQ0VfRlVOQ1RJT05TIC1EQVRPTV9CSU9TIC1EQVRPTV9CSU9TX1BBUlNFUiAt
REZHTF9MSU5VWCAtRERSSVZFUl9QQVJTRVIgLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0
aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUgLU1UIHJhZGVvbl9hY2NlbC5sbyAtTUQgLU1Q
IC1NRiAiLmRlcHMvcmFkZW9uX2FjY2VsLlRwbyIgLWMgLW8gcmFkZW9uX2FjY2VsLmxvIHJhZGVv
bl9hY2NlbC5jOyBcCgl0aGVuIG12IC1mICIuZGVwcy9yYWRlb25fYWNjZWwuVHBvIiAiLmRlcHMv
cmFkZW9uX2FjY2VsLlBsbyI7IGVsc2Ugcm0gLWYgIi5kZXBzL3JhZGVvbl9hY2NlbC5UcG8iOyBl
eGl0IDE7IGZpCiBwb3dlcnBjLXVua25vd24tbGludXgtZ251LWdjYyAtREhBVkVfQ09ORklHX0gg
LUkuIC1JLiAtSS4uIC1JLi9BdG9tQmlvcy9pbmNsdWRlcyAtV2FsbCAtSS91c3IvaW5jbHVkZS94
b3JnIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9pbmNsdWRlL2RybSAtSS91c3IvaW5j
bHVkZS9YMTEvZHJpIC1ERElTQUJMRV9FQVNGIC1ERU5BQkxFX0FMTF9TRVJWSUNFX0ZVTkNUSU9O
UyAtREFUT01fQklPUyAtREFUT01fQklPU19QQVJTRVIgLURGR0xfTElOVVggLUREUklWRVJfUEFS
U0VSIC1tY3B1PTc0NTAgLW1hbHRpdmVjIC1tYWJpPWFsdGl2ZWMgLU8yIC1tdHVuZT1wb3dlcnBj
IC1waXBlIC1NVCByMTI4X2RyaS5sbyAtTUQgLU1QIC1NRiAuZGVwcy9yMTI4X2RyaS5UcG8gLWMg
cjEyOF9kcmkuYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvcjEyOF9kcmkubwogcG93ZXJwYy11bmtu
b3duLWxpbnV4LWdudS1nY2MgLURIQVZFX0NPTkZJR19IIC1JLiAtSS4gLUkuLiAtSS4vQXRvbUJp
b3MvaW5jbHVkZXMgLVdhbGwgLUkvdXNyL2luY2x1ZGUveG9yZyAtSS91c3IvaW5jbHVkZS9waXht
YW4tMSAtSS91c3IvaW5jbHVkZS9kcm0gLUkvdXNyL2luY2x1ZGUvWDExL2RyaSAtRERJU0FCTEVf
RUFTRiAtREVOQUJMRV9BTExfU0VSVklDRV9GVU5DVElPTlMgLURBVE9NX0JJT1MgLURBVE9NX0JJ
T1NfUEFSU0VSIC1ERkdMX0xJTlVYIC1ERFJJVkVSX1BBUlNFUiAtbWNwdT03NDUwIC1tYWx0aXZl
YyAtbWFiaT1hbHRpdmVjIC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSAtTVQgcmFkZW9uX2FjY2Vs
LmxvIC1NRCAtTVAgLU1GIC5kZXBzL3JhZGVvbl9hY2NlbC5UcG8gLWMgcmFkZW9uX2FjY2VsLmMg
IC1mUElDIC1EUElDIC1vIC5saWJzL3JhZGVvbl9hY2NlbC5vCkluIGZpbGUgaW5jbHVkZWQgZnJv
bSByYWRlb25fYWNjZWwuYzo0MTM6CnJhZGVvbl9hY2NlbGZ1bmNzLmM6IEluIGZ1bmN0aW9uICdS
QURFT05TZXR1cEZvck1vbm84eDhQYXR0ZXJuRmlsbE1NSU8nOgpyYWRlb25fYWNjZWxmdW5jcy5j
OjU1MTogZXJyb3I6ICdwYXR0ZXJuJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j
dGlvbikKcmFkZW9uX2FjY2VsZnVuY3MuYzo1NTE6IGVycm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlk
ZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlCnJhZGVvbl9hY2NlbGZ1bmNzLmM6NTUxOiBl
cnJvcjogZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCkluIGZpbGUgaW5jbHVkZWQg
ZnJvbSByYWRlb25fYWNjZWwuYzo0MzY6CnJhZGVvbl9hY2NlbGZ1bmNzLmM6IEluIGZ1bmN0aW9u
ICdSQURFT05TZXR1cEZvck1vbm84eDhQYXR0ZXJuRmlsbENQJzoKcmFkZW9uX2FjY2VsZnVuY3Mu
Yzo1NTE6IGVycm9yOiAncGF0dGVybicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu
Y3Rpb24pCm1ha2VbMl06ICoqKiBbcmFkZW9uX2FjY2VsLmxvXSBFcnJvciAxCm1ha2VbMl06ICoq
KiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2VbMl06IExlYXZpbmcgZGlyZWN0
b3J5IGAvdmFyL3RtcC9wb3J0YWdlL3gxMS1kcml2ZXJzL3hmODYtdmlkZW8tYXRpLTYuOC4wLXIx
L3dvcmsveGY4Ni12aWRlby1hdGktNi44LjAvc3JjJwptYWtlWzFdOiAqKiogW2FsbC1yZWN1cnNp
dmVdIEVycm9yIDEKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC92YXIvdG1wL3BvcnRhZ2Uv
eDExLWRyaXZlcnMveGY4Ni12aWRlby1hdGktNi44LjAtcjEvd29yay94Zjg2LXZpZGVvLWF0aS02
LjguMCcKbWFrZTogKioqIFthbGxdIEVycm9yIDIKIBtbMzE7MDFtKhtbMG0gCiAbWzMxOzAxbSob
WzBtIEVSUk9SOiB4MTEtZHJpdmVycy94Zjg2LXZpZGVvLWF0aS02LjguMC1yMSBmYWlsZWQuCiAb
WzMxOzAxbSobWzBtIENhbGwgc3RhY2s6CiAbWzMxOzAxbSobWzBtICAgICAgICAgICAgICAgZWJ1
aWxkLnNoLCBsaW5lICAgNDk6ICBDYWxsZWQgc3JjX2NvbXBpbGUKIBtbMzE7MDFtKhtbMG0gICAg
ICAgICAgICAgZW52aXJvbm1lbnQsIGxpbmUgMjk0NTogIENhbGxlZCB4LW1vZHVsYXJfc3JjX2Nv
bXBpbGUKIBtbMzE7MDFtKhtbMG0gICAgICAgICAgICAgZW52aXJvbm1lbnQsIGxpbmUgMzY4NDog
IENhbGxlZCB4LW1vZHVsYXJfc3JjX21ha2UKIBtbMzE7MDFtKhtbMG0gICAgICAgICAgICAgZW52
aXJvbm1lbnQsIGxpbmUgMzcyMDogIENhbGxlZCBkaWUKIBtbMzE7MDFtKhtbMG0gVGhlIHNwZWNp
ZmljIHNuaXBwZXQgb2YgY29kZToKIBtbMzE7MDFtKhtbMG0gICAgICAgZW1ha2UgfHwgZGllICJl
bWFrZSBmYWlsZWQiCiAbWzMxOzAxbSobWzBtICBUaGUgZGllIG1lc3NhZ2U6CiAbWzMxOzAxbSob
WzBtICAgZW1ha2UgZmFpbGVkCiAbWzMxOzAxbSobWzBtIAogG1szMTswMW0qG1swbSBJZiB5b3Ug
bmVlZCBzdXBwb3J0LCBwb3N0IHRoZSB0b3Btb3N0IGJ1aWxkIGVycm9yLCBhbmQgdGhlIGNhbGwg
c3RhY2sgaWYgcmVsZXZhbnQuCiAbWzMxOzAxbSobWzBtIEEgY29tcGxldGUgYnVpbGQgbG9nIGlz
IGxvY2F0ZWQgYXQgJy92YXIvdG1wL3BvcnRhZ2UveDExLWRyaXZlcnMveGY4Ni12aWRlby1hdGkt
Ni44LjAtcjEvdGVtcC9idWlsZC5sb2cnLgogG1szMTswMW0qG1swbSBUaGUgZWJ1aWxkIGVudmly
b25tZW50IGZpbGUgaXMgbG9jYXRlZCBhdCAnL3Zhci90bXAvcG9ydGFnZS94MTEtZHJpdmVycy94
Zjg2LXZpZGVvLWF0aS02LjguMC1yMS90ZW1wL2Vudmlyb25tZW50Jy4KIBtbMzE7MDFtKhtbMG0g
Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>157297</attachid>
            <date>2008-06-17 14:37 0000</date>
            <desc>ebuild environment</desc>
            <filename>environment</filename>
            <type>text/plain</type>
            <data encoding="base64">QUxTQV9DQVJEUz0KQUxTQV9QQ01fUExVR0lOUz0nYWRwY20gYWxhdyBhc3ltIGNvcHkgZG1peCBk
c2hhcmUgZHNub29wIGVtcHR5IGV4dHBsdWcgZmlsZSBob29rcyBpZWM5NTggaW9wbHVnIGxhZHNw
YSBsZmxvYXQgbGluZWFyIG1ldGVyIG11bGF3IG11bHRpIG51bGwgcGx1ZyByYXRlIHJvdXRlIHNo
YXJlIHNobSBzb2Z0dm9sJwpBTlRfSE9NRT0vdXNyL3NoYXJlL2FudApBUEFDSEUyX01PRFVMRVM9
J2FjdGlvbnMgYWxpYXMgYXV0aF9iYXNpYyBhdXRobl9hbGlhcyBhdXRobl9hbm9uIGF1dGhuX2Ri
bSBhdXRobl9kZWZhdWx0IGF1dGhuX2ZpbGUgYXV0aHpfZGJtIGF1dGh6X2RlZmF1bHQgYXV0aHpf
Z3JvdXBmaWxlIGF1dGh6X2hvc3QgYXV0aHpfb3duZXIgYXV0aHpfdXNlciBhdXRvaW5kZXggY2Fj
aGUgZGF2IGRhdl9mcyBkYXZfbG9jayBkZWZsYXRlIGRpciBkaXNrX2NhY2hlIGVudiBleHBpcmVz
IGV4dF9maWx0ZXIgZmlsZV9jYWNoZSBmaWx0ZXIgaGVhZGVycyBpbmNsdWRlIGluZm8gbG9nX2Nv
bmZpZyBsb2dpbyBtZW1fY2FjaGUgbWltZSBtaW1lX21hZ2ljIG5lZ290aWF0aW9uIHJld3JpdGUg
c2V0ZW52aWYgc3BlbGluZyBzdGF0dXMgdW5pcXVlX2lkIHVzZXJkaXIgdXNlcnRyYWNrIHZob3N0
X2FsaWFzJwpBUkNIPXBwYwpBVF9HTlVDT05GX1VQREFURT1ubwpBVF9NNERJUj0KQkFTRV9JTkRJ
VklEVUFMX1VSST1odHRwOi8veG9yZy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvaW5kaXZpZHVh
bApCUk9XU0VSPWZpcmVmb3gKQ0JVSUxEPXBvd2VycGMtdW5rbm93bi1saW51eC1nbnUKQ0RFRklO
RV9kZWZhdWx0PV9fdW5peF9fCkNGTEFHUz0nLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0
aXZlYyAtTzIgLW10dW5lPXBvd2VycGMgLXBpcGUnCkNGTEFHU19kZWZhdWx0PQpDSE9TVD1wb3dl
cnBjLXVua25vd24tbGludXgtZ251CkNIT1NUX2RlZmF1bHQ9cG93ZXJwYy11bmtub3duLWxpbnV4
LWdudQpDTEFTU1BBVEg9LgpDT0xPUkZHQkc9Jzc7ZGVmYXVsdDsxNScKQ09ORklHVVJFX09QVElP
TlM9LS1lbmFibGUtZHJpCkNUQVJHRVRfZGVmYXVsdD1wb3dlcnBjLXVua25vd24tbGludXgtZ251
CkNWU19SU0g9c3NoCkNYWEZMQUdTPSctbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVj
IC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZScKREJVU19TRVNTSU9OX0JVU19BRERSRVNTPXVuaXg6
YWJzdHJhY3Q9L3RtcC9kYnVzLTE0M3RZdWc2eEQsZ3VpZD04MzgzZjAzMDFmOWUzMjVlYzgxMWU1
MDM0ODU3NTE5YQpERUJVR0dBQkxFPXllcwpERUZBVUxUX0FCST1kZWZhdWx0CkRFUEVORD0kJz49
eDExLWJhc2UveG9yZy1zZXJ2ZXItMS4yXG5cdHgxMS1wcm90by9mb250c3Byb3RvXG5cdHgxMS1w
cm90by9yYW5kcnByb3RvXG5cdHgxMS1wcm90by92aWRlb3Byb3RvXG5cdHgxMS1wcm90by94ZXh0
cHJvdG9cblx0eDExLXByb3RvL3hpbmVyYW1hcHJvdG9cblx0eDExLXByb3RvL3hmODZtaXNjcHJv
dG9cblx0eDExLXByb3RvL3hwcm90b1xuXHRkcmk/ICggeDExLXByb3RvL2dscHJvdG9cblx0XHRc
dHgxMS1wcm90by94Zjg2ZHJpcHJvdG9cblx0XHRcdD49eDExLWxpYnMvbGliZHJtLTIgKSAgPXN5
cy1kZXZlbC9hdXRvbWFrZS0xLjEwKlxuXHQ+PXN5cy1kZXZlbC9hdXRvY29uZi0yLjYxXG5cdHN5
cy1kZXZlbC9saWJ0b29sIFxuXHRcdD49c3lzLWRldmVsL2xpYnRvb2wtMS41XG5cdFx0Pj1zeXMt
ZGV2ZWwvbTQtMS40XG5cdD49ZGV2LXV0aWwvcGtnY29uZmlnLTAuMThcblx0XHQ+PXgxMS1taXNj
L3V0aWwtbWFjcm9zLTAuOTkuMlxuXHRcdD49c3lzLWRldmVsL2JpbnV0aWxzLTIuMTYuMS1yMycK
REVTQ1JJUFRJT049J0FUSSB2aWRlbyBkcml2ZXInCkRFU0tUT1BfU0VTU0lPTj1mbHV4Ym94CkRF
U1RUUkVFPS91c3IKRElST1BUSU9OUz0tbTA3NTUKRFJJVkVSPXllcwpFQVBJPQpFTElCQz1nbGli
YwpFTElCVE9PTF9WRVJTSU9OPTIuMC4yCkVMVF9BUFBMSUVEX1BBVENIRVM9JyAxLjUuNCAxLjUu
MTAgMS41LjIwIDEuNS42JwpFTFRfTFRNQUlOX1NIPS92YXIvdG1wL3BvcnRhZ2UveDExLWRyaXZl
cnMveGY4Ni12aWRlby1hdGktNi44LjAtcjEvd29yay94Zjg2LXZpZGVvLWF0aS02LjguMC9sdG1h
aW4uc2gKRUxUX1BBVENIX0RJUj0vdXNyL3BvcnRhZ2UvZWNsYXNzL0VMVC1wYXRjaGVzCkVQQVRD
SF9FWENMVURFPQpFUEFUQ0hfRk9SQ0U9bm8KRVBBVENIX01VTFRJX01TRz0nQXBwbHlpbmcgdmFy
aW91cyBwYXRjaGVzIChidWdmaXhlcy91cGRhdGVzKSAuLi4nCkVQQVRDSF9PUFRTPSctZzAgLUUg
LS1uby1iYWNrdXAtaWYtbWlzbWF0Y2gnCkVQQVRDSF9TSU5HTEVfTVNHPQpFUEFUQ0hfU09VUkNF
PS92YXIvdG1wL3BvcnRhZ2UveDExLWRyaXZlcnMveGY4Ni12aWRlby1hdGktNi44LjAtcjEvd29y
ay9wYXRjaApFUEFUQ0hfU1VGRklYPXBhdGNoLmJ6MgpFWEVPUFRJT05TPS1tMDc1NQpGRUFUVVJF
Uz0nZGlzdGxvY2tzIGZpeHBhY2thZ2VzIHBhcmFsbGVsLWZldGNoIHNhbmRib3ggc2ZwZXJtcyBz
cGxpdGRlYnVnIHN0cmljdCB1bm1lcmdlLW9ycGhhbnMgdXNlcmZldGNoJwpGT05UX0VDTEFTUz0K
R0NDX1NQRUNTPQpHREtfVVNFX1hGVD0xCkdETVNFU1NJT049Zmx1eGJveApHRE1fWFNFUlZFUl9M
T0NBVElPTj1sb2NhbApHRU5FUkFUSU9OPTIKSEJfSE9NRT0vaG9tZS9jcGhpbGVtby9Ib21lQmFu
awpIT01FUEFHRT1odHRwOi8veG9yZy5mcmVlZGVza3RvcC5vcmcvCklOSEVSSVRFRD0ndG9vbGNo
YWluLWZ1bmNzIHBvcnRhYmlsaXR5IGZsYWctby1tYXRpYyBtdWx0aWxpYiB4LW1vZHVsYXIgbGli
dG9vbCBhdXRvdG9vbHMgZXV0aWxzJwpJTlBVVF9ERVZJQ0VTPQpJTlNERVNUVFJFRT0KSU5TT1BU
SU9OUz0tbTA2NDQKSVVTRT0nZHJpICAgZGVidWcnCkpBVkFDPS9ob21lL2NwaGlsZW1vLy5nZW50
b28vamF2YS1jb25maWctMi9jdXJyZW50LXVzZXItdm0vYmluL2phdmFjCkpBVkFDQ19IT01FPS91
c3Ivc2hhcmUvamF2YWNjLwpKQVZBX0hPTUU9L2hvbWUvY3BoaWxlbW8vLmdlbnRvby9qYXZhLWNv
bmZpZy0yL2N1cnJlbnQtdXNlci12bQpKREtfSE9NRT0vaG9tZS9jcGhpbGVtby8uZ2VudG9vL2ph
dmEtY29uZmlnLTIvY3VycmVudC11c2VyLXZtCktFUk5FTD1saW51eApLRVJORUxfQUJJPWRlZmF1
bHQKS0VZV09SRFM9J35hbHBoYSB+YW1kNjQgfmFybSB+aWE2NCB+cHBjIH5wcGM2NCB+c2ggfnNw
YXJjIH54ODYgfng4Ni1mYnNkJwpLVj0yLjYuMjQtZ2VudG9vLXIzZGFuZWVsCkxBTkc9ZW5fVVMu
VVRGOApMQU5HVUFHRT1lbl9CRTplbl9VUzplbl9VSzplbgpMQ0RfREVWSUNFUz0KTENfQUxMPWVu
X1VTLlVURjgKTERGTEFHUz0tV2wsLXosbGF6eQpMREZMQUdTX2RlZmF1bHQ9CkxJQkRJUl9kZWZh
dWx0PWxpYgpMSUJPUFRJT05TPS1tMDY0NApMSUNFTlNFPXhmODYtdmlkZW8tYXRpCk1BS0VPUFRT
PS1qMgpNT0RVTEU9ZHJpdmVyCk1VTFRJTElCX0FCSVM9ZGVmYXVsdApPUEVOR0xfUFJPRklMRT14
b3JnLXgxMQpQQVRDSEVTPSQnXG5cdC91c3IvcG9ydGFnZS94MTEtZHJpdmVycy94Zjg2LXZpZGVv
LWF0aS9maWxlcy82LjguMC8wMDAxLUJ1bXAtQ1JUQy1zaXplLWxpbWl0cy1vbi1BVklWTy1jaGlw
cy1zby0zMC1kaXNwbGF5cy5wYXRjaFxuXHQvdXNyL3BvcnRhZ2UveDExLWRyaXZlcnMveGY4Ni12
aWRlby1hdGkvZmlsZXMvNi44LjAvMDAwMi1SQURFT04tdXBkYXRlLW1hbi1wYWdlLXdpdGgtc3Vw
cG9ydGVkLWNoaXBzLnBhdGNoXG5cdC91c3IvcG9ydGFnZS94MTEtZHJpdmVycy94Zjg2LXZpZGVv
LWF0aS9maWxlcy82LjguMC8wMDAzLVJBREVPTi1maXgtRERDLXR5cGVzLTUtYW5kLTYucGF0Y2hc
blx0L3Vzci9wb3J0YWdlL3gxMS1kcml2ZXJzL3hmODYtdmlkZW8tYXRpL2ZpbGVzLzYuOC4wLzAw
MDQtUkFERU9OLXJlc3RvcmUtY2xvY2stZ2F0aW5nLWFuZC1DUC1jbG9jay1lcnJhdGEtb24ucGF0
Y2hcblx0L3Vzci9wb3J0YWdlL3gxMS1kcml2ZXJzL3hmODYtdmlkZW8tYXRpL2ZpbGVzLzYuOC4w
LzAwMDUtUjEwMC1maXgtcmVuZGVyLWFjY2VsLWZvci10cmFuc2Zvcm1zLnBhdGNoXG5cdC91c3Iv
cG9ydGFnZS94MTEtZHJpdmVycy94Zjg2LXZpZGVvLWF0aS9maWxlcy82LjguMC8wMDA2LXJhZGVv
bi1GaXgtdHlwby1mbGFnZ2VkLWJ5LWdjYy1XYWxsLnBhdGNoXG5cdC91c3IvcG9ydGFnZS94MTEt
ZHJpdmVycy94Zjg2LXZpZGVvLWF0aS9maWxlcy82LjguMC8wMDA3LUFUT00tcHJvcGVybHktc2V0
LXVwLURESUEtb3V0cHV0LW9uLVJTNnh4LWJvYXJkcy5wYXRjaFxuXHQvdXNyL3BvcnRhZ2UveDEx
LWRyaXZlcnMveGY4Ni12aWRlby1hdGkvZmlsZXMvNi44LjAvMDAwOC1SUzZ4eC1maXgtRERDLW9u
LURESUEtb3V0cHV0LXVzdWFsbHktSERNSS1wb3J0LnBhdGNoXG5cdC91c3IvcG9ydGFnZS94MTEt
ZHJpdmVycy94Zjg2LXZpZGVvLWF0aS9maWxlcy82LjguMC8wMTM0LURpc2FibGUtdGhlLXNldHRp
bmctb2YtSEFSRFdBUkVfQ1VSU09SX0JJVF9PUkRFUl9NU0IucGF0Y2hcblx0JwpQREVQRU5EPScg
JwpQT1JUQUdFX1JTWU5DX0lOSVRJQUxfVElNRU9VVD01MDAKUFJFTElOS19QQVRIX01BU0s9L3Vz
ci9saWIvZ3N0cmVhbWVyLTAuOApQUk9WSURFPQpQWVRIT05QQVRIPS91c3IvbGliL3BvcnRhZ2Uv
cHltClJERVBFTkQ9JCc+PXgxMS1iYXNlL3hvcmctc2VydmVyLTEuMiAgIFxuXHQhPD14MTEtYmFz
ZS94b3JnLXgxMS02LjknClJFU1RSSUNUPQpSX0hPTUU9L3Vzci9saWIvUgpTPS92YXIvdG1wL3Bv
cnRhZ2UveDExLWRyaXZlcnMveGY4Ni12aWRlby1hdGktNi44LjAtcjEvd29yay94Zjg2LXZpZGVv
LWF0aS02LjguMApTQU5EQk9YX0RFTlk9L2V0Yy9sZC5zby5wcmVsb2FkClNBTkRCT1hfUFJFRElD
VD06L2Rldi9jb25zb2xlOi9kZXYvcmFuZG9tOi9wcm9jL3NlbGYvbWFwczovdXNyL2xpYi9weXRo
b24yLjAvOi91c3IvbGliL3B5dGhvbjIuMS86L3Vzci9saWIvcHl0aG9uMi4yLzovdXNyL2xpYi9w
eXRob24yLjMvOi91c3IvbGliL3B5dGhvbjIuNC86L3Vzci9saWIvcHl0aG9uMi41LzovdXNyL2xp
Yi9weXRob24zLjAvOi92YXIvZGIvYWxpYXNlcy5kYjovdmFyL2RiL2V0aGVycy5kYjovdmFyL2Ri
L2dyb3VwLmRiOi92YXIvZGIvaG9zdHMuZGI6L3Zhci9kYi9uZXRncm91cC5kYjovdmFyL2RiL25l
dG1hc2tzLmRiOi92YXIvZGIvbmV0d29ya3MuZGI6L3Zhci9kYi9wYXNzd2QuZGI6L3Zhci9kYi9w
cm90b2NvbHMuZGI6L3Zhci9kYi9ycGMuZGI6L3Zhci9kYi9zZXJ2aWNlcy5kYjovdmFyL3RtcC9w
b3J0YWdlL3gxMS1kcml2ZXJzL3hmODYtdmlkZW8tYXRpLTYuOC4wLXIxL2hvbWVkaXIvLjoKU0FO
REJPWF9SRUFEPTovOi9kZXYvc2htOi9kZXYvc3RkaW46L3Zhci90bXA6ClNBTkRCT1hfV1JJVEU9
Oi9kZXYvY29uc29sZTovZGV2L2ZkOi9kZXYvbnVsbDovZGV2L3B0cy86L2Rldi9wdHk6L2Rldi9z
aG06L2Rldi9zaG0vbmdwdDovZGV2L3N0ZGVycjovZGV2L3N0ZG91dDovZGV2L3R0czovZGV2L3R0
eTovZGV2L3ZjLzovZGV2L3plcm86L3Byb2Mvc2VsZi9mZDovdG1wOi90bXAvOi91c3IvbGliMzIv
Y2Y6L3Vzci9saWIzMi9jb25mdGVzdDovdXNyL2xpYjY0L2NmOi91c3IvbGliNjQvY29uZnRlc3Q6
L3Vzci9saWIvY2Y6L3Vzci9saWIvY29uZnRlc3Q6L3Vzci90bXAvY2Y6L3Vzci90bXAvY29uZnRl
c3Q6L3Zhci9sb2cvc2Nyb2xsa2VlcGVyLmxvZzovdmFyL3RtcDovdmFyL3RtcC86L3Zhci90bXAv
cG9ydGFnZS94MTEtZHJpdmVycy94Zjg2LXZpZGVvLWF0aS02LjguMC1yMS9ob21lZGlyLy5iYXNo
X2hpc3Rvcnk6L3Zhci90bXAvcG9ydGFnZS94MTEtZHJpdmVycy94Zjg2LXZpZGVvLWF0aS02Ljgu
MC1yMS9ob21lZGlyLy5nY29uZmQvbG9jazoKU0xPVD0wClNOQVBTSE9UPW5vClNSQ19VUkk9JyBo
dHRwOi8veG9yZy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvaW5kaXZpZHVhbC9kcml2ZXIveGY4
Ni12aWRlby1hdGktNi44LjAudGFyLmJ6MicKU1RBR0UxX1VTRT0nYWx0aXZlYyBucHRsIG5wdGxv
bmx5IHVuaWNvZGUnClVTRT0nZHJpIGVsaWJjX2dsaWJjIGtlcm5lbF9saW51eCBwcGMgdXNlcmxh
bmRfR05VJwpVU0VSTEFORD1HTlUKVVNFUk5BTUU9Y3BoaWxlbW8KVklERU9fQ0FSRFM9ClZNSEFO
RExFPWlibS1qZGstYmluLTEuNApXQU5UX0FVVE9DT05GPTIuNQpXQU5UX0FVVE9NQUtFPTEuMTAK
V0lORE9XSUQ9NDE5NDMwNTcKV0lORE9XUEFUSD03ClhER19EQVRBX0RJUlM9L3Vzci9sb2NhbC9z
aGFyZS86L3Vzci9zaGFyZS86L3Vzci9zaGFyZS9nZG0vClhESVI9L3VzcgpYRFBWRVI9NApYUFNF
UlZFUkxJU1Q9Cl89UEtHX0lOU1RBTExfTUFTSwpfRV9ET0NERVNUVFJFRV89Cl9FX0VYRURFU1RU
UkVFXz0KX19fRUNMQVNTX1JFQ1VSX01VTFRJTElCPXllcwpfX19FQ0xBU1NfUkVDVVJfVE9PTENI
QUlOX0ZVTkNTPXllcwpfcGlwZXN0YXR1cz0nMCAwJwpjb25mPXhmODYtdmlkZW8tYXRpLTYuOC4w
LXIxCng9L3Vzci9wb3J0YWdlL3gxMS1kcml2ZXJzL3hmODYtdmlkZW8tYXRpL2ZpbGVzLzYuOC4w
LzAxMzQtRGlzYWJsZS10aGUtc2V0dGluZy1vZi1IQVJEV0FSRV9DVVJTT1JfQklUX09SREVSX01T
Qi5wYXRjaApFTFRfZmluZF9sdG1haW5fc2ggKCkgCnsgCiAgICBsb2NhbCB4PTsKICAgIGxvY2Fs
IGRpcmxpc3Q9OwogICAgZm9yIHggaW4gJChmaW5kICIke1N9IiAtbmFtZSAnbHRtYWluLnNoJyk7
CiAgICBkbwogICAgICAgIGRpcmxpc3Q9IiR7ZGlybGlzdH0gJHt4JS8qfSI7CiAgICBkb25lOwog
ICAgZWNobyAiJHtkaXJsaXN0fSIKfQpFTFRfbGlidG9vbF92ZXJzaW9uICgpIAp7IAogICAgbG9j
YWwgbHRtYWluX3NoPSQxOwogICAgbG9jYWwgdmVyc2lvbj07CiAgICB2ZXJzaW9uPSQoZXZhbCAk
KGdyZXAgLWUgJ15bWzpzcGFjZTpdXSpWRVJTSU9OPScgIiR7bHRtYWluX3NofSIpOyAJICAgICAg
ICAgICAgICAgICBlY2hvICIke1ZFUlNJT059Iik7CiAgICBbWyAteiAke3ZlcnNpb259IF1dICYm
IHZlcnNpb249IjAiOwogICAgZWNobyAiJHt2ZXJzaW9ufSIKfQpFTFRfdHJ5X2FuZF9hcHBseV9w
YXRjaCAoKSAKeyAKICAgIGxvY2FsIHJldD0wOwogICAgbG9jYWwgZmlsZT0kMTsKICAgIGxvY2Fs
IHBhdGNoPSQyOwogICAgaWYgcGF0Y2ggLXAwIC0tZHJ5LXJ1biAiJHtmaWxlfSIgIiR7cGF0Y2h9
IiA+JiIke1R9L2VsaWJ0b29sLmxvZyI7IHRoZW4KICAgICAgICBlaW5mbyAiICBBcHBseWluZyAk
KGJhc2VuYW1lICIkKGRpcm5hbWUgIiR7cGF0Y2h9IikiKS0ke3BhdGNoIyMqL30ucGF0Y2ggLi4u
IjsKICAgICAgICBwYXRjaCAtcDAgLWcwIC0tbm8tYmFja3VwLWlmLW1pc21hdGNoICIke2ZpbGV9
IiAiJHtwYXRjaH0iID4mIiR7VH0vZWxpYnRvb2wubG9nIjsKICAgICAgICByZXQ9JD87CiAgICAg
ICAgZXhwb3J0IEVMVF9BUFBMSUVEX1BBVENIRVM9IiR7RUxUX0FQUExJRURfUEFUQ0hFU30gJHtw
YXRjaCMjKi99IjsKICAgIGVsc2UKICAgICAgICByZXQ9MTsKICAgIGZpOwogICAgcmV0dXJuICIk
e3JldH0iCn0KRUxUX3dhbGtfcGF0Y2hlcyAoKSAKeyAKICAgIGxvY2FsIHg9OwogICAgbG9jYWwg
eT07CiAgICBsb2NhbCByZXQ9MTsKICAgIGxvY2FsIGZpbGU9JDE7CiAgICBsb2NhbCBwYXRjaF9z
ZXQ9JDI7CiAgICBsb2NhbCBwYXRjaF9kaXI9OwogICAgbG9jYWwgcmVtX2ludF9kZXA9JDM7CiAg
ICBpZiBbWyAtbiAke3BhdGNoX3NldH0gXV07IHRoZW4KICAgICAgICBpZiBbWyAtZCAke0VMVF9Q
QVRDSF9ESVJ9LyR7cGF0Y2hfc2V0fSBdXTsgdGhlbgogICAgICAgICAgICBwYXRjaF9kaXI9IiR7
RUxUX1BBVENIX0RJUn0vJHtwYXRjaF9zZXR9IjsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHJl
dHVybiAiJHtyZXR9IjsKICAgICAgICBmaTsKICAgICAgICBmb3IgeCBpbiAkKGxzIC1kICIke3Bh
dGNoX2Rpcn0iLyogMj4gL2Rldi9udWxsIHwgZ3JlcCAtdiAnQ1ZTJyB8IHNvcnQgLXIpOwogICAg
ICAgIGRvCiAgICAgICAgICAgIGlmIFtbIC1uICR7eH0gJiYgLWYgJHt4fSBdXTsgdGhlbgogICAg
ICAgICAgICAgICAgaWYgW1sgLW4gJHtyZW1faW50X2RlcH0gXV07IHRoZW4KICAgICAgICAgICAg
ICAgICAgICBzZWQgLWUgInN8QFJFTV9JTlRfREVQQHwke3JlbV9pbnRfZGVwfXxnIiAke3h9ID4g
IiR7VH0vJCQucmVtX2ludF9kZXBzLnBhdGNoIjsKICAgICAgICAgICAgICAgICAgICB4PSIke1R9
LyQkLnJlbV9pbnRfZGVwcy5wYXRjaCI7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAg
ICAgIGlmIEVMVF90cnlfYW5kX2FwcGx5X3BhdGNoICIke2ZpbGV9IiAiJHt4fSI7IHRoZW4KICAg
ICAgICAgICAgICAgICAgICByZXQ9MDsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgICAgIGZpOwogICAgICAgICAgICBmaTsKICAgICAgICBkb25lOwogICAgZmk7CiAgICBy
ZXR1cm4gIiR7cmV0fSIKfQpWRVJfbWFqb3IgKCkgCnsgCiAgICBbWyAteiAkMSBdXSAmJiByZXR1
cm4gMTsKICAgIGxvY2FsIFZFUj0kQDsKICAgIGVjaG8gIiR7VkVSJSVbXls6ZGlnaXQ6XV0qfSIK
fQpWRVJfbWljcm8gKCkgCnsgCiAgICBbWyAteiAkMSBdXSAmJiByZXR1cm4gMTsKICAgIGxvY2Fs
IFZFUj0kQDsKICAgIFZFUj0ke1ZFUiMqLioufTsKICAgIGVjaG8gIiR7VkVSJSVbXls6ZGlnaXQ6
XV0qfSIKfQpWRVJfbWlub3IgKCkgCnsgCiAgICBbWyAteiAkMSBdXSAmJiByZXR1cm4gMTsKICAg
IGxvY2FsIFZFUj0kQDsKICAgIFZFUj0ke1ZFUiMqLn07CiAgICBlY2hvICIke1ZFUiUlW15bOmRp
Z2l0Ol1dKn0iCn0KVkVSX3RvX2ludCAoKSAKeyAKICAgIFtbIC16ICQxIF1dICYmIHJldHVybiAx
OwogICAgbG9jYWwgVkVSX01BSk9SPSQoVkVSX21ham9yICIkMSIpOwogICAgbG9jYWwgVkVSX01J
Tk9SPSQoVkVSX21pbm9yICIkMSIpOwogICAgbG9jYWwgVkVSX01JQ1JPPSQoVkVSX21pY3JvICIk
MSIpOwogICAgbG9jYWwgVkVSX2ludD0kKCggVkVSX01BSk9SICogNjU1MzYgKyBWRVJfTUlOT1Ig
KiAyNTYgKyBWRVJfTUlDUk8gKSk7CiAgICBpZiBbWyAke1ZFUl9pbnR9IC1nZSA2NTUzNiBdXTsg
dGhlbgogICAgICAgIGVjaG8gIiR7VkVSX2ludH0iOwogICAgICAgIHJldHVybiAwOwogICAgZmk7
CiAgICBlY2hvIDE7CiAgICByZXR1cm4gMQp9Cl9jZHJvbV9sb2NhdGVfZmlsZV9vbl9jZCAoKSAK
eyAKICAgIGxvY2FsIG1saW5lPSIiOwogICAgbG9jYWwgc2hvd2VkbXNnPTAgc2hvd2pvbGlldG1z
Zz0wOwogICAgd2hpbGUgW1sgLXogJHtDRFJPTV9ST09UfSBdXTsgZG8KICAgICAgICBsb2NhbCBp
PTA7CiAgICAgICAgbG9jYWwgLWEgY2RzZXQ9KCR7Ki8vOi8gfSk7CiAgICAgICAgaWYgW1sgLW4g
JHtDRFJPTV9TRVR9IF1dOyB0aGVuCiAgICAgICAgICAgIGNkc2V0PSgke2Nkc2V0WyR7Q0RST01f
U0VUfV19KTsKICAgICAgICBmaTsKICAgICAgICB3aGlsZSBbWyAtbiAke2Nkc2V0WyR7aX1dfSBd
XTsgZG8KICAgICAgICAgICAgbG9jYWwgZGlyPSQoZGlybmFtZSAke2Nkc2V0WyR7aX1dfSk7CiAg
ICAgICAgICAgIGxvY2FsIGZpbGU9JChiYXNlbmFtZSAke2Nkc2V0WyR7aX1dfSk7CiAgICAgICAg
ICAgIGxvY2FsIHBvaW50PSBub2RlPSBmcz0gZm9vPTsKICAgICAgICAgICAgd2hpbGUgcmVhZCBw
b2ludCBub2RlIGZzIGZvbzsgZG8KICAgICAgICAgICAgICAgIFtbICIgY2Q5NjYwIGlzbzk2NjAg
dWRmICIgIT0gKiIgJHtmc30gIiogXV0gJiYgISBbWyAke2ZzfSA9PSAic3ViZnMiICYmICIsJHtv
cHRzfSwiID09ICoiLGZzPWNkZnNzLCIqIF1dICYmIGNvbnRpbnVlOwogICAgICAgICAgICAgICAg
cG9pbnQ9JHtwb2ludC8vXDA0MC8gfTsKICAgICAgICAgICAgICAgIFtbICEgLWQgJHtwb2ludH0v
JHtkaXJ9IF1dICYmIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgW1sgLXogJChmaW5kICIke3Bv
aW50fS8ke2Rpcn0iIC1tYXhkZXB0aCAxIC1pbmFtZSAiJHtmaWxlfSIpIF1dICYmIGNvbnRpbnVl
OwogICAgICAgICAgICAgICAgZXhwb3J0IENEUk9NX1JPT1Q9JHtwb2ludH07CiAgICAgICAgICAg
ICAgICBleHBvcnQgQ0RST01fU0VUPSR7aX07CiAgICAgICAgICAgICAgICBleHBvcnQgQ0RST01f
TUFUQ0g9JHtjZHNldFske2l9XX07CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAg
IGRvbmUgPDw8ICIkKGdldF9tb3VudHMpIjsKICAgICAgICAgICAgKCgrK2kpKTsKICAgICAgICBk
b25lOwogICAgICAgIGVjaG87CiAgICAgICAgaWYgW1sgJHtzaG93ZWRtc2d9IC1lcSAwIF1dOyB0
aGVuCiAgICAgICAgICAgIGlmIFtbICR7Q0RST01fVE9UQUxfQ0RTfSAtZXEgMSBdXTsgdGhlbgog
ICAgICAgICAgICAgICAgaWYgW1sgLXogJHtDRFJPTV9OQU1FfSBdXTsgdGhlbgogICAgICAgICAg
ICAgICAgICAgIGVpbmZvICJQbGVhc2UgaW5zZXJ0K21vdW50IHRoZSBjZHJvbSBmb3IgJHtQTn0g
bm93ICEiOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGVpbmZvICJQ
bGVhc2UgaW5zZXJ0K21vdW50IHRoZSAke0NEUk9NX05BTUV9IGNkcm9tIG5vdyAhIjsKICAgICAg
ICAgICAgICAgIGZpOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBpZiBbWyAteiAk
e0NEUk9NX05BTUVfMX0gXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICBlaW5mbyAiUGxlYXNl
IGluc2VydCttb3VudCBjZCAjJHtDRFJPTV9DVVJSRU5UX0NEfSBmb3IgJHtQTn0gbm93ICEiOwog
ICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGxvY2FsIHZhcj0iQ0RST01f
TkFNRV8ke0NEUk9NX0NVUlJFTlRfQ0R9IjsKICAgICAgICAgICAgICAgICAgICBlaW5mbyAiUGxl
YXNlIGluc2VydCttb3VudCB0aGUgJHshdmFyfSBjZHJvbSBub3cgISI7CiAgICAgICAgICAgICAg
ICBmaTsKICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIHNob3dlZG1zZz0xOwogICAgICAgIGZp
OwogICAgICAgIGVpbmZvICJQcmVzcyByZXR1cm4gdG8gc2NhbiBmb3IgdGhlIGNkIGFnYWluIjsK
ICAgICAgICBlaW5mbyAib3IgaGl0IENUUkwrQyB0byBhYm9ydCB0aGUgZW1lcmdlLiI7CiAgICAg
ICAgZWNobzsKICAgICAgICBpZiBbWyAke3Nob3dqb2xpZXRtc2d9IC1lcSAwIF1dOyB0aGVuCiAg
ICAgICAgICAgIHNob3dqb2xpZXRtc2c9MTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGV3YXJu
ICJJZiB5b3UgYXJlIGhhdmluZyB0cm91YmxlIHdpdGggdGhlIGRldGVjdGlvbiI7CiAgICAgICAg
ICAgIGV3YXJuICJvZiB5b3VyIENELCBpdCBpcyBwb3NzaWJsZSB0aGF0IHlvdSBkbyBub3QgaGF2
ZSI7CiAgICAgICAgICAgIGV3YXJuICJKb2xpZXQgc3VwcG9ydCBlbmFibGVkIGluIHlvdXIga2Vy
bmVsLiAgUGxlYXNlIjsKICAgICAgICAgICAgZXdhcm4gImNoZWNrIHRoYXQgQ09ORklHX0pPTElF
VCBpcyBlbmFibGVkIGluIHlvdXIga2VybmVsLiI7CiAgICAgICAgICAgIGViZWVwIDU7CiAgICAg
ICAgZmk7CiAgICAgICAgcmVhZCB8fCBkaWUgInNvbWV0aGluZyBpcyBzY3Jld2VkIHdpdGggeW91
ciBzeXN0ZW0iOwogICAgZG9uZQp9Cl9lbGlidG9vbGl6ZSAoKSAKeyAKICAgIGxvY2FsIG9wdHM7
CiAgICBbWyAtbiAkKGF1dG90b29sc19jaGVja19tYWNybyBBQ19QUk9HX0xJQlRPT0wgQU1fUFJP
R19MSUJUT09MIExUX0lOSVQpIF1dIHx8IHJldHVybiAwOwogICAgW1sgLWYgR05VbWFrZWZpbGUu
YW0gfHwgLWYgTWFrZWZpbGUuYW0gXV0gJiYgb3B0cz0iLS1hdXRvbWFrZSI7CiAgICBbWyAiJHtV
U0VSTEFORH0iID09ICJEYXJ3aW4iIF1dICYmIExJQlRPT0xJWkU9ImdsaWJ0b29saXplIjsKICAg
IGF1dG90b29sc19ydW5fdG9vbCAke0xJQlRPT0xJWkU6LWxpYnRvb2xpemV9ICIkQCIgJHtvcHRz
fTsKICAgIGVhY2xvY2FsCn0KX2VwYXRjaF9hc3NlcnQgKCkgCnsgCiAgICBsb2NhbCBfcGlwZXN0
YXR1cz0ke1BJUEVTVEFUVVNbKl19OwogICAgW1sgJHtfcGlwZXN0YXR1cy8vIC99IC1lcSAwIF1d
Cn0KX2VwYXRjaF9kcmF3X2xpbmUgKCkgCnsgCiAgICBbWyAteiAkMSBdXSAmJiBzZXQgIiQocHJp
bnRmICIlNjVzIiAnJykiOwogICAgZWNobyAiJHsxLy8/Lz19Igp9Cl9maWx0ZXItaGFyZGVuZWQg
KCkgCnsgCiAgICBsb2NhbCBmOwogICAgZm9yIGYgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgY2Fz
ZSAiJHtmfSIgaW4gCiAgICAgICAgICAgIC1mUElDIHwgLWZwaWMgfCAtZlBJRSB8IC1mcGllIHwg
LVdsLHBpZSB8IC1waWUpCiAgICAgICAgICAgICAgICBnY2Mtc3BlY3MtcGllIHx8IGNvbnRpbnVl
OwogICAgICAgICAgICAgICAgaXMtZmxhZ3EgLW5vcGllIHx8IGFwcGVuZC1mbGFncyAtbm9waWUK
ICAgICAgICAgICAgOzsKICAgICAgICAgICAgLWZzdGFjay1wcm90ZWN0b3IpCiAgICAgICAgICAg
ICAgICBnY2Mtc3BlY3Mtc3NwIHx8IGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaXMtZmxhZ3Eg
LWZuby1zdGFjay1wcm90ZWN0b3IgfHwgYXBwZW5kLWZsYWdzIC1mbm8tc3RhY2stcHJvdGVjdG9y
CiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIC1mc3RhY2stcHJvdGVjdG9yLWFsbCkKICAgICAg
ICAgICAgICAgIGdjYy1zcGVjcy1zc3AtdG8tYWxsIHx8IGNvbnRpbnVlOwogICAgICAgICAgICAg
ICAgaXMtZmxhZ3EgLWZuby1zdGFjay1wcm90ZWN0b3ItYWxsIHx8IGFwcGVuZC1mbGFncyAtZm5v
LXN0YWNrLXByb3RlY3Rvci1hbGwKICAgICAgICAgICAgOzsKICAgICAgICBlc2FjOwogICAgZG9u
ZQp9Cl9maWx0ZXItdmFyICgpIAp7IAogICAgbG9jYWwgZiB4IFZBUiBWQUw7CiAgICBkZWNsYXJl
IC1hIG5ldzsKICAgIFZBUj0kMTsKICAgIHNoaWZ0OwogICAgZXZhbCBWQUw9XCR7JHtWQVJ9fTsK
ICAgIGZvciBmIGluICR7VkFMfTsKICAgIGRvCiAgICAgICAgZm9yIHggaW4gIiRAIjsKICAgICAg
ICBkbwogICAgICAgICAgICBbWyAke2Z9ID09ICR7eH0gXV0gJiYgY29udGludWUgMjsKICAgICAg
ICBkb25lOwogICAgICAgIGV2YWwgbmV3XFtcJHtcI25ld1xbQF19XT1cJHtmfTsKICAgIGRvbmU7
CiAgICBldmFsIGV4cG9ydCAke1ZBUn09XCR7bmV3XFsqXX0KfQpfZ2NjLWluc3RhbGwtZGlyICgp
IAp7IAogICAgZWNobyAiJChMQ19BTEw9QyAkKHRjLWdldENDKSAtcHJpbnQtc2VhcmNoLWRpcnMg
Mj4gL2Rldi9udWxsIHwJCWF3ayAnJDE9PSJpbnN0YWxsOiIge3ByaW50ICQyfScpIgp9Cl9nY2Mt
c3BlY3MtZGlyZWN0aXZlX3JhdyAoKSAKeyAKICAgIGxvY2FsIGNjPSQodGMtZ2V0Q0MpOwogICAg
bG9jYWwgc3BlY2ZpbGVzPSQoTENfQUxMPUMgJHtjY30gLXYgMj4mMSB8IGF3ayAnJDE9PSJSZWFk
aW5nIiB7cHJpbnQgJE5GfScpOwogICAgJHtjY30gLWR1bXBzcGVjcyAyPiAvZGV2L251bGwgfCBj
YXQgLSAke3NwZWNmaWxlc30gfCBhd2sgLXYgZGlyZWN0aXZlPSQxICdCRUdJTgl7IHBzcGVjPSIi
OyBzcGVjPSIiOyBvdXRzaWRlPTEgfQokMT09IioiZGlyZWN0aXZlIjoiICB7IHBzcGVjPXNwZWM7
IHNwZWM9IiI7IG91dHNpZGU9MDsgbmV4dCB9CglvdXRzaWRlIHx8IE5GPT0wIHx8ICggc3Vic3Ry
KCQxLDEsMSk9PSIqIiAmJiBzdWJzdHIoJDEsbGVuZ3RoKCQxKSwxKT09IjoiICkgeyBvdXRzaWRl
PTE7IG5leHQgfQoJc3BlYz09IiIgJiYgc3Vic3RyKCQwLDEsMSk9PSIrIiB7IHNwZWM9cHNwZWMg
IiAiIHN1YnN0cigkMCwyKTsgbmV4dCB9Cgl7IHNwZWM9c3BlYyAkMCB9CkVORAl7IHByaW50IHNw
ZWMgfSc7CiAgICByZXR1cm4gMAp9Cl9nY2Mtc3BlY3MtZXhpc3RzICgpIAp7IAogICAgW1sgLWYg
JChfZ2NjLWluc3RhbGwtZGlyKS8kMSBdXQp9Cl9pc19mbGFncSAoKSAKeyAKICAgIGxvY2FsIHg7
CiAgICBmb3IgeCBpbiAkeyExfTsKICAgIGRvCiAgICAgICAgW1sgJHt4fSA9PSAkMiBdXSAmJiBy
ZXR1cm4gMDsKICAgIGRvbmU7CiAgICByZXR1cm4gMQp9CmFwcGVuZC1jcHBmbGFncyAoKSAKeyAK
ICAgIFtbIC16ICQqIF1dICYmIHJldHVybiAwOwogICAgZXhwb3J0IENQUEZMQUdTPSIke0NQUEZM
QUdTfSAkKiI7CiAgICByZXR1cm4gMAp9CmFwcGVuZC1mbGFncyAoKSAKeyAKICAgIFtbIC16ICQq
IF1dICYmIHJldHVybiAwOwogICAgZXhwb3J0IENGTEFHUz0iJHtDRkxBR1N9ICQqIjsKICAgIGV4
cG9ydCBDWFhGTEFHUz0iJHtDWFhGTEFHU30gJCoiOwogICAgcmV0dXJuIDAKfQphcHBlbmQtbGRm
bGFncyAoKSAKeyAKICAgIFtbIC16ICQqIF1dICYmIHJldHVybiAwOwogICAgbG9jYWwgZmxhZzsK
ICAgIGZvciBmbGFnIGluICIkQCI7CiAgICBkbwogICAgICAgIFtbICR7ZmxhZ30gPT0gLWwqIF1d
ICYmIGV3YXJuICJBcHBlbmRpbmcgYSBsaWJyYXJ5IGxpbmsgaW5zdHJ1Y3Rpb24gKCR7ZmxhZ30p
OyBsaWJyYXJpZXMgdG8gbGluayB0byBzaG91bGQgbm90IGJlIHBhc3NlZCB0aHJvdWdoIExERkxB
R1MiOwogICAgZG9uZTsKICAgIGV4cG9ydCBMREZMQUdTPSIke0xERkxBR1N9ICQqIjsKICAgIHJl
dHVybiAwCn0KYXBwZW5kLWxmcy1mbGFncyAoKSAKeyAKICAgIFtbIC1uICRAIF1dICYmIGRpZSAi
YXBwZW5kLWxmcy1mbGFncyB0YWtlcyBubyBhcmd1bWVudHMiOwogICAgYXBwZW5kLWNwcGZsYWdz
IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9MQVJHRUZJTEU2
NF9TT1VSQ0UKfQphdXRvdG9vbHNfY2hlY2tfbWFjcm8gKCkgCnsgCiAgICBbWyAtZiBjb25maWd1
cmUuYWMgfHwgLWYgY29uZmlndXJlLmluIF1dIHx8IHJldHVybiAwOwogICAgbG9jYWwgbWFjcm87
CiAgICBmb3IgbWFjcm8gaW4gIiRAIjsKICAgIGRvCiAgICAgICAgV0FOVF9BVVRPQ09ORj0iMi41
IiBhdXRvY29uZiAtLXRyYWNlPSIke21hY3JvfSIgMj4gL2Rldi9udWxsOwogICAgZG9uZTsKICAg
IHJldHVybiAwCn0KYXV0b3Rvb2xzX2dldF9hdXhkaXIgKCkgCnsgCiAgICBsb2NhbCBhdXhkaXJf
c2Nhbl9vdXQ7CiAgICBhdXhkaXJfc2Nhbl9vdXQ9JChhdXRvdG9vbHNfY2hlY2tfbWFjcm8gIkFD
X0NPTkZJR19BVVhfRElSIik7CiAgICBbWyAtbiAke2F1eGRpcl9zY2FuX291dH0gXV0gfHwgcmV0
dXJuIDA7CiAgICBlY2hvICR7YXV4ZGlyX3NjYW5fb3V0fSB8IGdhd2sgJygkMCAhfiAvXltbOnNw
YWNlOl1dKigjfGRubCkvKSB7CgkJaWYgKG1hdGNoKCQwLCAvQUNfQ09ORklHX0FVWF9ESVI6KC4q
KSQvLCByZXMpKQoJCQlwcmludCByZXNbMV0KCX0nIHwgdW5pcTsKICAgIHJldHVybiAwCn0KYXV0
b3Rvb2xzX2dldF9zdWJkaXJzICgpIAp7IAogICAgbG9jYWwgc3ViZGlyc19zY2FuX291dDsKICAg
IHN1YmRpcnNfc2Nhbl9vdXQ9JChhdXRvdG9vbHNfY2hlY2tfbWFjcm8gIkFDX0NPTkZJR19TVUJE
SVJTIik7CiAgICBbWyAtbiAke3N1YmRpcnNfc2Nhbl9vdXR9IF1dIHx8IHJldHVybiAwOwogICAg
ZWNobyAiJHtzdWJkaXJzX3NjYW5fb3V0fSIgfCBnYXdrICcoJDAgIX4gL15bWzpzcGFjZTpdXSoo
I3xkbmwpLykgewoJCWlmIChtYXRjaCgkMCwgL0FDX0NPTkZJR19TVUJESVJTOiguKikkLywgcmVz
KSkKCQkJcHJpbnQgcmVzWzFdCgl9JyB8IHVuaXE7CiAgICByZXR1cm4gMAp9CmF1dG90b29sc19y
dW5fdG9vbCAoKSAKeyAKICAgIGlmIFtbICR7RUJVSUxEX1BIQVNFfSAhPSAidW5wYWNrIiBdXTsg
dGhlbgogICAgICAgIGV3YXJuICJRQSBXYXJuaW5nOiBydW5uaW5nICQxIGluICR7RUJVSUxEX1BI
QVNFfSBwaGFzZSI7CiAgICBmaTsKICAgIGxvY2FsIFNUREVSUl9UQVJHRVQ9IiR7VH0vJCQub3V0
IjsKICAgIGxvY2FsIHJpczsKICAgIHByaW50ZiAiKioqKiogJDEgKioqKipcbioqKioqICQqXG5c
biIgPiAiJHtTVERFUlJfVEFSR0VUJS8qfS8kMS0ke1NUREVSUl9UQVJHRVQjIyovfSI7CiAgICBl
YmVnaW4gIlJ1bm5pbmcgJEAiOwogICAgIiRAIiA+PiAiJHtTVERFUlJfVEFSR0VUJS8qfS8kMS0k
e1NUREVSUl9UQVJHRVQjIyovfSIgMj4mMTsKICAgIHJpcz0kPzsKICAgIGVlbmQgJHtyaXN9Owog
ICAgaWYgW1sgJHtyaXN9ICE9IDAgJiYgJHtOT19GQUlMfSAhPSAxIF1dOyB0aGVuCiAgICAgICAg
ZWNobzsKICAgICAgICBlZXJyb3IgIkZhaWxlZCBSdW5uaW5nICQxICEiOwogICAgICAgIGVlcnJv
cjsKICAgICAgICBlZXJyb3IgIkluY2x1ZGUgaW4geW91ciBidWdyZXBvcnQgdGhlIGNvbnRlbnRz
IG9mOiI7CiAgICAgICAgZWVycm9yOwogICAgICAgIGVlcnJvciAiICAke1NUREVSUl9UQVJHRVQl
Lyp9LyQxLSR7U1RERVJSX1RBUkdFVCMjKi99IjsKICAgICAgICBlY2hvOwogICAgICAgIGRpZSAi
RmFpbGVkIFJ1bm5pbmcgJDEgISI7CiAgICBmaQp9CmJpbmRub3ctZmxhZ3MgKCkgCnsgCiAgICBl
d2FybiAiUUE6IHN0b3AgdXNpbmcgdGhlIGJpbmRub3ctZmxhZ3MgZnVuY3Rpb24gLi4uIHNpbXBs
eSBkcm9wIGl0IGZyb20geW91ciBlYnVpbGQiIDE+JjI7CiAgICBjYXNlICQoJCh0Yy1nZXRMRCkg
LXYgMj4mMSA8L2Rldi9udWxsKSBpbiAKICAgICAgICAqR05VKiB8ICond2l0aCBCRkQnKikKICAg
ICAgICAgICAgZWNobyAiLVdsLC16LG5vdyIKICAgICAgICA7OwogICAgICAgICpBcHBsZSopCiAg
ICAgICAgICAgIGVjaG8gIi1iaW5kX2F0X2xvYWQiCiAgICAgICAgOzsKICAgICAgICAqKQogICAg
ICAgICAgICBjYXNlICQoJCh0Yy1nZXRMRCkgLVYgMj4mMSA8L2Rldi9udWxsKSBpbiAKICAgICAg
ICAgICAgICAgICpTb2xhcmlzKikKICAgICAgICAgICAgICAgICAgICBlY2hvICItV2wsLXosbm93
IgogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgZXNhYwogICAgICAgIDs7CiAgICBlc2Fj
Cn0KYnVpbHRfd2l0aF91c2UgKCkgCnsgCiAgICBsb2NhbCBoaWRkZW49Im5vIjsKICAgIGlmIFtb
ICQxID09ICItLWhpZGRlbiIgXV07IHRoZW4KICAgICAgICBoaWRkZW49InllcyI7CiAgICAgICAg
c2hpZnQ7CiAgICBmaTsKICAgIGxvY2FsIG1pc3NpbmdfYWN0aW9uPSJkaWUiOwogICAgaWYgW1sg
JDEgPT0gIi0tbWlzc2luZyIgXV07IHRoZW4KICAgICAgICBtaXNzaW5nX2FjdGlvbj0kMjsKICAg
ICAgICBzaGlmdDsKICAgICAgICBzaGlmdDsKICAgICAgICBjYXNlICR7bWlzc2luZ19hY3Rpb259
IGluIAogICAgICAgICAgICB0cnVlIHwgZmFsc2UgfCBkaWUpCgogICAgICAgICAgICA7OwogICAg
ICAgICAgICAqKQogICAgICAgICAgICAgICAgZGllICJ1bmtub3duIGFjdGlvbiAnJHttaXNzaW5n
X2FjdGlvbn0nIgogICAgICAgICAgICA7OwogICAgICAgIGVzYWM7CiAgICBmaTsKICAgIGxvY2Fs
IG9wdD0kMTsKICAgIFtbICR7b3B0OjA6MX0gPSAiLSIgXV0gJiYgc2hpZnQgfHwgb3B0PSItYSI7
CiAgICBsb2NhbCBQS0c9JChiZXN0X3ZlcnNpb24gJDEpOwogICAgW1sgLXogJHtQS0d9IF1dICYm
IGRpZSAiVW5hYmxlIHRvIHJlc29sdmUgJDEgdG8gYW4gaW5zdGFsbGVkIHBhY2thZ2UiOwogICAg
c2hpZnQ7CiAgICBsb2NhbCBVU0VGSUxFPSR7Uk9PVH0vdmFyL2RiL3BrZy8ke1BLR30vVVNFOwog
ICAgbG9jYWwgSVVTRUZJTEU9JHtST09UfS92YXIvZGIvcGtnLyR7UEtHfS9JVVNFOwogICAgaWYg
W1sgISAtZSAke1VTRUZJTEV9IF1dIHx8IFtbICEgLWUgJHtJVVNFRklMRX0gJiYgJHtoaWRkZW59
ID09ICJubyIgXV07IHRoZW4KICAgICAgICBjYXNlICR7bWlzc2luZ19hY3Rpb259IGluIAogICAg
ICAgICAgICB0cnVlKQogICAgICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICAgICAgOzsKICAg
ICAgICAgICAgZmFsc2UpCiAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAgICA7Owog
ICAgICAgICAgICBkaWUpCiAgICAgICAgICAgICAgICBkaWUgIlVuYWJsZSB0byBkZXRlcm1pbmUg
d2hhdCBVU0UgZmxhZ3MgJFBLRyB3YXMgYnVpbHQgd2l0aCIKICAgICAgICAgICAgOzsKICAgICAg
ICBlc2FjOwogICAgZmk7CiAgICBpZiBbWyAke2hpZGRlbn0gPT0gIm5vIiBdXTsgdGhlbgogICAg
ICAgIGxvY2FsIElVU0VfQlVJTFQ9KCQoPCIke0lVU0VGSUxFfSIpKTsKICAgICAgICBsb2NhbCBl
eHBhbmQ7CiAgICAgICAgZm9yIGV4cGFuZCBpbiAkKGVjaG8gJHtVU0VfRVhQQU5EfSB8IHRyICdb
OnVwcGVyOl0nICdbOmxvd2VyOl0nKTsKICAgICAgICBkbwogICAgICAgICAgICBpZiBbWyAkMSA9
PSAke2V4cGFuZH1fKiBdXTsgdGhlbgogICAgICAgICAgICAgICAgZXhwYW5kPSIiOwogICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICAgICAgaWYg
W1sgLW4gJHtleHBhbmR9IF1dOyB0aGVuCiAgICAgICAgICAgIGlmICEgaGFzICQxICR7SVVTRV9C
VUlMVFtAXSNbLStdfTsgdGhlbgogICAgICAgICAgICAgICAgY2FzZSAke21pc3NpbmdfYWN0aW9u
fSBpbiAKICAgICAgICAgICAgICAgICAgICB0cnVlKQogICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gMAogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgZmFsc2Up
CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgICAgICAgICAgOzsK
ICAgICAgICAgICAgICAgICAgICBkaWUpCiAgICAgICAgICAgICAgICAgICAgICAgIGRpZSAiJFBL
RyBkb2VzIG5vdCBhY3R1YWxseSBzdXBwb3J0IHRoZSAkMSBVU0UgZmxhZyEiCiAgICAgICAgICAg
ICAgICAgICAgOzsKICAgICAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgIGZpOwogICAgICAg
IGZpOwogICAgZmk7CiAgICBsb2NhbCBVU0VfQlVJTFQ9JCg8JHtVU0VGSUxFfSk7CiAgICB3aGls
ZSBbWyAkIyAtZ3QgMCBdXTsgZG8KICAgICAgICBpZiBbWyAke29wdH0gPSAiLW8iIF1dOyB0aGVu
CiAgICAgICAgICAgIGhhcyAkMSAke1VTRV9CVUlMVH0gJiYgcmV0dXJuIDA7CiAgICAgICAgZWxz
ZQogICAgICAgICAgICBoYXMgJDEgJHtVU0VfQlVJTFR9IHx8IHJldHVybiAxOwogICAgICAgIGZp
OwogICAgICAgIHNoaWZ0OwogICAgZG9uZTsKICAgIFtbICR7b3B0fSA9ICItYSIgXV0KfQpjZHJv
bV9nZXRfY2RzICgpIAp7IAogICAgbG9jYWwgY2RjbnQ9MDsKICAgIGxvY2FsIGY9OwogICAgZm9y
IGYgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgKCgrK2NkY250KSk7CiAgICAgICAgZXhwb3J0IENE
Uk9NX0NIRUNLXyR7Y2RjbnR9PSIkZiI7CiAgICBkb25lOwogICAgZXhwb3J0IENEUk9NX1RPVEFM
X0NEUz0ke2NkY250fTsKICAgIGV4cG9ydCBDRFJPTV9DVVJSRU5UX0NEPTE7CiAgICBpZiBbWyAt
biAke0NEX1JPT1R9JHtDRF9ST09UXzF9IF1dOyB0aGVuCiAgICAgICAgbG9jYWwgdmFyPTsKICAg
ICAgICBjZGNudD0wOwogICAgICAgIHdoaWxlIFtbICR7Y2RjbnR9IC1sdCAke0NEUk9NX1RPVEFM
X0NEU30gXV07IGRvCiAgICAgICAgICAgICgoKytjZGNudCkpOwogICAgICAgICAgICB2YXI9IkNE
X1JPT1RfJHtjZGNudH0iOwogICAgICAgICAgICBbWyAteiAkeyF2YXJ9IF1dICYmIHZhcj0iQ0Rf
Uk9PVCI7CiAgICAgICAgICAgIGlmIFtbIC16ICR7IXZhcn0gXV07IHRoZW4KICAgICAgICAgICAg
ICAgIGVlcnJvciAiWW91IG11c3QgZWl0aGVyIHVzZSBqdXN0IHRoZSBDRF9ST09UIjsKICAgICAg
ICAgICAgICAgIGVlcnJvciAib3Igc3BlY2lmeSBBTEwgdGhlIENEX1JPT1RfWCB2YXJpYWJsZXMu
IjsKICAgICAgICAgICAgICAgIGVlcnJvciAiSW4gdGhpcyBjYXNlLCB5b3Ugd2lsbCBuZWVkICR7
Q0RST01fVE9UQUxfQ0RTfSBDRF9ST09UX1ggdmFyaWFibGVzLiI7CiAgICAgICAgICAgICAgICBk
aWUgImNvdWxkIG5vdCBsb2NhdGUgQ0RfUk9PVF8ke2NkY250fSI7CiAgICAgICAgICAgIGZpOwog
ICAgICAgIGRvbmU7CiAgICAgICAgZXhwb3J0IENEUk9NX1JPT1Q9JHtDRF9ST09UXzE6LSR7Q0Rf
Uk9PVH19OwogICAgICAgIGVpbmZvICJGb3VuZCBDRCAjJHtDRFJPTV9DVVJSRU5UX0NEfSByb290
IGF0ICR7Q0RST01fUk9PVH0iOwogICAgICAgIGV4cG9ydCBDRFJPTV9TRVQ9LTE7CiAgICAgICAg
Zm9yIGYgaW4gJHtDRFJPTV9DSEVDS18xLy86LyB9OwogICAgICAgIGRvCiAgICAgICAgICAgICgo
KytDRFJPTV9TRVQpKTsKICAgICAgICAgICAgW1sgLWUgJHtDRF9ST09UfS8ke2Z9IF1dICYmIGJy
ZWFrOwogICAgICAgIGRvbmU7CiAgICAgICAgZXhwb3J0IENEUk9NX01BVENIPSR7Zn07CiAgICAg
ICAgcmV0dXJuOwogICAgZmk7CiAgICBpZiBbWyAke0NEUk9NX1RPVEFMX0NEU30gLWVxIDEgXV07
IHRoZW4KICAgICAgICBlaW5mbyAiVGhpcyBlYnVpbGQgd2lsbCBuZWVkIHRoZSAke0NEUk9NX05B
TUU6LWNkcm9tIGZvciAke1BOfX0iOwogICAgICAgIGVjaG87CiAgICAgICAgZWluZm8gIklmIHlv
dSBkbyBub3QgaGF2ZSB0aGUgQ0QsIGJ1dCBoYXZlIHRoZSBkYXRhIGZpbGVzIjsKICAgICAgICBl
aW5mbyAibW91bnRlZCBzb21ld2hlcmUgb24geW91ciBmaWxlc3lzdGVtLCBqdXN0IGV4cG9ydCI7
CiAgICAgICAgZWluZm8gInRoZSB2YXJpYWJsZSBDRF9ST09UIHNvIHRoYXQgaXQgcG9pbnRzIHRv
IHRoZSI7CiAgICAgICAgZWluZm8gImRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBmaWxlcy4iOwog
ICAgICAgIGVjaG87CiAgICAgICAgZWluZm8gIkZvciBleGFtcGxlOiI7CiAgICAgICAgZWluZm8g
ImV4cG9ydCBDRF9ST09UPS9tbnQvY2Ryb20iOwogICAgICAgIGVjaG87CiAgICBlbHNlCiAgICAg
ICAgaWYgW1sgLW4gJHtDRFJPTV9OQU1FX1NFVH0gXV07IHRoZW4KICAgICAgICAgICAgY2RjbnQ9
MDsKICAgICAgICAgICAgd2hpbGUgW1sgJHtjZGNudH0gLWx0ICR7Q0RST01fVE9UQUxfQ0RTfSBd
XTsgZG8KICAgICAgICAgICAgICAgICgoKytjZGNudCkpOwogICAgICAgICAgICAgICAgZXhwb3J0
IENEUk9NX05BTUVfJHtjZGNudH09IiR7Q0RST01fTkFNRV9TRVRbJCgoJHtjZGNudH0tMSkpXX0i
OwogICAgICAgICAgICBkb25lOwogICAgICAgIGZpOwogICAgICAgIGVpbmZvICJUaGlzIHBhY2th
Z2Ugd2lsbCBuZWVkIGFjY2VzcyB0byAke0NEUk9NX1RPVEFMX0NEU30gY2RzLiI7CiAgICAgICAg
Y2RjbnQ9MDsKICAgICAgICB3aGlsZSBbWyAke2NkY250fSAtbHQgJHtDRFJPTV9UT1RBTF9DRFN9
IF1dOyBkbwogICAgICAgICAgICAoKCsrY2RjbnQpKTsKICAgICAgICAgICAgdmFyPSJDRFJPTV9O
QU1FXyR7Y2RjbnR9IjsKICAgICAgICAgICAgW1sgISAteiAkeyF2YXJ9IF1dICYmIGVpbmZvICIg
Q0QgJHtjZGNudH06ICR7IXZhcn0iOwogICAgICAgIGRvbmU7CiAgICAgICAgZWNobzsKICAgICAg
ICBlaW5mbyAiSWYgeW91IGRvIG5vdCBoYXZlIHRoZSBDRHMsIGJ1dCBoYXZlIHRoZSBkYXRhIGZp
bGVzIjsKICAgICAgICBlaW5mbyAibW91bnRlZCBzb21ld2hlcmUgb24geW91ciBmaWxlc3lzdGVt
LCBqdXN0IGV4cG9ydCI7CiAgICAgICAgZWluZm8gInRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIHNv
IHRoZXkgcG9pbnQgdG8gdGhlIHJpZ2h0IHBsYWNlOiI7CiAgICAgICAgZWluZm9uICIiOwogICAg
ICAgIGNkY250PTA7CiAgICAgICAgd2hpbGUgW1sgJHtjZGNudH0gLWx0ICR7Q0RST01fVE9UQUxf
Q0RTfSBdXTsgZG8KICAgICAgICAgICAgKCgrK2NkY250KSk7CiAgICAgICAgICAgIGVjaG8gLW4g
IiBDRF9ST09UXyR7Y2RjbnR9IjsKICAgICAgICBkb25lOwogICAgICAgIGVjaG87CiAgICAgICAg
ZWluZm8gIk9yLCBpZiB5b3UgaGF2ZSBhbGwgdGhlIGZpbGVzIGluIHRoZSBzYW1lIHBsYWNlLCBv
ciI7CiAgICAgICAgZWluZm8gInlvdSBvbmx5IGhhdmUgb25lIGNkcm9tLCB5b3UgY2FuIGV4cG9y
dCBDRF9ST09UIjsKICAgICAgICBlaW5mbyAiYW5kIHRoYXQgcGxhY2Ugd2lsbCBiZSB1c2VkIGFz
IHRoZSBzYW1lIGRhdGEgc291cmNlIjsKICAgICAgICBlaW5mbyAiZm9yIGFsbCB0aGUgQ0RzLiI7
CiAgICAgICAgZWNobzsKICAgICAgICBlaW5mbyAiRm9yIGV4YW1wbGU6IjsKICAgICAgICBlaW5m
byAiZXhwb3J0IENEX1JPT1RfMT0vbW50L2Nkcm9tIjsKICAgICAgICBlY2hvOwogICAgZmk7CiAg
ICBleHBvcnQgQ0RST01fU0VUPSIiOwogICAgZXhwb3J0IENEUk9NX0NVUlJFTlRfQ0Q9MDsKICAg
IGNkcm9tX2xvYWRfbmV4dF9jZAp9CmNkcm9tX2xvYWRfbmV4dF9jZCAoKSAKeyAKICAgIGxvY2Fs
IHZhcjsKICAgICgoKytDRFJPTV9DVVJSRU5UX0NEKSk7CiAgICB1bnNldCBDRFJPTV9ST09UOwog
ICAgdmFyPUNEX1JPT1RfJHtDRFJPTV9DVVJSRU5UX0NEfTsKICAgIFtbIC16ICR7IXZhcn0gXV0g
JiYgdmFyPSJDRF9ST09UIjsKICAgIGlmIFtbIC16ICR7IXZhcn0gXV07IHRoZW4KICAgICAgICB2
YXI9IkNEUk9NX0NIRUNLXyR7Q0RST01fQ1VSUkVOVF9DRH0iOwogICAgICAgIF9jZHJvbV9sb2Nh
dGVfZmlsZV9vbl9jZCAkeyF2YXJ9OwogICAgZWxzZQogICAgICAgIGV4cG9ydCBDRFJPTV9ST09U
PSR7IXZhcn07CiAgICBmaTsKICAgIGVpbmZvICJGb3VuZCBDRCAjJHtDRFJPTV9DVVJSRU5UX0NE
fSByb290IGF0ICR7Q0RST01fUk9PVH0iCn0KY2hlY2tfbGljZW5zZSAoKSAKeyAKICAgIGxvY2Fs
IGxpYz0kMTsKICAgIGlmIFsgLXogIiR7bGljfSIgXTsgdGhlbgogICAgICAgIGxpYz0iJHtQT1JU
RElSfS9saWNlbnNlcy8ke0xJQ0VOU0V9IjsKICAgIGVsc2UKICAgICAgICBpZiBbIC1lICIke1BP
UlRESVJ9L2xpY2Vuc2VzLyR7bGljfSIgXTsgdGhlbgogICAgICAgICAgICBsaWM9IiR7UE9SVERJ
Un0vbGljZW5zZXMvJHtsaWN9IjsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGlmIFsgLWUgIiR7
UFdEfS8ke2xpY30iIF07IHRoZW4KICAgICAgICAgICAgICAgIGxpYz0iJHtQV0R9LyR7bGljfSI7
CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGlmIFsgLWUgIiR7bGljfSIgXTsgdGhl
bgogICAgICAgICAgICAgICAgICAgIGxpYz0iJHtsaWN9IjsKICAgICAgICAgICAgICAgIGZpOwog
ICAgICAgICAgICBmaTsKICAgICAgICBmaTsKICAgIGZpOwogICAgWyAhIC1mICIke2xpY30iIF0g
JiYgZGllICJDb3VsZCBub3QgZmluZCByZXF1ZXN0ZWQgbGljZW5zZSAke2xpY30iOwogICAgbG9j
YWwgbD0iYGJhc2VuYW1lICR7bGljfWAiOwogICAgbG9jYWwgc2hvcHRzPSQtOwogICAgbG9jYWwg
YWxpYzsKICAgIHNldCAtbyBub2dsb2I7CiAgICBmb3IgYWxpYyBpbiAke0FDQ0VQVF9MSUNFTlNF
fTsKICAgIGRvCiAgICAgICAgaWYgW1sgJHthbGljfSA9PSAke2x9IF1dOyB0aGVuCiAgICAgICAg
ICAgIHNldCArbyBub2dsb2I7CiAgICAgICAgICAgIHNldCAtJHtzaG9wdHN9OwogICAgICAgICAg
ICByZXR1cm4gMDsKICAgICAgICBmaTsKICAgIGRvbmU7CiAgICBzZXQgK28gbm9nbG9iOwogICAg
c2V0IC0kc2hvcHRzOwogICAgbG9jYWwgbGljbXNnPSQoZW1rdGVtcCk7CiAgICBjYXQgPiAke2xp
Y21zZ30gIDw8LUVPRgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqClRoZSBmb2xsb3dpbmcgbGljZW5zZSBvdXRsaW5lcyB0aGUgdGVybXMg
b2YgdXNlIG9mIHRoaXMKcGFja2FnZS4gIFlvdSBNVVNUIGFjY2VwdCB0aGlzIGxpY2Vuc2UgZm9y
IGluc3RhbGxhdGlvbiB0bwpjb250aW51ZS4gIFdoZW4geW91IGFyZSBkb25lIHZpZXdpbmcsIGhp
dCAncScuCUlmIHlvdQpDVFJMK0Mgb3V0IG9mIHRoaXMsIHRoZSBpbnN0YWxsIHdpbGwgbm90IHJ1
biEKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgoKRU9GCgogICAgY2F0ICR7bGljfSA+PiAke2xpY21zZ307CiAgICAke1BBR0VSOi1sZXNz
fSAke2xpY21zZ30gfHwgZGllICJDb3VsZCBub3QgZXhlY3V0ZSBwYWdlciAoJHtQQUdFUn0pIHRv
IGFjY2VwdCAke2xpY30iOwogICAgZWluZm9uICJEbyB5b3UgYWNjZXB0IHRoZSB0ZXJtcyBvZiB0
aGlzIGxpY2Vuc2UgKCR7bH0pPyBbeWVzL25vXSAiOwogICAgcmVhZCBhbGljOwogICAgY2FzZSAk
e2FsaWN9IGluIAogICAgICAgIHllcyB8IFllcyB8IHkgfCBZKQogICAgICAgICAgICByZXR1cm4g
MAogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgZWNo
bzsKICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgZWVycm9yICJZb3UgTVVTVCBhY2NlcHQg
dGhlIGxpY2Vuc2UgdG8gY29udGludWUhICBFeGl0aW5nISI7CiAgICAgICAgICAgIGRpZSAiRmFp
bGVkIHRvIGFjY2VwdCBsaWNlbnNlIgogICAgICAgIDs7CiAgICBlc2FjCn0KY2xlYW51cF9mb250
cyAoKSAKeyAKICAgIGxvY2FsIEFMTE9XRURfRklMRVM9ImVuY29kaW5ncy5kaXIgZm9udHMuY2Fj
aGUtMSBmb250cy5kaXIgZm9udHMuc2NhbGUiOwogICAgZm9yIERJUiBpbiAke0ZPTlRfRElSfTsK
ICAgIGRvCiAgICAgICAgdW5zZXQgS0VFUF9GT05URElSOwogICAgICAgIFJFQUxfRElSPSR7Uk9P
VH11c3Ivc2hhcmUvZm9udHMvJHtESVJ9OwogICAgICAgIGViZWdpbiAiQ2hlY2tpbmcgJHtSRUFM
X0RJUn0gZm9yIHVzZWxlc3MgZmlsZXMiOwogICAgICAgIHB1c2hkICR7UkVBTF9ESVJ9ID4mL2Rl
di9udWxsOwogICAgICAgIGZvciBGSUxFIGluICo7CiAgICAgICAgZG8KICAgICAgICAgICAgdW5z
ZXQgTUFUQ0g7CiAgICAgICAgICAgIGZvciBBTExPV0VEX0ZJTEUgaW4gJHtBTExPV0VEX0ZJTEVT
fTsKICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgIGlmIFtbICR7RklMRX0gPSAke0FMTE9X
RURfRklMRX0gXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICBNQVRDSD0ieWVzIjsKICAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBkb25l
OwogICAgICAgICAgICBpZiBbWyAtbiAke01BVENIfSBdXTsgdGhlbgogICAgICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgICAgIGZpOwogICAgICAgICAgICBLRUVQX0ZPTlRESVI9InllcyI7
CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGRvbmU7CiAgICAgICAgcG9wZCA+Ji9kZXYvbnVs
bDsKICAgICAgICBpZiBbWyAteiAiJHtLRUVQX0ZPTlRESVJ9IiBdXTsgdGhlbgogICAgICAgICAg
ICBybSAtcmYgJHtSRUFMX0RJUn07CiAgICAgICAgZmk7CiAgICAgICAgZWVuZCAwOwogICAgZG9u
ZQp9CmNyZWF0ZV9mb250X2NhY2hlICgpIAp7IAogICAgZm9udF9wa2dfcG9zdGluc3QKfQpjcmVh
dGVfZm9udHNfZGlyICgpIAp7IAogICAgZWJlZ2luICJHZW5lcmF0aW5nIGZvbnRzLmRpciBmaWxl
cyI7CiAgICBmb3IgRElSIGluICR7Rk9OVF9ESVJ9OwogICAgZG8KICAgICAgICB4PSR7Uk9PVH0v
dXNyL3NoYXJlL2ZvbnRzLyR7RElSfTsKICAgICAgICBbWyAteiAiJChscyAke3h9LykiIF1dICYm
IGNvbnRpbnVlOwogICAgICAgIFtbICIkKGxzICR7eH0vKSIgPSAiZm9udHMuY2FjaGUtMSIgXV0g
JiYgY29udGludWU7CiAgICAgICAgaWYgW1sgIiR7eC9lbmNvZGluZ3N9IiA9ICIke3h9IiBdXTsg
dGhlbgogICAgICAgICAgICBta2ZvbnRkaXIgLWUgJHtST09UfS91c3Ivc2hhcmUvZm9udHMvZW5j
b2RpbmdzIC1lICR7Uk9PVH0vdXNyL3NoYXJlL2ZvbnRzL2VuY29kaW5ncy9sYXJnZSAtLSAke3h9
OwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIGVlbmQgMAp9CmNyZWF0ZV9mb250c19zY2FsZSAo
KSAKeyAKICAgIGViZWdpbiAiQ3JlYXRpbmcgZm9udHMuc2NhbGUgZmlsZXMiOwogICAgbG9jYWwg
eDsKICAgIGZvciBESVIgaW4gJHtGT05UX0RJUn07CiAgICBkbwogICAgICAgIHg9JHtST09UfS91
c3Ivc2hhcmUvZm9udHMvJHtESVJ9OwogICAgICAgIFtbIC16ICIkKGxzICR7eH0vKSIgXV0gJiYg
Y29udGludWU7CiAgICAgICAgW1sgIiQobHMgJHt4fS8pIiA9ICJmb250cy5jYWNoZS0xIiBdXSAm
JiBjb250aW51ZTsKICAgICAgICBpZiBbWyAiJHt4L2VuY29kaW5nc30iID0gIiR7eH0iIF1dICYm
IFtbIC1uICIkKGZpbmQgJHt4fSAtaW5hbWUgJyouW3BvdF1bZnRdW2FiY2ZdJyAtcHJpbnQpIiBd
XTsgdGhlbgogICAgICAgICAgICBta2ZvbnRzY2FsZSAtYSAke1JPT1R9L3Vzci9zaGFyZS9mb250
cy9lbmNvZGluZ3MvZW5jb2RpbmdzLmRpciAtLSAke3h9OwogICAgICAgIGZpOwogICAgZG9uZTsK
ICAgIGVlbmQgMAp9CmNyZWF0ZV9tbF9pbmNsdWRlcyAoKSAKeyAKICAgIGxvY2FsIGRlc3Q9JDE7
CiAgICBzaGlmdDsKICAgIGxvY2FsIGJhc2VkaXJzPSQoY3JlYXRlX21sX2luY2x1ZGVzLWxpc3Rk
aXJzICIkQCIpOwogICAgY3JlYXRlX21sX2luY2x1ZGVzLW1ha2VkZXN0ZGlycyAke2Rlc3R9ICR7
YmFzZWRpcnN9OwogICAgbG9jYWwgZmlsZTsKICAgIGZvciBmaWxlIGluICQoY3JlYXRlX21sX2lu
Y2x1ZGVzLWFsbGZpbGVzICR7YmFzZWRpcnN9KTsKICAgIGRvCiAgICAgICAgKCBlY2hvICIvKiBB
dXRvZ2VuZXJhdGVkIGJ5IGNyZWF0ZV9tbF9pbmNsdWRlcygpIGluIG11bHRpbGliLmVjbGFzcyAq
LyI7CiAgICAgICAgbG9jYWwgZGlyOwogICAgICAgIGZvciBkaXIgaW4gJHtiYXNlZGlyc307CiAg
ICAgICAgZG8KICAgICAgICAgICAgaWYgW1sgLWYgJHtEfS8ke2Rpcn0vJHtmaWxlfSBdXTsgdGhl
bgogICAgICAgICAgICAgICAgZWNobyAiIjsKICAgICAgICAgICAgICAgIGxvY2FsIHN5bT0kKGNy
ZWF0ZV9tbF9pbmNsdWRlcy1zeW1fZm9yX2RpciAke2Rpcn0gIiRAIik7CiAgICAgICAgICAgICAg
ICBpZiBbWyAke3N5bS89fSAhPSAiJHtzeW19IiBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAg
IGVjaG8gIiNpZiAke3N5bX0iOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg
ICAgIGlmIFtbICR7c3ltOjoxfSA9PSAiISIgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAg
ICAgZWNobyAiI2lmbmRlZiAke3N5bToxfSI7CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgICAgICAgICBlY2hvICIjaWZkZWYgJHtzeW19IjsKICAgICAgICAgICAgICAg
ICAgICBmaTsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgZWNobyAiIyBpbmNs
dWRlIDwkKGNyZWF0ZV9tbF9pbmNsdWRlcy1hYnNvbHV0ZSAke2Rpcn0vJHtmaWxlfSk+IjsKICAg
ICAgICAgICAgICAgIGVjaG8gIiNlbmRpZiAvKiAke3N5bX0gKi8iOwogICAgICAgICAgICBmaTsK
ICAgICAgICBkb25lICkgPiAiJHtEfS8ke2Rlc3R9LyR7ZmlsZX0iOwogICAgZG9uZQp9CmNyZWF0
ZV9tbF9pbmNsdWRlcy1hYnNvbHV0ZSAoKSAKeyAKICAgIGxvY2FsIGRzdD0iJChjcmVhdGVfbWxf
aW5jbHVkZXMtdGlkeV9wYXRoICQxKSI7CiAgICBkc3Q9KCR7ZHN0Ly9cLy8gfSk7CiAgICBsb2Nh
bCBpOwogICAgZm9yICgoaT0wOyBpPCR7I2RzdFsqXX07IGkrKykpCiAgICBkbwogICAgICAgIFsg
IiR7ZHN0W2ldfSIgPT0gImluY2x1ZGUiIF0gJiYgYnJlYWs7CiAgICBkb25lOwogICAgbG9jYWwg
c3RyaXBfdXB0bz0kaTsKICAgIGZvciAoKGk9c3RyaXBfdXB0bysxOyBpPCR7I2RzdFsqXX0tMTsg
aSsrKSkKICAgIGRvCiAgICAgICAgZWNobyAtbiAke2RzdFtpXX0vOwogICAgZG9uZTsKICAgIGVj
aG8gLW4gJHtkc3RbaV19Cn0KY3JlYXRlX21sX2luY2x1ZGVzLWFsbGZpbGVzICgpIAp7IAogICAg
bG9jYWwgYmFzZWRpciBmaWxlOwogICAgZm9yIGJhc2VkaXIgaW4gIiRAIjsKICAgIGRvCiAgICAg
ICAgZm9yIGZpbGUgaW4gJChmaW5kICIke0R9Ii8ke2Jhc2VkaXJ9IC10eXBlIGYpOwogICAgICAg
IGRvCiAgICAgICAgICAgIGVjaG8gJHtmaWxlLyR7RH1cLyR7YmFzZWRpcn1cLy99OwogICAgICAg
IGRvbmU7CiAgICBkb25lIHwgc29ydCB8IHVuaXEKfQpjcmVhdGVfbWxfaW5jbHVkZXMtbGlzdGRp
cnMgKCkgCnsgCiAgICBsb2NhbCBkaXJzOwogICAgbG9jYWwgZGF0YTsKICAgIGZvciBkYXRhIGlu
ICIkQCI7CiAgICBkbwogICAgICAgIGRpcnM9IiR7ZGlyc30gJHtkYXRhLyo6L30iOwogICAgZG9u
ZTsKICAgIGVjaG8gJHtkaXJzOjF9Cn0KY3JlYXRlX21sX2luY2x1ZGVzLW1ha2VkZXN0ZGlycyAo
KSAKeyAKICAgIGxvY2FsIGRlc3Q9JDE7CiAgICBzaGlmdDsKICAgIGxvY2FsIGJhc2VkaXJzPSRA
OwogICAgZG9kaXIgJHtkZXN0fTsKICAgIGxvY2FsIGJhc2VkaXI7CiAgICBmb3IgYmFzZWRpciBp
biAke2Jhc2VkaXJzfTsKICAgIGRvCiAgICAgICAgbG9jYWwgZGlyOwogICAgICAgIGZvciBkaXIg
aW4gJChmaW5kICR7RH0vJHtiYXNlZGlyfSAtdHlwZSBkKTsKICAgICAgICBkbwogICAgICAgICAg
ICBkb2RpciAke2Rlc3R9LyR7ZGlyLyR7RH1cLyR7YmFzZWRpcn0vfTsKICAgICAgICBkb25lOwog
ICAgZG9uZQp9CmNyZWF0ZV9tbF9pbmNsdWRlcy1zeW1fZm9yX2RpciAoKSAKeyAKICAgIGxvY2Fs
IGRpcj0kMTsKICAgIHNoaWZ0OwogICAgbG9jYWwgZGF0YTsKICAgIGZvciBkYXRhIGluICIkQCI7
CiAgICBkbwogICAgICAgIGlmIFtbICR7ZGF0YX0gPT0gKjoke2Rpcn0gXV07IHRoZW4KICAgICAg
ICAgICAgZWNobyAke2RhdGEvOiovfTsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgZmk7
CiAgICBkb25lOwogICAgZWNobyAiU2hvdWxkbid0IGJlIGhlcmUgLS0gY3JlYXRlX21sX2luY2x1
ZGVzLXN5bV9mb3JfZGlyICQxICRAIjsKICAgIGV4aXQgMQp9CmNyZWF0ZV9tbF9pbmNsdWRlcy10
aWR5X3BhdGggKCkgCnsgCiAgICBsb2NhbCByZW1vdmVkPSQxOwogICAgaWYgWyAtbiAiJHtyZW1v
dmVkfSIgXTsgdGhlbgogICAgICAgIHdoaWxlIFsgIiR7cmVtb3ZlZH0iICE9ICIke3JlbW92ZWQv
XC9cLy9cL30iIF07IGRvCiAgICAgICAgICAgIHJlbW92ZWQ9JHtyZW1vdmVkL1wvXC8vXC99Owog
ICAgICAgIGRvbmU7CiAgICAgICAgd2hpbGUgWyAiJHtyZW1vdmVkfSIgIT0gIiR7cmVtb3ZlZC8v
XC8uXC8vXC99IiBdOyBkbwogICAgICAgICAgICByZW1vdmVkPSR7cmVtb3ZlZC8vXC8uXC8vXC99
OwogICAgICAgIGRvbmU7CiAgICAgICAgWyAiJHtyZW1vdmVkIyMqL30iID0gIi4iIF0gJiYgcmVt
b3ZlZD0ke3JlbW92ZWQlLyp9OwogICAgICAgIHdoaWxlIFsgIiR7cmVtb3ZlZH0iICE9ICIke3Jl
bW92ZWQvL1wvLi5cL30iIF07IGRvCiAgICAgICAgICAgIGxvY2FsIHAxPSIke3JlbW92ZWQlJVwv
Li5cLyp9IjsKICAgICAgICAgICAgbG9jYWwgcDI9IiR7cmVtb3ZlZCMqXC8uLlwvfSI7CiAgICAg
ICAgICAgIHJlbW92ZWQ9IiR7cDElXC8qfS8ke3AyfSI7CiAgICAgICAgZG9uZTsKICAgICAgICBb
ICIke3JlbW92ZWQjIyovfSIgPSAiLi4iIF0gJiYgcmVtb3ZlZD0ke3JlbW92ZWQlLyovKn07CiAg
ICAgICAgWyAiJHtyZW1vdmVkIyMqL30iID0gIiIgXSAmJiByZW1vdmVkPSR7cmVtb3ZlZCUvKn07
CiAgICAgICAgZWNobyAke3JlbW92ZWR9OwogICAgZmkKfQpkYXJ3aW50b29saXplICgpIAp7IAog
ICAgZXdhcm4gImRhcndpbnRvb2xpemUoKSBpcyBkZXByZWNhdGVkLCBwbGVhc2UganVzdCB1c2Ug
ZWxpYnRvb2xpemUoKSEiOwogICAgZWxpYnRvb2xpemUKfQpkaXNjb3Zlcl9mb250X2RpcnMgKCkg
CnsgCiAgICBGT05UX0RJUlM9IiR7Rk9OVF9ESVJ9Igp9CmRsb3Blbl9saWIgKCkgCnsgCiAgICBp
ZiBbWyAke0VMSUJDfSAhPSAqQlNEIF1dOyB0aGVuCiAgICAgICAgZWNobyAiLWxkbCI7CiAgICBm
aQp9CmRvaWNvbiAoKSAKeyAKICAgICggbG9jYWwgaSBqIHJldDsKICAgIGluc2ludG8gL3Vzci9z
aGFyZS9waXhtYXBzOwogICAgZm9yIGkgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgaWYgW1sgLWYg
JHtpfSBdXTsgdGhlbgogICAgICAgICAgICBkb2lucyAiJHtpfSI7CiAgICAgICAgICAgICgocmV0
Kz0kPykpOwogICAgICAgIGVsc2UKICAgICAgICAgICAgaWYgW1sgLWQgJHtpfSBdXTsgdGhlbgog
ICAgICAgICAgICAgICAgZm9yIGogaW4gIiR7aX0iLyoucG5nOwogICAgICAgICAgICAgICAgZG8K
ICAgICAgICAgICAgICAgICAgICBkb2lucyAiJHtqfSI7CiAgICAgICAgICAgICAgICAgICAgKChy
ZXQrPSQ/KSk7CiAgICAgICAgICAgICAgICBkb25lOwogICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAoKCsrcmV0KSk7CiAgICAgICAgICAgIGZpOwogICAgICAgIGZpOwogICAgZG9uZTsK
ICAgIGV4aXQgJHtyZXR9ICkKfQpkb21lbnUgKCkgCnsgCiAgICAoIGxvY2FsIGkgaiByZXQ9MDsK
ICAgIGluc2ludG8gL3Vzci9zaGFyZS9hcHBsaWNhdGlvbnM7CiAgICBmb3IgaSBpbiAiJEAiOwog
ICAgZG8KICAgICAgICBpZiBbWyAtZiAke2l9IF1dOyB0aGVuCiAgICAgICAgICAgIGRvaW5zICIk
e2l9IjsKICAgICAgICAgICAgKChyZXQrPSQ/KSk7CiAgICAgICAgZWxzZQogICAgICAgICAgICBp
ZiBbWyAtZCAke2l9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICBmb3IgaiBpbiAiJHtpfSIvKi5k
ZXNrdG9wOwogICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAgICBkb2lucyAiJHtq
fSI7CiAgICAgICAgICAgICAgICAgICAgKChyZXQrPSQ/KSk7CiAgICAgICAgICAgICAgICBkb25l
OwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAoKCsrcmV0KSk7CiAgICAgICAgICAg
IGZpOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIGV4aXQgJHtyZXR9ICkKfQplYWNsb2NhbCAo
KSAKeyAKICAgIGxvY2FsIGFjbG9jYWxfb3B0czsKICAgIGxvY2FsIGFtZmxhZ3NfZmlsZTsKICAg
IGZvciBhbWZsYWdzX2ZpbGUgaW4gR05VbWFrZWZpbGUuYW0gTWFrZWZpbGUuYW0gR05VbWFrZWZp
bGUuaW4gTWFrZWZpbGUuaW47CiAgICBkbwogICAgICAgIFtbIC1lICR7YW1mbGFnc19maWxlfSBd
XSB8fCBjb250aW51ZTsKICAgICAgICBhY2xvY2FsX29wdHM9JChzZWQgLW4gJy9eQUNMT0NBTF9B
TUZMQUdTW1s6c3BhY2U6XV0qPS9zOltePV0qPTo6cCcgJHthbWZsYWdzX2ZpbGV9KTsKICAgICAg
ICBldmFsIGFjbG9jYWxfb3B0cz1cIiR7YWNsb2NhbF9vcHRzfVwiOwogICAgICAgIGJyZWFrOwog
ICAgZG9uZTsKICAgIGlmIFtbIC1uICR7QVRfTTRESVJ9IF1dOyB0aGVuCiAgICAgICAgZm9yIHgg
aW4gJHtBVF9NNERJUn07CiAgICAgICAgZG8KICAgICAgICAgICAgY2FzZSAiJHt4fSIgaW4gCiAg
ICAgICAgICAgICAgICAiLUkiKQoKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAq
KQogICAgICAgICAgICAgICAgICAgIFtbICEgLWQgJHt4fSBdXSAmJiBld2FybiAiZWFjbG9jYWw6
ICcke3h9JyBkb2VzIG5vdCBleGlzdCI7CiAgICAgICAgICAgICAgICAgICAgYWNsb2NhbF9vcHRz
PSIke2FjbG9jYWxfb3B0c30gLUkgJHt4fSIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAg
IGVzYWM7CiAgICAgICAgZG9uZTsKICAgIGZpOwogICAgW1sgISAtZiBhY2xvY2FsLm00IHx8IC1u
ICQoZ3JlcCAtZSAnZ2VuZXJhdGVkLipieSBhY2xvY2FsJyBhY2xvY2FsLm00KSBdXSAmJiBhdXRv
dG9vbHNfcnVuX3Rvb2wgYWNsb2NhbCAiJEAiICR7YWNsb2NhbF9vcHRzfQp9CmVhdXRvY29uZiAo
KSAKeyAKICAgIGlmIFtbICEgLWYgY29uZmlndXJlLmFjICYmICEgLWYgY29uZmlndXJlLmluIF1d
OyB0aGVuCiAgICAgICAgZWNobzsKICAgICAgICBlZXJyb3IgIk5vIGNvbmZpZ3VyZS57YWMsaW59
IHByZXNlbnQgaW4gJyQocHdkIHwgc2VkIC1lICdzOi4qLzo6JyknISI7CiAgICAgICAgZWNobzsK
ICAgICAgICBkaWUgIk5vIGNvbmZpZ3VyZS57YWMsaW59IHByZXNlbnQhIjsKICAgIGZpOwogICAg
YXV0b3Rvb2xzX3J1bl90b29sIGF1dG9jb25mICIkQCIKfQplYXV0b2hlYWRlciAoKSAKeyAKICAg
IFtbIC1uICQoYXV0b3Rvb2xzX2NoZWNrX21hY3JvICJBQ19DT05GSUdfSEVBREVSUyIpIF1dIHx8
IHJldHVybiAwOwogICAgTk9fRkFJTD0xIGF1dG90b29sc19ydW5fdG9vbCBhdXRvaGVhZGVyICIk
QCIKfQplYXV0b21ha2UgKCkgCnsgCiAgICBsb2NhbCBleHRyYV9vcHRzOwogICAgbG9jYWwgbWFr
ZWZpbGVfbmFtZTsKICAgIGlmIFtbIC1mIEdOVW1ha2VmaWxlLmFtIF1dOyB0aGVuCiAgICAgICAg
bWFrZWZpbGVfbmFtZT0iR05VbWFrZWZpbGUiOwogICAgZWxzZQogICAgICAgIGlmIFtbIC1mIE1h
a2VmaWxlLmFtIF1dOyB0aGVuCiAgICAgICAgICAgIG1ha2VmaWxlX25hbWU9Ik1ha2VmaWxlIjsK
ICAgICAgICBlbHNlCiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIGZpOwogICAgZmk7CiAg
ICBpZiBbWyAteiAke0ZST01fRUFVVE9SRUNPTkZ9ICYmIC1mICR7bWFrZWZpbGVfbmFtZX0uaW4g
XV07IHRoZW4KICAgICAgICBsb2NhbCB1c2VkX2F1dG9tYWtlOwogICAgICAgIGxvY2FsIGluc3Rh
bGxlZF9hdXRvbWFrZTsKICAgICAgICBpbnN0YWxsZWRfYXV0b21ha2U9JChhdXRvbWFrZSAtLXZl
cnNpb24gfCBoZWFkIC1uIDEgfCAJCQlzZWQgLWUgJ3M6LiooR05VIGF1dG9tYWtlKSA6OicpOwog
ICAgICAgIHVzZWRfYXV0b21ha2U9JChoZWFkIC1uIDEgPCAke21ha2VmaWxlX25hbWV9LmluIHwg
CQkJc2VkIC1lICdzOi4qYnkgYXV0b21ha2UgXCguKlwpIGZyb20gLio6XDE6Jyk7CiAgICAgICAg
aWYgW1sgJHtpbnN0YWxsZWRfYXV0b21ha2V9ICE9ICR7dXNlZF9hdXRvbWFrZX0gXV07IHRoZW4K
ICAgICAgICAgICAgZWluZm8gIkF1dG9tYWtlIHVzZWQgZm9yIHRoZSBwYWNrYWdlICgke3VzZWRf
YXV0b21ha2V9KSBkaWZmZXJzIGZyb20iOwogICAgICAgICAgICBlaW5mbyAidGhlIGluc3RhbGxl
ZCB2ZXJzaW9uICgke2luc3RhbGxlZF9hdXRvbWFrZX0pLiI7CiAgICAgICAgICAgIGVhdXRvcmVj
b25mOwogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICBmaTsKICAgIGZpOwogICAgW1sgLWYg
SU5TVEFMTCAmJiAtZiBBVVRIT1JTICYmIC1mIENoYW5nZUxvZyAmJiAtZiBORVdTIF1dIHx8IGV4
dHJhX29wdHM9IiR7ZXh0cmFfb3B0c30gLS1mb3JlaWduIjsKICAgIGF1dG90b29sc19ydW5fdG9v
bCBhdXRvbWFrZSAtLWFkZC1taXNzaW5nIC0tY29weSAke2V4dHJhX29wdHN9ICIkQCIKfQplYXV0
b3JlY29uZiAoKSAKeyAKICAgIGxvY2FsIHB3ZD0kKHB3ZCkgeCBhdXhkaXI7CiAgICBpZiBbWyAt
eiAke0FUX05PX1JFQ1VSU0lWRX0gXV07IHRoZW4KICAgICAgICBmb3IgeCBpbiAkKGF1dG90b29s
c19nZXRfc3ViZGlycyk7CiAgICAgICAgZG8KICAgICAgICAgICAgaWYgW1sgLWQgJHt4fSBdXTsg
dGhlbgogICAgICAgICAgICAgICAgY2QgIiR7eH0iOwogICAgICAgICAgICAgICAgQVRfTk9FTElC
VE9PTElaRT0ieWVzIiBlYXV0b3JlY29uZjsKICAgICAgICAgICAgICAgIGNkICIke3B3ZH0iOwog
ICAgICAgICAgICBmaTsKICAgICAgICBkb25lOwogICAgZmk7CiAgICBhdXhkaXI9JChhdXRvdG9v
bHNfZ2V0X2F1eGRpcik7CiAgICBlaW5mbyAiUnVubmluZyBlYXV0b3JlY29uZiBpbiAnJChwd2Qp
JyAuLi4iOwogICAgW1sgLW4gJHthdXhkaXJ9IF1dICYmIG1rZGlyIC1wICR7YXV4ZGlyfTsKICAg
IGVhY2xvY2FsOwogICAgaWYgJHtMSUJUT09MSVpFOi1saWJ0b29saXplfSAtbiAtLWluc3RhbGwg
PiYvZGV2L251bGw7IHRoZW4KICAgICAgICBfZWxpYnRvb2xpemUgLS1jb3B5IC0tZm9yY2UgLS1p
bnN0YWxsOwogICAgZWxzZQogICAgICAgIF9lbGlidG9vbGl6ZSAtLWNvcHkgLS1mb3JjZTsKICAg
IGZpOwogICAgZWF1dG9jb25mOwogICAgZWF1dG9oZWFkZXI7CiAgICBGUk9NX0VBVVRPUkVDT05G
PSJ5ZXMiIGVhdXRvbWFrZSAke0FNX09QVFN9OwogICAgW1sgJHtBVF9OT0VMSUJUT09MSVpFfSA9
PSAieWVzIiBdXSAmJiByZXR1cm4gMDsKICAgIGVsaWJ0b29saXplOwogICAgcmV0dXJuIDAKfQpl
YmVlcCAoKSAKeyAKICAgIGxvY2FsIG47CiAgICBpZiBbWyAteiAke0VCRUVQX0lHTk9SRX0gXV07
IHRoZW4KICAgICAgICBmb3IgKChuPTEgOyBuIDw9ICR7MTotNX0gOyBuKyspKQogICAgICAgIGRv
CiAgICAgICAgICAgIGVjaG8gLW5lICJcYSI7CiAgICAgICAgICAgIHNsZWVwIDAuMSA+Ji9kZXYv
bnVsbDsKICAgICAgICAgICAgc2xlZXAgMCwxID4mL2Rldi9udWxsOwogICAgICAgICAgICBlY2hv
IC1uZSAiXGEiOwogICAgICAgICAgICBzbGVlcCAxOwogICAgICAgIGRvbmU7CiAgICBmaQp9CmVj
dnNfY2xlYW4gKCkgCnsgCiAgICBbWyAteiAkKiBdXSAmJiBzZXQgLS0gLjsKICAgIGZpbmQgIiRA
IiAtdHlwZSBkIC1uYW1lICdDVlMnIC1wcnVuZSAtcHJpbnQwIHwgeGFyZ3MgLTAgcm0gLXJmOwog
ICAgZmluZCAiJEAiIC10eXBlIGYgLW5hbWUgJy5jdnMqJyAtcHJpbnQwIHwgeGFyZ3MgLTAgcm0g
LXJmCn0KZWRvczJ1bml4ICgpIAp7IAogICAgZWNobyAiJEAiIHwgeGFyZ3Mgc2VkIC1pICdzL1xy
JC8vJwp9CmVnZXRlbnQgKCkgCnsgCiAgICBjYXNlICR7Q0hPU1R9IGluIAogICAgICAgICotZGFy
d2luKikKICAgICAgICAgICAgY2FzZSAiJDIiIGluIAogICAgICAgICAgICAgICAgKlshMC05XSop
CiAgICAgICAgICAgICAgICAgICAgbmlkdW1wICQxIC4gfCBhd2sgLUYiOiIgInsgaWYgKFwkMSB+
IC9eJDIkLykge3ByaW50IFwkMDtleGl0O30gfSIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgICAgICAqKQogICAgICAgICAgICAgICAgICAgIG5pZHVtcCAkMSAuIHwgYXdrIC1GIjoiICJ7
IGlmIChcJDMgPT0gJDIpIHtwcmludCBcJDA7ZXhpdDt9IH0iCiAgICAgICAgICAgICAgICA7Owog
ICAgICAgICAgICBlc2FjCiAgICAgICAgOzsKICAgICAgICAqLWZyZWVic2QqIHwgKi1kcmFnb25m
bHkqKQogICAgICAgICAgICBsb2NhbCBvcHRzIGFjdGlvbj0idXNlciI7CiAgICAgICAgICAgIFtb
ICQxID09ICJwYXNzd2QiIF1dIHx8IGFjdGlvbj0iZ3JvdXAiOwogICAgICAgICAgICBpZiBbWyAk
MiA9PSBbWzpkaWdpdDpdXSogXV07IHRoZW4KICAgICAgICAgICAgICAgIFtbICR7YWN0aW9ufSA9
PSAidXNlciIgXV0gJiYgb3B0cz0iLXUiIHx8IG9wdHM9Ii1nIjsKICAgICAgICAgICAgZmk7CiAg
ICAgICAgICAgIHB3IHNob3cgJHthY3Rpb259ICR7b3B0c30gIiQyIiAtcQogICAgICAgIDs7CiAg
ICAgICAgKi1uZXRic2QqIHwgKi1vcGVuYnNkKikKICAgICAgICAgICAgZ3JlcCAiJDI6XCo6IiAv
ZXRjLyQxCiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICB0eXBlIC1wIG5zY2QgPiYv
ZGV2L251bGwgJiYgbnNjZCAtaSAiJDEiOwogICAgICAgICAgICBnZXRlbnQgIiQxIiAiJDIiCiAg
ICAgICAgOzsKICAgIGVzYWMKfQplZ2V0aG9tZSAoKSAKeyAKICAgIGVudD0kKGVnZXRlbnQgcGFz
c3dkICQxKTsKICAgIGNhc2UgJHtDSE9TVH0gaW4gCiAgICAgICAgKi1kYXJ3aW4qIHwgKi1mcmVl
YnNkKiB8ICotZHJhZ29uZmx5KikKICAgICAgICAgICAgZWNobyAke2VudH0gfCBjdXQgLWQ6IC1m
OQogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgZWNobyAke2VudH0gfCBjdXQgLWQ6
IC1mNgogICAgICAgIDs7CiAgICBlc2FjCn0KZWdldHNoZWxsICgpIAp7IAogICAgZW50PSQoZWdl
dGVudCBwYXNzd2QgIiQxIik7CiAgICBjYXNlICR7Q0hPU1R9IGluIAogICAgICAgICotZGFyd2lu
KiB8ICotZnJlZWJzZCogfCAqLWRyYWdvbmZseSopCiAgICAgICAgICAgIGVjaG8gJHtlbnR9IHwg
Y3V0IC1kOiAtZjEwCiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBlY2hvICR7ZW50
fSBjdXQgLWQ6IC1mNwogICAgICAgIDs7CiAgICBlc2FjCn0KZWxpYnRvb2xpemUgKCkgCnsgCiAg
ICBsb2NhbCB4PTsKICAgIGxvY2FsIHk9OwogICAgbG9jYWwgZG9fcG9ydGFnZT0ibm8iOwogICAg
bG9jYWwgZG9fcmV2ZXJzZWRlcHM9Im5vIjsKICAgIGxvY2FsIGRvX29ubHlfcGF0Y2hlcz0ibm8i
OwogICAgbG9jYWwgZG9fdWNsaWJjPSJ5ZXMiOwogICAgbG9jYWwgZGVwdG9yZW1vdmU9OwogICAg
bG9jYWwgbXlfZGlybGlzdD07CiAgICBsb2NhbCBlbHRfcGF0Y2hlcz0iaW5zdGFsbC1zaCBsdG1h
aW4gcG9ydGFnZSByZWxpbmsgbWF4X2NtZF9sZW4gc2VkIHRlc3QgdG1wIjsKICAgIGxvY2FsIHN0
YXJ0X2Rpcj0ke1BXRH07CiAgICBteV9kaXJsaXN0PSQoRUxUX2ZpbmRfbHRtYWluX3NoKTsKICAg
IGZvciB4IGluICIkQCI7CiAgICBkbwogICAgICAgIGNhc2UgIiR7eH0iIGluIAogICAgICAgICAg
ICAiLS1wb3J0YWdlIikKICAgICAgICAgICAgICAgIGRvX3BvcnRhZ2U9InllcyIKICAgICAgICAg
ICAgOzsKICAgICAgICAgICAgIi0tcmV2ZXJzZS1kZXBzIikKICAgICAgICAgICAgICAgIGRvX3Jl
dmVyc2VkZXBzPSJ5ZXMiOwogICAgICAgICAgICAgICAgZWx0X3BhdGNoZXM9IiR7ZWx0X3BhdGNo
ZXN9IGZpeC1yZWxpbmsiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICItLXBhdGNoLW9ubHki
KQogICAgICAgICAgICAgICAgZG9fb25seV9wYXRjaGVzPSJ5ZXMiCiAgICAgICAgICAgIDs7CiAg
ICAgICAgICAgICJeLS1yZW1vdmUtaW50ZXJuYWwtZGVwPSIqKQogICAgICAgICAgICAgICAgZGVw
dG9yZW1vdmU9JChlY2hvICIke3h9IiB8IHNlZCAtZSAnc3wtLXJlbW92ZS1pbnRlcm5hbC1kZXA9
fHwnKTsKICAgICAgICAgICAgICAgIFtbIC1uICR7ZGVwdG9yZW1vdmV9IF1dICYmIGVsdF9wYXRj
aGVzPSIke2VsdF9wYXRjaGVzfSByZW0taW50LWRlcCIKICAgICAgICAgICAgOzsKICAgICAgICAg
ICAgIi0tc2hhbGxvdyIpCiAgICAgICAgICAgICAgICBpZiBbWyAtZiAke1N9L2x0bWFpbi5zaCBd
XTsgdGhlbgogICAgICAgICAgICAgICAgICAgIG15X2Rpcmxpc3Q9JHtTfTsKICAgICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBteV9kaXJsaXN0PTsKICAgICAgICAgICAgICAg
IGZpCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICItLW5vLXVjbGliYyIpCiAgICAgICAgICAg
ICAgICBkb191Y2xpYmM9Im5vIgogICAgICAgICAgICA7OwogICAgICAgICAgICAqKQogICAgICAg
ICAgICAgICAgZWVycm9yICJJbnZhbGlkIGVsaWJ0b29saXplIG9wdGlvbjogJHt4fSI7CiAgICAg
ICAgICAgICAgICBkaWUgImVsaWJ0b29saXplIGNhbGxlZCB3aXRoICR7eH0gPz8iCiAgICAgICAg
ICAgIDs7CiAgICAgICAgZXNhYzsKICAgIGRvbmU7CiAgICBbWyAke2RvX3VjbGliY30gPT0gInll
cyIgXV0gJiYgZWx0X3BhdGNoZXM9IiR7ZWx0X3BhdGNoZXN9IHVjbGliYy1jb25mIHVjbGliYy1s
dGNvbmYiOwogICAgW1sgJHtDSE9TVH0gPT0gKiItZnJlZWJzZCIqIF1dICYmIGVsdF9wYXRjaGVz
PSIke2VsdF9wYXRjaGVzfSBmYnNkLWNvbmYgZmJzZC1sdGNvbmYiOwogICAgW1sgJHtDSE9TVH0g
PT0gKiItZGFyd2luIiogXV0gJiYgZWx0X3BhdGNoZXM9IiR7ZWx0X3BhdGNoZXN9IGRhcndpbi1s
dGNvbmYgZGFyd2luLWx0bWFpbiI7CiAgICBmb3IgeCBpbiAke215X2Rpcmxpc3R9OwogICAgZG8K
ICAgICAgICBsb2NhbCB0bXA9JChlY2hvICIke3h9IiB8IHNlZCAtZSAic3wke1dPUktESVJ9fHwi
KTsKICAgICAgICBleHBvcnQgRUxUX0FQUExJRURfUEFUQ0hFUz07CiAgICAgICAgZXhwb3J0IEVM
VF9MVE1BSU5fU0g9IiR7eH0vbHRtYWluLnNoIjsKICAgICAgICBbWyAtZiAke3h9Ly5lbGlidG9v
bGl6ZWQgXV0gJiYgY29udGludWU7CiAgICAgICAgY2QgJHt4fTsKICAgICAgICBlaW5mbyAiUnVu
bmluZyBlbGlidG9vbGl6ZSBpbjogJChlY2hvICIvJHt0bXB9IiB8IHNlZCAtZSAnc3wvL3wvfGc7
IHN8Xi98fCcpIjsKICAgICAgICBmb3IgeSBpbiAke2VsdF9wYXRjaGVzfTsKICAgICAgICBkbwog
ICAgICAgICAgICBsb2NhbCByZXQ9MDsKICAgICAgICAgICAgY2FzZSAiJHt5fSIgaW4gCiAgICAg
ICAgICAgICAgICAicG9ydGFnZSIpCiAgICAgICAgICAgICAgICAgICAgaWYgW1sgLXogJChncmVw
ICdXZSBkbyBub3Qgd2FudCBwb3J0YWdlJyAiJHt4fS9sdG1haW4uc2giKSBdXTsgdGhlbgogICAg
ICAgICAgICAgICAgICAgICAgICBFTFRfd2Fsa19wYXRjaGVzICIke3h9L2x0bWFpbi5zaCIgIiR7
eX0iOwogICAgICAgICAgICAgICAgICAgICAgICByZXQ9JD87CiAgICAgICAgICAgICAgICAgICAg
ZmkKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAicmVtLWludC1kZXAiKQogICAg
ICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0vbHRtYWluLnNoIiAiJHt5fSIg
IiR7ZGVwdG9yZW1vdmV9IjsKICAgICAgICAgICAgICAgICAgICByZXQ9JD8KICAgICAgICAgICAg
ICAgIDs7CiAgICAgICAgICAgICAgICAiZml4LXJlbGluayIpCiAgICAgICAgICAgICAgICAgICAg
aWYgW1sgLW4gJChncmVwICdpbnN0X3ByZWZpeF9kaXInICIke3h9L2x0bWFpbi5zaCIpIF1dOyB0
aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0vbHRtYWlu
LnNoIiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldD0kPzsKICAgICAgICAgICAg
ICAgICAgICBmaQogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICJtYXhfY21kX2xl
biIpCiAgICAgICAgICAgICAgICAgICAgaWYgW1sgLW4gJChncmVwICdtYXhfY21kX2xlbicgIiR7
eH0vbHRtYWluLnNoIikgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgRUxUX3dhbGtf
cGF0Y2hlcyAiJHt4fS9sdG1haW4uc2giICIke3l9IjsKICAgICAgICAgICAgICAgICAgICAgICAg
cmV0PSQ/OwogICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7OwogICAgICAg
ICAgICAgICAgInVjbGliYy1jb25mIikKICAgICAgICAgICAgICAgICAgICBpZiBbWyAtZSAke3h9
L2NvbmZpZ3VyZSAmJiAtbiAkKGdyZXAgJ1RyYW5zZm9ybSBsaW51eCcgIiR7eH0vY29uZmlndXJl
IikgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgRUxUX3dhbGtfcGF0Y2hlcyAiJHt4
fS9jb25maWd1cmUiICIke3l9IjsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAg
ICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgaWYgW1sgISAtZSAk
e3h9L2NvbmZpZ3VyZSAmJiAtZSAke3h9Ly4uL2NvbmZpZ3VyZSAmJiAtbiAkKGdyZXAgJ1RyYW5z
Zm9ybSBsaW51eCcgIiR7eH0vLi4vY29uZmlndXJlIikgXV07IHRoZW4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0vLi4vY29uZmlndXJlIiAiJHt5fSI7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQ9JD87CiAgICAgICAgICAgICAgICAgICAg
ICAgIGZpOwogICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7OwogICAgICAg
ICAgICAgICAgInVjbGliYy1sdGNvbmYiKQogICAgICAgICAgICAgICAgICAgIGlmIFtbIC1zICR7
eH0vbHRjb25maWcgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgRUxUX3dhbGtfcGF0
Y2hlcyAiJHt4fS9sdGNvbmZpZyIgIiR7eX0iOwogICAgICAgICAgICAgICAgICAgICAgICByZXQ9
JD87CiAgICAgICAgICAgICAgICAgICAgZmkKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAg
ICAgICAiZmJzZC1jb25mIikKICAgICAgICAgICAgICAgICAgICBpZiBbWyAtZSAke3h9L2NvbmZp
Z3VyZSAmJiAtbiAkKGdyZXAgJ3ZlcnNpb25fdHlwZT1mcmVlYnNkLScgIiR7eH0vY29uZmlndXJl
IikgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgRUxUX3dhbGtfcGF0Y2hlcyAiJHt4
fS9jb25maWd1cmUiICIke3l9IjsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAg
ICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgaWYgW1sgISAtZSAk
e3h9L2NvbmZpZ3VyZSAmJiAtZSAke3h9Ly4uL2NvbmZpZ3VyZSAmJiAtbiAkKGdyZXAgJ3ZlcnNp
b25fdHlwZT1mcmVlYnNkLScgIiR7eH0vLi4vY29uZmlndXJlIikgXV07IHRoZW4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0vLi4vY29uZmlndXJlIiAi
JHt5fSI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQ9JD87CiAgICAgICAgICAgICAg
ICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7Owog
ICAgICAgICAgICAgICAgImZic2QtbHRjb25mIikKICAgICAgICAgICAgICAgICAgICBpZiBbWyAt
cyAke3h9L2x0Y29uZmlnIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxr
X3BhdGNoZXMgIiR7eH0vbHRjb25maWciICIke3l9IjsKICAgICAgICAgICAgICAgICAgICAgICAg
cmV0PSQ/OwogICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7OwogICAgICAg
ICAgICAgICAgImRhcndpbi1sdGNvbmYiKQogICAgICAgICAgICAgICAgICAgIGlmIFtbIC1zICR7
eH0vbHRjb25maWcgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgRUxUX3dhbGtfcGF0
Y2hlcyAiJHt4fS9sdGNvbmZpZyIgIiR7eX0iOwogICAgICAgICAgICAgICAgICAgICAgICByZXQ9
JD87CiAgICAgICAgICAgICAgICAgICAgZmkKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAg
ICAgICAiaW5zdGFsbC1zaCIpCiAgICAgICAgICAgICAgICAgICAgRUxUX3dhbGtfcGF0Y2hlcyAi
JHt4fS9pbnN0YWxsLXNoIiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgcmV0PSQ/CiAgICAg
ICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgICAgICBFTFRf
d2Fsa19wYXRjaGVzICIke3h9L2x0bWFpbi5zaCIgIiR7eX0iOwogICAgICAgICAgICAgICAgICAg
IHJldD0kPwogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAg
aWYgW1sgJHtyZXR9IC1uZSAwIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBjYXNlICR7eX0gaW4g
CiAgICAgICAgICAgICAgICAgICAgInJlbGluayIpCiAgICAgICAgICAgICAgICAgICAgICAgIGxv
Y2FsIHZlcnNpb249JChFTFRfbGlidG9vbF92ZXJzaW9uICIke3h9L2x0bWFpbi5zaCIpOwogICAg
ICAgICAgICAgICAgICAgICAgICBpZiBbWyAteiAkKGdyZXAgJ2luc3RfcHJlZml4X2RpcicgIiR7
eH0vbHRtYWluLnNoIikgJiYgJChWRVJfdG9faW50ICIke3ZlcnNpb259IikgLWdlICQoVkVSX3Rv
X2ludCAiMS40LjAiKSBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXdhcm4g
IiAgQ291bGQgbm90IGFwcGx5IHJlbGluay5wYXRjaCEiOwogICAgICAgICAgICAgICAgICAgICAg
ICBmaQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgInBvcnRhZ2Ui
KQogICAgICAgICAgICAgICAgICAgICAgICBpZiBbWyAke2RvX3BvcnRhZ2V9ID09ICJ5ZXMiIF1d
OyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBbWyAteiAkKGdyZXAgJ1dlIGRv
IG5vdCB3YW50IHBvcnRhZ2UnICIke3h9L2x0bWFpbi5zaCIpIF1dOyB0aGVuCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBlZXJyb3IgIlBvcnRhZ2UgcGF0Y2ggcmVxdWVzdGVkLCBidXQgZmFpbGVkIHRvIGFwcGx5ISI7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWVycm9yICJQbGVhc2UgYnVnIGF6YXJh
aCBvciB2YXBpZXIgdG8gYWRkIHByb3BlciBwYXRjaC4iOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpZSAiUG9ydGFnZSBwYXRjaCByZXF1ZXN0ZWQsIGJ1dCBmYWlsZWQgdG8gYXBw
bHkhIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBbWyAtbiAkKGdyZXAgJ1dl
IGRvIG5vdCB3YW50IHBvcnRhZ2UnICIke3h9L2x0bWFpbi5zaCIpIF1dOyB0aGVuCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbCB2ZXJzaW9uPSQoIAkJCQkJ
CQkJCWV2YWwgJChncmVwIC1lICdeW1s6c3BhY2U6XV0qVkVSU0lPTj0nICIke3h9L2x0bWFpbi5z
aCIpOyAJCQkJCQkJCQllY2hvICIke1ZFUlNJT059Iik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZXJyb3IgIlBv
cnRhZ2UgcGF0Y2ggZmFpbGVkIHRvIGFwcGx5IChsdG1haW4uc2ggdmVyc2lvbiAke3ZlcnNpb259
KSEiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVlcnJvciAiUGxlYXNlIGJ1ZyBh
emFyYWggb3IgdmFwaWVyIHRvIGFkZCBwcm9wZXIgcGF0Y2guIjsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkaWUgIlBvcnRhZ2UgcGF0Y2ggZmFpbGVkIHRvIGFwcGx5ISI7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVM
VF9BUFBMSUVEX1BBVENIRVM9InBvcnRhZ2UiOwogICAgICAgICAgICAgICAgICAgICAgICBmaQog
ICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgInVjbGliYy0iKikKICAg
ICAgICAgICAgICAgICAgICAgICAgW1sgJHtDSE9TVH0gPT0gKiItdWNsaWJjIiBdXSAmJiBld2Fy
biAiICB1Q2xpYmMgcGF0Y2ggc2V0ICcke3l9JyBmYWlsZWQgdG8gYXBwbHkhIgogICAgICAgICAg
ICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgImZic2QtIiopCiAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIFtbICR7Q0hPU1R9ID09ICoiLWZyZWVic2QiKiBdXTsgdGhlbgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgW1sgLXogJChncmVwICdIYW5kbGUgR2VudG9vL0ZyZWVC
U0QgYXMgaXQgd2FzIExpbnV4JyAJCQkJCQkJCSIke3h9L2NvbmZpZ3VyZSIgIiR7eH0vLi4vY29u
ZmlndXJlIiAyPi9kZXYvbnVsbCkgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlZXJyb3IgIiAgRnJlZUJTRCBwYXRjaCBzZXQgJyR7eX0nIGZhaWxlZCB0byBhcHBseSEi
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZSAiRnJlZUJTRCBwYXRjaCBzZXQg
JyR7eX0nIGZhaWxlZCB0byBhcHBseSEiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmk7
CiAgICAgICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgICAgICAiZGFyd2luLSIqKQogICAgICAgICAgICAgICAgICAgICAgICBbWyAke0NI
T1NUfSA9PSAqIi1kYXJ3aW4iKiBdXSAmJiBld2FybiAiICBEYXJ3aW4gcGF0Y2ggc2V0ICcke3l9
JyBmYWlsZWQgdG8gYXBwbHkhIgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAg
ICBlc2FjOwogICAgICAgICAgICBmaTsKICAgICAgICBkb25lOwogICAgICAgIGlmIFtbIC16ICR7
RUxUX0FQUExJRURfUEFUQ0hFU30gXV07IHRoZW4KICAgICAgICAgICAgaWYgW1sgJHtkb19wb3J0
YWdlfSA9PSAibm8iICYmICR7ZG9fcmV2ZXJzZWRlcHN9ID09ICJubyIgJiYgJHtkb19vbmx5X3Bh
dGNoZXN9ID09ICJubyIgJiYgJHtkZXB0b3JlbW92ZX0gPT0gIiIgXV07IHRoZW4KICAgICAgICAg
ICAgICAgIGV3YXJuICJDYW5ub3QgYXBwbHkgYW55IHBhdGNoZXMsIHBsZWFzZSBmaWxlIGEgYnVn
IGFib3V0IHRoaXMiOwogICAgICAgICAgICAgICAgZGllOwogICAgICAgICAgICBmaTsKICAgICAg
ICBmaTsKICAgICAgICBbWyAtZiAke3h9L2xpYnRvb2wgXV0gJiYgcm0gLWYgIiR7eH0vbGlidG9v
bCI7CiAgICAgICAgdG91Y2ggIiR7eH0vLmVsaWJ0b29saXplZCI7CiAgICBkb25lOwogICAgY2Qg
IiR7c3RhcnRfZGlyfSIKfQplbWt0ZW1wICgpIAp7IAogICAgbG9jYWwgZXhlPSJ0b3VjaCI7CiAg
ICBbWyAkMSA9PSAtZCBdXSAmJiBleGU9Im1rZGlyIiAmJiBzaGlmdDsKICAgIGxvY2FsIHRvcGRp
cj0kMTsKICAgIGlmIFtbIC16ICR7dG9wZGlyfSBdXTsgdGhlbgogICAgICAgIFtbIC16ICR7VH0g
XV0gJiYgdG9wZGlyPSIvdG1wIiB8fCB0b3BkaXI9JHtUfTsKICAgIGZpOwogICAgaWYgISB0eXBl
IC1QIG1rdGVtcCA+IC9kZXYvbnVsbDsgdGhlbgogICAgICAgIGxvY2FsIHRtcD0vOwogICAgICAg
IHdoaWxlIFtbIC1lICR7dG1wfSBdXTsgZG8KICAgICAgICAgICAgdG1wPSR7dG9wZGlyfS90bXAu
JHtSQU5ET019LiR7UkFORE9NfS4ke1JBTkRPTX07CiAgICAgICAgZG9uZTsKICAgICAgICAke2V4
ZX0gIiR7dG1wfSIgfHwgJHtleGV9IC1wICIke3RtcH0iOwogICAgICAgIGVjaG8gIiR7dG1wfSI7
CiAgICBlbHNlCiAgICAgICAgaWYgW1sgJHtleGV9ID09ICJ0b3VjaCIgXV07IHRoZW4KICAgICAg
ICAgICAgVE1QRElSPSIke3RvcGRpcn0iIG1rdGVtcCAtdCB0bXAuWFhYWFhYWFhYWDsKICAgICAg
ICBlbHNlCiAgICAgICAgICAgIFRNUERJUj0iJHt0b3BkaXJ9IiBta3RlbXAgLWR0IHRtcC5YWFhY
WFhYWFhYOwogICAgICAgIGZpOwogICAgZmkKfQplbmV3Z3JvdXAgKCkgCnsgCiAgICBjYXNlICR7
RUJVSUxEX1BIQVNFfSBpbiAKICAgICAgICB1bnBhY2sgfCBjb21waWxlIHwgdGVzdCB8IGluc3Rh
bGwpCiAgICAgICAgICAgIGVlcnJvciAiJ2VuZXdncm91cCgpJyBjYWxsZWQgZnJvbSAnJHtFQlVJ
TERfUEhBU0V9KCknIHdoaWNoIGlzIG5vdCBhIHBrZ18qIGZ1bmN0aW9uLiI7CiAgICAgICAgICAg
IGVlcnJvciAiUGFja2FnZSBmYWlscyBhdCBRQSBhbmQgYXQgbGlmZS4gIFBsZWFzZSBmaWxlIGEg
YnVnLiI7CiAgICAgICAgICAgIGRpZSAiQmFkIHBhY2thZ2UhICBlbmV3Z3JvdXAgaXMgb25seSBm
b3IgdXNlIGluIHBrZ18qIGZ1bmN0aW9ucyEiCiAgICAgICAgOzsKICAgIGVzYWM7CiAgICBsb2Nh
bCBlZ3JvdXA9IiQxIjsKICAgIHNoaWZ0OwogICAgaWYgWyAteiAiJHtlZ3JvdXB9IiBdOyB0aGVu
CiAgICAgICAgZWVycm9yICJObyBncm91cCBzcGVjaWZpZWQgISI7CiAgICAgICAgZGllICJDYW5u
b3QgY2FsbCBlbmV3Z3JvdXAgd2l0aG91dCBhIGdyb3VwIjsKICAgIGZpOwogICAgaWYgW1sgLW4g
JChlZ2V0ZW50IGdyb3VwICIke2Vncm91cH0iKSBdXTsgdGhlbgogICAgICAgIHJldHVybiAwOwog
ICAgZmk7CiAgICBlaW5mbyAiQWRkaW5nIGdyb3VwICcke2Vncm91cH0nIHRvIHlvdXIgc3lzdGVt
IC4uLiI7CiAgICBsb2NhbCBvcHRzPTsKICAgIGxvY2FsIGVnaWQ9IiQxIjsKICAgIHNoaWZ0Owog
ICAgaWYgWyAhIC16ICIke2VnaWR9IiBdOyB0aGVuCiAgICAgICAgaWYgWyAiJHtlZ2lkfSIgLWd0
IDAgXTsgdGhlbgogICAgICAgICAgICBpZiBbIC16ICJgZWdldGVudCBncm91cCAke2VnaWR9YCIg
XTsgdGhlbgogICAgICAgICAgICAgICAgaWYgW1sgIiR7Q0hPU1R9IiA9PSAqLWRhcndpbiogXV07
IHRoZW4KICAgICAgICAgICAgICAgICAgICBvcHRzPSIke29wdHN9ICR7ZWdpZH0iOwogICAgICAg
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIG9wdHM9IiR7b3B0c30gLWcgJHtlZ2lk
fSI7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg
ZWdpZD0ibmV4dCBhdmFpbGFibGU7IHJlcXVlc3RlZCBnaWQgdGFrZW4iOwogICAgICAgICAgICBm
aTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGVlcnJvciAiR3JvdXBpZCBnaXZlbiBidXQgaXMg
bm90IGdyZWF0ZXIgdGhhbiAwICEiOwogICAgICAgICAgICBkaWUgIiR7ZWdpZH0gaXMgbm90IGEg
dmFsaWQgR0lEIjsKICAgICAgICBmaTsKICAgIGVsc2UKICAgICAgICBlZ2lkPSJuZXh0IGF2YWls
YWJsZSI7CiAgICBmaTsKICAgIGVpbmZvICIgLSBHcm91cGlkOiAke2VnaWR9IjsKICAgIGxvY2Fs
IGVleHRyYT0iJEAiOwogICAgb3B0cz0iJHtvcHRzfSAke2VleHRyYX0iOwogICAgbG9jYWwgb2xk
c2FuZGJveD0iJHtTQU5EQk9YX09OfSI7CiAgICBleHBvcnQgU0FOREJPWF9PTj0iMCI7CiAgICBj
YXNlICR7Q0hPU1R9IGluIAogICAgICAgICotZGFyd2luKikKICAgICAgICAgICAgaWYgWyAhIC16
ICIke2VleHRyYX0iIF07IHRoZW4KICAgICAgICAgICAgICAgIGVpbmZvICJFeHRyYSBvcHRpb25z
IGFyZSBub3Qgc3VwcG9ydGVkIG9uIERhcndpbi9PUyBYIHlldCI7CiAgICAgICAgICAgICAgICBl
aW5mbyAiUGxlYXNlIHJlcG9ydCB0aGUgZWJ1aWxkIGFsb25nIHdpdGggdGhlIGluZm8gYmVsb3ci
OwogICAgICAgICAgICAgICAgZWluZm8gImVleHRyYTogJHtlZXh0cmF9IjsKICAgICAgICAgICAg
ICAgIGRpZSAiUmVxdWlyZWQgZnVuY3Rpb24gbWlzc2luZyI7CiAgICAgICAgICAgIGZpOwogICAg
ICAgICAgICBjYXNlICR7ZWdpZH0gaW4gCiAgICAgICAgICAgICAgICAqWyEwLTldKikKICAgICAg
ICAgICAgICAgICAgICBmb3IgKChlZ2lkID0gMTAxOyBlZ2lkIDw9IDk5OTsgZWdpZCsrKSkKICAg
ICAgICAgICAgICAgICAgICBkbwogICAgICAgICAgICAgICAgICAgICAgICBbWyAteiAkKGVnZXRl
bnQgZ3JvdXAgJHtlZ2lkfSkgXV0gJiYgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgZG9uZQog
ICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgZHNjbCAuIGNy
ZWF0ZSAvZ3JvdXBzLyR7ZWdyb3VwfSBnaWQgJHtlZ2lkfTsKICAgICAgICAgICAgZHNjbCAuIGNy
ZWF0ZSAvZ3JvdXBzLyR7ZWdyb3VwfSBwYXNzd2QgJyonCiAgICAgICAgOzsKICAgICAgICAqLWZy
ZWVic2QqIHwgKi1kcmFnb25mbHkqKQogICAgICAgICAgICBjYXNlICR7ZWdpZH0gaW4gCiAgICAg
ICAgICAgICAgICAqWyEwLTldKikKICAgICAgICAgICAgICAgICAgICBmb3IgKChlZ2lkID0gMTAx
OyBlZ2lkIDw9IDk5OTsgZWdpZCsrKSkKICAgICAgICAgICAgICAgICAgICBkbwogICAgICAgICAg
ICAgICAgICAgICAgICBbWyAteiAkKGVnZXRlbnQgZ3JvdXAgJHtlZ2lkfSkgXV0gJiYgYnJlYWs7
CiAgICAgICAgICAgICAgICAgICAgZG9uZQogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg
ZXNhYzsKICAgICAgICAgICAgcHcgZ3JvdXBhZGQgJHtlZ3JvdXB9IC1nICR7ZWdpZH0gfHwgZGll
ICJlbmV3Z3JvdXAgZmFpbGVkIgogICAgICAgIDs7CiAgICAgICAgKi1uZXRic2QqKQogICAgICAg
ICAgICBjYXNlICR7ZWdpZH0gaW4gCiAgICAgICAgICAgICAgICAqWyEwLTldKikKICAgICAgICAg
ICAgICAgICAgICBmb3IgKChlZ2lkID0gMTAxOyBlZ2lkIDw9IDk5OTsgZWdpZCsrKSkKICAgICAg
ICAgICAgICAgICAgICBkbwogICAgICAgICAgICAgICAgICAgICAgICBbWyAteiAkKGVnZXRlbnQg
Z3JvdXAgJHtlZ2lkfSkgXV0gJiYgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgZG9uZQogICAg
ICAgICAgICAgICAgOzsKICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgZ3JvdXBhZGQgLWcg
JHtlZ2lkfSAke2Vncm91cH0gfHwgZGllICJlbmV3Z3JvdXAgZmFpbGVkIgogICAgICAgIDs7CiAg
ICAgICAgKikKICAgICAgICAgICAgZ3JvdXBhZGQgJHtvcHRzfSAke2Vncm91cH0gfHwgZGllICJl
bmV3Z3JvdXAgZmFpbGVkIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgZXhwb3J0IFNBTkRCT1hf
T049IiR7b2xkc2FuZGJveH0iCn0KZW5ld3VzZXIgKCkgCnsgCiAgICBjYXNlICR7RUJVSUxEX1BI
QVNFfSBpbiAKICAgICAgICB1bnBhY2sgfCBjb21waWxlIHwgdGVzdCB8IGluc3RhbGwpCiAgICAg
ICAgICAgIGVlcnJvciAiJ2VuZXd1c2VyKCknIGNhbGxlZCBmcm9tICcke0VCVUlMRF9QSEFTRX0o
KScgd2hpY2ggaXMgbm90IGEgcGtnXyogZnVuY3Rpb24uIjsKICAgICAgICAgICAgZWVycm9yICJQ
YWNrYWdlIGZhaWxzIGF0IFFBIGFuZCBhdCBsaWZlLiAgUGxlYXNlIGZpbGUgYSBidWcuIjsKICAg
ICAgICAgICAgZGllICJCYWQgcGFja2FnZSEgIGVuZXd1c2VyIGlzIG9ubHkgZm9yIHVzZSBpbiBw
a2dfKiBmdW5jdGlvbnMhIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgbG9jYWwgZXVzZXI9JDE7
CiAgICBzaGlmdDsKICAgIGlmIFtbIC16ICR7ZXVzZXJ9IF1dOyB0aGVuCiAgICAgICAgZWVycm9y
ICJObyB1c2VybmFtZSBzcGVjaWZpZWQgISI7CiAgICAgICAgZGllICJDYW5ub3QgY2FsbCBlbmV3
dXNlciB3aXRob3V0IGEgdXNlcm5hbWUiOwogICAgZmk7CiAgICBpZiBbWyAtbiAkKGVnZXRlbnQg
cGFzc3dkICIke2V1c2VyfSIpIF1dOyB0aGVuCiAgICAgICAgcmV0dXJuIDA7CiAgICBmaTsKICAg
IGVpbmZvICJBZGRpbmcgdXNlciAnJHtldXNlcn0nIHRvIHlvdXIgc3lzdGVtIC4uLiI7CiAgICBs
b2NhbCBvcHRzPTsKICAgIGxvY2FsIGV1aWQ9JDE7CiAgICBzaGlmdDsKICAgIGlmIFtbIC1uICR7
ZXVpZH0gJiYgJHtldWlkfSAhPSAtMSBdXTsgdGhlbgogICAgICAgIGlmIFtbICR7ZXVpZH0gLWd0
IDAgXV07IHRoZW4KICAgICAgICAgICAgaWYgW1sgLW4gJChlZ2V0ZW50IHBhc3N3ZCAke2V1aWR9
KSBdXTsgdGhlbgogICAgICAgICAgICAgICAgZXVpZD0ibmV4dCI7CiAgICAgICAgICAgIGZpOwog
ICAgICAgIGVsc2UKICAgICAgICAgICAgZWVycm9yICJVc2VyaWQgZ2l2ZW4gYnV0IGlzIG5vdCBn
cmVhdGVyIHRoYW4gMCAhIjsKICAgICAgICAgICAgZGllICIke2V1aWR9IGlzIG5vdCBhIHZhbGlk
IFVJRCI7CiAgICAgICAgZmk7CiAgICBlbHNlCiAgICAgICAgZXVpZD0ibmV4dCI7CiAgICBmaTsK
ICAgIGlmIFtbICR7ZXVpZH0gPT0gIm5leHQiIF1dOyB0aGVuCiAgICAgICAgZm9yICgoZXVpZCA9
IDEwMTsgZXVpZCA8PSA5OTk7IGV1aWQrKykpCiAgICAgICAgZG8KICAgICAgICAgICAgW1sgLXog
JChlZ2V0ZW50IHBhc3N3ZCAke2V1aWR9KSBdXSAmJiBicmVhazsKICAgICAgICBkb25lOwogICAg
Zmk7CiAgICBvcHRzPSIke29wdHN9IC11ICR7ZXVpZH0iOwogICAgZWluZm8gIiAtIFVzZXJpZDog
JHtldWlkfSI7CiAgICBsb2NhbCBlc2hlbGw9JDE7CiAgICBzaGlmdDsKICAgIGlmIFtbICEgLXog
JHtlc2hlbGx9IF1dICYmIFtbICR7ZXNoZWxsfSAhPSAiLTEiIF1dOyB0aGVuCiAgICAgICAgaWYg
W1sgISAtZSAke1JPT1R9JHtlc2hlbGx9IF1dOyB0aGVuCiAgICAgICAgICAgIGVlcnJvciAiQSBz
aGVsbCB3YXMgc3BlY2lmaWVkIGJ1dCBpdCBkb2VzIG5vdCBleGlzdCAhIjsKICAgICAgICAgICAg
ZGllICIke2VzaGVsbH0gZG9lcyBub3QgZXhpc3QgaW4gJHtST09UfSI7CiAgICAgICAgZmk7CiAg
ICAgICAgaWYgW1sgJHtlc2hlbGx9ID09ICovZmFsc2UgfHwgJHtlc2hlbGx9ID09ICovbm9sb2dp
biBdXTsgdGhlbgogICAgICAgICAgICBlZXJyb3IgIkRvIG5vdCBzcGVjaWZ5ICR7ZXNoZWxsfSB5
b3Vyc2VsZiwgdXNlIC0xIjsKICAgICAgICAgICAgZGllICJQYXNzICctMScgYXMgdGhlIHNoZWxs
IHBhcmFtZXRlciI7CiAgICAgICAgZmk7CiAgICBlbHNlCiAgICAgICAgZm9yIHNoZWxsIGluIC9z
YmluL25vbG9naW4gL3Vzci9zYmluL25vbG9naW4gL2Jpbi9mYWxzZSAvdXNyL2Jpbi9mYWxzZSAv
ZGV2L251bGw7CiAgICAgICAgZG8KICAgICAgICAgICAgW1sgLXggJHtST09UfSR7c2hlbGx9IF1d
ICYmIGJyZWFrOwogICAgICAgIGRvbmU7CiAgICAgICAgaWYgW1sgJHtzaGVsbH0gPT0gIi9kZXYv
bnVsbCIgXV07IHRoZW4KICAgICAgICAgICAgZWVycm9yICJVbmFibGUgdG8gaWRlbnRpZnkgdGhl
IHNoZWxsIHRvIHVzZSwgcHJvY2VlZGluZyB3aXRoIHVzZXJsYW5kIGRlZmF1bHQuIjsKICAgICAg
ICAgICAgY2FzZSAke1VTRVJMQU5EfSBpbiAKICAgICAgICAgICAgICAgIEdOVSkKICAgICAgICAg
ICAgICAgICAgICBzaGVsbD0iL2Jpbi9mYWxzZSIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgICAgICBCU0QpCiAgICAgICAgICAgICAgICAgICAgc2hlbGw9Ii9zYmluL25vbG9naW4iCiAg
ICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgRGFyd2luKQogICAgICAgICAgICAgICAg
ICAgIHNoZWxsPSIvdXNyL3NiaW4vbm9sb2dpbiIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgICAgICAqKQogICAgICAgICAgICAgICAgICAgIGRpZSAiVW5hYmxlIHRvIGlkZW50aWZ5IHRo
ZSBkZWZhdWx0IHNoZWxsIGZvciB1c2VybGFuZCAke1VTRVJMQU5EfSIKICAgICAgICAgICAgICAg
IDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAgZmk7CiAgICAgICAgZXNoZWxsPSR7c2hlbGx9
OwogICAgZmk7CiAgICBlaW5mbyAiIC0gU2hlbGw6ICR7ZXNoZWxsfSI7CiAgICBvcHRzPSIke29w
dHN9IC1zICR7ZXNoZWxsfSI7CiAgICBsb2NhbCBlaG9tZT0kMTsKICAgIHNoaWZ0OwogICAgaWYg
W1sgLXogJHtlaG9tZX0gXV0gfHwgW1sgJHtlaG9tZX0gPT0gIi0xIiBdXTsgdGhlbgogICAgICAg
IGVob21lPSIvZGV2L251bGwiOwogICAgZmk7CiAgICBlaW5mbyAiIC0gSG9tZTogJHtlaG9tZX0i
OwogICAgb3B0cz0iJHtvcHRzfSAtZCAke2Vob21lfSI7CiAgICBsb2NhbCBlZ3JvdXBzPSQxOwog
ICAgc2hpZnQ7CiAgICBpZiBbWyAhIC16ICR7ZWdyb3Vwc30gXV07IHRoZW4KICAgICAgICBsb2Nh
bCBvbGRpZnM9JHtJRlN9OwogICAgICAgIGxvY2FsIGRlZmdyb3VwPSIiIGV4Z3JvdXBzPSIiOwog
ICAgICAgIGV4cG9ydCBJRlM9IiwiOwogICAgICAgIGZvciBnIGluICR7ZWdyb3Vwc307CiAgICAg
ICAgZG8KICAgICAgICAgICAgZXhwb3J0IElGUz0ke29sZGlmc307CiAgICAgICAgICAgIGlmIFtb
IC16ICQoZWdldGVudCBncm91cCAiJHtnfSIpIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBlZXJy
b3IgIllvdSBtdXN0IGFkZCBncm91cCAke2d9IHRvIHRoZSBzeXN0ZW0gZmlyc3QiOwogICAgICAg
ICAgICAgICAgZGllICIke2d9IGlzIG5vdCBhIHZhbGlkIEdJRCI7CiAgICAgICAgICAgIGZpOwog
ICAgICAgICAgICBpZiBbWyAteiAke2RlZmdyb3VwfSBdXTsgdGhlbgogICAgICAgICAgICAgICAg
ZGVmZ3JvdXA9JHtnfTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZXhncm91cHM9
IiR7ZXhncm91cHN9LCR7Z30iOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgZXhwb3J0IElG
Uz0iLCI7CiAgICAgICAgZG9uZTsKICAgICAgICBleHBvcnQgSUZTPSR7b2xkaWZzfTsKICAgICAg
ICBvcHRzPSIke29wdHN9IC1nICR7ZGVmZ3JvdXB9IjsKICAgICAgICBpZiBbWyAhIC16ICR7ZXhn
cm91cHN9IF1dOyB0aGVuCiAgICAgICAgICAgIG9wdHM9IiR7b3B0c30gLUcgJHtleGdyb3Vwczox
fSI7CiAgICAgICAgZmk7CiAgICBlbHNlCiAgICAgICAgZWdyb3Vwcz0iKG5vbmUpIjsKICAgIGZp
OwogICAgZWluZm8gIiAtIEdyb3VwczogJHtlZ3JvdXBzfSI7CiAgICBsb2NhbCBvbGRzYW5kYm94
PSR7U0FOREJPWF9PTn07CiAgICBleHBvcnQgU0FOREJPWF9PTj0iMCI7CiAgICBjYXNlICR7Q0hP
U1R9IGluIAogICAgICAgICotZGFyd2luKikKICAgICAgICAgICAgaWYgW1sgLXogJEAgXV07IHRo
ZW4KICAgICAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUgL3VzZXJzLyR7ZXVzZXJ9IHVpZCAke2V1
aWR9OwogICAgICAgICAgICAgICAgZHNjbCAuIGNyZWF0ZSAvdXNlcnMvJHtldXNlcn0gc2hlbGwg
JHtlc2hlbGx9OwogICAgICAgICAgICAgICAgZHNjbCAuIGNyZWF0ZSAvdXNlcnMvJHtldXNlcn0g
aG9tZSAke2Vob21lfTsKICAgICAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUgL3VzZXJzLyR7ZXVz
ZXJ9IHJlYWxuYW1lICJhZGRlZCBieSBwb3J0YWdlIGZvciAke1BOfSI7CiAgICAgICAgICAgICAg
ICBsb2NhbCBvbGRpZnM9JHtJRlN9OwogICAgICAgICAgICAgICAgZXhwb3J0IElGUz0iLCI7CiAg
ICAgICAgICAgICAgICBmb3IgZyBpbiAke2Vncm91cHN9OwogICAgICAgICAgICAgICAgZG8KICAg
ICAgICAgICAgICAgICAgICBkc2NsIC4gbWVyZ2UgL2dyb3Vwcy8ke2d9IHVzZXJzICR7ZXVzZXJ9
OwogICAgICAgICAgICAgICAgZG9uZTsKICAgICAgICAgICAgICAgIGV4cG9ydCBJRlM9JHtvbGRp
ZnN9OwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBlaW5mbyAiRXh0cmEgb3B0aW9u
cyBhcmUgbm90IHN1cHBvcnRlZCBvbiBEYXJ3aW4geWV0IjsKICAgICAgICAgICAgICAgIGVpbmZv
ICJQbGVhc2UgcmVwb3J0IHRoZSBlYnVpbGQgYWxvbmcgd2l0aCB0aGUgaW5mbyBiZWxvdyI7CiAg
ICAgICAgICAgICAgICBlaW5mbyAiZWV4dHJhOiAkQCI7CiAgICAgICAgICAgICAgICBkaWUgIlJl
cXVpcmVkIGZ1bmN0aW9uIG1pc3NpbmciOwogICAgICAgICAgICBmaQogICAgICAgIDs7CiAgICAg
ICAgKi1mcmVlYnNkKiB8ICotZHJhZ29uZmx5KikKICAgICAgICAgICAgaWYgW1sgLXogJEAgXV07
IHRoZW4KICAgICAgICAgICAgICAgIHB3IHVzZXJhZGQgJHtldXNlcn0gJHtvcHRzfSAtYyAiYWRk
ZWQgYnkgcG9ydGFnZSBmb3IgJHtQTn0iIGRpZSAiZW5ld3VzZXIgZmFpbGVkIjsKICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgZWluZm8gIiAtIEV4dHJhOiAkQCI7CiAgICAgICAgICAg
ICAgICBwdyB1c2VyYWRkICR7ZXVzZXJ9ICR7b3B0c30gIiRAIiB8fCBkaWUgImVuZXd1c2VyIGZh
aWxlZCI7CiAgICAgICAgICAgIGZpCiAgICAgICAgOzsKICAgICAgICAqLW5ldGJzZCopCiAgICAg
ICAgICAgIGlmIFtbIC16ICRAIF1dOyB0aGVuCiAgICAgICAgICAgICAgICB1c2VyYWRkICR7b3B0
c30gJHtldXNlcn0gfHwgZGllICJlbmV3dXNlciBmYWlsZWQiOwogICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICBlaW5mbyAiIC0gRXh0cmE6ICRAIjsKICAgICAgICAgICAgICAgIHVzZXJh
ZGQgJHtvcHRzfSAke2V1c2VyfSAiJEAiIHx8IGRpZSAiZW5ld3VzZXIgZmFpbGVkIjsKICAgICAg
ICAgICAgZmkKICAgICAgICA7OwogICAgICAgICotb3BlbmJzZCopCiAgICAgICAgICAgIGlmIFtb
IC16ICRAIF1dOyB0aGVuCiAgICAgICAgICAgICAgICB1c2VyYWRkIC11ICR7ZXVpZH0gLXMgJHtl
c2hlbGx9IC1kICR7ZWhvbWV9IC1jICJBZGRlZCBieSBwb3J0YWdlIGZvciAke1BOfSIgLWcgJHtl
Z3JvdXBzfSAke2V1c2VyfSB8fCBkaWUgImVuZXd1c2VyIGZhaWxlZCI7CiAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgIGVpbmZvICIgLSBFeHRyYTogJEAiOwogICAgICAgICAgICAgICAg
dXNlcmFkZCAtdSAke2V1aWR9IC1zICR7ZXNoZWxsfSAtZCAke2Vob21lfSAtYyAiQWRkZWQgYnkg
cG9ydGFnZSBmb3IgJHtQTn0iIC1nICR7ZWdyb3Vwc30gJHtldXNlcn0gIiRAIiB8fCBkaWUgImVu
ZXd1c2VyIGZhaWxlZCI7CiAgICAgICAgICAgIGZpCiAgICAgICAgOzsKICAgICAgICAqKQogICAg
ICAgICAgICBpZiBbWyAteiAkQCBdXTsgdGhlbgogICAgICAgICAgICAgICAgdXNlcmFkZCAke29w
dHN9ICR7ZXVzZXJ9IC1jICJhZGRlZCBieSBwb3J0YWdlIGZvciAke1BOfSIgfHwgZGllICJlbmV3
dXNlciBmYWlsZWQiOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBlaW5mbyAiIC0g
RXh0cmE6ICRAIjsKICAgICAgICAgICAgICAgIHVzZXJhZGQgJHtvcHRzfSAke2V1c2VyfSAiJEAi
IHx8IGRpZSAiZW5ld3VzZXIgZmFpbGVkIjsKICAgICAgICAgICAgZmkKICAgICAgICA7OwogICAg
ZXNhYzsKICAgIGlmIFtbICEgLWUgJHtST09UfS8ke2Vob21lfSBdXTsgdGhlbgogICAgICAgIGVp
bmZvICIgLSBDcmVhdGluZyAke2Vob21lfSBpbiAke1JPT1R9IjsKICAgICAgICBta2RpciAtcCAi
JHtST09UfS8ke2Vob21lfSI7CiAgICAgICAgY2hvd24gJHtldXNlcn0gIiR7Uk9PVH0vJHtlaG9t
ZX0iOwogICAgICAgIGNobW9kIDc1NSAiJHtST09UfS8ke2Vob21lfSI7CiAgICBmaTsKICAgIGV4
cG9ydCBTQU5EQk9YX09OPSR7b2xkc2FuZGJveH0KfQplcGF0Y2ggKCkgCnsgCiAgICBmdW5jdGlv
biBfZXBhdGNoX2RyYXdfbGluZSAoKSAKICAgIHsgCiAgICAgICAgW1sgLXogJDEgXV0gJiYgc2V0
ICIkKHByaW50ZiAiJTY1cyIgJycpIjsKICAgICAgICBlY2hvICIkezEvLz8vPX0iCiAgICB9Owog
ICAgZnVuY3Rpb24gX2VwYXRjaF9hc3NlcnQgKCkgCiAgICB7IAogICAgICAgIGxvY2FsIF9waXBl
c3RhdHVzPSR7UElQRVNUQVRVU1sqXX07CiAgICAgICAgW1sgJHtfcGlwZXN0YXR1cy8vIC99IC1l
cSAwIF1dCiAgICB9OwogICAgbG9jYWwgUElQRV9DTUQ9IiI7CiAgICBsb2NhbCBTVERFUlJfVEFS
R0VUPSIke1R9LyQkLm91dCI7CiAgICBsb2NhbCBQQVRDSF9UQVJHRVQ9IiR7VH0vJCQucGF0Y2gi
OwogICAgbG9jYWwgUEFUQ0hfU1VGRklYPSIiOwogICAgbG9jYWwgU0lOR0xFX1BBVENIPSJubyI7
CiAgICBsb2NhbCB4PSIiOwogICAgdW5zZXQgUDRDT05GSUcgUDRQT1JUIFA0VVNFUjsKICAgIGlm
IFsgIiQjIiAtZ3QgMSBdOyB0aGVuCiAgICAgICAgbG9jYWwgbT0iIjsKICAgICAgICBmb3IgbSBp
biAiJEAiOwogICAgICAgIGRvCiAgICAgICAgICAgIGVwYXRjaCAiJHttfSI7CiAgICAgICAgZG9u
ZTsKICAgICAgICByZXR1cm4gMDsKICAgIGZpOwogICAgaWYgWyAtbiAiJDEiIC1hIC1mICIkMSIg
XTsgdGhlbgogICAgICAgIFNJTkdMRV9QQVRDSD0ieWVzIjsKICAgICAgICBsb2NhbCBFUEFUQ0hf
U09VUkNFPSIkMSI7CiAgICAgICAgbG9jYWwgRVBBVENIX1NVRkZJWD0iJHsxIyMqXC59IjsKICAg
IGVsc2UKICAgICAgICBpZiBbIC1uICIkMSIgLWEgLWQgIiQxIiBdOyB0aGVuCiAgICAgICAgICAg
IGlmIFsgIiR7RVBBVENIX0ZPUkNFfSIgPSAieWVzIiBdICYmIFsgLXogIiR7RVBBVENIX1NVRkZJ
WH0iIF07IHRoZW4KICAgICAgICAgICAgICAgIGxvY2FsIEVQQVRDSF9TT1VSQ0U9IiQxLyoiOwog
ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBsb2NhbCBFUEFUQ0hfU09VUkNFPSIkMS8q
LiR7RVBBVENIX1NVRkZJWH0iOwogICAgICAgICAgICBmaTsKICAgICAgICBlbHNlCiAgICAgICAg
ICAgIGlmIFtbICEgLWQgJHtFUEFUQ0hfU09VUkNFfSBdXSB8fCBbWyAtbiAkMSBdXTsgdGhlbgog
ICAgICAgICAgICAgICAgaWYgWyAtbiAiJDEiIC1hICIke0VQQVRDSF9TT1VSQ0V9IiA9ICIke1dP
UktESVJ9L3BhdGNoIiBdOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgRVBBVENIX1NPVVJDRT0i
JDEiOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBlY2hvOwogICAgICAgICAg
ICAgICAgZWVycm9yICJDYW5ub3QgZmluZCBcJEVQQVRDSF9TT1VSQ0UhICBWYWx1ZSBmb3IgXCRF
UEFUQ0hfU09VUkNFIGlzOiI7CiAgICAgICAgICAgICAgICBlZXJyb3I7CiAgICAgICAgICAgICAg
ICBlZXJyb3IgIiAgJHtFUEFUQ0hfU09VUkNFfSI7CiAgICAgICAgICAgICAgICBlZXJyb3IgIiAg
KCAke0VQQVRDSF9TT1VSQ0UjIyovfSApIjsKICAgICAgICAgICAgICAgIGVjaG87CiAgICAgICAg
ICAgICAgICBkaWUgIkNhbm5vdCBmaW5kIFwkRVBBVENIX1NPVVJDRSEiOwogICAgICAgICAgICBm
aTsKICAgICAgICAgICAgbG9jYWwgRVBBVENIX1NPVVJDRT0iJHtFUEFUQ0hfU09VUkNFfS8qLiR7
RVBBVENIX1NVRkZJWH0iOwogICAgICAgIGZpOwogICAgZmk7CiAgICBjYXNlICR7RVBBVENIX1NV
RkZJWCMjKlwufSBpbiAKICAgICAgICBiejIpCiAgICAgICAgICAgIFBJUEVfQ01EPSJiemlwMiAt
ZGMiOwogICAgICAgICAgICBQQVRDSF9TVUZGSVg9ImJ6MiIKICAgICAgICA7OwogICAgICAgIGd6
IHwgWiB8IHopCiAgICAgICAgICAgIFBJUEVfQ01EPSJnemlwIC1kYyI7CiAgICAgICAgICAgIFBB
VENIX1NVRkZJWD0iZ3oiCiAgICAgICAgOzsKICAgICAgICBaSVAgfCB6aXApCiAgICAgICAgICAg
IFBJUEVfQ01EPSJ1bnppcCAtcCI7CiAgICAgICAgICAgIFBBVENIX1NVRkZJWD0iemlwIgogICAg
ICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgUElQRV9DTUQ9ImNhdCI7CiAgICAgICAgICAg
IFBBVENIX1NVRkZJWD0icGF0Y2giCiAgICAgICAgOzsKICAgIGVzYWM7CiAgICBpZiBbICIke1NJ
TkdMRV9QQVRDSH0iID0gIm5vIiBdOyB0aGVuCiAgICAgICAgZWluZm8gIiR7RVBBVENIX01VTFRJ
X01TR30iOwogICAgZmk7CiAgICBmb3IgeCBpbiAke0VQQVRDSF9TT1VSQ0V9OwogICAgZG8KICAg
ICAgICBpZiBbIC1mICR7eH0gXSAmJiAoIFsgIiR7U0lOR0xFX1BBVENIfSIgPSAieWVzIiAtbyAi
JHt4L19hbGxffSIgIT0gIiR7eH0iIC1vICIke3gvXyR7QVJDSH1ffSIgIT0gIiR7eH0iIF0gfHwg
WyAiJHtFUEFUQ0hfRk9SQ0V9IiA9ICJ5ZXMiIF0gKTsgdGhlbgogICAgICAgICAgICBsb2NhbCBj
b3VudD0wOwogICAgICAgICAgICBsb2NhbCBwb3B0cz0iJHtFUEFUQ0hfT1BUU30iOwogICAgICAg
ICAgICBsb2NhbCBwYXRjaG5hbWU9JHt4IyMqL307CiAgICAgICAgICAgIGlmIFsgLW4gIiR7RVBB
VENIX0VYQ0xVREV9IiBdOyB0aGVuCiAgICAgICAgICAgICAgICBpZiBbICIke0VQQVRDSF9FWENM
VURFLyR7cGF0Y2huYW1lfX0iICE9ICIke0VQQVRDSF9FWENMVURFfSIgXTsgdGhlbgogICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGZp
OwogICAgICAgICAgICBpZiBbICIke1NJTkdMRV9QQVRDSH0iID0gInllcyIgXTsgdGhlbgogICAg
ICAgICAgICAgICAgaWYgWyAtbiAiJHtFUEFUQ0hfU0lOR0xFX01TR30iIF07IHRoZW4KICAgICAg
ICAgICAgICAgICAgICBlaW5mbyAiJHtFUEFUQ0hfU0lOR0xFX01TR30iOwogICAgICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGVpbmZvICJBcHBseWluZyAke3BhdGNobmFtZX0g
Li4uIjsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAg
ICBlaW5mbyAiICAke3BhdGNobmFtZX0gLi4uIjsKICAgICAgICAgICAgZmk7CiAgICAgICAgICAg
IGVjaG8gIioqKioqICR7cGF0Y2huYW1lfSAqKioqKiIgPiAke1NUREVSUl9UQVJHRVQlLyp9LyR7
cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAgICAgICAgZWNobyA+PiAke1NU
REVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAg
ICAgICAgd2hpbGUgWyAiJHtjb3VudH0iIC1sdCA1IF07IGRvCiAgICAgICAgICAgICAgICBfZXBh
dGNoX2RyYXdfbGluZSAiKioqKiogJHtwYXRjaG5hbWV9ICoqKioqIiA+PiAke1NUREVSUl9UQVJH
RVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAgICAgICAgICAg
IGVjaG8gPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VU
IyMqL307CiAgICAgICAgICAgICAgICBpZiBbICIke1BBVENIX1NVRkZJWH0iICE9ICJwYXRjaCIg
XTsgdGhlbgogICAgICAgICAgICAgICAgICAgIGVjaG8gLW4gIlBJUEVfQ09NTUFORDoJIiA+PiAk
e1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAg
ICAgICAgICAgICAgICAgICBlY2hvICIke1BJUEVfQ01EfSAke3h9ID4gJHtQQVRDSF9UQVJHRVR9
IiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyov
fTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBQQVRDSF9UQVJHRVQ9
IiR7eH0iOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBlY2hvIC1uICJQQVRD
SCBDT01NQU5EOgkgIiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVS
Ul9UQVJHRVQjIyovfTsKICAgICAgICAgICAgICAgIGVjaG8gInBhdGNoIC1wJHtjb3VudH0gJHtw
b3B0c30gPCAke1BBVENIX1RBUkdFVH0iID4+ICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5h
bWV9LSR7U1RERVJSX1RBUkdFVCMjKi99OwogICAgICAgICAgICAgICAgZWNobyA+PiAke1NUREVS
Ul9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAgICAg
ICAgICAgIF9lcGF0Y2hfZHJhd19saW5lICIqKioqKiAke3BhdGNobmFtZX0gKioqKioiID4+ICR7
U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99OwogICAg
ICAgICAgICAgICAgaWYgWyAiJHtQQVRDSF9TVUZGSVh9IiAhPSAicGF0Y2giIF07IHRoZW4KICAg
ICAgICAgICAgICAgICAgICBpZiAhICggJHtQSVBFX0NNRH0gJHt4fSA+ICR7UEFUQ0hfVEFSR0VU
fSApID4+ICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMj
Ki99IDI+JjE7IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAg
ICAgICAgICAgICAgZWVycm9yICJDb3VsZCBub3QgZXh0cmFjdCBwYXRjaCEiOwogICAgICAgICAg
ICAgICAgICAgICAgICBjb3VudD01OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAg
aWYgKCBjYXQgJHtQQVRDSF9UQVJHRVR9IHwgcGF0Y2ggLXAke2NvdW50fSAke3BvcHRzfSAtLWRy
eS1ydW4gLWY7CiAgICAgICAgICAgICAgICBfZXBhdGNoX2Fzc2VydCApID4+ICR7U1RERVJSX1RB
UkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99IDI+JjE7IHRoZW4KICAg
ICAgICAgICAgICAgICAgICBfZXBhdGNoX2RyYXdfbGluZSAiKioqKiogJHtwYXRjaG5hbWV9ICoq
KioqIiA+ICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMj
Ki99LnJlYWw7CiAgICAgICAgICAgICAgICAgICAgZWNobyA+PiAke1NUREVSUl9UQVJHRVQlLyp9
LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwogICAgICAgICAgICAgICAg
ICAgIGVjaG8gIkFDVFVBTExZIEFQUExZSU5HICR7cGF0Y2huYW1lfSAuLi4iID4+ICR7U1RERVJS
X1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99LnJlYWw7CiAgICAg
ICAgICAgICAgICAgICAgZWNobyA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0k
e1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwogICAgICAgICAgICAgICAgICAgIF9lcGF0Y2hfZHJh
d19saW5lICIqKioqKiAke3BhdGNobmFtZX0gKioqKioiID4+ICR7U1RERVJSX1RBUkdFVCUvKn0v
JHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99LnJlYWw7CiAgICAgICAgICAgICAgICAg
ICAgY2F0ICR7UEFUQ0hfVEFSR0VUfSB8IHBhdGNoIC1wJHtjb3VudH0gJHtwb3B0c30gPj4gJHtT
VERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30ucmVhbCAy
PiYxOwogICAgICAgICAgICAgICAgICAgIF9lcGF0Y2hfYXNzZXJ0OwogICAgICAgICAgICAgICAg
ICAgIGlmIFsgIiQ/IiAtbmUgMCBdOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIGNhdCAk
e1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfS5yZWFs
ID4+ICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99
OwogICAgICAgICAgICAgICAgICAgICAgICBlY2hvOwogICAgICAgICAgICAgICAgICAgICAgICBl
ZXJyb3IgIkEgZHJ5LXJ1biBvZiBwYXRjaCBjb21tYW5kIHN1Y2NlZWRlZCwgYnV0IGFjdHVhbGx5
IjsKICAgICAgICAgICAgICAgICAgICAgICAgZWVycm9yICJhcHBseWluZyB0aGUgcGF0Y2ggZmFp
bGVkISI7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50PTU7CiAgICAgICAgICAgICAgICAg
ICAgZmk7CiAgICAgICAgICAgICAgICAgICAgcm0gLWYgJHtTVERFUlJfVEFSR0VUJS8qfS8ke3Bh
dGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30ucmVhbDsKICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgY291bnQ9JCgoY291bnQg
KyAxKSk7CiAgICAgICAgICAgIGRvbmU7CiAgICAgICAgICAgIGlmIFsgIiR7UEFUQ0hfU1VGRklY
fSIgIT0gInBhdGNoIiBdOyB0aGVuCiAgICAgICAgICAgICAgICBybSAtZiAke1BBVENIX1RBUkdF
VH07CiAgICAgICAgICAgIGZpOwogICAgICAgICAgICBpZiBbICIke2NvdW50fSIgLWVxIDUgXTsg
dGhlbgogICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAgIGVlcnJvciAiRmFpbGVk
IFBhdGNoOiAke3BhdGNobmFtZX0gISI7CiAgICAgICAgICAgICAgICBlZXJyb3IgIiAoICR7UEFU
Q0hfVEFSR0VUfSApIjsKICAgICAgICAgICAgICAgIGVlcnJvcjsKICAgICAgICAgICAgICAgIGVl
cnJvciAiSW5jbHVkZSBpbiB5b3VyIGJ1Z3JlcG9ydCB0aGUgY29udGVudHMgb2Y6IjsKICAgICAg
ICAgICAgICAgIGVlcnJvcjsKICAgICAgICAgICAgICAgIGVlcnJvciAiICAke1NUREVSUl9UQVJH
RVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfSI7CiAgICAgICAgICAgICAg
ICBlY2hvOwogICAgICAgICAgICAgICAgZGllICJGYWlsZWQgUGF0Y2g6ICR7cGF0Y2huYW1lfSEi
OwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgcm0gLWYgJHtTVERFUlJfVEFSR0VUJS8qfS8k
e3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgIGVlbmQgMDsKICAg
ICAgICBmaTsKICAgIGRvbmU7CiAgICBpZiBbICIke1NJTkdMRV9QQVRDSH0iID0gIm5vIiBdOyB0
aGVuCiAgICAgICAgZWluZm8gIkRvbmUgd2l0aCBwYXRjaGluZyI7CiAgICBmaQp9CmVwYXVzZSAo
KSAKeyAKICAgIFtbIC16ICR7RVBBVVNFX0lHTk9SRX0gXV0gJiYgc2xlZXAgJHsxOi01fQp9CmVw
dW50X2N4eCAoKSAKeyAKICAgIGxvY2FsIGRpcj0kMTsKICAgIFtbIC16ICR7ZGlyfSBdXSAmJiBk
aXI9JHtTfTsKICAgIGViZWdpbiAiUmVtb3ZpbmcgdXNlbGVzcyBDKysgY2hlY2tzIjsKICAgIGxv
Y2FsIGY7CiAgICBmaW5kICIke2Rpcn0iIC1uYW1lIGNvbmZpZ3VyZSB8IHdoaWxlIHJlYWQgZjsg
ZG8KICAgICAgICBwYXRjaCAtLW5vLWJhY2t1cC1pZi1taXNtYXRjaCAtcDAgIiR7Zn0iICIke1BP
UlRESVJ9L2VjbGFzcy9FTFQtcGF0Y2hlcy9ub2N4eC9ub2N4eC5wYXRjaCIgPiAvZGV2L251bGw7
CiAgICBkb25lOwogICAgZWVuZCAwCn0KZXN2bl9jbGVhbiAoKSAKeyAKICAgIFtbIC16ICQqIF1d
ICYmIHNldCAtLSAuOwogICAgZmluZCAiJEAiIC10eXBlIGQgLW5hbWUgJy5zdm4nIC1wcnVuZSAt
cHJpbnQwIHwgeGFyZ3MgLTAgcm0gLXJmCn0KZmlsdGVyLWZsYWdzICgpIAp7IAogICAgX2ZpbHRl
ci1oYXJkZW5lZCAiJEAiOwogICAgX2ZpbHRlci12YXIgQ0ZMQUdTICIkQCI7CiAgICBfZmlsdGVy
LXZhciBDUFBGTEFHUyAiJEAiOwogICAgX2ZpbHRlci12YXIgQ1hYRkxBR1MgIiRAIjsKICAgIHJl
dHVybiAwCn0KZmlsdGVyLWxkZmxhZ3MgKCkgCnsgCiAgICBfZmlsdGVyLXZhciBMREZMQUdTICIk
QCI7CiAgICByZXR1cm4gMAp9CmZpbHRlci1sZnMtZmxhZ3MgKCkgCnsgCiAgICBbWyAtbiAkQCBd
XSAmJiBkaWUgImZpbHRlci1sZnMtZmxhZ3MgdGFrZXMgbm8gYXJndW1lbnRzIjsKICAgIGZpbHRl
ci1mbGFncyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfTEFS
R0VGSUxFNjRfU09VUkNFCn0KZmlsdGVyLW1mcG1hdGggKCkgCnsgCiAgICBsb2NhbCBvcmlnX21m
cG1hdGggbmV3X21hdGggcHJ1bmVfbWF0aDsKICAgIG9yaWdfbWZwbWF0aD0kKGdldC1mbGFnIC1t
ZnBtYXRoKTsKICAgIG5ld19tYXRoPSQoZ2V0LWZsYWcgbWZwbWF0aCk7CiAgICBuZXdfbWF0aD0i
ICR7bmV3X21hdGgvLywvIH0gIjsKICAgIHBydW5lX21hdGg9IiI7CiAgICBmb3IgcHJ1bmVfbWF0
aCBpbiAiJEAiOwogICAgZG8KICAgICAgICBuZXdfbWF0aD0ke25ld19tYXRoLyAke3BydW5lX21h
dGh9IC8gfTsKICAgIGRvbmU7CiAgICBuZXdfbWF0aD0kKGVjaG8gJHtuZXdfbWF0aH0pOwogICAg
bmV3X21hdGg9JHtuZXdfbWF0aC8vIC8sfTsKICAgIGlmIFtbIC16ICR7bmV3X21hdGh9IF1dOyB0
aGVuCiAgICAgICAgZmlsdGVyLWZsYWdzICR7b3JpZ19tZnBtYXRofTsKICAgIGVsc2UKICAgICAg
ICByZXBsYWNlLWZsYWdzICR7b3JpZ19tZnBtYXRofSAtbWZwbWF0aD0ke25ld19tYXRofTsKICAg
IGZpOwogICAgcmV0dXJuIDAKfQpmaW5kX3VucGFja2FibGVfZmlsZSAoKSAKeyAKICAgIGxvY2Fs
IHNyYz0kMTsKICAgIGlmIFtbIC16ICR7c3JjfSBdXTsgdGhlbgogICAgICAgIHNyYz0ke0RJU1RE
SVJ9LyR7QX07CiAgICBlbHNlCiAgICAgICAgaWYgW1sgLWUgJHtESVNURElSfS8ke3NyY30gXV07
IHRoZW4KICAgICAgICAgICAgc3JjPSR7RElTVERJUn0vJHtzcmN9OwogICAgICAgIGVsc2UKICAg
ICAgICAgICAgaWYgW1sgLWUgJHtQV0R9LyR7c3JjfSBdXTsgdGhlbgogICAgICAgICAgICAgICAg
c3JjPSR7UFdEfS8ke3NyY307CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGlmIFtb
IC1lICR7c3JjfSBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIHNyYz0ke3NyY307CiAgICAg
ICAgICAgICAgICBmaTsKICAgICAgICAgICAgZmk7CiAgICAgICAgZmk7CiAgICBmaTsKICAgIFtb
ICEgLWUgJHtzcmN9IF1dICYmIHJldHVybiAxOwogICAgZWNobyAiJHtzcmN9Igp9CmZpeF9mb250
X3Blcm1pc3Npb25zICgpIAp7IAogICAgZWJlZ2luICJGaXhpbmcgcGVybWlzc2lvbnMiOwogICAg
Zm9yIERJUiBpbiAke0ZPTlRfRElSfTsKICAgIGRvCiAgICAgICAgZmluZCAke1JPT1R9L3Vzci9z
aGFyZS9mb250cy8ke0RJUn0gLXR5cGUgZiAtbmFtZSAnZm9udC4qJyAtZXhlYyBjaG1vZCAwNjQ0
IHt9IFw7OwogICAgZG9uZTsKICAgIGVlbmQgMAp9CmdjYy1mdWxsdmVyc2lvbiAoKSAKeyAKICAg
ICQodGMtZ2V0Q0MgIiRAIikgLWR1bXB2ZXJzaW9uCn0KZ2NjLW1ham9yLXZlcnNpb24gKCkgCnsg
CiAgICBnY2MtdmVyc2lvbiAiJEAiIHwgY3V0IC1mMSAtZC4KfQpnY2MtbWljcm8tdmVyc2lvbiAo
KSAKeyAKICAgIGdjYy1mdWxsdmVyc2lvbiAiJEAiIHwgY3V0IC1mMyAtZC4gfCBjdXQgLWYxIC1k
LQp9CmdjYy1taW5vci12ZXJzaW9uICgpIAp7IAogICAgZ2NjLXZlcnNpb24gIiRAIiB8IGN1dCAt
ZjIgLWQuCn0KZ2NjLXNwZWNzLWRpcmVjdGl2ZSAoKSAKeyAKICAgIGxvY2FsIGRpcmVjdGl2ZSBz
dWJkbmFtZSBzdWJkaXJlY3RpdmU7CiAgICBkaXJlY3RpdmU9IiQoX2djYy1zcGVjcy1kaXJlY3Rp
dmVfcmF3ICQxKSI7CiAgICB3aGlsZSBbWyAke2RpcmVjdGl2ZX0gPT0gKiVcKCpcKSogXV07IGRv
CiAgICAgICAgc3ViZG5hbWU9JHtkaXJlY3RpdmUvKiVcKH07CiAgICAgICAgc3ViZG5hbWU9JHtz
dWJkbmFtZS9cKSp9OwogICAgICAgIHN1YmRpcmVjdGl2ZT0iJChfZ2NjLXNwZWNzLWRpcmVjdGl2
ZV9yYXcgJHtzdWJkbmFtZX0pIjsKICAgICAgICBkaXJlY3RpdmU9IiR7ZGlyZWN0aXZlLy9cJSgk
e3N1YmRuYW1lfSkvJHtzdWJkaXJlY3RpdmV9fSI7CiAgICBkb25lOwogICAgZWNobyAiJHtkaXJl
Y3RpdmV9IjsKICAgIHJldHVybiAwCn0KZ2NjLXNwZWNzLW5vdyAoKSAKeyAKICAgIGxvY2FsIGRp
cmVjdGl2ZTsKICAgIGRpcmVjdGl2ZT0kKGdjYy1zcGVjcy1kaXJlY3RpdmUgbGlua19jb21tYW5k
KTsKICAgIHJldHVybiAkKFtbICR7ZGlyZWN0aXZlL1x7IW5vbm93On0gIT0gJHtkaXJlY3RpdmV9
IF1dKQp9CmdjYy1zcGVjcy1waWUgKCkgCnsgCiAgICBsb2NhbCBkaXJlY3RpdmU7CiAgICBkaXJl
Y3RpdmU9JChnY2Mtc3BlY3MtZGlyZWN0aXZlIGNjMSk7CiAgICByZXR1cm4gJChbWyAke2RpcmVj
dGl2ZS9ceyFub3BpZTp9ICE9ICR7ZGlyZWN0aXZlfSBdXSkKfQpnY2Mtc3BlY3MtcmVscm8gKCkg
CnsgCiAgICBsb2NhbCBkaXJlY3RpdmU7CiAgICBkaXJlY3RpdmU9JChnY2Mtc3BlY3MtZGlyZWN0
aXZlIGxpbmtfY29tbWFuZCk7CiAgICByZXR1cm4gJChbWyAke2RpcmVjdGl2ZS9ceyFub3JlbHJv
On0gIT0gJHtkaXJlY3RpdmV9IF1dKQp9CmdjYy1zcGVjcy1zc3AgKCkgCnsgCiAgICBsb2NhbCBk
aXJlY3RpdmU7CiAgICBkaXJlY3RpdmU9JChnY2Mtc3BlY3MtZGlyZWN0aXZlIGNjMSk7CiAgICBy
ZXR1cm4gJChbWyAke2RpcmVjdGl2ZS9ceyFmbm8tc3RhY2stcHJvdGVjdG9yOn0gIT0gJHtkaXJl
Y3RpdmV9IF1dKQp9CmdjYy1zcGVjcy1zc3AtdG8tYWxsICgpIAp7IAogICAgbG9jYWwgZGlyZWN0
aXZlOwogICAgZGlyZWN0aXZlPSQoZ2NjLXNwZWNzLWRpcmVjdGl2ZSBjYzEpOwogICAgcmV0dXJu
ICQoW1sgJHtkaXJlY3RpdmUvXHshZm5vLXN0YWNrLXByb3RlY3Rvci1hbGw6fSAhPSAke2RpcmVj
dGl2ZX0gXV0pCn0KZ2NjLXZlcnNpb24gKCkgCnsgCiAgICBnY2MtZnVsbHZlcnNpb24gIiRAIiB8
IGN1dCAtZjEsMiAtZC4KfQpnZW5fdXNyX2xkc2NyaXB0ICgpIAp7IAogICAgbG9jYWwgbGliIGxp
YmRpcj0kKGdldF9saWJkaXIpIG91dHB1dF9mb3JtYXQ9IiI7CiAgICBkb2RpciAvdXNyLyR7bGli
ZGlyfTsKICAgIG91dHB1dF9mb3JtYXQ9JCgkKHRjLWdldENDKSAke0NGTEFHU30gJHtMREZMQUdT
fSAtV2wsLS12ZXJib3NlIDI+JjEgfCBzZWQgLW4gJ3MvXk9VVFBVVF9GT1JNQVQoIlwoW14iXSpc
KSIsLiovXDEvcCcpOwogICAgW1sgLW4gJHtvdXRwdXRfZm9ybWF0fSBdXSAmJiBvdXRwdXRfZm9y
bWF0PSJPVVRQVVRfRk9STUFUICggJHtvdXRwdXRfZm9ybWF0fSApIjsKICAgIGZvciBsaWIgaW4g
IiRAIjsKICAgIGRvCiAgICAgICAgaWYgW1sgJHtVU0VSTEFORH0gPT0gIkRhcndpbiIgXV07IHRo
ZW4KICAgICAgICAgICAgZXdhcm4gIk5vdCBjcmVhdGluZyBmYWtlIGR5bmFtaWMgbGlicmFyeSBm
b3IgJGxpYiBvbiBEYXJ3aW47IjsKICAgICAgICAgICAgZXdhcm4gIm1ha2luZyBhIHN5bWxpbmsg
aW5zdGVhZC4iOwogICAgICAgICAgICBkb3N5bSAiLyR7bGliZGlyfS8ke2xpYn0iICIvdXNyLyR7
bGliZGlyfS8ke2xpYn0iOwogICAgICAgIGVsc2UKICAgICAgICAgICAgY2F0ID4gIiR7RH0vdXNy
LyR7bGliZGlyfS8ke2xpYn0iICA8PC1FTkRfTERTQ1JJUFQKLyogR05VIGxkIHNjcmlwdAogICBT
aW5jZSBHZW50b28gaGFzIGNyaXRpY2FsIGR5bmFtaWMgbGlicmFyaWVzCiAgIGluIC9saWIsIGFu
ZCB0aGUgc3RhdGljIHZlcnNpb25zIGluIC91c3IvbGliLAogICB3ZSBuZWVkIHRvIGhhdmUgYSAi
ZmFrZSIgZHluYW1pYyBsaWIgaW4gL3Vzci9saWIsCiAgIG90aGVyd2lzZSB3ZSBydW4gaW50byBs
aW5raW5nIHByb2JsZW1zLgoKICAgU2VlIGJ1ZyBodHRwOi8vYnVncy5nZW50b28ub3JnLzQ0MTEg
Zm9yIG1vcmUgaW5mby4KICovCiR7b3V0cHV0X2Zvcm1hdH0KR1JPVVAgKCAvJHtsaWJkaXJ9LyR7
bGlifSApCkVORF9MRFNDUklQVAoKICAgICAgICBmaQogICAgICAgIGZwZXJtcyBhK3ggIi91c3Iv
JHtsaWJkaXJ9LyR7bGlifSIgfHwgZGllICJjb3VsZCBub3QgY2hhbmdlIHBlcm1zIG9uICR7bGli
fSI7CiAgICBkb25lCn0KZ2V0LWZsYWcgKCkgCnsgCiAgICBsb2NhbCBmIGZpbmRmbGFnPSIkMSI7
CiAgICBmb3IgZiBpbiAke0NGTEFHU30gJHtDWFhGTEFHU307CiAgICBkbwogICAgICAgIGlmIFsg
IiR7Zi8ke2ZpbmRmbGFnfX0iICE9ICIke2Z9IiBdOyB0aGVuCiAgICAgICAgICAgIHByaW50ZiAi
JXNcbiIgIiR7Zi8tJHtmaW5kZmxhZ309fSI7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAg
IGZpOwogICAgZG9uZTsKICAgIHJldHVybiAxCn0KZ2V0X2FiaV9BU0ZMQUdTICgpIAp7IAogICAg
Z2V0X2FiaV92YXIgQVNGTEFHUyAiJEAiCn0KZ2V0X2FiaV9DREVGSU5FICgpIAp7IAogICAgZ2V0
X2FiaV92YXIgQ0RFRklORSAiJEAiCn0KZ2V0X2FiaV9DRkxBR1MgKCkgCnsgCiAgICBnZXRfYWJp
X3ZhciBDRkxBR1MgIiRAIgp9CmdldF9hYmlfQ0hPU1QgKCkgCnsgCiAgICBnZXRfYWJpX3ZhciBD
SE9TVCAiJEAiCn0KZ2V0X2FiaV9DVEFSR0VUICgpIAp7IAogICAgZ2V0X2FiaV92YXIgQ1RBUkdF
VCAiJEAiCn0KZ2V0X2FiaV9GQUtFX1RBUkdFVFMgKCkgCnsgCiAgICBnZXRfYWJpX3ZhciBGQUtF
X1RBUkdFVFMgIiRAIgp9CmdldF9hYmlfTERGTEFHUyAoKSAKeyAKICAgIGdldF9hYmlfdmFyIExE
RkxBR1MgIiRAIgp9CmdldF9hYmlfTElCRElSICgpIAp7IAogICAgZ2V0X2FiaV92YXIgTElCRElS
ICIkQCIKfQpnZXRfYWJpX3ZhciAoKSAKeyAKICAgIGxvY2FsIGZsYWc9JDE7CiAgICBsb2NhbCBh
Ymk7CiAgICBpZiBbICQjIC1ndCAxIF07IHRoZW4KICAgICAgICBhYmk9JHsyfTsKICAgIGVsc2UK
ICAgICAgICBpZiBbIC1uICIke0FCSX0iIF07IHRoZW4KICAgICAgICAgICAgYWJpPSR7QUJJfTsK
ICAgICAgICBlbHNlCiAgICAgICAgICAgIGlmIFsgLW4gIiR7REVGQVVMVF9BQkl9IiBdOyB0aGVu
CiAgICAgICAgICAgICAgICBhYmk9JHtERUZBVUxUX0FCSX07CiAgICAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgICAgIGFiaT0iZGVmYXVsdCI7CiAgICAgICAgICAgIGZpOwogICAgICAgIGZpOwog
ICAgZmk7CiAgICBsb2NhbCB2YXI9IiR7ZmxhZ31fJHthYml9IjsKICAgIGVjaG8gJHshdmFyfQp9
CmdldF9hbGxfYWJpcyAoKSAKeyAKICAgIGxvY2FsIG9yZGVyPSIiOwogICAgaWYgW1sgLXogJHtN
VUxUSUxJQl9BQklTfSBdXTsgdGhlbgogICAgICAgIGVjaG8gImRlZmF1bHQiOwogICAgICAgIHJl
dHVybiAwOwogICAgZmk7CiAgICBmb3IgeCBpbiAke01VTFRJTElCX0FCSVN9OwogICAgZG8KICAg
ICAgICBpZiBbWyAke3h9ICE9ICR7REVGQVVMVF9BQkl9IF1dOyB0aGVuCiAgICAgICAgICAgIG9y
ZGVyPSIke29yZGVyOiske29yZGVyfSB9JHt4fSI7CiAgICAgICAgZmk7CiAgICBkb25lOwogICAg
b3JkZXI9IiR7b3JkZXI6KyR7b3JkZXJ9IH0ke0RFRkFVTFRfQUJJfSI7CiAgICBlY2hvICR7b3Jk
ZXJ9OwogICAgcmV0dXJuIDAKfQpnZXRfYWxsX2xpYmRpcnMgKCkgCnsgCiAgICBsb2NhbCBsaWJk
aXJzPSJsaWIiOwogICAgbG9jYWwgYWJpOwogICAgbG9jYWwgZGlyOwogICAgZm9yIGFiaSBpbiAk
e01VTFRJTElCX0FCSVN9OwogICAgZG8KICAgICAgICBbICIkKGdldF9hYmlfTElCRElSICR7YWJp
fSkiICE9ICJsaWIiIF0gJiYgbGliZGlycz0iJHtsaWJkaXJzfSAkKGdldF9hYmlfTElCRElSICR7
YWJpfSkiOwogICAgZG9uZTsKICAgIGVjaG8gIiR7bGliZGlyc30iCn0KZ2V0X2JtYWtlICgpIAp7
IAogICAgaWYgW1sgJHtVU0VSTEFORH0gPT0gKkJTRCBdXTsgdGhlbgogICAgICAgIGVjaG8gbWFr
ZTsKICAgIGVsc2UKICAgICAgICBpZiBbWyAke1VTRVJMQU5EfSA9PSAiRGFyd2luIiBdXTsgdGhl
bgogICAgICAgICAgICBlY2hvIGJzZG1ha2U7CiAgICAgICAgZWxzZQogICAgICAgICAgICBlY2hv
IHBtYWtlOwogICAgICAgIGZpOwogICAgZmkKfQpnZXRfaW5zdGFsbF9hYmlzICgpIAp7IAogICAg
bG9jYWwgb3JkZXI9IiI7CiAgICBpZiBbWyAteiAke01VTFRJTElCX0FCSVN9IF1dOyB0aGVuCiAg
ICAgICAgZWNobyAiZGVmYXVsdCI7CiAgICAgICAgcmV0dXJuIDA7CiAgICBmaTsKICAgIGlmIFtb
ICR7RU1VTFRJTElCX1BLR30gPT0gInRydWUiIF1dOyB0aGVuCiAgICAgICAgZm9yIHggaW4gJHtN
VUxUSUxJQl9BQklTfTsKICAgICAgICBkbwogICAgICAgICAgICBpZiBbWyAke3h9ICE9ICIke0RF
RkFVTFRfQUJJfSIgXV07IHRoZW4KICAgICAgICAgICAgICAgIGhhc3EgJHt4fSAke0FCSV9ERU5Z
fSB8fCBvcmRlcmE9IiR7b3JkZXJhfSAke3h9IjsKICAgICAgICAgICAgZmk7CiAgICAgICAgZG9u
ZTsKICAgICAgICBoYXNxICR7REVGQVVMVF9BQkl9ICR7QUJJX0RFTll9IHx8IG9yZGVyPSIke29y
ZGVyYX0gJHtERUZBVUxUX0FCSX0iOwogICAgICAgIGlmIFtbIC1uICR7QUJJX0FMTE9XfSBdXTsg
dGhlbgogICAgICAgICAgICBsb2NhbCBvcmRlcmE9IiI7CiAgICAgICAgICAgIGZvciB4IGluICR7
b3JkZXJ9OwogICAgICAgICAgICBkbwogICAgICAgICAgICAgICAgaWYgaGFzcSAke3h9ICR7QUJJ
X0FMTE9XfTsgdGhlbgogICAgICAgICAgICAgICAgICAgIG9yZGVyYT0iJHtvcmRlcmF9ICR7eH0i
OwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGRvbmU7CiAgICAgICAgICAgIG9yZGVy
PSR7b3JkZXJhfTsKICAgICAgICBmaTsKICAgIGVsc2UKICAgICAgICBvcmRlcj0ke0RFRkFVTFRf
QUJJfTsKICAgIGZpOwogICAgaWYgW1sgLXogJHtvcmRlcn0gXV07IHRoZW4KICAgICAgICBkaWUg
IlRoZSBBQkkgbGlzdCBpcyBlbXB0eS4gIEFyZSB5b3UgdXNpbmcgYSBwcm9wZXIgbXVsdGlsaWIg
cHJvZmlsZT8gIFBlcmhhcHMgeW91ciBVU0UgZmxhZ3Mgb3IgTVVMVElMSUJfQUJJUyBhcmUgdG9v
IHJlc3RyaWN0aXZlIGZvciB0aGlzIHBhY2thZ2UuIjsKICAgIGZpOwogICAgZWNobyAke29yZGVy
fTsKICAgIHJldHVybiAwCn0KZ2V0X2xpYmRpciAoKSAKeyAKICAgIGxvY2FsIENPTkZfTElCRElS
OwogICAgaWYgWyAtbiAiJHtDT05GX0xJQkRJUl9PVkVSUklERX0iIF07IHRoZW4KICAgICAgICBl
Y2hvICR7Q09ORl9MSUJESVJfT1ZFUlJJREV9OwogICAgZWxzZQogICAgICAgIGdldF9hYmlfTElC
RElSOwogICAgZmkKfQpnZXRfbGliZGlyX292ZXJyaWRlICgpIAp7IAogICAgaWYgaGFzX211bHRp
bGliX3Byb2ZpbGU7IHRoZW4KICAgICAgICBlZXJyb3IgImdldF9saWJkaXJfb3ZlcnJpZGUgY2Fs
bGVkLCBidXQgaXQgc2hvdWxkbid0IGJlIG5lZWRlZCB3aXRoIHRoZSBuZXcgbXVsdGlsaWIgYXBw
cm9hY2guICBQbGVhc2UgZmlsZSBhIGJ1ZyBhdCBodHRwOi8vYnVncy5nZW50b28ub3JnIGFuZCBh
c3NpZ24gaXQgdG8gZXJhZGljYXRvckBnZW50b28ub3JnIjsKICAgICAgICBleGl0IDE7CiAgICBm
aTsKICAgIENPTkZfTElCRElSPSIkMSI7CiAgICBDT05GX0xJQkRJUl9PVkVSUklERT0iJDEiOwog
ICAgTElCRElSX2RlZmF1bHQ9IiQxIgp9CmdldF9saWJuYW1lICgpIAp7IAogICAgbG9jYWwgbGli
bmFtZTsKICAgIGxvY2FsIHZlcj0kMTsKICAgIGNhc2UgJHtDSE9TVH0gaW4gCiAgICAgICAgbWlu
Z3cqIHwgKi1taW5ndyopCiAgICAgICAgICAgIGxpYm5hbWU9ImRsbCIKICAgICAgICA7OwogICAg
ICAgICotZGFyd2luKikKICAgICAgICAgICAgbGlibmFtZT0iZHlsaWIiCiAgICAgICAgOzsKICAg
ICAgICAqKQogICAgICAgICAgICBsaWJuYW1lPSJzbyIKICAgICAgICA7OwogICAgZXNhYzsKICAg
IGlmIFtbIC16ICQqIF1dOyB0aGVuCiAgICAgICAgZWNobyAiLiR7bGlibmFtZX0iOwogICAgZWxz
ZQogICAgICAgIGZvciB2ZXIgaW4gIiRAIjsKICAgICAgICBkbwogICAgICAgICAgICBjYXNlICR7
Q0hPU1R9IGluIAogICAgICAgICAgICAgICAgKi1kYXJ3aW4qKQogICAgICAgICAgICAgICAgICAg
IGVjaG8gIi4ke3Zlcn0uJHtsaWJuYW1lfSIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAg
ICAgICAqKQogICAgICAgICAgICAgICAgICAgIGVjaG8gIi4ke2xpYm5hbWV9LiR7dmVyfSIKICAg
ICAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAgZG9uZTsKICAgIGZpCn0K
Z2V0X21sX2luY2RpciAoKSAKeyAKICAgIGxvY2FsIGRpcj0vdXNyL2luY2x1ZGU7CiAgICBpZiBb
WyAkIyAtZ3QgMCBdXTsgdGhlbgogICAgICAgIGluY2Rpcj0kMTsKICAgICAgICBzaGlmdDsKICAg
IGZpOwogICAgaWYgW1sgLXogIiR7TVVMVElMSUJfQUJJU30iIF1dOyB0aGVuCiAgICAgICAgZWNo
byAke2luY2Rpcn07CiAgICAgICAgcmV0dXJuIDA7CiAgICBmaTsKICAgIGxvY2FsIGFiaT0ke0FC
SS0ke0RFRkFVTFRfQUJJfX07CiAgICBpZiBbWyAkIyAtZ3QgMCBdXTsgdGhlbgogICAgICAgIGFi
aT0kMTsKICAgICAgICBzaGlmdDsKICAgIGZpOwogICAgaWYgW1sgLWQgIiR7ZGlyfS9nZW50b28t
bXVsdGlsaWIvJHthYml9IiBdXTsgdGhlbgogICAgICAgIGVjaG8gJHtkaXJ9L2dlbnRvby1tdWx0
aWxpYi8ke2FiaX07CiAgICBlbHNlCiAgICAgICAgZWNobyAke2Rpcn07CiAgICBmaQp9CmdldF9t
b3VudHMgKCkgCnsgCiAgICBsb2NhbCBwb2ludD0gbm9kZT0gZnM9IG9wdHM9IGZvbz07CiAgICBp
ZiBbWyAkKHVuYW1lIC1zKSA9PSAiTGludXgiIF1dOyB0aGVuCiAgICAgICAgd2hpbGUgcmVhZCBu
b2RlIHBvaW50IGZzIG9wdHMgZm9vOyBkbwogICAgICAgICAgICBlY2hvICIke3BvaW50fSAke25v
ZGV9ICR7ZnN9ICR7b3B0c30iOwogICAgICAgIGRvbmUgPCAvcHJvYy9tb3VudHM7CiAgICAgICAg
cmV0dXJuOwogICAgZmk7CiAgICBsb2NhbCBJRlM9JwknOwogICAgTENfQUxMPUMgbW91bnQgLXAg
fCB3aGlsZSByZWFkIG5vZGUgcG9pbnQgZnMgZm9vOyBkbwogICAgICAgIG9wdHM9JHtmcyMqIH07
CiAgICAgICAgZnM9JHtmcyUlICp9OwogICAgICAgIGVjaG8gIiR7cG9pbnQvLyAvXDA0MH0gJHtu
b2RlLy8gL1wwNDB9ICR7ZnMlJSAqfSAke29wdHMvLyAvXDA0MH0iOwogICAgZG9uZQp9CmdldF9t
dWx0aWxpYmRpciAoKSAKeyAKICAgIGlmIGhhc19tdWx0aWxpYl9wcm9maWxlOyB0aGVuCiAgICAg
ICAgZWVycm9yICJnZXRfbXVsdGlsaWJkaXIgY2FsbGVkLCBidXQgaXQgc2hvdWxkbid0IGJlIG5l
ZWRlZCB3aXRoIHRoZSBuZXcgbXVsdGlsaWIgYXBwcm9hY2guICBQbGVhc2UgZmlsZSBhIGJ1ZyBh
dCBodHRwOi8vYnVncy5nZW50b28ub3JnIGFuZCBhc3NpZ24gaXQgdG8gZXJhZGljYXRvckBnZW50
b28ub3JnIjsKICAgICAgICBleGl0IDE7CiAgICBmaTsKICAgIGVjaG8gJHtDT05GX01VTFRJTElC
RElSOj1saWIzMn0KfQpoYXNfaGFyZGVuZWQgKCkgCnsgCiAgICBld2FybiAiaGFzX2hhcmRlbmVk
OiBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIGdjYy1zcGVjcy17cmVscm8sbm93fSgpISIgMT4mMjsK
ICAgIHRlc3RfdmVyc2lvbl9pbmZvIEhhcmRlbmVkICYmIHJldHVybiAwOwogICAgW1sgLWYgJHtH
Q0NfU1BFQ1N9ICYmICR7R0NDX1NQRUNTfSAhPSAke0dDQ19TUEVDUy9oYXJkZW5lZC99IF1dCn0K
aGFzX20zMiAoKSAKeyAKICAgIFsgIiQodGMtYXJjaCkiID0gImFtZDY0IiBdICYmIGhhc19tdWx0
aWxpYl9wcm9maWxlICYmIHJldHVybiAwOwogICAgbG9jYWwgdGVtcD0kKGVta3RlbXApOwogICAg
ZWNobyAiaW50IG1haW4oKSB7IHJldHVybigwKTsgfSIgPiAiJHt0ZW1wfSIuYzsKICAgIE1ZX0ND
PSQodGMtZ2V0Q0MpOwogICAgJHtNWV9DQy8gLiovfSAtbTMyIC1vICIkKGVta3RlbXApIiAiJHt0
ZW1wfSIuYyA+IC9kZXYvbnVsbCAyPiYxOwogICAgbG9jYWwgcmV0PSQ/OwogICAgcm0gLWYgIiR7
dGVtcH0iLmM7CiAgICBbWyAke3JldH0gIT0gMSBdXSAmJiByZXR1cm4gMDsKICAgIHJldHVybiAx
Cn0KaGFzX202NCAoKSAKeyAKICAgIGxvY2FsIHRlbXA9IiQoZW1rdGVtcCkiOwogICAgZWNobyAi
aW50IG1haW4oKSB7IHJldHVybigwKTsgfSIgPiAiJHt0ZW1wfSIuYzsKICAgIE1ZX0NDPSQodGMt
Z2V0Q0MpOwogICAgJHtNWV9DQy8gLiovfSAtbTY0IC1vICIkKGVta3RlbXApIiAiJHt0ZW1wfSIu
YyA+IC9kZXYvbnVsbCAyPiYxOwogICAgbG9jYWwgcmV0PSQ/OwogICAgcm0gLWYgIiR7dGVtcH0i
LmM7CiAgICBbWyAke3JldH0gIT0gMSBdXSAmJiByZXR1cm4gMDsKICAgIHJldHVybiAxCn0KaGFz
X211bHRpbGliX3Byb2ZpbGUgKCkgCnsgCiAgICBbIC1uICIke01VTFRJTElCX0FCSVN9IiAtYSAi
JHtNVUxUSUxJQl9BQklTfSIgIT0gIiR7TVVMVElMSUJfQUJJUy8gL30iIF0KfQpoYXNfcGljICgp
IAp7IAogICAgZXdhcm4gImhhc19waWM6IGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2UgZ2NjLXNwZWNz
LXBpZSgpISIgMT4mMjsKICAgIFtbICR7Q0ZMQUdTLy1mUElDfSAhPSAke0NGTEFHU30gfHwgJHtD
RkxBR1MvLWZwaWN9ICE9ICR7Q0ZMQUdTfSBdXSB8fCBnY2Mtc3BlY3MtcGllCn0KaGFzX3BpZSAo
KSAKeyAKICAgIGV3YXJuICJoYXNfcGllOiBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIGdjYy1zcGVj
cy1waWUoKSEiIDE+JjI7CiAgICBbWyAke0NGTEFHUy8tZlBJRX0gIT0gJHtDRkxBR1N9IHx8ICR7
Q0ZMQUdTLy1mcGllfSAhPSAke0NGTEFHU30gXV0gfHwgZ2NjLXNwZWNzLXBpZQp9Cmhhc19zc3Ag
KCkgCnsgCiAgICBld2FybiAiaGFzX3NzcDogZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBnY2Mtc3Bl
Y3Mtc3NwKCkhIiAxPiYyOwogICAgW1sgJHtDRkxBR1MvLWZzdGFjay1wcm90ZWN0b3J9ICE9ICR7
Q0ZMQUdTfSB8fCAtbiAkKGVjaG8gfCAkKHRjLWdldENDKSAke0NGTEFHU30gLUUgLWRNIC0gfCBn
cmVwIF9fU1NQX18pIF1dIHx8IGdjYy1zcGVjcy1zc3AKfQpoYXNfc3NwX2FsbCAoKSAKeyAKICAg
IGV3YXJuICJoYXNfc3NwX2FsbDogZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBnY2Mtc3BlY3Mtc3Nw
KCkhIiAxPiYyOwogICAgW1sgJHtDRkxBR1MvLWZzdGFjay1wcm90ZWN0b3ItYWxsfSAhPSAke0NG
TEFHU30gfHwgLW4gJChlY2hvIHwgJCh0Yy1nZXRDQykgJHtDRkxBR1N9IC1FIC1kTSAtIHwgZ3Jl
cCBfX1NTUF9BTExfXykgXV0gfHwgZ2NjLXNwZWNzLXNzcC1hbGwKfQppbnN0YWxsX2RyaXZlcl9o
d2RhdGEgKCkgCnsgCiAgICBpbnNpbnRvIC91c3Ivc2hhcmUvaHdkYXRhL3ZpZGVvYWxpYXNlczsK
ICAgIGZvciBpIGluICIke0ZJTEVTRElSfSIvKi54aW5mOwogICAgZG8KICAgICAgICBpZiBbWyAt
ZSAkaSBdXTsgdGhlbgogICAgICAgICAgICBkb2lucyAkaTsKICAgICAgICBmaTsKICAgIGRvbmUK
fQppcy1mbGFnICgpIAp7IAogICAgaXMtZmxhZ3EgIiRAIiAmJiBlY2hvIHRydWUKfQppcy1mbGFn
cSAoKSAKeyAKICAgIFtbIC1uICQyIF1dICYmIGRpZSAiVXNhZ2U6IGlzLWZsYWcgPGZsYWc+IjsK
ICAgIF9pc19mbGFncSBDRkxBR1MgJDEgfHwgX2lzX2ZsYWdxIENYWEZMQUdTICQxCn0KaXMtbGRm
bGFnICgpIAp7IAogICAgaXMtbGRmbGFncSAiJEAiICYmIGVjaG8gdHJ1ZQp9CmlzLWxkZmxhZ3Eg
KCkgCnsgCiAgICBbWyAtbiAkMiBdXSAmJiBkaWUgIlVzYWdlOiBpcy1sZGZsYWcgPGZsYWc+IjsK
ICAgIF9pc19mbGFncSBMREZMQUdTICQxCn0KaXMtbG9naW4tZGlzYWJsZWQgKCkgCnsgCiAgICBz
aGVsbD0kKGVnZXRzaGVsbCAiJDEiKTsKICAgIGNhc2UgJHtzaGVsbH0gaW4gCiAgICAgICAgL2Jp
bi9mYWxzZSB8IC91c3IvYmluL2ZhbHNlIHwgL3NiaW4vbm9sb2dpbiB8IC91c3Ivc2Jpbi9ub2xv
Z2luKQogICAgICAgICAgICByZXR1cm4gMAogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAg
ICAgcmV0dXJuIDEKICAgICAgICA7OwogICAgZXNhYwp9CmlzX2ZpbmFsX2FiaSAoKSAKeyAKICAg
IGhhc19tdWx0aWxpYl9wcm9maWxlIHx8IHJldHVybiAwOwogICAgbG9jYWwgQUxMX0FCSVM9JChn
ZXRfaW5zdGFsbF9hYmlzKTsKICAgIGxvY2FsIExBU1RfQUJJPSR7QUxMX0FCSVMvKiAvfTsKICAg
IFtbICR7TEFTVF9BQkl9ID09ICR7QUJJfSBdXQp9Cm1ha2VfZGVza3RvcF9lbnRyeSAoKSAKeyAK
ICAgIFtbIC16ICQxIF1dICYmIGVlcnJvciAibWFrZV9kZXNrdG9wX2VudHJ5OiBZb3UgbXVzdCBz
cGVjaWZ5IHRoZSBleGVjdXRhYmxlIiAmJiByZXR1cm4gMTsKICAgIGxvY2FsIGV4ZWM9JHsxfTsK
ICAgIGxvY2FsIG5hbWU9JHsyOi0ke1BOfX07CiAgICBsb2NhbCBpY29uPSR7MzotJHtQTn19Owog
ICAgbG9jYWwgdHlwZT0kezR9OwogICAgbG9jYWwgcGF0aD0kezV9OwogICAgaWYgW1sgLXogJHt0
eXBlfSBdXTsgdGhlbgogICAgICAgIGxvY2FsIGNhdG1haj0ke0NBVEVHT1JZJSUtKn07CiAgICAg
ICAgbG9jYWwgY2F0bWluPSR7Q0FURUdPUlkjIyotfTsKICAgICAgICBjYXNlICR7Y2F0bWFqfSBp
biAKICAgICAgICAgICAgYXBwKQogICAgICAgICAgICAgICAgY2FzZSAke2NhdG1pbn0gaW4gCiAg
ICAgICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eSkKICAgICAgICAgICAgICAgICAgICAgICAg
dHlwZT1BY2Nlc3NpYmlsaXR5CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAg
ICAgICBhZG1pbikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1TeXN0ZW0KICAgICAgICAg
ICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGFudGl2aXJ1cykKICAgICAgICAgICAg
ICAgICAgICAgICAgdHlwZT1TeXN0ZW0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAg
ICAgICAgICAgIGFyY2gpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9QXJjaGl2aW5nCiAg
ICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBiYWNrdXApCiAgICAgICAg
ICAgICAgICAgICAgICAgIHR5cGU9QXJjaGl2aW5nCiAgICAgICAgICAgICAgICAgICAgOzsKICAg
ICAgICAgICAgICAgICAgICBjZHIpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9RGlzY0J1
cm5pbmcKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGRpY3RzKQog
ICAgICAgICAgICAgICAgICAgICAgICB0eXBlPURpY3Rpb25hcnkKICAgICAgICAgICAgICAgICAg
ICA7OwogICAgICAgICAgICAgICAgICAgIGRvYykKICAgICAgICAgICAgICAgICAgICAgICAgdHlw
ZT1Eb2N1bWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAg
ICBlZGl0b3JzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVRleHRFZGl0b3IKICAgICAg
ICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGVtYWNzKQogICAgICAgICAgICAg
ICAgICAgICAgICB0eXBlPVRleHRFZGl0b3IKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAg
ICAgICAgICAgICAgIGVtdWxhdGlvbikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1FbXVs
YXRvcgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgbGFwdG9wKQog
ICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUhhcmR3YXJlU2V0dGluZ3MKICAgICAgICAgICAg
ICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIG9mZmljZSkKICAgICAgICAgICAgICAgICAg
ICAgICAgdHlwZT1PZmZpY2UKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAg
ICAgIHBkYSkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1QREEKICAgICAgICAgICAgICAg
ICAgICA7OwogICAgICAgICAgICAgICAgICAgIHZpbSkKICAgICAgICAgICAgICAgICAgICAgICAg
dHlwZT1UZXh0RWRpdG9yCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAg
ICB4ZW1hY3MpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9VGV4dEVkaXRvcgogICAgICAg
ICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgICAg
ICAgICAgdHlwZT0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgZXNhYwog
ICAgICAgICAgICA7OwogICAgICAgICAgICBkZXYpCiAgICAgICAgICAgICAgICB0eXBlPSJEZXZl
bG9wbWVudCIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgZ2FtZXMpCiAgICAgICAgICAgICAg
ICBjYXNlICR7Y2F0bWlufSBpbiAKICAgICAgICAgICAgICAgICAgICBhY3Rpb24gfCBmcHMpCiAg
ICAgICAgICAgICAgICAgICAgICAgIHR5cGU9QWN0aW9uR2FtZQogICAgICAgICAgICAgICAgICAg
IDs7CiAgICAgICAgICAgICAgICAgICAgYXJjYWRlKQogICAgICAgICAgICAgICAgICAgICAgICB0
eXBlPUFyY2FkZUdhbWUKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAg
IGJvYXJkKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUJvYXJkR2FtZQogICAgICAgICAg
ICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgZW11bGF0aW9uKQogICAgICAgICAgICAg
ICAgICAgICAgICB0eXBlPUVtdWxhdG9yCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAg
ICAgICAgICAgICBraWRzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUtpZHNHYW1lCiAg
ICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBwdXp6bGUpCiAgICAgICAg
ICAgICAgICAgICAgICAgIHR5cGU9TG9naWNHYW1lCiAgICAgICAgICAgICAgICAgICAgOzsKICAg
ICAgICAgICAgICAgICAgICByb2d1ZWxpa2UpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9
Um9sZVBsYXlpbmcKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHJw
ZykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1Sb2xlUGxheWluZwogICAgICAgICAgICAg
ICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgc2ltdWxhdGlvbikKICAgICAgICAgICAgICAg
ICAgICAgICAgdHlwZT1TaW11bGF0aW9uCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAg
ICAgICAgICAgICBzcG9ydHMpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9U3BvcnRzR2Ft
ZQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgc3RyYXRlZ3kpCiAg
ICAgICAgICAgICAgICAgICAgICAgIHR5cGU9U3RyYXRlZ3lHYW1lCiAgICAgICAgICAgICAgICAg
ICAgOzsKICAgICAgICAgICAgICAgICAgICAqKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBl
PQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICBlc2FjOwogICAgICAgICAg
ICAgICAgdHlwZT0iR2FtZTske3R5cGV9IgogICAgICAgICAgICA7OwogICAgICAgICAgICBnbm9t
ZSkKICAgICAgICAgICAgICAgIHR5cGU9Ikdub21lO0dUSyIKICAgICAgICAgICAgOzsKICAgICAg
ICAgICAga2RlKQogICAgICAgICAgICAgICAgdHlwZT0iS0RFO1F0IgogICAgICAgICAgICA7Owog
ICAgICAgICAgICBtYWlsKQogICAgICAgICAgICAgICAgdHlwZT0iTmV0d29yaztFbWFpbCIKICAg
ICAgICAgICAgOzsKICAgICAgICAgICAgbWVkaWEpCiAgICAgICAgICAgICAgICBjYXNlICR7Y2F0
bWlufSBpbiAKICAgICAgICAgICAgICAgICAgICBnZngpCiAgICAgICAgICAgICAgICAgICAgICAg
IHR5cGU9R3JhcGhpY3MKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAg
IHJhZGlvKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVR1bmVyCiAgICAgICAgICAgICAg
ICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBzb3VuZCkKICAgICAgICAgICAgICAgICAgICAg
ICAgdHlwZT1BdWRpbwogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAg
dHYpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9VFYKICAgICAgICAgICAgICAgICAgICA7
OwogICAgICAgICAgICAgICAgICAgIHZpZGVvKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBl
PVZpZGVvCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICAqKQogICAg
ICAgICAgICAgICAgICAgICAgICB0eXBlPQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgICAgICBlc2FjOwogICAgICAgICAgICAgICAgdHlwZT0iQXVkaW9WaWRlbzske3R5cGV9Igog
ICAgICAgICAgICA7OwogICAgICAgICAgICBuZXQpCiAgICAgICAgICAgICAgICBjYXNlICR7Y2F0
bWlufSBpbiAKICAgICAgICAgICAgICAgICAgICBkaWFsdXApCiAgICAgICAgICAgICAgICAgICAg
ICAgIHR5cGU9RGlhbHVwCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAg
ICBmdHApCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9RmlsZVRyYW5zZmVyCiAgICAgICAg
ICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBpbSkKICAgICAgICAgICAgICAgICAg
ICAgICAgdHlwZT1JbnN0YW50TWVzc2FnaW5nCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgICAgICBpcmMpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9SVJDQ2xpZW50
CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBtYWlsKQogICAgICAg
ICAgICAgICAgICAgICAgICB0eXBlPUVtYWlsCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgICAgICBuZXdzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPU5ld3MKICAg
ICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIG5udHApCiAgICAgICAgICAg
ICAgICAgICAgICAgIHR5cGU9TmV3cwogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAg
ICAgICAgICAgcDJwKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUZpbGVUcmFuc2Zlcgog
ICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgKikKICAgICAgICAgICAg
ICAgICAgICAgICAgdHlwZT0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAg
ZXNhYzsKICAgICAgICAgICAgICAgIHR5cGU9Ik5ldHdvcms7JHt0eXBlfSIKICAgICAgICAgICAg
OzsKICAgICAgICAgICAgc2NpKQogICAgICAgICAgICAgICAgY2FzZSAke2NhdG1pbn0gaW4gCiAg
ICAgICAgICAgICAgICAgICAgYXN0cm8qKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUFz
dHJvbm9teQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgYmlvKikK
ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1CaW9sb2d5CiAgICAgICAgICAgICAgICAgICAg
OzsKICAgICAgICAgICAgICAgICAgICBjYWxjKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlw
ZT1DYWxjdWxhdG9yCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBj
aGVtKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1DaGVtaXN0cnkKICAgICAgICAgICAg
ICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGVsZWMqKQogICAgICAgICAgICAgICAgICAg
ICAgICB0eXBlPUVsZWN0cm9uaWNzCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg
ICAgICAgICBnZW8qKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUdlb2xvZ3kKICAgICAg
ICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIG1hdGgqKQogICAgICAgICAgICAg
ICAgICAgICAgICB0eXBlPU1hdGgKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAg
ICAgICAgIHBoeXNpY3MpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9UGh5c2ljcwogICAg
ICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgdmlzdWFsKikKICAgICAgICAg
ICAgICAgICAgICAgICAgdHlwZT1EYXRhVmlzdWFsaXphdGlvbgogICAgICAgICAgICAgICAgICAg
IDs7CiAgICAgICAgICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0K
ICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAg
ICAgIHR5cGU9IlNjaWVuY2U7JHt0eXBlfSIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgc3lz
KQogICAgICAgICAgICAgICAgdHlwZT0iU3lzdGVtIgogICAgICAgICAgICA7OwogICAgICAgICAg
ICB3d3cpCiAgICAgICAgICAgICAgICBjYXNlICR7Y2F0bWlufSBpbiAKICAgICAgICAgICAgICAg
ICAgICBjbGllbnQpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9V2ViQnJvd3NlcgogICAg
ICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgKikKICAgICAgICAgICAgICAg
ICAgICAgICAgdHlwZT0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgZXNh
YzsKICAgICAgICAgICAgICAgIHR5cGU9Ik5ldHdvcmsiCiAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgICopCiAgICAgICAgICAgICAgICB0eXBlPQogICAgICAgICAgICA7OwogICAgICAgIGVzYWM7
CiAgICBmaTsKICAgIGlmIFsgIiR7U0xPVH0iID09ICIwIiBdOyB0aGVuCiAgICAgICAgbG9jYWwg
ZGVza3RvcF9uYW1lPSIke1BOfSI7CiAgICBlbHNlCiAgICAgICAgbG9jYWwgZGVza3RvcF9uYW1l
PSIke1BOfS0ke1NMT1R9IjsKICAgIGZpOwogICAgbG9jYWwgZGVza3RvcD0iJHtUfS8kKGVjaG8g
JHtleGVjfSB8IHNlZCAnczpbWzpzcGFjZTpdLzpdOl86ZycpLSR7ZGVza3RvcF9uYW1lfS5kZXNr
dG9wIjsKICAgIGNhdCA+ICIke2Rlc2t0b3B9IiAgPDwtRU9GCltEZXNrdG9wIEVudHJ5XQpWZXJz
aW9uPTEuMApOYW1lPSR7bmFtZX0KVHlwZT1BcHBsaWNhdGlvbgpDb21tZW50PSR7REVTQ1JJUFRJ
T059CkV4ZWM9JHtleGVjfQpUcnlFeGVjPSR7ZXhlYyUlICp9Ckljb249JHtpY29ufQpDYXRlZ29y
aWVzPSR7dHlwZX07CkVPRgoKICAgIFtbIC1uICR7cGF0aH0gXV0gJiYgZWNobyAiUGF0aD0ke3Bh
dGh9IiA+PiAiJHtkZXNrdG9wfSI7CiAgICAoIGluc2ludG8gL3Vzci9zaGFyZS9hcHBsaWNhdGlv
bnM7CiAgICBkb2lucyAiJHtkZXNrdG9wfSIgKQp9Cm1ha2Vfc2Vzc2lvbl9kZXNrdG9wICgpIAp7
IAogICAgW1sgLXogJDEgXV0gJiYgZWVycm9yICJtYWtlX3Nlc3Npb25fZGVza3RvcDogWW91IG11
c3Qgc3BlY2lmeSB0aGUgdGl0bGUiICYmIHJldHVybiAxOwogICAgW1sgLXogJDIgXV0gJiYgZWVy
cm9yICJtYWtlX3Nlc3Npb25fZGVza3RvcDogWW91IG11c3Qgc3BlY2lmeSB0aGUgY29tbWFuZCIg
JiYgcmV0dXJuIDE7CiAgICBsb2NhbCB0aXRsZT0kMTsKICAgIGxvY2FsIGNvbW1hbmQ9JDI7CiAg
ICBsb2NhbCBkZXNrdG9wPSR7VH0vJHt3bX0uZGVza3RvcDsKICAgIGNhdCA+ICIke2Rlc2t0b3B9
IiAgPDwtRU9GCltEZXNrdG9wIEVudHJ5XQpOYW1lPSR7dGl0bGV9CkNvbW1lbnQ9VGhpcyBzZXNz
aW9uIGxvZ3MgeW91IGludG8gJHt0aXRsZX0KRXhlYz0ke2NvbW1hbmR9ClRyeUV4ZWM9JHtjb21t
YW5kfQpUeXBlPUFwcGxpY2F0aW9uCkVPRgoKICAgICggaW5zaW50byAvdXNyL3NoYXJlL3hzZXNz
aW9uczsKICAgIGRvaW5zICIke2Rlc2t0b3B9IiApCn0KbWFrZV93cmFwcGVyICgpIAp7IAogICAg
bG9jYWwgd3JhcHBlcj0kMSBiaW49JDIgY2hkaXI9JDMgbGliZGlyPSQ0IHBhdGg9JDU7CiAgICBs
b2NhbCB0bXB3cmFwcGVyPSQoZW1rdGVtcCk7CiAgICBjYXQgPiAiJHt0bXB3cmFwcGVyfSIgIDw8
RU9GCiMhL2Jpbi9zaApjZCAiJHtjaGRpcjotLn0iCmlmIFsgLW4gIiR7bGliZGlyfSIgXSA7IHRo
ZW4KCWlmIFsgIlwke0xEX0xJQlJBUllfUEFUSCtzZXR9IiA9ICJzZXQiIF0gOyB0aGVuCgkJZXhw
b3J0IExEX0xJQlJBUllfUEFUSD0iXCR7TERfTElCUkFSWV9QQVRIfToke2xpYmRpcn0iCgllbHNl
CgkJZXhwb3J0IExEX0xJQlJBUllfUEFUSD0iJHtsaWJkaXJ9IgoJZmkKZmkKZXhlYyAke2Jpbn0g
IlwkQCIKRU9GCgogICAgY2htb2QgZ28rcnggIiR7dG1wd3JhcHBlcn0iOwogICAgaWYgW1sgLW4g
JHtwYXRofSBdXTsgdGhlbgogICAgICAgICggZXhlaW50byAiJHtwYXRofSI7CiAgICAgICAgbmV3
ZXhlICIke3RtcHdyYXBwZXJ9IiAiJHt3cmFwcGVyfSIgKSB8fCBkaWU7CiAgICBlbHNlCiAgICAg
ICAgbmV3YmluICIke3RtcHdyYXBwZXJ9IiAiJHt3cmFwcGVyfSIgfHwgZGllOwogICAgZmkKfQpt
dWx0aWxpYl9lbnYgKCkgCnsgCiAgICBsb2NhbCBDVEFSR0VUPSR7MTotJHtDVEFSR0VUfX07CiAg
ICBjYXNlICR7Q1RBUkdFVH0gaW4gCiAgICAgICAgeDg2XzY0KikKICAgICAgICAgICAgZXhwb3J0
IENGTEFHU194ODY9JHtDRkxBR1NfeDg2LS1tMzJ9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1Rf
eDg2PSR7Q1RBUkdFVC94ODZfNjQvaTY4Nn07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX3g4
Nj0ke0NIT1NUX3g4Nn07CiAgICAgICAgICAgIGV4cG9ydCBDREVGSU5FX3g4Nj0iX19pMzg2X18i
OwogICAgICAgICAgICBleHBvcnQgTElCRElSX3g4Nj0ibGliIjsKICAgICAgICAgICAgZXhwb3J0
IENGTEFHU19hbWQ2ND0ke0NGTEFHU19hbWQ2NC0tbTY0fTsKICAgICAgICAgICAgZXhwb3J0IENI
T1NUX2FtZDY0PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX2FtZDY0PSR7
Q0hPU1RfYW1kNjR9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9hbWQ2ND0iX194ODZfNjRf
XyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfYW1kNjQ9ImxpYjY0IjsKICAgICAgICAgICAg
ZXhwb3J0IE1VTFRJTElCX0FCSVM9ImFtZDY0IHg4NiI7CiAgICAgICAgICAgIGV4cG9ydCBERUZB
VUxUX0FCST0iYW1kNjQiCiAgICAgICAgOzsKICAgICAgICBtaXBzNjQqKQogICAgICAgICAgICBl
eHBvcnQgQ0ZMQUdTX28zMj0ke0NGTEFHU19vMzItLW1hYmk9MzJ9OwogICAgICAgICAgICBleHBv
cnQgQ0hPU1RfbzMyPSR7Q1RBUkdFVC9taXBzNjQvbWlwc307CiAgICAgICAgICAgIGV4cG9ydCBD
VEFSR0VUX28zMj0ke0NIT1NUX28zMn07CiAgICAgICAgICAgIGV4cG9ydCBDREVGSU5FX28zMj0i
X01JUFNfU0lNID09IF9BQklPMzIiOwogICAgICAgICAgICBleHBvcnQgTElCRElSX28zMj0ibGli
IjsKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19uMzI9JHtDRkxBR1NfbjMyLS1tYWJpPW4zMn07
CiAgICAgICAgICAgIGV4cG9ydCBDSE9TVF9uMzI9JHtDVEFSR0VUfTsKICAgICAgICAgICAgZXhw
b3J0IENUQVJHRVRfbjMyPSR7Q0hPU1RfbjMyfTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVf
bjMyPSJfTUlQU19TSU0gPT0gX0FCSU4zMiI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfbjMy
PSJsaWIzMiI7CiAgICAgICAgICAgIGV4cG9ydCBDRkxBR1NfbjY0PSR7Q0ZMQUdTX242NC0tbWFi
aT02NH07CiAgICAgICAgICAgIGV4cG9ydCBDSE9TVF9uNjQ9JHtDVEFSR0VUfTsKICAgICAgICAg
ICAgZXhwb3J0IENUQVJHRVRfbjY0PSR7Q0hPU1RfbjY0fTsKICAgICAgICAgICAgZXhwb3J0IENE
RUZJTkVfbjY0PSJfTUlQU19TSU0gPT0gX0FCSTY0IjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJ
Ul9uNjQ9ImxpYjY0IjsKICAgICAgICAgICAgZXhwb3J0IE1VTFRJTElCX0FCSVM9Im42NCBuMzIg
bzMyIjsKICAgICAgICAgICAgZXhwb3J0IERFRkFVTFRfQUJJPSJuMzIiCiAgICAgICAgOzsKICAg
ICAgICBwb3dlcnBjNjQqKQogICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX3BwYz0ke0NGTEFHU19w
cGMtLW0zMn07CiAgICAgICAgICAgIGV4cG9ydCBDSE9TVF9wcGM9JHtDVEFSR0VUL3Bvd2VycGM2
NC9wb3dlcnBjfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfcHBjPSR7Q0hPU1RfcHBjfTsK
ICAgICAgICAgICAgZXhwb3J0IENERUZJTkVfcHBjPSIhX19wb3dlcnBjNjRfXyI7CiAgICAgICAg
ICAgIGV4cG9ydCBMSUJESVJfcHBjPSJsaWIiOwogICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX3Bw
YzY0PSR7Q0ZMQUdTX3BwYzY0LS1tNjR9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1RfcHBjNjQ9
JHtDVEFSR0VUfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfcHBjNjQ9JHtDSE9TVF9wcGM2
NH07CiAgICAgICAgICAgIGV4cG9ydCBDREVGSU5FX3BwYzY0PSJfX3Bvd2VycGM2NF9fIjsKICAg
ICAgICAgICAgZXhwb3J0IExJQkRJUl9wcGM2ND0ibGliNjQiOwogICAgICAgICAgICBleHBvcnQg
TVVMVElMSUJfQUJJUz0icHBjNjQgcHBjIjsKICAgICAgICAgICAgZXhwb3J0IERFRkFVTFRfQUJJ
PSJwcGM2NCIKICAgICAgICA7OwogICAgICAgIHMzOTB4KikKICAgICAgICAgICAgZXhwb3J0IENG
TEFHU19zMzkwPSR7Q0ZMQUdTX3MzOTAtLW0zMX07CiAgICAgICAgICAgIGV4cG9ydCBDSE9TVF9z
MzkwPSR7Q1RBUkdFVC9zMzkweC9zMzkwfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfczM5
MD0ke0NIT1NUX3MzOTB9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9zMzkwPSIhX19zMzkw
eF9fIjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl9zMzkwPSJsaWIiOwogICAgICAgICAgICBl
eHBvcnQgQ0ZMQUdTX3MzOTB4PSR7Q0ZMQUdTX3MzOTB4LS1tNjR9OwogICAgICAgICAgICBleHBv
cnQgQ0hPU1RfczM5MHg9JHtDVEFSR0VUfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfczM5
MHg9JHtDSE9TVF9zMzkweH07CiAgICAgICAgICAgIGV4cG9ydCBDREVGSU5FX3MzOTB4PSJfX3Mz
OTB4X18iOwogICAgICAgICAgICBleHBvcnQgTElCRElSX3MzOTB4PSJsaWI2NCI7CiAgICAgICAg
ICAgIGV4cG9ydCBNVUxUSUxJQl9BQklTPSJzMzkweCBzMzkwIjsKICAgICAgICAgICAgZXhwb3J0
IERFRkFVTFRfQUJJPSJzMzkweCIKICAgICAgICA7OwogICAgICAgIHNwYXJjNjQqKQogICAgICAg
ICAgICBleHBvcnQgQ0ZMQUdTX3NwYXJjMzI9JHtDRkxBR1Nfc3BhcmMzMi0tbTMyfTsKICAgICAg
ICAgICAgZXhwb3J0IENIT1NUX3NwYXJjMzI9JHtDVEFSR0VUL3NwYXJjNjQvc3BhcmN9OwogICAg
ICAgICAgICBleHBvcnQgQ1RBUkdFVF9zcGFyYzMyPSR7Q0hPU1Rfc3BhcmMzMn07CiAgICAgICAg
ICAgIGV4cG9ydCBDREVGSU5FX3NwYXJjMzI9IiFfX2FyY2g2NF9fIjsKICAgICAgICAgICAgZXhw
b3J0IExJQkRJUl9zcGFyYzMyPSJsaWIiOwogICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX3NwYXJj
NjQ9JHtDRkxBR1Nfc3BhcmM2NC0tbTY0fTsKICAgICAgICAgICAgZXhwb3J0IENIT1NUX3NwYXJj
NjQ9JHtDVEFSR0VUfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfc3BhcmM2ND0ke0NIT1NU
X3NwYXJjNjR9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9zcGFyYzY0PSJfX2FyY2g2NF9f
IjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl9zcGFyYzY0PSJsaWI2NCI7CiAgICAgICAgICAg
IGV4cG9ydCBNVUxUSUxJQl9BQklTPSJzcGFyYzY0IHNwYXJjMzIiOwogICAgICAgICAgICBleHBv
cnQgREVGQVVMVF9BQkk9InNwYXJjNjQiCiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAg
ICBleHBvcnQgTVVMVElMSUJfQUJJUz0iZGVmYXVsdCI7CiAgICAgICAgICAgIGV4cG9ydCBERUZB
VUxUX0FCST0iZGVmYXVsdCIKICAgICAgICA7OwogICAgZXNhYwp9Cm11bHRpbGliX3Rvb2xjaGFp
bl9zZXR1cCAoKSAKeyAKICAgIGV4cG9ydCBBQkk9JDE7CiAgICBpZiBoYXNfdmVyc2lvbiBhcHAt
YWRtaW4vZXNlbGVjdC1jb21waWxlcjsgdGhlbgogICAgICAgIGV4cG9ydCBMRD0ibGQgJChnZXRf
YWJpX0xERkxBR1MgJDEpIjsKICAgICAgICBleHBvcnQgQVM9ImFzICQoZ2V0X2FiaV9BU0ZMQUdT
ICQxKSI7CiAgICAgICAgZXhwb3J0IENIT1NUPSQoZ2V0X2FiaV9DSE9TVCAkMSk7CiAgICAgICAg
ZXhwb3J0IENCVUlMRD0kKGdldF9hYmlfQ0hPU1QgJDEpOwogICAgZWxzZQogICAgICAgIHRjLWV4
cG9ydCBDQzsKICAgIGZpCn0KbmV3aWNvbiAoKSAKeyAKICAgICggaW5zaW50byAvdXNyL3NoYXJl
L3BpeG1hcHM7CiAgICBuZXdpbnMgIiRAIiApCn0KbmV3bWVudSAoKSAKeyAKICAgICggaW5zaW50
byAvdXNyL3NoYXJlL2FwcGxpY2F0aW9uczsKICAgIG5ld2lucyAiJEAiICkKfQpudW1iZXJfYWJp
cyAoKSAKeyAKICAgIGdldF9pbnN0YWxsX2FiaXMgfCB3YyAtdwp9CnBrZ19ub2ZldGNoICgpIAp7
IAogICAgWyAteiAiJHtTUkNfVVJJfSIgXSAmJiByZXR1cm47CiAgICBlY2hvICIhISEgVGhlIGZv
bGxvd2luZyBhcmUgbGlzdGVkIGluIFNSQ19VUkkgZm9yICR7UE59OiI7CiAgICBsb2NhbCB4Owog
ICAgZm9yIHggaW4gJChlY2hvICR7U1JDX1VSSX0pOwogICAgZG8KICAgICAgICBlY2hvICIhISEg
ICAke3h9IjsKICAgIGRvbmUKfQpwa2dfcG9zdGluc3QgKCkgCnsgCiAgICB4LW1vZHVsYXJfcGtn
X3Bvc3RpbnN0ICRACn0KcGtnX3Bvc3RybSAoKSAKeyAKICAgIHgtbW9kdWxhcl9wa2dfcG9zdHJt
ICRACn0KcGtnX3ByZWluc3QgKCkgCnsgCiAgICB4LW1vZHVsYXJfcGtnX3ByZWluc3QgJEAKfQpw
a2dfc2V0dXAgKCkgCnsgCiAgICBpZiB1c2UgZHJpICYmICEgYnVpbHRfd2l0aF91c2UgeDExLWJh
c2UveG9yZy1zZXJ2ZXIgZHJpOyB0aGVuCiAgICAgICAgZGllICJCdWlsZCB4MTEtYmFzZS94b3Jn
LXNlcnZlciB3aXRoIFVTRT1kcmkuIjsKICAgIGZpCn0KcHJlcF9tbF9pbmNsdWRlcyAoKSAKeyAK
ICAgIGlmIFtbICQobnVtYmVyX2FiaXMpIC1ndCAxIF1dOyB0aGVuCiAgICAgICAgbG9jYWwgZGly
OwogICAgICAgIGxvY2FsIGRpcnM7CiAgICAgICAgbG9jYWwgYmFzZTsKICAgICAgICBpZiBbWyAk
IyAtZXEgMCBdXTsgdGhlbgogICAgICAgICAgICBkaXJzPS91c3IvaW5jbHVkZTsKICAgICAgICBl
bHNlCiAgICAgICAgICAgIGRpcnM9IiRAIjsKICAgICAgICBmaTsKICAgICAgICBmb3IgZGlyIGlu
ICR7ZGlyc307CiAgICAgICAgZG8KICAgICAgICAgICAgYmFzZT0ke1R9L2dlbnRvby1tdWx0aWxp
Yi8ke2Rpcn0vZ2VudG9vLW11bHRpbGliOwogICAgICAgICAgICBta2RpciAtcCAiJHtiYXNlfSI7
CiAgICAgICAgICAgIFtbIC1kICR7YmFzZX0vJHtBQkl9IF1dICYmIHJtIC1yZiAiJHtiYXNlfS8k
e0FCSX0iOwogICAgICAgICAgICBtdiAiJHtEfS8ke2Rpcn0iICIke2Jhc2V9LyR7QUJJfSI7CiAg
ICAgICAgZG9uZTsKICAgICAgICBpZiBpc19maW5hbF9hYmk7IHRoZW4KICAgICAgICAgICAgYmFz
ZT0ke1R9L2dlbnRvby1tdWx0aWxpYjsKICAgICAgICAgICAgcHVzaGQgIiR7YmFzZX0iOwogICAg
ICAgICAgICBmaW5kIC4gfCB0YXIgLWMgLVQgLSAtZiAtIHwgdGFyIC14IC0tbm8tc2FtZS1vd25l
ciAtZiAtIC1DICR7RH07CiAgICAgICAgICAgIHBvcGQ7CiAgICAgICAgICAgIHNldCAtLTsKICAg
ICAgICAgICAgZm9yIGRpciBpbiAke2RpcnN9OwogICAgICAgICAgICBkbwogICAgICAgICAgICAg
ICAgc2V0IC0tICIkQCIgIiR7ZGlyfSI7CiAgICAgICAgICAgICAgICBsb2NhbCBhYmk7CiAgICAg
ICAgICAgICAgICBmb3IgYWJpIGluICQoZ2V0X2luc3RhbGxfYWJpcyk7CiAgICAgICAgICAgICAg
ICBkbwogICAgICAgICAgICAgICAgICAgIHNldCAtLSAiJEAiICIkKGdldF9hYmlfQ0RFRklORSAk
e2FiaX0pOiR7ZGlyfS9nZW50b28tbXVsdGlsaWIvJHthYml9IjsKICAgICAgICAgICAgICAgIGRv
bmU7CiAgICAgICAgICAgICAgICBjcmVhdGVfbWxfaW5jbHVkZXMgIiRAIjsKICAgICAgICAgICAg
ZG9uZTsKICAgICAgICBmaTsKICAgIGZpCn0KcHJlc2VydmVfb2xkX2xpYiAoKSAKeyAKICAgIGlm
IFtbICR7RUJVSUxEX1BIQVNFfSAhPSAicHJlaW5zdCIgXV07IHRoZW4KICAgICAgICBlZXJyb3Ig
InByZXNlcnZlX29sZF9saWIoKSBtdXN0IGJlIGNhbGxlZCBmcm9tIHBrZ19wcmVpbnN0KCkgb25s
eSI7CiAgICAgICAgZGllICJJbnZhbGlkIHByZXNlcnZlX29sZF9saWIoKSB1c2FnZSI7CiAgICBm
aTsKICAgIFtbIC16ICQxIF1dICYmIGRpZSAiVXNhZ2U6IHByZXNlcnZlX29sZF9saWIgPGxpYnJh
cnkgdG8gcHJlc2VydmU+IFttb3JlIGxpYnJhcmllcyB0byBwcmVzZXJ2ZV0iOwogICAgaGFzIHBy
ZXNlcnZlLWxpYnMgJHtGRUFUVVJFU30gJiYgcmV0dXJuIDA7CiAgICBsb2NhbCBsaWIgZGlyOwog
ICAgZm9yIGxpYiBpbiAiJEAiOwogICAgZG8KICAgICAgICBbWyAtZSAke1JPT1R9LyR7bGlifSBd
XSB8fCBjb250aW51ZTsKICAgICAgICBkaXI9JHtsaWIlLyp9OwogICAgICAgIGRvZGlyICR7ZGly
fSB8fCBkaWUgImRvZGlyICR7ZGlyfSBmYWlsZWQiOwogICAgICAgIGNwICIke1JPT1R9Ii8ke2xp
Yn0gIiR7RH0iLyR7bGlifSB8fCBkaWUgImNwICR7bGlifSBmYWlsZWQiOwogICAgICAgIHRvdWNo
ICIke0R9Ii8ke2xpYn07CiAgICBkb25lCn0KcHJlc2VydmVfb2xkX2xpYl9ub3RpZnkgKCkgCnsg
CiAgICBpZiBbWyAke0VCVUlMRF9QSEFTRX0gIT0gInBvc3RpbnN0IiBdXTsgdGhlbgogICAgICAg
IGVlcnJvciAicHJlc2VydmVfb2xkX2xpYl9ub3RpZnkoKSBtdXN0IGJlIGNhbGxlZCBmcm9tIHBr
Z19wb3N0aW5zdCgpIG9ubHkiOwogICAgICAgIGRpZSAiSW52YWxpZCBwcmVzZXJ2ZV9vbGRfbGli
X25vdGlmeSgpIHVzYWdlIjsKICAgIGZpOwogICAgaGFzIHByZXNlcnZlLWxpYnMgJHtGRUFUVVJF
U30gJiYgcmV0dXJuIDA7CiAgICBsb2NhbCBsaWIgbm90aWNlPTA7CiAgICBmb3IgbGliIGluICIk
QCI7CiAgICBkbwogICAgICAgIFtbIC1lICR7Uk9PVH0vJHtsaWJ9IF1dIHx8IGNvbnRpbnVlOwog
ICAgICAgIGlmIFtbICR7bm90aWNlfSAtZXEgMCBdXTsgdGhlbgogICAgICAgICAgICBub3RpY2U9
MTsKICAgICAgICAgICAgZXdhcm4gIk9sZCB2ZXJzaW9ucyBvZiBpbnN0YWxsZWQgbGlicmFyaWVz
IHdlcmUgZGV0ZWN0ZWQgb24geW91ciBzeXN0ZW0uIjsKICAgICAgICAgICAgZXdhcm4gIkluIG9y
ZGVyIHRvIGF2b2lkIGJyZWFraW5nIHBhY2thZ2VzIHRoYXQgZGVwZW5kIG9uIHRoZXNlIG9sZCBs
aWJzLCI7CiAgICAgICAgICAgIGV3YXJuICJ0aGUgbGlicmFyaWVzIGFyZSBub3QgYmVpbmcgcmVt
b3ZlZC4gIFlvdSBuZWVkIHRvIHJ1biByZXZkZXAtcmVidWlsZCI7CiAgICAgICAgICAgIGV3YXJu
ICJpbiBvcmRlciB0byByZW1vdmUgdGhlc2Ugb2xkIGRlcGVuZGVuY2llcy4gIElmIHlvdSBkbyBu
b3QgaGF2ZSB0aGlzIjsKICAgICAgICAgICAgZXdhcm4gImhlbHBlciBwcm9ncmFtLCBzaW1wbHkg
ZW1lcmdlIHRoZSAnZ2VudG9vbGtpdCcgcGFja2FnZS4iOwogICAgICAgICAgICBld2FybjsKICAg
ICAgICBmaTsKICAgICAgICBld2FybiAiICAjIHJldmRlcC1yZWJ1aWxkIC0tbGlicmFyeSAke2xp
YiMjKi99IjsKICAgIGRvbmU7CiAgICBpZiBbWyAke25vdGljZX0gLWVxIDEgXV07IHRoZW4KICAg
ICAgICBld2FybjsKICAgICAgICBld2FybiAiT25jZSB5b3UndmUgZmluaXNoZWQgcnVubmluZyBy
ZXZkZXAtcmVidWlsZCwgaXQgc2hvdWxkIGJlIHNhZmUgdG8iOwogICAgICAgIGV3YXJuICJkZWxl
dGUgdGhlIG9sZCBsaWJyYXJpZXMuICBIZXJlIGlzIGEgY29weSAmIHBhc3RlIGZvciB0aGUgbGF6
eToiOwogICAgICAgIGZvciBsaWIgaW4gIiRAIjsKICAgICAgICBkbwogICAgICAgICAgICBld2Fy
biAiICAjIHJtICcke2xpYn0nIjsKICAgICAgICBkb25lOwogICAgZmkKfQpyYXctbGRmbGFncyAo
KSAKeyAKICAgIGxvY2FsIHggaW5wdXQ9IiRAIjsKICAgIFtbIC16ICR7aW5wdXR9IF1dICYmIGlu
cHV0PSR7TERGTEFHU307CiAgICBzZXQgLS07CiAgICBmb3IgeCBpbiAke2lucHV0fTsKICAgIGRv
CiAgICAgICAgeD0ke3gjLVdsLH07CiAgICAgICAgc2V0IC0tICIkQCIgJHt4Ly8sLyB9OwogICAg
ZG9uZTsKICAgIGVjaG8gIiRAIgp9CnJlbW92ZV9mb250X21ldGFkYXRhICgpIAp7IAogICAgbG9j
YWwgRElSOwogICAgZm9yIERJUiBpbiAke0ZPTlRfRElSfTsKICAgIGRvCiAgICAgICAgaWYgW1sg
IiR7RElSfSIgIT0gIlNwZWVkbyIgXV0gJiYgW1sgIiR7RElSfSIgIT0gIkNJRCIgXV07IHRoZW4K
ICAgICAgICAgICAgcm0gLWYgJHtEfS91c3Ivc2hhcmUvZm9udHMvJHtESVJ9L2ZvbnRzLntzY2Fs
ZSxkaXIsY2FjaGUtMX07CiAgICAgICAgZmk7CiAgICBkb25lCn0KcmVwbGFjZS1jcHUtZmxhZ3Mg
KCkgCnsgCiAgICBsb2NhbCBuZXdjcHU9IiQjIjsKICAgIG5ld2NwdT0iJHshbmV3Y3B1fSI7CiAg
ICB3aGlsZSBbICQjIC1ndCAxIF07IGRvCiAgICAgICAgcmVwbGFjZS1mbGFncyAiLW1hcmNoPSR7
MX0iICItbWFyY2g9JHtuZXdjcHV9IjsKICAgICAgICByZXBsYWNlLWZsYWdzICItbWNwdT0kezF9
IiAiLW1jcHU9JHtuZXdjcHV9IjsKICAgICAgICByZXBsYWNlLWZsYWdzICItbXR1bmU9JHsxfSIg
Ii1tdHVuZT0ke25ld2NwdX0iOwogICAgICAgIHNoaWZ0OwogICAgZG9uZTsKICAgIHJldHVybiAw
Cn0KcmVwbGFjZS1mbGFncyAoKSAKeyAKICAgIFtbICQjICE9IDIgXV0gJiYgZWNobyAmJiBlZXJy
b3IgIlVzYWdlOiByZXBsYWNlLWZsYWdzIDxvbGQgZmxhZz4gPG5ldyBmbGFnPiIgJiYgZGllICJy
ZXBsYWNlLWZsYWdzIHRha2VzIDIgYXJndW1lbnRzLCBub3QgJCMiOwogICAgbG9jYWwgZiBmc2V0
OwogICAgZGVjbGFyZSAtYSBuZXdfQ0ZMQUdTIG5ld19DWFhGTEFHUzsKICAgIGZvciBmc2V0IGlu
IENGTEFHUyBDWFhGTEFHUzsKICAgIGRvCiAgICAgICAgZm9yIGYgaW4gJHshZnNldH07CiAgICAg
ICAgZG8KICAgICAgICAgICAgW1sgJHtmfSA9PSAkezF9IF1dICYmIGY9JHsyfTsKICAgICAgICAg
ICAgZXZhbCBuZXdfJHtmc2V0fVxbXCR7XCNuZXdfJHtmc2V0fVxbQF19XT1cJHtmfTsKICAgICAg
ICBkb25lOwogICAgICAgIGV2YWwgZXhwb3J0ICR7ZnNldH09XCR7bmV3XyR7ZnNldH1cWypdfTsK
ICAgIGRvbmU7CiAgICByZXR1cm4gMAp9CnJlcGxhY2Utc3BhcmM2NC1mbGFncyAoKSAKeyAKICAg
IGxvY2FsIFNQQVJDNjRfQ1BVUz0idWx0cmFzcGFyYzMgdWx0cmFzcGFyYyB2OSI7CiAgICBpZiBb
ICIke0NGTEFHUy9tdHVuZX0iICE9ICIke0NGTEFHU30iIF07IHRoZW4KICAgICAgICBmb3IgeCBp
biAke1NQQVJDNjRfQ1BVU307CiAgICAgICAgZG8KICAgICAgICAgICAgQ0ZMQUdTPSIke0NGTEFH
Uy8tbWNwdT0ke3h9Ly1tY3B1PXY4fSI7CiAgICAgICAgZG9uZTsKICAgIGVsc2UKICAgICAgICBm
b3IgeCBpbiAke1NQQVJDNjRfQ1BVU307CiAgICAgICAgZG8KICAgICAgICAgICAgQ0ZMQUdTPSIk
e0NGTEFHUy8tbWNwdT0ke3h9Ly1tY3B1PXY4IC1tdHVuZT0ke3h9fSI7CiAgICAgICAgZG9uZTsK
ICAgIGZpOwogICAgaWYgWyAiJHtDWFhGTEFHUy9tdHVuZX0iICE9ICIke0NYWEZMQUdTfSIgXTsg
dGhlbgogICAgICAgIGZvciB4IGluICR7U1BBUkM2NF9DUFVTfTsKICAgICAgICBkbwogICAgICAg
ICAgICBDWFhGTEFHUz0iJHtDWFhGTEFHUy8tbWNwdT0ke3h9Ly1tY3B1PXY4fSI7CiAgICAgICAg
ZG9uZTsKICAgIGVsc2UKICAgICAgICBmb3IgeCBpbiAke1NQQVJDNjRfQ1BVU307CiAgICAgICAg
ZG8KICAgICAgICAgICAgQ1hYRkxBR1M9IiR7Q1hYRkxBR1MvLW1jcHU9JHt4fS8tbWNwdT12OCAt
bXR1bmU9JHt4fX0iOwogICAgICAgIGRvbmU7CiAgICBmaTsKICAgIGV4cG9ydCBDRkxBR1MgQ1hY
RkxBR1MKfQpzZXEgKCkgCnsgCiAgICBsb2NhbCBwPSQodHlwZSAtUCBzZXEpOwogICAgY2FzZSAk
IyBpbiAKICAgICAgICAxKQogICAgICAgICAgICBtaW49MSBtYXg9JDEgc3RlcD0xCiAgICAgICAg
OzsKICAgICAgICAyKQogICAgICAgICAgICBtaW49JDEgbWF4PSQyIHN0ZXA9MQogICAgICAgIDs7
CiAgICAgICAgMykKICAgICAgICAgICAgbWluPSQxIG1heD0kMyBzdGVwPSQyCiAgICAgICAgOzsK
ICAgICAgICAqKQogICAgICAgICAgICBkaWUgInNlcSBjYWxsZWQgd2l0aCB3cm9uZyBudW1iZXIg
b2YgYXJndW1lbnRzIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgaWYgW1sgLXogJHtwfSBdXTsg
dGhlbgogICAgICAgIGxvY2FsIHJlcHM7CiAgICAgICAgaWYgW1sgJHtzdGVwfSAhPSAwIF1dOyB0
aGVuCiAgICAgICAgICAgIHJlcHM9JCgoICgkbWF4LSRtaW4pIC8gJHN0ZXAgKzEgKSk7CiAgICAg
ICAgZWxzZQogICAgICAgICAgICByZXBzPTA7CiAgICAgICAgZmk7CiAgICAgICAgam90ICRyZXBz
ICRtaW4gJG1heCAkc3RlcDsKICAgIGVsc2UKICAgICAgICAiJHtwfSIgJG1pbiAkc3RlcCAkbWF4
OwogICAgZmkKfQpzZXR1cC1hbGxvd2VkLWZsYWdzICgpIAp7IAogICAgaWYgW1sgLXogJHtBTExP
V0VEX0ZMQUdTfSBdXTsgdGhlbgogICAgICAgIGV4cG9ydCBBTExPV0VEX0ZMQUdTPSItcGlwZSI7
CiAgICAgICAgZXhwb3J0IEFMTE9XRURfRkxBR1M9IiR7QUxMT1dFRF9GTEFHU30gLU8gLU8wIC1P
MSAtTzIgLW1jcHUgLW1hcmNoIC1tdHVuZSI7CiAgICAgICAgZXhwb3J0IEFMTE9XRURfRkxBR1M9
IiR7QUxMT1dFRF9GTEFHU30gLWZzdGFjay1wcm90ZWN0b3IgLWZzdGFjay1wcm90ZWN0b3ItYWxs
IjsKICAgICAgICBleHBvcnQgQUxMT1dFRF9GTEFHUz0iJHtBTExPV0VEX0ZMQUdTfSAtZmJvdW5k
cy1jaGVja2luZyI7CiAgICAgICAgZXhwb3J0IEFMTE9XRURfRkxBR1M9IiR7QUxMT1dFRF9GTEFH
U30gLWZuby1QSUUgLWZuby1waWUgLWZuby11bml0LWF0LWEtdGltZSI7CiAgICAgICAgZXhwb3J0
IEFMTE9XRURfRkxBR1M9IiR7QUxMT1dFRF9GTEFHU30gLWcgLWdbMC05XSAtZ2dkYiAtZ2dkYlsw
LTldIC1nc3RhYnMgLWdzdGFicysiOwogICAgICAgIGV4cG9ydCBBTExPV0VEX0ZMQUdTPSIke0FM
TE9XRURfRkxBR1N9IC1mbm8taWRlbnQiOwogICAgICAgIGV4cG9ydCBBTExPV0VEX0ZMQUdTPSIk
e0FMTE9XRURfRkxBR1N9IC1XKiAtdyI7CiAgICBmaTsKICAgIEFMTE9XRURfRkxBR1M9IiR7QUxM
T1dFRF9GTEFHU30gLWZuby1zdGFjay1wcm90ZWN0b3IgLWZuby1zdGFjay1wcm90ZWN0b3ItYWxs
IAkJLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ib3VuZHMtY2hlY2tpbmciOwogICAgQUxMT1dF
RF9GTEFHUz0iJHtBTExPV0VEX0ZMQUdTfSAtbXJlZ3Bhcm0gLW1uby1hcHAtcmVncyAtbWFwcC1y
ZWdzIAkJLW1uby1tbXggLW1uby1zc2UgLW1uby1zc2UyIC1tbm8tc3NlMyAtbW5vLTNkbm93IAkJ
LW1pcHMxIC1taXBzMiAtbWlwczMgLW1pcHM0IC1taXBzMzIgLW1pcHM2NCAtbWlwczE2IAkJLW1z
b2Z0LWZsb2F0IC1tbm8tc29mdC1mbG9hdCAtbWhhcmQtZmxvYXQgLW1uby1oYXJkLWZsb2F0IC1t
ZnB1IAkJLW1pZWVlIC1taWVlZS13aXRoLWluZXhhY3QgLW1zY2hlZHVsZSAJCS1tdGxzLWRpcmVj
dC1zZWctcmVmcyAtbW5vLXRscy1kaXJlY3Qtc2VnLXJlZnMgCQktbWZsYXQgLW1uby1mbGF0IC1t
bm8tZmFzdGVyLXN0cnVjdHMgLW1mYXN0ZXItc3RydWN0cyAJCS1tMzIgLW02NCAtbWFiaSAtbWxp
dHRsZS1lbmRpYW4gLW1iaWctZW5kaWFuIC1FTCAtRUIgLWZQSUMgCQktbWxpdmUtZzAgLW1jbW9k
ZWwgLW1zdGFjay1iaWFzIC1tbm8tc3RhY2stYmlhcyAJCS1tc2VjdXJlLXBsdCAtRCoiOwogICAg
ZXhwb3J0IFVOU1RBQkxFX0ZMQUdTPSItT3MgLU8zIC1mcmVvcmRlci1ibG9ja3MiOwogICAgcmV0
dXJuIDAKfQpzZXR1cF9mb250cyAoKSAKeyAKICAgIGlmIFtbICEgLW4gIiR7Rk9OVF9ESVJ9IiBd
XTsgdGhlbgogICAgICAgIG1zZz0iRk9OVF9ESVIgaXMgZW1wdHkuIFRoZSBlYnVpbGQgc2hvdWxk
IHNldCBpdCB0byBhdCBsZWFzdCBvbmUgc3ViZGlyIG9mIC91c3Ivc2hhcmUvZm9udHMuIjsKICAg
ICAgICBlZXJyb3IgIiR7bXNnfSI7CiAgICAgICAgZGllICIke21zZ30iOwogICAgZmk7CiAgICBj
cmVhdGVfZm9udHNfc2NhbGU7CiAgICBjcmVhdGVfZm9udHNfZGlyOwogICAgZml4X2ZvbnRfcGVy
bWlzc2lvbnM7CiAgICBjcmVhdGVfZm9udF9jYWNoZQp9CnNyY19jb21waWxlICgpIAp7IAogICAg
eC1tb2R1bGFyX3NyY19jb21waWxlICRACn0Kc3JjX2luc3RhbGwgKCkgCnsgCiAgICB4LW1vZHVs
YXJfc3JjX2luc3RhbGwgJEAKfQpzcmNfdGVzdCAoKSAKeyAKICAgIGlmIGVtYWtlIC1qMSBjaGVj
ayAtbiA+Ji9kZXYvbnVsbDsgdGhlbgogICAgICAgIHZlY2hvICI+Pj4gVGVzdCBwaGFzZSBbY2hl
Y2tdOiAke0NBVEVHT1JZfS8ke1BGfSI7CiAgICAgICAgaWYgISBlbWFrZSAtajEgY2hlY2s7IHRo
ZW4KICAgICAgICAgICAgaGFzcSB0ZXN0ICRGRUFUVVJFUyAmJiBkaWUgIk1ha2UgY2hlY2sgZmFp
bGVkLiBTZWUgYWJvdmUgZm9yIGRldGFpbHMuIjsKICAgICAgICAgICAgaGFzcSB0ZXN0ICRGRUFU
VVJFUyB8fCBlZXJyb3IgIk1ha2UgY2hlY2sgZmFpbGVkLiBTZWUgYWJvdmUgZm9yIGRldGFpbHMu
IjsKICAgICAgICBmaTsKICAgIGVsc2UKICAgICAgICBpZiBlbWFrZSAtajEgdGVzdCAtbiA+Ji9k
ZXYvbnVsbDsgdGhlbgogICAgICAgICAgICB2ZWNobyAiPj4+IFRlc3QgcGhhc2UgW3Rlc3RdOiAk
e0NBVEVHT1JZfS8ke1BGfSI7CiAgICAgICAgICAgIGlmICEgZW1ha2UgLWoxIHRlc3Q7IHRoZW4K
ICAgICAgICAgICAgICAgIGhhc3EgdGVzdCAkRkVBVFVSRVMgJiYgZGllICJNYWtlIHRlc3QgZmFp
bGVkLiBTZWUgYWJvdmUgZm9yIGRldGFpbHMuIjsKICAgICAgICAgICAgICAgIGhhc3EgdGVzdCAk
RkVBVFVSRVMgfHwgZWVycm9yICJNYWtlIHRlc3QgZmFpbGVkLiBTZWUgYWJvdmUgZm9yIGRldGFp
bHMuIjsKICAgICAgICAgICAgZmk7CiAgICAgICAgZWxzZQogICAgICAgICAgICB2ZWNobyAiPj4+
IFRlc3QgcGhhc2UgW25vbmVdOiAke0NBVEVHT1JZfS8ke1BGfSI7CiAgICAgICAgZmk7CiAgICBm
aQp9CnNyY191bnBhY2sgKCkgCnsgCiAgICB4LW1vZHVsYXJfc3JjX3VucGFjayAkQAp9CnN0cmlw
LWZsYWdzICgpIAp7IAogICAgbG9jYWwgeCB5IGZsYWcgTkVXX0NGTEFHUyBORVdfQ1hYRkxBR1M7
CiAgICBzZXR1cC1hbGxvd2VkLWZsYWdzOwogICAgbG9jYWwgTkVXX0NGTEFHUz0iIjsKICAgIGxv
Y2FsIE5FV19DWFhGTEFHUz0iIjsKICAgIGlmIGhhcyB+JCh0Yy1hcmNoKSAke0FDQ0VQVF9LRVlX
T1JEU307IHRoZW4KICAgICAgICBBTExPV0VEX0ZMQUdTPSIke0FMTE9XRURfRkxBR1N9ICR7VU5T
VEFCTEVfRkxBR1N9IjsKICAgIGZpOwogICAgc2V0IC1mOwogICAgZm9yIHggaW4gJHtDRkxBR1N9
OwogICAgZG8KICAgICAgICBmb3IgeSBpbiAke0FMTE9XRURfRkxBR1N9OwogICAgICAgIGRvCiAg
ICAgICAgICAgIGZsYWc9JHt4JSU9Kn07CiAgICAgICAgICAgIGlmIFsgIiR7ZmxhZyUlJHt5fX0i
ID0gIiIgXTsgdGhlbgogICAgICAgICAgICAgICAgTkVXX0NGTEFHUz0iJHtORVdfQ0ZMQUdTfSAk
e3h9IjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBmaTsKICAgICAgICBkb25l
OwogICAgZG9uZTsKICAgIGZvciB4IGluICR7Q1hYRkxBR1N9OwogICAgZG8KICAgICAgICBmb3Ig
eSBpbiAke0FMTE9XRURfRkxBR1N9OwogICAgICAgIGRvCiAgICAgICAgICAgIGZsYWc9JHt4JSU9
Kn07CiAgICAgICAgICAgIGlmIFsgIiR7ZmxhZyUlJHt5fX0iID0gIiIgXTsgdGhlbgogICAgICAg
ICAgICAgICAgTkVXX0NYWEZMQUdTPSIke05FV19DWFhGTEFHU30gJHt4fSI7CiAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgIGRvbmU7CiAgICBp
ZiBbICIke0NGTEFHUy8tT30iICE9ICIke0NGTEFHU30iIC1hICIke05FV19DRkxBR1MvLU99IiA9
ICIke05FV19DRkxBR1N9IiBdOyB0aGVuCiAgICAgICAgTkVXX0NGTEFHUz0iJHtORVdfQ0ZMQUdT
fSAtTzIiOwogICAgZmk7CiAgICBpZiBbICIke0NYWEZMQUdTLy1PfSIgIT0gIiR7Q1hYRkxBR1N9
IiAtYSAiJHtORVdfQ1hYRkxBR1MvLU99IiA9ICIke05FV19DWFhGTEFHU30iIF07IHRoZW4KICAg
ICAgICBORVdfQ1hYRkxBR1M9IiR7TkVXX0NYWEZMQUdTfSAtTzIiOwogICAgZmk7CiAgICBzZXQg
K2Y7CiAgICBleHBvcnQgQ0ZMQUdTPSIke05FV19DRkxBR1N9IjsKICAgIGV4cG9ydCBDWFhGTEFH
Uz0iJHtORVdfQ1hYRkxBR1N9IjsKICAgIHJldHVybiAwCn0Kc3RyaXAtbGluZ3VhcyAoKSAKeyAK
ICAgIGxvY2FsIGxzIG5ld2xzIG5vbHM7CiAgICBpZiBbWyAkMSA9PSAiLWkiIF1dIHx8IFtbICQx
ID09ICItdSIgXV07IHRoZW4KICAgICAgICBsb2NhbCBvcD0kMTsKICAgICAgICBzaGlmdDsKICAg
ICAgICBscz0kKGZpbmQgIiQxIiAtbmFtZSAnKi5wbycgLWV4ZWMgYmFzZW5hbWUge30gLnBvIFw7
KTsKICAgICAgICBzaGlmdDsKICAgICAgICBsb2NhbCBkIGY7CiAgICAgICAgZm9yIGQgaW4gIiRA
IjsKICAgICAgICBkbwogICAgICAgICAgICBpZiBbWyAke29wfSA9PSAiLXUiIF1dOyB0aGVuCiAg
ICAgICAgICAgICAgICBuZXdscz0ke2xzfTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgbmV3bHM9IiI7CiAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmb3IgZiBpbiAkKGZpbmQg
IiRkIiAtbmFtZSAnKi5wbycgLWV4ZWMgYmFzZW5hbWUge30gLnBvIFw7KTsKICAgICAgICAgICAg
ZG8KICAgICAgICAgICAgICAgIGlmIFtbICR7b3B9ID09ICItaSIgXV07IHRoZW4KICAgICAgICAg
ICAgICAgICAgICBoYXNxICR7Zn0gJHtsc30gJiYgbmV3bHM9IiR7bmV3bHN9ICR7Zn0iOwogICAg
ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGhhc3EgJHtmfSAke2xzfSB8fCBu
ZXdscz0iJHtuZXdsc30gJHtmfSI7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZG9u
ZTsKICAgICAgICAgICAgbHM9JHtuZXdsc307CiAgICAgICAgZG9uZTsKICAgIGVsc2UKICAgICAg
ICBscz0iJEAiOwogICAgZmk7CiAgICBub2xzPSIiOwogICAgbmV3bHM9IiI7CiAgICBmb3IgZiBp
biAke0xJTkdVQVN9OwogICAgZG8KICAgICAgICBpZiBoYXNxICR7Zn0gJHtsc307IHRoZW4KICAg
ICAgICAgICAgbmV3bHM9IiR7bmV3bHN9ICR7Zn0iOwogICAgICAgIGVsc2UKICAgICAgICAgICAg
bm9scz0iJHtub2xzfSAke2Z9IjsKICAgICAgICBmaTsKICAgIGRvbmU7CiAgICBbWyAtbiAke25v
bHN9IF1dICYmIGV3YXJuICJTb3JyeSwgYnV0ICR7UE59IGRvZXMgbm90IHN1cHBvcnQgdGhlIExJ
TkdVQXM6IiAke25vbHN9OwogICAgZXhwb3J0IExJTkdVQVM9JHtuZXdsczoxfQp9CnN0cmlwLXVu
c3VwcG9ydGVkLWZsYWdzICgpIAp7IAogICAgZXhwb3J0IENGTEFHUz0kKHRlc3QtZmxhZ3MtQ0Mg
JHtDRkxBR1N9KTsKICAgIGV4cG9ydCBDWFhGTEFHUz0kKHRlc3QtZmxhZ3MtQ1hYICR7Q1hYRkxB
R1N9KQp9CnRjLWFyY2ggKCkgCnsgCiAgICB0Yy1uaW5qYV9tYWdpY190b19hcmNoIHBvcnRhZ2Ug
IiRAIgp9CnRjLWFyY2gta2VybmVsICgpIAp7IAogICAgdGMtbmluamFfbWFnaWNfdG9fYXJjaCBr
ZXJuICIkQCIKfQp0Yy1lbmRpYW4gKCkgCnsgCiAgICBsb2NhbCBob3N0PSQxOwogICAgW1sgLXog
JHtob3N0fSBdXSAmJiBob3N0PSR7Q1RBUkdFVDotJHtDSE9TVH19OwogICAgaG9zdD0ke2hvc3Ql
JS0qfTsKICAgIGNhc2UgJHtob3N0fSBpbiAKICAgICAgICBhbHBoYSopCiAgICAgICAgICAgIGVj
aG8gYmlnCiAgICAgICAgOzsKICAgICAgICBhcm0qYiopCiAgICAgICAgICAgIGVjaG8gYmlnCiAg
ICAgICAgOzsKICAgICAgICBhcm0qKQogICAgICAgICAgICBlY2hvIGxpdHRsZQogICAgICAgIDs7
CiAgICAgICAgY3JpcyopCiAgICAgICAgICAgIGVjaG8gbGl0dGxlCiAgICAgICAgOzsKICAgICAg
ICBocHBhKikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAgICAgIGk/ODYqKQog
ICAgICAgICAgICBlY2hvIGxpdHRsZQogICAgICAgIDs7CiAgICAgICAgaWE2NCopCiAgICAgICAg
ICAgIGVjaG8gbGl0dGxlCiAgICAgICAgOzsKICAgICAgICBtNjgqKQogICAgICAgICAgICBlY2hv
IGJpZwogICAgICAgIDs7CiAgICAgICAgbWlwcypsKikKICAgICAgICAgICAgZWNobyBsaXR0bGUK
ICAgICAgICA7OwogICAgICAgIG1pcHMqKQogICAgICAgICAgICBlY2hvIGJpZwogICAgICAgIDs7
CiAgICAgICAgcG93ZXJwYyopCiAgICAgICAgICAgIGVjaG8gYmlnCiAgICAgICAgOzsKICAgICAg
ICBzMzkwKikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAgICAgIHNoKmIqKQog
ICAgICAgICAgICBlY2hvIGJpZwogICAgICAgIDs7CiAgICAgICAgc2gqKQogICAgICAgICAgICBl
Y2hvIGxpdHRsZQogICAgICAgIDs7CiAgICAgICAgc3BhcmMqKQogICAgICAgICAgICBlY2hvIGJp
ZwogICAgICAgIDs7CiAgICAgICAgeDg2XzY0KikKICAgICAgICAgICAgZWNobyBsaXR0bGUKICAg
ICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGVjaG8gd3RmCiAgICAgICAgOzsKICAgIGVz
YWMKfQp0Yy1leHBvcnQgKCkgCnsgCiAgICBsb2NhbCB2YXI7CiAgICBmb3IgdmFyIGluICIkQCI7
CiAgICBkbwogICAgICAgIGV2YWwgdGMtZ2V0JHt2YXJ9ID4gL2Rldi9udWxsOwogICAgZG9uZQp9
CnRjLWdldEFSICgpIAp7IAogICAgdGMtZ2V0UFJPRyBBUiBhciAiJEAiCn0KdGMtZ2V0QVMgKCkg
CnsgCiAgICB0Yy1nZXRQUk9HIEFTIGFzICIkQCIKfQp0Yy1nZXRCVUlMRF9DQyAoKSAKeyAKICAg
IGxvY2FsIHY7CiAgICBmb3IgdiBpbiBDQ19GT1JfQlVJTEQgQlVJTERfQ0MgSE9TVENDOwogICAg
ZG8KICAgICAgICBpZiBbWyAtbiAkeyF2fSBdXTsgdGhlbgogICAgICAgICAgICBleHBvcnQgQlVJ
TERfQ0M9JHshdn07CiAgICAgICAgICAgIGVjaG8gIiR7IXZ9IjsKICAgICAgICAgICAgcmV0dXJu
IDA7CiAgICAgICAgZmk7CiAgICBkb25lOwogICAgbG9jYWwgc2VhcmNoPTsKICAgIGlmIFtbIC1u
ICR7Q0JVSUxEfSBdXTsgdGhlbgogICAgICAgIHNlYXJjaD0kKHR5cGUgLXAgJHtDQlVJTER9LWdj
Yyk7CiAgICAgICAgc2VhcmNoPSR7c2VhcmNoIyMqL307CiAgICBmaTsKICAgIHNlYXJjaD0ke3Nl
YXJjaDotZ2NjfTsKICAgIGV4cG9ydCBCVUlMRF9DQz0ke3NlYXJjaH07CiAgICBlY2hvICIke3Nl
YXJjaH0iCn0KdGMtZ2V0Q0MgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIENDIGdjYyAiJEAiCn0KdGMt
Z2V0Q1BQICgpIAp7IAogICAgdGMtZ2V0UFJPRyBDUFAgY3BwICIkQCIKfQp0Yy1nZXRDWFggKCkg
CnsgCiAgICB0Yy1nZXRQUk9HIENYWCBnKysgIiRAIgp9CnRjLWdldEY3NyAoKSAKeyAKICAgIHRj
LWdldFBST0cgRjc3IGY3NyAiJEAiCn0KdGMtZ2V0RjkwICgpIAp7IAogICAgdGMtZ2V0UFJPRyBG
OTAgZ2ZvcnRyYW4gIiRAIgp9CnRjLWdldEZPUlRSQU4gKCkgCnsgCiAgICB0Yy1nZXRQUk9HIEZP
UlRSQU4gZ2ZvcnRyYW4gIiRAIgp9CnRjLWdldEdDSiAoKSAKeyAKICAgIHRjLWdldFBST0cgR0NK
IGdjaiAiJEAiCn0KdGMtZ2V0TEQgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIExEIGxkICIkQCIKfQp0
Yy1nZXROTSAoKSAKeyAKICAgIHRjLWdldFBST0cgTk0gbm0gIiRAIgp9CnRjLWdldFBST0cgKCkg
CnsgCiAgICBsb2NhbCB2YXI9JDE7CiAgICBsb2NhbCBwcm9nPSQyOwogICAgaWYgW1sgLW4gJHsh
dmFyfSBdXTsgdGhlbgogICAgICAgIGVjaG8gIiR7IXZhcn0iOwogICAgICAgIHJldHVybiAwOwog
ICAgZmk7CiAgICBsb2NhbCBzZWFyY2g9OwogICAgW1sgLW4gJDMgXV0gJiYgc2VhcmNoPSQodHlw
ZSAtcCAiJDMtJHtwcm9nfSIpOwogICAgW1sgLXogJHtzZWFyY2h9ICYmIC1uICR7Q0hPU1R9IF1d
ICYmIHNlYXJjaD0kKHR5cGUgLXAgIiR7Q0hPU1R9LSR7cHJvZ30iKTsKICAgIFtbIC1uICR7c2Vh
cmNofSBdXSAmJiBwcm9nPSR7c2VhcmNoIyMqL307CiAgICBleHBvcnQgJHt2YXJ9PSR7cHJvZ307
CiAgICBlY2hvICIkeyF2YXJ9Igp9CnRjLWdldFJBTkxJQiAoKSAKeyAKICAgIHRjLWdldFBST0cg
UkFOTElCIHJhbmxpYiAiJEAiCn0KdGMtZ2V0U1RSSVAgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIFNU
UklQIHN0cmlwICIkQCIKfQp0Yy1pcy1jcm9zcy1jb21waWxlciAoKSAKeyAKICAgIHJldHVybiAk
KFtbICR7Q0JVSUxEOi0ke0NIT1NUfX0gIT0gJHtDSE9TVH0gXV0pCn0KdGMtaXMtc29mdGZsb2F0
ICgpIAp7IAogICAgY2FzZSAke0NUQVJHRVR9IGluIAogICAgICAgIGJmaW4qIHwgaDgzMDAqKQog
ICAgICAgICAgICBlY2hvICJvbmx5IgogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAg
W1sgJHtDVEFSR0VULy9fLy19ID09ICotc29mdGZsb2F0LSogXV0gJiYgZWNobyAieWVzIiB8fCBl
Y2hvICJubyIKICAgICAgICA7OwogICAgZXNhYwp9CnRjLW5pbmphX21hZ2ljX3RvX2FyY2ggKCkg
CnsgCiAgICBmdW5jdGlvbiBuaW5qICgpIAogICAgeyAKICAgICAgICBbWyAke3R5cGV9ID09ICJr
ZXJuIiBdXSAmJiBlY2hvICQxIHx8IGVjaG8gJDIKICAgIH07CiAgICBsb2NhbCB0eXBlPSQxOwog
ICAgbG9jYWwgaG9zdD0kMjsKICAgIFtbIC16ICR7aG9zdH0gXV0gJiYgaG9zdD0ke0NUQVJHRVQ6
LSR7Q0hPU1R9fTsKICAgIGNhc2UgJHtob3N0fSBpbiAKICAgICAgICBhbHBoYSopCiAgICAgICAg
ICAgIGVjaG8gYWxwaGEKICAgICAgICA7OwogICAgICAgIGFybSopCiAgICAgICAgICAgIGVjaG8g
YXJtCiAgICAgICAgOzsKICAgICAgICBhdnIqKQogICAgICAgICAgICBuaW5qIGF2cjMyIGF2cgog
ICAgICAgIDs7CiAgICAgICAgYmZpbiopCiAgICAgICAgICAgIG5pbmogYmxhY2tmaW4gYmZpbgog
ICAgICAgIDs7CiAgICAgICAgY3JpcyopCiAgICAgICAgICAgIGVjaG8gY3JpcwogICAgICAgIDs7
CiAgICAgICAgaHBwYSopCiAgICAgICAgICAgIG5pbmogcGFyaXNjIGhwcGEKICAgICAgICA7Owog
ICAgICAgIGk/ODYqKQogICAgICAgICAgICBpZiBbWyAke3R5cGV9ID09ICJrZXJuIiBdXSAmJiBb
WyAkKEtWX3RvX2ludCAke0tWfSkgLWx0ICQoS1ZfdG9faW50IDIuNi4yNCkgfHwgJHtob3N0fSA9
PSAqZnJlZWJzZCogXV07IHRoZW4KICAgICAgICAgICAgICAgIGVjaG8gaTM4NjsKICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgZWNobyB4ODY7CiAgICAgICAgICAgIGZpCiAgICAgICAg
OzsKICAgICAgICBpYTY0KikKICAgICAgICAgICAgZWNobyBpYTY0CiAgICAgICAgOzsKICAgICAg
ICBtNjgqKQogICAgICAgICAgICBlY2hvIG02OGsKICAgICAgICA7OwogICAgICAgIG1pcHMqKQog
ICAgICAgICAgICBlY2hvIG1pcHMKICAgICAgICA7OwogICAgICAgIG5pb3MyKikKICAgICAgICAg
ICAgZWNobyBuaW9zMgogICAgICAgIDs7CiAgICAgICAgbmlvcyopCiAgICAgICAgICAgIGVjaG8g
bmlvcwogICAgICAgIDs7CiAgICAgICAgcG93ZXJwYyopCiAgICAgICAgICAgIGlmIFtbICQoS1Zf
dG9faW50ICR7S1Z9KSAtZ2UgJChLVl90b19pbnQgMi42LjE2KSBdXSAmJiBbWyAke3R5cGV9ID09
ICJrZXJuIiBdXTsgdGhlbgogICAgICAgICAgICAgICAgZWNobyBwb3dlcnBjOwogICAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgICAgICBpZiBbWyAkKEtWX3RvX2ludCAke0tWfSkgLWVxICQoS1Zf
dG9faW50IDIuNi4xNSkgXV0gJiYgW1sgJHt0eXBlfSA9PSAia2VybiIgXV07IHRoZW4KICAgICAg
ICAgICAgICAgICAgICBpZiBbWyAke2hvc3R9ID09IHBvd2VycGM2NCogXV0gfHwgW1sgJHtQUk9G
SUxFX0FSQ0h9ID09ICJwcGM2NCIgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgZWNo
byBwb3dlcnBjOwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAg
ICAgZWNobyBwcGM7CiAgICAgICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgICAgaWYgW1sgJHtob3N0fSA9PSBwb3dlcnBjNjQqIF1dOyB0aGVu
CiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gcHBjNjQ7CiAgICAgICAgICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgICAgICAgICBpZiBbWyAke1BST0ZJTEVfQVJDSH0gPT0gInBw
YzY0IiBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmluaiBwcGM2NCBwcGM7
CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVjaG8gcHBjOwogICAgICAgICAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgICAg
ICBmaTsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmaQogICAgICAgIDs7CiAgICAg
ICAgczM5MCopCiAgICAgICAgICAgIGVjaG8gczM5MAogICAgICAgIDs7CiAgICAgICAgc2g2NCop
CiAgICAgICAgICAgIG5pbmogc2g2NCBzaAogICAgICAgIDs7CiAgICAgICAgc2gqKQogICAgICAg
ICAgICBlY2hvIHNoCiAgICAgICAgOzsKICAgICAgICBzcGFyYzY0KikKICAgICAgICAgICAgbmlu
aiBzcGFyYzY0IHNwYXJjCiAgICAgICAgOzsKICAgICAgICBzcGFyYyopCiAgICAgICAgICAgIFtb
ICR7UFJPRklMRV9BUkNIfSA9PSAic3BhcmM2NCIgXV0gJiYgbmluaiBzcGFyYzY0IHNwYXJjIHx8
IGVjaG8gc3BhcmMKICAgICAgICA7OwogICAgICAgIHZheCopCiAgICAgICAgICAgIGVjaG8gdmF4
CiAgICAgICAgOzsKICAgICAgICB4ODZfNjQqKQogICAgICAgICAgICBpZiBbWyAke3R5cGV9ID09
ICJrZXJuIiBdXSAmJiBbWyAkKEtWX3RvX2ludCAke0tWfSkgLWdlICQoS1ZfdG9faW50IDIuNi4y
NCkgXV07IHRoZW4KICAgICAgICAgICAgICAgIGVjaG8geDg2OwogICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICBuaW5qIHg4Nl82NCBhbWQ2NDsKICAgICAgICAgICAgZmkKICAgICAgICA7
OwogICAgICAgICopCiAgICAgICAgICAgIGVjaG8gdW5rbm93bgogICAgICAgIDs7CiAgICBlc2Fj
Cn0KdGVzdC1mbGFnLUNDICgpIAp7IAogICAgdGVzdC1mbGFnLVBST0cgIkNDIiAiJDEiCn0KdGVz
dC1mbGFnLUNYWCAoKSAKeyAKICAgIHRlc3QtZmxhZy1QUk9HICJDWFgiICIkMSIKfQp0ZXN0LWZs
YWctUFJPRyAoKSAKeyAKICAgIGxvY2FsIGNvbXA9JDE7CiAgICBsb2NhbCBmbGFncz0iJDIiOwog
ICAgW1sgLXogJHtjb21wfSB8fCAteiAke2ZsYWdzfSBdXSAmJiByZXR1cm4gMTsKICAgIGxvY2Fs
IFBST0c9JCh0Yy1nZXQke2NvbXB9KTsKICAgICR7UFJPR30gJHtmbGFnc30gLVMgLW8gL2Rldi9u
dWxsIC14YyAvZGV2L251bGwgPiAvZGV2L251bGwgMj4mMQp9CnRlc3QtZmxhZ3MgKCkgCnsgCiAg
ICB0ZXN0LWZsYWdzLUNDICIkQCIKfQp0ZXN0LWZsYWdzLUNDICgpIAp7IAogICAgdGVzdC1mbGFn
cy1QUk9HICJDQyIgIiRAIgp9CnRlc3QtZmxhZ3MtQ1hYICgpIAp7IAogICAgdGVzdC1mbGFncy1Q
Uk9HICJDWFgiICIkQCIKfQp0ZXN0LWZsYWdzLVBST0cgKCkgCnsgCiAgICBsb2NhbCBjb21wPSQx
OwogICAgbG9jYWwgZmxhZ3M7CiAgICBsb2NhbCB4OwogICAgc2hpZnQ7CiAgICBbWyAteiAke2Nv
bXB9IF1dICYmIHJldHVybiAxOwogICAgeD0iIjsKICAgIGZvciB4IGluICIkQCI7CiAgICBkbwog
ICAgICAgIHRlc3QtZmxhZy0ke2NvbXB9ICIke3h9IiAmJiBmbGFncz0iJHtmbGFnc30ke2ZsYWdz
OisgfSR7eH0iOwogICAgZG9uZTsKICAgIGVjaG8gIiR7ZmxhZ3N9IjsKICAgIFtbIC1uICR7Zmxh
Z3N9IF1dCn0KdGVzdF9mbGFnICgpIAp7IAogICAgZXdhcm4gInRlc3RfZmxhZzogZGVwcmVjYXRl
ZCwgcGxlYXNlIHVzZSB0ZXN0LWZsYWdzKCkhIiAxPiYyOwogICAgdGVzdC1mbGFncy1DQyAiJEAi
Cn0KdGVzdF92ZXJzaW9uX2luZm8gKCkgCnsgCiAgICBpZiBbWyAkKCQodGMtZ2V0Q0MpIC0tdmVy
c2lvbiAyPiYxKSA9PSAqJDEqIF1dOyB0aGVuCiAgICAgICAgcmV0dXJuIDA7CiAgICBlbHNlCiAg
ICAgICAgcmV0dXJuIDE7CiAgICBmaQp9CnRyZWVjb3B5ICgpIAp7IAogICAgZGVzdD0keyEjfTsK
ICAgIGZpbGVzX2NvdW50PSQjOwogICAgd2hpbGUgKCggJCMgPiAxICkpOyBkbwogICAgICAgIGRp
cnN0cnVjdD0kKGRpcm5hbWUgIiQxIik7CiAgICAgICAgbWtkaXIgLXAgIiR7ZGVzdH0vJHtkaXJz
dHJ1Y3R9IjsKICAgICAgICBjcCAtcFBSICIkMSIgIiR7ZGVzdH0vJHtkaXJzdHJ1Y3R9IjsKICAg
ICAgICBzaGlmdDsKICAgIGRvbmUKfQp1Y2xpYmN0b29saXplICgpIAp7IAogICAgZXdhcm4gInVj
bGliY3Rvb2xpemUoKSBpcyBkZXByZWNhdGVkLCBwbGVhc2UganVzdCB1c2UgZWxpYnRvb2xpemUo
KSEiOwogICAgZWxpYnRvb2xpemUKfQp1bnBhY2tfbWFrZXNlbGYgKCkgCnsgCiAgICBsb2NhbCBz
cmNfaW5wdXQ9JHsxOi0ke0F9fTsKICAgIGxvY2FsIHNyYz0kKGZpbmRfdW5wYWNrYWJsZV9maWxl
ICIke3NyY19pbnB1dH0iKTsKICAgIGxvY2FsIHNraXA9JDI7CiAgICBsb2NhbCBleGU9JDM7CiAg
ICBbWyAteiAke3NyY30gXV0gJiYgZGllICJDb3VsZCBub3QgbG9jYXRlIHNvdXJjZSBmb3IgJyR7
c3JjX2lucHV0fSciOwogICAgbG9jYWwgc2hydHNyYz0kKGJhc2VuYW1lICIke3NyY30iKTsKICAg
IGVjaG8gIj4+PiBVbnBhY2tpbmcgJHtzaHJ0c3JjfSB0byAke1BXRH0iOwogICAgaWYgW1sgLXog
JHtza2lwfSBdXTsgdGhlbgogICAgICAgIGxvY2FsIHZlcj0kKGdyZXAgLWEgJyMuKk1ha2VzZWxm
JyAiJHtzcmN9IiB8IGF3ayAne3ByaW50ICRORn0nKTsKICAgICAgICBsb2NhbCBza2lwPTA7CiAg
ICAgICAgZXhlPXRhaWw7CiAgICAgICAgY2FzZSAke3Zlcn0gaW4gCiAgICAgICAgICAgIDEuNS4q
IHwgMS42LjAtbnYpCiAgICAgICAgICAgICAgICBza2lwPSQoZ3JlcCAtYSBec2tpcD0gIiR7c3Jj
fSIgfCBjdXQgLWQ9IC1mMikKICAgICAgICAgICAgOzsKICAgICAgICAgICAgMi4wIHwgMi4wLjEp
CiAgICAgICAgICAgICAgICBza2lwPSQoZ3JlcCAtYSBeJwkndGFpbCAiJHtzcmN9IiB8IGF3ayAn
e3ByaW50ICQyfScgfCBjdXQgLWIyLSkKICAgICAgICAgICAgOzsKICAgICAgICAgICAgMi4xLjEp
CiAgICAgICAgICAgICAgICBza2lwPSQoZ3JlcCAtYSBeb2Zmc2V0PSAiJHtzcmN9IiB8IGF3ayAn
e3ByaW50ICQyfScgfCBjdXQgLWIyLSk7CiAgICAgICAgICAgICAgICBsZXQgc2tpcD0ic2tpcCAr
IDEiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIDIuMS4yKQogICAgICAgICAgICAgICAgc2tp
cD0kKGdyZXAgLWEgXm9mZnNldD0gIiR7c3JjfSIgfCBhd2sgJ3twcmludCAkM30nIHwgaGVhZCAt
biAxKTsKICAgICAgICAgICAgICAgIGxldCBza2lwPSJza2lwICsgMSIKICAgICAgICAgICAgOzsK
ICAgICAgICAgICAgMi4xLjMpCiAgICAgICAgICAgICAgICBza2lwPWBncmVwIC1hIF5vZmZzZXQ9
ICIke3NyY30iIHwgYXdrICd7cHJpbnQgJDN9J2A7CiAgICAgICAgICAgICAgICBsZXQgc2tpcD0i
c2tpcCArIDEiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIDIuMS40IHwgMi4xLjUpCiAgICAg
ICAgICAgICAgICBza2lwPSQoZ3JlcCAtYSBvZmZzZXQ9LipoZWFkLip3YyAiJHtzcmN9IiB8IGF3
ayAne3ByaW50ICQzfScgfCBoZWFkIC1uIDEpOwogICAgICAgICAgICAgICAgc2tpcD0kKGhlYWQg
LW4gJHtza2lwfSAiJHtzcmN9IiB8IHdjIC1jKTsKICAgICAgICAgICAgICAgIGV4ZT0iZGQiCiAg
ICAgICAgICAgIDs7CiAgICAgICAgICAgICopCiAgICAgICAgICAgICAgICBlZXJyb3IgIkknbSBz
b3JyeSwgYnV0IEkgd2FzIHVuYWJsZSB0byBzdXBwb3J0IHRoZSBNYWtlc2VsZiBmaWxlLiI7CiAg
ICAgICAgICAgICAgICBlZXJyb3IgIlRoZSB2ZXJzaW9uIEkgZGV0ZWN0ZWQgd2FzICcke3Zlcn0n
LiI7CiAgICAgICAgICAgICAgICBlZXJyb3IgIlBsZWFzZSBmaWxlIGEgYnVnIGFib3V0IHRoZSBm
aWxlICR7c2hydHNyY30gYXQiOwogICAgICAgICAgICAgICAgZWVycm9yICJodHRwOi8vYnVncy5n
ZW50b28ub3JnLyBzbyB0aGF0IHN1cHBvcnQgY2FuIGJlIGFkZGVkLiI7CiAgICAgICAgICAgICAg
ICBkaWUgIm1ha2VzZWxmIHZlcnNpb24gJyR7dmVyfScgbm90IHN1cHBvcnRlZCIKICAgICAgICAg
ICAgOzsKICAgICAgICBlc2FjOwogICAgICAgIGRlYnVnLXByaW50ICJEZXRlY3RlZCBNYWtlc2Vs
ZiB2ZXJzaW9uICR7dmVyfSAuLi4gdXNpbmcgJHtza2lwfSBhcyBvZmZzZXQiOwogICAgZmk7CiAg
ICBjYXNlICR7ZXhlfSBpbiAKICAgICAgICB0YWlsKQogICAgICAgICAgICBleGU9InRhaWwgLW4g
KyR7c2tpcH0gJyR7c3JjfSciCiAgICAgICAgOzsKICAgICAgICBkZCkKICAgICAgICAgICAgZXhl
PSJkZCBpYnM9JHtza2lwfSBza2lwPTEgb2JzPTEwMjQgY29udj1zeW5jIGlmPScke3NyY30nIgog
ICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgZGllICJtYWtlc2VsZiBjYW50IGhhbmRs
ZSBleGUgJyR7ZXhlfSciCiAgICAgICAgOzsKICAgIGVzYWM7CiAgICBsb2NhbCB0bXBmaWxlPSQo
ZW1rdGVtcCk7CiAgICBldmFsICR7ZXhlfSAyPiAvZGV2L251bGwgfCBoZWFkIC1jIDUxMiA+ICIk
e3RtcGZpbGV9IjsKICAgIGxvY2FsIGZpbGV0eXBlPSQoZmlsZSAtYiAiJHt0bXBmaWxlfSIpOwog
ICAgY2FzZSAke2ZpbGV0eXBlfSBpbiAKICAgICAgICAqdGFyXCBhcmNoaXZlKikKICAgICAgICAg
ICAgZXZhbCAke2V4ZX0gfCB0YXIgLS1uby1zYW1lLW93bmVyIC14ZiAtCiAgICAgICAgOzsKICAg
ICAgICBiemlwMiopCiAgICAgICAgICAgIGV2YWwgJHtleGV9IHwgYnppcDIgLWRjIHwgdGFyIC0t
bm8tc2FtZS1vd25lciAteGYgLQogICAgICAgIDs7CiAgICAgICAgZ3ppcCopCiAgICAgICAgICAg
IGV2YWwgJHtleGV9IHwgdGFyIC0tbm8tc2FtZS1vd25lciAteHpmIC0KICAgICAgICA7OwogICAg
ICAgIGNvbXByZXNzKikKICAgICAgICAgICAgZXZhbCAke2V4ZX0gfCBndW56aXAgfCB0YXIgLS1u
by1zYW1lLW93bmVyIC14ZiAtCiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBlZXJy
b3IgIlVua25vd24gZmlsZXR5cGUgXCIke2ZpbGV0eXBlfVwiID8iOwogICAgICAgICAgICBmYWxz
ZQogICAgICAgIDs7CiAgICBlc2FjOwogICAgX3BpcGVzdGF0dXM9IiR7UElQRVNUQVRVU1sqXX0i
OwogICAgW1sgIiR7X3BpcGVzdGF0dXMvLyAvfSIgLWVxIDAgXV0gfHwgZGllICJmYWlsdXJlIHVu
cGFja2luZyAoJHtmaWxldHlwZX0pIG1ha2VzZWxmICR7c2hydHNyY30gKCcke3Zlcn0nICske3Nr
aXB9KSIKfQp1bnBhY2tfcGR2ICgpIAp7IAogICAgbG9jYWwgc3JjPSQoZmluZF91bnBhY2thYmxl
X2ZpbGUgIiQxIik7CiAgICBsb2NhbCBzaXplb2ZmX3Q9JDI7CiAgICBbWyAteiAke3NyY30gXV0g
JiYgZGllICJDb3VsZCBub3QgbG9jYXRlIHNvdXJjZSBmb3IgJyQxJyI7CiAgICBbWyAteiAke3Np
emVvZmZfdH0gXV0gJiYgZGllICJObyBpZGVhIHdoYXQgb2ZmX3Qgc2l6ZSB3YXMgdXNlZCBmb3Ig
dGhpcyBwZHYgOigiOwogICAgbG9jYWwgc2hydHNyYz0kKGJhc2VuYW1lICIke3NyY30iKTsKICAg
IGVjaG8gIj4+PiBVbnBhY2tpbmcgJHtzaHJ0c3JjfSB0byAke1BXRH0iOwogICAgbG9jYWwgbWV0
YXNraXA9JCh0YWlsIC1jICR7c2l6ZW9mZl90fSAiJHtzcmN9IiB8IGhleGR1bXAgLWUgXCIlaVwi
KTsKICAgIGxvY2FsIHRhaWxza2lwPSQodGFpbCAtYyAkKCgke3NpemVvZmZfdH0qMikpICIke3Ny
Y30iIHwgaGVhZCAtYyAke3NpemVvZmZfdH0gfCBoZXhkdW1wIC1lIFwiJWlcIik7CiAgICBsb2Nh
bCBtZXRhZmlsZT0kKGVta3RlbXApOwogICAgdGFpbCAtYyArJCgoJHttZXRhc2tpcH0rMSkpICIk
e3NyY30iID4gIiR7bWV0YWZpbGV9IjsKICAgIGxvY2FsIGRhdGFmaWxlPSQodGFpbCAtYyArJCgo
JHttZXRhc2tpcH0rMSkpICIke3NyY30iIHwgc3RyaW5ncyB8IGhlYWQgLW4gMSk7CiAgICBkYXRh
ZmlsZT0kKGJhc2VuYW1lICIke2RhdGFmaWxlfSIpOwogICAgbG9jYWwgdG1wZmlsZT0kKGVta3Rl
bXApOwogICAgdGFpbCAtYyArJCgoJHt0YWlsc2tpcH0rMSkpICR7c3JjfSAyPiAvZGV2L251bGwg
fCBoZWFkIC1jIDUxMiA+ICR7dG1wZmlsZX07CiAgICBsb2NhbCBpc2NvbXByZXNzZWQ9JChmaWxl
IC1iICIke3RtcGZpbGV9Iik7CiAgICBpZiBbWyAke2lzY29tcHJlc3NlZDowOjh9ID09ICJjb21w
cmVzcyIgXV07IHRoZW4KICAgICAgICBpc2NvbXByZXNzZWQ9MTsKICAgICAgICBtdiAke3RtcGZp
bGV9eywuWn07CiAgICAgICAgZ3VuemlwICR7dG1wZmlsZX07CiAgICBlbHNlCiAgICAgICAgaXNj
b21wcmVzc2VkPTA7CiAgICBmaTsKICAgIGxvY2FsIGlzdGFyPSQoZmlsZSAtYiAiJHt0bXBmaWxl
fSIpOwogICAgaWYgW1sgJHtpc3RhcjowOjl9ID09ICJQT1NJWCB0YXIiIF1dOyB0aGVuCiAgICAg
ICAgaXN0YXI9MTsKICAgIGVsc2UKICAgICAgICBpc3Rhcj0wOwogICAgZmk7CiAgICBpZiBbICR7
aXNjb21wcmVzc2VkfSAtZXEgMSBdOyB0aGVuCiAgICAgICAgaWYgWyAke2lzdGFyfSAtZXEgMSBd
OyB0aGVuCiAgICAgICAgICAgIHRhaWwgLWMgKyQoKCR7dGFpbHNraXB9KzEpKSAke3NyY30gMj4g
L2Rldi9udWxsIHwgaGVhZCAtYyAkKCgke21ldGFza2lwfS0ke3RhaWxza2lwfSkpIHwgdGFyIC14
emYgLTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHRhaWwgLWMgKyQoKCR7dGFpbHNraXB9KzEp
KSAke3NyY30gMj4gL2Rldi9udWxsIHwgaGVhZCAtYyAkKCgke21ldGFza2lwfS0ke3RhaWxza2lw
fSkpIHwgZ3ppcCAtZGMgPiAke2RhdGFmaWxlfTsKICAgICAgICBmaTsKICAgIGVsc2UKICAgICAg
ICBpZiBbICR7aXN0YXJ9IC1lcSAxIF07IHRoZW4KICAgICAgICAgICAgdGFpbCAtYyArJCgoJHt0
YWlsc2tpcH0rMSkpICR7c3JjfSAyPiAvZGV2L251bGwgfCBoZWFkIC1jICQoKCR7bWV0YXNraXB9
LSR7dGFpbHNraXB9KSkgfCB0YXIgLS1uby1zYW1lLW93bmVyIC14ZiAtOwogICAgICAgIGVsc2UK
ICAgICAgICAgICAgdGFpbCAtYyArJCgoJHt0YWlsc2tpcH0rMSkpICR7c3JjfSAyPiAvZGV2L251
bGwgfCBoZWFkIC1jICQoKCR7bWV0YXNraXB9LSR7dGFpbHNraXB9KSkgPiAke2RhdGFmaWxlfTsK
ICAgICAgICBmaTsKICAgIGZpOwogICAgdHJ1ZQp9CnZhbGlkYXRlX2Rlc2t0b3BfZW50cmllcyAo
KSAKeyAKICAgIGlmIFtbIC14IC91c3IvYmluL2Rlc2t0b3AtZmlsZS12YWxpZGF0ZSBdXTsgdGhl
bgogICAgICAgIGVpbmZvICJDaGVja2luZyBkZXNrdG9wIGVudHJ5IHZhbGlkaXR5IjsKICAgICAg
ICBsb2NhbCBkaXJlY3Rvcmllcz0iIjsKICAgICAgICBmb3IgZCBpbiAvdXNyL3NoYXJlL2FwcGxp
Y2F0aW9ucyAkQDsKICAgICAgICBkbwogICAgICAgICAgICBbWyAtZCAke0R9JHtkfSBdXSAmJiBk
aXJlY3Rvcmllcz0iJHtkaXJlY3Rvcmllc30gJHtEfSR7ZH0iOwogICAgICAgIGRvbmU7CiAgICAg
ICAgaWYgW1sgLW4gJHtkaXJlY3Rvcmllc30gXV07IHRoZW4KICAgICAgICAgICAgZm9yIEZJTEUg
aW4gJChmaW5kICR7ZGlyZWN0b3JpZXN9IC1uYW1lICIqXC5kZXNrdG9wIiAJCQkJCQkJLW5vdCAt
cGF0aCAnKi5oaWRkZW4qJyB8IHNvcnQgLXUgMj4vZGV2L251bGwpOwogICAgICAgICAgICBkbwog
ICAgICAgICAgICAgICAgbG9jYWwgdGVtcD0kKGRlc2t0b3AtZmlsZS12YWxpZGF0ZSAke0ZJTEV9
IHwgZ3JlcCAtdiAid2FybmluZzoiIHwgCQkJCQkJCQlzZWQgLWUgInN8ZXJyb3I6IHx8IiAtZSAi
c3wke0ZJTEV9OnwtLXxnIiApOwogICAgICAgICAgICAgICAgW1sgLW4gJHRlbXAgXV0gJiYgZWxv
ZyAke3RlbXAvLS0vJHtGSUxFLyR7RH0vfTp9OwogICAgICAgICAgICBkb25lOwogICAgICAgIGZp
OwogICAgICAgIGVjaG8gIiI7CiAgICBlbHNlCiAgICAgICAgZWluZm8gIlBhc3NpbmcgZGVza3Rv
cCBlbnRyeSB2YWxpZGl0eSBjaGVjay4gSW5zdGFsbCBkZXYtdXRpbC9kZXNrdG9wLWZpbGUtdXRp
bHMsIGlmIHlvdSB3YW50IHRvIGhlbHAgdG8gaW1wcm92ZSBHZW50b28uIjsKICAgIGZpCn0KeC1t
b2R1bGFyX2RlYnVnX3NldHVwICgpIAp7IAogICAgaWYgW1sgLW4gIiR7REVCVUdHQUJMRX0iIF1d
OyB0aGVuCiAgICAgICAgaWYgdXNlIGRlYnVnOyB0aGVuCiAgICAgICAgICAgIHN0cmlwLWZsYWdz
OwogICAgICAgICAgICBhcHBlbmQtZmxhZ3MgLWc7CiAgICAgICAgZmk7CiAgICBmaQp9CngtbW9k
dWxhcl9kcmlfY2hlY2sgKCkgCnsgCiAgICBpZiBbWyAtbiAiJHtEUklWRVJ9IiBdXTsgdGhlbgog
ICAgICAgIGlmIGhhcyBkcmkgJHtJVVNFfSAmJiB1c2UgZHJpOyB0aGVuCiAgICAgICAgICAgIGVp
bmZvICJDaGVja2luZyBmb3IgZGlyZWN0IHJlbmRlcmluZyBjYXBhYmlsaXRpZXMgLi4uIjsKICAg
ICAgICAgICAgaWYgISBidWlsdF93aXRoX3VzZSB4MTEtYmFzZS94b3JnLXNlcnZlciBkcmk7IHRo
ZW4KICAgICAgICAgICAgICAgIGRpZSAiWW91IG11c3QgYnVpbGQgeDExLWJhc2UveG9yZy1zZXJ2
ZXIgd2l0aCBVU0U9ZHJpLiI7CiAgICAgICAgICAgIGZpOwogICAgICAgIGZpOwogICAgZmkKfQp4
LW1vZHVsYXJfZm9udF9jb25maWd1cmUgKCkgCnsgCiAgICBpZiBbWyAtbiAiJHtGT05UfSIgXV07
IHRoZW4KICAgICAgICBpZiAhIHVzZSBubHM7IHRoZW4KICAgICAgICAgICAgRk9OVF9PUFRJT05T
PSIke0ZPTlRfT1BUSU9OU30KCQkJCS0tZGlzYWJsZS1pc284ODU5LTIKCQkJCS0tZGlzYWJsZS1p
c284ODU5LTMKCQkJCS0tZGlzYWJsZS1pc284ODU5LTQKCQkJCS0tZGlzYWJsZS1pc284ODU5LTUK
CQkJCS0tZGlzYWJsZS1pc284ODU5LTYKCQkJCS0tZGlzYWJsZS1pc284ODU5LTcKCQkJCS0tZGlz
YWJsZS1pc284ODU5LTgKCQkJCS0tZGlzYWJsZS1pc284ODU5LTkKCQkJCS0tZGlzYWJsZS1pc284
ODU5LTEwCgkJCQktLWRpc2FibGUtaXNvODg1OS0xMQoJCQkJLS1kaXNhYmxlLWlzbzg4NTktMTIK
CQkJCS0tZGlzYWJsZS1pc284ODU5LTEzCgkJCQktLWRpc2FibGUtaXNvODg1OS0xNAoJCQkJLS1k
aXNhYmxlLWlzbzg4NTktMTUKCQkJCS0tZGlzYWJsZS1pc284ODU5LTE2CgkJCQktLWRpc2FibGUt
amlzeDAyMDEKCQkJCS0tZGlzYWJsZS1rb2k4LXIiOwogICAgICAgIGZpOwogICAgZmkKfQp4LW1v
ZHVsYXJfcGF0Y2hfc291cmNlICgpIAp7IAogICAgaWYgW1sgLXogIiR7RVBBVENIX1NVRkZJWH0i
IF1dOyB0aGVuCiAgICAgICAgRVBBVENIX1NVRkZJWD0icGF0Y2giOwogICAgZmk7CiAgICBpZiBb
WyAkeyNQQVRDSEVTW0BdfSAtZ3QgMSBdXTsgdGhlbgogICAgICAgIGZvciB4IGluICIke1BBVENI
RVNbQF19IjsKICAgICAgICBkbwogICAgICAgICAgICBlcGF0Y2ggIiR7eH0iOwogICAgICAgIGRv
bmU7CiAgICBlbHNlCiAgICAgICAgaWYgW1sgLW4gIiR7UEFUQ0hFU30iIF1dOyB0aGVuCiAgICAg
ICAgICAgIGZvciB4IGluICR7UEFUQ0hFU307CiAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAg
ICBlcGF0Y2ggIiR7eH0iOwogICAgICAgICAgICBkb25lOwogICAgICAgIGVsc2UKICAgICAgICAg
ICAgaWYgW1sgLW4gIiR7UEFUQ0hfTE9DfSIgXV07IHRoZW4KICAgICAgICAgICAgICAgIGVwYXRj
aCAke1BBVENIX0xPQ307CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGlmIFtbIC1k
ICIke0VQQVRDSF9TT1VSQ0V9IiBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIGVwYXRjaDsK
ICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmaTsKICAgICAgICBmaTsKICAgIGZpCn0K
eC1tb2R1bGFyX3BrZ19wb3N0aW5zdCAoKSAKeyAKICAgIGlmIFtbIC1uICIke0ZPTlR9IiBdXTsg
dGhlbgogICAgICAgIHNldHVwX2ZvbnRzOwogICAgZmkKfQp4LW1vZHVsYXJfcGtnX3Bvc3RybSAo
KSAKeyAKICAgIGlmIFtbIC1uICIke0ZPTlR9IiBdXTsgdGhlbgogICAgICAgIGNsZWFudXBfZm9u
dHM7CiAgICAgICAgZm9udF9wa2dfcG9zdHJtOwogICAgZmkKfQp4LW1vZHVsYXJfcGtnX3ByZWlu
c3QgKCkgCnsgCiAgICA6Cn0KeC1tb2R1bGFyX3JlY29uZl9zb3VyY2UgKCkgCnsgCiAgICBpZiBb
WyAiJHtTTkFQU0hPVH0iID0gInllcyIgXV07IHRoZW4KICAgICAgICBpZiBbIC1mICIuL2NvbmZp
Z3VyZS5hYyIgXTsgdGhlbgogICAgICAgICAgICBlYXV0b3JlY29uZjsKICAgICAgICBmaTsKICAg
IGZpOwogICAgZWxpYnRvb2xpemUKfQp4LW1vZHVsYXJfc2VydmVyX3N1cHBvcnRzX2RyaXZlcnNf
Y2hlY2sgKCkgCnsgCiAgICBpZiBbWyAtbiAiJHtEUklWRVJ9IiBdXTsgdGhlbgogICAgICAgIGlm
IGhhc192ZXJzaW9uICc+PXgxMS1iYXNlL3hvcmctc2VydmVyLTEuMSc7IHRoZW4KICAgICAgICAg
ICAgaWYgISBidWlsdF93aXRoX3VzZSB4MTEtYmFzZS94b3JnLXNlcnZlciB4b3JnOyB0aGVuCiAg
ICAgICAgICAgICAgICBlZXJyb3IgIngxMS1iYXNlL3hvcmctc2VydmVyIGlzIG5vdCBidWlsdCB3
aXRoIHN1cHBvcnQgZm9yIGV4dGVybmFsIGRyaXZlcnMuIjsKICAgICAgICAgICAgICAgIGRpZSAi
WW91IG11c3QgYnVpbGQgeDExLWJhc2UveG9yZy1zZXJ2ZXIgd2l0aCBVU0U9eG9yZy4iOwogICAg
ICAgICAgICBmaTsKICAgICAgICBmaTsKICAgIGZpCn0KeC1tb2R1bGFyX3NwZWNzX2NoZWNrICgp
IAp7IAogICAgaWYgW1sgJHtQTjowOjExfSA9ICJ4b3JnLXNlcnZlciIgXV0gfHwgW1sgLW4gIiR7
RFJJVkVSfSIgXV07IHRoZW4KICAgICAgICBhcHBlbmQtbGRmbGFncyAtV2wsLXosbGF6eTsKICAg
ICAgICBmaWx0ZXItbGRmbGFncyAtV2wsLXosbm93OwogICAgZmkKfQp4LW1vZHVsYXJfc3JjX2Nv
bXBpbGUgKCkgCnsgCiAgICB4LW1vZHVsYXJfc3JjX2NvbmZpZ3VyZTsKICAgIHgtbW9kdWxhcl9z
cmNfbWFrZQp9CngtbW9kdWxhcl9zcmNfY29uZmlndXJlICgpIAp7IAogICAgeC1tb2R1bGFyX2Zv
bnRfY29uZmlndXJlOwogICAgeC1tb2R1bGFyX2RlYnVnX3NldHVwOwogICAgW1sgLW4gJHtDT05G
SUdVUkVfT1BUSU9OU30gXV07CiAgICBpZiBbWyAteCAke0VDT05GX1NPVVJDRTotLn0vY29uZmln
dXJlIF1dOyB0aGVuCiAgICAgICAgZWNvbmYgLS1wcmVmaXg9JHtYRElSfSAtLWRhdGFkaXI9JHtY
RElSfS9zaGFyZSAke0ZPTlRfT1BUSU9OU30gJHtEUklWRVJfT1BUSU9OU30gJHtDT05GSUdVUkVf
T1BUSU9OU307CiAgICBmaQp9CngtbW9kdWxhcl9zcmNfaW5zdGFsbCAoKSAKeyAKICAgIG1ha2Ug
REVTVERJUj0iJHtEfSIgaW5zdGFsbDsKICAgIGlmIFtbIC1uICR7R0lUX0VDTEFTU30gXV07IHRo
ZW4KICAgICAgICBwdXNoZCAiJHtFR0lUX1NUT1JFX0RJUn0vJHtFR0lUX0NMT05FX0RJUn0iOwog
ICAgICAgIGdpdCBsb2cgJHtHSVRfVFJFRX0gPiAiJHtTfSIvQ2hhbmdlTG9nOwogICAgICAgIHBv
cGQ7CiAgICBmaTsKICAgIGlmIFtbIC1lICR7U30vQ2hhbmdlTG9nIF1dOyB0aGVuCiAgICAgICAg
ZG9kb2MgJHtTfS9DaGFuZ2VMb2c7CiAgICBmaTsKICAgIFtbIC1uICR7RE9DU30gXV0gJiYgZG9k
b2MgJHtET0NTfTsKICAgIHByZXBhbGxkb2NzOwogICAgaWYgW1sgLWUgJHtEfS91c3IvJChnZXRf
bGliZGlyKS94b3JnL21vZHVsZXMgXV07IHRoZW4KICAgICAgICBmaW5kICR7RH0vdXNyLyQoZ2V0
X2xpYmRpcikveG9yZy9tb2R1bGVzIC1uYW1lICcqLmxhJyB8IHhhcmdzIHJtIC1mOwogICAgZmk7
CiAgICBpZiBbWyAtbiAiJHtGT05UfSIgXV07IHRoZW4KICAgICAgICByZW1vdmVfZm9udF9tZXRh
ZGF0YTsKICAgIGZpOwogICAgaWYgW1sgLW4gIiR7RFJJVkVSfSIgXV07IHRoZW4KICAgICAgICBp
bnN0YWxsX2RyaXZlcl9od2RhdGE7CiAgICBmaQp9CngtbW9kdWxhcl9zcmNfbWFrZSAoKSAKeyAK
ICAgIGVtYWtlIHx8IGRpZSAiZW1ha2UgZmFpbGVkIgp9CngtbW9kdWxhcl9zcmNfdW5wYWNrICgp
IAp7IAogICAgeC1tb2R1bGFyX3NwZWNzX2NoZWNrOwogICAgeC1tb2R1bGFyX3NlcnZlcl9zdXBw
b3J0c19kcml2ZXJzX2NoZWNrOwogICAgeC1tb2R1bGFyX2RyaV9jaGVjazsKICAgIHgtbW9kdWxh
cl91bnBhY2tfc291cmNlOwogICAgeC1tb2R1bGFyX3BhdGNoX3NvdXJjZTsKICAgIHgtbW9kdWxh
cl9yZWNvbmZfc291cmNlCn0KeC1tb2R1bGFyX3VucGFja19zb3VyY2UgKCkgCnsgCiAgICBpZiBb
WyAtbiAke0dJVF9FQ0xBU1N9IF1dOyB0aGVuCiAgICAgICAgZ2l0X3NyY191bnBhY2s7CiAgICBl
bHNlCiAgICAgICAgdW5wYWNrICR7QX07CiAgICBmaTsKICAgIGNkICR7U307CiAgICBpZiBbWyAt
biAke0ZPTlRfT1BUSU9OU30gXV07IHRoZW4KICAgICAgICBlaW5mbyAiRGV0ZWN0ZWQgZm9udCBk
aXJlY3Rvcnk6ICR7Rk9OVF9ESVJ9IjsKICAgIGZpCn0KZGVjbGFyZSAteCBBTFNBX0NBUkRTPSIi
CmRlY2xhcmUgLXggQUxTQV9QQ01fUExVR0lOUz0iYWRwY20gYWxhdyBhc3ltIGNvcHkgZG1peCBk
c2hhcmUgZHNub29wIGVtcHR5IGV4dHBsdWcgZmlsZSBob29rcyBpZWM5NTggaW9wbHVnIGxhZHNw
YSBsZmxvYXQgbGluZWFyIG1ldGVyIG11bGF3IG11bHRpIG51bGwgcGx1ZyByYXRlIHJvdXRlIHNo
YXJlIHNobSBzb2Z0dm9sIgpkZWNsYXJlIC14IEFOVF9IT01FPSIvdXNyL3NoYXJlL2FudCIKZGVj
bGFyZSAteCBBUEFDSEUyX01PRFVMRVM9ImFjdGlvbnMgYWxpYXMgYXV0aF9iYXNpYyBhdXRobl9h
bGlhcyBhdXRobl9hbm9uIGF1dGhuX2RibSBhdXRobl9kZWZhdWx0IGF1dGhuX2ZpbGUgYXV0aHpf
ZGJtIGF1dGh6X2RlZmF1bHQgYXV0aHpfZ3JvdXBmaWxlIGF1dGh6X2hvc3QgYXV0aHpfb3duZXIg
YXV0aHpfdXNlciBhdXRvaW5kZXggY2FjaGUgZGF2IGRhdl9mcyBkYXZfbG9jayBkZWZsYXRlIGRp
ciBkaXNrX2NhY2hlIGVudiBleHBpcmVzIGV4dF9maWx0ZXIgZmlsZV9jYWNoZSBmaWx0ZXIgaGVh
ZGVycyBpbmNsdWRlIGluZm8gbG9nX2NvbmZpZyBsb2dpbyBtZW1fY2FjaGUgbWltZSBtaW1lX21h
Z2ljIG5lZ290aWF0aW9uIHJld3JpdGUgc2V0ZW52aWYgc3BlbGluZyBzdGF0dXMgdW5pcXVlX2lk
IHVzZXJkaXIgdXNlcnRyYWNrIHZob3N0X2FsaWFzIgpkZWNsYXJlIC14IEFSQ0g9InBwYyIKZGVj
bGFyZSAteCBCUk9XU0VSPSJmaXJlZm94IgpkZWNsYXJlIC14IENCVUlMRD0icG93ZXJwYy11bmtu
b3duLWxpbnV4LWdudSIKZGVjbGFyZSAteCBDREVGSU5FX2RlZmF1bHQ9Il9fdW5peF9fIgpkZWNs
YXJlIC14IENGTEFHUz0iLW1jcHU9NzQ1MCAtbWFsdGl2ZWMgLW1hYmk9YWx0aXZlYyAtTzIgLW10
dW5lPXBvd2VycGMgLXBpcGUiCmRlY2xhcmUgLXggQ0ZMQUdTX2RlZmF1bHQ9IiIKZGVjbGFyZSAt
eCBDSE9TVD0icG93ZXJwYy11bmtub3duLWxpbnV4LWdudSIKZGVjbGFyZSAteCBDSE9TVF9kZWZh
dWx0PSJwb3dlcnBjLXVua25vd24tbGludXgtZ251IgpkZWNsYXJlIC14IENMQVNTUEFUSD0iLiIK
ZGVjbGFyZSAteCBDT0xPUkZHQkc9Ijc7ZGVmYXVsdDsxNSIKZGVjbGFyZSAteCBDVEFSR0VUX2Rl
ZmF1bHQ9InBvd2VycGMtdW5rbm93bi1saW51eC1nbnUiCmRlY2xhcmUgLXggQ1ZTX1JTSD0ic3No
IgpkZWNsYXJlIC14IENYWEZMQUdTPSItbWNwdT03NDUwIC1tYWx0aXZlYyAtbWFiaT1hbHRpdmVj
IC1PMiAtbXR1bmU9cG93ZXJwYyAtcGlwZSIKZGVjbGFyZSAteCBEQlVTX1NFU1NJT05fQlVTX0FE
RFJFU1M9InVuaXg6YWJzdHJhY3Q9L3RtcC9kYnVzLTE0M3RZdWc2eEQsZ3VpZD04MzgzZjAzMDFm
OWUzMjVlYzgxMWU1MDM0ODU3NTE5YSIKZGVjbGFyZSAteCBERUZBVUxUX0FCST0iZGVmYXVsdCIK
ZGVjbGFyZSAteCBERVNLVE9QX1NFU1NJT049ImZsdXhib3giCmRlY2xhcmUgLXggREVTVFRSRUU9
Ii91c3IiCmRlY2xhcmUgLXggRElST1BUSU9OUz0iLW0wNzU1IgpkZWNsYXJlIC14IEVMSUJDPSJn
bGliYyIKZGVjbGFyZSAteCBFTFRfQVBQTElFRF9QQVRDSEVTPSIgMS41LjQgMS41LjEwIDEuNS4y
MCAxLjUuNiIKZGVjbGFyZSAteCBFTFRfTFRNQUlOX1NIPSIvdmFyL3RtcC9wb3J0YWdlL3gxMS1k
cml2ZXJzL3hmODYtdmlkZW8tYXRpLTYuOC4wLXIxL3dvcmsveGY4Ni12aWRlby1hdGktNi44LjAv
bHRtYWluLnNoIgpkZWNsYXJlIC14IEVYRU9QVElPTlM9Ii1tMDc1NSIKZGVjbGFyZSAteCBGRUFU
VVJFUz0iZGlzdGxvY2tzIGZpeHBhY2thZ2VzIHBhcmFsbGVsLWZldGNoIHNhbmRib3ggc2ZwZXJt
cyBzcGxpdGRlYnVnIHN0cmljdCB1bm1lcmdlLW9ycGhhbnMgdXNlcmZldGNoIgpkZWNsYXJlIC14
IEdDQ19TUEVDUz0iIgpkZWNsYXJlIC14IEdES19VU0VfWEZUPSIxIgpkZWNsYXJlIC14IEdETVNF
U1NJT049ImZsdXhib3giCmRlY2xhcmUgLXggR0RNX1hTRVJWRVJfTE9DQVRJT049ImxvY2FsIgpk
ZWNsYXJlIC14IEdFTkVSQVRJT049IjIiCmRlY2xhcmUgLXggSEJfSE9NRT0iL2hvbWUvY3BoaWxl
bW8vSG9tZUJhbmsiCmRlY2xhcmUgLXggSU5IRVJJVEVEPSJ0b29sY2hhaW4tZnVuY3MgcG9ydGFi
aWxpdHkgZmxhZy1vLW1hdGljIG11bHRpbGliIHgtbW9kdWxhciBsaWJ0b29sIGF1dG90b29scyBl
dXRpbHMiCmRlY2xhcmUgLXggSU5QVVRfREVWSUNFUz0iIgpkZWNsYXJlIC14IElOU0RFU1RUUkVF
PSIiCmRlY2xhcmUgLXggSU5TT1BUSU9OUz0iLW0wNjQ0IgpkZWNsYXJlIC14IEpBVkFDPSIvaG9t
ZS9jcGhpbGVtby8uZ2VudG9vL2phdmEtY29uZmlnLTIvY3VycmVudC11c2VyLXZtL2Jpbi9qYXZh
YyIKZGVjbGFyZSAteCBKQVZBQ0NfSE9NRT0iL3Vzci9zaGFyZS9qYXZhY2MvIgpkZWNsYXJlIC14
IEpBVkFfSE9NRT0iL2hvbWUvY3BoaWxlbW8vLmdlbnRvby9qYXZhLWNvbmZpZy0yL2N1cnJlbnQt
dXNlci12bSIKZGVjbGFyZSAteCBKREtfSE9NRT0iL2hvbWUvY3BoaWxlbW8vLmdlbnRvby9qYXZh
LWNvbmZpZy0yL2N1cnJlbnQtdXNlci12bSIKZGVjbGFyZSAteCBLRVJORUw9ImxpbnV4IgpkZWNs
YXJlIC14IEtFUk5FTF9BQkk9ImRlZmF1bHQiCmRlY2xhcmUgLXggS1Y9IjIuNi4yNC1nZW50b28t
cjNkYW5lZWwiCmRlY2xhcmUgLXggTEFORz0iZW5fVVMuVVRGOCIKZGVjbGFyZSAteCBMQU5HVUFH
RT0iZW5fQkU6ZW5fVVM6ZW5fVUs6ZW4iCmRlY2xhcmUgLXggTENEX0RFVklDRVM9IiIKZGVjbGFy
ZSAteCBMQ19BTEw9ImVuX1VTLlVURjgiCmRlY2xhcmUgLXggTERGTEFHUz0iLVdsLC16LGxhenki
CmRlY2xhcmUgLXggTERGTEFHU19kZWZhdWx0PSIiCmRlY2xhcmUgLXggTElCRElSX2RlZmF1bHQ9
ImxpYiIKZGVjbGFyZSAteCBMSUJPUFRJT05TPSItbTA2NDQiCmRlY2xhcmUgLXggTUFLRU9QVFM9
Ii1qMiIKZGVjbGFyZSAteCBNVUxUSUxJQl9BQklTPSJkZWZhdWx0IgpkZWNsYXJlIC14IE9QRU5H
TF9QUk9GSUxFPSJ4b3JnLXgxMSIKZGVjbGFyZSAteCBQT1JUQUdFX1JTWU5DX0lOSVRJQUxfVElN
RU9VVD0iNTAwIgpkZWNsYXJlIC14IFBSRUxJTktfUEFUSF9NQVNLPSIvdXNyL2xpYi9nc3RyZWFt
ZXItMC44IgpkZWNsYXJlIC14IFBZVEhPTlBBVEg9Ii91c3IvbGliL3BvcnRhZ2UvcHltIgpkZWNs
YXJlIC14IFJFU1RSSUNUPSIiCmRlY2xhcmUgLXggUl9IT01FPSIvdXNyL2xpYi9SIgpkZWNsYXJl
IC14IFM9Ii92YXIvdG1wL3BvcnRhZ2UveDExLWRyaXZlcnMveGY4Ni12aWRlby1hdGktNi44LjAt
cjEvd29yay94Zjg2LXZpZGVvLWF0aS02LjguMCIKZGVjbGFyZSAteCBTQU5EQk9YX0RFTlk9Ii9l
dGMvbGQuc28ucHJlbG9hZCIKZGVjbGFyZSAteCBTQU5EQk9YX1BSRURJQ1Q9IjovZGV2L2NvbnNv
bGU6L2Rldi9yYW5kb206L3Byb2Mvc2VsZi9tYXBzOi91c3IvbGliL3B5dGhvbjIuMC86L3Vzci9s
aWIvcHl0aG9uMi4xLzovdXNyL2xpYi9weXRob24yLjIvOi91c3IvbGliL3B5dGhvbjIuMy86L3Vz
ci9saWIvcHl0aG9uMi40LzovdXNyL2xpYi9weXRob24yLjUvOi91c3IvbGliL3B5dGhvbjMuMC86
L3Zhci9kYi9hbGlhc2VzLmRiOi92YXIvZGIvZXRoZXJzLmRiOi92YXIvZGIvZ3JvdXAuZGI6L3Zh
ci9kYi9ob3N0cy5kYjovdmFyL2RiL25ldGdyb3VwLmRiOi92YXIvZGIvbmV0bWFza3MuZGI6L3Zh
ci9kYi9uZXR3b3Jrcy5kYjovdmFyL2RiL3Bhc3N3ZC5kYjovdmFyL2RiL3Byb3RvY29scy5kYjov
dmFyL2RiL3JwYy5kYjovdmFyL2RiL3NlcnZpY2VzLmRiOi92YXIvdG1wL3BvcnRhZ2UveDExLWRy
aXZlcnMveGY4Ni12aWRlby1hdGktNi44LjAtcjEvaG9tZWRpci8uOiIKZGVjbGFyZSAteCBTQU5E
Qk9YX1JFQUQ9IjovOi9kZXYvc2htOi9kZXYvc3RkaW46L3Zhci90bXA6IgpkZWNsYXJlIC14IFNB
TkRCT1hfV1JJVEU9IjovZGV2L2NvbnNvbGU6L2Rldi9mZDovZGV2L251bGw6L2Rldi9wdHMvOi9k
ZXYvcHR5Oi9kZXYvc2htOi9kZXYvc2htL25ncHQ6L2Rldi9zdGRlcnI6L2Rldi9zdGRvdXQ6L2Rl
di90dHM6L2Rldi90dHk6L2Rldi92Yy86L2Rldi96ZXJvOi9wcm9jL3NlbGYvZmQ6L3RtcDovdG1w
LzovdXNyL2xpYjMyL2NmOi91c3IvbGliMzIvY29uZnRlc3Q6L3Vzci9saWI2NC9jZjovdXNyL2xp
YjY0L2NvbmZ0ZXN0Oi91c3IvbGliL2NmOi91c3IvbGliL2NvbmZ0ZXN0Oi91c3IvdG1wL2NmOi91
c3IvdG1wL2NvbmZ0ZXN0Oi92YXIvbG9nL3Njcm9sbGtlZXBlci5sb2c6L3Zhci90bXA6L3Zhci90
bXAvOi92YXIvdG1wL3BvcnRhZ2UveDExLWRyaXZlcnMveGY4Ni12aWRlby1hdGktNi44LjAtcjEv
aG9tZWRpci8uYmFzaF9oaXN0b3J5Oi92YXIvdG1wL3BvcnRhZ2UveDExLWRyaXZlcnMveGY4Ni12
aWRlby1hdGktNi44LjAtcjEvaG9tZWRpci8uZ2NvbmZkL2xvY2s6IgpkZWNsYXJlIC14IFNMT1Q9
IjAiCmRlY2xhcmUgLXggU1RBR0UxX1VTRT0iYWx0aXZlYyBucHRsIG5wdGxvbmx5IHVuaWNvZGUi
CmRlY2xhcmUgLXggVVNFPSJkcmkgZWxpYmNfZ2xpYmMga2VybmVsX2xpbnV4IHBwYyB1c2VybGFu
ZF9HTlUiCmRlY2xhcmUgLXggVVNFUkxBTkQ9IkdOVSIKZGVjbGFyZSAteCBVU0VSTkFNRT0iY3Bo
aWxlbW8iCmRlY2xhcmUgLXggVklERU9fQ0FSRFM9IiIKZGVjbGFyZSAteCBWTUhBTkRMRT0iaWJt
LWpkay1iaW4tMS40IgpkZWNsYXJlIC14IFdBTlRfQVVUT0NPTkY9IjIuNSIKZGVjbGFyZSAteCBX
QU5UX0FVVE9NQUtFPSIxLjEwIgpkZWNsYXJlIC14IFdJTkRPV0lEPSI0MTk0MzA1NyIKZGVjbGFy
ZSAteCBXSU5ET1dQQVRIPSI3IgpkZWNsYXJlIC14IFhER19EQVRBX0RJUlM9Ii91c3IvbG9jYWwv
c2hhcmUvOi91c3Ivc2hhcmUvOi91c3Ivc2hhcmUvZ2RtLyIKZGVjbGFyZSAteCBYUFNFUlZFUkxJ
U1Q9IiIKZGVjbGFyZSAteCBfRV9ET0NERVNUVFJFRV89IiIKZGVjbGFyZSAteCBfRV9FWEVERVNU
VFJFRV89IiIK
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157515</attachid>
            <date>2008-06-18 22:53 0000</date>
            <desc>new version of 1.4.2-unbreak-endianess.patch for xorg-server</desc>
            <filename>1.4.2-unbreak-endianess.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">LS0tIGNvbmZpZ3VyZS5hYy5vcmlnCTIwMDgtMDYtMTUgMDM6MzQ6MTEuMDAwMDAwMDAwICswMjAw
CisrKyBjb25maWd1cmUuYWMJMjAwOC0wNi0xNSAwNDowMjozNC4wMDAwMDAwMDAgKzAyMDAKQEAg
LTExMDQsMTggKzExMDQsOCBAQAogQUNfTVNHX1JFU1VMVChbeWVzXSldLCBBQ19NU0dfUkVTVUxU
KFtub10pKQogCiBYU0VSVkVSX0NGTEFHUz0iJFhTRVJWRVJfQ0ZMQUdTICRDT1JFX0lOQ1MgJFhF
WFRfSU5DICRDT01QT1NJVEVfSU5DICREQU1BR0VfSU5DICRGSVhFU19JTkMgJFhJX0lOQyAkTUlf
SU5DICRNSUVYVF9TSEFET1dfSU5DICRNSUVYVF9MQVlFUl9JTkMgJE1JRVhUX0RBTUFHRV9JTkMg
JFJFTkRFUl9JTkMgJFJBTkRSX0lOQyAkRkJfSU5DIgotQUNfREVGSU5FX1VOUVVPVEVEKF9YX0JZ
VEVfT1JERVIsWyRFTkRJQU5dLFtFbmRpYW4gb3JkZXJdKQogQUhfVkVSQkFUSU0oW1hfQllURV9P
UkRFUl0sWwotLyogRGVhbCB3aXRoIG11bHRpcGxlIGFyY2hpdGVjdHVyZSBjb21waWxlcyBvbiBN
YWMgT1MgWCAqLwotI2lmbmRlZiBfX0FQUExFX0NDX18KLSNkZWZpbmUgWF9CWVRFX09SREVSIF9Y
X0JZVEVfT1JERVIKLSNlbHNlCi0jaWZkZWYgX19CSUdfRU5ESUFOX18KLSNkZWZpbmUgWF9CWVRF
X09SREVSIFhfQklHX0VORElBTgotI2Vsc2UKLSNkZWZpbmUgWF9CWVRFX09SREVSIFhfTElUVExF
X0VORElBTgotI2VuZGlmCi0jZW5kaWYKKyNpbmNsdWRlIDxYMTEvWGFyY2guaD4KIF0pCiAKIEFD
X1NVQlNUKFtYU0VSVkVSX0xJQlNdKQotLS0gaW5jbHVkZS9kaXgtY29uZmlnLmguaW4ub3JpZwky
MDA4LTA2LTE1IDEyOjQ2OjQ4LjAwMDAwMDAwMCArMDIwMAorKysgaW5jbHVkZS9kaXgtY29uZmln
LmguaW4JICAgICAgICAyMDA4LTA2LTE1IDEyOjQ3OjMyLjAwMDAwMDAwMCArMDIwMApAQCAtNDI5
LDE3ICs0MjksNyBAQAogI3VuZGVmIFhWRU5ET1JOQU1FCiAKIC8qIEVuZGlhbiBvcmRlciAqLwot
I3VuZGVmIF9YX0JZVEVfT1JERVIKLS8qIERlYWwgd2l0aCBtdWx0aXBsZSBhcmNoaXRlY3R1cmUg
Y29tcGlsZXMgb24gTWFjIE9TIFggKi8KLSNpZm5kZWYgX19BUFBMRV9DQ19fCi0jZGVmaW5lIFhf
QllURV9PUkRFUiBfWF9CWVRFX09SREVSCi0jZWxzZQotI2lmZGVmIF9fQklHX0VORElBTl9fCi0j
ZGVmaW5lIFhfQllURV9PUkRFUiBYX0JJR19FTkRJQU4KLSNlbHNlCi0jZGVmaW5lIFhfQllURV9P
UkRFUiBYX0xJVFRMRV9FTkRJQU4KLSNlbmRpZgotI2VuZGlmCisjaW5jbHVkZSA8WDExL1hhcmNo
Lmg+CiAKIC8qIEVuYWJsZSBHTlUgYW5kIG90aGVyIGV4dGVuc2lvbnMgdG8gdGhlIEMgZW52aXJv
bm1lbnQgZm9yIEdMSUJDICovCiAjdW5kZWYgX0dOVV9TT1VSQ0UKLS0tIGluY2x1ZGUveG9yZy1z
ZXJ2ZXIuaC5pbi5vcmlnCTIwMDgtMDYtMTkgMDA6NDI6MTIuNjQzMDYxODgwICswMjAwCisrKyBp
bmNsdWRlL3hvcmctc2VydmVyLmguaW4JMjAwOC0wNi0xOSAwMDo0MjoyNC43NjMyMjk3ODAgKzAy
MDAKQEAgLTE5MSwxNyArMTkxLDcgQEAKICN1bmRlZiBYVkVORE9STkFNRQogCiAvKiBFbmRpYW4g
b3JkZXIgKi8KLSN1bmRlZiBfWF9CWVRFX09SREVSCi0vKiBEZWFsIHdpdGggbXVsdGlwbGUgYXJj
aGl0ZWN0dXJlIGNvbXBpbGVzIG9uIE1hYyBPUyBYICovCi0jaWZuZGVmIF9fQVBQTEVfQ0NfXwot
I2RlZmluZSBYX0JZVEVfT1JERVIgX1hfQllURV9PUkRFUgotI2Vsc2UKLSNpZmRlZiBfX0JJR19F
TkRJQU5fXwotI2RlZmluZSBYX0JZVEVfT1JERVIgWF9CSUdfRU5ESUFOCi0jZWxzZQotI2RlZmlu
ZSBYX0JZVEVfT1JERVIgWF9MSVRUTEVfRU5ESUFOCi0jZW5kaWYKLSNlbmRpZgorI2luY2x1ZGUg
PFgxMS9YYXJjaC5oPgogCiAvKiBCU0QtY29tcGxpYW50IHNvdXJjZSAqLwogI3VuZGVmIF9CU0Rf
U09VUkNFCg==
</data>        

          </attachment>
    </bug>

</bugzilla>