From owner-freebsd-questions@FreeBSD.ORG Sat Nov 15 16:10:20 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 11CCD16A4CE; Sat, 15 Nov 2003 16:10:20 -0800 (PST) Received: from server.zaleo.homeunix.net (fia99-99.dsl.hccnet.nl [62.251.99.99]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2910743F85; Sat, 15 Nov 2003 16:10:15 -0800 (PST) (envelope-from FreeBSD@Zaleo.nl) Received: from zeo.Zaleo.nl (zeo [192.168.0.2] (may be forged)) hAG09kV9010268; Sun, 16 Nov 2003 01:09:47 +0100 (CET) (envelope-from FreeBSD@Zaleo.nl) Message-Id: <6.0.0.22.2.20031116010409.03ae9f98@pop3.zaleo.homeunix.net> X-Sender: freebsd@pop3.zaleo.homeunix.net (Unverified) X-Mailer: QUALCOMM Windows Eudora Version 6.0.0.22 Date: Sun, 16 Nov 2003 01:10:13 +0100 To: freebsd-questions@freebsd.org From: FreeBSD-Lis Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_52938843==_" cc: Zeo@Zaleo.homeunix.net cc: nobutaka@freebsd.org Subject: Problem with port xine-0.9.22_2 after a CVS update form 5.0 to 5.1 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Nov 2003 00:10:20 -0000 --=====================_52938843==_ Content-Type: text/plain; charset="us-ascii"; format=flowed Dear all, As mentioned after the make install command I have send a mail to nobutaka@FreeBSD.org, but hoping on a clear answer for a newbie I send this to freebsd-questions. Hope on a replay with my normal E-Mail adres on CC : Zeo@Zaleo.homeunix.net, thanks. Problems installing port xine-0.9.22_2 after a CVS update form 5.0 to 5.1, have tried the downloaded port and the port in my /usr/ports directory. I have installed port libxine-1.0.r2 and I have tried libxine-1.0.r1 and libxine-1.0.r0 but this generates the same error while building xine. Hope you can provide a answer or a port that I can build, I'm using my FreeBSD box as a multimedia unit to watch movies and listen to MP3 files in my living room. X = KDE 3.1 not gnome ! Hope to hear form you, kind regards, Zeo Smeijsters checking for XINE-LIB version >= 1.0.0... no *** Could not run XINE test program, checking why... *** The test program failed to compile or link. See the file config.log for the *** exact error that occured. This usually means XINE was incorrectly installed *** or that you have moved XINE since it was installed. In the latter case, you *** may want to edit the xine-config script: /usr/local/bin/xine-config configure: error: *** You should install xine-lib first *** ===> Script "configure" failed unexpectedly. Please report the problem to nobutaka@FreeBSD.org [maintainer] and attach the "/usr/home/file_server/FreeBSD/xine/work/xine-ui-0.9.22/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. an `ls /var/db/pkg`). *** Error code 1 My /var/db/pkg ORBit-0.5.17_1 libmikmod-esound-3.1.10_1 ORBit2-2.8.2 libmng-1.0.5_1 Sablot-1.0 libmovtar-0.1.3 XFree86-4.3.0,1 libmpeg2-0.3.1_1 XFree86-FontServer-4.3.0_2 libnet-1.0.2a,1 XFree86-Server-4.3.0_11 libogg-1.0_1,3 XFree86-clients-4.3.0_3 librep-0.16.2_2 XFree86-documents-4.3.0 librsvg2-2.4.0_1 XFree86-font100dpi-4.3.0 libtool-1.3.5_1 XFree86-font75dpi-4.3.0 libtool-1.4.3_2 XFree86-fontCyrillic-4.3.0 libungif-4.1.0b1_1 XFree86-fontDefaultBitmaps-4.3.0 libunicode-0.4_3 XFree86-fontEncodings-4.3.0 libutils-1.0.3_1 XFree86-fontScalable-4.3.0 libvorbis-1.0_1,3 XFree86-libraries-4.3.0_6 libwnck-2.4.0.1 Xaw3d-1.5 libxine-1.0.r2 Xft-2.1.2 libxml-1.8.17_1 aalib-1.4.r5_1 libxml2-2.6.2 amp-0.7.6 libxslt-1.1.0 amsn-0.83_1 libzvt-2.0.1_6 apache-1.3.29_1 linc-1.0.3 arts-1.1.4,1 linux-divx4linux-0.20011010.4.02 aspell-0.50.4.1 linux-divx4linux-5.0.20030428 atk-1.4.1_1 linux-divxplayer-0.2.0 autoconf-2.53_1 linux-edonkey-core-0.50.1,1 autoconf213-2.13.000227_5 linux-netscape-navigator-4.8 automake-1.5,1 linux_base-7.1_5 automake14-1.4.5_9 lynx-2.8.5d16_3 bison-1.75_1 m4-1.4_1 bonnie-2.0.6 mad-esound-0.14.2b_3 bsdpan-CGI.pm-2.74 metacity-2.6.3 bsdpan-MIME-Base64-2.12 metatheme2-0.9.7_1 bugbuddy2-2.4.1 mkcatalog-1.1 cdparanoia-3.9.8_5 mod_frontpage-1.6.2 cricket-1.0.4.p2 mod_php4-4.3.4,1 cssc-0.15a.0_1 mrtg-2.10.5_1,1 cups-base-1.1.19.0 mysql-client-3.23.58 cvsup-16.1h mysql-server-3.23.54 cvsup-without-gui-16.1h mysqltcl-2.14 cyrus-sasl-1.5.28_2 nap-1.5.2 db41-4.1.25_1 nasm-0.98.38,1 djbfft-0.76 nautilus2-2.4.1 docbook-sk-4.1.2_1 net-snmp-5.0.9_1 docbook-xml-4.2_1 netscape-remote-1.0_1 docbook-xsl-1.62.3 netscape-wrapper-2000.07.07 eel2-2.4.1 nl-ispell-1.0.0_2 eog2-2.4.1 open-motif-2.2.2_1 esound-0.2.32_1 openldap-client-2.1.22 expat-1.95.6_1 openquicktime-1.0 ezm3-1.1 openssl-0.9.7c fam-2.6.9_3 openwebmail-2.20 fbsd-icons-1.0 p5-Authen-PAM-0.14 fetchmail-6.2.5 p5-Authen-SASL-2.06 ffmpeg-0.4.8 p5-CGI-SpeedyCGI-2.22 flac-1.1.0_2 p5-CGI.pm-3.00,1 fontconfig-2.2.90_3 p5-Compress-Zlib-1.31 freetype2-2.1.5_1 p5-DBI-1.38 frontpage-5.0.2.2623_1 p5-Data-ShowTable-3.3 fxtv-1.03_1 p5-Digest-MD5-2.30 gail-1.4.1 p5-File-Spec-0.86 gconf-editor-2.4.0,1 p5-HTML-Parser-3.34 gconf2-2.4.0.1 p5-HTML-Tagset-3.03 gd-2.0.15_1,1 p5-IO-INET6-1.28 gdbm-1.8.3 p5-MIME-Base64-2.21 gdk-pixbuf-0.22.0 p5-Mysql-modules-1.2219 gdm2-2.4.4.5 p5-Net-1.17,1 gedit2-2.4.1 p5-Net-Daemon-0.37 gettext-0.12.1 p5-Net-SSLeay-1.23 glade2-2.0.1 p5-PlRPC-0.2016 gle-3.0.3 p5-SNMP_Session-0.98 glib-1.2.10_10 p5-Socket6-0.10 glib-2.2.3 p5-Storable-2.08 gmake-3.80_1 p5-Test-Harness-2.30 gnome-icon-theme-1.0.9 p5-Test-Simple-0.47_1 gnomedesktop-2.4.1.1_1 p5-Text-Iconv-1.2_1 gnomehier-1.0_10 p5-Time-HiRes-1.51,1 gnomelibs-1.4.2_1 p5-TimeDate-1.16,1 gnomemimedata-2.4.0 p5-URI-1.27 gnomevfs2-2.4.1_1 p5-XML-Parser-2.34 gtk-1.2.10_10 p5-libwww-5.70 gtk-2.2.4_1 pango-1.2.5 gtk-engines2-2.2.0 pcre-4.4 gtksourceview-0.7.0 perl-5.6.1_14 guile-1.6.4_2 php4-4.3.4 help2man-1.29 phpSysInfo-2.1 imake-4.3.0_1 pilot-link-0.11.7_2 imlib-1.9.14_1 pkgconfig-0.15.0 intltool-0.27.2 pkgdb.db isc-dhcp3-3.0.1.r12 png-1.2.5_2 ispell-3.2.06_3 popt-1.6.4_1 jpeg-6b_1 portupgrade-20030723 juke-0.7 pptpclient-1.3.1 kde-3.1.4 procmail-3.22_3 kdeaddons-3.1.4 py23-expat-2.3.2_2 kdeadmin-3.1.4 python-2.3.2_2 kdeartwork-3.1.4_1 qpopper-4.0.5_1 kdebase-3.1.4 qt-3.2.1 kdeedu-3.1.4 quanta-3.1.4,2 kdegames-3.1.4 rawio-1.2 kdegraphics-3.1.4 rc_subr-1.16 kdelibs-3.1.4_1 rep-gtk2-gnome-0.17_2,1 kdemultimedia-3.1.4 rpm-3.0.6_8 kdenetwork-3.1.4 rrdtool-1.0.45 kdepim-3.1.4 ruby-1.6.8.2003.10.15 kdesdk-3.1.4 ruby-bdb1-0.2.1 kdetoys-3.1.4 ruby-rdoc-0.9.0 kdeutils-3.1.4 ruby-shim-ruby18-1.8.1.p2 kdevelop-2.1.5 samba-2.2.8a koffice-1.2.1_1,1 samba-libsmbclient-3.0.0 lame-3.93.1 sawfish2-1.3_4,2 lcms-1.09,1 scrollkeeper-0.3.12_4,1 libIDL-0.8.2 sdl-1.2.5_3 liba52-0.7.4 sdocbook-xml-4.1.2.5_1 libart_lgpl2-2.3.16 sendmail-8.11.7_1 libaudiofile-0.2.4 sendmail-8.12.10 libbonobo-2.4.2 smtpd-2.0_2 libbonoboui-2.4.1 sox-12.17.4 libcapplet-1.4.0.5_1 speex-1.0.2,1 libdivxdecore-0.4.7 startup-notification-0.5_1 libdivxdecore-devel-0.4.0.50_1 svgalib-1.4.3_1 libdv-0.9.9 tcl-8.2.3_3 libdvdcss-1.2.8 tcl-8.3.5_2 libdvdnav-0.1.3 tcl-8.4.4_1,1 libdvdread-0.9.4 tcllib-1.3 libgda2-1.0.1_2 tiff-3.6.0 libglade2-2.0.1_1 tightvnc-1.2.9 libglut-5.0.2 tk-8.3.5_2 libgmp-2001.08.07 tk-8.4.4,1 libgnome-2.4.0_1 unzip-5.50_2 libgnomecanvas-2.4.0 uulib-0.5.18 libgnomedb-1.0.1 webalizer-2.1.10_4 libgnomeprint-2.4.0_1 win32-codecs-2.0.90,1 libgnomeprintui-2.4.0 wrapper-1.0_3 libgnomeui-2.4.0.1_1 xanim-2.92.0 libgnugetopt-1.2 xlupe-1.1 libgsf-1.8.2 xmbmon-203 libgtkeditor-0.1.8 xmlcatmgr-1.1 libgtkhtml-2.4.1_1 xmms-esound-1.2.8_1 libgtop2-2.0.7_1 xscreensaver-gnome-4.13 libiconv-1.9.1_3 xvid-0.9.2,1 libltdl-1.5 yelp-2.4.1 libmcrypt-2.5.7_1 http://www.zaleo.homeunix.net/ --=====================_52938843==_ Content-Type: application/octet-stream; name="config.log" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.log" VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGNvbmZpZ3VyZSwgd2hpY2ggd2FzCmdlbmVy YXRlZCBieSBHTlUgQXV0b2NvbmYgMi41Ny4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoK ICAkIC4vY29uZmlndXJlIC0tcHJvZ3JhbS10cmFuc2Zvcm0tbmFtZT0gLS14LWxpYnJhcmllcz0v dXNyL1gxMVI2L2xpYiAtLXgtaW5jbHVkZXM9L3Vzci9YMTFSNi9pbmNsdWRlIC0tcHJlZml4PS91 c3IvWDExUjYgaTM4Ni1wb3J0YmxkLWZyZWVic2Q1LjEKCiMjIC0tLS0tLS0tLSAjIwojIyBQbGF0 Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpob3N0bmFtZSA9IHNlcnZlci56YWxlby5ob21ldW5p eC5uZXQKdW5hbWUgLW0gPSBpMzg2CnVuYW1lIC1yID0gNS4xLVJFTEVBU0UtcDEwCnVuYW1lIC1z ID0gRnJlZUJTRAp1bmFtZSAtdiA9IEZyZWVCU0QgNS4xLVJFTEVBU0UtcDEwICM4OiBTYXQgTm92 IDE1IDE3OjEyOjQ1IENFVCAyMDAzICAgICB6ZW9Ac2VydmVyLnphbGVvLmhvbWV1bml4Lm5ldDov dXNyL3NyYy9zeXMvaTM4Ni9jb21waWxlL1pBTEVPIAoKL3Vzci9iaW4vdW5hbWUgLXAgPSBpMzg2 Ci9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9IHVu a25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0c3lz aW5mbyA9IHVua25vd24KaG9zdGluZm8gICAgICAgICAgICAgICA9IHVua25vd24KL2Jpbi9tYWNo aW5lICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25vd24K L2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24KClBBVEg6IC9zYmluClBBVEg6IC9iaW4K UEFUSDogL3Vzci9zYmluClBBVEg6IC91c3IvYmluClBBVEg6IC91c3IvZ2FtZXMKUEFUSDogL3Vz ci9sb2NhbC9zYmluClBBVEg6IC91c3IvbG9jYWwvYmluClBBVEg6IC91c3IvWDExUjYvYmluClBB VEg6IC9ob21lL3plby9iaW4KUEFUSDogL3Vzci9sb2NhbC9iaW4KCgojIyAtLS0tLS0tLS0tLSAj IwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29uZmlndXJlOjE1MjI6IGNo ZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToxNTQwOiByZXN1bHQ6IGkzODYtcG9y dGJsZC1mcmVlYnNkNS4xCmNvbmZpZ3VyZToxNTQ4OiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBl CmNvbmZpZ3VyZToxNTYyOiByZXN1bHQ6IGkzODYtcG9ydGJsZC1mcmVlYnNkNS4xCmNvbmZpZ3Vy ZToxNTcwOiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjE1ODQ6IHJlc3Vs dDogaTM4Ni1wb3J0YmxkLWZyZWVic2Q1LjEKY29uZmlndXJlOjE2MTM6IGNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjE2Njc6IHJlc3VsdDogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbyByb290IC1nIHdoZWVsCmNvbmZpZ3VyZToxNjc4OiBjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUKY29uZmlndXJlOjE3MjE6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNzU0OiBjaGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6MTc4MzogcmVzdWx0 OiBubwpjb25maWd1cmU6MTc1NDogY2hlY2tpbmcgZm9yIG1hd2sKY29uZmlndXJlOjE3ODM6IHJl c3VsdDogbm8KY29uZmlndXJlOjE3NTQ6IGNoZWNraW5nIGZvciBuYXdrCmNvbmZpZ3VyZToxNzcw OiBmb3VuZCAvdXNyL2Jpbi9uYXdrCmNvbmZpZ3VyZToxNzgwOiByZXN1bHQ6IG5hd2sKY29uZmln dXJlOjE3OTA6IGNoZWNraW5nIHdoZXRoZXIgZ21ha2Ugc2V0cyAkKE1BS0UpCmNvbmZpZ3VyZTox ODEwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk5MzogY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGlu Y2x1ZGUgdXNlZCBieSBnbWFrZQpjb25maWd1cmU6MjAyMTogcmVzdWx0OiBHTlUKY29uZmlndXJl OjIwNTQ6IGNoZWNraW5nIGZvciBpMzg2LXBvcnRibGQtZnJlZWJzZDUuMS1nY2MKY29uZmlndXJl OjIwODA6IHJlc3VsdDogY2MKY29uZmlndXJlOjIzNjI6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVy IHZlcnNpb24KY29uZmlndXJlOjIzNjU6IGNjIC0tdmVyc2lvbiA8L2Rldi9udWxsID4mNQpjYyAo R0NDKSAzLjIuMiBbRnJlZUJTRF0gMjAwMzAyMDUgKHJlbGVhc2UpCkNvcHlyaWdodCAoQykgMjAw MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBz ZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2FycmFu dHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuCgpjb25maWd1cmU6MjM2ODogJD8gPSAwCmNvbmZpZ3VyZToyMzcwOiBjYyAt diA8L2Rldi9udWxsID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KQ29uZmlndXJlZCB3aXRoOiBG cmVlQlNEL2kzODYgc3lzdGVtIGNvbXBpbGVyClRocmVhZCBtb2RlbDogcG9zaXgKZ2NjIHZlcnNp b24gMy4yLjIgW0ZyZWVCU0RdIDIwMDMwMjA1IChyZWxlYXNlKQpjb25maWd1cmU6MjM3MzogJD8g PSAwCmNvbmZpZ3VyZToyMzc1OiBjYyAtViA8L2Rldi9udWxsID4mNQpjYzogYXJndW1lbnQgdG8g YC1WJyBpcyBtaXNzaW5nCmNvbmZpZ3VyZToyMzc4OiAkPyA9IDEKY29uZmlndXJlOjI0MDI6IGNo ZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0CmNvbmZpZ3VyZToyNDA1OiBjYyAt TyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2Nh bC9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToyNDA4OiAkPyA9IDAKY29uZmlndXJlOjI0 NTQ6IHJlc3VsdDogYS5vdXQKY29uZmlndXJlOjI0NTk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMg Y29tcGlsZXIgd29ya3MKY29uZmlndXJlOjI0NjU6IC4vYS5vdXQKY29uZmlndXJlOjI0Njg6ICQ/ ID0gMApjb25maWd1cmU6MjQ4NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI0OTI6IGNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZwpjb25maWd1cmU6MjQ5NDogcmVzdWx0OiBu bwpjb25maWd1cmU6MjQ5NzogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcwpjb25m aWd1cmU6MjQ5OTogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1 cmU6MjUwMjogJD8gPSAwCmNvbmZpZ3VyZToyNTI3OiByZXN1bHQ6IApjb25maWd1cmU6MjUzMzog Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMKY29uZmlndXJlOjI1NTU6IGNjIC1j IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjI1NTg6ICQ/ID0gMApjb25maWd1cmU6MjU4MDogcmVzdWx0OiBvCmNv bmZpZ3VyZToyNTg0OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29t cGlsZXIKY29uZmlndXJlOjI2MDk6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkv dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI2MTI6ICQ/ID0gMApj b25maWd1cmU6MjYxNTogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToyNjE4OiAkPyA9IDAK Y29uZmlndXJlOjI2MzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNjM3OiBjaGVja2luZyB3aGV0 aGVyIGNjIGFjY2VwdHMgLWcKY29uZmlndXJlOjI2NTk6IGNjIC1jIC1nIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNjYyOiAkPyA9IDAKY29uZmlndXJlOjI2 NjU6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MjY2ODogJD8gPSAwCmNvbmZpZ3VyZToy Njc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjY5NjogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0 byBhY2NlcHQgQU5TSSBDCmNvbmZpZ3VyZToyNzU3OiBjYyAgLWMgLU8gLXBpcGUgLW1jcHU9cGVu dGl1bXBybyAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mjc2 MDogJD8gPSAwCmNvbmZpZ3VyZToyNzYzOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjI3 NjY6ICQ/ID0gMApjb25maWd1cmU6Mjc4NDogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1cmU6 MjgwMjogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91c3IvbG9jYWwvaW5jbHVk ZSBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjI6IHN5bnRheCBlcnJvciBiZWZvcmUgIm1lIgpj b25maWd1cmU6MjgwNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8ICNp Zm5kZWYgX19jcGx1c3BsdXMKfCAgIGNob2tlIG1lCnwgI2VuZGlmCmNvbmZpZ3VyZToyOTE2OiBj aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGNjCmNvbmZpZ3VyZToyOTc4OiByZXN1bHQ6IGdj YzMKY29uZmlndXJlOjI5ODU6IGNoZWNraW5nIGZvciBzdHJlcnJvciBpbiAtbGNwb3NpeApjb25m aWd1cmU6MzAxNjogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxjcG9zaXggICA+ JjUKL3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sY3Bvc2l4CmNvbmZpZ3VyZTozMDE5OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgI2xpbmUgMjk5MyAiY29uZmlndXJl Igp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFICJ4aW5lLXVpIgp8ICNkZWZpbmUgVkVSU0lPTiAiMC45LjIyIgp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4 dGVybiAiQyIKfCAjZW5kaWYKfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIHN0cmVycm9yICgp Owp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RyZXJyb3IgKCk7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZTozMDM3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMDU0OiBjaGVja2luZyBm b3IgaTM4Ni1wb3J0YmxkLWZyZWVic2Q1LjEtZ2NjCmNvbmZpZ3VyZTozMDgwOiByZXN1bHQ6IGNj CmNvbmZpZ3VyZTozMzYyOiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3Vy ZTozMzY1OiBjYyAtLXZlcnNpb24gPC9kZXYvbnVsbCA+JjUKY2MgKEdDQykgMy4yLjIgW0ZyZWVC U0RdIDIwMDMwMjA1IChyZWxlYXNlKQpDb3B5cmlnaHQgKEMpIDIwMDIgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9y IGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3Ig TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgoKY29u ZmlndXJlOjMzNjg6ICQ/ID0gMApjb25maWd1cmU6MzM3MDogY2MgLXYgPC9kZXYvbnVsbCA+JjUK VXNpbmcgYnVpbHQtaW4gc3BlY3MuCkNvbmZpZ3VyZWQgd2l0aDogRnJlZUJTRC9pMzg2IHN5c3Rl bSBjb21waWxlcgpUaHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDMuMi4yIFtGcmVlQlNE XSAyMDAzMDIwNSAocmVsZWFzZSkKY29uZmlndXJlOjMzNzM6ICQ/ID0gMApjb25maWd1cmU6MzM3 NTogY2MgLVYgPC9kZXYvbnVsbCA+JjUKY2M6IGFyZ3VtZW50IHRvIGAtVicgaXMgbWlzc2luZwpj b25maWd1cmU6MzM3ODogJD8gPSAxCmNvbmZpZ3VyZTozMzgxOiBjaGVja2luZyB3aGV0aGVyIHdl IGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIKY29uZmlndXJlOjM0Mjg6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTozNDM0OiBjaGVja2luZyB3aGV0aGVyIGNjIGFjY2VwdHMgLWcKY29uZmlndXJl OjM0NzY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNDkzOiBjaGVja2luZyBmb3IgY2Mgb3B0aW9u IHRvIGFjY2VwdCBBTlNJIEMKY29uZmlndXJlOjM1ODE6IHJlc3VsdDogbm9uZSBuZWVkZWQKY29u ZmlndXJlOjM1OTk6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2Fs L2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyOiBzeW50YXggZXJyb3IgYmVmb3Jl ICJtZSIKY29uZmlndXJlOjM2MDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAjaWZuZGVmIF9fY3BsdXNwbHVzCnwgICBjaG9rZSBtZQp8ICNlbmRpZgpjb25maWd1cmU6 MzcxMzogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBjYwpjb25maWd1cmU6Mzc3NTogcmVz dWx0OiBnY2MzCmNvbmZpZ3VyZTozNzg1OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXBy b2Nlc3Nvcgpjb25maWd1cmU6MzgyMTogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuYwpjb25maWd1cmU6MzgyNzogJD8gPSAwCmNvbmZpZ3VyZTozODU5OiBjYyAtRSAtSS91c3Iv bG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZTozODYxOjI4OiBhY19ub25leGlzdGVu dC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTozODY1OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgI2xpbmUgMzg1MSAiY29uZmlndXJlIgp8IC8q IGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmlu ZSBQQUNLQUdFICJ4aW5lLXVpIgp8ICNkZWZpbmUgVkVSU0lPTiAiMC45LjIyIgp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjM5 MDM6IHJlc3VsdDogY2MgLUUKY29uZmlndXJlOjM5Mjg6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNs dWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjM5MzQ6ICQ/ID0gMApjb25maWd1cmU6Mzk2NjogY2Mg LUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6Mzk2ODoyODogYWNf bm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6Mzk3Mjog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8ICNsaW5lIDM5NTggImNvbmZp Z3VyZSIKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi Igp8ICNkZWZpbmUgUEFDS0FHRSAieGluZS11aSIKfCAjZGVmaW5lIFZFUlNJT04gIjAuOS4yMiIK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNv bmZpZ3VyZTo0MDE1OiBjaGVja2luZyBmb3IgZWdyZXAKY29uZmlndXJlOjQwMjU6IHJlc3VsdDog Z3JlcCAtRQpjb25maWd1cmU6NDAzMDogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMK Y29uZmlndXJlOjQwNTY6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xv Y2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQwNTk6ICQ/ID0gMApjb25maWd1 cmU6NDA2MjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0MDY1OiAkPyA9IDAKY29uZmln dXJlOjQxNTc6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNy L2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUKY29uZmlndXJl OjQxNjA6ICQ/ID0gMApjb25maWd1cmU6NDE2MjogLi9jb25mdGVzdApjb25maWd1cmU6NDE2NTog JD8gPSAwCmNvbmZpZ3VyZTo0MTgwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDIwNDogY2hlY2tp bmcgZm9yIHN5cy90eXBlcy5oCmNvbmZpZ3VyZTo0MjIxOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1w ZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0 MjI0OiAkPyA9IDAKY29uZmlndXJlOjQyMjc6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6 NDIzMDogJD8gPSAwCmNvbmZpZ3VyZTo0MjQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDIwNDog Y2hlY2tpbmcgZm9yIHN5cy9zdGF0LmgKY29uZmlndXJlOjQyMjE6IGNjIC1jIC1PIC1waXBlIC1t Y3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjQyMjQ6ICQ/ID0gMApjb25maWd1cmU6NDIyNzogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZp Z3VyZTo0MjMwOiAkPyA9IDAKY29uZmlndXJlOjQyNDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0 MjA0OiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29uZmlndXJlOjQyMjE6IGNjIC1jIC1PIC1waXBl IC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjQyMjQ6ICQ/ID0gMApjb25maWd1cmU6NDIyNzogdGVzdCAtcyBjb25mdGVzdC5vCmNv bmZpZ3VyZTo0MjMwOiAkPyA9IDAKY29uZmlndXJlOjQyNDE6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTo0MjA0OiBjaGVja2luZyBmb3Igc3RyaW5nLmgKY29uZmlndXJlOjQyMjE6IGNjIC1jIC1PIC1w aXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjQyMjQ6ICQ/ID0gMApjb25maWd1cmU6NDIyNzogdGVzdCAtcyBjb25mdGVzdC5v CmNvbmZpZ3VyZTo0MjMwOiAkPyA9IDAKY29uZmlndXJlOjQyNDE6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo0MjA0OiBjaGVja2luZyBmb3IgbWVtb3J5LmgKY29uZmlndXJlOjQyMjE6IGNjIC1jIC1P IC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjQyMjQ6ICQ/ID0gMApjb25maWd1cmU6NDIyNzogdGVzdCAtcyBjb25mdGVz dC5vCmNvbmZpZ3VyZTo0MjMwOiAkPyA9IDAKY29uZmlndXJlOjQyNDE6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo0MjA0OiBjaGVja2luZyBmb3Igc3RyaW5ncy5oCmNvbmZpZ3VyZTo0MjIxOiBjYyAt YyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZTo0MjI0OiAkPyA9IDAKY29uZmlndXJlOjQyMjc6IHRlc3QgLXMgY29u ZnRlc3Qubwpjb25maWd1cmU6NDIzMDogJD8gPSAwCmNvbmZpZ3VyZTo0MjQxOiByZXN1bHQ6IHll cwpjb25maWd1cmU6NDIwNDogY2hlY2tpbmcgZm9yIGludHR5cGVzLmgKY29uZmlndXJlOjQyMjE6 IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyMjQ6ICQ/ID0gMApjb25maWd1cmU6NDIyNzogdGVzdCAt cyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0MjMwOiAkPyA9IDAKY29uZmlndXJlOjQyNDE6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo0MjA0OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjQy MjE6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyMjQ6ICQ/ID0gMApjb25maWd1cmU6NDIyNzogdGVz dCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0MjMwOiAkPyA9IDAKY29uZmlndXJlOjQyNDE6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo0MjA0OiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29uZmlndXJl OjQyMjE6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyMjQ6ICQ/ID0gMApjb25maWd1cmU6NDIyNzog dGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0MjMwOiAkPyA9IDAKY29uZmlndXJlOjQyNDE6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjYzOiBjaGVja2luZyBtaW5peC9jb25maWcuaCB1c2Fi aWxpdHkKY29uZmlndXJlOjQyNzY6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkv dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzMjA6MjY6IG1pbml4 L2NvbmZpZy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo0Mjc5OiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgI2xpbmUgNDI2NiAiY29uZmlndXJl Igp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwg I2RlZmluZSBQQUNLQUdFICJ4aW5lLXVpIgp8ICNkZWZpbmUgVkVSU0lPTiAiMC45LjIyIgp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg Ki8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVk ZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURExJ Ql9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNs dWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYK fCAjaWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAj aWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbHNlCnwgIyBp ZiBIQVZFX1NURElOVF9ICnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+CnwgIyBlbmRpZgp8ICNlbmRp Zgp8ICNpZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAj aW5jbHVkZSA8bWluaXgvY29uZmlnLmg+CmNvbmZpZ3VyZTo0Mjk1OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo0Mjk5OiBjaGVja2luZyBtaW5peC9jb25maWcuaCBwcmVzZW5jZQpjb25maWd1cmU6NDMx MDogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6NDMyMjoy NjogbWluaXgvY29uZmlnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjQz MTY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAjbGluZSA0MzAyICJj b25maWd1cmUiCnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgInhpbmUtdWkiCnwgI2RlZmluZSBWRVJTSU9OICIwLjku MjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxtaW5peC9jb25maWcuaD4KY29uZmlndXJlOjQzMzU6IHJl c3VsdDogbm8KY29uZmlndXJlOjQzNzE6IGNoZWNraW5nIGZvciBtaW5peC9jb25maWcuaApjb25m aWd1cmU6NDM3ODogcmVzdWx0OiBubwpjb25maWd1cmU6NDQwNjogY2hlY2tpbmcgZm9yIEFOU0kg QyBoZWFkZXIgZmlsZXMKY29uZmlndXJlOjQ1NTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NTY2 OiBjaGVja2luZyB3aGV0aGVyIGdtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6NDU4NjogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjQ2MDc6IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwKY29uZmlndXJlOjQ2NjE6IHJlc3VsdDogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbyByb290 IC1nIHdoZWVsCmNvbmZpZ3VyZTo0NjcyOiBjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzCmNv bmZpZ3VyZTo0Njc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDc3MzogY2hlY2tpbmcgZm9yIGxk IHVzZWQgYnkgR0NDCmNvbmZpZ3VyZTo0ODM2OiByZXN1bHQ6IC91c3IvYmluL2xkCmNvbmZpZ3Vy ZTo0ODQ1OiBjaGVja2luZyBpZiB0aGUgbGlua2VyICgvdXNyL2Jpbi9sZCkgaXMgR05VIGxkCkdO VSBsZCB2ZXJzaW9uIDIuMTMuMiBbRnJlZUJTRF0gMjAwMi0xMS0yNwpjb25maWd1cmU6NDg1Nzog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4NjI6IGNoZWNraW5nIGZvciAvdXNyL2Jpbi9sZCBvcHRp b24gdG8gcmVsb2FkIG9iamVjdCBmaWxlcwpjb25maWd1cmU6NDg2OTogcmVzdWx0OiAtcgpjb25m aWd1cmU6NDg3NDogY2hlY2tpbmcgZm9yIEJTRC1jb21wYXRpYmxlIG5tCmNvbmZpZ3VyZTo0OTEw OiByZXN1bHQ6IG5tCmNvbmZpZ3VyZTo0OTEzOiBjaGVja2luZyBmb3IgYSBzZWQgdGhhdCBkb2Vz IG5vdCB0cnVuY2F0ZSBvdXRwdXQKY29uZmlndXJlOjQ5OTU6IHJlc3VsdDogL3Vzci9iaW4vc2Vk CmNvbmZpZ3VyZTo0OTk4OiBjaGVja2luZyBob3cgdG8gcmVjb2duaXNlIGRlcGVuZGVudCBsaWJy YXJpZXMKY29uZmlndXJlOjUxNzk6IHJlc3VsdDogcGFzc19hbGwKY29uZmlndXJlOjUxOTE6IGNo ZWNraW5nIGNvbW1hbmQgdG8gcGFyc2Ugbm0gb3V0cHV0CmNvbmZpZ3VyZTo1Mjc1OiBjYyAtYyAt TyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMg PiY1CmNvbmZpZ3VyZTo1Mjc4OiAkPyA9IDAKY29uZmlndXJlOjUyODI6IG5tIGNvbmZ0ZXN0Lm8g XHwgc2VkIC1uIC1lICdzL14uKlsgCV1cKFtBQkNER0lTVFddW0FCQ0RHSVNUV10qXClbIAldWyAJ XSpcKFwpXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIFwyXDMgXDMvcCcgXD4gY29uZnRl c3Qubm0KY29uZmlndXJlOjUyODU6ICQ/ID0gMApjb25maWd1cmU6NTMzNzogY2MgLW8gY29uZnRl c3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3Iv bG9jYWwvbGliIGNvbmZ0ZXN0LmMgY29uZnRzdG0ubyA+JjUKY29uZmlndXJlOjUzNDA6ICQ/ID0g MApjb25maWd1cmU6NTM4NDogcmVzdWx0OiBvawpjb25maWd1cmU6NTQwMjogY2hlY2tpbmcgZGxm Y24uaCB1c2FiaWxpdHkKY29uZmlndXJlOjU0MTU6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRp dW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjU0MTg6 ICQ/ID0gMApjb25maWd1cmU6NTQyMTogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo1NDI0 OiAkPyA9IDAKY29uZmlndXJlOjU0MzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NDM4OiBjaGVj a2luZyBkbGZjbi5oIHByZXNlbmNlCmNvbmZpZ3VyZTo1NDQ5OiBjYyAtRSAtSS91c3IvbG9jYWwv aW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZTo1NDU1OiAkPyA9IDAKY29uZmlndXJlOjU0NzQ6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NTEwOiBjaGVja2luZyBmb3IgZGxmY24uaApjb25maWd1 cmU6NTUxNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU2Nzc6IGNoZWNraW5nIGZvciBpMzg2LXBv cnRibGQtZnJlZWJzZDUuMS1yYW5saWIKY29uZmlndXJlOjU3MDY6IHJlc3VsdDogbm8KY29uZmln dXJlOjU3MTU6IGNoZWNraW5nIGZvciByYW5saWIKY29uZmlndXJlOjU3MzE6IGZvdW5kIC91c3Iv YmluL3JhbmxpYgpjb25maWd1cmU6NTc0MjogcmVzdWx0OiByYW5saWIKY29uZmlndXJlOjU3NTc6 IGNoZWNraW5nIGZvciBpMzg2LXBvcnRibGQtZnJlZWJzZDUuMS1zdHJpcApjb25maWd1cmU6NTc4 NjogcmVzdWx0OiBubwpjb25maWd1cmU6NTc5NTogY2hlY2tpbmcgZm9yIHN0cmlwCmNvbmZpZ3Vy ZTo1ODExOiBmb3VuZCAvdXNyL2Jpbi9zdHJpcApjb25maWd1cmU6NTgyMjogcmVzdWx0OiBzdHJp cApjb25maWd1cmU6NjAzMjogY2hlY2tpbmcgZm9yIG9iamRpcgpjb25maWd1cmU6NjA0MzogcmVz dWx0OiAubGlicwpjb25maWd1cmU6NjA2MDogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0byBwcm9k dWNlIFBJQwpjb25maWd1cmU6NjIwNjogcmVzdWx0OiAtZlBJQwpjb25maWd1cmU6NjIxMDogY2hl Y2tpbmcgaWYgY2MgUElDIGZsYWcgLWZQSUMgd29ya3MKY29uZmlndXJlOjYyMzQ6IGNjIC1jIC1P IC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLWZQSUMgLURQSUMgLUkvdXNyL2xvY2FsL2luY2x1ZGUg Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjYyMzc6ICQ/ID0gMApjb25maWd1cmU6NjI0MDogdGVz dCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo2MjQzOiAkPyA9IDAKY29uZmlndXJlOjYyODE6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTo2Mjk3OiBjaGVja2luZyBpZiBjYyBzdGF0aWMgZmxhZyAtc3Rh dGljIHdvcmtzCmNvbmZpZ3VyZTo2MzIyOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1w ZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLXN0YXRpYyBj b25mdGVzdC5jICA+JjUKY29uZmlndXJlOjYzMjU6ICQ/ID0gMApjb25maWd1cmU6NjMyODogdGVz dCAtcyBjb25mdGVzdApjb25maWd1cmU6NjMzMTogJD8gPSAwCmNvbmZpZ3VyZTo2MzQ3OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6NjM1OTogY2hlY2tpbmcgaWYgY2Mgc3VwcG9ydHMgLWMgLW8gZmls ZS5vCmNvbmZpZ3VyZTo2Mzc5OiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1vIG91 dC9jb25mdGVzdDIubyAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1 cmU6NjQwMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY0MDg6IGNoZWNraW5nIGlmIGNjIHN1cHBv cnRzIC1jIC1vIGZpbGUubG8KY29uZmlndXJlOjY0MzY6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBl bnRpdW1wcm8gLWMgLW8gY29uZnRlc3QubG8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjY0Mzk6ICQ/ID0gMApjb25maWd1cmU6NjQ0MjogdGVzdCAtcyBjb25m dGVzdC5sbwpjb25maWd1cmU6NjQ0NTogJD8gPSAwCmNvbmZpZ3VyZTo2NDY3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6NjQ5ODogY2hlY2tpbmcgaWYgY2Mgc3VwcG9ydHMgLWZuby1ydHRpIC1mbm8t ZXhjZXB0aW9ucwpjb25maWd1cmU6NjUyMTogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBy byAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zIC1jIGNvbmZ0ZXN0LmMgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY1MjQ6ICQ/ID0gMApjb25maWd1cmU6NjUy NzogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo2NTMwOiAkPyA9IDAKY29uZmlndXJlOjY1 NDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NTU4OiBjaGVja2luZyB3aGV0aGVyIHRoZSBsaW5r ZXIgKC91c3IvYmluL2xkKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZTo3MjUz OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzI1ODogY2hlY2tpbmcgaG93IHRvIGhhcmRjb2RlIGxp YnJhcnkgcGF0aHMgaW50byBwcm9ncmFtcwpjb25maWd1cmU6NzI4MjogcmVzdWx0OiBpbW1lZGlh dGUKY29uZmlndXJlOjcyODc6IGNoZWNraW5nIHdoZXRoZXIgc3RyaXBwaW5nIGxpYnJhcmllcyBp cyBwb3NzaWJsZQpjb25maWd1cmU6NzI5MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjczMDM6IGNo ZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcwpjb25maWd1cmU6NzcyMzogcmVz dWx0OiBmcmVlYnNkNS4xIGxkLnNvCmNvbmZpZ3VyZTo3NzI4OiBjaGVja2luZyBpZiBsaWJ0b29s IHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjc3MzA6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo3NzMzOiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMK Y29uZmlndXJlOjc3NTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3NzU3OiBjaGVja2luZyB3aGV0 aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMKY29uZmlndXJlOjc3NjE6IHJlc3VsdDogbm8K Y29uZmlndXJlOjg0MzU6IGNoZWNraW5nIHdoZXRoZXIgLWxjIHNob3VsZCBiZSBleHBsaWNpdGx5 IGxpbmtlZCBpbgpjb25maWd1cmU6ODQ0MzogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBy byAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODQ0NjogJD8g PSAwCmNvbmZpZ3VyZTo4NDYwOiBjYyAtc2hhcmVkIGNvbmZ0ZXN0Lm8gIC12IC1XbCwtc29uYW1l IC1XbCxjb25mdGVzdCAtbyBjb25mdGVzdCAyXD5cJjEgXHwgZ3JlcCAgLWxjICBcPi9kZXYvbnVs bCAyXD5cJjEKY29uZmlndXJlOjg0NjM6ICQ/ID0gMQpjb25maWd1cmU6ODQ3NjogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjkwNzk6IGNoZWNraW5nIGZvciBtc2dmbXQKY29uZmlndXJlOjkxMDc6IHJl c3VsdDogL3Vzci9sb2NhbC9iaW4vbXNnZm10CmNvbmZpZ3VyZTo5MTE2OiBjaGVja2luZyBmb3Ig Z21zZ2ZtdApjb25maWd1cmU6OTE0NzogcmVzdWx0OiAvdXNyL2xvY2FsL2Jpbi9tc2dmbXQKY29u ZmlndXJlOjkxNTc6IGNoZWNraW5nIGZvciB4Z2V0dGV4dApjb25maWd1cmU6OTE4NTogcmVzdWx0 OiAvdXNyL2xvY2FsL2Jpbi94Z2V0dGV4dApjb25maWd1cmU6OTE5NjogY2hlY2tpbmcgZm9yIG1z Z21lcmdlCmNvbmZpZ3VyZTo5MjIzOiByZXN1bHQ6IC91c3IvbG9jYWwvYmluL21zZ21lcmdlCmNv bmZpZ3VyZTo5Mjk5OiBjaGVja2luZyBmb3IgcmFubGliCmNvbmZpZ3VyZTo5MzI2OiByZXN1bHQ6 IHJhbmxpYgpjb25maWd1cmU6OTMzODogY2hlY2tpbmcgZm9yIGFuIEFOU0kgQy1jb25mb3JtaW5n IGNvbnN0CmNvbmZpZ3VyZTo5NDA2OiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1J L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5NDA5OiAkPyA9IDAK Y29uZmlndXJlOjk0MTI6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6OTQxNTogJD8gPSAw CmNvbmZpZ3VyZTo5NDI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTQzNjogY2hlY2tpbmcgZm9y IGlubGluZQpjb25maWd1cmU6OTQ1ODogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTQ2MTogJD8gPSAw CmNvbmZpZ3VyZTo5NDY0OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjk0Njc6ICQ/ID0g MApjb25maWd1cmU6OTQ3OTogcmVzdWx0OiBpbmxpbmUKY29uZmlndXJlOjk0OTQ6IGNoZWNraW5n IGZvciBvZmZfdApjb25maWd1cmU6OTUxOTogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBy byAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTUyMjogJD8g PSAwCmNvbmZpZ3VyZTo5NTI1OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjk1Mjg6ICQ/ ID0gMApjb25maWd1cmU6OTUzOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk1NTE6IGNoZWNraW5n IGZvciBzaXplX3QKY29uZmlndXJlOjk1NzY6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1w cm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjk1Nzk6ICQ/ ID0gMApjb25maWd1cmU6OTU4MjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo5NTg1OiAk PyA9IDAKY29uZmlndXJlOjk1OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NjEwOiBjaGVja2lu ZyBmb3Igd29ya2luZyBhbGxvY2EuaApjb25maWd1cmU6OTYzMjogY2MgLW8gY29uZnRlc3QgLU8g LXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwv bGliIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6OTYzODoyMDogYWxsb2NhLmg6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjk2MzU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAjbGluZSA5NjE2ICJjb25maWd1cmUiCnwgLyogY29uZmRlZnMuaC4g ICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgInhp bmUtdWkiCnwgI2RlZmluZSBWRVJTSU9OICIwLjkuMjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9E TEZDTl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFsbG9jYS5oPgp8 IGludAp8IG1haW4gKCkKfCB7CnwgY2hhciAqcCA9IChjaGFyICopIGFsbG9jYSAoMiAqIHNpemVv ZiAoaW50KSk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo5NjUyOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZTo5NjYyOiBjaGVja2luZyBmb3IgYWxsb2NhCmNvbmZpZ3VyZTo5NzA0OiBj YyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNs dWRlIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo5NzA3OiAkPyA9 IDAKY29uZmlndXJlOjk3MTA6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjk3MTM6ICQ/ID0g MApjb25maWd1cmU6OTcyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk5Mzc6IGNoZWNraW5nIGZv ciBzdGRsaWIuaApjb25maWd1cmU6OTk0MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjk5Mzc6IGNo ZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6OTk0MjogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjEwMDc4OiBjaGVja2luZyBmb3IgZ2V0cGFnZXNpemUKY29uZmlndXJlOjEwMTI4OiBjYyAtbyBj b25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1M L3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxMDEzMTogJD8gPSAwCmNv bmZpZ3VyZToxMDEzNDogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6MTAxMzc6ICQ/ID0gMApj b25maWd1cmU6MTAxNDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDE1ODogY2hlY2tpbmcgZm9y IHdvcmtpbmcgbW1hcApjb25maWd1cmU6MTAzMDE6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1t Y3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25m dGVzdC5jICA+JjUKY29uZmlndXJlOjEwMzA0OiAkPyA9IDAKY29uZmlndXJlOjEwMzA2OiAuL2Nv bmZ0ZXN0CmNvbmZpZ3VyZToxMDMwOTogJD8gPSAwCmNvbmZpZ3VyZToxMDMyMzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEwMzM1OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgTGlicmFyeSAyLjEgb3IgbmV3ZXIKY29uZmlndXJlOjEwMzY5OjIyOiBmZWF0dXJlcy5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxMDM2NzogcmVzdWx0OiBubwpjb25m aWd1cmU6MTAzNzU6IGNoZWNraW5nIHdoZXRoZXIgaW50ZWdlciBkaXZpc2lvbiBieSB6ZXJvIHJh aXNlcyBTSUdGUEUKY29uZmlndXJlOjEwNDM4OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNw dT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgY29uZnRl c3QuYyAgPiY1CmNvbmZpZ3VyZToxMDQ0MTogJD8gPSAwCmNvbmZpZ3VyZToxMDQ0MzogLi9jb25m dGVzdApjb25maWd1cmU6MTA0NDY6ICQ/ID0gMApjb25maWd1cmU6MTA0NjE6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMDQ3NDogY2hlY2tpbmcgZm9yIGludHR5cGVzLmgKY29uZmlndXJlOjEwNDk3 OiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMDUwMDogJD8gPSAwCmNvbmZpZ3VyZToxMDUwMzogdGVz dCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToxMDUwNjogJD8gPSAwCmNvbmZpZ3VyZToxMDUxNzog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwNTI4OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmln dXJlOjEwNTUxOiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMDU1NDogJD8gPSAwCmNvbmZpZ3VyZTox MDU1NzogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToxMDU2MDogJD8gPSAwCmNvbmZpZ3Vy ZToxMDU3MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwNTgyOiBjaGVja2luZyBmb3IgdW5zaWdu ZWQgbG9uZyBsb25nCmNvbmZpZ3VyZToxMDYwNTogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1j cHU9cGVudGl1bXBybyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0 ZXN0LmMgID4mNQpjb25maWd1cmU6MTA2MDg6ICQ/ID0gMApjb25maWd1cmU6MTA2MTE6IHRlc3Qg LXMgY29uZnRlc3QKY29uZmlndXJlOjEwNjE0OiAkPyA9IDAKY29uZmlndXJlOjEwNjI1OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTA2NTE6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3Vy ZToxMDY3NTogY2MgLWMgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91c3IvbG9jYWwvaW5j bHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTA2Nzg6ICQ/ID0gMApjb25maWd1cmU6MTA2 ODE6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTA2ODQ6ICQ/ID0gMApjb25maWd1cmU6 MTA2OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDcwOTogY2hlY2tpbmcgd2hldGhlciB0aGUg aW50dHlwZXMuaCBQUkl4Tk4gbWFjcm9zIGFyZSBicm9rZW4KY29uZmlndXJlOjEwNzM2OiBjYyAt YyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToxMDczOTogJD8gPSAwCmNvbmZpZ3VyZToxMDc0MjogdGVzdCAtcyBj b25mdGVzdC5vCmNvbmZpZ3VyZToxMDc0NTogJD8gPSAwCmNvbmZpZ3VyZToxMDc1NzogcmVzdWx0 OiBubwpjb25maWd1cmU6MTA3OTU6IGNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IEdDQwpjb25maWd1 cmU6MTA4NTg6IHJlc3VsdDogL3Vzci9iaW4vbGQKY29uZmlndXJlOjEwODY3OiBjaGVja2luZyBp ZiB0aGUgbGlua2VyICgvdXNyL2Jpbi9sZCkgaXMgR05VIGxkCkdOVSBsZCB2ZXJzaW9uIDIuMTMu MiBbRnJlZUJTRF0gMjAwMi0xMS0yNwpjb25maWd1cmU6MTA4Nzk6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxMDg4NTogY2hlY2tpbmcgZm9yIHNoYXJlZCBsaWJyYXJ5IHJ1biBwYXRoIG9yaWdpbgpj b25maWd1cmU6MTA4OTg6IHJlc3VsdDogZG9uZQpjb25maWd1cmU6MTEzMjY6IGNoZWNraW5nIGFy Z3ouaCB1c2FiaWxpdHkKY29uZmlndXJlOjExMzM5OiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50 aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMTM5 NToxODogYXJnei5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxMTM0Mjog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8ICNsaW5lIDExMzI5ICJjb25m aWd1cmUiCnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg IiIKfCAjZGVmaW5lIFBBQ0tBR0UgInhpbmUtdWkiCnwgI2RlZmluZSBWRVJTSU9OICIwLjkuMjIi CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBJ TlRESVYwX1JBSVNFU19TSUdGUEUgMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IX1dJVEhfVUlO VE1BWCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8IC8q IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWYgSEFWRV9TWVNf VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWYgU1REQ19IRUFE RVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl CnwgIyBpZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8 ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVf TUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxz dHJpbmcuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmlu Z3MuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBl cy5oPgp8ICNlbHNlCnwgIyBpZiBIQVZFX1NURElOVF9ICnwgIyAgaW5jbHVkZSA8c3RkaW50Lmg+ CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlz dGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8YXJnei5oPgpjb25maWd1cmU6MTEzNTg6IHJlc3Vs dDogbm8KY29uZmlndXJlOjExMzYyOiBjaGVja2luZyBhcmd6LmggcHJlc2VuY2UKY29uZmlndXJl OjExMzczOiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZTox MTM5NzoxODogYXJnei5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZToxMTM3 OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8ICNsaW5lIDExMzY1ICJj b25maWd1cmUiCnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgInhpbmUtdWkiCnwgI2RlZmluZSBWRVJTSU9OICIwLjku MjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmlu ZSBJTlRESVYwX1JBSVNFU19TSUdGUEUgMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IX1dJVEhf VUlOVE1BWCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmlu ZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YXJnei5oPgpjb25maWd1cmU6MTEz OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjExNDM0OiBjaGVja2luZyBmb3IgYXJnei5oCmNvbmZp Z3VyZToxMTQ0MTogcmVzdWx0OiBubwpjb25maWd1cmU6MTEzMjY6IGNoZWNraW5nIGxpbWl0cy5o IHVzYWJpbGl0eQpjb25maWd1cmU6MTEzMzk6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1w cm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjExMzQyOiAk PyA9IDAKY29uZmlndXJlOjExMzQ1OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjExMzQ4 OiAkPyA9IDAKY29uZmlndXJlOjExMzU4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTEzNjI6IGNo ZWNraW5nIGxpbWl0cy5oIHByZXNlbmNlCmNvbmZpZ3VyZToxMTM3MzogY2MgLUUgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTEzNzk6ICQ/ID0gMApjb25maWd1cmU6 MTEzOTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTQzNDogY2hlY2tpbmcgZm9yIGxpbWl0cy5o CmNvbmZpZ3VyZToxMTQ0MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExMzI2OiBjaGVja2luZyBs b2NhbGUuaCB1c2FiaWxpdHkKY29uZmlndXJlOjExMzM5OiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1w ZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTox MTM0MjogJD8gPSAwCmNvbmZpZ3VyZToxMTM0NTogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3Vy ZToxMTM0ODogJD8gPSAwCmNvbmZpZ3VyZToxMTM1ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEx MzYyOiBjaGVja2luZyBsb2NhbGUuaCBwcmVzZW5jZQpjb25maWd1cmU6MTEzNzM6IGNjIC1FIC1J L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjExMzc5OiAkPyA9IDAKY29u ZmlndXJlOjExMzk4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE0MzQ6IGNoZWNraW5nIGZvciBs b2NhbGUuaApjb25maWd1cmU6MTE0NDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTMyNjogY2hl Y2tpbmcgbmxfdHlwZXMuaCB1c2FiaWxpdHkKY29uZmlndXJlOjExMzM5OiBjYyAtYyAtTyAtcGlw ZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv bmZpZ3VyZToxMTM0MjogJD8gPSAwCmNvbmZpZ3VyZToxMTM0NTogdGVzdCAtcyBjb25mdGVzdC5v CmNvbmZpZ3VyZToxMTM0ODogJD8gPSAwCmNvbmZpZ3VyZToxMTM1ODogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjExMzYyOiBjaGVja2luZyBubF90eXBlcy5oIHByZXNlbmNlCmNvbmZpZ3VyZToxMTM3 MzogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MTEzNzk6 ICQ/ID0gMApjb25maWd1cmU6MTEzOTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTQzNDogY2hl Y2tpbmcgZm9yIG5sX3R5cGVzLmgKY29uZmlndXJlOjExNDQxOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTEzMjY6IGNoZWNraW5nIG1hbGxvYy5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTEzMzk6IGNj IC1jIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuYyA+JjUKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZToxMTM5ODoKL3Vzci9pbmNs dWRlL21hbGxvYy5oOjM6MjogI2Vycm9yICI8bWFsbG9jLmg+IGhhcyBiZWVuIHJlcGxhY2VkIGJ5 IDxzdGRsaWIuaD4iCmNvbmZpZ3VyZToxMTM0MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8ICNsaW5lIDExMzI5ICJjb25maWd1cmUiCnwgLyogY29uZmRlZnMuaC4gICov CnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgInhpbmUt dWkiCnwgI2RlZmluZSBWRVJTSU9OICIwLjkuMjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ETEZD Tl9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBJTlRESVYwX1JBSVNFU19TSUdGUEUgMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9ORyAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2Rl ZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkxfVFlQRVNfSCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZiBIQVZFX1NZU19UWVBF U19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU1RB VF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZiBTVERDX0hFQURFUlMK fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj IGlmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2Vu ZGlmCnwgI2lmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1P UllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmlu Zy5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o Pgp8ICNlbmRpZgp8ICNpZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+ CnwgI2Vsc2UKfCAjIGlmIEhBVkVfU1RESU5UX0gKfCAjICBpbmNsdWRlIDxzdGRpbnQuaD4KfCAj IGVuZGlmCnwgI2VuZGlmCnwgI2lmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxtYWxsb2MuaD4KY29uZmlndXJlOjExMzU4OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxMTM2MjogY2hlY2tpbmcgbWFsbG9jLmggcHJlc2VuY2UKY29uZmlndXJl OjExMzczOiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jCkluIGZpbGUgaW5j bHVkZWQgZnJvbSBjb25maWd1cmU6MTE0MDA6Ci91c3IvaW5jbHVkZS9tYWxsb2MuaDozOjI6ICNl cnJvciAiPG1hbGxvYy5oPiBoYXMgYmVlbiByZXBsYWNlZCBieSA8c3RkbGliLmg+Igpjb25maWd1 cmU6MTEzNzk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAjbGluZSAx MTM2NSAiY29uZmlndXJlIgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFICJ4aW5lLXVpIgp8ICNkZWZpbmUgVkVSU0lP TiAiMC45LjIyIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8 ICNkZWZpbmUgSU5URElWMF9SQUlTRVNfU0lHRlBFIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSF9XSVRIX1VJTlRNQVggMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAx CnwgI2RlZmluZSBIQVZFX05MX1RZUEVTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8bWFsbG9jLmg+CmNvbmZpZ3VyZToxMTM5ODogcmVzdWx0OiBubwpjb25maWd1cmU6 MTE0MzQ6IGNoZWNraW5nIGZvciBtYWxsb2MuaApjb25maWd1cmU6MTE0NDE6IHJlc3VsdDogbm8K Y29uZmlndXJlOjExMzI2OiBjaGVja2luZyBzdGRkZWYuaCB1c2FiaWxpdHkKY29uZmlndXJlOjEx MzM5OiBjYyAtYyAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRl IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMTM0MjogJD8gPSAwCmNvbmZpZ3VyZToxMTM0NTog dGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToxMTM0ODogJD8gPSAwCmNvbmZpZ3VyZToxMTM1 ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExMzYyOiBjaGVja2luZyBzdGRkZWYuaCBwcmVzZW5j ZQpjb25maWd1cmU6MTEzNzM6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMK Y29uZmlndXJlOjExMzc5OiAkPyA9IDAKY29uZmlndXJlOjExMzk4OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTE0MzQ6IGNoZWNraW5nIGZvciBzdGRkZWYuaApjb25maWd1cmU6MTE0NDE6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxMTMxNzogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3VyZTox MTMyMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExMzE3OiBjaGVja2luZyBmb3Igc3RyaW5nLmgK Y29uZmlndXJlOjExMzIyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTEzMTc6IGNoZWNraW5nIGZv ciB1bmlzdGQuaApjb25maWd1cmU6MTEzMjI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTMyNjog Y2hlY2tpbmcgc3lzL3BhcmFtLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMTMzOTogY2MgLWMgLU8g LXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6MTEzNDI6ICQ/ID0gMApjb25maWd1cmU6MTEzNDU6IHRlc3QgLXMgY29uZnRl c3Qubwpjb25maWd1cmU6MTEzNDg6ICQ/ID0gMApjb25maWd1cmU6MTEzNTg6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxMTM2MjogY2hlY2tpbmcgc3lzL3BhcmFtLmggcHJlc2VuY2UKY29uZmlndXJl OjExMzczOiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZpZ3VyZTox MTM3OTogJD8gPSAwCmNvbmZpZ3VyZToxMTM5ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExNDM0 OiBjaGVja2luZyBmb3Igc3lzL3BhcmFtLmgKY29uZmlndXJlOjExNDQxOiByZXN1bHQ6IHllcwpj b25maWd1cmU6MTE0ODA6IGNoZWNraW5nIGZvciBmZW9mX3VubG9ja2VkCmNvbmZpZ3VyZToxMTUz MDogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91c3IvbG9jYWwv aW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MTE1MzM6 ICQ/ID0gMApjb25maWd1cmU6MTE1MzY6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjExNTM5 OiAkPyA9IDAKY29uZmlndXJlOjExNTUwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE0ODA6IGNo ZWNraW5nIGZvciBmZ2V0c191bmxvY2tlZApjb25maWd1cmU6MTE1MzA6IGNjIC1vIGNvbmZ0ZXN0 IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xv Y2FsL2xpYiBjb25mdGVzdC5jICA+JjUKL3Zhci90bXAvL2NjbWJxSVV2Lm86IEluIGZ1bmN0aW9u IGBtYWluJzoKL3Zhci90bXAvL2NjbWJxSVV2Lm8oLnRleHQrMHhmKTogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgZmdldHNfdW5sb2NrZWQnCi92YXIvdG1wLy9jY21icUlVdi5vKC5kYXRhKzB4MCk6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGZnZXRzX3VubG9ja2VkJwpjb25maWd1cmU6MTE1MzM6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAjbGluZSAxMTQ4NiAiY29u ZmlndXJlIgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICIiCnwgI2RlZmluZSBQQUNLQUdFICJ4aW5lLXVpIgp8ICNkZWZpbmUgVkVSU0lPTiAiMC45LjIy Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUg SU5URElWMF9SQUlTRVNfU0lHRlBFIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJ TlRNQVggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmlu ZSBIQVZFX05MX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRkVP Rl9VTkxPQ0tFRCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIFN5c3RlbSBoZWFkZXIg dG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAg ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBmZ2V0c191bmxvY2tlZCAoKTsgYmVsb3cu CnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVm aW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcg Y29tcGlsZXJzLiAgKi8KfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8 ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAvKiBPdmVycmlkZSBhbnkg Z2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBf X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCB7CnwgI2VuZGlmCnwgLyogV2UgdXNlIGNoYXIgYmVj YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgp8ICAgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov CnwgY2hhciBmZ2V0c191bmxvY2tlZCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBm YWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAg IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp YXMuICAqLwp8ICNpZiBkZWZpbmVkIChfX3N0dWJfZmdldHNfdW5sb2NrZWQpIHx8IGRlZmluZWQg KF9fc3R1Yl9fX2ZnZXRzX3VubG9ja2VkKQp8IGNob2tlIG1lCnwgI2Vsc2UKfCBjaGFyICgqZikg KCkgPSBmZ2V0c191bmxvY2tlZDsKfCAjZW5kaWYKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCB9Cnwg I2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZiAhPSBmZ2V0c191bmxvY2tl ZDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjExNTUwOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToxMTQ4MDogY2hlY2tpbmcgZm9yIGdldGNfdW5sb2NrZWQKY29uZmlndXJlOjExNTMw OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxMTUzMzog JD8gPSAwCmNvbmZpZ3VyZToxMTUzNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6MTE1Mzk6 ICQ/ID0gMApjb25maWd1cmU6MTE1NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTQ4MDogY2hl Y2tpbmcgZm9yIGdldGN3ZApjb25maWd1cmU6MTE1MzA6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBl IC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBj b25mdGVzdC5jICA+JjUKY29uZmlndXJlOjExNTMzOiAkPyA9IDAKY29uZmlndXJlOjExNTM2OiB0 ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZToxMTUzOTogJD8gPSAwCmNvbmZpZ3VyZToxMTU1MDog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjExNDgwOiBjaGVja2luZyBmb3IgZ2V0ZWdpZApjb25maWd1 cmU6MTE1MzA6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNy L2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUKY29uZmlndXJl OjExNTMzOiAkPyA9IDAKY29uZmlndXJlOjExNTM2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3Vy ZToxMTUzOTogJD8gPSAwCmNvbmZpZ3VyZToxMTU1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEx NDgwOiBjaGVja2luZyBmb3IgZ2V0ZXVpZApjb25maWd1cmU6MTE1MzA6IGNjIC1vIGNvbmZ0ZXN0 IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xv Y2FsL2xpYiBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjExNTMzOiAkPyA9IDAKY29uZmlndXJl OjExNTM2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZToxMTUzOTogJD8gPSAwCmNvbmZpZ3Vy ZToxMTU1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExNDgwOiBjaGVja2luZyBmb3IgZ2V0Z2lk CmNvbmZpZ3VyZToxMTUzMDogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBy byAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQpj b25maWd1cmU6MTE1MzM6ICQ/ID0gMApjb25maWd1cmU6MTE1MzY6IHRlc3QgLXMgY29uZnRlc3QK Y29uZmlndXJlOjExNTM5OiAkPyA9IDAKY29uZmlndXJlOjExNTUwOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTE0ODA6IGNoZWNraW5nIGZvciBnZXR1aWQKY29uZmlndXJlOjExNTMwOiBjYyAtbyBj b25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1M L3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxMTUzMzogJD8gPSAwCmNv bmZpZ3VyZToxMTUzNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6MTE1Mzk6ICQ/ID0gMApj b25maWd1cmU6MTE1NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTQ4MDogY2hlY2tpbmcgZm9y IG1lbXBjcHkKY29uZmlndXJlOjExNTMwOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1w ZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3Qu YyAgPiY1Ci92YXIvdG1wLy9jYzNERm1pNy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci92YXIvdG1w Ly9jYzNERm1pNy5vKC50ZXh0KzB4Zik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG1lbXBjcHkn Ci92YXIvdG1wLy9jYzNERm1pNy5vKC5kYXRhKzB4MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YG1lbXBjcHknCmNvbmZpZ3VyZToxMTUzMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8ICNsaW5lIDExNDg2ICJjb25maWd1cmUiCnwgLyogY29uZmRlZnMuaC4gICovCnwg CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgInhpbmUtdWki CnwgI2RlZmluZSBWRVJTSU9OICIwLjkuMjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9I IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBJTlRESVYwX1JBSVNFU19TSUdGUEUgMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I X1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9ORyAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkxfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9GRU9GX1VOTE9DS0VEIDEKfCAjZGVmaW5lIEhBVkVfR0VU Q19VTkxPQ0tFRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBIQVZFX0dFVEVH SUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRFVUlEIDEKfCAjZGVmaW5lIEhBVkVfR0VUR0lEIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVUlEIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogU3lzdGVt IGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5 cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIG1lbXBjcHkgKCk7IGJlbG93 Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRl ZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5n IGNvbXBpbGVycy4gICovCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4K fCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgLyogT3ZlcnJpZGUgYW55 IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KfCAjaWZkZWYg X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgewp8ICNlbmRpZgp8IC8qIFdlIHVzZSBjaGFyIGJl Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKfCAgICBidWls dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq Lwp8IGNoYXIgbWVtcGNweSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMg Zm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdp dGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0 aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAq Lwp8ICNpZiBkZWZpbmVkIChfX3N0dWJfbWVtcGNweSkgfHwgZGVmaW5lZCAoX19zdHViX19fbWVt cGNweSkKfCBjaG9rZSBtZQp8ICNlbHNlCnwgY2hhciAoKmYpICgpID0gbWVtcGNweTsKfCAjZW5k aWYKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCB9CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8 IHsKfCByZXR1cm4gZiAhPSBtZW1wY3B5Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MTE1NTA6IHJlc3VsdDogbm8KY29uZmlndXJlOjExNDgwOiBjaGVja2luZyBmb3IgbXVubWFw CmNvbmZpZ3VyZToxMTUzMDogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBy byAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQpj b25maWd1cmU6MTE1MzM6ICQ/ID0gMApjb25maWd1cmU6MTE1MzY6IHRlc3QgLXMgY29uZnRlc3QK Y29uZmlndXJlOjExNTM5OiAkPyA9IDAKY29uZmlndXJlOjExNTUwOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTE0ODA6IGNoZWNraW5nIGZvciBwdXRlbnYKY29uZmlndXJlOjExNTMwOiBjYyAtbyBj b25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1M L3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxMTUzMzogJD8gPSAwCmNv bmZpZ3VyZToxMTUzNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6MTE1Mzk6ICQ/ID0gMApj b25maWd1cmU6MTE1NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTQ4MDogY2hlY2tpbmcgZm9y IHNldGVudgpjb25maWd1cmU6MTE1MzA6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1tY3B1PXBl bnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5j ICA+JjUKY29uZmlndXJlOjExNTMzOiAkPyA9IDAKY29uZmlndXJlOjExNTM2OiB0ZXN0IC1zIGNv bmZ0ZXN0CmNvbmZpZ3VyZToxMTUzOTogJD8gPSAwCmNvbmZpZ3VyZToxMTU1MDogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjExNDgwOiBjaGVja2luZyBmb3Igc2V0bG9jYWxlCmNvbmZpZ3VyZToxMTUz MDogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91c3IvbG9jYWwv aW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MTE1MzM6 ICQ/ID0gMApjb25maWd1cmU6MTE1MzY6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjExNTM5 OiAkPyA9IDAKY29uZmlndXJlOjExNTUwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE0ODA6IGNo ZWNraW5nIGZvciBzdHBjcHkKY29uZmlndXJlOjExNTMwOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlw ZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIg Y29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxMTUzMzogJD8gPSAwCmNvbmZpZ3VyZToxMTUzNjog dGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6MTE1Mzk6ICQ/ID0gMApjb25maWd1cmU6MTE1NTA6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTQ4MDogY2hlY2tpbmcgZm9yIHN0cmNhc2VjbXAKY29u ZmlndXJlOjExNTMwOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZp Z3VyZToxMTUzMzogJD8gPSAwCmNvbmZpZ3VyZToxMTUzNjogdGVzdCAtcyBjb25mdGVzdApjb25m aWd1cmU6MTE1Mzk6ICQ/ID0gMApjb25maWd1cmU6MTE1NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxMTQ4MDogY2hlY2tpbmcgZm9yIHN0cmR1cApjb25maWd1cmU6MTE1MzA6IGNjIC1vIGNvbmZ0 ZXN0IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNy L2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjExNTMzOiAkPyA9IDAKY29uZmln dXJlOjExNTM2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZToxMTUzOTogJD8gPSAwCmNvbmZp Z3VyZToxMTU1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExNDgwOiBjaGVja2luZyBmb3Igc3Ry dG91bApjb25maWd1cmU6MTE1MzA6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1tY3B1PXBlbnRp dW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+ JjUKY29uZmlndXJlOjExNTMzOiAkPyA9IDAKY29uZmlndXJlOjExNTM2OiB0ZXN0IC1zIGNvbmZ0 ZXN0CmNvbmZpZ3VyZToxMTUzOTogJD8gPSAwCmNvbmZpZ3VyZToxMTU1MDogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjExNDgwOiBjaGVja2luZyBmb3IgdHNlYXJjaApjb25maWd1cmU6MTE1MzA6IGNj IC1vIGNvbmZ0ZXN0IC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjExNTMzOiAkPyA9 IDAKY29uZmlndXJlOjExNTM2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZToxMTUzOTogJD8g PSAwCmNvbmZpZ3VyZToxMTU1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExNDgwOiBjaGVja2lu ZyBmb3IgX19hcmd6X2NvdW50CmNvbmZpZ3VyZToxMTUzMDogY2MgLW8gY29uZnRlc3QgLU8gLXBp cGUgLW1jcHU9cGVudGl1bXBybyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGli IGNvbmZ0ZXN0LmMgID4mNQovdmFyL3RtcC8vY2MyZHI5Q0gubzogSW4gZnVuY3Rpb24gYG1haW4n OgovdmFyL3RtcC8vY2MyZHI5Q0gubygudGV4dCsweGYpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv IGBfX2FyZ3pfY291bnQnCi92YXIvdG1wLy9jYzJkcjlDSC5vKC5kYXRhKzB4MCk6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYF9fYXJnel9jb3VudCcKY29uZmlndXJlOjExNTMzOiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgI2xpbmUgMTE0ODYgImNvbmZpZ3VyZSIKfCAv KiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp bmUgUEFDS0FHRSAieGluZS11aSIKfCAjZGVmaW5lIFZFUlNJT04gIjAuOS4yMiIKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9NTUFQIDEKfCAjZGVmaW5lIElOVERJVjBfUkFJ U0VTX1NJR0ZQRSAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0hfV0lUSF9VSU5UTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0hfV0lUSF9VSU5UTUFYIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdO RURfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9OTF9U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0ZFT0ZfVU5MT0NLRUQg MQp8ICNkZWZpbmUgSEFWRV9HRVRDX1VOTE9DS0VEIDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEK fCAjZGVmaW5lIEhBVkVfR0VURUdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVEVVSUQgMQp8ICNkZWZp bmUgSEFWRV9HRVRHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRVSUQgMQp8ICNkZWZpbmUgSEFWRV9N VU5NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZp bmUgSEFWRV9TVFJDQVNFQ01QIDEKfCAjZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhB VkVfU1RSVE9VTCAxCnwgI2RlZmluZSBIQVZFX1RTRUFSQ0ggMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl ZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIg X19hcmd6X2NvdW50ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2Vy dC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0 cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8ICNpZmRlZiBfX1NURENfXwp8 ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNl bmRpZgp8IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8IHsKfCAjZW5k aWYKfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5 cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIF9fYXJnel9jb3VudCAoKTsKfCAvKiBUaGUg R05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1l bnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJl IGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUg bm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIChfX3N0dWJfX19hcmd6 X2NvdW50KSB8fCBkZWZpbmVkIChfX3N0dWJfX19fX2FyZ3pfY291bnQpCnwgY2hva2UgbWUKfCAj ZWxzZQp8IGNoYXIgKCpmKSAoKSA9IF9fYXJnel9jb3VudDsKfCAjZW5kaWYKfCAjaWZkZWYgX19j cGx1c3BsdXMKfCB9CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZiAh PSBfX2FyZ3pfY291bnQ7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTU1MDog cmVzdWx0OiBubwpjb25maWd1cmU6MTE0ODA6IGNoZWNraW5nIGZvciBfX2FyZ3pfc3RyaW5naWZ5 CmNvbmZpZ3VyZToxMTUzMDogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBy byAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQov dmFyL3RtcC8vY2NyUk9wMzMubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdmFyL3RtcC8vY2NyUk9w MzMubygudGV4dCsweGYpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2FyZ3pfc3RyaW5naWZ5 JwovdmFyL3RtcC8vY2NyUk9wMzMubyguZGF0YSsweDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv IGBfX2FyZ3pfc3RyaW5naWZ5Jwpjb25maWd1cmU6MTE1MzM6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAjbGluZSAxMTQ4NiAiY29uZmlndXJlIgp8IC8qIGNvbmZkZWZz LmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdF ICJ4aW5lLXVpIgp8ICNkZWZpbmUgVkVSU0lPTiAiMC45LjIyIgp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfRExGQ05fSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSU5URElWMF9SQUlTRVNfU0lHRlBF IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xP TkcgMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0gg MQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX05MX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRkVPRl9VTkxPQ0tFRCAxCnwgI2RlZmlu ZSBIQVZFX0dFVENfVU5MT0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUg SEFWRV9HRVRFR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VURVVJRCAxCnwgI2RlZmluZSBIQVZFX0dF VEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVFVJRCAxCnwgI2RlZmluZSBIQVZFX01VTk1BUCAxCnwg I2RlZmluZSBIQVZFX1BVVEVOViAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NU UkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VM IDEKfCAjZGVmaW5lIEhBVkVfVFNFQVJDSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBfX2FyZ3pfc3Ry aW5naWZ5ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBp ZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVu IG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5j bHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8 IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8IHsKfCAjZW5kaWYKfCAv KiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk IHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIF9fYXJnel9zdHJpbmdpZnkgKCk7CnwgLyogVGhlIEdO VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50 cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh Y3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCAoX19zdHViX19fYXJnel9z dHJpbmdpZnkpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX19fYXJnel9zdHJpbmdpZnkpCnwgY2hva2Ug bWUKfCAjZWxzZQp8IGNoYXIgKCpmKSAoKSA9IF9fYXJnel9zdHJpbmdpZnk7CnwgI2VuZGlmCnwg I2lmZGVmIF9fY3BsdXNwbHVzCnwgfQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg cmV0dXJuIGYgIT0gX19hcmd6X3N0cmluZ2lmeTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjExNTUwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMTQ4MDogY2hlY2tpbmcgZm9yIF9f YXJnel9uZXh0CmNvbmZpZ3VyZToxMTUzMDogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9 cGVudGl1bXBybyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0 LmMgID4mNQovdmFyL3RtcC8vY2NOWnRqUDEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdmFyL3Rt cC8vY2NOWnRqUDEubygudGV4dCsweGYpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX2FyZ3pf bmV4dCcKL3Zhci90bXAvL2NjTlp0alAxLm8oLmRhdGErMHgwKTogdW5kZWZpbmVkIHJlZmVyZW5j ZSB0byBgX19hcmd6X25leHQnCmNvbmZpZ3VyZToxMTUzMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8ICNsaW5lIDExNDg2ICJjb25maWd1cmUiCnwgLyogY29uZmRlZnMu aC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0Ug InhpbmUtdWkiCnwgI2RlZmluZSBWRVJTSU9OICIwLjkuMjIiCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9ETEZDTl9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBJTlRESVYwX1JBSVNFU19TSUdGUEUg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IX1dJVEhfVUlOVE1BWCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O RyAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkxfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9GRU9GX1VOTE9DS0VEIDEKfCAjZGVmaW5l IEhBVkVfR0VUQ19VTkxPQ0tFRCAxCnwgI2RlZmluZSBIQVZFX0dFVENXRCAxCnwgI2RlZmluZSBI QVZFX0dFVEVHSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRFVUlEIDEKfCAjZGVmaW5lIEhBVkVfR0VU R0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VUVUlEIDEKfCAjZGVmaW5lIEhBVkVfTVVOTUFQIDEKfCAj ZGVmaW5lIEhBVkVfUFVURU5WIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfU1RQQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU1RS Q0FTRUNNUCAxCnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVUwg MQp8ICNkZWZpbmUgSEFWRV9UU0VBUkNIIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyog U3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBw cm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIF9fYXJnel9uZXh0 ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NU RENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZy ZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8 bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IC8qIE92 ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICov CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8IHsKfCAjZW5kaWYKfCAvKiBXZSB1 c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My CnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxs IGFwcGx5LiAgKi8KfCBjaGFyIF9fYXJnel9uZXh0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5 IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8g YWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt ZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBp cyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgKF9fc3R1Yl9fX2FyZ3pfbmV4dCkgfHwgZGVm aW5lZCAoX19zdHViX19fX19hcmd6X25leHQpCnwgY2hva2UgbWUKfCAjZWxzZQp8IGNoYXIgKCpm KSAoKSA9IF9fYXJnel9uZXh0Owp8ICNlbmRpZgp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IH0KfCAj ZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmICE9IF9fYXJnel9uZXh0Owp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTE1NTA6IHJlc3VsdDogbm8KY29uZmln dXJlOjExNTkxOiBjaGVja2luZyBmb3IgaWNvbnYKY29uZmlndXJlOjExNjE5OiBjYyAtbyBjb25m dGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vz ci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1Ci92YXIvdG1wLy9jY1h2WTNtZS5vOiBJbiBmdW5j dGlvbiBgbWFpbic6Ci92YXIvdG1wLy9jY1h2WTNtZS5vKC50ZXh0KzB4MWMpOiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBsaWJpY29udl9vcGVuJwovdmFyL3RtcC8vY2NYdlkzbWUubygudGV4dCsw eDQ2KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbGliaWNvbnYnCi92YXIvdG1wLy9jY1h2WTNt ZS5vKC50ZXh0KzB4NGUpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBsaWJpY29udl9jbG9zZScK Y29uZmlndXJlOjExNjIyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg I2xpbmUgMTE2MDAgImNvbmZpZ3VyZSIKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAieGluZS11aSIKfCAjZGVmaW5l IFZFUlNJT04gIjAuOS4yMiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIElOVERJVjBfUkFJU0VTX1NJR0ZQRSAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0hfV0lUSF9VSU5UTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0hfV0lUSF9VSU5U TUFYIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9OTF9UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVG X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX0ZFT0ZfVU5MT0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDX1VOTE9DS0VE IDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfR0VURUdJRCAxCnwgI2Rl ZmluZSBIQVZFX0dFVEVVSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHSUQgMQp8ICNkZWZpbmUgSEFW RV9HRVRVSUQgMQp8ICNkZWZpbmUgSEFWRV9NVU5NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVVRFTlYg MQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk ZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJDQVNFQ01QIDEKfCAjZGVmaW5l IEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTCAxCnwgI2RlZmluZSBIQVZFX1RT RUFSQ0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkbGliLmg+Cnwg I2luY2x1ZGUgPGljb252Lmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpY29udl90IGNkID0gaWNv bnZfb3BlbigiIiwiIik7CnwgICAgICAgIGljb252KGNkLE5VTEwsTlVMTCxOVUxMLE5VTEwpOwp8 ICAgICAgICBpY29udl9jbG9zZShjZCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToxMTY2MDogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgIC1saWNvbnYgPiY1CmNv bmZpZ3VyZToxMTY2MzogJD8gPSAwCmNvbmZpZ3VyZToxMTY2NjogdGVzdCAtcyBjb25mdGVzdApj b25maWd1cmU6MTE2Njk6ICQ/ID0gMApjb25maWd1cmU6MTE2ODM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToxMTY5MzogY2hlY2tpbmcgaG93IHRvIGxpbmsgd2l0aCBsaWJpY29udgpjb25maWd1cmU6 MTE2OTU6IHJlc3VsdDogLWxpY29udgpjb25maWd1cmU6MTE3MDY6IGNoZWNraW5nIGZvciBpY29u diBkZWNsYXJhdGlvbgpjb25maWd1cmU6MTE3NDE6IGNjIC1jIC1PIC1waXBlIC1tY3B1PXBlbnRp dW1wcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjExNzc4 OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYGxpYmljb252JwovdXNyL2xvY2FsL2luY2x1ZGUvaWNv bnYuaDo4MjogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYGxpYmljb252Jwpjb25maWd1cmU6MTE3 NDQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAjbGluZSAxMTcxMyAi Y29uZmlndXJlIgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ T1JUICIiCnwgI2RlZmluZSBQQUNLQUdFICJ4aW5lLXVpIgp8ICNkZWZpbmUgVkVSU0lPTiAiMC45 LjIyIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D QSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZp bmUgSU5URElWMF9SQUlTRVNfU0lHRlBFIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSF9XSVRI X1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2Rl ZmluZSBIQVZFX05MX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf RkVPRl9VTkxPQ0tFRCAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5MT0NLRUQgMQp8ICNkZWZpbmUg SEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9HRVRFR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VU RVVJRCAxCnwgI2RlZmluZSBIQVZFX0dFVEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVFVJRCAxCnwg I2RlZmluZSBIQVZFX01VTk1BUCAxCnwgI2RlZmluZSBIQVZFX1BVVEVOViAxCnwgI2RlZmluZSBI QVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1NU UENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VMIDEKfCAjZGVmaW5lIEhBVkVfVFNFQVJDSCAxCnwgI2Rl ZmluZSBIQVZFX0lDT05WIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgI2luY2x1ZGUg PHN0ZGxpYi5oPgp8ICNpbmNsdWRlIDxpY29udi5oPgp8IGV4dGVybgp8ICNpZmRlZiBfX2NwbHVz cGx1cwp8ICJDIgp8ICNlbmRpZgp8ICNpZiBkZWZpbmVkKF9fU1REQ19fKSB8fCBkZWZpbmVkKF9f Y3BsdXNwbHVzKQp8IHNpemVfdCBpY29udiAoaWNvbnZfdCBjZCwgY2hhciAqICppbmJ1Ziwgc2l6 ZV90ICppbmJ5dGVzbGVmdCwgY2hhciAqICpvdXRidWYsIHNpemVfdCAqb3V0Ynl0ZXNsZWZ0KTsK fCAjZWxzZQp8IHNpemVfdCBpY29udigpOwp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7 CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTc2NDogcmVzdWx0OiAKICAg ICAgICAgZXh0ZXJuIHNpemVfdCBpY29udiAoaWNvbnZfdCBjZCwgY29uc3QgY2hhciAqICppbmJ1 Ziwgc2l6ZV90ICppbmJ5dGVzbGVmdCwgY2hhciAqICpvdXRidWYsIHNpemVfdCAqb3V0Ynl0ZXNs ZWZ0KTsKY29uZmlndXJlOjExNzc2OiBjaGVja2luZyBmb3IgbmxfbGFuZ2luZm8gYW5kIENPREVT RVQKY29uZmlndXJlOjExNzk4OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVt cHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1 CmNvbmZpZ3VyZToxMTgwMTogJD8gPSAwCmNvbmZpZ3VyZToxMTgwNDogdGVzdCAtcyBjb25mdGVz dApjb25maWd1cmU6MTE4MDc6ICQ/ID0gMApjb25maWd1cmU6MTE4MTk6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxMTgzMTogY2hlY2tpbmcgZm9yIExDX01FU1NBR0VTCmNvbmZpZ3VyZToxMTg1Mzog Y2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91c3IvbG9jYWwvaW5j bHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MTE4NTY6ICQ/ ID0gMApjb25maWd1cmU6MTE4NTk6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjExODYyOiAk PyA9IDAKY29uZmlndXJlOjExODczOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE4ODk6IGNoZWNr aW5nIGZvciBiaXNvbgpjb25maWd1cmU6MTE5MDU6IGZvdW5kIC91c3IvbG9jYWwvYmluL2Jpc29u CmNvbmZpZ3VyZToxMTkxNTogcmVzdWx0OiBiaXNvbgpjb25maWd1cmU6MTE5Mjg6IGNoZWNraW5n IHZlcnNpb24gb2YgYmlzb24KY29uZmlndXJlOjExOTM3OiByZXN1bHQ6IDEuNzUsIG9rCmNvbmZp Z3VyZToxMTk1ODogY2hlY2tpbmcgd2hldGhlciBOTFMgaXMgcmVxdWVzdGVkCmNvbmZpZ3VyZTox MTk2NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExOTgyOiBjaGVja2luZyB3aGV0aGVyIGluY2x1 ZGVkIGdldHRleHQgaXMgcmVxdWVzdGVkCmNvbmZpZ3VyZToxMTk5MjogcmVzdWx0OiBubwpjb25m aWd1cmU6MTIwMDM6IGNoZWNraW5nIGZvciBHTlUgZ2V0dGV4dCBpbiBsaWJjCmNvbmZpZ3VyZTox MjAyODogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtSS91c3IvbG9j YWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQovdmFyL3RtcC8vY2NU WHdwUEUubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdmFyL3RtcC8vY2NUWHdwUEUubygudGV4dCsw eDE5KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbGliaW50bF9iaW5kdGV4dGRvbWFpbicKL3Zh ci90bXAvL2NjVFh3cFBFLm8oLnRleHQrMHgyNSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGxp YmludGxfZ2V0dGV4dCcKL3Zhci90bXAvL2NjVFh3cFBFLm8oLnRleHQrMHgyYik6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYF9ubF9tc2dfY2F0X2NudHInCi92YXIvdG1wLy9jY1RYd3BQRS5vKC50 ZXh0KzB4MzEpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfbmxfZG9tYWluX2JpbmRpbmdzJwpj b25maWd1cmU6MTIwMzE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAj bGluZSAxMjAwOSAiY29uZmlndXJlIgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFICJ4aW5lLXVpIgp8ICNkZWZpbmUg VkVSU0lPTiAiMC45LjIyIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmlu ZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01N QVAgMQp8ICNkZWZpbmUgSU5URElWMF9SQUlTRVNfU0lHRlBFIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSF9XSVRIX1VJTlRN QVggMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NB TEVfSCAxCnwgI2RlZmluZSBIQVZFX05MX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfRkVPRl9VTkxPQ0tFRCAxCnwgI2RlZmluZSBIQVZFX0dFVENfVU5MT0NLRUQg MQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNkZWZpbmUgSEFWRV9HRVRFR0lEIDEKfCAjZGVm aW5lIEhBVkVfR0VURVVJRCAxCnwgI2RlZmluZSBIQVZFX0dFVEdJRCAxCnwgI2RlZmluZSBIQVZF X0dFVFVJRCAxCnwgI2RlZmluZSBIQVZFX01VTk1BUCAxCnwgI2RlZmluZSBIQVZFX1BVVEVOViAx CnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQp8ICNkZWZpbmUg SEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT1VMIDEKfCAjZGVmaW5lIEhBVkVfVFNF QVJDSCAxCnwgI2RlZmluZSBIQVZFX0lDT05WIDEKfCAjZGVmaW5lIElDT05WX0NPTlNUIGNvbnN0 CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNT QUdFUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxsaWJpbnRsLmg+Cnwg ZXh0ZXJuIGludCBfbmxfbXNnX2NhdF9jbnRyOwp8IGV4dGVybiBpbnQgKl9ubF9kb21haW5fYmlu ZGluZ3M7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBiaW5kdGV4dGRvbWFpbiAoIiIsICIiKTsKfCBy ZXR1cm4gKGludCkgZ2V0dGV4dCAoIiIpICsgX25sX21zZ19jYXRfY250ciArICpfbmxfZG9tYWlu X2JpbmRpbmdzCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMjA0ODogcmVzdWx0 OiBubwpjb25maWd1cmU6MTI0MzE6IGNoZWNraW5nIGZvciBHTlUgZ2V0dGV4dCBpbiBsaWJpbnRs CmNvbmZpZ3VyZToxMjQ2NDogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBy byAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICAtbGlu dGwgPiY1CmNvbmZpZ3VyZToxMjQ2NzogJD8gPSAwCmNvbmZpZ3VyZToxMjQ3MDogdGVzdCAtcyBj b25mdGVzdApjb25maWd1cmU6MTI0NzM6ICQ/ID0gMApjb25maWd1cmU6MTI1MzQ6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxMjU4NTogY2hlY2tpbmcgaG93IHRvIGxpbmsgd2l0aCBsaWJpbnRsCmNv bmZpZ3VyZToxMjU4NzogcmVzdWx0OiAtbGludGwKY29uZmlndXJlOjEyNjc5OiBjaGVja2luZyBm b3IgYW4gQU5TSSBDLWNvbmZvcm1pbmcgY29uc3QKY29uZmlndXJlOjEyNzY3OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTI3Nzc6IGNoZWNraW5nIGZvciBpbmxpbmUKY29uZmlndXJlOjEyODIwOiBy ZXN1bHQ6IGlubGluZQpjb25maWd1cmU6MTI4MzU6IGNoZWNraW5nIGZvciBvZmZfdApjb25maWd1 cmU6MTI4ODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjg5MjogY2hlY2tpbmcgZm9yIHNpemVf dApjb25maWd1cmU6MTI5Mzc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjk5NzogY2hlY2tpbmcg Zm9yIHhpbmUtY29uZmlnCmNvbmZpZ3VyZToxMzAxNTogZm91bmQgL3Vzci9sb2NhbC9iaW4veGlu ZS1jb25maWcKY29uZmlndXJlOjEzMDI4OiByZXN1bHQ6IC91c3IvbG9jYWwvYmluL3hpbmUtY29u ZmlnCmNvbmZpZ3VyZToxMzAzNTogY2hlY2tpbmcgZm9yIFhJTkUtTElCIHZlcnNpb24gPj0gMS4w LjAKY29uZmlndXJlOjEzMTQ1OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNwdT1wZW50aXVt cHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1EX1RIUkVBRF9T QUZFIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAtTC91 c3IvbG9jYWwvbGliIC1seGluZSAtbHogLUwvdXNyL2xvY2FsL2xpYiAtcHRocmVhZCAtTC91c3Iv WDExUjYvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxYdiAtbFhleHQgID4mNQovdXNyL2xvY2FsL2xp Yi9saWJ4aW5lLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBsaWJpbnRsX2JpbmR0ZXh0ZG9t YWluJwovdXNyL2xvY2FsL2xpYi9saWJ4aW5lLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBs aWJpbnRsX2RnZXR0ZXh0Jwpjb25maWd1cmU6MTMxNDg6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dy YW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg I2xpbmUgMTMwNzEgImNvbmZpZ3VyZSIKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAieGluZS11aSIKfCAjZGVmaW5l IFZFUlNJT04gIjAuOS4yMiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9N TUFQIDEKfCAjZGVmaW5lIElOVERJVjBfUkFJU0VTX1NJR0ZQRSAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0hfV0lUSF9VSU5UTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0hfV0lUSF9VSU5U TUFYIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTE9D QUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9OTF9UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVG X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX0ZFT0ZfVU5MT0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDX1VOTE9DS0VE IDEKfCAjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKfCAjZGVmaW5lIEhBVkVfR0VURUdJRCAxCnwgI2Rl ZmluZSBIQVZFX0dFVEVVSUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRHSUQgMQp8ICNkZWZpbmUgSEFW RV9HRVRVSUQgMQp8ICNkZWZpbmUgSEFWRV9NVU5NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVVRFTlYg MQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk ZWZpbmUgSEFWRV9TVFBDUFkgMQp8ICNkZWZpbmUgSEFWRV9TVFJDQVNFQ01QIDEKfCAjZGVmaW5l IEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTCAxCnwgI2RlZmluZSBIQVZFX1RT RUFSQ0ggMQp8ICNkZWZpbmUgSEFWRV9JQ09OViAxCnwgI2RlZmluZSBJQ09OVl9DT05TVCBjb25z dAp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTENfTUVT U0FHRVMgMQp8ICNkZWZpbmUgRU5BQkxFX05MUyAxCnwgI2RlZmluZSBIQVZFX0dFVFRFWFQgMQp8 ICNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAj aW5jbHVkZSA8eGluZS5oPgp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpbmNsdWRlIDxzdGRsaWIu aD4KfCAjaW5jbHVkZSA8c3RyaW5nLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAgIGludCBt YWpvciwgbWlub3IsIHN1YjsKfCAgICBjaGFyICp0bXBfdmVyc2lvbjsKfCAKfCAgIHN5c3RlbSAo InRvdWNoIGNvbmYueGluZXRlc3QiKTsKfCAKfCAgIC8qIEhQL1VYIDkgKCVAIyEpIHdyaXRlcyB0 byBzc2NhbmYgc3RyaW5ncyAqLwp8ICAgdG1wX3ZlcnNpb24gPSAoY2hhciAqKSBzdHJkdXAoIjEu MC4wIik7CnwgICBpZiAoc3NjYW5mKHRtcF92ZXJzaW9uLCAiJWQuJWQuJWQiLCAmbWFqb3IsICZt aW5vciwgJnN1YikgIT0gMykgewp8ICAgICAgcHJpbnRmKCIlcywgYmFkIHZlcnNpb24gc3RyaW5n XG4iLCAiMS4wLjAiKTsKfCAgICAgIGV4aXQoMSk7CnwgICAgfQp8IAp8ICAgaWYgKChYSU5FX01B Sk9SX1ZFUlNJT04gIT0gMSkgfHwKfCAgICAgICAoWElORV9NSU5PUl9WRVJTSU9OICE9IDApIHx8 CnwgICAgICAgKFhJTkVfU1VCX1ZFUlNJT04gIT0gMCkpCnwgICAgIHsKfCAgICAgICBwcmludGYo IlxuKioqICd4aW5lLWNvbmZpZyAtLXZlcnNpb24nIHJldHVybmVkICVkLiVkLiVkLCBidXQgWElO RSAoJWQuJWQuJWQpXG4iLAp8ICAgICAgICAgICAgICAxLCAwLCAwLAp8ICAgICAgICAgICAgICBY SU5FX01BSk9SX1ZFUlNJT04sIFhJTkVfTUlOT1JfVkVSU0lPTiwgWElORV9TVUJfVkVSU0lPTik7 CnwgICAgICAgcHJpbnRmICgiKioqIHdhcyBmb3VuZCEgSWYgeGluZS1jb25maWcgd2FzIGNvcnJl Y3QsIHRoZW4gaXQgaXMgYmVzdFxuIik7CnwgICAgICAgcHJpbnRmICgiKioqIHRvIHJlbW92ZSB0 aGUgb2xkIHZlcnNpb24gb2YgWElORS4gWW91IG1heSBhbHNvIGJlIGFibGUgdG8gZml4IHRoZSBl cnJvclxuIik7CnwgICAgICAgcHJpbnRmKCIqKiogYnkgbW9kaWZ5aW5nIHlvdXIgTERfTElCUkFS WV9QQVRIIGVudmlyb21lbnQgdmFyaWFibGUsIG9yIGJ5IGVkaXRpbmdcbiIpOwp8ICAgICAgIHBy aW50ZigiKioqIC9ldGMvbGQuc28uY29uZi4gTWFrZSBzdXJlIHlvdSBoYXZlIHJ1biBsZGNvbmZp ZyBpZiB0aGF0IGlzXG4iKTsKfCAgICAgICBwcmludGYoIioqKiByZXF1aXJlZCBvbiB5b3VyIHN5 c3RlbS5cbiIpOwp8ICAgICAgIHByaW50ZigiKioqIElmIHhpbmUtY29uZmlnIHdhcyB3cm9uZywg c2V0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBYSU5FX0NPTkZJR1xuIik7CnwgICAgICAgcHJp bnRmKCIqKiogdG8gcG9pbnQgdG8gdGhlIGNvcnJlY3QgY29weSBvZiB4aW5lLWNvbmZpZywgYW5k IHJlbW92ZSB0aGUgZmlsZSBjb25maWcuY2FjaGVcbiIpOwp8ICAgICAgIHByaW50ZigiKioqIGJl Zm9yZSByZS1ydW5uaW5nIGNvbmZpZ3VyZVxuIik7CnwgICAgIH0KfCAgIGVsc2UKfCAgICAgewp8 ICAgICAgIGlmICgoWElORV9NQUpPUl9WRVJTSU9OID4gbWFqb3IpIHx8CnwgICAgICAgICAoKFhJ TkVfTUFKT1JfVkVSU0lPTiA9PSBtYWpvcikgJiYgKFhJTkVfTUlOT1JfVkVSU0lPTiA+IG1pbm9y KSkgfHwKfCAgICAgICAgICgoWElORV9NQUpPUl9WRVJTSU9OID09IG1ham9yKSAmJiAoWElORV9N SU5PUl9WRVJTSU9OID09IG1pbm9yKSAmJiAoWElORV9TVUJfVkVSU0lPTiA+PSBzdWIpKSkKfCAg ICAgICB7CnwgICAgICAgICByZXR1cm4gMDsKfCAgICAgICAgfQp8ICAgICAgZWxzZQp8ICAgICAg IHsKfCAgICAgICAgIHByaW50ZigiXG4qKiogQW4gb2xkIHZlcnNpb24gb2YgWElORSAoJWQuJWQu JWQpIHdhcyBmb3VuZC5cbiIsCnwgICAgICAgICAgICAgICAgWElORV9NQUpPUl9WRVJTSU9OLCBY SU5FX01JTk9SX1ZFUlNJT04sIFhJTkVfU1VCX1ZFUlNJT04pOwp8ICAgICAgICAgcHJpbnRmKCIq KiogWW91IG5lZWQgYSB2ZXJzaW9uIG9mIFhJTkUgbmV3ZXIgdGhhbiAlZC4lZC4lZC4gVGhlIGxh dGVzdCB2ZXJzaW9uIG9mXG4iLAp8IAkgICAgICAgbWFqb3IsIG1pbm9yLCBzdWIpOwp8ICAgICAg ICAgcHJpbnRmKCIqKiogWElORSBpcyBhbHdheXMgYXZhaWxhYmxlIGZyb206XG4iKTsKfCAgICAg ICAgIHByaW50ZigiKioqICAgICAgICBodHRwOi8veGluZS5zb3VyY2Vmb3JnZS5uZXRcbiIpOwp8 ICAgICAgICAgcHJpbnRmKCIqKipcbiIpOwp8ICAgICAgICAgcHJpbnRmKCIqKiogSWYgeW91IGhh dmUgYWxyZWFkeSBpbnN0YWxsZWQgYSBzdWZmaWNpZW50bHkgbmV3IHZlcnNpb24sIHRoaXMgZXJy b3JcbiIpOwp8ICAgICAgICAgcHJpbnRmKCIqKiogcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgd3Jv bmcgY29weSBvZiB0aGUgeGluZS1jb25maWcgc2hlbGwgc2NyaXB0IGlzXG4iKTsKfCAgICAgICAg IHByaW50ZigiKioqIGJlaW5nIGZvdW5kLiBUaGUgZWFzaWVzdCB3YXkgdG8gZml4IHRoaXMgaXMg dG8gcmVtb3ZlIHRoZSBvbGQgdmVyc2lvblxuIik7CnwgICAgICAgICBwcmludGYoIioqKiBvZiBY SU5FLCBidXQgeW91IGNhbiBhbHNvIHNldCB0aGUgWElORV9DT05GSUcgZW52aXJvbm1lbnQgdG8g cG9pbnQgdG8gdGhlXG4iKTsKfCAgICAgICAgIHByaW50ZigiKioqIGNvcnJlY3QgY29weSBvZiB4 aW5lLWNvbmZpZy4gKEluIHRoaXMgY2FzZSwgeW91IHdpbGwgaGF2ZSB0b1xuIik7CnwgICAgICAg ICBwcmludGYoIioqKiBtb2RpZnkgeW91ciBMRF9MSUJSQVJZX1BBVEggZW52aXJvbWVudCB2YXJp YWJsZSwgb3IgZWRpdCAvZXRjL2xkLnNvLmNvbmZcbiIpOwp8ICAgICAgICAgcHJpbnRmKCIqKiog c28gdGhhdCB0aGUgY29ycmVjdCBsaWJyYXJpZXMgYXJlIGZvdW5kIGF0IHJ1bi10aW1lKSlcbiIp Owp8ICAgICAgIH0KfCAgICAgfQp8ICAgcmV0dXJuIDE7CnwgfQp8IApjb25maWd1cmU6MTMxNzU6 IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMjA5OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAtbWNw dT1wZW50aXVtcHJvIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1E X1RIUkVBRF9TQUZFIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgY29uZnRl c3QuYyAgLUwvdXNyL2xvY2FsL2xpYiAtbHhpbmUgLWx6IC1ML3Vzci9sb2NhbC9saWIgLXB0aHJl YWQgLUwvdXNyL1gxMVI2L2xpYiAtTC91c3IvWDExUjYvbGliIC1sWHYgLWxYZXh0ID4mNQovdXNy L2xvY2FsL2xpYi9saWJ4aW5lLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBsaWJpbnRsX2Jp bmR0ZXh0ZG9tYWluJwovdXNyL2xvY2FsL2xpYi9saWJ4aW5lLnNvOiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBsaWJpbnRsX2RnZXR0ZXh0Jwpjb25maWd1cmU6MTMyMTI6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAjbGluZSAxMzE5MCAiY29uZmlndXJlIgp8IC8qIGNv bmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQ QUNLQUdFICJ4aW5lLXVpIgp8ICNkZWZpbmUgVkVSU0lPTiAiMC45LjIyIgp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSU5URElWMF9SQUlTRVNf U0lHRlBFIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSF9XSVRIX1VJTlRNQVggMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9M T05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElN SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCnwgI2RlZmluZSBIQVZFX05MX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRkVPRl9VTkxPQ0tFRCAxCnwg I2RlZmluZSBIQVZFX0dFVENfVU5MT0NLRUQgMQp8ICNkZWZpbmUgSEFWRV9HRVRDV0QgMQp8ICNk ZWZpbmUgSEFWRV9HRVRFR0lEIDEKfCAjZGVmaW5lIEhBVkVfR0VURVVJRCAxCnwgI2RlZmluZSBI QVZFX0dFVEdJRCAxCnwgI2RlZmluZSBIQVZFX0dFVFVJRCAxCnwgI2RlZmluZSBIQVZFX01VTk1B UCAxCnwgI2RlZmluZSBIQVZFX1BVVEVOViAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2Rl ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX1NUUENQWSAxCnwgI2RlZmluZSBI QVZFX1NUUkNBU0VDTVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT1VMIDEKfCAjZGVmaW5lIEhBVkVfVFNFQVJDSCAxCnwgI2RlZmluZSBIQVZFX0lDT05WIDEK fCAjZGVmaW5lIElDT05WX0NPTlNUIGNvbnN0CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVT RVQgMQp8ICNkZWZpbmUgSEFWRV9MQ19NRVNTQUdFUyAxCnwgI2RlZmluZSBFTkFCTEVfTkxTIDEK fCAjZGVmaW5lIEhBVkVfR0VUVEVYVCAxCnwgI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDx4aW5lLmg+CnwgI2luY2x1ZGUgPHN0 ZGlvLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAgcmV0dXJuICgoWElORV9NQUpPUl9WRVJT SU9OKSB8fCAoWElORV9NSU5PUl9WRVJTSU9OKSB8fCAoWElORV9TVUJfVkVSU0lPTikpOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTMyNDY6IGVycm9yOiAqKiogWW91IHNob3Vs ZCBpbnN0YWxsIHhpbmUtbGliIGZpcnN0ICoqKgoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBD YWNoZSB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKCmFjX2N2X3R5cGVfc2l6 ZV90PXllcwphbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1nY2MzCmFjX2N2X2Z1 bmNfZ2V0Y3dkPXllcwphY19jdl9wYXRoX1hHRVRURVhUPS91c3IvbG9jYWwvYmluL3hnZXR0ZXh0 CmFjX2N2X3BhdGhfTVNHTUVSR0U9L3Vzci9sb2NhbC9iaW4vbXNnbWVyZ2UKYW1fY3ZfcHJvdG9f aWNvbnZfYXJnMT1jb25zdApndF9jdl9pbnR0eXBlc19wcmlfYnJva2VuPW5vCmx0X2N2X2ZpbGVf bWFnaWNfY21kPSckTUFHSUNfQ01EJwphY19jdl9oZWFkZXJfc3RkbGliX2g9eWVzCmFjX2N2X2Z1 bmNfc3RydG91bD15ZXMKYWNfY3ZfZnVuY19nZXR1aWQ9eWVzCmFjX2N2X2hlYWRlcl9ubF90eXBl c19oPXllcwphY19jdl9saWJfY3Bvc2l4X3N0cmVycm9yPW5vCmFjX2N2X3Byb2dfY2NfZz15ZXMK YWNfY3ZfZW52X0xERkxBR1Nfc2V0PXNldAphY2xfY3ZfcGF0aF9MRD0vdXNyL2Jpbi9sZApsdF9j dl9wcm9nX2NjX2Nhbl9idWlsZF9zaGFyZWQ9eWVzCmFjX2N2X2NfY29tcGlsZXJfZ251PXllcwph Y19jdl9leGVleHQ9CmFjX2N2X2Vudl9DRkxBR1Nfc2V0PXNldAphY19jdl9mdW5jX3NldGxvY2Fs ZT15ZXMKZ3RfY3ZfZnVuY19nbnVnZXR0ZXh0MV9saWJjPW5vCmFjX2N2X2Z1bmNfbW1hcF9maXhl ZF9tYXBwZWQ9eWVzCmFjX2N2X2Z1bmNfbWVtcGNweT1ubwpqbV9hY19jdl9oZWFkZXJfc3RkaW50 X2g9eWVzCmptX2FjX2N2X2hlYWRlcl9pbnR0eXBlc19oPXllcwphY19jdl9wcm9nX21ha2VfZ21h a2Vfc2V0PXllcwphY19jdl9wYXRoX1hJTkVfQ09ORklHPS91c3IvbG9jYWwvYmluL3hpbmUtY29u ZmlnCmFjX2N2X2Vudl9DUFBfdmFsdWU9CmFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9c2V0CmFjX2N2 X2Z1bmNfc3RyY2FzZWNtcD15ZXMKbHRfY3ZfcHJvZ19jY19zdGF0aWNfd29ya3M9eWVzCmx0X2N2 X3Byb2dfY2Nfbm9fYnVpbHRpbj0KYWNfY3ZfaGVhZGVyX21pbml4X2NvbmZpZ19oPW5vCmx0X2N2 X3Byb2dfY2Nfc2hsaWI9CmFtX2N2X3Byb3RvX2ljb252PSdleHRlcm4gc2l6ZV90IGljb252IChp Y29udl90IGNkLCBjb25zdCBjaGFyICogKmluYnVmLCBzaXplX3QgKmluYnl0ZXNsZWZ0LCBjaGFy ICogKm91dGJ1Ziwgc2l6ZV90ICpvdXRieXRlc2xlZnQpOycKYWNfY3ZfZnVuY19fX2FyZ3pfY291 bnQ9bm8KYWNfY3ZfdHlwZV91bnNpZ25lZF9sb25nX2xvbmc9eWVzCmx0X2N2X3Byb2dfY2Nfc3Rh dGljPS1zdGF0aWMKYWNfY3ZfZW52X2hvc3RfYWxpYXNfc2V0PXNldAphY19jdl9mdW5jX2dldGVn aWQ9eWVzCmFjX2N2X2NfY29uc3Q9eWVzCmFjX2N2X3BhdGhfR01TR0ZNVD0vdXNyL2xvY2FsL2Jp bi9tc2dmbXQKbHRfY3ZfbGRfcmVsb2FkX2ZsYWc9LXIKZ3RfY3ZfaW50X2RpdmJ5emVyb19zaWdm cGU9eWVzCmFjX2N2X3dvcmtpbmdfYWxsb2NhX2g9bm8KYWNfY3ZfcHJvZ19DQz1jYwphY19jdl9m dW5jX211bm1hcD15ZXMKbHRfY3ZfYXJjaGl2ZV9jbWRzX25lZWRfbGM9eWVzCmx0X2N2X3Byb2df Z251X2xkPXllcwphY19jdl9oZWFkZXJfc3lzX3N0YXRfaD15ZXMKYWNfY3ZfZW52X2J1aWxkX2Fs aWFzX3NldD1zZXQKYWNfY3ZfaGVhZGVyX2xpbWl0c19oPXllcwphY19jdl9lbnZfTERGTEFHU192 YWx1ZT0tTC91c3IvbG9jYWwvbGliCmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfc2V0PXNldAphY19j dl9mdW5jX2FsbG9jYV93b3Jrcz15ZXMKYWNfY3ZfcHJvZ19jY19zdGRjPQphY19jdl9ob3N0X2Fs aWFzPWkzODYtcG9ydGJsZC1mcmVlYnNkNS4xCmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9Jy1PIC1w aXBlIC1tY3B1PXBlbnRpdW1wcm8nCmFjX2N2X2Vudl9DQ19zZXQ9c2V0CmFjX2N2X3BhdGhfTVNH Rk1UPS91c3IvbG9jYWwvYmluL21zZ2ZtdApsdF9jdl9wcm9nX2NjX3dsPS1XbCwKYWNfY3ZfaGVh ZGVyX3N5c190eXBlc19oPXllcwphY19jdl9oZWFkZXJfc3RkYz15ZXMKYWNfY3ZfZnVuY19fX2Fy Z3pfc3RyaW5naWZ5PW5vCmx0X2N2X3BhdGhfU0VEPS91c3IvYmluL3NlZAphY19jdl9oZWFkZXJf c3RyaW5nc19oPXllcwphY19jdl9oZWFkZXJfc3RkaW50X2g9eWVzCmFjX2N2X2hlYWRlcl9pbnR0 eXBlc19oPXllcwphY19jdl9wcm9nX2VncmVwPSdncmVwIC1FJwpubHNfY3ZfaGVhZGVyX2ludGw9 CmFjX2N2X2Z1bmNfX19hcmd6X25leHQ9bm8KYWNfY3ZfZnVuY19zZXRlbnY9eWVzCmFjX2N2X2hl YWRlcl9zeXNfcGFyYW1faD15ZXMKYWNfY3ZfaGVhZGVyX2xvY2FsZV9oPXllcwphY19jdl9jX2lu bGluZT1pbmxpbmUKbHRfY3ZfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nc2VkIC1uIC1lICdcJydz L14uIC4qIFwoLipcKSQvZXh0ZXJuIGNoYXIgXDE7L3AnXCcnJwpsdF9jdl9wYXRoX0xEPS91c3Iv YmluL2xkCmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0cmluZ19oPXll cwphY19jdl9idWlsZF9hbGlhcz1pMzg2LXBvcnRibGQtZnJlZWJzZDUuMQphY19jdl9lbnZfQ1BQ RkxBR1NfdmFsdWU9LUkvdXNyL2xvY2FsL2luY2x1ZGUKYWNfY3ZfZnVuY19mZW9mX3VubG9ja2Vk PXllcwpndF9jdl9oZWFkZXJfaW50dHlwZXNfaD15ZXMKYWNfY3ZfcHJvZ19JTlRMQklTT049Ymlz b24KYWNfY3ZfcHJvZ19hY19jdF9SQU5MSUI9cmFubGliCmFjX2N2X2hlYWRlcl9tZW1vcnlfaD15 ZXMKYWNfY3ZfdGFyZ2V0X2FsaWFzPWkzODYtcG9ydGJsZC1mcmVlYnNkNS4xCmFtX2N2X2xhbmdp bmZvX2NvZGVzZXQ9eWVzCmFjX2N2X3Byb2dfYWNfY3RfU1RSSVA9c3RyaXAKYWNfY3ZfaG9zdD1p Mzg2LXBvcnRibGQtZnJlZWJzZDUuMQphY19jdl9lbnZfaG9zdF9hbGlhc192YWx1ZT1pMzg2LXBv cnRibGQtZnJlZWJzZDUuMQphbV9jdl92YWxfTENfTUVTU0FHRVM9eWVzCmFjX2N2X2Z1bmNfZ2V0 ZXVpZD15ZXMKYWNfY3ZfZnVuY19nZXRjX3VubG9ja2VkPXllcwphY19jdl90eXBlX29mZl90PXll cwpubHNfY3ZfZm9yY2VfdXNlX2dudV9nZXR0ZXh0PW5vCmFjX2N2X2Z1bmNfZmdldHNfdW5sb2Nr ZWQ9bm8KbHRfY3ZfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nc2VkIC1uIC1lICdc JydzL146IFwoW14gXSpcKSAkLyAge1wiXDFcIiwgKGx0X3B0cikgMH0sL3AnXCcnIC1lICdcJydz L15bQkNERUdSU1RdIFwoW14gXSpcKSBcKFteIF0qXCkkLyAgeyJcMiIsIChsdF9wdHIpIFwmXDJ9 LC9wJ1wnJycKYWNfY3ZfZnVuY19nZXRnaWQ9eWVzCmx0X2N2X2NvbXBpbGVyX2Nfbz15ZXMKbHRf Y3ZfcHJvZ19jY19waWNfd29ya3M9eWVzCmx0X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxlPQpubHNf Y3ZfdXNlX2dudV9nZXR0ZXh0PW5vCmFjX2N2X2Z1bmNfdHNlYXJjaD15ZXMKYWNfY3ZfaGVhZGVy X2FyZ3pfaD1ubwphY19jdl9wcm9nX0NQUD0nY2MgLUUnCmFjX2N2X3Byb2dfQVdLPW5hd2sKYWNf Y3ZfYnVpbGQ9aTM4Ni1wb3J0YmxkLWZyZWVic2Q1LjEKYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3Zh bHVlPWkzODYtcG9ydGJsZC1mcmVlYnNkNS4xCmFjX2N2X2hlYWRlcl9tYWxsb2NfaD1ubwphY19j dl9mdW5jX2dldHBhZ2VzaXplPXllcwpsdF9jdl9wcm9nX2NjX3BpYz0nIC1mUElDJwpsdF9jdl9z eXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdzZWQgLW4gLWUgJ1wnJ3MvXi4qWyAJXVwoW0FCQ0RHSVNU V11bQUJDREdJU1RXXSpcKVsgCV1bIAldKlwoXClcKFtfQS1aYS16XVtfQS1aYS16MC05XSpcKSQv XDEgXDJcMyBcMy9wJ1wnJycKbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9cGFzc19hbGwKYW1f Y3ZfbGliX2ljb252PXllcwphbV9jdl9mdW5jX2ljb252PXllcwpsdF9jdl9jb21waWxlcl9vX2xv PXllcwphY19jdl90YXJnZXQ9aTM4Ni1wb3J0YmxkLWZyZWVic2Q1LjEKYWNfY3ZfZW52X3Rhcmdl dF9hbGlhc192YWx1ZT1pMzg2LXBvcnRibGQtZnJlZWJzZDUuMQphY19jdl9oZWFkZXJfc3RkZGVm X2g9eWVzCmFjX2N2X2Vudl9DQ192YWx1ZT1jYwpsdF9jdl9wYXRoX05NPW5tCmFjX2N2X2Vudl9D UFBfc2V0PQpndF9jdl9mdW5jX2dudWdldHRleHQxX2xpYmludGw9eWVzCmFjX2N2X2hlYWRlcl9k bGZjbl9oPXllcwpubHNfY3ZfaGVhZGVyX2xpYmd0PQphY19jdl9mdW5jX3N0cmR1cD15ZXMKYWNf Y3ZfZnVuY19wdXRlbnY9eWVzCmFjbF9jdl9ycGF0aD1kb25lCmFjX2N2X2Z1bmNfc3RwY3B5PXll cwphY2xfY3ZfcHJvZ19nbnVfbGQ9eWVzCmFjX2N2X2dudV9saWJyYXJ5XzJfMT1ubwphY19jdl9v YmpleHQ9bwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMK IyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFBSU5GTz0nJwpBQUxJQl9DRkxBR1M9JycKQUFMSUJf Q09ORklHPScnCkFBTElCX0xJQlM9JycKQUNMT0NBTD0nJHtTSEVMTH0gL3Vzci9ob21lL2ZpbGVf c2VydmVyL0ZyZWVCU0QveGluZS93b3JrL3hpbmUtdWktMC45LjIyL21pc3NpbmcgLS1ydW4gYWNs b2NhbC0xLjYnCkFMTE9DQT0nJwpBTURFUEJBQ0tTTEFTSD0nXCcKQU1ERVBfRkFMU0U9JyMnCkFN REVQX1RSVUU9JycKQU1UQVI9JyR7U0hFTEx9IC91c3IvaG9tZS9maWxlX3NlcnZlci9GcmVlQlNE L3hpbmUvd29yay94aW5lLXVpLTAuOS4yMi9taXNzaW5nIC0tcnVuIHRhcicKQVVUT0NPTkY9JyR7 U0hFTEx9IC91c3IvaG9tZS9maWxlX3NlcnZlci9GcmVlQlNEL3hpbmUvd29yay94aW5lLXVpLTAu OS4yMi9taXNzaW5nIC0tcnVuIGF1dG9jb25mJwpBVVRPSEVBREVSPScke1NIRUxMfSAvdXNyL2hv bWUvZmlsZV9zZXJ2ZXIvRnJlZUJTRC94aW5lL3dvcmsveGluZS11aS0wLjkuMjIvbWlzc2luZyAt LXJ1biBhdXRvaGVhZGVyJwpBVVRPTUFLRT0nJHtTSEVMTH0gL3Vzci9ob21lL2ZpbGVfc2VydmVy L0ZyZWVCU0QveGluZS93b3JrL3hpbmUtdWktMC45LjIyL21pc3NpbmcgLS1ydW4gYXV0b21ha2Ut MS42JwpBV0s9J25hd2snCkJVSUxEX0NDPScnCkJVSUxEX0RBVEU9JycKQlVJTERfSU5DTFVERURf TElCSU5UTD0nbm8nCkJVSUxEX0xJQl9TVEFUSUM9JycKQlVJTERfT1M9JycKQ0FUT0JKRVhUPScu Z21vJwpDQz0nY2MnCkNDREVQTU9ERT0nZGVwbW9kZT1nY2MzJwpDRkxBR1M9Jy1PIC1waXBlIC1t Y3B1PXBlbnRpdW1wcm8nCkNQUD0nY2MgLUUnCkNQUEZMQUdTPSctSS91c3IvbG9jYWwvaW5jbHVk ZScKQ1VSTF9DRkxBR1M9JycKQ1VSTF9DT05GSUc9JycKQ1VSTF9MSUJTPScnCkRBVEFESVJOQU1F PSdzaGFyZScKREFUQV9ESVI9JycKREVCVUdfQ0ZMQUdTPScnCkRFRlM9JycKREVQQ09NUD0nJwpE RVBESVI9Jy5kZXBzJwpESVJFQ1RGQl9DRkxBR1M9JycKRElSRUNURkJfTElCUz0nJwpEWU5BTUlD X0xEX0xJQlM9JycKRUNITz0nZWNobycKRUNIT19DPScnCkVDSE9fTj0nLW4nCkVDSE9fVD0nJwpF R1JFUD0nZ3JlcCAtRScKRVhFRVhUPScnCkdFTkNBVD0nZ2VuY2F0JwpHTElCQzIxPSdubycKR01T R0ZNVD0nL3Vzci9sb2NhbC9iaW4vbXNnZm10JwpIQVZFX0FBX0ZBTFNFPScnCkhBVkVfQUFfVFJV RT0nJwpIQVZFX0NVUkxfRkFMU0U9JycKSEFWRV9DVVJMX1RSVUU9JycKSEFWRV9ESVJFQ1RGQl9G QUxTRT0nJwpIQVZFX0RJUkVDVEZCX1RSVUU9JycKSEFWRV9HRVRPUFRfTE9OR19GQUxTRT0nJwpI QVZFX0dFVE9QVF9MT05HX1RSVUU9JycKSEFWRV9OQ1VSU0VTX0ZBTFNFPScnCkhBVkVfTkNVUlNF U19UUlVFPScnCkhBVkVfVEVSTUNBUF9GQUxTRT0nJwpIQVZFX1RFUk1DQVBfVFJVRT0nJwpIQVZF X1gxMV9GQUxTRT0nJwpIQVZFX1gxMV9UUlVFPScnCkhBVkVfWEY4NlZJRE1PREVfRkFMU0U9JycK SEFWRV9YRjg2VklETU9ERV9UUlVFPScnCkhBVkVfWElORVJBTUFfRkFMU0U9JycKSEFWRV9YSU5F UkFNQV9UUlVFPScnCkhBVkVfWFRFU1RFWFRFTlNJT05fRkFMU0U9JycKSEFWRV9YVEVTVEVYVEVO U0lPTl9UUlVFPScnCklOQ0xVREVTPScnCklOQ0xVREVfSU5UTF9GQUxTRT0nJwpJTkNMVURFX0lO VExfVFJVRT0nIycKSU5TVEFMTF9EQVRBPSdpbnN0YWxsICAtbyByb290IC1nIHdoZWVsIC1tIDQ0 NCcKSU5TVEFMTF9QUk9HUkFNPSdpbnN0YWxsICAtcyAtbyByb290IC1nIHdoZWVsIC1tIDU1NScK SU5TVEFMTF9TQ1JJUFQ9J2luc3RhbGwgIC1vIHJvb3QgLWcgd2hlZWwgLW0gNTU1JwpJTlNUQUxM X1NUUklQX1BST0dSQU09JyR7U0hFTEx9ICQoaW5zdGFsbF9zaCkgLWMgLXMnCklOU1RPQkpFWFQ9 Jy5tbycKSU5UTEJJU09OPSdiaXNvbicKSU5UTExJQlM9Jy1saW50bCcKSU5UTE9CSlM9JycKSU5U TF9MSUJUT09MX1NVRkZJWF9QUkVGSVg9J2wnCkxERkxBR1M9Jy1ML3Vzci9sb2NhbC9saWInCkxJ QklDT05WPSctbGljb252JwpMSUJJTlRMPSctbGludGwnCkxJQk9CSlM9JycKTElCUz0nJwpMSUJU T09MPSckKFNIRUxMKSAkKHRvcF9idWlsZGRpcikvbGlidG9vbCcKTElCVE9PTF9ERVBTPScuL2x0 bWFpbi5zaCcKTElCVkVSU0lPTj0nJwpMSVJDX0lOQ0xVREU9JycKTElSQ19MSUJTPScnCkxOX1M9 J2xuIC1zJwpMVExJQklDT05WPSctbGljb252JwpMVExJQklOVEw9Jy1saW50bCcKTFRMSUJPQkpT PScnCk1BS0VJTkZPPScke1NIRUxMfSAvdXNyL2hvbWUvZmlsZV9zZXJ2ZXIvRnJlZUJTRC94aW5l L3dvcmsveGluZS11aS0wLjkuMjIvbWlzc2luZyAtLXJ1biBtYWtlaW5mbycKTUtJTlNUQUxMRElS Uz0nLi9ta2luc3RhbGxkaXJzJwpNU0dGTVQ9Jy91c3IvbG9jYWwvYmluL21zZ2ZtdCcKTVNHTUVS R0U9Jy91c3IvbG9jYWwvYmluL21zZ21lcmdlJwpOQ1VSU0VTX0xJQj0nJwpORVRfTElCUz0nJwpP QkpFWFQ9J28nClBBQ0tBR0U9J3hpbmUtdWknClBBQ0tBR0VfQlVHUkVQT1JUPScnClBBQ0tBR0Vf TkFNRT0nJwpQQUNLQUdFX1NUUklORz0nJwpQQUNLQUdFX1RBUk5BTUU9JycKUEFDS0FHRV9WRVJT SU9OPScnClBBVEhfU0VQQVJBVE9SPSc6JwpQS0dfQ09ORklHPScnClBPU1VCPSdwbycKUkFOTElC PSdyYW5saWInClJFQURMSU5FX0xPQ0FMX0NGTEFHUz0nJwpTRVRfTUFLRT0nJwpTSEVMTD0nL2Jp bi9zaCcKU1BFQ19WRVJTSU9OPScwLjkuMjInClNUQVRJQz0nJwpTVFJJUD0nc3RyaXAnClNZU0NP TkZfRElSPScnClRBUl9OQU1FPSd4aW5lLXVpLTAuOS4yMicKVEVSTUNBUF9MSUI9JycKVEhSRUFE X0NGTEFHUz0nLURfVEhSRUFEX1NBRkUnClRIUkVBRF9MSUJTPSctbGNfcicKVVNFX0lOQ0xVREVE X0xJQklOVEw9J25vJwpVU0VfTkxTPSd5ZXMnClZFUlNJT049JzAuOS4yMicKWEdFVFRFWFQ9Jy91 c3IvbG9jYWwvYmluL3hnZXR0ZXh0JwpYSU5FX0FDRkxBR1M9Jy1JIC91c3IvbG9jYWwvc2hhcmUv YWNsb2NhbCcKWElORV9CTEFDS19TVFJFQU09JycKWElORV9DRkxBR1M9JycKWElORV9DT05GSUc9 Jy91c3IvbG9jYWwvYmluL3hpbmUtY29uZmlnJwpYSU5FX0RPQ0RJUj0nJwpYSU5FX0xJQlM9JycK WElORV9MT0NBTEU9JycKWElORV9MT0dPX01STD0nJwpYSU5FX01BSk9SPScwJwpYSU5FX01JTk9S PSc5JwpYSU5FX1NDUklQVERJUj0nJwpYSU5FX1NLSU5ESVI9JycKWElORV9TUExBU0g9JycKWElO RV9TVUI9JzIyJwpYSU5FX1ZJU0RJUj0nJwpYVEVTVF9MSUJTPScnClhfQ0ZMQUdTPScnClhfRVhU UkFfTElCUz0nJwpYX0xJQlM9JycKWF9QUkVfTElCUz0nJwphY19jdF9DQz0nJwphY19jdF9SQU5M SUI9J3JhbmxpYicKYWNfY3RfU1RSSVA9J3N0cmlwJwphbV9faW5jbHVkZT0naW5jbHVkZScKYW1f X3F1b3RlPScnCmJpbmRpcj0nJHtleGVjX3ByZWZpeH0vYmluJwpidWlsZD0naTM4Ni1wb3J0Ymxk LWZyZWVic2Q1LjEnCmJ1aWxkX2FsaWFzPSdpMzg2LXBvcnRibGQtZnJlZWJzZDUuMScKYnVpbGRf Y3B1PSdpMzg2JwpidWlsZF9vcz0nZnJlZWJzZDUuMScKYnVpbGRfdmVuZG9yPSdwb3J0YmxkJwpk YXRhZGlyPScke3ByZWZpeH0vc2hhcmUnCmV4ZWNfcHJlZml4PSdOT05FJwpob3N0PSdpMzg2LXBv cnRibGQtZnJlZWJzZDUuMScKaG9zdF9hbGlhcz0naTM4Ni1wb3J0YmxkLWZyZWVic2Q1LjEnCmhv c3RfY3B1PSdpMzg2Jwpob3N0X29zPSdmcmVlYnNkNS4xJwpob3N0X3ZlbmRvcj0ncG9ydGJsZCcK aW5jbHVkZWRpcj0nJHtwcmVmaXh9L2luY2x1ZGUnCmluZm9kaXI9JyR7cHJlZml4fS9pbmZvJwpp bnN0YWxsX3NoPScvdXNyL2hvbWUvZmlsZV9zZXJ2ZXIvRnJlZUJTRC94aW5lL3dvcmsveGluZS11 aS0wLjkuMjIvaW5zdGFsbC1zaCcKbGliZGlyPScke2V4ZWNfcHJlZml4fS9saWInCmxpYmV4ZWNk aXI9JyR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMnCmxvY2Fsc3RhdGVkaXI9JyR7cHJlZml4fS92YXIn Cm1hbmRpcj0nJHtwcmVmaXh9L21hbicKb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpwcmVm aXg9Jy91c3IvWDExUjYnCnByb2dyYW1fdHJhbnNmb3JtX25hbWU9JycKc2JpbmRpcj0nJHtleGVj X3ByZWZpeH0vc2JpbicKc2hhcmVkc3RhdGVkaXI9JyR7cHJlZml4fS9jb20nCnN5c2NvbmZkaXI9 JyR7cHJlZml4fS9ldGMnCnRhcmdldD0naTM4Ni1wb3J0YmxkLWZyZWVic2Q1LjEnCnRhcmdldF9h bGlhcz0naTM4Ni1wb3J0YmxkLWZyZWVic2Q1LjEnCnRhcmdldF9jcHU9J2kzODYnCnRhcmdldF9v cz0nZnJlZWJzZDUuMScKdGFyZ2V0X3ZlbmRvcj0ncG9ydGJsZCcKCiMjIC0tLS0tLS0tLS0tICMj CiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgojZGVmaW5lIEVOQUJMRV9OTFMg MQojZGVmaW5lIEhBVkVfQUxMT0NBIDEKI2RlZmluZSBIQVZFX0RDR0VUVEVYVCAxCiNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKI2RlZmluZSBIQVZFX0ZFT0ZfVU5MT0NLRUQgMQojZGVmaW5lIEhBVkVf R0VUQ1dEIDEKI2RlZmluZSBIQVZFX0dFVENfVU5MT0NLRUQgMQojZGVmaW5lIEhBVkVfR0VURUdJ RCAxCiNkZWZpbmUgSEFWRV9HRVRFVUlEIDEKI2RlZmluZSBIQVZFX0dFVEdJRCAxCiNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCiNkZWZpbmUgSEFWRV9HRVRURVhUIDEKI2RlZmluZSBIQVZFX0dF VFVJRCAxCiNkZWZpbmUgSEFWRV9JQ09OViAxCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRN QVggMQojZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCiNkZWZpbmUgSEFWRV9MQ19NRVNT QUdFUyAxCiNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCiNkZWZpbmUgSEFWRV9MT0NBTEVfSCAxCiNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCiNkZWZpbmUgSEFWRV9NTUFQIDEKI2RlZmluZSBIQVZFX01V Tk1BUCAxCiNkZWZpbmUgSEFWRV9OTF9UWVBFU19IIDEKI2RlZmluZSBIQVZFX1BVVEVOViAxCiNk ZWZpbmUgSEFWRV9TRVRFTlYgMQojZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKI2RlZmluZSBIQVZF X1NURERFRl9IIDEKI2RlZmluZSBIQVZFX1NURElOVF9IIDEKI2RlZmluZSBIQVZFX1NURElOVF9I X1dJVEhfVUlOVE1BWCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVFBDUFkgMQojZGVm aW5lIEhBVkVfU1RSQ0FTRUNNUCAxCiNkZWZpbmUgSEFWRV9TVFJEVVAgMQojZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKI2RlZmluZSBIQVZFX1NUUklOR19IIDEKI2RlZmluZSBIQVZFX1NUUklOR19I IDEKI2RlZmluZSBIQVZFX1NUUlRPVUwgMQojZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQojZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCiNkZWZpbmUg SEFWRV9UU0VBUkNIIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9ORyAxCiNkZWZpbmUgSUNPTlZfQ09OU1QgY29uc3QKI2RlZmluZSBJTlRESVYwX1JBSVNFU19T SUdGUEUgMQojZGVmaW5lIFBBQ0tBR0UgInhpbmUtdWkiCiNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgIiIKI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgoj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgojZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgojZGVm aW5lIFNURENfSEVBREVSUyAxCiNkZWZpbmUgU1REQ19IRUFERVJTIDEKI2RlZmluZSBWRVJTSU9O ICIwLjkuMjIiCgpjb25maWd1cmU6IGV4aXQgMQo= --=====================_52938843==_--