Date: Sat, 24 Apr 2021 06:02:26 -0400 From: LuMiWa <lumiwa@dismail.de> To: freebsd-acpi@freebsd.org Subject: Re: Thinkpad T495 Message-ID: <20210424060226.25e2d945@dismail.de> In-Reply-To: <20210417154237.0a2c8350@dismail.de> References: <20210417154237.0a2c8350@dismail.de>
next in thread | previous in thread | raw e-mail | index | archive | help
--MP_/1Di51aL/Xn5O5pqkjIqKZjN Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Sat, 17 Apr 2021 15:42:37 -0400 LuMiWa <lumiwa@dismail.de> wrote: > Hi! >=20 > I have installed FreeBSD-13.0-RELEASE on Thinkpad T495 and I have a > problem with very fast battery draining. I bought used laptop but on > Windows 10 were not battery problem, than I wipe them and installed > FreeBSD-13-RC5 which was good too but now on RELEASE is battery > problem. I have the same settings as I had on RC5. >=20 > acpiconf -i 0 > Design capacity: 50450 mWh > Last full capacity: 46930 mWh > Technology: secondary (rechargeable) > Battery Swappable Capability: Non-swappable > Design voltage: 11520 mV > Capacity (warn): 2346 mWh > Capacity (low): 200 mWh > Cycle Count: 87 > Mesurement Accuracy: 95 % > Max Average Interval: 1000 ms > Min Average Interval: 500 ms > Low/warn granularity: -1 mWh > Warn/full granularity: -1 mWh > Model number: 5B10W139 > Serial number: 4773 > Type: LiP > OEM info: SMP > State: charging > Remaining capacity: 19% > Remaining time: unknown > Present rate: 43871 mW > Present voltage: 12327 mV >=20 > In /etc/rc.conf=20 > clear_tmp_enable=3D"YES" > syslogd_flags=3D"-ss" > hostname=3D"lumiwa.farm.net" > ifconfig_re1=3D"DHCP" > # ifconfig_ue0=3D"DHCP" > # wlans_iwm0=3D"wlan0" > # ifconfig_wlan0=3D"WPA DHCP" > unbound_enable=3D"YES" > unbound_anchorflags=3D"-4" > firewall_enable=3D"YES" > firewall_script=3D"/etc/ipfw.rules" > firewall_quiet=3D"YES" > firewall_logdeny=3D"YES" > firewall_logging=3D"YES" > sshd_enable=3D"NO" > # ntpdate_enable=3D"YES" > update_motd=3D"NO" > powerd_enable=3D"YES" > devfs_system_ruleset=3D"devfsrules_user" > dbus_enable=3D"YES" > webcamd_enable=3D"YES" > openntpd_enable=3D"YES" > smartd_enable=3D"YES" > sendmail_enable=3D"NO" > sendmail_outbound_enable=3D"NO" > sendmail_submit_enable=3D"YES" > sendmail_msp_queue_enable=3D"YES" > cupsd_enable=3D"YES" > clamav_clamd_enable=3D"YES" > clamav_freshclam_enable=3D"YES" > kld_list=3D"amdgpu" > # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable > dumpdev=3D"NO" > CPU information >=20 > Machine class: amd64 > CPU Model: AMD Ryzen 5 PRO 3500U w/ Radeon Vega Mobile Gfx >=20 > In /boot/loader.conf I have: > security.bsd.allow_destructive_dtrace=3D0 > cuse_load=3D"YES" > amdtemp_load=3D"YES" > # acpi_ibm_load=3D"YES" > cpuctl_load=3D"YES" > loader_logo=3D"beastie" > cc_cubic_load=3D"YES" > # machdep.hyperthreading_allowed=3D"0" >=20 > If I load acpi_ibm than I got a message: driver bug: Unable to set > devclass (class: ppc devname: (unknown)) >=20 > Sometimes when I boot a laptop I got acpi_ec0: no response to 0x 84 > acpi_ec0: GPE query filed: AE-NO-HARDWARE RESPONSE >=20 > I do not know what information will be helpful. >=20 > Thank you. >=20 >=20 I attached acpidump -t if help. Thank you. --=20 =E2=80=9CWe live in a world where there is more and more information, and l= ess and less meaning.=E2=80=9D Jean Baudrillard --MP_/1Di51aL/Xn5O5pqkjIqKZjN Content-Type: application/octet-stream; name=my.acpi Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=my.acpi LyoKICBSU0QgUFRSOiBPRU09TEVOT1ZPLCBBQ1BJX1Jldj0yLjB4ICgyKQoJWFNEVD0weDAwMDAw MDAwYmQ3ZmIxODgsIGxlbmd0aD0zNiwgY2tzdW09MTAzCiAqLwovKgogIFhTRFQ6IExlbmd0aD0y MjAsIFJldmlzaW9uPTEsIENoZWNrc3VtPTE3NCwKCU9FTUlEPUxFTk9WTywgT0VNIFRhYmxlIElE PVRQLVIxMiwgT0VNIFJldmlzaW9uPTB4MTE5MCwKCUNyZWF0b3IgSUQ9UFRFQywgQ3JlYXRvciBS ZXZpc2lvbj0weDIKCUVudHJpZXM9eyAweDAwMDAwMDAwYmFiZmIwMDAsIDB4MDAwMDAwMDBiYzAz ZDAwMCwgMHgwMDAwMDAwMGJjMDM3MDAwLCAweDAwMDAwMDAwYmMwMDcwMDAsIDB4MDAwMDAwMDBi YzAwNjAwMCwgMHgwMDAwMDAwMGJjMDA1MDAwLCAweDAwMDAwMDAwYmJmZTAwMDAsIDB4MDAwMDAw MDBiYmUwMzAwMCwgMHgwMDAwMDAwMGJiZTAyMDAwLCAweDAwMDAwMDAwYmFiZmEwMDAsIDB4MDAw MDAwMDBiYWJmOTAwMCwgMHgwMDAwMDAwMGJhYmY4MDAwLCAweDAwMDAwMDAwYmFiZjcwMDAsIDB4 MDAwMDAwMDBiYWJmNjAwMCwgMHgwMDAwMDAwMGJhYmU3MDAwLCAweDAwMDAwMDAwYmFiZTUwMDAs IDB4MDAwMDAwMDBiYWJlNDAwMCwgMHgwMDAwMDAwMGJhYmUzMDAwLCAweDAwMDAwMDAwYmFiZTIw MDAsIDB4MDAwMDAwMDBiYWJkYzAwMCwgMHgwMDAwMDAwMGJhYmRhMDAwLCAweDAwMDAwMDAwYmFi ZDcwMDAsIDB4MDAwMDAwMDBiZDY5NzAwMCB9CiAqLwovKgogIEZBQ1A6IExlbmd0aD0yNjgsIFJl dmlzaW9uPTUsIENoZWNrc3VtPTEwMiwKCU9FTUlEPUxFTk9WTywgT0VNIFRhYmxlIElEPVRQLVIx MiwgT0VNIFJldmlzaW9uPTB4MTE5MCwKCUNyZWF0b3IgSUQ9UFRFQywgQ3JlYXRvciBSZXZpc2lv bj0weDIKIAlGQUNTPTB4YmQ2OTgwMDAsIERTRFQ9MHhiYWJlODAwMAoJSU5UX01PREVMPUFQSUMK CVByZWZlcnJlZF9QTV9Qcm9maWxlPU1vYmlsZSAoMikKCVNDSV9JTlQ9OQoJU01JX0NNRD0weGIy LCBBQ1BJX0VOQUJMRT0weGEwLCBBQ1BJX0RJU0FCTEU9MHhhMSwgUzRCSU9TX1JFUT0weDAKCVBT VEFURV9DTlQ9MHgwCglQTTFhX0VWVF9CTEs9MHg0MDAtMHg0MDMKCVBNMWFfQ05UX0JMSz0weDQw NC0weDQwNQoJUE1fVE1SX0JMSz0weDQwOC0weDQwYgoJR1BFMF9CTEs9MHg0MjAtMHg0MjcKCVBf TFZMMl9MQVQ9MTAxIHVzLCBQX0xWTDNfTEFUPTEwMDEgdXMKCUZMVVNIX1NJWkU9MCwgRkxVU0hf U1RSSURFPTAKCURVVFlfT0ZGU0VUPTEsIERVVFlfV0lEVEg9MAoJREFZX0FMUk09MTMsIE1PTl9B TFJNPTAsIENFTlRVUlk9NTAKCUlBUENfQk9PVF9BUkNIPXtMRUdBQ1lfREVWSUNFUyw4MDQyLE5P X0FTUE19CglGbGFncz17V0JJTlZELEMxX1NVUFBPUlRFRCxDMl9NUF9TVVBQT1JURUQsU0xFRVBf QlVUVE9OLFM0X1JUQ19XQUtFLDMyQklUX1RJTUVSLFJFU0VUX1JFR0lTVEVSLFBDSV9FWFBSRVNT X1dBS0UsUExBVEZPUk1fQ0xPQ0t9CglSRVNFVF9SRUc9MHhjZjk6MFs4XSAoSU8pLCBSRVNFVF9W QUxVRT0weDYKICovCi8qCiAgRkFDUzoJTGVuZ3RoPTY0LCBId1NpZz0weDAwMDAzMzIyLCBGaXJt X1dha2VfVmVjPTB4MDAwMDAwMDAKCUdsb2JhbF9Mb2NrPQoJRmxhZ3M9CglWZXJzaW9uPTEKICov Ci8qCiAgRFNEVDogTGVuZ3RoPTU2NTI4LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xNTQsCglPRU1J RD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIsIE9FTSBSZXZpc2lvbj0weDExOTAsCglDcmVh dG9yIElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249MHgyMDEyMDcxMQogKi8KLyoKICBTU0RUOiBM ZW5ndGg9MzI4NiwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTUzLAoJT0VNSUQ9TEVOT1ZPLCBPRU0g VGFibGUgSUQ9VXNiQ1RhYmwsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9yIElEPUlOVEwsIENy ZWF0b3IgUmV2aXNpb249MHgyMDEyMDcxMQogKi8KLyoKICBTU0RUOiBMZW5ndGg9MjE1MjksIFJl dmlzaW9uPTIsIENoZWNrc3VtPTcsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIs IE9FTSBSZXZpc2lvbj0weDIsCglDcmVhdG9yIElEPU1TRlQsIENyZWF0b3IgUmV2aXNpb249MHgy MDAwMDAyCiAqLwovKgogIFNTRFQ6IExlbmd0aD0xNjE3LCBSZXZpc2lvbj0yLCBDaGVja3N1bT0x ODcsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UcG0yVGFibCwgT0VNIFJldmlzaW9uPTB4 MTAwMCwKCUNyZWF0b3IgSUQ9SU5UTCwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTIwNzExCiAqLwov KgogIFRQTTI6IExlbmd0aD01MiwgUmV2aXNpb249MywgQ2hlY2tzdW09NTYsCglPRU1JRD1MRU5P Vk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIsIE9FTSBSZXZpc2lvbj0weDExOTAsCglDcmVhdG9yIElE PVBURUMsIENyZWF0b3IgUmV2aXNpb249MHgyCgkJQ29udHJvbEFyZWE9MAoJCVN0YXJ0TWV0aG9k PTYKICovCi8qCiAgU1NEVDogTGVuZ3RoPTIzNDAsIFJldmlzaW9uPTEsIENoZWNrc3VtPTk2LAoJ T0VNSUQ9TEVOT1ZPLCBPRU0gVGFibGUgSUQ9V21pVGFibGUsIE9FTSBSZXZpc2lvbj0weDEsCglD cmVhdG9yIElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249MHgyMDEyMDcxMQogKi8KLyoKICBNU0RN OiBMZW5ndGg9ODUsIFJldmlzaW9uPTMsIENoZWNrc3VtPTE0MywKCU9FTUlEPUxFTk9WTywgT0VN IFRhYmxlIElEPVRQLVIxMiwgT0VNIFJldmlzaW9uPTB4MTE5MCwKCUNyZWF0b3IgSUQ9UFRFQywg Q3JlYXRvciBSZXZpc2lvbj0weDIKICovCi8qCiAgU0xJQzogTGVuZ3RoPTM3NCwgUmV2aXNpb249 MSwgQ2hlY2tzdW09OTYsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIsIE9FTSBS ZXZpc2lvbj0weDExOTAsCglDcmVhdG9yIElEPVBURUMsIENyZWF0b3IgUmV2aXNpb249MHgyCiAq LwovKgogIEJBVEI6IExlbmd0aD03NCwgUmV2aXNpb249MiwgQ2hlY2tzdW09MjA4LAoJT0VNSUQ9 TEVOT1ZPLCBPRU0gVGFibGUgSUQ9VFAtUjEyLCBPRU0gUmV2aXNpb249MHgxMTkwLAoJQ3JlYXRv ciBJRD1QVEVDLCBDcmVhdG9yIFJldmlzaW9uPTB4MgogKi8KLyoKICBIUEVUOiBMZW5ndGg9NTYs IFJldmlzaW9uPTEsIENoZWNrc3VtPTI2LAoJT0VNSUQ9TEVOT1ZPLCBPRU0gVGFibGUgSUQ9VFAt UjEyLCBPRU0gUmV2aXNpb249MHgxMTkwLAoJQ3JlYXRvciBJRD1QVEVDLCBDcmVhdG9yIFJldmlz aW9uPTB4MgoJSFBFVCBOdW1iZXI9MgoJQUREUj0weDAwMDAwMDAwZmVkMDAwMDA6MFs4XSAoTWVt b3J5KQoJSFcgUmV2PTB4MTAKCUNvbXBhcmF0b3JzPTIKCUNvdW50ZXIgU2l6ZT0wCglMZWdhY3kg SVJRIHJvdXRpbmcgY2FwYWJsZT17VFJVRX0KCVBDSSBWZW5kb3IgSUQ9MHg0MzUzCglNaW5pbWFs IFRpY2s9MjAKCUZsYWdzPTB4MDAKICovCi8qCiAgQVBJQzogTGVuZ3RoPTMxMiwgUmV2aXNpb249 MiwgQ2hlY2tzdW09NTUsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIsIE9FTSBS ZXZpc2lvbj0weDExOTAsCglDcmVhdG9yIElEPVBURUMsIENyZWF0b3IgUmV2aXNpb249MHgyCglM b2NhbCBBUElDIEFERFI9MHhmZWUwMDAwMAoJRmxhZ3M9e1BDLUFUfQoKCVR5cGU9TG9jYWwgQVBJ QwoJQUNQSSBDUFU9MAoJRmxhZ3M9e0VOQUJMRUR9CglBUElDIElEPTAKCglUeXBlPUxvY2FsIEFQ SUMKCUFDUEkgQ1BVPTEKCUZsYWdzPXtFTkFCTEVEfQoJQVBJQyBJRD0xCgoJVHlwZT1Mb2NhbCBB UElDCglBQ1BJIENQVT0yCglGbGFncz17RU5BQkxFRH0KCUFQSUMgSUQ9MgoKCVR5cGU9TG9jYWwg QVBJQwoJQUNQSSBDUFU9MwoJRmxhZ3M9e0VOQUJMRUR9CglBUElDIElEPTMKCglUeXBlPUxvY2Fs IEFQSUMKCUFDUEkgQ1BVPTQKCUZsYWdzPXtFTkFCTEVEfQoJQVBJQyBJRD00CgoJVHlwZT1Mb2Nh bCBBUElDCglBQ1BJIENQVT01CglGbGFncz17RU5BQkxFRH0KCUFQSUMgSUQ9NQoKCVR5cGU9TG9j YWwgQVBJQwoJQUNQSSBDUFU9NgoJRmxhZ3M9e0VOQUJMRUR9CglBUElDIElEPTYKCglUeXBlPUxv Y2FsIEFQSUMKCUFDUEkgQ1BVPTcKCUZsYWdzPXtFTkFCTEVEfQoJQVBJQyBJRD03CgoJVHlwZT1M b2NhbCBBUElDCglBQ1BJIENQVT04CglGbGFncz17RElTQUJMRUR9CglBUElDIElEPTgKCglUeXBl PUxvY2FsIEFQSUMKCUFDUEkgQ1BVPTkKCUZsYWdzPXtESVNBQkxFRH0KCUFQSUMgSUQ9OQoKCVR5 cGU9TG9jYWwgQVBJQwoJQUNQSSBDUFU9MTAKCUZsYWdzPXtESVNBQkxFRH0KCUFQSUMgSUQ9MTAK CglUeXBlPUxvY2FsIEFQSUMKCUFDUEkgQ1BVPTExCglGbGFncz17RElTQUJMRUR9CglBUElDIElE PTExCgoJVHlwZT1Mb2NhbCBBUElDCglBQ1BJIENQVT0xMgoJRmxhZ3M9e0RJU0FCTEVEfQoJQVBJ QyBJRD0xMgoKCVR5cGU9TG9jYWwgQVBJQwoJQUNQSSBDUFU9MTMKCUZsYWdzPXtESVNBQkxFRH0K CUFQSUMgSUQ9MTMKCglUeXBlPUxvY2FsIEFQSUMKCUFDUEkgQ1BVPTE0CglGbGFncz17RElTQUJM RUR9CglBUElDIElEPTE0CgoJVHlwZT1Mb2NhbCBBUElDCglBQ1BJIENQVT0xNQoJRmxhZ3M9e0RJ U0FCTEVEfQoJQVBJQyBJRD0xNQoKCVR5cGU9SU8gQVBJQwoJQVBJQyBJRD0zMgoJSU5UIEJBU0U9 MAoJQUREUj0weDAwMDAwMDAwZmVjMDAwMDAKCglUeXBlPUlPIEFQSUMKCUFQSUMgSUQ9MzMKCUlO VCBCQVNFPTI0CglBRERSPTB4MDAwMDAwMDBmZWMwMTAwMAoKCVR5cGU9SU5UIE92ZXJyaWRlCglC VVM9MAoJSVJRPTAKCUlOVFI9MgoJRmxhZ3M9e1BvbGFyaXR5PWNvbmZvcm1pbmcsIFRyaWdnZXI9 Y29uZm9ybWluZ30KCglUeXBlPUlOVCBPdmVycmlkZQoJQlVTPTAKCUlSUT05CglJTlRSPTkKCUZs YWdzPXtQb2xhcml0eT1hY3RpdmUtbG8sIFRyaWdnZXI9bGV2ZWx9CgoJVHlwZT1Mb2NhbCBBUElD IE5NSQoJQUNQSSBDUFU9MAoJTElOVCBQaW49MQoJRmxhZ3M9e1BvbGFyaXR5PWFjdGl2ZS1oaSwg VHJpZ2dlcj1lZGdlfQoKCVR5cGU9TG9jYWwgQVBJQyBOTUkKCUFDUEkgQ1BVPTEKCUxJTlQgUGlu PTEKCUZsYWdzPXtQb2xhcml0eT1hY3RpdmUtaGksIFRyaWdnZXI9ZWRnZX0KCglUeXBlPUxvY2Fs IEFQSUMgTk1JCglBQ1BJIENQVT0yCglMSU5UIFBpbj0xCglGbGFncz17UG9sYXJpdHk9YWN0aXZl LWhpLCBUcmlnZ2VyPWVkZ2V9CgoJVHlwZT1Mb2NhbCBBUElDIE5NSQoJQUNQSSBDUFU9MwoJTElO VCBQaW49MQoJRmxhZ3M9e1BvbGFyaXR5PWFjdGl2ZS1oaSwgVHJpZ2dlcj1lZGdlfQoKCVR5cGU9 TG9jYWwgQVBJQyBOTUkKCUFDUEkgQ1BVPTQKCUxJTlQgUGluPTEKCUZsYWdzPXtQb2xhcml0eT1h Y3RpdmUtaGksIFRyaWdnZXI9ZWRnZX0KCglUeXBlPUxvY2FsIEFQSUMgTk1JCglBQ1BJIENQVT01 CglMSU5UIFBpbj0xCglGbGFncz17UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWVkZ2V9CgoJ VHlwZT1Mb2NhbCBBUElDIE5NSQoJQUNQSSBDUFU9NgoJTElOVCBQaW49MQoJRmxhZ3M9e1BvbGFy aXR5PWFjdGl2ZS1oaSwgVHJpZ2dlcj1lZGdlfQoKCVR5cGU9TG9jYWwgQVBJQyBOTUkKCUFDUEkg Q1BVPTcKCUxJTlQgUGluPTEKCUZsYWdzPXtQb2xhcml0eT1hY3RpdmUtaGksIFRyaWdnZXI9ZWRn ZX0KCglUeXBlPUxvY2FsIEFQSUMgTk1JCglBQ1BJIENQVT04CglMSU5UIFBpbj0xCglGbGFncz17 UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWVkZ2V9CgoJVHlwZT1Mb2NhbCBBUElDIE5NSQoJ QUNQSSBDUFU9OQoJTElOVCBQaW49MQoJRmxhZ3M9e1BvbGFyaXR5PWFjdGl2ZS1oaSwgVHJpZ2dl cj1lZGdlfQoKCVR5cGU9TG9jYWwgQVBJQyBOTUkKCUFDUEkgQ1BVPTEwCglMSU5UIFBpbj0xCglG bGFncz17UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWVkZ2V9CgoJVHlwZT1Mb2NhbCBBUElD IE5NSQoJQUNQSSBDUFU9MTEKCUxJTlQgUGluPTEKCUZsYWdzPXtQb2xhcml0eT1hY3RpdmUtaGks IFRyaWdnZXI9ZWRnZX0KCglUeXBlPUxvY2FsIEFQSUMgTk1JCglBQ1BJIENQVT0xMgoJTElOVCBQ aW49MQoJRmxhZ3M9e1BvbGFyaXR5PWFjdGl2ZS1oaSwgVHJpZ2dlcj1lZGdlfQoKCVR5cGU9TG9j YWwgQVBJQyBOTUkKCUFDUEkgQ1BVPTEzCglMSU5UIFBpbj0xCglGbGFncz17UG9sYXJpdHk9YWN0 aXZlLWhpLCBUcmlnZ2VyPWVkZ2V9CgoJVHlwZT1Mb2NhbCBBUElDIE5NSQoJQUNQSSBDUFU9MTQK CUxJTlQgUGluPTEKCUZsYWdzPXtQb2xhcml0eT1hY3RpdmUtaGksIFRyaWdnZXI9ZWRnZX0KCglU eXBlPUxvY2FsIEFQSUMgTk1JCglBQ1BJIENQVT0xNQoJTElOVCBQaW49MQoJRmxhZ3M9e1BvbGFy aXR5PWFjdGl2ZS1oaSwgVHJpZ2dlcj1lZGdlfQogKi8KLyoKICBNQ0ZHOiBMZW5ndGg9NjAsIFJl dmlzaW9uPTEsIENoZWNrc3VtPTcsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIs IE9FTSBSZXZpc2lvbj0weDExOTAsCglDcmVhdG9yIElEPVBURUMsIENyZWF0b3IgUmV2aXNpb249 MHgyCgoJQmFzZSBBZGRyZXNzPTB4MDAwMDAwMDBmODAwMDAwMAoJU2VnbWVudCBHcm91cD0weDAw MDAKCVN0YXJ0IEJ1cz0wCglFbmQgQnVzPTYzCiAqLwovKgogIFNCU1Q6IExlbmd0aD00OCwgUmV2 aXNpb249MSwgQ2hlY2tzdW09NDMsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIs IE9FTSBSZXZpc2lvbj0weDExOTAsCglDcmVhdG9yIElEPVBURUMsIENyZWF0b3IgUmV2aXNpb249 MHgyCiAqLwovKgogIFdTTVQ6IExlbmd0aD00MCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MjksCglP RU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIsIE9FTSBSZXZpc2lvbj0weDExOTAsCglD cmVhdG9yIElEPVBURUMsIENyZWF0b3IgUmV2aXNpb249MHgyCiAqLwovKgogIElWUlM6IExlbmd0 aD0zMTgsIFJldmlzaW9uPTIsIENoZWNrc3VtPTgwLAoJT0VNSUQ9TEVOT1ZPLCBPRU0gVGFibGUg SUQ9VFAtUjEyLCBPRU0gUmV2aXNpb249MHgxMTkwLAoJQ3JlYXRvciBJRD1QVEVDLCBDcmVhdG9y IFJldmlzaW9uPTB4MgogKi8KLyoKICBTU0RUOiBMZW5ndGg9NDUwOCwgUmV2aXNpb249MSwgQ2hl Y2tzdW09OTEsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIsIE9FTSBSZXZpc2lv bj0weDEsCglDcmVhdG9yIElEPUFNRCwgQ3JlYXRvciBSZXZpc2lvbj0weDEKICovCi8qCiAgQ1JB VDogTGVuZ3RoPTIwNjQsIFJldmlzaW9uPTEsIENoZWNrc3VtPTE3NiwKCU9FTUlEPUxFTk9WTywg T0VNIFRhYmxlIElEPVRQLVIxMiwgT0VNIFJldmlzaW9uPTB4MTE5MCwKCUNyZWF0b3IgSUQ9UFRF QywgQ3JlYXRvciBSZXZpc2lvbj0weDIKICovCi8qCiAgQ0RJVDogTGVuZ3RoPTQxLCBSZXZpc2lv bj0xLCBDaGVja3N1bT02MywKCU9FTUlEPUxFTk9WTywgT0VNIFRhYmxlIElEPVRQLVIxMiwgT0VN IFJldmlzaW9uPTB4MTE5MCwKCUNyZWF0b3IgSUQ9UFRFQywgQ3JlYXRvciBSZXZpc2lvbj0weDIK ICovCi8qCiAgRlBEVDogTGVuZ3RoPTUyLCBSZXZpc2lvbj0xLCBDaGVja3N1bT0yMjYsCglPRU1J RD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIsIE9FTSBSZXZpc2lvbj0weDExOTAsCglDcmVh dG9yIElEPVBURUMsIENyZWF0b3IgUmV2aXNpb249MHgyCiAqLwovKgogIFNTRFQ6IExlbmd0aD0z MTY1LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xNTQsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJ RD1UUC1SMTIsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9yIElEPUlOVEwsIENyZWF0b3IgUmV2 aXNpb249MHgyMDEyMDcxMQogKi8KLyoKICBTU0RUOiBMZW5ndGg9NDQwNCwgUmV2aXNpb249MSwg Q2hlY2tzdW09MjIsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIsIE9FTSBSZXZp c2lvbj0weDEsCglDcmVhdG9yIElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249MHgyMDEyMDcxMQog Ki8KLyoKICBTU0RUOiBMZW5ndGg9NzYyOCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MjMsCglPRU1J RD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1SMTIsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9y IElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249MHgyMDEyMDcxMQogKi8KLyoKICBVRUZJOiBMZW5n dGg9Mjk4LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xNDEsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJs ZSBJRD1UUC1SMTIsIE9FTSBSZXZpc2lvbj0weDExOTAsCglDcmVhdG9yIElEPVBURUMsIENyZWF0 b3IgUmV2aXNpb249MHgyCiAqLwovKgogKiBJbnRlbCBBQ1BJIENvbXBvbmVudCBBcmNoaXRlY3R1 cmUKICogQU1ML0FTTCsgRGlzYXNzZW1ibGVyIHZlcnNpb24gMjAyMDExMTMgKDY0LWJpdCB2ZXJz aW9uKQogKiBDb3B5cmlnaHQgKGMpIDIwMDAgLSAyMDIwIEludGVsIENvcnBvcmF0aW9uCiAqIAog KiBEaXNhc3NlbWJsaW5nIHRvIHN5bWJvbGljIEFTTCsgb3BlcmF0b3JzCiAqCiAqIERpc2Fzc2Vt Ymx5IG9mIC90bXAvYWNwaWR1bXAuYkRNYlA3L2FjcGR1bXAuZGluLCBTYXQgQXByIDI0IDA1OjU3 OjE0IDIwMjEKICoKICogT3JpZ2luYWwgVGFibGUgSGVhZGVyOgogKiAgICAgU2lnbmF0dXJlICAg ICAgICAiRFNEVCIKICogICAgIExlbmd0aCAgICAgICAgICAgMHgwMDAxOTkwRCAoMTA0NzE3KQog KiAgICAgUmV2aXNpb24gICAgICAgICAweDAxICoqKiogMzItYml0IHRhYmxlIChWMSksIG5vIDY0 LWJpdCBtYXRoIHN1cHBvcnQKICogICAgIENoZWNrc3VtICAgICAgICAgMHgzRAogKiAgICAgT0VN IElEICAgICAgICAgICAiTEVOT1ZPIgogKiAgICAgT0VNIFRhYmxlIElEICAgICAiVFAtUjEyICAi CiAqICAgICBPRU0gUmV2aXNpb24gICAgIDB4MDAwMDExOTAgKDQ0OTYpCiAqICAgICBDb21waWxl ciBJRCAgICAgICJJTlRMIgogKiAgICAgQ29tcGlsZXIgVmVyc2lvbiAweDIwMTIwNzExICg1Mzgw NTIzNjkpCiAqLwpEZWZpbml0aW9uQmxvY2sgKCIiLCAiRFNEVCIsIDEsICJMRU5PVk8iLCAiVFAt UjEyICAiLCAweDAwMDAxMTkwKQp7CiAgICAvKgogICAgICogaUFTTCBXYXJuaW5nOiBUaGVyZSB3 ZXJlIDI4IGV4dGVybmFsIGNvbnRyb2wgbWV0aG9kcyBmb3VuZCBkdXJpbmcKICAgICAqIGRpc2Fz c2VtYmx5LCBidXQgb25seSAwIHdlcmUgcmVzb2x2ZWQgKDI4IHVucmVzb2x2ZWQpLiBBZGRpdGlv bmFsCiAgICAgKiBBQ1BJIHRhYmxlcyBtYXkgYmUgcmVxdWlyZWQgdG8gcHJvcGVybHkgZGlzYXNz ZW1ibGUgdGhlIGNvZGUuIFRoaXMKICAgICAqIHJlc3VsdGluZyBkaXNhc3NlbWJsZXIgb3V0cHV0 IGZpbGUgbWF5IG5vdCBjb21waWxlIGJlY2F1c2UgdGhlCiAgICAgKiBkaXNhc3NlbWJsZXIgZGlk IG5vdCBrbm93IGhvdyBtYW55IGFyZ3VtZW50cyB0byBhc3NpZ24gdG8gdGhlCiAgICAgKiB1bnJl c29sdmVkIG1ldGhvZHMuIE5vdGU6IFNTRFRzIGNhbiBiZSBkeW5hbWljYWxseSBsb2FkZWQgYXQK ICAgICAqIHJ1bnRpbWUgYW5kIG1heSBvciBtYXkgbm90IGJlIGF2YWlsYWJsZSB2aWEgdGhlIGhv c3QgT1MuCiAgICAgKgogICAgICogVG8gc3BlY2lmeSB0aGUgdGFibGVzIG5lZWRlZCB0byByZXNv bHZlIGV4dGVybmFsIGNvbnRyb2wgbWV0aG9kCiAgICAgKiByZWZlcmVuY2VzLCB0aGUgLWUgb3B0 aW9uIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIGZpbGVuYW1lcy4KICAgICAqIEV4YW1wbGUg aUFTTCBpbnZvY2F0aW9uczoKICAgICAqICAgICBpYXNsIC1lIHNzZHQxLmFtbCBzc2R0Mi5hbWwg c3NkdDMuYW1sIC1kIGRzZHQuYW1sCiAgICAgKiAgICAgaWFzbCAtZSBkc2R0LmFtbCBzc2R0Mi5h bWwgLWQgc3NkdDEuYW1sCiAgICAgKiAgICAgaWFzbCAtZSBzc2R0Ki5hbWwgLWQgZHNkdC5hbWwK ICAgICAqCiAgICAgKiBJbiBhZGRpdGlvbiwgdGhlIC1mZSBvcHRpb24gY2FuIGJlIHVzZWQgdG8g c3BlY2lmeSBhIGZpbGUgY29udGFpbmluZwogICAgICogY29udHJvbCBtZXRob2QgZXh0ZXJuYWwg ZGVjbGFyYXRpb25zIHdpdGggdGhlIGFzc29jaWF0ZWQgbWV0aG9kCiAgICAgKiBhcmd1bWVudCBj b3VudHMuIEVhY2ggbGluZSBvZiB0aGUgZmlsZSBtdXN0IGJlIG9mIHRoZSBmb3JtOgogICAgICog ICAgIEV4dGVybmFsICg8bWV0aG9kIHBhdGhuYW1lPiwgTWV0aG9kT2JqLCA8YXJndW1lbnQgY291 bnQ+KQogICAgICogSW52b2NhdGlvbjoKICAgICAqICAgICBpYXNsIC1mZSByZWZzLnR4dCAtZCBk c2R0LmFtbAogICAgICoKICAgICAqIFRoZSBmb2xsb3dpbmcgbWV0aG9kcyB3ZXJlIHVucmVzb2x2 ZWQgYW5kIG1hbnkgbm90IGNvbXBpbGUgcHJvcGVybHkKICAgICAqIGJlY2F1c2UgdGhlIGRpc2Fz c2VtYmxlciBoYWQgdG8gZ3Vlc3MgYXQgdGhlIG51bWJlciBvZiBhcmd1bWVudHMKICAgICAqIHJl cXVpcmVkIGZvciBlYWNoOgogICAgICovCiAgICBFeHRlcm5hbCAoX1NCXy5NMjYzLCBNZXRob2RP YmopICAgIC8vIFdhcm5pbmc6IFVua25vd24gbWV0aG9kLCBndWVzc2luZyAxIGFyZ3VtZW50cwog ICAgRXh0ZXJuYWwgKF9TQl8uTTI2NCwgTWV0aG9kT2JqKSAgICAvLyBXYXJuaW5nOiBVbmtub3du IG1ldGhvZCwgZ3Vlc3NpbmcgMSBhcmd1bWVudHMKICAgIEV4dGVybmFsIChfU0JfLk0yODQsIE1l dGhvZE9iaikgICAgLy8gV2FybmluZzogVW5rbm93biBtZXRob2QsIGd1ZXNzaW5nIDEgYXJndW1l bnRzCiAgICBFeHRlcm5hbCAoX1NCXy5QQ0kwLkdQMTguU0FUQS5UUFRTLCBNZXRob2RPYmopICAg IC8vIFdhcm5pbmc6IFVua25vd24gbWV0aG9kLCBndWVzc2luZyAxIGFyZ3VtZW50cwogICAgRXh0 ZXJuYWwgKF9TQl8uUENJMC5HUDE4LlNBVEEuVFdBSywgTWV0aG9kT2JqKSAgICAvLyBXYXJuaW5n OiBVbmtub3duIG1ldGhvZCwgZ3Vlc3NpbmcgMSBhcmd1bWVudHMKICAgIEV4dGVybmFsIChfU0Jf LlBDSTAuUEIyXy5TV1VTLlNXRFMuVkdBXy5BRk4wLCBNZXRob2RPYmopICAgIC8vIFdhcm5pbmc6 IFVua25vd24gbWV0aG9kLCBndWVzc2luZyAwIGFyZ3VtZW50cwogICAgRXh0ZXJuYWwgKF9TQl8u UENJMC5QQjJfLlNXVVMuU1dEUy5WR0FfLkFGTjEsIE1ldGhvZE9iaikgICAgLy8gV2FybmluZzog VW5rbm93biBtZXRob2QsIGd1ZXNzaW5nIDEgYXJndW1lbnRzCiAgICBFeHRlcm5hbCAoX1NCXy5Q Q0kwLlBCMl8uU1dVUy5TV0RTLlZHQV8uQUZOMiwgTWV0aG9kT2JqKSAgICAvLyBXYXJuaW5nOiBV bmtub3duIG1ldGhvZCwgZ3Vlc3NpbmcgMiBhcmd1bWVudHMKICAgIEV4dGVybmFsIChfU0JfLlBD STAuUEIyXy5TV1VTLlNXRFMuVkdBXy5BRk4zLCBNZXRob2RPYmopICAgIC8vIFdhcm5pbmc6IFVu a25vd24gbWV0aG9kLCBndWVzc2luZyAyIGFyZ3VtZW50cwogICAgRXh0ZXJuYWwgKF9TQl8uUENJ MC5QQjJfLlNXVVMuU1dEUy5WR0FfLkFGTjQsIE1ldGhvZE9iaikgICAgLy8gV2FybmluZzogVW5r bm93biBtZXRob2QsIGd1ZXNzaW5nIDEgYXJndW1lbnRzCiAgICBFeHRlcm5hbCAoX1NCXy5QQ0kw LlBCMl8uU1dVUy5TV0RTLlZHQV8uQUZONSwgTWV0aG9kT2JqKSAgICAvLyBXYXJuaW5nOiBVbmtu b3duIG1ldGhvZCwgZ3Vlc3NpbmcgMCBhcmd1bWVudHMKICAgIEV4dGVybmFsIChfU0JfLlBDSTAu UEIyXy5TV1VTLlNXRFMuVkdBXy5BRk42LCBNZXRob2RPYmopICAgIC8vIFdhcm5pbmc6IFVua25v d24gbWV0aG9kLCBndWVzc2luZyAwIGFyZ3VtZW50cwogICAgRXh0ZXJuYWwgKF9TQl8uUENJMC5Q QjJfLlNXVVMuU1dEUy5WR0FfLkFGTjcsIE1ldGhvZE9iaikgICAgLy8gV2FybmluZzogVW5rbm93 biBtZXRob2QsIGd1ZXNzaW5nIDEgYXJndW1lbnRzCiAgICBFeHRlcm5hbCAoX1NCXy5QQ0kwLlBC Ml8uU1dVUy5TV0RTLlZHQV8uQUZOOCwgTWV0aG9kT2JqKSAgICAvLyBXYXJuaW5nOiBVbmtub3du IG1ldGhvZCwgZ3Vlc3NpbmcgMCBhcmd1bWVudHMKICAgIEV4dGVybmFsIChfU0JfLlBDSTAuUEIy Xy5TV1VTLlNXRFMuVkdBXy5BRk5DLCBNZXRob2RPYmopICAgIC8vIFdhcm5pbmc6IFVua25vd24g bWV0aG9kLCBndWVzc2luZyAyIGFyZ3VtZW50cwogICAgRXh0ZXJuYWwgKF9TQl8uUENJMC5QQjJf LlZHQV8uQUZOMCwgTWV0aG9kT2JqKSAgICAvLyBXYXJuaW5nOiBVbmtub3duIG1ldGhvZCwgZ3Vl c3NpbmcgMCBhcmd1bWVudHMKICAgIEV4dGVybmFsIChfU0JfLlBDSTAuUEIyXy5WR0FfLkFGTjEs IE1ldGhvZE9iaikgICAgLy8gV2FybmluZzogVW5rbm93biBtZXRob2QsIGd1ZXNzaW5nIDEgYXJn dW1lbnRzCiAgICBFeHRlcm5hbCAoX1NCXy5QQ0kwLlBCMl8uVkdBXy5BRk4yLCBNZXRob2RPYmop ICAgIC8vIFdhcm5pbmc6IFVua25vd24gbWV0aG9kLCBndWVzc2luZyAyIGFyZ3VtZW50cwogICAg RXh0ZXJuYWwgKF9TQl8uUENJMC5QQjJfLlZHQV8uQUZOMywgTWV0aG9kT2JqKSAgICAvLyBXYXJu aW5nOiBVbmtub3duIG1ldGhvZCwgZ3Vlc3NpbmcgMiBhcmd1bWVudHMKICAgIEV4dGVybmFsIChf U0JfLlBDSTAuUEIyXy5WR0FfLkFGTjQsIE1ldGhvZE9iaikgICAgLy8gV2FybmluZzogVW5rbm93 biBtZXRob2QsIGd1ZXNzaW5nIDEgYXJndW1lbnRzCiAgICBFeHRlcm5hbCAoX1NCXy5QQ0kwLlBC Ml8uVkdBXy5BRk41LCBNZXRob2RPYmopICAgIC8vIFdhcm5pbmc6IFVua25vd24gbWV0aG9kLCBn dWVzc2luZyAwIGFyZ3VtZW50cwogICAgRXh0ZXJuYWwgKF9TQl8uUENJMC5QQjJfLlZHQV8uQUZO NiwgTWV0aG9kT2JqKSAgICAvLyBXYXJuaW5nOiBVbmtub3duIG1ldGhvZCwgZ3Vlc3NpbmcgMCBh cmd1bWVudHMKICAgIEV4dGVybmFsIChfU0JfLlBDSTAuUEIyXy5WR0FfLkFGTjcsIE1ldGhvZE9i aikgICAgLy8gV2FybmluZzogVW5rbm93biBtZXRob2QsIGd1ZXNzaW5nIDEgYXJndW1lbnRzCiAg ICBFeHRlcm5hbCAoX1NCXy5QQ0kwLlBCMl8uVkdBXy5BRk44LCBNZXRob2RPYmopICAgIC8vIFdh cm5pbmc6IFVua25vd24gbWV0aG9kLCBndWVzc2luZyAwIGFyZ3VtZW50cwogICAgRXh0ZXJuYWwg KF9TQl8uUENJMC5QQjJfLlZHQV8uQUZOQywgTWV0aG9kT2JqKSAgICAvLyBXYXJuaW5nOiBVbmtu b3duIG1ldGhvZCwgZ3Vlc3NpbmcgMiBhcmd1bWVudHMKICAgIEV4dGVybmFsIChfU0JfLlBDSTAu U0FUQS5UUFRTLCBNZXRob2RPYmopICAgIC8vIFdhcm5pbmc6IFVua25vd24gbWV0aG9kLCBndWVz c2luZyAxIGFyZ3VtZW50cwogICAgRXh0ZXJuYWwgKF9TQl8uUENJMC5TQVRBLlRXQUssIE1ldGhv ZE9iaikgICAgLy8gV2FybmluZzogVW5rbm93biBtZXRob2QsIGd1ZXNzaW5nIDEgYXJndW1lbnRz CiAgICBFeHRlcm5hbCAoTTAzOCwgSW50T2JqKQogICAgRXh0ZXJuYWwgKE0wMzksIE1ldGhvZE9i aikgICAgLy8gV2FybmluZzogVW5rbm93biBtZXRob2QsIGd1ZXNzaW5nIDIgYXJndW1lbnRzCiAg ICBFeHRlcm5hbCAoTU9FTSwgSW50T2JqKQoKICAgIE5hbWUgKE1BQ0EsICJfQVVYTUFYXyNYWFhY WFhYWFhYWFgjIikKICAgIE5hbWUgKFdPTEQsICJfUzVXT0xfIzAxRUYxNzAwMDAwMDAwIyIpCiAg ICBNZXRob2QgKERQSU8sIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKCFBcmcw KQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgIH0KCiAgICAgICAg SWYgKChBcmcwID4gMHhGMCkpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAg ICAgICAgfQoKICAgICAgICBJZiAoKEFyZzAgPiAweEI0KSkKICAgICAgICB7CiAgICAgICAgICAg IElmIChBcmcxKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAg ICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIElmICgoQXJn MCA+IDB4NzgpKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDAzKQogICAgICAgIH0K CiAgICAgICAgUmV0dXJuICgweDA0KQogICAgfQoKICAgIE1ldGhvZCAoRFVETSwgMiwgTm90U2Vy aWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoIUFyZzEpCiAgICAgICAgewogICAgICAgICAgICBS ZXR1cm4gKDB4RkYpCiAgICAgICAgfQoKICAgICAgICBJZiAoKEFyZzAgPiAweDVBKSkKICAgICAg ICB7CiAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICB9CgogICAgICAgIElmICgoQXJn MCA+IDB4M0MpKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgIH0K CiAgICAgICAgSWYgKChBcmcwID4gMHgyRCkpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4g KDB4MDIpCiAgICAgICAgfQoKICAgICAgICBJZiAoKEFyZzAgPiAweDFFKSkKICAgICAgICB7CiAg ICAgICAgICAgIFJldHVybiAoMHgwMykKICAgICAgICB9CgogICAgICAgIElmICgoQXJnMCA+IDB4 MTQpKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDA0KQogICAgICAgIH0KCiAgICAg ICAgUmV0dXJuICgweDA1KQogICAgfQoKICAgIE1ldGhvZCAoRE1ETSwgMiwgTm90U2VyaWFsaXpl ZCkKICAgIHsKICAgICAgICBJZiAoQXJnMSkKICAgICAgICB7CiAgICAgICAgICAgIFJldHVybiAo MHgwMCkKICAgICAgICB9CgogICAgICAgIElmICghQXJnMCkKICAgICAgICB7CiAgICAgICAgICAg IFJldHVybiAoMHgwMCkKICAgICAgICB9CgogICAgICAgIElmICgoQXJnMCA+IDB4OTYpKQogICAg ICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgIH0KCiAgICAgICAgSWYgKChB cmcwID4gMHg3OCkpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAgICAg fQoKICAgICAgICBSZXR1cm4gKDB4MDMpCiAgICB9CgogICAgTWV0aG9kIChVVURNLCAyLCBOb3RT ZXJpYWxpemVkKQogICAgewogICAgICAgIElmICghKEFyZzAgJiAweDA0KSkKICAgICAgICB7CiAg ICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICB9CgogICAgICAgIElmICgoQXJnMSAmIDB4 MjApKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDE0KQogICAgICAgIH0KCiAgICAg ICAgSWYgKChBcmcxICYgMHgxMCkpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKDB4MUUp CiAgICAgICAgfQoKICAgICAgICBJZiAoKEFyZzEgJiAweDA4KSkKICAgICAgICB7CiAgICAgICAg ICAgIFJldHVybiAoMHgyRCkKICAgICAgICB9CgogICAgICAgIElmICgoQXJnMSAmIDB4MDQpKQog ICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDNDKQogICAgICAgIH0KCiAgICAgICAgSWYg KChBcmcxICYgMHgwMikpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKDB4NUEpCiAgICAg ICAgfQoKICAgICAgICBJZiAoKEFyZzEgJiAweDAxKSkKICAgICAgICB7CiAgICAgICAgICAgIFJl dHVybiAoMHg3OCkKICAgICAgICB9CgogICAgICAgIFJldHVybiAoMHgwMCkKICAgIH0KCiAgICBN ZXRob2QgKFVNRE0sIDQsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKCEoQXJnMCAm IDB4MDIpKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgIH0KCiAg ICAgICAgSWYgKChBcmcxICYgMHgwNCkpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKEFy ZzMpCiAgICAgICAgfQoKICAgICAgICBJZiAoKEFyZzEgJiAweDAyKSkKICAgICAgICB7CiAgICAg ICAgICAgIElmICgoQXJnMyA8PSAweDc4KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg UmV0dXJuICgweEI0KQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgUmV0dXJuIChBcmczKQogICAgICAgICAgICB9CiAgICAgICAgfQoK ICAgICAgICBJZiAoKEFyZzIgJiAweDA0KSkKICAgICAgICB7CiAgICAgICAgICAgIElmICgoQXJn MyA8PSAweEI0KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuICgweEYwKQog ICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgUmV0dXJuIChBcmczKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBSZXR1cm4g KDB4MDApCiAgICB9CgogICAgTWV0aG9kIChVUElPLCA0LCBOb3RTZXJpYWxpemVkKQogICAgewog ICAgICAgIElmICghKEFyZzAgJiAweDAyKSkKICAgICAgICB7CiAgICAgICAgICAgIElmICgoQXJn MiA9PSAweDAyKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuICgweEYwKQog ICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgUmV0dXJuICgweDAzODQpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIElmICgo QXJnMSAmIDB4MDIpKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuIChBcmczKQogICAgICAg IH0KCiAgICAgICAgSWYgKChBcmcxICYgMHgwMSkpCiAgICAgICAgewogICAgICAgICAgICBJZiAo KEFyZzMgPD0gMHg3OCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoMHhC NCkKICAgICAgICAgICAgfQogICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIFJldHVybiAoQXJnMykKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgSWYg KChBcmcyID09IDB4MDIpKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweEYwKQogICAg ICAgIH0KICAgICAgICBFbHNlCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKDB4MDM4NCkK ICAgICAgICB9CiAgICB9CgogICAgTWV0aG9kIChGRE1BLCAyLCBOb3RTZXJpYWxpemVkKQogICAg ewogICAgICAgIElmICgoQXJnMSAhPSAweEZGKSkKICAgICAgICB7CiAgICAgICAgICAgIFJldHVy biAoKEFyZzEgfCAweDQwKSkKICAgICAgICB9CgogICAgICAgIElmICgoQXJnMCA+PSAweDAzKSkK ICAgICAgICB7CiAgICAgICAgICAgIFJldHVybiAoKChBcmcwIC0gMHgwMikgfCAweDIwKSkKICAg ICAgICB9CgogICAgICAgIElmIChBcmcwKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgw eDEyKQogICAgICAgIH0KCiAgICAgICAgUmV0dXJuICgweDAwKQogICAgfQoKICAgIE1ldGhvZCAo RlBJTywgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoKEFyZzAgPj0gMHgwMykp CiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKChBcmcwIHwgMHgwOCkpCiAgICAgICAgfQoK ICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4g KDB4MDEpCiAgICAgICAgfQoKICAgICAgICBSZXR1cm4gKDB4MDApCiAgICB9CgogICAgTmFtZSAo U1BTLCAweDAwKQogICAgTmFtZSAoT1NJRiwgMHgwMCkKICAgIE5hbWUgKFdOVEYsIDB4MDApCiAg ICBOYW1lIChXWFBGLCAweDAwKQogICAgTmFtZSAoV1ZJUywgMHgwMCkKICAgIE5hbWUgKFdJTjcs IDB4MDApCiAgICBOYW1lIChXSU44LCAweDAwKQogICAgTmFtZSAoV1NQViwgMHgwMCkKICAgIE5h bWUgKExOVVgsIDB4MDApCiAgICBOYW1lIChIOERSLCAweDAwKQogICAgTmFtZSAoTUVNWCwgMHgw MCkKICAgIE5hbWUgKEFDU1QsIDB4MDApCiAgICBOYW1lIChGTUJMLCAweDAxKQogICAgTmFtZSAo RkRUUCwgMHgwMikKICAgIE5hbWUgKEZVUFMsIDB4MDMpCiAgICBOYW1lIChGTklELCAweDAwKQog ICAgTmFtZSAoUlJCRiwgMHgwMCkKICAgIE5hbWUgKE5CQ0YsIDB4MDApCiAgICBPcGVyYXRpb25S ZWdpb24gKE1OVlMsIFN5c3RlbU1lbW9yeSwgMHhCRDZCMzAxOCwgMHgxMDAwKQogICAgRmllbGQg KE1OVlMsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIE9mZnNldCAo MHhEMDApLCAKICAgICAgICBHQVBBLCAgIDMyLCAKICAgICAgICBHQVBMLCAgIDMyLCAKICAgICAg ICBEQ0tJLCAgIDMyLCAKICAgICAgICBEQ0tTLCAgIDMyLCAKICAgICAgICBWQ0RMLCAgIDEsIAog ICAgICAgIFZDREMsICAgMSwgCiAgICAgICAgVkNEVCwgICAxLCAKICAgICAgICBWQ0RELCAgIDEs IAogICAgICAgICAgICAsICAgMSwgCiAgICAgICAgVkNTUywgICAxLCAKICAgICAgICBWQ0RCLCAg IDEsIAogICAgICAgIFZDSU4sICAgMSwgCiAgICAgICAgVlZQTywgICA4LCAKICAgICAgICBCTlRO LCAgIDgsIAogICAgICAgIEJSTFYsICAgOCwgCiAgICAgICAgQ0RGTCwgICA4LCAKICAgICAgICBD REFILCAgIDgsIAogICAgICAgIFBNT0QsICAgMiwgCiAgICAgICAgUERJUiwgICAxLCAKICAgICAg ICBQRE1BLCAgIDEsIAogICAgICAgIE9mZnNldCAoMHhEMTcpLCAKICAgICAgICBMRkRDLCAgIDEs IAogICAgICAgIE9mZnNldCAoMHhEMTgpLCAKICAgICAgICBDMk5BLCAgIDEsIAogICAgICAgIEMz TkEsICAgMSwgCiAgICAgICAgQzROQSwgICAxLCAKICAgICAgICBDNk5BLCAgIDEsIAogICAgICAg IEM3TkEsICAgMSwgCiAgICAgICAgT2Zmc2V0ICgweEQxOSksIAogICAgICAgIE9mZnNldCAoMHhE MUEpLCAKICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAsICAgMSwgCiAgICAgICAgTkhQ UywgICAxLCAKICAgICAgICBOUE1TLCAgIDEsIAogICAgICAgIE9mZnNldCAoMHhEMUIpLCAKICAg ICAgICBVT1BULCAgIDgsIAogICAgICAgIEJUSUQsICAgMzIsIAogICAgICAgIERQUDAsICAgMSwg CiAgICAgICAgRFBQMSwgICAxLCAKICAgICAgICBEUFAyLCAgIDEsIAogICAgICAgIERQUDMsICAg MSwgCiAgICAgICAgRFBQNCwgICAxLCAKICAgICAgICBEUFA1LCAgIDEsIAogICAgICAgIE9mZnNl dCAoMHhEMjEpLCAKICAgICAgICBPZmZzZXQgKDB4RDIyKSwgCiAgICAgICAgVENSVCwgICAxNiwg CiAgICAgICAgVFBTViwgICAxNiwgCiAgICAgICAgVFRDMSwgICAxNiwgCiAgICAgICAgVFRDMiwg ICAxNiwgCiAgICAgICAgVFRTUCwgICAxNiwgCiAgICAgICAgU1JBSCwgICA4LCAKICAgICAgICBT UkhFLCAgIDgsIAogICAgICAgIFNSRTEsICAgOCwgCiAgICAgICAgU1JFMiwgICA4LCAKICAgICAg ICBTUkUzLCAgIDgsIAogICAgICAgIFNSRTQsICAgOCwgCiAgICAgICAgU1JFNSwgICA4LCAKICAg ICAgICBTUkU2LCAgIDgsIAogICAgICAgIFNSVTEsICAgOCwgCiAgICAgICAgU1JVMiwgICA4LCAK ICAgICAgICBTUlUzLCAgIDgsIAogICAgICAgIFNSVTcsICAgOCwgCiAgICAgICAgU1JVNCwgICA4 LCAKICAgICAgICBTUlU1LCAgIDgsIAogICAgICAgIFNSVTgsICAgOCwgCiAgICAgICAgU1JQQiwg ICA4LCAKICAgICAgICBTUkxQLCAgIDgsIAogICAgICAgIFNSU0EsICAgOCwgCiAgICAgICAgU1JT TSwgICA4LCAKICAgICAgICBDV0FDLCAgIDEsIAogICAgICAgIENXQVMsICAgMSwgCiAgICAgICAg Q1dVRSwgICAxLCAKICAgICAgICBDV1VTLCAgIDEsIAogICAgICAgIE9mZnNldCAoMHhENDApLCAK ICAgICAgICBDV0FQLCAgIDE2LCAKICAgICAgICBDV0FULCAgIDE2LCAKICAgICAgICBEQkdDLCAg IDEsIAogICAgICAgIE9mZnNldCAoMHhENDUpLCAKICAgICAgICBGUzFMLCAgIDE2LCAKICAgICAg ICBGUzFNLCAgIDE2LCAKICAgICAgICBGUzFILCAgIDE2LCAKICAgICAgICBGUzJMLCAgIDE2LCAK ICAgICAgICBGUzJNLCAgIDE2LCAKICAgICAgICBGUzJILCAgIDE2LCAKICAgICAgICBGUzNMLCAg IDE2LCAKICAgICAgICBGUzNNLCAgIDE2LCAKICAgICAgICBGUzNILCAgIDE2LCAKICAgICAgICBU QVRDLCAgIDEsIAogICAgICAgICAgICAsICAgNiwgCiAgICAgICAgVEFUTCwgICAxLCAKICAgICAg ICBUQVRXLCAgIDgsIAogICAgICAgIFRORlQsICAgNCwgCiAgICAgICAgVE5UVCwgICA0LCAKICAg ICAgICBUREZBLCAgIDQsIAogICAgICAgIFREVEEsICAgNCwgCiAgICAgICAgVERGRCwgICA0LCAK ICAgICAgICBURFRELCAgIDQsIAogICAgICAgIFRDRkEsICAgNCwgCiAgICAgICAgVENUQSwgICA0 LCAKICAgICAgICBUQ0ZELCAgIDQsIAogICAgICAgIFRDVEQsICAgNCwgCiAgICAgICAgVFNGVCwg ICA0LCAKICAgICAgICBUU1RULCAgIDQsIAogICAgICAgIFRJVDAsICAgOCwgCiAgICAgICAgVENS MCwgICAxNiwgCiAgICAgICAgVFBTMCwgICAxNiwgCiAgICAgICAgVElUMSwgICA4LCAKICAgICAg ICBUQ1IxLCAgIDE2LCAKICAgICAgICBUUFMxLCAgIDE2LCAKICAgICAgICBUSVQyLCAgIDgsIAog ICAgICAgIFRDUjIsICAgMTYsIAogICAgICAgIFRQUzIsICAgMTYsIAogICAgICAgIFRJRjAsICAg OCwgCiAgICAgICAgVElGMSwgICA4LCAKICAgICAgICBUSUYyLCAgIDgsIAogICAgICAgIE9mZnNl dCAoMHhENzgpLCAKICAgICAgICBCVEhJLCAgIDEsIAogICAgICAgIE9mZnNldCAoMHhENzkpLCAK ICAgICAgICBIRElSLCAgIDEsIAogICAgICAgIEhERUgsICAgMSwgCiAgICAgICAgSERTUCwgICAx LCAKICAgICAgICBIRFBQLCAgIDEsIAogICAgICAgIEhEVUIsICAgMSwgCiAgICAgICAgSERNQywg ICAxLCAKICAgICAgICBORkNGLCAgIDEsIAogICAgICAgIE9mZnNldCAoMHhEN0EpLCAKICAgICAg ICBUUE1FLCAgIDgsIAogICAgICAgIEJJREUsICAgNCwgCiAgICAgICAgSURFVCwgICA0LCAKICAg ICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAsICAgMSwgCiAgICAgICAgT2Zmc2V0ICgweEQ3 RCksIAogICAgICAgIERUUzAsICAgOCwgCiAgICAgICAgT2Zmc2V0ICgweEQ3RiksIAogICAgICAg IERUMDAsICAgMSwgCiAgICAgICAgRFQwMSwgICAxLCAKICAgICAgICBEVDAyLCAgIDEsIAogICAg ICAgIERUMDMsICAgMSwgCiAgICAgICAgT2Zmc2V0ICgweEQ4MCksIAogICAgICAgIExJREIsICAg MSwgCiAgICAgICAgQzRXUiwgICAxLCAKICAgICAgICBDNEFDLCAgIDEsIAogICAgICAgIE9ERFgs ICAgMSwgCiAgICAgICAgQ01QUiwgICAxLCAKICAgICAgICBJTE5GLCAgIDEsIAogICAgICAgIFBM VVgsICAgMSwgCiAgICAgICAgT2Zmc2V0ICgweEQ4MSksIAogICAgICAgIE9mZnNldCAoMHhEOEEp LCAKICAgICAgICBXTEFDLCAgIDgsIAogICAgICAgIFdJV0ssICAgMSwgCiAgICAgICAgT2Zmc2V0 ICgweEQ4QyksIAogICAgICAgICAgICAsICAgNCwgCiAgICAgICAgICAgICwgICAxLCAKICAgICAg ICBJRE1NLCAgIDEsIAogICAgICAgIE9mZnNldCAoMHhEOEQpLCAKICAgICAgICAgICAgLCAgIDMs IAogICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICwgICAxLCAKICAgICAgICAgICAgLCAg IDEsIAogICAgICAgIE9mZnNldCAoMHhEOEUpLCAKICAgICAgICBPZmZzZXQgKDB4RDhGKSwgCiAg ICAgICAgICAgICwgICA0LCAKICAgICAgICBPZmZzZXQgKDB4RDkwKSwgCiAgICAgICAgT2Zmc2V0 ICgweEQ5MSksIAogICAgICAgIFNXR1AsICAgOCwgCiAgICAgICAgSVBNUywgICA4LCAKICAgICAg ICBJUE1CLCAgIDEyMCwgCiAgICAgICAgSVBNUiwgICAyNCwgCiAgICAgICAgSVBNTywgICAyNCwg CiAgICAgICAgSVBNQSwgICA4LCAKICAgICAgICBWSUdELCAgIDEsIAogICAgICAgIFZEU0MsICAg MSwgCiAgICAgICAgVk1TSCwgICAxLCAKICAgICAgICAgICAgLCAgIDEsIAogICAgICAgIFZEU1As ICAgMSwgCiAgICAgICAgT2Zmc2V0ICgweERBQSksIAogICAgICAgIE9mZnNldCAoMHhEQUQpLCAK ICAgICAgICBBU0ZULCAgIDgsIAogICAgICAgIFBMMUwsICAgOCwgCiAgICAgICAgUEwxTSwgICA4 LCAKICAgICAgICBDSEtDLCAgIDMyLCAKICAgICAgICBDSEtFLCAgIDMyLCAKICAgICAgICBBVFJC LCAgIDMyLCAKICAgICAgICBPZmZzZXQgKDB4REJEKSwgCiAgICAgICAgUFBDUiwgICA4LCAKICAg ICAgICBUUENSLCAgIDUsIAogICAgICAgIE9mZnNldCAoMHhEQkYpLCAKICAgICAgICBPZmZzZXQg KDB4RENFKSwgCiAgICAgICAgQ1RQUiwgICA4LCAKICAgICAgICBQUENBLCAgIDgsIAogICAgICAg IFRQQ0EsICAgNSwgCiAgICAgICAgT2Zmc2V0ICgweEREMSksIAogICAgICAgIEJGV0IsICAgMjk2 LCAKICAgICAgICBPU1BYLCAgIDEsIAogICAgICAgIE9TQzQsICAgMSwgCiAgICAgICAgQ1BQWCwg ICAxLCAKICAgICAgICBPZmZzZXQgKDB4REY3KSwgCiAgICAgICAgU1BFTiwgICAxLCAKICAgICAg ICBTQ1JNLCAgIDEsIAogICAgICAgICAgICAsICAgMSwgCiAgICAgICAgRVRBVSwgICAxLCAKICAg ICAgICBJSEJDLCAgIDEsIAogICAgICAgIEFQTUQsICAgMSwgCiAgICAgICAgQVBNRiwgICAxLCAK ICAgICAgICBPZmZzZXQgKDB4REY4KSwgCiAgICAgICAgRlRQUywgICA4LCAKICAgICAgICBISVNU LCAgIDgsIAogICAgICAgIExQU1QsICAgOCwgCiAgICAgICAgTFdTVCwgICA4LCAKICAgICAgICBP ZmZzZXQgKDB4REZGKSwgCiAgICAgICAgT2Zmc2V0ICgweEUwMCksIAogICAgICAgIE9mZnNldCAo MHhFMjApLCAKICAgICAgICBIUEVULCAgIDMyLCAKICAgICAgICBQS0xJLCAgIDE2LCAKICAgICAg ICBWTENYLCAgIDE2LCAKICAgICAgICBWTklULCAgIDgsIAogICAgICAgIFZCRDAsICAgOCwgCiAg ICAgICAgVkJEVCwgICAxMjgsIAogICAgICAgIFZCUEwsICAgMTYsIAogICAgICAgIFZCUEgsICAg MTYsIAogICAgICAgIFZCTUwsICAgOCwgCiAgICAgICAgVkJNSCwgICA4LCAKICAgICAgICBWRURJ LCAgIDEwMjQsIAogICAgICAgIFBEQ0ksICAgMTYsIAogICAgICAgIElTQ0csICAgMzIsIAogICAg ICAgIElTU1AsICAgMSwgCiAgICAgICAgSVNXSywgICAyLCAKICAgICAgICBJU0ZTLCAgIDMsIAog ICAgICAgIE9mZnNldCAoMHhFQzcpLCAKICAgICAgICBTSEExLCAgIDE2MCwgCiAgICAgICAgT2Zm c2V0ICgweEVEQyksIAogICAgICAgIExXQ1AsICAgMSwgCiAgICAgICAgTFdFTiwgICAxLCAKICAg ICAgICBJT0NQLCAgIDEsIAogICAgICAgIElPRU4sICAgMSwgCiAgICAgICAgSU9TVCwgICAxLCAK ICAgICAgICBPZmZzZXQgKDB4RUREKSwgCiAgICAgICAgVVNCUiwgICAxLCAKICAgICAgICBPZmZz ZXQgKDB4RURFKSwgCiAgICAgICAgT2Zmc2V0ICgweEVERiksIAogICAgICAgIE9mZnNldCAoMHhF RTEpLCAKICAgICAgICBCVDJULCAgIDEsIAogICAgICAgIE9mZnNldCAoMHhFRTIpLCAKICAgICAg ICBUUFBQLCAgIDgsIAogICAgICAgIFRQUEMsICAgOCwgCiAgICAgICAgQ1RQQywgICA4LCAKICAg ICAgICBGTldLLCAgIDgsIAogICAgICAgIE9mZnNldCAoMHhFRTcpLCAKICAgICAgICBYSENDLCAg IDgsIAogICAgICAgIEZDQVAsICAgMTYsIAogICAgICAgIFZTVEQsICAgMSwgCiAgICAgICAgVkNR TCwgICAxLCAKICAgICAgICBWVElPLCAgIDEsIAogICAgICAgIFZNWUgsICAgMSwgCiAgICAgICAg VlNUUCwgICAxLCAKICAgICAgICBWQ1FILCAgIDEsIAogICAgICAgIFZEQ0MsICAgMSwgCiAgICAg ICAgVlNGTiwgICAxLCAKICAgICAgICBWRE1DLCAgIDEsIAogICAgICAgIFZGSFAsICAgMSwgCiAg ICAgICAgVklGQywgICAxLCAKICAgICAgICBWTU1DLCAgIDEsIAogICAgICAgIFZNU0MsICAgMSwg CiAgICAgICAgVlBTQywgICAxLCAKICAgICAgICBWQ1NDLCAgIDEsIAogICAgICAgIE9mZnNldCAo MHhFRUMpLCAKICAgICAgICBDSUNGLCAgIDQsIAogICAgICAgIENJQ00sICAgNCwgCiAgICAgICAg TVlIQywgICA4LCAKICAgICAgICBNTUNDLCAgIDgsIAogICAgICAgIFBUMUQsICAgMTUsIAogICAg ICAgIE9mZnNldCAoMHhFRjEpLCAKICAgICAgICBQVDJELCAgIDE1LCAKICAgICAgICBPZmZzZXQg KDB4RUYzKSwgCiAgICAgICAgUFQwRCwgICAxNSwgCiAgICAgICAgT2Zmc2V0ICgweEVGNSksIAog ICAgICAgIERWUzAsICAgMSwgCiAgICAgICAgRFZTMSwgICAxLCAKICAgICAgICBEVlMyLCAgIDEs IAogICAgICAgIERWUzMsICAgMSwgCiAgICAgICAgT2Zmc2V0ICgweEVGNyksIAogICAgICAgIERT VEQsICAgMTUsIAogICAgICAgIE9mZnNldCAoMHhFRjkpLCAKICAgICAgICBEQ1FMLCAgIDE1LCAK ICAgICAgICBPZmZzZXQgKDB4RUZCKSwgCiAgICAgICAgRFRJTywgICAxNSwgCiAgICAgICAgT2Zm c2V0ICgweEVGRCksIAogICAgICAgIERNWUgsICAgMTUsIAogICAgICAgIE9mZnNldCAoMHhFRkYp LCAKICAgICAgICBEUFNULCAgIDE1LCAKICAgICAgICBPZmZzZXQgKDB4RjAxKSwgCiAgICAgICAg RENRSCwgICAxNSwgCiAgICAgICAgT2Zmc2V0ICgweEYwMyksIAogICAgICAgIEREQ0MsICAgMTUs IAogICAgICAgIE9mZnNldCAoMHhGMDUpLCAKICAgICAgICBEU0ZOLCAgIDE1LCAKICAgICAgICBP ZmZzZXQgKDB4RjA3KSwgCiAgICAgICAgRERNQywgICAxNSwgCiAgICAgICAgT2Zmc2V0ICgweEYw OSksIAogICAgICAgIERGSFAsICAgMTUsIAogICAgICAgIE9mZnNldCAoMHhGMEIpLCAKICAgICAg ICBESUZDLCAgIDE1LCAKICAgICAgICBPZmZzZXQgKDB4RjBEKSwgCiAgICAgICAgRE1NQywgICAx NSwgCiAgICAgICAgT2Zmc2V0ICgweEYwRiksIAogICAgICAgIERNU0MsICAgMTUsIAogICAgICAg IE9mZnNldCAoMHhGMTEpLCAKICAgICAgICBEUFNDLCAgIDE1LCAKICAgICAgICBPZmZzZXQgKDB4 RjEzKSwgCiAgICAgICAgRENTQywgICAxNSwgCiAgICAgICAgT2Zmc2V0ICgweEYxNSksIAogICAg ICAgIFNNWUgsICAgNCwgCiAgICAgICAgU01NQywgICA0LCAKICAgICAgICBTUFNDLCAgIDQsIAog ICAgICAgIE9mZnNldCAoMHhGMTcpLCAKICAgICAgICBTVERWLCAgIDgsIAogICAgICAgIFNDUkIs ICAgOCwgCiAgICAgICAgUE1PRiwgICA4LCAKICAgICAgICBFR1BFLCAgIDgsIAogICAgICAgIE1N T1AsICAgMTYsIAogICAgICAgIE1NQ08sICAgMTYsIAogICAgICAgIE1NUEUsICAgMTYsIAogICAg ICAgIE1NUVUsICAgMTYsIAogICAgICAgIFBTTTEsICAgMTYsIAogICAgICAgIFBTTTIsICAgMTYs IAogICAgICAgIFBTTTMsICAgMTYsIAogICAgICAgIFBTTTQsICAgMTYsIAogICAgICAgIFBTTTUs ICAgMTYsIAogICAgICAgIFBTTTYsICAgMTYsIAogICAgICAgIFBTTTcsICAgMTYsIAogICAgICAg IFBTTTgsICAgMTYsIAogICAgICAgIFZFRFgsICAgMTAyNCwgCiAgICAgICAgT2Zmc2V0ICgweEZC NCkKICAgIH0KCiAgICBGaWVsZCAoTU5WUywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAg IHsKICAgICAgICBPZmZzZXQgKDB4QjAwKSwgCiAgICAgICAgV0lUTSwgICA4LCAKICAgICAgICBX U0VMLCAgIDgsIAogICAgICAgIFdMUzAsICAgOCwgCiAgICAgICAgV0xTMSwgICA4LCAKICAgICAg ICBXTFMyLCAgIDgsIAogICAgICAgIFdMUzMsICAgOCwgCiAgICAgICAgV0xTNCwgICA4LCAKICAg ICAgICBXTFM1LCAgIDgsIAogICAgICAgIFdMUzYsICAgOCwgCiAgICAgICAgV0xTNywgICA4LCAK ICAgICAgICBXTFM4LCAgIDgsIAogICAgICAgIFdMUzksICAgOCwgCiAgICAgICAgV0xTQSwgICA4 LCAKICAgICAgICBXTFNCLCAgIDgsIAogICAgICAgIFdMU0MsICAgOCwgCiAgICAgICAgV0xTRCwg ICA4LCAKICAgICAgICBXRU5DLCAgIDgsIAogICAgICAgIFdLQkQsICAgOCwgCiAgICAgICAgV1BU WSwgICA4LCAKICAgICAgICBXUEFTLCAgIDEwMzIsIAogICAgICAgIFdQTlcsICAgMTAzMiwgCiAg ICAgICAgV1NQTSwgICA4LCAKICAgICAgICBXU1BTLCAgIDgsIAogICAgICAgIFdTTU4sICAgOCwg CiAgICAgICAgV1NNWCwgICA4LCAKICAgICAgICBXU0VOLCAgIDgsIAogICAgICAgIFdTS0IsICAg OCwgCiAgICAgICAgV0FTQiwgICA4LCAKICAgICAgICBXQVNJLCAgIDE2LCAKICAgICAgICBXQVNE LCAgIDgsIAogICAgICAgIFdBU1MsICAgMzIKICAgIH0KCiAgICBGaWVsZCAoTU5WUywgQnl0ZUFj YywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBPZmZzZXQgKDB4QTAwKSwgCiAgICAg ICAgREJHQiwgICAxMDI0CiAgICB9CgogICAgT3BlcmF0aW9uUmVnaW9uIChTTUkwLCBTeXN0ZW1J TywgMHhCMiwgMHgwMSkKICAgIEZpZWxkIChTTUkwLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZl KQogICAgewogICAgICAgIEFQTUMsICAgOAogICAgfQoKICAgIEZpZWxkIChNTlZTLCBBbnlBY2Ms IE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgT2Zmc2V0ICgweEZDMCksIAogICAgICAg IENNRCwgICAgOCwgCiAgICAgICAgRVJSLCAgICAzMiwgCiAgICAgICAgUEFSMCwgICAzMiwgCiAg ICAgICAgUEFSMSwgICAzMiwgCiAgICAgICAgUEFSMiwgICAzMiwgCiAgICAgICAgUEFSMywgICAz MgogICAgfQoKICAgIE11dGV4IChNU01JLCAweDAwKQogICAgTWV0aG9kIChTTUksIDUsIFNlcmlh bGl6ZWQpCiAgICB7CiAgICAgICAgQWNxdWlyZSAoTVNNSSwgMHhGRkZGKQogICAgICAgIENNRCA9 IEFyZzAKICAgICAgICBFUlIgPSAweDAxCiAgICAgICAgUEFSMCA9IEFyZzEKICAgICAgICBQQVIx ID0gQXJnMgogICAgICAgIFBBUjIgPSBBcmczCiAgICAgICAgUEFSMyA9IEFyZzQKICAgICAgICBB UE1DID0gMHhGNQogICAgICAgIFdoaWxlICgoRVJSID09IDB4MDEpKQogICAgICAgIHsKICAgICAg ICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgIEFQTUMgPSAweEY1CiAgICAgICAgfQoKICAg ICAgICBMb2NhbDAgPSBQQVIwIC8qIFxQQVIwICovCiAgICAgICAgUmVsZWFzZSAoTVNNSSkKICAg ICAgICBSZXR1cm4gKExvY2FsMCkKICAgIH0KCiAgICBNZXRob2QgKFJQQ0ksIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICB7CiAgICAgICAgUmV0dXJuIChTTUkgKDB4MDAsIDB4MDAsIEFyZzAsIDB4MDAs IDB4MDApKQogICAgfQoKICAgIE1ldGhvZCAoV1BDSSwgMiwgTm90U2VyaWFsaXplZCkKICAgIHsK ICAgICAgICBTTUkgKDB4MDAsIDB4MDEsIEFyZzAsIEFyZzEsIDB4MDApCiAgICB9CgogICAgTWV0 aG9kIChNUENJLCAzLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFNNSSAoMHgwMCwgMHgw MiwgQXJnMCwgQXJnMSwgQXJnMikKICAgIH0KCiAgICBNZXRob2QgKFJCRUMsIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICB7CiAgICAgICAgUmV0dXJuIChTTUkgKDB4MDAsIDB4MDMsIEFyZzAsIDB4MDAs IDB4MDApKQogICAgfQoKICAgIE1ldGhvZCAoV0JFQywgMiwgTm90U2VyaWFsaXplZCkKICAgIHsK ICAgICAgICBTTUkgKDB4MDAsIDB4MDQsIEFyZzAsIEFyZzEsIDB4MDApCiAgICB9CgogICAgTWV0 aG9kIChNQkVDLCAzLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFNNSSAoMHgwMCwgMHgw NSwgQXJnMCwgQXJnMSwgQXJnMikKICAgIH0KCiAgICBNZXRob2QgKFJJU0EsIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICB7CiAgICAgICAgUmV0dXJuIChTTUkgKDB4MDAsIDB4MDYsIEFyZzAsIDB4MDAs IDB4MDApKQogICAgfQoKICAgIE1ldGhvZCAoV0lTQSwgMiwgTm90U2VyaWFsaXplZCkKICAgIHsK ICAgICAgICBTTUkgKDB4MDAsIDB4MDcsIEFyZzAsIEFyZzEsIDB4MDApCiAgICB9CgogICAgTWV0 aG9kIChNSVNBLCAzLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFNNSSAoMHgwMCwgMHgw OCwgQXJnMCwgQXJnMSwgQXJnMikKICAgIH0KCiAgICBNZXRob2QgKFZFWFAsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICB7CiAgICAgICAgU01JICgweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwKQog ICAgfQoKICAgIE1ldGhvZCAoVlVQUywgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBT TUkgKDB4MDEsIDB4MDEsIEFyZzAsIDB4MDAsIDB4MDApCiAgICB9CgogICAgTWV0aG9kIChWU0RT LCAyLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFNNSSAoMHgwMSwgMHgwMiwgQXJnMCwg QXJnMSwgMHgwMCkKICAgIH0KCiAgICBNZXRob2QgKFZEREMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICB7CiAgICAgICAgU01JICgweDAxLCAweDAzLCAweDAwLCAweDAwLCAweDAwKQogICAgfQoKICAg IE1ldGhvZCAoVlZQRCwgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBTTUkgKDB4MDEs IDB4MDQsIEFyZzAsIDB4MDAsIDB4MDApCiAgICB9CgogICAgTWV0aG9kIChWTlJTLCAxLCBOb3RT ZXJpYWxpemVkKQogICAgewogICAgICAgIFNNSSAoMHgwMSwgMHgwNSwgQXJnMCwgMHgwMCwgMHgw MCkKICAgIH0KCiAgICBNZXRob2QgKEdMUFcsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAg ICAgUmV0dXJuIChTTUkgKDB4MDEsIDB4MDYsIDB4MDAsIDB4MDAsIDB4MDApKQogICAgfQoKICAg IE1ldGhvZCAoVlNMRCwgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBTTUkgKDB4MDEs IDB4MDcsIEFyZzAsIDB4MDAsIDB4MDApCiAgICB9CgogICAgTWV0aG9kIChWRVZULCAxLCBOb3RT ZXJpYWxpemVkKQogICAgewogICAgICAgIFJldHVybiAoU01JICgweDAxLCAweDA4LCBBcmcwLCAw eDAwLCAweDAwKSkKICAgIH0KCiAgICBNZXRob2QgKFZUSFIsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICB7CiAgICAgICAgUmV0dXJuIChTTUkgKDB4MDEsIDB4MDksIDB4MDAsIDB4MDAsIDB4MDApKQog ICAgfQoKICAgIE1ldGhvZCAoVkJSQywgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBT TUkgKDB4MDEsIDB4MEEsIEFyZzAsIDB4MDAsIDB4MDApCiAgICB9CgogICAgTWV0aG9kIChWQlJH LCAwLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFJldHVybiAoU01JICgweDAxLCAweDBF LCAweDAwLCAweDAwLCAweDAwKSkKICAgIH0KCiAgICBNZXRob2QgKFZDTVMsIDIsIE5vdFNlcmlh bGl6ZWQpCiAgICB7CiAgICAgICAgUmV0dXJuIChTTUkgKDB4MDEsIDB4MEIsIEFyZzAsIEFyZzEs IDB4MDApKQogICAgfQoKICAgIE1ldGhvZCAoVkJURCwgMCwgTm90U2VyaWFsaXplZCkKICAgIHsK ICAgICAgICBSZXR1cm4gKFNNSSAoMHgwMSwgMHgwRiwgMHgwMCwgMHgwMCwgMHgwMCkpCiAgICB9 CgogICAgTWV0aG9kIChWRFlOLCAyLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFJldHVy biAoU01JICgweDAxLCAweDExLCBBcmcwLCBBcmcxLCAweDAwKSkKICAgIH0KCiAgICBNZXRob2Qg KFNEUFMsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgUmV0dXJuIChTTUkgKDB4MDEs IDB4MTIsIEFyZzAsIEFyZzEsIDB4MDApKQogICAgfQoKICAgIE1ldGhvZCAoU0NNUywgMSwgTm90 U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBSZXR1cm4gKFNNSSAoMHgwMiwgQXJnMCwgMHgwMCwg MHgwMCwgMHgwMCkpCiAgICB9CgogICAgTWV0aG9kIChCSERQLCAyLCBOb3RTZXJpYWxpemVkKQog ICAgewogICAgICAgIFJldHVybiAoU01JICgweDAzLCAweDAwLCBBcmcwLCBBcmcxLCAweDAwKSkK ICAgIH0KCiAgICBNZXRob2QgKFNURVAsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAg U01JICgweDA0LCBBcmcwLCAweDAwLCAweDAwLCAweDAwKQogICAgfQoKICAgIE1ldGhvZCAoU0xU UCwgMCwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBTTUkgKDB4MDUsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDApCiAgICB9CgogICAgTWV0aG9kIChDQlJJLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgewogICAgICAgIFNNSSAoMHgwNSwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCkKICAgIH0KCiAg ICBNZXRob2QgKEJDSEssIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgUmV0dXJuIChT TUkgKDB4MDUsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDApKQogICAgfQoKICAgIE1ldGhvZCAoQllS UywgMCwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBTTUkgKDB4MDUsIDB4MDUsIDB4MDAs IDB4MDAsIDB4MDApCiAgICB9CgogICAgTWV0aG9kIChMQ0hLLCAxLCBOb3RTZXJpYWxpemVkKQog ICAgewogICAgICAgIFJldHVybiAoU01JICgweDA1LCAweDA2LCBBcmcwLCAweDAwLCAweDAwKSkK ICAgIH0KCiAgICBNZXRob2QgKEJMVEgsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAg UmV0dXJuIChTTUkgKDB4MDYsIEFyZzAsIDB4MDAsIDB4MDAsIDB4MDApKQogICAgfQoKICAgIE1l dGhvZCAoUFJTTSwgMiwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBSZXR1cm4gKFNNSSAo MHgwNywgMHgwMCwgQXJnMCwgQXJnMSwgMHgwMCkpCiAgICB9CgogICAgTWV0aG9kIChJU09DLCAx LCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFJldHVybiAoU01JICgweDA3LCAweDAzLCBB cmcwLCAweDAwLCAweDAwKSkKICAgIH0KCiAgICBNZXRob2QgKEVaUkMsIDEsIE5vdFNlcmlhbGl6 ZWQpCiAgICB7CiAgICAgICAgUmV0dXJuIChTTUkgKDB4MDcsIDB4MDQsIEFyZzAsIDB4MDAsIDB4 MDApKQogICAgfQoKICAgIE1ldGhvZCAoV0dTViwgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAg ICAgICBSZXR1cm4gKFNNSSAoMHgwOSwgQXJnMCwgMHgwMCwgMHgwMCwgMHgwMCkpCiAgICB9Cgog ICAgTWV0aG9kIChUU0RMLCAwLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFJldHVybiAo U01JICgweDBBLCAweDAzLCAweDAwLCAweDAwLCAweDAwKSkKICAgIH0KCiAgICBNZXRob2QgKEZM UEYsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgUmV0dXJuIChTTUkgKDB4MEEsIDB4 MDQsIEFyZzAsIDB4MDAsIDB4MDApKQogICAgfQoKICAgIE1ldGhvZCAoQ1NVTSwgMSwgTm90U2Vy aWFsaXplZCkKICAgIHsKICAgICAgICBSZXR1cm4gKFNNSSAoMHgwRSwgQXJnMCwgMHgwMCwgMHgw MCwgMHgwMCkpCiAgICB9CgogICAgTWV0aG9kIChOVlNTLCAxLCBOb3RTZXJpYWxpemVkKQogICAg ewogICAgICAgIFJldHVybiAoU01JICgweDBGLCBBcmcwLCAweDAwLCAweDAwLCAweDAwKSkKICAg IH0KCiAgICBNZXRob2QgKFdNSVMsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgUmV0 dXJuIChTTUkgKDB4MTAsIEFyZzAsIEFyZzEsIDB4MDAsIDB4MDApKQogICAgfQoKICAgIE1ldGhv ZCAoQVdPTiwgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBSZXR1cm4gKFNNSSAoMHgx MiwgQXJnMCwgMHgwMCwgMHgwMCwgMHgwMCkpCiAgICB9CgogICAgTWV0aG9kIChQTU9OLCAyLCBO b3RTZXJpYWxpemVkKQogICAgewogICAgICAgIExvY2FsMCA9IFNpemVPZiAoQXJnMCkKICAgICAg ICBOYW1lIChUU1RSLCBCdWZmZXIgKExvY2FsMCl7fSkKICAgICAgICBUU1RSID0gQXJnMAogICAg ICAgIERCR0IgPSBUU1RSIC8qIFxQTU9OLlRTVFIgKi8KICAgICAgICBTTUkgKDB4MTEsIEFyZzEs IDB4MDAsIDB4MDAsIDB4MDApCiAgICB9CgogICAgTWV0aG9kIChVQVdTLCAxLCBOb3RTZXJpYWxp emVkKQogICAgewogICAgICAgIFJldHVybiAoU01JICgweDEzLCBBcmcwLCAweDAwLCAweDAwLCAw eDAwKSkKICAgIH0KCiAgICBNZXRob2QgKEJGV0MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAg ICAgICAgUmV0dXJuIChTTUkgKDB4MTQsIDB4MDAsIEFyZzAsIDB4MDAsIDB4MDApKQogICAgfQoK ICAgIE1ldGhvZCAoQkZXUCwgMCwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBSZXR1cm4g KFNNSSAoMHgxNCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCkpCiAgICB9CgogICAgTWV0aG9kIChC RldMLCAwLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFNNSSAoMHgxNCwgMHgwMiwgMHgw MCwgMHgwMCwgMHgwMCkKICAgIH0KCiAgICBNZXRob2QgKEJGV0csIDEsIE5vdFNlcmlhbGl6ZWQp CiAgICB7CiAgICAgICAgU01JICgweDE0LCAweDAzLCBBcmcwLCAweDAwLCAweDAwKQogICAgfQoK ICAgIE1ldGhvZCAoQkRNQywgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBTTUkgKDB4 MTQsIDB4MDQsIEFyZzAsIDB4MDAsIDB4MDApCiAgICB9CgogICAgTWV0aG9kIChQU0lGLCAyLCBO b3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFJldHVybiAoU01JICgweDE0LCAweDA1LCBBcmcw LCBBcmcxLCAweDAwKSkKICAgIH0KCiAgICBNZXRob2QgKEZOU0MsIDIsIE5vdFNlcmlhbGl6ZWQp CiAgICB7CiAgICAgICAgUmV0dXJuIChTTUkgKDB4MTQsIDB4MDYsIEFyZzAsIEFyZzEsIDB4MDAp KQogICAgfQoKICAgIE1ldGhvZCAoQVVEQywgMiwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAg ICBSZXR1cm4gKFNNSSAoMHgxNCwgMHgwNywgQXJnMCwgQXJnMSwgMHgwMCkpCiAgICB9CgogICAg TWV0aG9kIChTWUJDLCAyLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFJldHVybiAoU01J ICgweDE0LCAweDA4LCBBcmcwLCBBcmcxLCAweDAwKSkKICAgIH0KCiAgICBNZXRob2QgKEtCTFMs IDIsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgUmV0dXJuIChTTUkgKDB4MTQsIDB4MDks IEFyZzAsIEFyZzEsIDB4MDApKQogICAgfQoKICAgIE1ldGhvZCAoRlBDSSwgMiwgTm90U2VyaWFs aXplZCkKICAgIHsKICAgICAgICBSZXR1cm4gKFNNSSAoMHgxNCwgMHgwQSwgQXJnMCwgQXJnMSwg MHgwMCkpCiAgICB9CgogICAgTWV0aG9kIChDQkJNLCAyLCBOb3RTZXJpYWxpemVkKQogICAgewog ICAgICAgIFJldHVybiAoU01JICgweDE0LCAweDBBLCBBcmcwLCBBcmcxLCAweDAwKSkKICAgIH0K CiAgICBNZXRob2QgKEZDU1csIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgUmV0dXJu IChTTUkgKDB4MTQsIDB4MEIsIEFyZzAsIEFyZzEsIDB4MDApKQogICAgfQoKICAgIE1ldGhvZCAo VUJJUywgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBSZXR1cm4gKFNNSSAoMHgxNSwg MHgwMCwgQXJnMCwgMHgwMCwgMHgwMCkpCiAgICB9CgogICAgTWV0aG9kIChESUVILCAxLCBOb3RT ZXJpYWxpemVkKQogICAgewogICAgICAgIFJldHVybiAoU01JICgweDE2LCAweDAwLCBBcmcwLCAw eDAwLCAweDAwKSkKICAgIH0KCiAgICBNZXRob2QgKE9VVFAsIDIsIE5vdFNlcmlhbGl6ZWQpCiAg ICB7CiAgICAgICAgU01JICgweDE3LCBBcmcwLCBBcmcxLCAweDAwLCAweDAwKQogICAgfQoKICAg IE1ldGhvZCAoU1JFUSwgMywgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBTTUkgKDB4MTgs IChBcmcwICYgMHhGRiksIChBcmcxICYgMHhGRiksIChBcmcyICYgCiAgICAgICAgICAgIDB4RkYp LCAweDAwKQogICAgfQoKICAgIE1ldGhvZCAoU1BNUywgMSwgTm90U2VyaWFsaXplZCkKICAgIHsK ICAgICAgICBTTUkgKDB4MTksIChBcmcwICYgMHhGRiksIDB4MDAsIDB4MDAsIDB4MDApCiAgICB9 CgogICAgTWV0aG9kIChXTUVNLCA1LCBTZXJpYWxpemVkKQogICAgewogICAgICAgIExvY2FsMCA9 IChBcmcwICsgQXJnMSkKICAgICAgICBPcGVyYXRpb25SZWdpb24gKFZBUk0sIFN5c3RlbU1lbW9y eSwgTG9jYWwwLCAweDA0KQogICAgICAgIEZpZWxkIChWQVJNLCBEV29yZEFjYywgTm9Mb2NrLCBQ cmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIFZBUlIsICAgMzIKICAgICAgICB9CgogICAg ICAgIExvY2FsMSA9IFZBUlIgLyogXFdNRU0uVkFSUiAqLwogICAgICAgIExvY2FsNSA9IDB4N0ZG RkZGRkYKICAgICAgICBMb2NhbDUgfD0gMHg4MDAwMDAwMAogICAgICAgIExvY2FsMiA9IChBcmcy ICsgQXJnMykKICAgICAgICBMb2NhbDIgPSAoMHgyMCAtIExvY2FsMikKICAgICAgICBMb2NhbDIg PSAoKChMb2NhbDUgPDwgTG9jYWwyKSAmIExvY2FsNSkgPj4gTG9jYWwyKQogICAgICAgIExvY2Fs MiA9ICgoTG9jYWwyID4+IEFyZzIpIDw8IEFyZzIpCiAgICAgICAgTG9jYWwzID0gKEFyZzQgPDwg QXJnMikKICAgICAgICBMb2NhbDQgPSAoKExvY2FsMSAmIChMb2NhbDUgXiBMb2NhbDIpKSB8IExv Y2FsMykKICAgICAgICBWQVJSID0gTG9jYWw0CiAgICB9CgogICAgTWV0aG9kIChXRklPLCAyLCBT ZXJpYWxpemVkKQogICAgewogICAgICAgIExvY2FsMCA9IChBcmcwIDw8IDB4MDIpCiAgICAgICAg V01FTSAoMHhGRUQ4MTUwMCwgTG9jYWwwLCAweDE2LCAweDAxLCBBcmcxKQogICAgfQoKICAgIFNj b3BlIChfUFIpCiAgICB7CiAgICAgICAgUHJvY2Vzc29yIChDMDAwLCAweDAwLCAweDAwMDAwNDEw LCAweDA2KXt9CiAgICAgICAgUHJvY2Vzc29yIChDMDAxLCAweDAxLCAweDAwMDAwNDEwLCAweDA2 KXt9CiAgICAgICAgUHJvY2Vzc29yIChDMDAyLCAweDAyLCAweDAwMDAwNDEwLCAweDA2KXt9CiAg ICAgICAgUHJvY2Vzc29yIChDMDAzLCAweDAzLCAweDAwMDAwNDEwLCAweDA2KXt9CiAgICAgICAg UHJvY2Vzc29yIChDMDA0LCAweDA0LCAweDAwMDAwNDEwLCAweDA2KXt9CiAgICAgICAgUHJvY2Vz c29yIChDMDA1LCAweDA1LCAweDAwMDAwNDEwLCAweDA2KXt9CiAgICAgICAgUHJvY2Vzc29yIChD MDA2LCAweDA2LCAweDAwMDAwNDEwLCAweDA2KXt9CiAgICAgICAgUHJvY2Vzc29yIChDMDA3LCAw eDA3LCAweDAwMDAwNDEwLCAweDA2KXt9CiAgICB9CgogICAgTmFtZSAoX1MwLCBQYWNrYWdlICgw eDA0KSAgLy8gX1MwXzogUzAgU3lzdGVtIFN0YXRlCiAgICB7CiAgICAgICAgMHgwMCwgCiAgICAg ICAgMHgwMCwgCiAgICAgICAgMHgwMCwgCiAgICAgICAgMHgwMAogICAgfSkKICAgIE5hbWUgKF9T MywgUGFja2FnZSAoMHgwNCkgIC8vIF9TM186IFMzIFN5c3RlbSBTdGF0ZQogICAgewogICAgICAg IDB4MDMsIAogICAgICAgIDB4MDMsIAogICAgICAgIDB4MDAsIAogICAgICAgIDB4MDAKICAgIH0p CiAgICBOYW1lIChfUzQsIFBhY2thZ2UgKDB4MDQpICAvLyBfUzRfOiBTNCBTeXN0ZW0gU3RhdGUK ICAgIHsKICAgICAgICAweDA0LCAKICAgICAgICAweDA0LCAKICAgICAgICAweDAwLCAKICAgICAg ICAweDAwCiAgICB9KQogICAgTmFtZSAoX1M1LCBQYWNrYWdlICgweDA0KSAgLy8gX1M1XzogUzUg U3lzdGVtIFN0YXRlCiAgICB7CiAgICAgICAgMHgwNSwgCiAgICAgICAgMHgwNSwgCiAgICAgICAg MHgwMCwgCiAgICAgICAgMHgwMAogICAgfSkKICAgIE5hbWUgKFRaRkcsIDB4MDApCiAgICBPcGVy YXRpb25SZWdpb24gKERCRzAsIFN5c3RlbUlPLCAweDgwLCAweDAxKQogICAgRmllbGQgKERCRzAs IEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgSU84MCwgICA4CiAgICB9 CgogICAgT3BlcmF0aW9uUmVnaW9uIChERUIyLCBTeXN0ZW1JTywgMHg4MCwgMHgwMikKICAgIEZp ZWxkIChERUIyLCBXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIFA4MEgs ICAgMTYKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKFBNSU8sIFN5c3RlbUlPLCAweDBDRDYs IDB4MDIpCiAgICBGaWVsZCAoUE1JTywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsK ICAgICAgICBQSURYLCAgIDgsIAogICAgICAgIFBEQVQsICAgOAogICAgfQoKICAgIE9wZXJhdGlv blJlZ2lvbiAoUDAxLCBTeXN0ZW1JTywgMHgwNDAxLCAweDAxKQogICAgRmllbGQgKFAwMSwgQnl0 ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBQU1QxLCAgIDgKICAgIH0KCiAg ICBOYW1lIChMSU5YLCAweDAwKQogICAgTmFtZSAoT1NTUCwgMHgwMCkKICAgIE5hbWUgKE9TVEIs IE9uZXMpCiAgICBOYW1lIChUUE9TLCBaZXJvKQogICAgTWV0aG9kIChPU1RQLCAwLCBOb3RTZXJp YWxpemVkKQogICAgewogICAgICAgIElmICgoT1NUQiA9PSBPbmVzKSkKICAgICAgICB7CiAgICAg ICAgICAgIElmIChDb25kUmVmT2YgKFxfT1NJLCBMb2NhbDApKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBPU1RCID0gMHgwMAogICAgICAgICAgICAgICAgVFBPUyA9IDB4MDAKICAgICAg ICAgICAgICAgIElmIChfT1NJICgiV2luZG93cyAyMDAxIikpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgT1NUQiA9IDB4MDgKICAgICAgICAgICAgICAgICAgICBUUE9TID0g MHgwOAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChfT1NJICgiV2luZG93 cyAyMDAxLjEiKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPU1RCID0g MHgyMAogICAgICAgICAgICAgICAgICAgIFRQT1MgPSAweDIwCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgSWYgKF9PU0kgKCJXaW5kb3dzIDIwMDEgU1AxIikpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgT1NUQiA9IDB4MTAKICAgICAgICAgICAgICAgICAg ICBUUE9TID0gMHgxMAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChfT1NJ ICgiV2luZG93cyAyMDAxIFNQMiIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIE9TVEIgPSAweDExCiAgICAgICAgICAgICAgICAgICAgVFBPUyA9IDB4MTEKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoX09TSSAoIldpbmRvd3MgMjAwMSBTUDMiKSkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPU1RCID0gMHgxMgogICAgICAg ICAgICAgICAgICAgIFRQT1MgPSAweDEyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgSWYgKF9PU0kgKCJXaW5kb3dzIDIwMDYiKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBPU1RCID0gMHg0MAogICAgICAgICAgICAgICAgICAgIFRQT1MgPSAweDQwCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKF9PU0kgKCJXaW5kb3dzIDIwMDYg U1AxIikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT1NTUCA9IDB4MDEK ICAgICAgICAgICAgICAgICAgICBPU1RCID0gMHg0MAogICAgICAgICAgICAgICAgICAgIFRQT1Mg PSAweDQwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKF9PU0kgKCJXaW5k b3dzIDIwMDkiKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPU1NQID0g MHgwMQogICAgICAgICAgICAgICAgICAgIE9TVEIgPSAweDUwCiAgICAgICAgICAgICAgICAgICAg VFBPUyA9IDB4NTAKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoX09TSSAo IldpbmRvd3MgMjAxMiIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9T U1AgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgT1NUQiA9IDB4NjAKICAgICAgICAgICAgICAg ICAgICBUUE9TID0gMHg2MAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChf T1NJICgiV2luZG93cyAyMDEzIikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgT1NTUCA9IDB4MDEKICAgICAgICAgICAgICAgICAgICBPU1RCID0gMHg3MAogICAgICAgICAg ICAgICAgICAgIFRQT1MgPSAweDcwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg SWYgKF9PU0kgKCJXaW5kb3dzIDIwMTUiKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBPU1NQID0gMHgwMQogICAgICAgICAgICAgICAgICAgIFdJTjggPSAweDAxCiAgICAg ICAgICAgICAgICAgICAgT1NUQiA9IDB4NzAKICAgICAgICAgICAgICAgICAgICBUUE9TID0gMHg3 MAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChfT1NJICgiV2luZG93cyAy MDE2IikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT1NTUCA9IDB4MDEK ICAgICAgICAgICAgICAgICAgICBXSU44ID0gMHgwMQogICAgICAgICAgICAgICAgICAgIE9TVEIg PSAweDcwCiAgICAgICAgICAgICAgICAgICAgVFBPUyA9IDB4NzAKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBJZiAoX09TSSAoIkxpbnV4IikpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgTElOWCA9IDB4MDEKICAgICAgICAgICAgICAgICAgICBPU1RCID0g MHg4MAogICAgICAgICAgICAgICAgICAgIFRQT1MgPSAweDgwCiAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZUlmIChDb25kUmVmT2YgKFxfT1MsIExvY2FsMCkp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChTRVFMIChfT1MsICJNaWNyb3NvZnQg V2luZG93cyIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9TVEIgPSAw eDAxCiAgICAgICAgICAgICAgICAgICAgVFBPUyA9IDB4MDEKICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgIEVsc2VJZiAoU0VRTCAoX09TLCAiTWljcm9zb2Z0IFdpbmRvd3NNRTogTWls bGVubml1bSBFZGl0aW9uIikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg T1NUQiA9IDB4MDIKICAgICAgICAgICAgICAgICAgICBUUE9TID0gMHgwMgogICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgRWxzZUlmIChTRVFMIChfT1MsICJNaWNyb3NvZnQgV2luZG93 cyBOVCIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9TVEIgPSAweDA0 CiAgICAgICAgICAgICAgICAgICAgVFBPUyA9IDB4MDQKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPU1RC ID0gMHgwMAogICAgICAgICAgICAgICAgICAgIFRQT1MgPSAweDAwCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBPU1RCID0gMHgwMAogICAgICAgICAgICAgICAgVFBPUyA9IDB4MDAKICAgICAgICAgICAg fQoKICAgICAgICAgICAgSWYgKChUUE9TID09IDB4ODApKXt9CiAgICAgICAgfQoKICAgICAgICBS ZXR1cm4gKE9TVEIpIC8qIFxPU1RCICovCiAgICB9CgogICAgTWV0aG9kIChTRVFMLCAyLCBTZXJp YWxpemVkKQogICAgewogICAgICAgIExvY2FsMCA9IFNpemVPZiAoQXJnMCkKICAgICAgICBMb2Nh bDEgPSBTaXplT2YgKEFyZzEpCiAgICAgICAgSWYgKChMb2NhbDAgIT0gTG9jYWwxKSkKICAgICAg ICB7CiAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICB9CgogICAgICAgIE5hbWUgKEJV RjAsIEJ1ZmZlciAoTG9jYWwwKXt9KQogICAgICAgIEJVRjAgPSBBcmcwCiAgICAgICAgTmFtZSAo QlVGMSwgQnVmZmVyIChMb2NhbDApe30pCiAgICAgICAgQlVGMSA9IEFyZzEKICAgICAgICBMb2Nh bDIgPSBaZXJvCiAgICAgICAgV2hpbGUgKChMb2NhbDIgPCBMb2NhbDApKQogICAgICAgIHsKICAg ICAgICAgICAgTG9jYWwzID0gRGVyZWZPZiAoQlVGMCBbTG9jYWwyXSkKICAgICAgICAgICAgTG9j YWw0ID0gRGVyZWZPZiAoQlVGMSBbTG9jYWwyXSkKICAgICAgICAgICAgSWYgKChMb2NhbDMgIT0g TG9jYWw0KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAg ICAgICAgICB9CgogICAgICAgICAgICBMb2NhbDIrKwogICAgICAgIH0KCiAgICAgICAgUmV0dXJu IChPbmUpCiAgICB9CgogICAgTWV0aG9kIChfUFRTLCAxLCBOb3RTZXJpYWxpemVkKSAgLy8gX1BU UzogUHJlcGFyZSBUbyBTbGVlcAogICAgewogICAgICAgIFA4MEggPSBBcmcwCiAgICAgICAgXF9T Qi5QQ0kwLlNNQi5QRVdEID0gMHgwMQogICAgICAgIFxfU0IuUENJMC5TTUIuUDJJUyA9IDB4MDEK ICAgICAgICBcX1NCLlBDSTAuU01CLlAyV1MgPSAweDAxCiAgICAgICAgSWYgKENvbmRSZWZPZiAo XF9TQi5UUE0uUFRTKSkKICAgICAgICB7CiAgICAgICAgICAgIFxfU0IuVFBNLlBUUyAoQXJnMCkK ICAgICAgICB9CgogICAgICAgIElmICgoQXJnMCA9PSAweDA0KSl7fQogICAgICAgIElmICgoQXJn MCA9PSAweDAzKSkKICAgICAgICB7CiAgICAgICAgICAgIFxfU0IuUENJMC5TTUIuUlNUVSA9IFpl cm8KICAgICAgICB9CgogICAgICAgIFxfU0IuUENJMC5TTUIuQ0xQUyA9IDB4MDEKICAgICAgICBc X1NCLlBDSTAuU01CLlNMUFMgPSAweDAxCiAgICAgICAgXF9TQi5QQ0kwLlNNQi5QRVdTID0gXF9T Qi5QQ0kwLlNNQi5QRVdTCiAgICAgICAgXF9TQi5BUFRTIChBcmcwKQogICAgICAgIExvY2FsMCA9 IDB4MDEKICAgICAgICBJZiAoKEFyZzAgPT0gU1BTKSkKICAgICAgICB7CiAgICAgICAgICAgIExv Y2FsMCA9IDB4MDAKICAgICAgICB9CgogICAgICAgIElmICgoKEFyZzAgPT0gMHgwMCkgfHwgKEFy ZzAgPj0gMHgwNikpKQogICAgICAgIHsKICAgICAgICAgICAgTG9jYWwwID0gMHgwMAogICAgICAg IH0KCiAgICAgICAgSWYgKExvY2FsMCkKICAgICAgICB7CiAgICAgICAgICAgIFNQUyA9IEFyZzAK ICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkhLRVkuTUhLRSAoMHgwMCkKICAgICAgICAg ICAgSWYgKFxfU0IuUENJMC5MUEMwLkVDMC5LQkxUKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBTQ01TICgweDBEKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0g MHgwMSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEZOSUQgPSBcX1NCLlBDSTAuTFBD MC5FQzAuSEZOSQogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkhGTkkgPSAweDAw CiAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5FQzAuSEZTUCA9IDB4MDAKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDMpKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5FQzAuU1NUQSA9IDB4MDAKICAgICAgICAgICAgICAg IFxfU0IuUENJMC5MUEMwLkVDMC5TU1RBID0gMHgwMQogICAgICAgICAgICAgICAgU0xUUCAoKQog ICAgICAgICAgICAgICAgQUNTVCA9IFxfU0IuUENJMC5MUEMwLkVDMC5BQy5fUFNSICgpCiAgICAg ICAgICAgICAgICBJZiAoKEZOV0sgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgSWYgKEg4RFIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5FQzAuSFdGTiA9IDB4MDAKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgTUJFQyAoMHgzMiwgMHhFRiwgMHgwMCkKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgV0ZJTyAoMHgwNSwg MHgwMCkKICAgICAgICAgICAgICAgIFdGSU8gKDB4MDcsIDB4MDApCiAgICAgICAgICAgICAgICBX RklPICgweDA4LCAweDAwKQogICAgICAgICAgICAgICAgV0ZJTyAoMHgwOSwgMHgwMCkKICAgICAg ICAgICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5TV09MID0gMHgwMAogICAgICAgICAgICAgICAg XF9TQi5QQ0kwLkxQQzAuRUMwLkRXT0wgPSAweDAwCiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IElmICgoQXJnMCA9PSAweDA0KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5Q Q0kwLkxQQzAuRUMwLlNTVEEgPSAweDAwCiAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5F QzAuU1NUQSA9IDB4MDQKICAgICAgICAgICAgICAgIFxfU0IuU0xQQi5fUFNXICgweDAwKQogICAg ICAgICAgICAgICAgU0xUUCAoKQogICAgICAgICAgICAgICAgQVdPTiAoMHgwNCkKICAgICAgICAg ICAgICAgIFdGSU8gKDB4MDUsIDB4MDApCiAgICAgICAgICAgICAgICBXRklPICgweDA3LCAweDAw KQogICAgICAgICAgICAgICAgV0ZJTyAoMHgwOCwgMHgwMCkKICAgICAgICAgICAgICAgIFdGSU8g KDB4MDksIDB4MDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA1 KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLlNTVEEg PSAweDAwCiAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5FQzAuU1NUQSA9IDB4MTAKICAg ICAgICAgICAgICAgIFNMVFAgKCkKICAgICAgICAgICAgICAgIEFXT04gKDB4MDUpCiAgICAgICAg ICAgICAgICBXRklPICgweDA1LCAweDAwKQogICAgICAgICAgICAgICAgV0ZJTyAoMHgwNywgMHgw MCkKICAgICAgICAgICAgICAgIFdGSU8gKDB4MDgsIDB4MDApCiAgICAgICAgICAgICAgICBXRklP ICgweDA5LCAweDAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPj0gMHgw NCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5IV0xC ID0gMHgwMAogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkhXTEIgPSAweDAxCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIElmICgoQXJnMCA+PSAweDAzKSkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkhDTVUgPSAweDAxCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIElmICgoQXJnMCAhPSAweDA1KSl7fQogICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5F QzAuSEtFWS5XR1BTIChBcmcwKQogICAgICAgIH0KICAgIH0KCiAgICBOYW1lIChXQUtJLCBQYWNr YWdlICgweDAyKQogICAgewogICAgICAgIDB4MDAsIAogICAgICAgIDB4MDAKICAgIH0pCiAgICBP cGVyYXRpb25SZWdpb24gKENNT1MsIFN5c3RlbUlPLCAweDcyLCAweDAyKQogICAgRmllbGQgKENN T1MsIEJ5dGVBY2MsIExvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIElORFgsICAgOCwgCiAg ICAgICAgREFUQSwgICA4CiAgICB9CgogICAgSW5kZXhGaWVsZCAoSU5EWCwgREFUQSwgQnl0ZUFj YywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBPZmZzZXQgKDB4NDApLCAKICAgICAg ICBEQVQwLCAgIDgsIAogICAgICAgIERBVDEsICAgOCwgCiAgICAgICAgREFUMiwgICA4LCAKICAg ICAgICBPZmZzZXQgKDB4QUUpLCAKICAgICAgICBXS1NSLCAgIDgKICAgIH0KCiAgICBNZXRob2Qg KF9XQUssIDEsIE5vdFNlcmlhbGl6ZWQpICAvLyBfV0FLOiBXYWtlCiAgICB7CiAgICAgICAgTmFt ZSAoU1BMMSwgMHgzQTk4KQogICAgICAgIE5hbWUgKEZQUDEsIDB4NjFBOCkKICAgICAgICBOYW1l IChTUFAxLCAweDRFMjApCiAgICAgICAgTmFtZSAoVENMMSwgMHg0QykKICAgICAgICBOYW1lIChT UEwyLCAweDU1RjApCiAgICAgICAgTmFtZSAoRlBQMiwgMHg3NTMwKQogICAgICAgIE5hbWUgKFNQ UDIsIDB4NjFBOCkKICAgICAgICBOYW1lIChUQ0wyLCAweDU2KQogICAgICAgIE5hbWUgKFhYMTEs IEJ1ZmZlciAoMHgwNyl7fSkKICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFhYMTEsIDB4MDAsIFNT WkUpCiAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChYWDExLCAweDAyLCBTTVVGKQogICAgICAgIENy ZWF0ZURXb3JkRmllbGQgKFhYMTEsIDB4MDMsIFNNVUQpCiAgICAgICAgU1NaRSA9IDB4MDcKICAg ICAgICBEQVQwID0gMHg4OAogICAgICAgIERBVDEgPSBBcmcwCiAgICAgICAgSWYgKChBcmcwID09 IDB4MDMpKQogICAgICAgIHsKICAgICAgICAgICAgU2xlZXAgKDB4MDFGNCkKICAgICAgICAgICAg XF9TQi5QQ0kwLkxQQzAuRUMwLlNTVEEgPSAweDAyCiAgICAgICAgICAgIFxfU0IuUENJMC5TTUIu UlNUVSA9IE9uZQogICAgICAgIH0KCiAgICAgICAgXF9TQi5QQ0kwLlNNQi5QRVdTID0gXF9TQi5Q Q0kwLlNNQi5QRVdTCiAgICAgICAgXF9TQi5QQ0kwLlNNQi5QV0RFID0gMHgwMQogICAgICAgIFxf U0IuUENJMC5TTUIuUEVXRCA9IFplcm8KICAgICAgICBcX1NCLlBDSTAuU01CLlAySVMgPSAweDAx CiAgICAgICAgXF9TQi5QQ0kwLlNNQi5QMldTID0gMHgwMQogICAgICAgIFxfU0IuQVdBSyAoQXJn MCkKICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMykpCiAgICAgICAgewogICAgICAgICAgICBJZiAo R1BJQykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRFNQSSAo KQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKFdLU1IgPT0gMHg2MSkpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QV1JCLCAweDAyKSAvLyBEZXZpY2Ug V2FrZQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2VJZiAoKFdLU1IgPT0gMHg2OCkpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QV1JCLCAweDAyKSAvLyBE ZXZpY2UgV2FrZQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2VJZiAoKFdLU1IgPT0gMHg2 QikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QV1JCLCAweDAy KSAvLyBEZXZpY2UgV2FrZQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBJZiAoKEFy ZzAgPT0gMHgwNCkpCiAgICAgICAgewogICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5FQzAuU1NU QSA9IDB4MDgKICAgICAgICAgICAgSWYgKEdQSUMpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIFxfU0IuUENJMC5MUEMwLkRTUEkgKCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAg ICAgSWYgKCgoQXJnMCA9PSAweDAwKSB8fCAoQXJnMCA+PSAweDA1KSkpCiAgICAgICAgewogICAg ICAgICAgICBSZXR1cm4gKFdBS0kpIC8qIFxXQUtJICovCiAgICAgICAgfQoKICAgICAgICBTUFMg PSAweDAwCiAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkFDT1MgPSAweDAxCiAgICAgICAgXF9T Qi5QQ0kwLkxQQzAuRUMwLkhDTVUgPSAweDAwCiAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkhV QlMgPSAweDAwCiAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkVWTlQgKDB4MDEpCiAgICAgICAg XF9TQi5QQ0kwLkxQQzAuRUMwLkhLRVkuTUhLRSAoMHgwMSkKICAgICAgICBcX1NCLlBDSTAuTFBD MC5FQzAuRk5TVCAoKQogICAgICAgIFNDTVMgKDB4MEQpCiAgICAgICAgTElEQiA9IDB4MDAKICAg ICAgICBJZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAgICAgewogICAgICAgICAgICBGTklEID0gXF9T Qi5QQ0kwLkxQQzAuRUMwLkhGTkkKICAgICAgICB9CgogICAgICAgIElmICgoQXJnMCA9PSAweDAz KSkKICAgICAgICB7CiAgICAgICAgICAgIE5WU1MgKDB4MDApCiAgICAgICAgICAgIElmICgoKFdJ TjggPT0gMHgwMCkgJiYgV0lONykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0Iu UENJMC5MUEMwLkVDMC5IS0VZLldHSU4gKCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTG9j YWwwID0gQVVEQyAoMHgwMCwgMHgwMCkKICAgICAgICAgICAgTG9jYWwwICY9IDB4MDEKICAgICAg ICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IFdGSU8gKDB4MDksIDB4MDApCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBXRklPICgweDA5LCAweDAxKQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBJZiAoXF9TQi5QQ0kwLkxQQzAuRUMwLkhGTkUpe30KICAgICAgICAgICAgRWxz ZUlmICgoMHgwMSAmIFxfU0IuUENJMC5MUEMwLkVDMC5GTktDKSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgV0ZJTyAoMHgwNSwgMHgwMSkKICAgICAgICAgICAgfQogICAgICAgICAgICBF bHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFdGSU8gKDB4MDUsIDB4MDApCiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIElPRU4gPSAweDAwCiAgICAgICAgICAgIElPU1QgPSAweDAw CiAgICAgICAgICAgIFZDTVMgKDB4MDEsIFxfU0IuTElELl9MSUQgKCkpCiAgICAgICAgICAgIEFX T04gKDB4MDApCiAgICAgICAgfQoKICAgICAgICBJZiAoKEFyZzAgPT0gMHgwNCkpCiAgICAgICAg ewogICAgICAgICAgICBOVlNTICgweDAwKQogICAgICAgICAgICBJZiAoKChXSU44ID09IDB4MDAp ICYmIFdJTjcpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5F QzAuSEtFWS5XR0lOICgpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFxfU0IuUENJMC5MUEMw LkVDMC5IU1BBID0gMHgwMAogICAgICAgICAgICBMb2NhbDAgPSBBVURDICgweDAwLCAweDAwKQog ICAgICAgICAgICBMb2NhbDAgJj0gMHgwMQogICAgICAgICAgICBJZiAoKExvY2FsMCA9PSAweDAw KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgV0ZJTyAoMHgwOSwgMHgwMCkKICAgICAg ICAgICAgfQogICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFdG SU8gKDB4MDksIDB4MDEpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChcX1NCLlBDSTAu TFBDMC5FQzAuSEZORSl7fQogICAgICAgICAgICBFbHNlSWYgKCgweDAxICYgXF9TQi5QQ0kwLkxQ QzAuRUMwLkZOS0MpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBXRklPICgweDA1LCAw eDAxKQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgV0ZJTyAoMHgwNSwgMHgwMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSU9F TiA9IDB4MDAKICAgICAgICAgICAgSU9TVCA9IDB4MDAKICAgICAgICAgICAgXF9TQi5QQ0kwLkxQ QzAuRUMwLkJBVFcgKEFyZzApCiAgICAgICAgICAgIElmICgoKFdJTjggPT0gMHgwMCkgJiYgV0lO NykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5IS0VZ LldHV0sgKEFyZzApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFZTTEQgKFxfU0IuTElELl9M SUQgKCkpCiAgICAgICAgfQoKICAgICAgICBJZiAoKEFyZzAgPCAweDA0KSkKICAgICAgICB7CiAg ICAgICAgICAgIElmICgoKFJSQkYgJiAweDAyKSB8fCAoXF9TQi5QQ0kwLkxQQzAuRUMwLkhXQUMg JiAweDAyKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCA9IChBcmcwIDw8 IDB4MDgpCiAgICAgICAgICAgICAgICBMb2NhbDAgPSAoMHgyMDEzIHwgTG9jYWwwKQogICAgICAg ICAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkhLRVkuTUhLUSAoTG9jYWwwKQogICAgICAgICAg ICB9CiAgICAgICAgfQoKICAgICAgICBJZiAoKEFyZzAgPT0gMHgwNCkpCiAgICAgICAgewogICAg ICAgICAgICBMb2NhbDAgPSAweDAwCiAgICAgICAgICAgIExvY2FsMSA9IENTVU0gKDB4MDApCiAg ICAgICAgICAgIElmICgoTG9jYWwxICE9IENIS0MpKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBMb2NhbDAgPSAweDAxCiAgICAgICAgICAgICAgICBDSEtDID0gTG9jYWwxCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIExvY2FsMSA9IENTVU0gKDB4MDEpCiAgICAgICAgICAgIElmICgo TG9jYWwxICE9IENIS0UpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDAgPSAw eDAxCiAgICAgICAgICAgICAgICBDSEtFID0gTG9jYWwxCiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIElmIChMb2NhbDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5vdGlmeSAoX1NC LCAweDAwKSAvLyBCdXMgQ2hlY2sKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTG9jYWwyID0g U2l6ZU9mIChcX1BSLkMwMDAuX1BTUykKICAgICAgICAgICAgTG9jYWwyLS0KICAgICAgICAgICAg XF9TQi5QQ0kwLkxQQzAuRUMwLlBNQVggPSBMb2NhbDIKICAgICAgICB9CgogICAgICAgIFJSQkYg PSBaZXJvCiAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAsIDB4MDApIC8vIEJ1cyBDaGVjawogICAg ICAgIFJldHVybiAoV0FLSSkgLyogXFdBS0kgKi8KICAgIH0KCiAgICBTY29wZSAoX1NJKQogICAg ewogICAgICAgIE1ldGhvZCAoX1NTVCwgMSwgTm90U2VyaWFsaXplZCkgIC8vIF9TU1Q6IFN5c3Rl bSBTdGF0dXMKICAgICAgICB7CiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAwKSkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkxFRCAoMHgwQSwgMHgw MCkKICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5MRUQgKDB4MDcsIDB4MDApCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAxKSkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgSWYgKChTUFMgfHwgV05URikpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkJFRVAgKDB4MDUpCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkxFRCAoMHgwMCwg MHg4MCkKICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5MRUQgKDB4MEEsIDB4ODAp CiAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5FQzAuTEVEICgweDA3LCAweDAwKQogICAg ICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMikpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5MRUQgKDB4MDAsIDB4ODApCiAgICAg ICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5FQzAuTEVEICgweDBBLCAweDgwKQogICAgICAgICAg ICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkxFRCAoMHgwNywgMHhDMCkKICAgICAgICAgICAgfQoK ICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDMpKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBJZiAoKFNQUyA+IDB4MDMpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIFxfU0IuUENJMC5MUEMwLkVDMC5CRUVQICgweDA3KQogICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgRWxzZUlmICgoU1BTID09IDB4MDMpKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5CRUVQICgweDAzKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5CRUVQICgweDA0KQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIElmICgoU1BTID09IDB4MDMpKXt9CiAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQzAu RUMwLkxFRCAoMHgwMCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5F QzAuTEVEICgweDBBLCAweDgwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAg ICAgICAgICBJZiAoKEFyZzAgPT0gMHgwNCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IFxfU0IuUENJMC5MUEMwLkVDMC5CRUVQICgweDAzKQogICAgICAgICAgICAgICAgXF9TQi5QQ0kw LkxQQzAuRUMwLkxFRCAoMHgwNywgMHhDMCkKICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUEMw LkVDMC5MRUQgKDB4MDAsIDB4QzApCiAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDMC5FQzAu TEVEICgweDBBLCAweEMwKQogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkhMQ0wg PSAweEMwCiAgICAgICAgICAgICAgICBMb2NhbDAgPSAoMHgwQSB8IDB4QzApCiAgICAgICAgICAg ICAgICBcX1NCLlBDSTAuTFBDMC5FQzAuSExDTCA9IExvY2FsMAogICAgICAgICAgICB9CiAgICAg ICAgfQogICAgfQoKICAgIE5hbWUgKEdQSUMsIDB4MDApCiAgICBNZXRob2QgKF9QSUMsIDEsIE5v dFNlcmlhbGl6ZWQpICAvLyBfUElDOiBJbnRlcnJ1cHQgTW9kZWwKICAgIHsKICAgICAgICBHUElD ID0gQXJnMAogICAgICAgIElmIChBcmcwKQogICAgICAgIHsKICAgICAgICAgICAgXF9TQi5QQ0kw LkxQQzAuRFNQSSAoKQogICAgICAgICAgICBcX1NCLlBDSTAuQjBGTiAoKQogICAgICAgIH0KICAg IH0KCiAgICBTY29wZSAoX1NCKQogICAgewogICAgICAgIERldmljZSAoUFdSQikKICAgICAgICB7 CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEMiKSAvKiBQb3dlciBCdXR0 b24gRGV2aWNlICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgTWV0aG9kIChf U1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1NUQTogU3RhdHVzCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAg ICAgRGV2aWNlIChQQ0kwKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMCkg IC8vIF9BRFI6IEFkZHJlc3MKICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMSkgIC8vIF9VSUQ6 IFVuaXF1ZSBJRAogICAgICAgICAgICBOYW1lIChfQkJOLCAweDAwKSAgLy8gX0JCTjogQklPUyBC dXMgTnVtYmVyCiAgICAgICAgICAgIE5hbWUgKEFNSFAsIDB4MDApCiAgICAgICAgICAgIE5hbWUg KFZHUFUsIDB4MDAwMTAwMDApCiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBB MDgiKSAvKiBQQ0kgRXhwcmVzcyBCdXMgKi8pICAvLyBfSElEOiBIYXJkd2FyZSBJRAogICAgICAg ICAgICBOYW1lIChfQ0lELCBFaXNhSWQgKCJQTlAwQTAzIikgLyogUENJIEJ1cyAqLykgIC8vIF9D SUQ6IENvbXBhdGlibGUgSUQKICAgICAgICAgICAgTmFtZSAoU1VQUCwgMHgwMCkKICAgICAgICAg ICAgTmFtZSAoQ1RSTCwgMHgwMCkKICAgICAgICAgICAgTWV0aG9kIChfT1NDLCA0LCBOb3RTZXJp YWxpemVkKSAgLy8gX09TQzogT3BlcmF0aW5nIFN5c3RlbSBDYXBhYmlsaXRpZXMKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMywgMHgwMCwgQ0RXMSkK ICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzMsIDB4MDQsIENEVzIpCiAgICAg ICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChBcmczLCAweDA4LCBDRFczKQogICAgICAgICAg ICAgICAgSWYgKChBcmcwID09IFRvVVVJRCAoIjMzZGI0ZDViLTFmZjctNDAxYy05NjU3LTc0NDFj MDNkZDc2NiIpIC8qIFBDSSBIb3N0IEJyaWRnZSBEZXZpY2UgKi8pKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFNVUFAgPSBDRFcyIC8qIFxfU0JfLlBDSTAuX09TQy5DRFcy ICovCiAgICAgICAgICAgICAgICAgICAgQ1RSTCA9IENEVzMgLyogXF9TQl8uUENJMC5fT1NDLkNE VzMgKi8KICAgICAgICAgICAgICAgICAgICBJZiAoKChTVVBQICYgMHgxNikgIT0gMHgxNikpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDVFJMICY9IDB4MUUK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIENUUkwgJj0gMHgxRAog ICAgICAgICAgICAgICAgICAgIElmICh+KENEVzEgJiAweDAxKSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQ1RSTCAmIDB4MDEpKXt9CiAgICAgICAg ICAgICAgICAgICAgICAgIElmICgoQ1RSTCAmIDB4MDQpKXt9CiAgICAgICAgICAgICAgICAgICAg ICAgIElmICgoQ1RSTCAmIDB4MTApKXt9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBJZiAoKEFyZzEgIT0gT25lKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIENEVzEgfD0gMHgwOAogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgSWYgKChDRFczICE9IENUUkwpKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgQ0RXMSB8PSAweDEwCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBDRFczID0gQ1RSTCAvKiBcX1NCXy5QQ0kwLkNUUkwg Ki8KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFyZzMpCiAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg Q0RXMSB8PSAweDA0CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBcmczKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9JTkksIDAsIE5vdFNl cmlhbGl6ZWQpICAvLyBfSU5JOiBJbml0aWFsaXplCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIE9TVFAgKCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChC QVIwLCBQQ0lfQ29uZmlnLCAweEY4LCAweDA4KQogICAgICAgICAgICBGaWVsZCAoQkFSMCwgRFdv cmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEJJ TlgsICAgMzIsIAogICAgICAgICAgICAgICAgQkRBVCwgICAzMgogICAgICAgICAgICB9CgogICAg ICAgICAgICBNdXRleCAoTVVURSwgMHgwMCkKICAgICAgICAgICAgTWV0aG9kIChCMEZOLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBBY3F1aXJlIChNVVRF LCAweEZGRkYpCiAgICAgICAgICAgICAgICBCSU5YID0gWmVybwogICAgICAgICAgICAgICAgTG9j YWwwID0gQkRBVCAvKiBcX1NCXy5QQ0kwLkJEQVQgKi8KICAgICAgICAgICAgICAgIExvY2FsMCAm PSAweEZGRkZGRkVGCiAgICAgICAgICAgICAgICBCREFUID0gTG9jYWwwCiAgICAgICAgICAgICAg ICBSZWxlYXNlIChNVVRFKQogICAgICAgICAgICB9CgogICAgICAgICAgICBPcGVyYXRpb25SZWdp b24gKE5CTVMsIFBDSV9Db25maWcsIDB4NjAsIDB4MDgpCiAgICAgICAgICAgIEZpZWxkIChOQk1T LCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgTUlEWCwgICAzMiwgCiAgICAgICAgICAgICAgICBNSURSLCAgIDMyCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoTkJYUCwgUENJX0NvbmZpZywgMHhFMCwgMHgw OCkKICAgICAgICAgICAgRmllbGQgKE5CWFAsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOQlhJLCAgIDMyLCAKICAgICAgICAgICAgICAg IE5CWEQsICAgMzIKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTXV0ZXggKE5CTU0sIDB4MDAp CiAgICAgICAgICAgIE11dGV4IChOQlhNLCAweDAwKQogICAgICAgICAgICBNZXRob2QgKE5CTVIs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEFjcXVpcmUg KE5CTU0sIDB4RkZGRikKICAgICAgICAgICAgICAgIExvY2FsMCA9IChBcmcwICYgMHg3RikKICAg ICAgICAgICAgICAgIE1JRFggPSBMb2NhbDAKICAgICAgICAgICAgICAgIExvY2FsMCA9IE1JRFIg LyogXF9TQl8uUENJMC5NSURSICovCiAgICAgICAgICAgICAgICBNSURYID0gMHg3RgogICAgICAg ICAgICAgICAgUmVsZWFzZSAoTkJNTSkKICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKE5CTVcsIDIsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEFjcXVpcmUgKE5CTU0sIDB4RkZGRikKICAg ICAgICAgICAgICAgIExvY2FsMCA9IChBcmcwICYgMHg3RikKICAgICAgICAgICAgICAgIExvY2Fs MCB8PSAweDgwCiAgICAgICAgICAgICAgICBNSURYID0gTG9jYWwwCiAgICAgICAgICAgICAgICBN SURSID0gQXJnMQogICAgICAgICAgICAgICAgTUlEWCA9IExvY2FsMCAmPSAweDdGCiAgICAgICAg ICAgICAgICBSZWxlYXNlIChOQk1NKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2Qg KE5CWFIsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEFj cXVpcmUgKE5CWE0sIDB4RkZGRikKICAgICAgICAgICAgICAgIE5CWEkgPSBBcmcwCiAgICAgICAg ICAgICAgICBMb2NhbDAgPSBOQlhEIC8qIFxfU0JfLlBDSTAuTkJYRCAqLwogICAgICAgICAgICAg ICAgTkJYSSA9IDB4MDAKICAgICAgICAgICAgICAgIFJlbGVhc2UgKE5CWE0pCiAgICAgICAgICAg ICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChO QlhXLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBBY3F1 aXJlIChOQlhNLCAweEZGRkYpCiAgICAgICAgICAgICAgICBOQlhJID0gQXJnMAogICAgICAgICAg ICAgICAgTkJYRCA9IEFyZzEKICAgICAgICAgICAgICAgIE5CWEkgPSAweDAwCiAgICAgICAgICAg ICAgICBSZWxlYXNlIChOQlhNKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKEdG WE0sIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2Fs MCA9IE5CTVIgKDB4MDgpCiAgICAgICAgICAgICAgICBMb2NhbDAgPj49IDB4MDgKICAgICAgICAg ICAgICAgIExvY2FsMCAmPSAweDBGCiAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChHUFBNLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDAgPSBOQk1SICgweDY3KQogICAgICAg ICAgICAgICAgTG9jYWwwICY9IDB4MEYKICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKEdQUFgsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCA9IE5CTVIgKDB4MkQpCiAgICAg ICAgICAgICAgICBMb2NhbDAgPj49IDB4MDcKICAgICAgICAgICAgICAgIExvY2FsMCAmPSAweDBG CiAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgTWV0aG9kIChYUFRSLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBJZiAoKEFyZzAgPCAweDAyKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg SWYgKCgoQXJnMCA+IDB4MEEpIHx8IChBcmcwID09IDB4MDgpKSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9j YWwwID0gR1BQTSAoKQogICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IEdQUFggKCkKICAgICAg ICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwQSkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDAgPT0gMHgwMykgJiYgKExvY2FsMSA9 PSAweDAzKSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExvY2FsMCA9IDB4MjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9 IE5CTVIgKDB4MkQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQXJnMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM b2NhbDIgJj0gfkxvY2FsMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiB8PSBMb2NhbDAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQk1XICgweDJE LCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE9uZXMpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA5KSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoKExvY2FsMCA+PSAweDAyKSAmJiAoTG9jYWwx ID49IDB4MDIpKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgTG9jYWwwID0gMHgxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwy ID0gTkJNUiAoMHgyRCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBcmcxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsMiAmPSB+TG9jYWwwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwyIHw9IExvY2FsMAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5CTVcgKDB4 MkQsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoT25lcykKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMQogICAgICAgICAgICAgICAgICAgIElmICgo QXJnMCA8IDB4MDQpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWwxID0gKEFyZzAgKyAweDAyKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBMb2NhbDEgPSAoQXJnMCArIDB4MTEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBMb2NhbDAgPDw9IExvY2FsMQogICAgICAgICAgICAgICAgICAgIExvY2Fs MiA9IE5CTVIgKDB4MDgpCiAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzEpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgJj0gfkxvY2FsMAogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgfD0gTG9jYWwwCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBOQk1XICgweDA4LCBMb2NhbDIpCiAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChPbmVzKQogICAgICAgICAgICAgICAgfQogICAgICAg ICAgICB9CgogICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEs4U1QsIFN5c3RlbU1lbW9yeSwg MHhCRDdGNkM5OCwgMHgwMDAwMDA0OCkKICAgICAgICAgICAgRmllbGQgKEs4U1QsIEFueUFjYywg Tm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQzBfMCwgICAx NiwgCiAgICAgICAgICAgICAgICBDMl8wLCAgIDE2LCAKICAgICAgICAgICAgICAgIEM0XzAsICAg MTYsIAogICAgICAgICAgICAgICAgQzZfMCwgICAxNiwgCiAgICAgICAgICAgICAgICBDOF8wLCAg IDE2LCAKICAgICAgICAgICAgICAgIENBXzAsICAgMTYsIAogICAgICAgICAgICAgICAgQ0NfMCwg ICAxNiwgCiAgICAgICAgICAgICAgICBDRV8wLCAgIDE2LCAKICAgICAgICAgICAgICAgIEQwXzAs ICAgMTYsIAogICAgICAgICAgICAgICAgRDJfMCwgICAxNiwgCiAgICAgICAgICAgICAgICBENF8w LCAgIDE2LCAKICAgICAgICAgICAgICAgIEQ2XzAsICAgMTYsIAogICAgICAgICAgICAgICAgRDhf MCwgICAxNiwgCiAgICAgICAgICAgICAgICBEQV8wLCAgIDE2LCAKICAgICAgICAgICAgICAgIERD XzAsICAgMTYsIAogICAgICAgICAgICAgICAgREVfMCwgICAxNiwgCiAgICAgICAgICAgICAgICBF MF8wLCAgIDE2LCAKICAgICAgICAgICAgICAgIEUyXzAsICAgMTYsIAogICAgICAgICAgICAgICAg RTRfMCwgICAxNiwgCiAgICAgICAgICAgICAgICBFNl8wLCAgIDE2LCAKICAgICAgICAgICAgICAg IEU4XzAsICAgMTYsIAogICAgICAgICAgICAgICAgRUFfMCwgICAxNiwgCiAgICAgICAgICAgICAg ICBFQ18wLCAgIDE2LCAKICAgICAgICAgICAgICAgIEVFXzAsICAgMTYsIAogICAgICAgICAgICAg ICAgRjBfMCwgICAxNiwgCiAgICAgICAgICAgICAgICBGMl8wLCAgIDE2LCAKICAgICAgICAgICAg ICAgIEY0XzAsICAgMTYsIAogICAgICAgICAgICAgICAgRjZfMCwgICAxNiwgCiAgICAgICAgICAg ICAgICBGOF8wLCAgIDE2LCAKICAgICAgICAgICAgICAgIEZBXzAsICAgMTYsIAogICAgICAgICAg ICAgICAgRkNfMCwgICAxNiwgCiAgICAgICAgICAgICAgICBGRV8wLCAgIDE2LCAKICAgICAgICAg ICAgICAgIFRPTUwsICAgMzIsIAogICAgICAgICAgICAgICAgVE9NSCwgICAzMgogICAgICAgICAg ICB9CgogICAgICAgICAgICBOYW1lIChSU1JDLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFdvcmRCdXNOdW1iZXIgKFJlc291cmNlUHJvZHVjZXIsIE1p bkZpeGVkLCBNYXhGaXhlZCwgU3ViRGVjb2RlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMCwg ICAgICAgICAgICAgLy8gR3JhbnVsYXJpdHkKICAgICAgICAgICAgICAgICAgICAweDAwMDAsICAg ICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDAwRkYsICAg ICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMDAsICAg ICAgICAgICAgIC8vIFRyYW5zbGF0aW9uIE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDEw MCwgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgMHgwMCwsICkKICAg ICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBTdWJEZWNvZGUsIE1p bkZpeGVkLCBNYXhGaXhlZCwgTm9uQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBHcmFudWxhcml0eQogICAgICAgICAgICAgICAg ICAgIDB4MDAwQTAwMDAsICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAg ICAgIDB4MDAwQkZGRkYsICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAg ICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAgICAgICAg ICAgICAgICAgMHgwMDAyMDAwMCwgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAg ICAweDAwLCwgLCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMpCiAgICAgICAgICAgICAg ICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgU3ViRGVjb2RlLCBNaW5GaXhlZCwgTWF4 Rml4ZWQsIE5vbkNhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAw MDAwMDAsICAgICAgICAgLy8gR3JhbnVsYXJpdHkKICAgICAgICAgICAgICAgICAgICAweDAwMEMw MDAwLCAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMEMx RkZGLCAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMDAw MDAwLCAgICAgICAgIC8vIFRyYW5zbGF0aW9uIE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4 MDAwMDIwMDAsICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgMHgwMCwsIF9Z MDAsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykKICAgICAgICAgICAgICAgIERXb3Jk TWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBTdWJEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwg Tm9uQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwg ICAgICAgICAvLyBHcmFudWxhcml0eQogICAgICAgICAgICAgICAgICAgIDB4MDAwQzIwMDAsICAg ICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwQzNGRkYsICAg ICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAg ICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMjAw MCwgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAweDAwLCwgX1kwMSwgQWRk cmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkg KFJlc291cmNlUHJvZHVjZXIsIFN1YkRlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBOb25DYWNo ZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAg IC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBDNDAwMCwgICAgICAgICAv LyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBDNUZGRiwgICAgICAgICAv LyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAv LyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwLCAgICAg ICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsLCBfWTAyLCBBZGRyZXNzUmFu Z2VNZW1vcnksIFR5cGVTdGF0aWMpCiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3Vy Y2VQcm9kdWNlciwgU3ViRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIE5vbkNhY2hlYWJsZSwg UmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gR3Jh bnVsYXJpdHkKICAgICAgICAgICAgICAgICAgICAweDAwMEM2MDAwLCAgICAgICAgIC8vIFJhbmdl IE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMEM3RkZGLCAgICAgICAgIC8vIFJhbmdl IE1heGltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIFRyYW5z bGF0aW9uIE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDAsICAgICAgICAgLy8g TGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgMHgwMCwsIF9ZMDMsIEFkZHJlc3NSYW5nZU1lbW9y eSwgVHlwZVN0YXRpYykKICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1 Y2VyLCBTdWJEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgTm9uQ2FjaGVhYmxlLCBSZWFkV3Jp dGUsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBHcmFudWxhcml0 eQogICAgICAgICAgICAgICAgICAgIDB4MDAwQzgwMDAsICAgICAgICAgLy8gUmFuZ2UgTWluaW11 bQogICAgICAgICAgICAgICAgICAgIDB4MDAwQzlGRkYsICAgICAgICAgLy8gUmFuZ2UgTWF4aW11 bQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gVHJhbnNsYXRpb24g T2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMjAwMCwgICAgICAgICAvLyBMZW5ndGgK ICAgICAgICAgICAgICAgICAgICAweDAwLCwgX1kwNCwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBl U3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFN1 YkRlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBOb25DYWNoZWFibGUsIFJlYWRXcml0ZSwKICAg ICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAg ICAgICAgICAgICAgICAgMHgwMDBDQTAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAg ICAgICAgICAgICAgICAgMHgwMDBDQkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQK ICAgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAg ICAgICAgICAgICAgIDB4MDAsLCBfWTA1LCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMp CiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgU3ViRGVjb2Rl LCBNaW5GaXhlZCwgTWF4Rml4ZWQsIE5vbkNhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gR3JhbnVsYXJpdHkKICAgICAgICAgICAg ICAgICAgICAweDAwMENDMDAwLCAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAg ICAgICAgICAweDAwMENERkZGLCAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAg ICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIFRyYW5zbGF0aW9uIE9mZnNldAogICAgICAg ICAgICAgICAgICAgIDB4MDAwMDIwMDAsICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAg ICAgICAgMHgwMCwsIF9ZMDYsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykKICAgICAg ICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBTdWJEZWNvZGUsIE1pbkZp eGVkLCBNYXhGaXhlZCwgTm9uQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBHcmFudWxhcml0eQogICAgICAgICAgICAgICAgICAg IDB4MDAwQ0UwMDAsICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAg IDB4MDAwQ0ZGRkYsICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAg IDB4MDAwMDAwMDAsICAgICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwMjAwMCwgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAw eDAwLCwgX1kwNywgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAg ICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFN1YkRlY29kZSwgTWluRml4ZWQsIE1h eEZpeGVkLCBOb25DYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAw MDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBE MDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBE MUZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAw MDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAw eDAwMDAyMDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsLCBf WTA4LCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMpCiAgICAgICAgICAgICAgICBEV29y ZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgU3ViRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQs IE5vbkNhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAs ICAgICAgICAgLy8gR3JhbnVsYXJpdHkKICAgICAgICAgICAgICAgICAgICAweDAwMEQyMDAwLCAg ICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMEQzRkZGLCAg ICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAg ICAgICAgIC8vIFRyYW5zbGF0aW9uIE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDIw MDAsICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgMHgwMCwsIF9ZMDksIEFk ZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykKICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5 IChSZXNvdXJjZVByb2R1Y2VyLCBTdWJEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgTm9uQ2Fj aGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAg ICAvLyBHcmFudWxhcml0eQogICAgICAgICAgICAgICAgICAgIDB4MDAwRDQwMDAsICAgICAgICAg Ly8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwRDVGRkYsICAgICAgICAg Ly8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAg Ly8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMjAwMCwgICAg ICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAweDAwLCwgX1kwQSwgQWRkcmVzc1Jh bmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291 cmNlUHJvZHVjZXIsIFN1YkRlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBOb25DYWNoZWFibGUs IFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdy YW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBENjAwMCwgICAgICAgICAvLyBSYW5n ZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBEN0ZGRiwgICAgICAgICAvLyBSYW5n ZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFu c2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwLCAgICAgICAgIC8v IExlbmd0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsLCBfWTBCLCBBZGRyZXNzUmFuZ2VNZW1v cnksIFR5cGVTdGF0aWMpCiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9k dWNlciwgU3ViRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIE5vbkNhY2hlYWJsZSwgUmVhZFdy aXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gR3JhbnVsYXJp dHkKICAgICAgICAgICAgICAgICAgICAweDAwMEQ4MDAwLCAgICAgICAgIC8vIFJhbmdlIE1pbmlt dW0KICAgICAgICAgICAgICAgICAgICAweDAwMEQ5RkZGLCAgICAgICAgIC8vIFJhbmdlIE1heGlt dW0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIFRyYW5zbGF0aW9u IE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDAsICAgICAgICAgLy8gTGVuZ3Ro CiAgICAgICAgICAgICAgICAgICAgMHgwMCwsIF9ZMEMsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlw ZVN0YXRpYykKICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBT dWJEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgTm9uQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAg ICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBHcmFudWxhcml0eQogICAg ICAgICAgICAgICAgICAgIDB4MDAwREEwMDAsICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAg ICAgICAgICAgICAgICAgIDB4MDAwREJGRkYsICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAg ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0 CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMjAwMCwgICAgICAgICAvLyBMZW5ndGgKICAgICAg ICAgICAgICAgICAgICAweDAwLCwgX1kwRCwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGlj KQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFN1YkRlY29k ZSwgTWluRml4ZWQsIE1heEZpeGVkLCBOb25DYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAg ICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAg ICAgICAgICAgMHgwMDBEQzAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAg ICAgICAgICAgMHgwMDBEREZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAg ICAgICAgICAgICAgICAweDAwMDAyMDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAg ICAgICAgIDB4MDAsLCBfWTBFLCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMpCiAgICAg ICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgU3ViRGVjb2RlLCBNaW5G aXhlZCwgTWF4Rml4ZWQsIE5vbkNhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAgICAgICAg ICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gR3JhbnVsYXJpdHkKICAgICAgICAgICAgICAgICAg ICAweDAwMERFMDAwLCAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAg ICAweDAwMERGRkZGLCAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAg ICAweDAwMDAwMDAwLCAgICAgICAgIC8vIFRyYW5zbGF0aW9uIE9mZnNldAogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDIwMDAsICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAg MHgwMCwsIF9ZMEYsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykKICAgICAgICAgICAg ICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBTdWJEZWNvZGUsIE1pbkZpeGVkLCBN YXhGaXhlZCwgTm9uQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwgICAgICAgICAvLyBHcmFudWxhcml0eQogICAgICAgICAgICAgICAgICAgIDB4MDAw RTAwMDAsICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAw RTFGRkYsICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAw MDAwMDAsICAgICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAg MHgwMDAwMjAwMCwgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAweDAwLCwg X1kxMCwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdv cmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFN1YkRlY29kZSwgTWluRml4ZWQsIE1heEZpeGVk LCBOb25DYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAw LCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBFMjAwMCwg ICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBFM0ZGRiwg ICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwg ICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAy MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsLCBfWTExLCBB ZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMpCiAgICAgICAgICAgICAgICBEV29yZE1lbW9y eSAoUmVzb3VyY2VQcm9kdWNlciwgU3ViRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIE5vbkNh Y2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAg ICAgLy8gR3JhbnVsYXJpdHkKICAgICAgICAgICAgICAgICAgICAweDAwMEU0MDAwLCAgICAgICAg IC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMEU1RkZGLCAgICAgICAg IC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAg IC8vIFRyYW5zbGF0aW9uIE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDAsICAg ICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgMHgwMCwsIF9ZMTIsIEFkZHJlc3NS YW5nZU1lbW9yeSwgVHlwZVN0YXRpYykKICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNv dXJjZVByb2R1Y2VyLCBTdWJEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgTm9uQ2FjaGVhYmxl LCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBH cmFudWxhcml0eQogICAgICAgICAgICAgICAgICAgIDB4MDAwRTYwMDAsICAgICAgICAgLy8gUmFu Z2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwRTdGRkYsICAgICAgICAgLy8gUmFu Z2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gVHJh bnNsYXRpb24gT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMjAwMCwgICAgICAgICAv LyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAweDAwLCwgX1kxMywgQWRkcmVzc1JhbmdlTWVt b3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJv ZHVjZXIsIFN1YkRlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBOb25DYWNoZWFibGUsIFJlYWRX cml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFy aXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBFODAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5p bXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBFOUZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhp bXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlv biBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwLCAgICAgICAgIC8vIExlbmd0 aAogICAgICAgICAgICAgICAgICAgIDB4MDAsLCBfWTE0LCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5 cGVTdGF0aWMpCiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwg U3ViRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIE5vbkNhY2hlYWJsZSwgUmVhZFdyaXRlLAog ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gR3JhbnVsYXJpdHkKICAg ICAgICAgICAgICAgICAgICAweDAwMEVBMDAwLCAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAg ICAgICAgICAgICAgICAgICAweDAwMEVCRkZGLCAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAg ICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIFRyYW5zbGF0aW9uIE9mZnNl dAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDAsICAgICAgICAgLy8gTGVuZ3RoCiAgICAg ICAgICAgICAgICAgICAgMHgwMCwsIF9ZMTUsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRp YykKICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBTdWJEZWNv ZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgTm9uQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBHcmFudWxhcml0eQogICAgICAgICAg ICAgICAgICAgIDB4MDAwRUMwMDAsICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAg ICAgICAgICAgIDB4MDAwRURGRkYsICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwMjAwMCwgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAg ICAgICAgICAweDAwLCwgX1kxNiwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAg ICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFN1YkRlY29kZSwgTWlu Rml4ZWQsIE1heEZpeGVkLCBOb25DYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAg ICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAg ICAgMHgwMDBFRTAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAg ICAgMHgwMDBFRkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAg ICAgICAgICAweDAwMDAyMDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAg IDB4MDAsLCBfWTE3LCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMpCiAgICAgICAgICAg ICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgU3ViRGVjb2RlLCBNaW5GaXhlZCwg TWF4Rml4ZWQsIE5vbkNhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDAsICAgICAgICAgLy8gR3JhbnVsYXJpdHkKICAgICAgICAgICAgICAgICAgICAweDAw MDAwMDAwLCAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDAw MDAwMDAwLCAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAweDAw MDAwMDAwLCAgICAgICAgIC8vIFRyYW5zbGF0aW9uIE9mZnNldAogICAgICAgICAgICAgICAgICAg IDB4MDAwMDAwMDAsICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgMHgwMCws IF9ZMTgsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykKICAgICAgICAgICAgICAgIERX b3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBTdWJEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhl ZCwgTm9uQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAw MCwgICAgICAgICAvLyBHcmFudWxhcml0eQogICAgICAgICAgICAgICAgICAgIDB4RkMwMDAwMDAs ICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgIDB4RkRGRkZGRkYs ICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAs ICAgICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMjAw MDAwMCwgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAweDAwLCwgX1kxOSwg QWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgSU8gKERlY29k ZTE2LAogICAgICAgICAgICAgICAgICAgIDB4MENGOCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWlu aW11bQogICAgICAgICAgICAgICAgICAgIDB4MENGOCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4 aW11bQogICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50 CiAgICAgICAgICAgICAgICAgICAgMHgwOCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAg ICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICBXb3JkSU8gKFJlc291cmNlUHJvZHVjZXIs IE1pbkZpeGVkLCBNYXhGaXhlZCwgUG9zRGVjb2RlLCBFbnRpcmVSYW5nZSwKICAgICAgICAgICAg ICAgICAgICAweDAwMDAsICAgICAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAg ICAgICAgMHgwQ0Y3LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwLCAgICAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAg ICAgICAgICAgICAweDBDRjgsICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAg ICAgIDB4MDAsLCAsIFR5cGVTdGF0aWMsIERlbnNlVHJhbnNsYXRpb24pCiAgICAgICAgICAgICAg ICBXb3JkSU8gKFJlc291cmNlUHJvZHVjZXIsIE1pbkZpeGVkLCBNYXhGaXhlZCwgUG9zRGVjb2Rl LCBFbnRpcmVSYW5nZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAsICAgICAgICAgICAgIC8v IEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwRDAwLCAgICAgICAgICAgICAvLyBS YW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAgICAgICAgICAgICAvLyBS YW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwLCAgICAgICAgICAgICAvLyBU cmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweEYzMDAsICAgICAgICAgICAg IC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsLCAsIFR5cGVTdGF0aWMsIERlbnNl VHJhbnNsYXRpb24pCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwg U2VyaWFsaXplZCkgIC8vIF9DUlM6IEN1cnJlbnQgUmVzb3VyY2UgU2V0dGluZ3MKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTAw Ll9SVywgQzBSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBD cmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kwMC5fTEVOLCBDMExOKSAgLy8gX0xF TjogTGVuZ3RoCiAgICAgICAgICAgICAgICBDMFJXID0gT25lCiAgICAgICAgICAgICAgICBDMExO ID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKEMwXzAgJiAweDE4MTgpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIEMwTE4gPSAweDAwCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTAxLl9S VywgQzJSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVh dGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kwMS5fTEVOLCBDMkxOKSAgLy8gX0xFTjog TGVuZ3RoCiAgICAgICAgICAgICAgICBDMlJXID0gT25lCiAgICAgICAgICAgICAgICBDMkxOID0g MHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKEMyXzAgJiAweDE4MTgpKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIEMyTE4gPSAweDAwCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTAyLl9SVywg QzRSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kwMi5fTEVOLCBDNExOKSAgLy8gX0xFTjogTGVu Z3RoCiAgICAgICAgICAgICAgICBDNFJXID0gT25lCiAgICAgICAgICAgICAgICBDNExOID0gMHgy MDAwCiAgICAgICAgICAgICAgICBJZiAoKEM0XzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIEM0TE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTAzLl9SVywgQzZS VykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29y ZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kwMy5fTEVOLCBDNkxOKSAgLy8gX0xFTjogTGVuZ3Ro CiAgICAgICAgICAgICAgICBDNlJXID0gT25lCiAgICAgICAgICAgICAgICBDNkxOID0gMHgyMDAw CiAgICAgICAgICAgICAgICBJZiAoKEM2XzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIEM2TE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTA0Ll9SVywgQzhSVykg IC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZp ZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kwNC5fTEVOLCBDOExOKSAgLy8gX0xFTjogTGVuZ3RoCiAg ICAgICAgICAgICAgICBDOFJXID0gT25lCiAgICAgICAgICAgICAgICBDOExOID0gMHgyMDAwCiAg ICAgICAgICAgICAgICBJZiAoKEM4XzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIEM4TE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTA1Ll9SVywgQ0FSVykgIC8v IF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxk IChSU1JDLCBcX1NCLlBDSTAuX1kwNS5fTEVOLCBDQUxOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAg ICAgICAgICAgICBDQVJXID0gT25lCiAgICAgICAgICAgICAgICBDQUxOID0gMHgyMDAwCiAgICAg ICAgICAgICAgICBJZiAoKENBXzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIENBTE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTA2Ll9SVywgQ0NSVykgIC8vIF9S V186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChS U1JDLCBcX1NCLlBDSTAuX1kwNi5fTEVOLCBDQ0xOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAg ICAgICAgICBDQ1JXID0gT25lCiAgICAgICAgICAgICAgICBDQ0xOID0gMHgyMDAwCiAgICAgICAg ICAgICAgICBJZiAoKENDXzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIENDTE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg Q3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTA3Ll9SVywgQ0VSVykgIC8vIF9SV186 IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JD LCBcX1NCLlBDSTAuX1kwNy5fTEVOLCBDRUxOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAg ICAgICBDRVJXID0gT25lCiAgICAgICAgICAgICAgICBDRUxOID0gMHgyMDAwCiAgICAgICAgICAg ICAgICBJZiAoKENFXzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIENFTE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3Jl YXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTA4Ll9SVywgRDBSVykgIC8vIF9SV186IFJl YWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBc X1NCLlBDSTAuX1kwOC5fTEVOLCBEMExOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAg ICBEMFJXID0gT25lCiAgICAgICAgICAgICAgICBEMExOID0gMHgyMDAwCiAgICAgICAgICAgICAg ICBJZiAoKEQwXzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIEQwTE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRl Qml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTA5Ll9SVywgRDJSVykgIC8vIF9SV186IFJlYWQt V3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NC LlBDSTAuX1kwOS5fTEVOLCBEMkxOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAgICBE MlJXID0gT25lCiAgICAgICAgICAgICAgICBEMkxOID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJ ZiAoKEQyXzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IEQyTE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0 RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTBBLl9SVywgRDRSVykgIC8vIF9SV186IFJlYWQtV3Jp dGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBD STAuX1kwQS5fTEVOLCBENExOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAgICBENFJX ID0gT25lCiAgICAgICAgICAgICAgICBENExOID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJZiAo KEQ0XzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEQ0 TE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0Rmll bGQgKFJTUkMsIFxfU0IuUENJMC5fWTBCLl9SVywgRDZSVykgIC8vIF9SV186IFJlYWQtV3JpdGUg U3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAu X1kwQi5fTEVOLCBENkxOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAgICBENlJXID0g T25lCiAgICAgICAgICAgICAgICBENkxOID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKEQ2 XzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEQ2TE4g PSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQg KFJTUkMsIFxfU0IuUENJMC5fWTBDLl9SVywgRDhSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3Rh dHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kw Qy5fTEVOLCBEOExOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAgICBEOFJXID0gT25l CiAgICAgICAgICAgICAgICBEOExOID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKEQ4XzAg JiAweDE4MTgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEQ4TE4gPSAw eDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJT UkMsIFxfU0IuUENJMC5fWTBELl9SVywgREFSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVz CiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kwRC5f TEVOLCBEQUxOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAgICBEQVJXID0gT25lCiAg ICAgICAgICAgICAgICBEQUxOID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKERBXzAgJiAw eDE4MTgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIERBTE4gPSAweDAw CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMs IFxfU0IuUENJMC5fWTBFLl9SVywgRENSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAg ICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kwRS5fTEVO LCBEQ0xOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAgICBEQ1JXID0gT25lCiAgICAg ICAgICAgICAgICBEQ0xOID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKERDXzAgJiAweDE4 MTgpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIERDTE4gPSAweDAwCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxf U0IuUENJMC5fWTBGLl9SVywgREVSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAg ICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kwRi5fTEVOLCBE RUxOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAgICBERVJXID0gT25lCiAgICAgICAg ICAgICAgICBERUxOID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKERFXzAgJiAweDE4MTgp KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIERFTE4gPSAweDAwCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0Iu UENJMC5fWTEwLl9SVywgRTBSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAg ICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kxMC5fTEVOLCBFMExO KSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAgICBFMFJXID0gT25lCiAgICAgICAgICAg ICAgICBFMExOID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKEUwXzAgJiAweDE4MTgpKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEUwTE4gPSAweDAwCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJ MC5fWTExLl9SVywgRTJSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kxMS5fTEVOLCBFMkxOKSAg Ly8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAgICBFMlJXID0gT25lCiAgICAgICAgICAgICAg ICBFMkxOID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKEUyXzAgJiAweDE4MTgpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEUyTE4gPSAweDAwCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5f WTEyLl9SVywgRTRSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAg ICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kxMi5fTEVOLCBFNExOKSAgLy8g X0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAgICBFNFJXID0gT25lCiAgICAgICAgICAgICAgICBF NExOID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKEU0XzAgJiAweDE4MTgpKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEU0TE4gPSAweDAwCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTEz Ll9SVywgRTZSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBD cmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kxMy5fTEVOLCBFNkxOKSAgLy8gX0xF TjogTGVuZ3RoCiAgICAgICAgICAgICAgICBFNlJXID0gT25lCiAgICAgICAgICAgICAgICBFNkxO ID0gMHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKEU2XzAgJiAweDE4MTgpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIEU2TE4gPSAweDAwCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTE0Ll9S VywgRThSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVh dGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kxNC5fTEVOLCBFOExOKSAgLy8gX0xFTjog TGVuZ3RoCiAgICAgICAgICAgICAgICBFOFJXID0gT25lCiAgICAgICAgICAgICAgICBFOExOID0g MHgyMDAwCiAgICAgICAgICAgICAgICBJZiAoKEU4XzAgJiAweDE4MTgpKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIEU4TE4gPSAweDAwCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTE1Ll9SVywg RUFSVykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kxNS5fTEVOLCBFQUxOKSAgLy8gX0xFTjogTGVu Z3RoCiAgICAgICAgICAgICAgICBFQVJXID0gT25lCiAgICAgICAgICAgICAgICBFQUxOID0gMHgy MDAwCiAgICAgICAgICAgICAgICBJZiAoKEVBXzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIEVBTE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTE2Ll9SVywgRUNS VykgIC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29y ZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kxNi5fTEVOLCBFQ0xOKSAgLy8gX0xFTjogTGVuZ3Ro CiAgICAgICAgICAgICAgICBFQ1JXID0gT25lCiAgICAgICAgICAgICAgICBFQ0xOID0gMHgyMDAw CiAgICAgICAgICAgICAgICBJZiAoKEVDXzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIEVDTE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTE3Ll9SVywgRUVSVykg IC8vIF9SV186IFJlYWQtV3JpdGUgU3RhdHVzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZp ZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kxNy5fTEVOLCBFRUxOKSAgLy8gX0xFTjogTGVuZ3RoCiAg ICAgICAgICAgICAgICBFRVJXID0gT25lCiAgICAgICAgICAgICAgICBFRUxOID0gMHgyMDAwCiAg ICAgICAgICAgICAgICBJZiAoKEVFXzAgJiAweDE4MTgpKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIEVFTE4gPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoUlNSQywgXF9TQi5QQ0kwLl9ZMTguX01JTiwgQlQxUykg IC8vIF9NSU46IE1pbmltdW0gQmFzZSBBZGRyZXNzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29y ZEZpZWxkIChSU1JDLCBcX1NCLlBDSTAuX1kxOC5fTUFYLCBCVDFNKSAgLy8gX01BWDogTWF4aW11 bSBCYXNlIEFkZHJlc3MKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFJTUkMsIFxf U0IuUENJMC5fWTE4Ll9MRU4sIEJUMUwpICAvLyBfTEVOOiBMZW5ndGgKICAgICAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKFJTUkMsIFxfU0IuUENJMC5fWTE5Ll9NSU4sIEJUMlMpICAvLyBf TUlOOiBNaW5pbXVtIEJhc2UgQWRkcmVzcwogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVs ZCAoUlNSQywgXF9TQi5QQ0kwLl9ZMTkuX01BWCwgQlQyTSkgIC8vIF9NQVg6IE1heGltdW0gQmFz ZSBBZGRyZXNzCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChSU1JDLCBcX1NCLlBD STAuX1kxOS5fTEVOLCBCVDJMKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAgICBMb2Nh bDAgPSAweEY4MDAwMDAwCiAgICAgICAgICAgICAgICBCVDFTID0gVE9NTCAvKiBcX1NCXy5QQ0kw LlRPTUwgKi8KICAgICAgICAgICAgICAgIEJUMU0gPSAoTG9jYWwwIC0gMHgwMSkKICAgICAgICAg ICAgICAgIEJUMUwgPSAoTG9jYWwwIC0gVE9NTCkgLyogXF9TQl8uUENJMC5UT01MICovCiAgICAg ICAgICAgICAgICBSZXR1cm4gKFJTUkMpIC8qIFxfU0JfLlBDSTAuUlNSQyAqLwogICAgICAgICAg ICB9CgogICAgICAgICAgICBEZXZpY2UgKE1FTVIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDIiKSAvKiBQTlAgTW90aGVyYm9hcmQgUmVz b3VyY2VzICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgIE5hbWUgKE1F TTEsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MEY1MCwgICAgICAg ICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAweDBGNTAsICAg ICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwg ICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwg ICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAg ICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBBZGRyZXNzIEJhc2UKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBBZGRyZXNzIExlbmd0aAogICAgICAgICAg ICAgICAgICAgICAgICBfWTFBKQogICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJl YWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBB ZGRyZXNzIEJhc2UKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAv LyBBZGRyZXNzIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICBfWTFCKQogICAgICAgICAg ICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAg ICAgMHhGODAwMDAwMCwgICAgICAgICAvLyBBZGRyZXNzIEJhc2UKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwNDAwMDAwMCwgICAgICAgICAvLyBBZGRyZXNzIExlbmd0aAogICAgICAgICAgICAg ICAgICAgICAgICApCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTWV0aG9kIChf Q1JTLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0NSUzogQ3VycmVudCBSZXNvdXJjZSBTZXR0aW5n cwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KE1FTTEsIFxfU0IuUENJMC5NRU1SLl9ZMUEuX0JBUywgTUIwMSkgIC8vIF9CQVM6IEJhc2UgQWRk cmVzcwogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKE1FTTEsIFxfU0IuUENJ MC5NRU1SLl9ZMUEuX0xFTiwgTUwwMSkgIC8vIF9MRU46IExlbmd0aAogICAgICAgICAgICAgICAg ICAgIENyZWF0ZURXb3JkRmllbGQgKE1FTTEsIFxfU0IuUENJMC5NRU1SLl9ZMUIuX0JBUywgTUIw MikgIC8vIF9CQVM6IEJhc2UgQWRkcmVzcwogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3Jk RmllbGQgKE1FTTEsIFxfU0IuUENJMC5NRU1SLl9ZMUIuX0xFTiwgTUwwMikgIC8vIF9MRU46IExl bmd0aAogICAgICAgICAgICAgICAgICAgIElmIChHUElDKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgTUIwMSA9IDB4RkVDMDAwMDAKICAgICAgICAgICAgICAg ICAgICAgICAgTUIwMiA9IDB4RkVFMDAwMDAKICAgICAgICAgICAgICAgICAgICAgICAgTUwwMSA9 IDB4MjAwMAogICAgICAgICAgICAgICAgICAgICAgICBNTDAyID0gMHgxMDAwCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE1FTTEpIC8qIFxfU0JfLlBD STAuTUVNUi5NRU0xICovCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QUlQ6IFBDSSBSb3V0aW5n IFRhYmxlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChHUElDKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwQSkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAw MUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjgKICAg ICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwMDFGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDI5CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDAxRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgyQQogICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MkIKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDhGRkZGLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDJCCiAgICAgICAgICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4RkZGRiwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyNAogICAgICAgICAg ICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAxNEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAK ICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwMTRGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDExCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMDE0RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgxMgogICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxNEZGRkYsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTMKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdl ICgweDBBKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDAxRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5MUEMwLkxOS0EsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeTFBDMC5MTktCLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDFGRkZGLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgXkxQQzAuTE5LQywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAg ICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDAxRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5MUEMwLkxOS0QsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwOEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeTFBDMC5MTktELCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDhGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXkxQQzAu TE5LRSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDE0RkZG RiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5MUEMwLkxOS0EsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAog ICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAxNEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeTFBDMC5MTktCLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwMTRGRkZGLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXkxQQzAuTE5LQywgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDE0RkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5MUEMwLkxOS0QsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfQoKICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChCQVIxLCBQQ0lfQ29u ZmlnLCAweDE0LCAweDA0KQogICAgICAgICAgICBGaWVsZCAoQkFSMSwgQnl0ZUFjYywgTm9Mb2Nr LCBQcmVzZXJ2ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTkJCQSwgICAzMgogICAg ICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEdQUDApCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAwMTAwMDEpICAvLyBfQURSOiBBZGRyZXNzCiAgICAg ICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKSAgLy8gX1BSVzogUG93ZXIgUmVz b3VyY2VzIGZvciBXYWtlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgw OCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QUlQ6IFBDSSBSb3V0 aW5nIFRhYmxlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKEdQSUMp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDE4CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgxOQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MUEKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAzLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDFCCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5eTFBDMC5MTktBLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5M UEMwLkxOS0IsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXkxQQzAuTE5LQywgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5eTFBDMC5MTktELCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQog ICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEdQUDEpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAwMTAwMDIpICAvLyBfQURSOiBBZGRyZXNzCiAg ICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKSAgLy8gX1BSVzogUG93ZXIg UmVzb3VyY2VzIGZvciBXYWtlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg MHgwOCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1BSVCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QUlQ6IFBDSSBS b3V0aW5nIFRhYmxlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKEdQ SUMpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDFDCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgxRAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MUUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDFGCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5eTFBDMC5MTktFLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xl5MUEMwLkxOS0YsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXkxQQzAuTE5LRywgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5eTFBDMC5MTktILCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIERldmljZSAoREVWMCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCBaZXJvKSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1JNViwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9STVY6IFJl bW92YWwgU3RhdHVzCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFplcm8pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIERldmljZSAoREVWMSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBOYW1lIChfQURSLCBPbmUpICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfUk1WLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1JNVjogUmVtb3Zh bCBTdGF0dXMKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoWmVybykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgRGV2aWNlIChQWFNYKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9BRFIsIDB4MDApICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAg ICAgICAgT3BlcmF0aW9uUmVnaW9uIChSUFhYLCBQQ0lfQ29uZmlnLCAweDAwLCAweDEwKQogICAg ICAgICAgICAgICAgICAgIEZpZWxkIChSUFhYLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBWRElELCAgIDMyCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24g KEZMRFIsIFBDSV9Db25maWcsIDB4NDQsIDB4MDYpCiAgICAgICAgICAgICAgICAgICAgRmllbGQg KEZMRFIsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBEQ0FQLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICAg ICAgRENUUiwgICAxNgogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChXSVNULCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKENvbmRSZWZPZiAoVkRJRCkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN3aXRjaCAoVG9JbnRlZ2VyIChW RElEKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDYXNlICgweDA5NUE4MDg2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDYXNlICgweDA5NUI4MDg2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDYXNlICgweDMxNjU4MDg2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBDYXNlICgweDMxNjY4MDg2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBD YXNlICgweDA4QjE4MDg2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNl ICgweDA4QjI4MDg2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgw eDA4QjM4MDg2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgweDA4 QjQ4MDg2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgweDI0RjM4 MDg2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgweDI0RjQ4MDg2 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgweDI0RjU4MDg2KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgweDI0RjY4MDg2KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgweDI0RkQ4MDg2KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgweDI0RkI4MDg2KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgweDI1MjY4MDg2KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgweEI4MjIxMEVDKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBEZWZhdWx0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUG93ZXJSZXNvdXJjZSAoV1JTVCwgMHgwNSwgMHgw MDAwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1NUQTogU3RhdHVzCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkKICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf T04sIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfT05fOiBQb3dlciBPbgogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX09GRiwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9PRkY6IFBvd2VyIE9mZgog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1JTVCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9S U1Q6IERldmljZSBSZXNldAogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoKERDQVAgJiAweDEwMDAwMDAwKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBEQ1RS IC8qIFxfU0JfLlBDSTAuR1BQMS5QWFNYLkRDVFIgKi8KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDAgfD0gMHg4MDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RENUUiA9IExvY2FsMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9QUlIsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFJSOiBQb3dlciBSZXNvdXJjZSBm b3IgUmVzZXQKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgV1JTVAogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAg ICAgRGV2aWNlIChHUFAyKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURS LCAweDAwMDEwMDAzKSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICAgICAgTmFtZSAoX1BS VywgUGFja2FnZSAoMHgwMikgIC8vIF9QUlc6IFBvd2VyIFJlc291cmNlcyBmb3IgV2FrZQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDgsIAogICAgICAgICAgICAgICAg ICAgIDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlQs IDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFJUOiBQQ0kgUm91dGluZyBUYWJsZQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChHUElDKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDA0KQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgyMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjEKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDIyCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgyMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXkxQQzAu TE5LQSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eTFBDMC5MTktCLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZG RiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXl5MUEMwLkxOS0MsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeXkxQQzAuTE5LRCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAg ICAgICAgRGV2aWNlIChHUFAzKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChf QURSLCAweDAwMDEwMDA0KSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICAgICAgTmFtZSAo X1BSVywgUGFja2FnZSAoMHgwMikgIC8vIF9QUlc6IFBvd2VyIFJlc291cmNlcyBmb3IgV2FrZQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDgsIAogICAgICAgICAgICAg ICAgICAgIDB4MDQKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBNZXRob2QgKF9Q UlQsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFJUOiBQQ0kgUm91dGluZyBUYWJsZQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChHUElDKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDA0KQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgyNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjUK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDI2CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgyNwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXkxQ QzAuTE5LRSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eTFBDMC5MTktGLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXl5MUEMwLkxOS0csIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeXkxQQzAuTE5LSCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KQog ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg ICAgICAgICAgRGV2aWNlIChHUFA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAwMDEwMDA1KSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICAgICAgTmFt ZSAoX1BSVywgUGFja2FnZSAoMHgwMikgIC8vIF9QUlc6IFBvd2VyIFJlc291cmNlcyBmb3IgV2Fr ZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDgsIAogICAgICAgICAg ICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBPcGVyYXRp b25SZWdpb24gKFBDRzEsIFBDSV9Db25maWcsIDB4NTgsIDB4MjApCiAgICAgICAgICAgICAgICBG aWVsZCAoUENHMSwgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDEwKSwgCiAgICAgICAgICAgICAgICAgICAg TE5LQywgICAyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFMw LCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1BTMDogUG93ZXIgU3RhdGUgMAogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIExOS0MgPSAweDAyCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChfUFMzLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1BTMzog UG93ZXIgU3RhdGUgMwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExOS0Mg PSAweDAyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMODUwKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDApICAv LyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAo MHgwMikgIC8vIF9QUlc6IFBvd2VyIFJlc291cmNlcyBmb3IgV2FrZQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDMKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIE9wZXJh dGlvblJlZ2lvbiAoUENHMiwgUENJX0NvbmZpZywgMHgwMCwgMHg5MCkKICAgICAgICAgICAgICAg ICAgICBGaWVsZCAoUENHMiwgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBWSUQwLCAgIDE2LCAKICAgICAgICAg ICAgICAgICAgICAgICAgRElEMCwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHg4MCksIAogICAgICAgICAgICAgICAgICAgICAgICBBUE1MLCAgIDIKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1JTVCwgMCwgTm90U2VyaWFs aXplZCkgIC8vIF9SU1Q6IERldmljZSBSZXNldAogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgTE5LQyA9IDB4MDIKICAgICAgICAgICAgICAgICAgICAgICAgV0ZJ TyAoMHg0NiwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MzIpCiAgICAg ICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoTDg1MCwgMHgwMSkgLy8gRGV2aWNlIENoZWNrCiAg ICAgICAgICAgICAgICAgICAgICAgIExOS0MgPSAweDAyCiAgICAgICAgICAgICAgICAgICAgICAg IFdGSU8gKDB4NDYsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDNFKQog ICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKF9TQiwgMHgwMCkgLy8gQnVzIENoZWNrCiAg ICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDY0KQogICAgICAgICAgICAgICAgICAgICAg ICBOb3RpZnkgKFBDSTAsIDB4MDApIC8vIEJ1cyBDaGVjawogICAgICAgICAgICAgICAgICAgICAg ICBTbGVlcCAoMHg2NCkKICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChMODUwLCAweDAx KSAvLyBEZXZpY2UgQ2hlY2sKICAgICAgICAgICAgICAgICAgICAgICAgTE5LQyA9IDB4MDIKICAg ICAgICAgICAgICAgICAgICAgICAgQVBNTCA9IDB4MDIKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChMRkNULCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKChESUQwID09IDB4NzM2MCkpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQTUwgPSAweDAyCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChfUFJULCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1BSVDogUENJIFJvdXRp bmcgVGFibGUKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoR1BJQykK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjgKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDI5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyQQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MkIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXl5MUEMwLkxOS0EsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXkxQ QzAuTE5LQiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eTFBDMC5MTktDLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXl5MUEMwLkxOS0QsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoR1BQNSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDAxMDAwNikgIC8vIF9BRFI6IEFkZHJlc3MKICAg ICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpICAvLyBfUFJXOiBQb3dlciBS ZXNvdXJjZXMgZm9yIFdha2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAw eDA4LCAKICAgICAgICAgICAgICAgICAgICAweDA0CiAgICAgICAgICAgICAgICB9KQogICAgICAg ICAgICAgICAgTWV0aG9kIChfUFJULCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1BSVDogUENJIFJv dXRpbmcgVGFibGUKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoR1BJ QykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MkMKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDJECiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyRQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MkYKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXl5MUEMwLkxOS0UsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe XkxQQzAuTE5LRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eTFBDMC5MTktHLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXl5MUEMwLkxOS0gsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoR1BQNikKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDAxMDAwNykgIC8vIF9BRFI6IEFkZHJlc3MK ICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpICAvLyBfUFJXOiBQb3dl ciBSZXNvdXJjZXMgZm9yIFdha2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAweDA4LCAKICAgICAgICAgICAgICAgICAgICAweDAzCiAgICAgICAgICAgICAgICB9KQogICAg ICAgICAgICAgICAgTWV0aG9kIChfUFJULCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1BSVDogUENJ IFJvdXRpbmcgVGFibGUKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAo R1BJQykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAx LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzMKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZG RiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXl5MUEMwLkxOS0EsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeXkxQQzAuTE5LQiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eTFBDMC5MTktDLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5MUEMwLkxOS0QsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoR1AxNykKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDA4MDAwMSkgIC8vIF9BRFI6IEFkZHJl c3MKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpICAvLyBfUFJXOiBQ b3dlciBSZXNvdXJjZXMgZm9yIFdha2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAweDE5LCAKICAgICAgICAgICAgICAgICAgICAweDAzCiAgICAgICAgICAgICAgICB9KQog ICAgICAgICAgICAgICAgTWV0aG9kIChfUFJULCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1BSVDog UENJIFJvdXRpbmcgVGFibGUKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJ ZiAoR1BJQykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzQKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDM1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgz NgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzcKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXl5MUEMwLkxOS0UsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeXkxQQzAuTE5LRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eTFBDMC5MTktH LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5MUEMwLkxOS0gsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChWR0EpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgWmVybykgIC8vIF9BRFI6IEFkZHJlc3MKICAg ICAgICAgICAgICAgICAgICBOYW1lIChBRjdFLCAweDgwMDAwMDAxKQogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9TVEE6IFN0YXR1cwogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoRE9TQSwgMHgw MCkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ET1MsIDEsIE5vdFNlcmlhbGl6ZWQpICAv LyBfRE9TOiBEaXNhYmxlIE91dHB1dCBTd2l0Y2hpbmcKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIERPU0EgPSBBcmcwCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ET0QsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBf RE9EOiBEaXNwbGF5IE91dHB1dCBEZXZpY2VzCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMTAxMDAsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDExMCwgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAyMDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDIxMCwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEwMjIwCiAgICAgICAgICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2Ug KExDRCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0FEUiwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9BRFI6IEFkZHJlc3MKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxMTAp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUg KEJSTFYsIEJ1ZmZlciAoMHgxMSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgMHg1MiwgMHgyMiwgMHgwMiwgMHgwOCwgMHgw RSwgMHgxNiwgMHgxQywgMHgyMiwgIC8vIFIiLi4uLi4iCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvKiAwMDA4ICovICAweDJBLCAweDMwLCAweDM2LCAweDNFLCAweDQ0LCAweDRCLCAweDUy LCAweDU4LCAgLy8gKjA2PkRLUlgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwMTAg Ki8gIDB4NjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBk CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0JDTCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9CQ0w6IEJyaWdodG5lc3MgQ29udHJvbCBM ZXZlbHMKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKChBRjdFID09IDB4ODAwMDAwMDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoXl5eXkxQQzAuRUMwLkJS VFcpIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkJSVFcgKi8KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJS TFYpIC8qIFxfU0JfLlBDSTAuR1AxNy5WR0FfLkxDRF8uQlJMViAqLwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKF9CQ00sIDEsIE5vdFNlcmlhbGl6ZWQpICAvLyBfQkNNOiBCcmlnaHRu ZXNzIENvbnRyb2wgTWV0aG9kCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmICgoQUY3RSA9PSAweDgwMDAwMDAxKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBN YXRjaCAoXl5eXkxQQzAuRUMwLkJSVFcsIE1FUSwgQXJnMCwgTVRSLCAweDAwLCAweDAyKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IChMb2NhbDAgLSAweDAyKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxCUkxWID0gTG9jYWwxCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU0NNUyAoMHgxNikKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfRERDLCAxLCBOb3RTZXJpYWxpemVkKSAgLy8gX0REQzogRGlzcGxheSBEYXRhIEN1cnJl bnQKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKChBcmcwID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoVkVESSkgLyogXFZFREkgKi8KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJ ZiAoKEFyZzAgPT0gMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChWRURJKSAvKiBcVkVESSAqLwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKFBTUCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAyKSAgLy8gX0FEUjog QWRkcmVzcwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoQUNQKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDUpICAv LyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNl IChBWkFMKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIs IDB4MDYpICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgRGV2aWNlIChNUDJDKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9BRFIsIDB4MDcpICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgRGV2aWNlIChYSEMwKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9BRFIsIDB4MDMpICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1MzRDogUzMgRGV2aWNl IFN0YXRlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MDMpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBOYW1l IChVU1BTLCAweDAxKQogICAgICAgICAgICAgICAgICAgIFBvd2VyUmVzb3VyY2UgKFBVQlMsIDB4 MDMsIDB4MDAwMCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9TVEE6IFN0YXR1cwogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFVT UFMpIC8qIFxfU0JfLlBDSTAuR1AxNy5YSEMwLlVTUFMgKi8KICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfT04sIDAsIE5vdFNlcmlhbGl6 ZWQpICAvLyBfT05fOiBQb3dlciBPbgogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeXl5eTFBDMC5FQzAuSFVCUyA9IDB4MDEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNsZWVwICgweDE0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg VVNQUyA9IDB4MDEKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfT0ZGLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX09GRjogUG93ZXIgT2Zm CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5e Xl5MUEMwLkVDMC5IVUJTID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAg KDB4MTQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU1BTID0gMHgwMAogICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBOYW1lIChfUFIwLCBQYWNrYWdlICgweDAxKSAgLy8gX1BSMDogUG93ZXIgUmVzb3VyY2VzIGZv ciBEMAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUFVCUwog ICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFj a2FnZSAoMHgwMikgIC8vIF9QUlc6IFBvd2VyIFJlc291cmNlcyBmb3IgV2FrZQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgxOSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX1MwVywgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9TMFc6IFMwIERldmljZSBXYWtl IFN0YXRlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZp Y2UgKFJIVUIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBO YW1lIChfQURSLCBaZXJvKSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAg ICBOYW1lIChVUENOLCBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgICAgICAgICAgICAgIE5hbWUgKFVQQzQsIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwOSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAg ICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoVVBDMywgUGFja2FnZSAoMHgwNCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhG RiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAg ICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChVUENQLCBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweEZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAg IE5hbWUgKFBMRE4sIFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgxMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4u Li4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAg ICAgICAgICAgICAgICAgICAgTmFtZSAoUExEMSwgUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyICgweDEwKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8qIDAwMDAgKi8gIDB4ODEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAw MDggKi8gIDB4NjksIDB4MEMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAv LyBpLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChQTEQyLCBQYWNrYWdlICgw eDAxKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBCdWZmZXIgKDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgMHgwMSwgMHhDNiwgMHg3MiwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uci4uLi4uCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLyogMDAwOCAqLyAgMHg2OSwgMHgwQywgMHgwMCwgMHgwMSwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCAgIC8vIGkuLi4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUg KFBMRDMsIFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgxMCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAweDAxLCAw eEM2LCAweDcyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi5yLi4uLi4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAweDcxLCAweDBDLCAweDgw LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gcS4uLi4uLi4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAg ICAgICAgICAgICAgTmFtZSAoUExENCwgUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyICgweDEwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q IDAwMDAgKi8gIDB4ODEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs ICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwMDggKi8g IDB4NzEsIDB4MEMsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyBxLi4u Li4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKEhTMDEpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDEp ICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9V UEMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfVVBDOiBVU0IgUG9ydCBDYXBhYmlsaXRpZXMKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFVQQzQpIC8qIFxfU0JfLlBDSTAuR1AxNy5YSEMwLlJIVUIuVVBDNCAqLwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX1BMRCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QTEQ6IFBoeXNpY2FsIExvY2F0aW9u IG9mIERldmljZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoUExEMSkgLyogXF9TQl8uUENJMC5HUDE3LlhIQzAuUkhV Qi5QTEQxICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIERldmljZSAoSFMwMikKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwg MHgwMikgIC8vIF9BRFI6IEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1VQQywgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9VUEM6IFVTQiBQb3J0IENhcGFiaWxpdGll cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoVVBDMykgLyogXF9TQl8uUENJMC5HUDE3LlhIQzAuUkhVQi5VUEMzICov CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfUExELCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1BMRDogUGh5c2ljYWwgTG9j YXRpb24gb2YgRGV2aWNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQTEQyKSAvKiBcX1NCXy5QQ0kwLkdQMTcuWEhD MC5SSFVCLlBMRDIgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChIUzAzKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChf QURSLCAweDAzKSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfVVBDLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1VQQzogVVNCIFBvcnQgQ2FwYWJp bGl0aWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChVUEMzKSAvKiBcX1NCXy5QQ0kwLkdQMTcuWEhDMC5SSFVCLlVQ QzMgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKF9QTEQsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUExEOiBQaHlzaWNh bCBMb2NhdGlvbiBvZiBEZXZpY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBMRDMpIC8qIFxfU0JfLlBDSTAuR1Ax Ny5YSEMwLlJIVUIuUExEMyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKEhTMDQp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5h bWUgKF9BRFIsIDB4MDQpICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9VUEMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfVVBDOiBVU0IgUG9ydCBD YXBhYmlsaXRpZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKFVQQzQpIC8qIFxfU0JfLlBDSTAuR1AxNy5YSEMwLlJI VUIuVVBDNCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1BMRCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QTEQ6IFBo eXNpY2FsIExvY2F0aW9uIG9mIERldmljZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUExENCkgLyogXF9TQl8uUENJ MC5HUDE3LlhIQzAuUkhVQi5QTEQ0ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIERldmljZSAo U1MwMSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgTmFtZSAoX0FEUiwgMHgwNSkgIC8vIF9BRFI6IEFkZHJlc3MKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1VQQywgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9VUEM6IFVTQiBQ b3J0IENhcGFiaWxpdGllcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoVVBDNCkgLyogXF9TQl8uUENJMC5HUDE3LlhI QzAuUkhVQi5VUEM0ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUExELCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1BM RDogUGh5c2ljYWwgTG9jYXRpb24gb2YgRGV2aWNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQTEQxKSAvKiBcX1NC Xy5QQ0kwLkdQMTcuWEhDMC5SSFVCLlBMRDEgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgRGV2 aWNlIChTUzAyKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOYW1lIChfQURSLCAweDA2KSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfVVBDLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1VQQzog VVNCIFBvcnQgQ2FwYWJpbGl0aWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChVUEMzKSAvKiBcX1NCXy5QQ0kwLkdQ MTcuWEhDMC5SSFVCLlVQQzMgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9QTEQsIDAsIE5vdFNlcmlhbGl6ZWQpICAv LyBfUExEOiBQaHlzaWNhbCBMb2NhdGlvbiBvZiBEZXZpY2UKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBMRDIpIC8q IFxfU0JfLlBDSTAuR1AxNy5YSEMwLlJIVUIuUExEMiAqLwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICBEZXZpY2UgKFNTMDMpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDcpICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9VUEMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBf VVBDOiBVU0IgUG9ydCBDYXBhYmlsaXRpZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFVQQzMpIC8qIFxfU0JfLlBD STAuR1AxNy5YSEMwLlJIVUIuVVBDMyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BMRCwgMCwgTm90U2VyaWFsaXpl ZCkgIC8vIF9QTEQ6IFBoeXNpY2FsIExvY2F0aW9uIG9mIERldmljZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUExE MykgLyogXF9TQl8uUENJMC5HUDE3LlhIQzAuUkhVQi5QTEQzICovCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgIERldmljZSAoU1MwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwOCkgIC8vIF9BRFI6IEFkZHJlc3MKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1VQQywgMCwgTm90U2VyaWFsaXplZCkg IC8vIF9VUEM6IFVTQiBQb3J0IENhcGFiaWxpdGllcwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoVVBDNCkgLyogXF9T Ql8uUENJMC5HUDE3LlhIQzAuUkhVQi5VUEM0ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUExELCAwLCBOb3RTZXJp YWxpemVkKSAgLy8gX1BMRDogUGh5c2ljYWwgTG9jYXRpb24gb2YgRGV2aWNlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChQTEQ0KSAvKiBcX1NCXy5QQ0kwLkdQMTcuWEhDMC5SSFVCLlBMRDQgKi8KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKFhIQzEp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwNCkg IC8vIF9BRFI6IEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdl ICgweDAyKSAgLy8gX1BSVzogUG93ZXIgUmVzb3VyY2VzIGZvciBXYWtlCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDE5LCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMwogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfUzBXLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1MwVzogUzAgRGV2aWNlIFdha2UgU3Rh dGUKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAo UkhVQikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUg KF9BRFIsIFplcm8pICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAgIE5h bWUgKFVQQ04sIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAg ICAgICAgICAgICAgTmFtZSAoVVBDUCwgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRiwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweEZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICB9 KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChQTERDLCBQYWNrYWdlICgweDAxKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIg KDB4MTQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLyogMDAwMCAqLyAgMHg4MiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyogMDAwOCAqLyAgMHgyNCwgMHgwMSwgMHg4MCwgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgIC8vICQuLi4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAx MCAqLyAgMHhERCwgMHgwMCwgMHg5NSwgMHgwMCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v IC4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUExEVywgUGFja2FnZSAoMHgwMSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVm ZmVyICgweDEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qIDAwMDAgKi8gIDB4ODEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8qIDAwMDggKi8gIDB4RTAsIDB4MUUsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChQTERO LCBQYWNrYWdlICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCdWZmZXIgKDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgMHg4MiwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgMHg5OSwgMHgxMSwgMHgwMCwgMHgw MCwgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAg ICAgICAgIE5hbWUgKFVQQ0ksIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHhGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUExESSwgQnVmZmVyICgweDEwKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAw eDgxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4u Li4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gIDB4MzAsIDB4MUMsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAwLi4uLi4uLgogICAgICAgICAg ICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKFBSVDEpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUg KF9BRFIsIDB4MDEpICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9VUEMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfVVBDOiBVU0IgUG9ydCBDYXBh YmlsaXRpZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKFVQQ04pIC8qIFxfU0JfLlBDSTAuR1AxNy5YSEMxLlJIVUIu VVBDTiAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKFBSVDIpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4 MDIpICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9VUEMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfVVBDOiBVU0IgUG9ydCBDYXBhYmlsaXRpZXMK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKFVQQ04pIC8qIFxfU0JfLlBDSTAuR1AxNy5YSEMxLlJIVUIuVVBDTiAqLwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg IERldmljZSAoUFIyMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAxKSAgLy8gX0FEUjogQWRkcmVzcwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1VQQywgMCwgTm90U2VyaWFs aXplZCkgIC8vIF9VUEM6IFVTQiBQb3J0IENhcGFiaWxpdGllcwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChVUENQKSAvKiBcX1NCXy5QQ0kwLkdQMTcuWEhDMS5SSFVCLlVQQ1AgKi8KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX1BMRCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QTEQ6IFBoeXNpY2FsIExvY2F0aW9u IG9mIERldmljZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQTERDKSAvKiBcX1NCXy5QQ0kwLkdQMTcu WEhDMS5SSFVCLlBMREMgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZSAoQ0FNQSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5h bWUgKF9BRFIsIDB4MDEpICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1BMRCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QTEQ6IFBo eXNpY2FsIExvY2F0aW9uIG9mIERldmljZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBM REMpIC8qIFxfU0JfLlBDSTAuR1AxNy5YSEMxLlJIVUIuUExEQyAqLwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfU1RBOiBTdGF0dXMKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKENNSVIpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURS LCAweDAzKSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9QTEQsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUExEOiBQaHlzaWNhbCBM b2NhdGlvbiBvZiBEZXZpY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQTERDKSAvKiBc X1NCXy5QQ0kwLkdQMTcuWEhDMS5SSFVCLlBMREMgKi8KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1NUQTogU3RhdHVzCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKFBSMjIpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TmFtZSAoX0FEUiwgMHgwMikgIC8vIF9BRFI6IEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9VUEMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfVVBDOiBVU0Ig UG9ydCBDYXBhYmlsaXRpZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoVVBDTikgLyogXF9TQl8uUENJ MC5HUDE3LlhIQzEuUkhVQi5VUENOICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9QTEQsIDAsIE5vdFNl cmlhbGl6ZWQpICAvLyBfUExEOiBQaHlzaWNhbCBMb2NhdGlvbiBvZiBEZXZpY2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoUExETikgLyogXF9TQl8uUENJMC5HUDE3LlhIQzEuUkhVQi5QTEROICovCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZSAoUFIyMykKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAzKSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1VQQywgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9VUEM6IFVTQiBQb3J0 IENhcGFiaWxpdGllcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChVUENOKSAvKiBcX1NCXy5QQ0kwLkdQ MTcuWEhDMS5SSFVCLlVQQ04gKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BMRCwgMCwgTm90U2VyaWFs aXplZCkgIC8vIF9QTEQ6IFBoeXNpY2FsIExvY2F0aW9uIG9mIERldmljZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChQTEROKSAvKiBcX1NCXy5QQ0kwLkdQMTcuWEhDMS5SSFVCLlBMRE4gKi8KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChQUjI0KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9B RFIsIDB4MDQpICAvLyBfQURSOiBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfVVBDLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1VQQzogVVNCIFBvcnQgQ2Fw YWJpbGl0aWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFVQQ04pIC8qIFxfU0JfLlBDSTAuR1AxNy5Y SEMxLlJIVUIuVVBDTiAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUExELCAwLCBOb3RTZXJpYWxpemVk KSAgLy8gX1BMRDogUGh5c2ljYWwgTG9jYXRpb24gb2YgRGV2aWNlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKFBMRE4pIC8qIFxfU0JfLlBDSTAuR1AxNy5YSEMxLlJIVUIuUExETiAqLwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChQ UlQzKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBOYW1lIChfQURSLCAweDAzKSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfVVBDLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1VQQzogVVNCIFBv cnQgQ2FwYWJpbGl0aWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChVUENOKSAvKiBcX1NCXy5QQ0kwLkdQMTcuWEhD MS5SSFVCLlVQQ04gKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChHUDE4KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMDgwMDAyKSAgLy8gX0FEUjogQWRkcmVzcwogICAg ICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAoMHgwMikgIC8vIF9QUlc6IFBvd2VyIFJl c291cmNlcyBmb3IgV2FrZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4 MDgsIAogICAgICAgICAgICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgICAgICBNZXRob2QgKF9QUlQsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFJUOiBQQ0kgUm91 dGluZyBUYWJsZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChHUElD KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQ YWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzNgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MzcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDM0CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgzNQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeXkxQQzAuTE5LRywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5e TFBDMC5MTktILCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5MUEMwLkxOS0UsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeXkxQQzAuTE5LRiwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBEZXZpY2UgKFNBVEEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoX0FEUiwgWmVybykgIC8vIF9BRFI6IEFkZHJlc3MKICAgICAgICAg ICAgICAgICAgICBEZXZpY2UgKFBSVDApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCAweEZGRkYpICAvLyBfQURSOiBBZGRyZXNzCiAgICAg ICAgICAgICAgICAgICAgICAgIE5hbWUgKERJUDAsIDB4MDApCiAgICAgICAgICAgICAgICAgICAg ICAgIE5hbWUgKEZERVYsIFplcm8pCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEZEUlAs IFplcm8pCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEhEVEYsIEJ1ZmZlciAoMHgwRSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog MDAwMCAqLyAgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhFRiwgMHgwMCwg IC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEY1ICAgICAgICAgICAgICAgLy8gLi4uLi4uCiAg ICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEhF VEYsIEJ1ZmZlciAoMHgxNSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHhBMCwgMHhFRiwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvKiAwMDA4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEY1LCAweDEwLCAw eDA5LCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8g IDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAsIDB4RUYgICAgICAgICAgICAgICAgICAgICAvLyAuLi4u LgogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChFUlRGLCBCdWZmZXIgKDB4MTUpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8qIDAwMDAgKi8gIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4QTAsIDB4RUYsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgLyogMDAwOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhGNSwgMHg1 RiwgMHgwMCwgIC8vIC4uLi4uLl8uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDEw ICovICAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEVGICAgICAgICAgICAgICAgICAgICAgLy8g Li4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAg TmFtZSAoSFBURiwgQnVmZmVyICgweDE1KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAweDAyLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweEEwLCAweEVGLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8qIDAwMDggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAsIDB4RjUs IDB4MTAsIDB4MDMsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog MDAxMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhFRiAgICAgICAgICAgICAgICAgICAg IC8vIC4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAg ICAgIE5hbWUgKEhRVEYsIEJ1ZmZlciAoMHgxQykKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgMHgwMiwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHhBMCwgMHhFRiwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvKiAwMDA4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEEwLCAw eEY1LCAweDEwLCAweDAzLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8qIDAwMTAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAsIDB4RUYsIDB4MTAsIDB4MDksIDB4 MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAxOCAqLyAg MHgwMCwgMHgwMCwgMHhBMCwgMHhFRiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4uLi4K ICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAo SFhURiwgQnVmZmVyICgweDFDKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweEEwLCAweEVGLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8qIDAwMDggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAsIDB4RjUsIDB4NUYs IDB4MDAsICAvLyAuLi4uLi5fLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAxMCAq LyAgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhFRiwgMHgxMCwgMHgwMywgMHgwMCwgIC8vIC4u Li4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDE4ICovICAweDAwLCAweDAw LCAweEEwLCAweEVGICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi4uLgogICAgICAgICAg ICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChERFRGLCBCdWZm ZXIgKDB4MEUpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8qIDAwMDAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAsIDB4 RTMsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAw OCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhFMyAgICAgICAgICAgICAgIC8v IC4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAg ICBDcmVhdGVCeXRlRmllbGQgKEREVEYsIDB4MDEsIERUQVQpCiAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZUJ5dGVGaWVsZCAoRERURiwgMHgwOCwgRFRGVCkKICAgICAgICAgICAgICAgICAg ICAgICAgTmFtZSAoREdURiwgQnVmZmVyICgweDE1KQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweEEwLCAweEUzLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAs IDB4RTMsIDB4MTAsIDB4MDMsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyogMDAxMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhFRiAgICAgICAgICAgICAg ICAgICAgIC8vIC4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAg ICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoREdURiwgMHgwMSwgR1RBVCkKICAgICAgICAgICAg ICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChER1RGLCAweDA4LCBHVEZUKQogICAgICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9TREQsIDEsIE5vdFNlcmlhbGl6ZWQpICAvLyBfU0REOiBT ZXQgRGV2aWNlIERhdGEKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRElQMCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgo U2l6ZU9mIChBcmcwKSA9PSAweDAyMDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHg5 QywgTTA3OCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKERQUDAgJiYgKE0w NzggJiAweDA4KSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBESVAwID0gMHgwMQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0 ZUZpZWxkIChBcmcwLCAweDlELCBCRkRTKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFRvSW50ZWdlciAoQkZEUywgRkRFVikgLyogXF9TQl8uUENJMC5HUDE4LlNBVEEuUFJUMC5GREVW ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcw LCAweDlBLCBCRlJQKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvSW50ZWdlciAo QkZSUCwgRkRSUCkgLyogXF9TQl8uUENJMC5HUDE4LlNBVEEuUFJUMC5GRFJQICovCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dURiwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9HVEY6 IEdldCBUYXNrIEZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKERJUDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKCgoKERWUzAgPT0gMHgwMSkgJiYgKChGREVW ICYgMHgwMSkgPT0gMHgwMSkpICYmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoKEZEUlAgJiAweDgwKSA9PSAweDgwKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEhRVEYpIC8q IFxfU0JfLlBDSTAuR1AxOC5TQVRBLlBSVDAuSFFURiAqLwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKEhQVEYpIC8qIFxfU0JfLlBDSTAuR1AxOC5TQVRBLlBSVDAuSFBURiAqLwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKCgoRFZTMCA9PSAweDAx KSAmJiAoKEZERVYgJiAweDAxKSA9PSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAxKSkgJiYgKChGRFJQICYgMHg4MCkgPT0gMHg4MCkpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoSEVURikgLyog XF9TQl8uUENJMC5HUDE4LlNBVEEuUFJUMC5IRVRGICovCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChIRFRG KSAvKiBcX1NCXy5QQ0kwLkdQMTguU0FUQS5QUlQwLkhEVEYgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChQUlQxKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDAxRkZGRikgIC8vIF9B RFI6IEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoRElQMCwgMHgwMCkKICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoRkRFViwgWmVybykKICAgICAgICAgICAgICAgICAg ICAgICAgTmFtZSAoRkRSUCwgWmVybykKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoSERU RiwgQnVmZmVyICgweDBFKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvKiAwMDAwICovICAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eEEwLCAweEVGLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8qIDAwMDggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAsIDB4RjUgICAgICAgICAg ICAgICAvLyAuLi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAg ICAgICAgICAgTmFtZSAoSEVURiwgQnVmZmVyICgweDE1KQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAweDAyLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweEEwLCAweEVGLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 QTAsIDB4RjUsIDB4MTAsIDB4MDksICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgLyogMDAxMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhFRiAgICAgICAgICAg ICAgICAgICAgIC8vIC4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAg ICAgICAgICAgICAgIE5hbWUgKEVSVEYsIEJ1ZmZlciAoMHgxNSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgMHgwMiwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhFRiwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweEEwLCAweEY1LCAweDVGLCAweDAwLCAgLy8gLi4uLi4uXy4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8qIDAwMTAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAsIDB4RUYgICAgICAg ICAgICAgICAgICAgICAvLyAuLi4uLgogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAg ICAgICAgICAgICAgICAgICBOYW1lIChIUFRGLCBCdWZmZXIgKDB4MTUpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwMDAgKi8gIDB4MDIs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAsIDB4RUYsIDB4MDAsICAvLyAuLi4uLi4uLgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHhBMCwgMHhGNSwgMHgxMCwgMHgwMywgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvKiAwMDEwICovICAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEVGICAg ICAgICAgICAgICAgICAgICAgLy8gLi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoSFFURiwgQnVmZmVyICgweDFDKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDAwICovICAw eDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEVGLCAweDAwLCAgLy8gLi4uLi4u Li4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4QTAsIDB4RjUsIDB4MTAsIDB4MDMsICAvLyAuLi4uLi4uLgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLyogMDAxMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHhBMCwgMHhF RiwgMHgxMCwgMHgwOSwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvKiAwMDE4ICovICAweDAwLCAweDAwLCAweEEwLCAweEVGICAgICAgICAgICAgICAgICAg ICAgICAgICAgLy8gLi4uLgogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAg ICAgICAgICAgICBOYW1lIChIWFRGLCBCdWZmZXIgKDB4MUMpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwMDAgKi8gIDB4MDIsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAsIDB4RUYsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHhBMCwgMHhGNSwgMHg1RiwgMHgwMCwgIC8vIC4uLi4uLl8uCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvKiAwMDEwICovICAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEVGLCAweDEwLCAw eDAzLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAw MTggKi8gIDB4MDAsIDB4MDAsIDB4QTAsIDB4RUYgICAgICAgICAgICAgICAgICAgICAgICAgICAv LyAuLi4uCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAg IE5hbWUgKEREVEYsIEJ1ZmZlciAoMHgwRSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHhBMCwgMHhFMywgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvKiAwMDA4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEUz ICAgICAgICAgICAgICAgLy8gLi4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAg ICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoRERURiwgMHgwMSwgRFRBVCkKICAg ICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChERFRGLCAweDA4LCBEVEZUKQog ICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChER1RGLCBCdWZmZXIgKDB4MTUpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwMDAgKi8g IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4QTAsIDB4RTMsIDB4MDAsICAvLyAuLi4u Li4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHhBMCwgMHhFMywgMHgxMCwgMHgwMywgIC8vIC4uLi4uLi4uCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKiAwMDEwICovICAweDAwLCAweDAwLCAweDAwLCAweEEwLCAw eEVGICAgICAgICAgICAgICAgICAgICAgLy8gLi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChER1RGLCAweDAxLCBH VEFUKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKERHVEYsIDB4MDgs IEdURlQpCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NERCwgMSwgTm90U2VyaWFs aXplZCkgIC8vIF9TREQ6IFNldCBEZXZpY2UgRGF0YQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVAwID0gMHgwMAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKChTaXplT2YgKEFyZzApID09IDB4MDIwMCkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29y ZEZpZWxkIChBcmcwLCAweDlDLCBNMDc4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmICgoRFBQMCAmJiAoTTA3OCAmIDB4MDgpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERJUDAgPSAweDAxCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4OUQsIEJGRFMpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgVG9JbnRlZ2VyIChCRkRTLCBGREVWKSAvKiBcX1NCXy5QQ0kwLkdQ MTguU0FUQS5QUlQxLkZERVYgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVh dGVCeXRlRmllbGQgKEFyZzAsIDB4OUEsIEJGUlApCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVG9JbnRlZ2VyIChCRlJQLCBGRFJQKSAvKiBcX1NCXy5QQ0kwLkdQMTguU0FUQS5QUlQx LkZEUlAgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfR1RGLCAwLCBOb3RTZXJp YWxpemVkKSAgLy8gX0dURjogR2V0IFRhc2sgRmlsZQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoRElQMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKCgoRFZTMSA9 PSAweDAxKSAmJiAoKEZERVYgJiAweDAxKSA9PSAweDAxKSkgJiYgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgoRkRSUCAmIDB4ODApID09IDB4ODApKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoSFFURikgLyogXF9TQl8uUENJMC5HUDE4LlNBVEEuUFJUMS5IUVRGICovCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoSFBURikgLyogXF9TQl8uUENJMC5HUDE4LlNB VEEuUFJUMS5IUFRGICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlm ICgoKChEVlMxID09IDB4MDEpICYmICgoRkRFViAmIDB4MDEpID09IAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEpKSAmJiAoKEZEUlAgJiAweDgwKSA9PSAweDgwKSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChIRVRGKSAvKiBcX1NCXy5QQ0kwLkdQMTguU0FUQS5QUlQxLkhFVEYgKi8KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKEhEVEYpIC8qIFxfU0JfLlBDSTAuR1AxOC5TQVRBLlBSVDEuSERURiAqLwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAg ICAgICAgICBTY29wZSAoXF9TQikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgRGV2aWNl IChXTUlXKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQs IEVpc2FJZCAoIlBOUDBDMTQiKSAvKiBXaW5kb3dzIE1hbmFnZW1lbnQgSW5zdHJ1bWVudGF0aW9u IERldmljZSAqLykgIC8vIF9ISUQ6IEhhcmR3YXJlIElECiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX1VJRCwgIldXTUkiKSAgLy8gX1VJRDogVW5pcXVlIElECiAgICAgICAgICAgICAgICAgICAg TmFtZSAoX1dERywgQnVmZmVyICgweDI4KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgMHgxNywgMHg4MiwgMHgzNSwgMHgxMSwgMHhDRiwg MHgyMSwgMHhGRCwgMHg0QiwgIC8vIC4uNS4uIS5LCiAgICAgICAgICAgICAgICAgICAgICAgIC8q IDAwMDggKi8gIDB4QTgsIDB4REMsIDB4QUIsIDB4RUIsIDB4OTQsIDB4ODAsIDB4OUEsIDB4NkUs ICAvLyAuLi4uLi4ubgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDEwICovICAweDQyLCAw eDQzLCAweDAxLCAweDAyLCAweDIxLCAweDEyLCAweDkwLCAweDA1LCAgLy8gQkMuLiEuLi4KICAg ICAgICAgICAgICAgICAgICAgICAgLyogMDAxOCAqLyAgMHg2NiwgMHhENSwgMHhEMSwgMHgxMSwg MHhCMiwgMHhGMCwgMHgwMCwgMHhBMCwgIC8vIGYuLi4uLi4uCiAgICAgICAgICAgICAgICAgICAg ICAgIC8qIDAwMjAgKi8gIDB4QzksIDB4MDYsIDB4MjksIDB4MTAsIDB4NDYsIDB4NDUsIDB4MDEs IDB4MDAgICAvLyAuLikuRkUuLgogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChXTUJDLCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgXl5QQ0kwLkdQUDQuTDg1MC5fUlNUICgpCiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIE5hbWUgKFdRRkUsIEJ1ZmZlciAoMHgwMkM4KQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgMHg0NiwgMHg0 RiwgMHg0RCwgMHg0MiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIEZPTUIuLi4uCiAgICAg ICAgICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gIDB4QjgsIDB4MDIsIDB4MDAsIDB4MDAsIDB4 MjAsIDB4MDYsIDB4MDAsIDB4MDAsICAvLyAuLi4uIC4uLgogICAgICAgICAgICAgICAgICAgICAg ICAvKiAwMDEwICovICAweDQ0LCAweDUzLCAweDAwLCAweDAxLCAweDFBLCAweDdELCAweERBLCAw eDU0LCAgLy8gRFMuLi59LlQKICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAxOCAqLyAgMHgx OCwgMHhEQiwgMHg4MiwgMHgwMCwgMHgwMSwgMHgwNiwgMHgxOCwgMHg0MiwgIC8vIC4uLi4uLi5C CiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwMjAgKi8gIDB4MjAsIDB4QzIsIDB4MDIsIDB4 ODksIDB4QzAsIDB4NjEsIDB4NjgsIDB4MjQsICAvLyAgLi4uLmFoJAogICAgICAgICAgICAgICAg ICAgICAgICAvKiAwMDI4ICovICAweEQ0LCAweDAxLCAweDBDLCAweDQ2LCAweDAzLCAweDg4LCAw eEU0LCAweDQwLCAgLy8gLi4uRi4uLkAKICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAzMCAq LyAgMHhDOCwgMHgwNSwgMHgxMywgMHgxMywgMHgyMCwgMHgwMiwgMHg0MiwgMHg1RSwgIC8vIC4u Li4gLkJeCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwMzggKi8gIDB4MDUsIDB4RDgsIDB4 MTQsIDB4NjAsIDB4MTIsIDB4NDQsIDB4RkQsIDB4RkIsICAvLyAuLi5gLkQuLgogICAgICAgICAg ICAgICAgICAgICAgICAvKiAwMDQwICovICAweDQzLCAweDk0LCAweDA0LCAweDg3LCAweDEyLCAw eDAyLCAweDIxLCAweDg5LCAgLy8gQy4uLi4uIS4KICAgICAgICAgICAgICAgICAgICAgICAgLyog MDA0OCAqLyAgMHgwMiwgMHhDQywgMHgwQiwgMHhEMCwgMHgyRCwgMHhDMCwgMHhCMCwgMHgwMCwg IC8vIC4uLi4tLi4uCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwNTAgKi8gIDB4REIsIDB4 MDIsIDB4NEMsIDB4MEIsIDB4NzAsIDB4MEMsIDB4NDksIDB4QTUsICAvLyAuLkwucC5JLgogICAg ICAgICAgICAgICAgICAgICAgICAvKiAwMDU4ICovICAweDgxLCAweDUzLCAweDAyLCAweDRCLCAw eDgxLCAweDkwLCAweDUwLCAweDAxLCAgLy8gLlMuSy4uUC4KICAgICAgICAgICAgICAgICAgICAg ICAgLyogMDA2MCAqLyAgMHhDQSwgMHgwNSwgMHhGOCwgMHgxNiwgMHhBMCwgMHgxRCwgMHg1MSwg MHg5MiwgIC8vIC4uLi4uLlEuCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwNjggKi8gIDB4 MDUsIDB4NTgsIDB4ODYsIDB4MTEsIDB4ODEsIDB4NDcsIDB4MTEsIDB4RDksICAvLyAuWC4uLkcu LgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDcwICovICAweDY4LCAweDFDLCAweDFBLCAw eDNCLCAweDBDLCAweENCLCAweDA0LCAweEQzLCAgLy8gaC4uOy4uLi4KICAgICAgICAgICAgICAg ICAgICAgICAgLyogMDA3OCAqLyAgMHgyMCwgMHgwRSwgMHhBMywgMHg2QywgMHg2NCwgMHgxMSwg MHg3OCwgMHg0MiwgIC8vICAuLmxkLnhCCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAwODAg Ki8gIDB4OUQsIDB4MEEsIDB4OTAsIDB4MkIsIDB4NDAsIDB4OTgsIDB4MDAsIDB4RjEsICAvLyAu Li4rQC4uLgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDg4ICovICAweEE4LCAweEMyLCAw eDY4LCAweDBFLCAweDhBLCAweEM4LCAweDg3LCAweDQ2LCAgLy8gLi5oLi4uLkYKICAgICAgICAg ICAgICAgICAgICAgICAgLyogMDA5MCAqLyAgMHg4OSwgMHgxOSwgMHgxMywgMHg4MSwgMHhFRCwg MHgxQywgMHg1QiwgMHhBMywgIC8vIC4uLi4uLlsuCiAgICAgICAgICAgICAgICAgICAgICAgIC8q IDAwOTggKi8gIDB4MzgsIDB4OEQsIDB4QzIsIDB4MDUsIDB4NDgsIDB4QzcsIDB4RDAsIDB4MDgs ICAvLyA4Li4uSC4uLgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMEEwICovICAweDhFLCAw eDJCLCAweDQxLCAweDg3LCAweDMzLCAweEQwLCAweDE0LCAweEEyLCAgLy8gLitBLjMuLi4KICAg ICAgICAgICAgICAgICAgICAgICAgLyogMDBBOCAqLyAgMHg0NSwgMHgyOCwgMHg0OCwgMHg4MCwg MHg3NSwgMHgwQywgMHg2MSwgMHgxRSwgIC8vIEUoSC51LmEuCiAgICAgICAgICAgICAgICAgICAg ICAgIC8qIDAwQjAgKi8gIDB4NTIsIDB4OTQsIDB4ODAsIDB4RjEsIDB4NjIsIDB4ODQsIDB4ODgs IDB4N0EsICAvLyBSLi4uYi4uegogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMEI4ICovICAw eDU0LCAweDA2LCAweDBDLCAweDE0LCAweDI0LCAweEQwLCAweDU5LCAweEM1LCAgLy8gVC4uLiQu WS4KICAgICAgICAgICAgICAgICAgICAgICAgLyogMDBDMCAqLyAgMHg4OCwgMHg1MiwgMHgzNCwg MHg5OCwgMHgyMCwgMHgwMywgMHg3QiwgMHgwMiwgIC8vIC5SNC4gLnsuCiAgICAgICAgICAgICAg ICAgICAgICAgIC8qIDAwQzggKi8gIDB4QzYsIDB4ODgsIDB4MTcsIDB4QTIsIDB4RDUsIDB4NTEs IDB4MTEsIDB4OUMsICAvLyAuLi4uLlEuLgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMEQw ICovICAweDlFLCAweDA3LCAweDQzLCAweDI2LCAweDcxLCAweDNDLCAweDE4LCAweDE5LCAgLy8g Li5DJnE8Li4KICAgICAgICAgICAgICAgICAgICAgICAgLyogMDBEOCAqLyAgMHgxMCwgMHhDMiwg MHgzQSwgMHg4RCwgMHgwMywgMHgzNSwgMHg4MSwgMHhERCwgIC8vIC4uOi4uNS4uCiAgICAgICAg ICAgICAgICAgICAgICAgIC8qIDAwRTAgKi8gIDB4MEIsIDB4MzAsIDB4ODYsIDB4MjAsIDB4Njcs IDB4MDIsIDB4QUMsIDB4MDksICAvLyAuMC4gZy4uLgogICAgICAgICAgICAgICAgICAgICAgICAv KiAwMEU4ICovICAweDEwLCAweDI3LCAweDQwLCAweDE5LCAweDhBLCAweEJDLCAweDA5LCAweEIw LCAgLy8gLidALi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgLyogMDBGMCAqLyAgMHgwNSwg MHg0MiwgMHg4NiwgMHg1NCwgMHgyMywgMHg4QSwgMHgwNiwgMHg1OCwgIC8vIC5CLlQjLi5YCiAg ICAgICAgICAgICAgICAgICAgICAgIC8qIDAwRjggKi8gIDB4MjEsIDB4ODgsIDB4QzYsIDB4MTYs IDB4QTUsIDB4NDEsIDB4NDAsIDB4ODEsICAvLyAhLi4uLkFALgogICAgICAgICAgICAgICAgICAg ICAgICAvKiAwMTAwICovICAweEM0LCAweDhBLCAweDYyLCAweEE4LCAweDE2LCAweDIxLCAweDM0 LCAweENDLCAgLy8gLi5iLi4hNC4KICAgICAgICAgICAgICAgICAgICAgICAgLyogMDEwOCAqLyAg MHg3OCwgMHhBMSwgMHgwRSwgMHhENCwgMHg0OCwgMHhCNSwgMHgyMSwgMHhDOSwgIC8vIHguLi5I LiEuCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAxMTAgKi8gIDB4RkUsIDB4MjAsIDB4NDgs IDB4QjgsIDB4NjMsIDB4ODEsIDB4MjQsIDB4ODAsICAvLyAuIEguYy4kLgogICAgICAgICAgICAg ICAgICAgICAgICAvKiAwMTE4ICovICAweDI4LCAweEQyLCAweDY4LCAweDUwLCAweDQ3LCAweDgx LCAweDA0LCAweDhGLCAgLy8gKC5oUEcuLi4KICAgICAgICAgICAgICAgICAgICAgICAgLyogMDEy MCAqLyAgMHgwNiwgMHgzRSwgMHgxNiwgMHg5QywgMHhENCwgMHhBMSwgMHg5RCwgMHhEQywgIC8v IC4+Li4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAxMjggKi8gIDB4ODksIDB4MDUs IDB4MzksIDB4REQsIDB4RTMsIDB4QUIsIDB4RjMsIDB4NEMsICAvLyAuLjkuLi4uTAogICAgICAg ICAgICAgICAgICAgICAgICAvKiAwMTMwICovICAweDQwLCAweDQ2LCAweENGLCAweEIwLCAweDEy LCAweEZDLCAweDI2LCAweEY4LCAgLy8gQEYuLi4uJi4KICAgICAgICAgICAgICAgICAgICAgICAg LyogMDEzOCAqLyAgMHhGRiwgMHg3RiwgMHg0OCwgMHhDMCwgMHhCQiwgMHgwNiwgMHhENCwgMHhF RCwgIC8vIC4uSC4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAxNDAgKi8gIDB4RTAs IDB4RDksIDB4ODAsIDB4MEQsIDB4MzMsIDB4MUMsIDB4NjYsIDB4ODgsICAvLyAuLi4uMy5mLgog ICAgICAgICAgICAgICAgICAgICAgICAvKiAwMTQ4ICovICAweDlFLCAweDcyLCAweEI4LCAweDEz LCAweDM4LCAweDQ0LCAweDA2LCAweEU4LCAgLy8gLnIuLjhELi4KICAgICAgICAgICAgICAgICAg ICAgICAgLyogMDE1MCAqLyAgMHgzMSwgMHgzRCwgMHgxNiwgMHg2MCwgMHhFNywgMHg3NiwgMHgz MiwgMHhDRiwgIC8vIDE9LmAudjIuCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAxNTggKi8g IDB4MDQsIDB4QTUsIDB4MEEsIDB4MzAsIDB4N0IsIDB4M0UsIDB4RDAsIDB4QzAsICAvLyAuLi4w ez4uLgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMTYwICovICAweDEyLCAweDFDLCAweDhG LCAweDBGLCAweDAzLCAweDFFLCAweDM2LCAweDNGLCAgLy8gLi4uLi4uNj8KICAgICAgICAgICAg ICAgICAgICAgICAgLyogMDE2OCAqLyAgMHgxNSwgMHg3OCwgMHgxMCwgMHg3QywgMHg2NCwgMHg4 NiwgMHhGNiwgMHgxOCwgIC8vIC54LnxkLi4uCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAx NzAgKi8gIDB4NEYsIDB4RUIsIDB4OUQsIDB4QzAsIDB4NDcsIDB4ODUsIDB4QzMsIDB4NjIsICAv LyBPLi4uRy4uYgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMTc4ICovICAweDYyLCAweDIx LCAweEE0LCAweDAwLCAweDQyLCAweEUzLCAweDAxLCAweEJGLCAgLy8gYiEuLkIuLi4KICAgICAg ICAgICAgICAgICAgICAgICAgLyogMDE4MCAqLyAgMHhFMiwgMHg0MywgMHg4MSwgMHgxMCwgMHg1 RSwgMHgxQywgMHgzQywgMHg1RiwgIC8vIC5DLi5eLjxfCiAgICAgICAgICAgICAgICAgICAgICAg IC8qIDAxODggKi8gIDB4MTMsIDB4MTQsIDB4MDksIDB4OEMsIDB4MUUsIDB4OTAsIDB4RkQsIDB4 MEEsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMTkwICovICAweDQw LCAweDA4LCAweEZFLCAweDdBLCAweDcwLCAweDQ0LCAweDBGLCAweDEwLCAgLy8gQC4uenBELi4K ICAgICAgICAgICAgICAgICAgICAgICAgLyogMDE5OCAqLyAgMHgxMSwgMHgxRSwgMHgyMywgMHhB QywgMHg3OSwgMHg0RSwgMHhCQSwgMHg0RiwgIC8vIC4uIy55Ti5PCiAgICAgICAgICAgICAgICAg ICAgICAgIC8qIDAxQTAgKi8gIDB4RjQsIDB4MEUsIDB4NEQsIDB4OTQsIDB4QzIsIDB4MEIsIDB4 RTcsIDB4ODUsICAvLyAuLk0uLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMUE4ICov ICAweEMyLCAweDI3LCAweDA2LCAweDhGLCAweDNBLCAweEQ4LCAweDdCLCAweDg1LCAgLy8gLicu Ljouey4KICAgICAgICAgICAgICAgICAgICAgICAgLyogMDFCMCAqLyAgMHg4NywgMHg4MCwgMHgz QiwgMHg0NiwgMHg3OCwgMHgwOCwgMHhGQywgMHgxQywgIC8vIC4uO0Z4Li4uCiAgICAgICAgICAg ICAgICAgICAgICAgIC8qIDAxQjggKi8gIDB4NzAsIDB4MDYsIDB4MDcsIDB4NzQsIDB4M0EsIDB4 ODcsIDB4NzAsIDB4NDAsICAvLyBwLi50Oi5wQAogICAgICAgICAgICAgICAgICAgICAgICAvKiAw MUMwICovICAweDUxLCAweENFLCAweEUyLCAweDg4LCAweDdDLCAweEMwLCAweDMwLCAweEMyLCAg Ly8gUS4uLnwuMC4KICAgICAgICAgICAgICAgICAgICAgICAgLyogMDFDOCAqLyAgMHg3OSwgMHgz RSwgMHg1NywgMHgzQywgMHg2NywgMHg3OCwgMHgxQywgMHg2NywgIC8vIHk+VzxneC5nCiAgICAg ICAgICAgICAgICAgICAgICAgIC8qIDAxRDAgKi8gIDB4RjEsIDB4QzgsIDB4NzAsIDB4NTIsIDB4 QUYsIDB4MDMsIDB4M0UsIDB4MTAsICAvLyAuLnBSLi4+LgogICAgICAgICAgICAgICAgICAgICAg ICAvKiAwMUQ4ICovICAweDY4LCAweEE1LCAweDNBLCAweDhCLCAweDU4LCAweDM2LCAweDg4LCAw eDZDLCAgLy8gaC46Llg2LmwKICAgICAgICAgICAgICAgICAgICAgICAgLyogMDFFMCAqLyAgMHhB QywgMHhENSwgMHgwNCwgMHg5MiwgMHgwNSwgMHg2NiwgMHgyQSwgMHgwRCwgIC8vIC4uLi4uZiou CiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAxRTggKi8gIDB4MDksIDB4MEMsIDB4NTAsIDB4 Q0YsIDB4MDEsIDB4MjYsIDB4QjAsIDB4NDgsICAvLyAuLlAuLiYuSAogICAgICAgICAgICAgICAg ICAgICAgICAvKiAwMUYwICovICAweDYwLCAweDFELCAweDRGLCAweEI4LCAweDNDLCAweDBBLCAw eDg5LCAweDgzLCAgLy8gYC5PLjwuLi4KICAgICAgICAgICAgICAgICAgICAgICAgLyogMDFGOCAq LyAgMHhEMCwgMHhBOCwgMHgwQywgMHg2NywgMHgzOSwgMHg3MCwgMHgxNCwgMHhDNCwgIC8vIC4u Lmc5cC4uCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAyMDAgKi8gIDB4QTcsIDB4MDAsIDB4 NDcsIDB4ODUsIDB4OTAsIDB4OTMsIDB4MDMsIDB4MDEsICAvLyAuLkcuLi4uLgogICAgICAgICAg ICAgICAgICAgICAgICAvKiAwMjA4ICovICAweEZBLCAweEZGLCAweDdGLCAweDkyLCAweDc4LCAw eENGLCAweDMwLCAweEM0LCAgLy8gLi4uLnguMC4KICAgICAgICAgICAgICAgICAgICAgICAgLyog MDIxMCAqLyAgMHhCMywgMHg4MywgMHgwOSwgMHgxQywgMHgwQywgMHg0MiwgMHg4NywgMHgwOCwg IC8vIC4uLi4uQi4uCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAyMTggKi8gIDB4MUYsIDB4 MUIsIDB4RjAsIDB4MzcsIDB4MDQsIDB4OUYsIDB4MDcsIDB4QjgsICAvLyAuLi43Li4uLgogICAg ICAgICAgICAgICAgICAgICAgICAvKiAwMjIwICovICAweEMwLCAweDczLCAweDA4LCAweDY4LCAw eDZFLCAweDFELCAweEU3LCAweEZBLCAgLy8gLnMuaG4uLi4KICAgICAgICAgICAgICAgICAgICAg ICAgLyogMDIyOCAqLyAgMHhENiwgMHhDMSwgMHgxNiwgMHg3QSwgMHgyOCwgMHg3QywgMHg1OCwg MHhFNCwgIC8vIC4uLnoofFguCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAyMzAgKi8gIDB4 M0MsIDB4NDEsIDB4QzcsIDB4QzEsIDB4QzcsIDB4MTMsIDB4MkYsIDB4MDEsICAvLyA8QS4uLi4v LgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMjM4ICovICAweDNGLCAweDI2LCAweEMwLCAw eEJGLCAweDgyLCAweDc4LCAweDEyLCAweEE3LCAgLy8gPyYuLi54Li4KICAgICAgICAgICAgICAg ICAgICAgICAgLyogMDI0MCAqLyAgMHhGMCwgMHgwMiwgMHhGMiwgMHhGNiwgMHg5MSwgMHhDMCwg MHg2MywgMHhDMiwgIC8vIC4uLi4uLmMuCiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDAyNDgg Ki8gIDB4MUQsIDB4MTMsIDB4RTAsIDB4MDEsIDB4RjksIDB4NTYsIDB4RTAsIDB4RDksICAvLyAu Li4uLlYuLgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMjUwICovICAweDNGLCAweDE5LCAw eEIwLCAweDM5LCAweDg0LCAweDA4LCAweDEzLCAweENELCAgLy8gPy4uOS4uLi4KICAgICAgICAg ICAgICAgICAgICAgICAgLyogMDI1OCAqLyAgMHhGMCwgMHg5OCwgMHhDOCwgMHgxMCwgMHhGQSwg MHhFRCwgMHhGOCwgMHg0NCwgIC8vIC4uLi4uLi5ECiAgICAgICAgICAgICAgICAgICAgICAgIC8q IDAyNjAgKi8gIDB4RTAsIDB4NzEsIDB4RjEsIDB4NzEsIDB4RkEsIDB4NEMsIDB4QzMsIDB4QjAs ICAvLyAucS5xLkwuLgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMjY4ICovICAweDVGLCAw eDU3LCAweDMwLCAweDgzLCAweDdBLCAweEEzLCAweEYwLCAweDMxLCAgLy8gX1cwLnouLjEKICAg ICAgICAgICAgICAgICAgICAgICAgLyogMDI3MCAqLyAgMHhDMCwgMHhCMCwgMHgxRSwgMHgzOSwg MHg4NywgMHgzNSwgMHg1QSwgMHhEOCwgIC8vIC4uLjkuNVouCiAgICAgICAgICAgICAgICAgICAg ICAgIC8qIDAyNzggKi8gIDB4MDMsIDB4N0UsIDB4OUEsIDB4RjAsIDB4NEQsIDB4QzQsIDB4MzMs IDB4RjMsICAvLyAufi4uTS4zLgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMjgwICovICAw eDFELCAweEM2LCAweDY3LCAweDEwLCAweEIwLCAweDAwLCAweEUyLCAweENGLCAgLy8gLi5nLi4u Li4KICAgICAgICAgICAgICAgICAgICAgICAgLyogMDI4OCAqLyAgMHgwQiwgMHhFRiwgMHgwMCwg MHg5RSwgMHg4MCwgMHgwMSwgMHhEOSwgMHhDNCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAg ICAgICAgICAgIC8qIDAyOTAgKi8gIDB4N0QsIDB4MUEsIDB4MDAsIDB4QzcsIDB4RTAsIDB4MjIs IDB4OUMsIDB4RTksICAvLyB9Li4uLiIuLgogICAgICAgICAgICAgICAgICAgICAgICAvKiAwMjk4 ICovICAweDNCLCAweEM1LCAweDQxLCAweDNDLCAweDNFLCAweEUwLCAweDA5LCAweDJBLCAgLy8g Oy5BPD4uLioKICAgICAgICAgICAgICAgICAgICAgICAgLyogMDJBMCAqLyAgMHhCNCwgMHhFOSwg MHg1MywgMHhBMywgMHg1MSwgMHhBQiwgMHgwNiwgMHg2NSwgIC8vIC4uUy5RLi5lCiAgICAgICAg ICAgICAgICAgICAgICAgIC8qIDAyQTggKi8gIDB4NkEsIDB4OTQsIDB4NjksIDB4NTAsIDB4QUIs IDB4NEYsIDB4QTUsIDB4QzYsICAvLyBqLmlQLk8uLgogICAgICAgICAgICAgICAgICAgICAgICAv KiAwMkIwICovICAweDhDLCAweDFELCAweDE1LCAweEZDLCAweEZGLCAweDk3LCAweEY3LCAweDZD LCAgLy8gLi4uLi4uLmwKICAgICAgICAgICAgICAgICAgICAgICAgLyogMDJCOCAqLyAgMHhEMCwg MHg2MCwgMHgxRCwgMHgwRSwgMHg4NCwgMHg0QSwgMHhBNywgMHg5MiwgIC8vIC5gLi4uSi4uCiAg ICAgICAgICAgICAgICAgICAgICAgIC8qIDAyQzAgKi8gIDB4MTEsIDB4MTAsIDB4MDUsIDB4MDEs IDB4MTEsIDB4OTAsIDB4RkYsIDB4RkYgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAo U01CKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMTQwMDAw KSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChTQlJW LCBQQ0lfQ29uZmlnLCAweDA4LCAweDAxMDApCiAgICAgICAgICAgICAgICBGaWVsZCAoU0JSViwg QW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIFJWSUQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDVBKSwgCiAg ICAgICAgICAgICAgICAgICAgSTFGLCAgICAxLCAKICAgICAgICAgICAgICAgICAgICBJMTJGLCAg IDEsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg3QSksIAogICAgICAgICAgICAgICAg ICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgRzMxTywgICAxLCAKICAgICAgICAg ICAgICAgICAgICBPZmZzZXQgKDB4RDkpLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDYs IAogICAgICAgICAgICAgICAgICAgIEFDSVIsICAgMQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoUE1JTywgU3lzdGVtSU8sIDB4MENENiwgMHgwMikK ICAgICAgICAgICAgICAgIEZpZWxkIChQTUlPLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElOUE0sICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgREFQTSwgICA4CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg SW5kZXhGaWVsZCAoSU5QTSwgREFQTSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBIUEFELCAgIDMyLCAKICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4NjApLCAKICAgICAgICAgICAgICAgICAgICBQMUVCLCAgIDE2CiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChFUk1HLCBT eXN0ZW1NZW1vcnksIDB4RkVEODE1MDAsIDB4MDNGRikKICAgICAgICAgICAgICAgIEZpZWxkIChF Uk1HLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDBCKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICA0 LCAKICAgICAgICAgICAgICAgICAgICBQMklTLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIFAy V1MsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE4KSwgCiAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDFBKSwgCiAgICAgICAgICAgICAgICAgICAgR0UxMCwgICAxLCAK ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MUMpLCAKICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MUUpLCAKICAgICAgICAgICAgICAgICAgICBHRTExLCAgIDEsIAogICAgICAgICAg ICAgICAgICAgIE9mZnNldCAoMHgyMCksIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgy MiksIAogICAgICAgICAgICAgICAgICAgIFAwOFMsICAgMSwgCiAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDQwKSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDQyKSwgCiAgICAg ICAgICAgICAgICAgICAgR0UxMiwgICAxLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 NDYpLCAKICAgICAgICAgICAgICAgICAgICBHUzE3LCAgIDEsIAogICAgICAgICAgICAgICAgICAg ICAgICAsICAgNSwgCiAgICAgICAgICAgICAgICAgICAgR1YxNywgICAxLCAKICAgICAgICAgICAg ICAgICAgICBHRTE3LCAgIDEsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxMDgpLCAK ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTBBKSwgCiAgICAgICAgICAgICAgICAgICAg UDMzSSwgICAxLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTBDKSwgCiAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDEwRSksIAogICAgICAgICAgICAgICAgICAgIFAzN0ksICAg MSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDExOCksIAogICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHgxMUEpLCAKICAgICAgICAgICAgICAgICAgICBQM0JJLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxMUMpLCAKICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4MTFFKSwgCiAgICAgICAgICAgICAgICAgICAgUDQwSSwgICAxLCAKICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4MTUwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAyMiwg CiAgICAgICAgICAgICAgICAgICAgUDBDTywgICAxLCAKICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4MTU0KSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAyMiwgCiAgICAgICAgICAg ICAgICAgICAgUDBETywgICAxLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTY0KSwg CiAgICAgICAgICAgICAgICAgICAgICAgICwgICAyMiwgCiAgICAgICAgICAgICAgICAgICAgUDEw UywgICAxLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTg0KSwgCiAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDE4NiksIAogICAgICAgICAgICAgICAgICAgIFA2MUksICAgMSwg CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE4OCksIAogICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHgxOEEpLCAKICAgICAgICAgICAgICAgICAgICBQNjJJLCAgIDEsIAogICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHgxOEMpLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4MThFKSwgCiAgICAgICAgICAgICAgICAgICAgUDYzSSwgICAxLCAKICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4MTkwKSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE5Miks IAogICAgICAgICAgICAgICAgICAgIFA2NEksICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweDIwQyksIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyMEUpLCAKICAgICAg ICAgICAgICAgICAgICBCT0lELCAgIDEKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBPcGVyYXRpb25SZWdpb24gKEVSTU0sIFN5c3RlbU1lbW9yeSwgMHhGRUQ4MDAwMCwgMHgxMDAw KQogICAgICAgICAgICAgICAgRmllbGQgKEVSTU0sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwMCksIAog ICAgICAgICAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgRTAxUywg ICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgICAg IEUwNVMsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICA5LCAKICAgICAgICAgICAg ICAgICAgICBFMTVTLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEUxNlMsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICwgICA1LCAKICAgICAgICAgICAgICAgICAgICBFMjJTLCAgIDEs IAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyMDQpLCAKICAgICAgICAgICAgICAgICAg ICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEUwMUUsICAgMSwgCiAgICAgICAgICAg ICAgICAgICAgICAgICwgICAzLCAKICAgICAgICAgICAgICAgICAgICBFMDVFLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAsICAgOSwgCiAgICAgICAgICAgICAgICAgICAgRTE1RSwgICAx LCAKICAgICAgICAgICAgICAgICAgICBFMTZFLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAg ICAsICAgNSwgCiAgICAgICAgICAgICAgICAgICAgRTIyRSwgICAxLCAKICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4MjA4KSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAxLCAKICAg ICAgICAgICAgICAgICAgICBFMDFDLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAsICAg MywgCiAgICAgICAgICAgICAgICAgICAgRTA1QywgICAxLCAKICAgICAgICAgICAgICAgICAgICAg ICAgLCAgIDQsIAogICAgICAgICAgICAgICAgICAgIEUxMEMsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgICwgICA0LCAKICAgICAgICAgICAgICAgICAgICBFMTVDLCAgIDEsIAogICAgICAg ICAgICAgICAgICAgIEUxNkMsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICA0LCAK ICAgICAgICAgICAgICAgICAgICBFMjFDLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEUyMkMs ICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAzLCAKICAgICAgICAgICAgICAgICAg ICBFMjZDLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyMEMpLCAKICAgICAg ICAgICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEUwMUwsICAgMSwg CiAgICAgICAgICAgICAgICAgICAgICAgICwgICAzLCAKICAgICAgICAgICAgICAgICAgICBFMDVM LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgOSwgCiAgICAgICAgICAgICAgICAg ICAgRTE1TCwgICAxLCAKICAgICAgICAgICAgICAgICAgICBFMTZMLCAgIDEsIAogICAgICAgICAg ICAgICAgICAgICAgICAsICAgNSwgCiAgICAgICAgICAgICAgICAgICAgRTIyTCwgICAxLCAKICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4Mjg4KSwgCiAgICAgICAgICAgICAgICAgICAgICAg ICwgICAxLCAKICAgICAgICAgICAgICAgICAgICBDTFBTLCAgIDEsIAogICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHgyOTkpLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDcsIAogICAg ICAgICAgICAgICAgICAgIEcxNUEsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgw eDJBQyksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgNiwgCiAgICAgICAgICAgICAgICAg ICAgU1JCVCwgICAyLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MkIwKSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgICAgICBTTFBTLCAgIDIs IAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyQjIpLCAKICAgICAgICAgICAgICAgICAg ICAgICAgLCAgIDQsIAogICAgICAgICAgICAgICAgICAgIFNQQlQsICAgMiwgCiAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDM2MiksIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgNiwg CiAgICAgICAgICAgICAgICAgICAgTVQzQSwgICAxLCAKICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4Mzc3KSwgCiAgICAgICAgICAgICAgICAgICAgRVBOTSwgICAxLCAKICAgICAgICAgICAg ICAgICAgICBEUFBGLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgzQkIpLCAK ICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDYsIAogICAgICAgICAgICAgICAgICAgIFBXREUs ICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDNCRSksIAogICAgICAgICAgICAg ICAgICAgICAgICAsICAgNSwgCiAgICAgICAgICAgICAgICAgICAgQUxMUywgICAxLCAKICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4M0M4KSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwg ICAyLCAKICAgICAgICAgICAgICAgICAgICBURlRFLCAgIDEsIAogICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHgzREYpLCAKICAgICAgICAgICAgICAgICAgICBCTE5LLCAgIDIsIAogICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHgzRjApLCAKICAgICAgICAgICAgICAgICAgICBQSFlELCAg IDEsIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAg UlNUVSwgICAxLCAKICAgICAgICAgICAgICAgICAgICBVUzVSLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHg0MDApLCAKICAgICAgICAgICAgICAgICAgICBGMENULCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIEYwTVMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgRjBGUSwg ICA4LCAKICAgICAgICAgICAgICAgICAgICBGMExELCAgIDgsIAogICAgICAgICAgICAgICAgICAg IEYwTUQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgRjBNUCwgICA4LCAKICAgICAgICAgICAg ICAgICAgICBMVDBMLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIExUMEgsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgTVQwTCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBNVDBILCAgIDgs IAogICAgICAgICAgICAgICAgICAgIEhUMEwsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgSFQw SCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBMUkcwLCAgIDgsIAogICAgICAgICAgICAgICAg ICAgIExIQzAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDQxMCksIAogICAg ICAgICAgICAgICAgICAgIEYxQ1QsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgRjFNUywgICA4 LCAKICAgICAgICAgICAgICAgICAgICBGMUZRLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIEYx TEQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgRjFNRCwgICA4LCAKICAgICAgICAgICAgICAg ICAgICBGMU1QLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIExUMUwsICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgTFQxSCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBNVDFMLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIE1UMUgsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgSFQxTCwg ICA4LCAKICAgICAgICAgICAgICAgICAgICBIVDFILCAgIDgsIAogICAgICAgICAgICAgICAgICAg IExSRzEsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgTEhDMSwgICA4LCAKICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4NDIwKSwgCiAgICAgICAgICAgICAgICAgICAgRjJDVCwgICA4LCAK ICAgICAgICAgICAgICAgICAgICBGMk1TLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIEYyRlEs ICAgOCwgCiAgICAgICAgICAgICAgICAgICAgRjJMRCwgICA4LCAKICAgICAgICAgICAgICAgICAg ICBGMk1ELCAgIDgsIAogICAgICAgICAgICAgICAgICAgIEYyTVAsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgTFQyTCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBMVDJILCAgIDgsIAogICAg ICAgICAgICAgICAgICAgIE1UMkwsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgTVQySCwgICA4 LCAKICAgICAgICAgICAgICAgICAgICBIVDJMLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIEhU MkgsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgTFJHMiwgICA4LCAKICAgICAgICAgICAgICAg ICAgICBMSEMyLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg0MzApLCAKICAg ICAgICAgICAgICAgICAgICBGM0NULCAgIDgsIAogICAgICAgICAgICAgICAgICAgIEYzTVMsICAg OCwgCiAgICAgICAgICAgICAgICAgICAgRjNGUSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBG M0xELCAgIDgsIAogICAgICAgICAgICAgICAgICAgIEYzTUQsICAgOCwgCiAgICAgICAgICAgICAg ICAgICAgRjNNUCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBMVDNMLCAgIDgsIAogICAgICAg ICAgICAgICAgICAgIExUM0gsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgTVQzTCwgICA4LCAK ICAgICAgICAgICAgICAgICAgICBNVDNILCAgIDgsIAogICAgICAgICAgICAgICAgICAgIEhUM0ws ICAgOCwgCiAgICAgICAgICAgICAgICAgICAgSFQzSCwgICA4LCAKICAgICAgICAgICAgICAgICAg ICBMUkczLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIExIQzMsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDcwMCksIAogICAgICAgICAgICAgICAgICAgIFNFQywgICAgOCwg CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDcwMiksIAogICAgICAgICAgICAgICAgICAg IE1JTiwgICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEQwMSksIAogICAgICAg ICAgICAgICAgICAgIE1YMDEsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEQw NyksIAogICAgICAgICAgICAgICAgICAgIE1YMDcsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweEQwRSksIAogICAgICAgICAgICAgICAgICAgIE1YMTQsICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgTVgxNSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBNWDE2LCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhEMTUpLCAKICAgICAgICAgICAgICAgICAgICBN WDIxLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIE1YMjIsICAgOCwgCiAgICAgICAgICAgICAg ICAgICAgTVgyMywgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4RDFCKSwgCiAg ICAgICAgICAgICAgICAgICAgTVgyNywgICA4LCAKICAgICAgICAgICAgICAgICAgICBNWDI4LCAg IDgsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhEMjApLCAKICAgICAgICAgICAgICAg ICAgICBNWDMyLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIE1YMzMsICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgTVgzNCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4RDI5 KSwgCiAgICAgICAgICAgICAgICAgICAgTVg0MSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4RDJDKSwgCiAgICAgICAgICAgICAgICAgICAgTVg0NCwgICA4LCAKICAgICAgICAg ICAgICAgICAgICBPZmZzZXQgKDB4RDMzKSwgCiAgICAgICAgICAgICAgICAgICAgTVg1MSwgICA4 LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4RDM1KSwgCiAgICAgICAgICAgICAgICAg ICAgTVg1MywgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4RDM5KSwgCiAgICAg ICAgICAgICAgICAgICAgTVg1NywgICA4LCAKICAgICAgICAgICAgICAgICAgICBNWDU4LCAgIDgs IAogICAgICAgICAgICAgICAgICAgIE1YNTksICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweEQ0MiksIAogICAgICAgICAgICAgICAgICAgIE1YNjYsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweEQ2NiksIAogICAgICAgICAgICAgICAgICAgIE0xMDIsICAgOCwg CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEQ2QyksIAogICAgICAgICAgICAgICAgICAg IE0xMDgsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweERBQSksIAogICAgICAg ICAgICAgICAgICAgIE0xNzAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweERB RiksIAogICAgICAgICAgICAgICAgICAgIE0xNzUsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg TTE3NiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4REI0KSwgCiAgICAgICAg ICAgICAgICAgICAgTTE4MCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBNMTgxLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIE0xODIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweERDNSksIAogICAgICAgICAgICAgICAgICAgIE0xOTcsICAgOCwgCiAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweERDNyksIAogICAgICAgICAgICAgICAgICAgIE0xOTksICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgTTIwMCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4RTAwKSwgCiAgICAgICAgICAgICAgICAgICAgTVMwMCwgICA4LCAKICAgICAgICAgICAgICAg ICAgICBNUzAxLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIE1TMDIsICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgTVMwMywgICA4LCAKICAgICAgICAgICAgICAgICAgICBNUzA0LCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhFNDApLCAKICAgICAgICAgICAgICAgICAgICBN UzQwLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhFODEpLCAKICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIEVDRVMsICAgMQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoUDFFMCwgU3lz dGVtSU8sIFAxRUIsIDB4MDQpCiAgICAgICAgICAgICAgICBGaWVsZCAoUDFFMCwgQnl0ZUFjYywg Tm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgLCAgIDE0LCAKICAgICAgICAgICAgICAgICAgICBQRVdTLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgIFdTVEEsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAxNCwgCiAgICAg ICAgICAgICAgICAgICAgUEVXRCwgICAxCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChUUk1ELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFRGVEUgPSBaZXJvCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChIVENELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQUJJTywg U3lzdGVtSU8sIDB4MENEOCwgMHgwOCkKICAgICAgICAgICAgICAgIEZpZWxkIChBQklPLCBEV29y ZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBJTkFCLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBEQUFCLCAgIDMyCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChSREFCLCAxLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElOQUIgPSBBcmcwCiAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChEQUFCKSAvKiBcX1NCXy5QQ0kwLlNNQl8uREFBQiAqLwog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoV1RBQiwgMiwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJTkFCID0gQXJn MAogICAgICAgICAgICAgICAgICAgIERBQUIgPSBBcmcxCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChSV0FCLCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IChSREFCIChBcmcwKSAmIEFyZzEpCiAg ICAgICAgICAgICAgICAgICAgTG9jYWwxID0gKExvY2FsMCB8IEFyZzIpCiAgICAgICAgICAgICAg ICAgICAgV1RBQiAoQXJnMCwgTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIE1ldGhvZCAoQ0FCUiwgMywgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBMb2NhbDAgPSAoQXJnMCA8PCAweDA1KQogICAgICAgICAgICAgICAg ICAgIExvY2FsMSA9IChMb2NhbDAgKyBBcmcxKQogICAgICAgICAgICAgICAgICAgIExvY2FsMiA9 IChMb2NhbDEgPDwgMHgxOCkKICAgICAgICAgICAgICAgICAgICBMb2NhbDMgPSAoTG9jYWwyICsg QXJnMikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMykKICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChTRElPKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMTQwMDA3KSAgLy8gX0FEUjogQWRkcmVz cwogICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0NS UzogQ3VycmVudCBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIE5hbWUgKFJCVUYsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEdwaW9JbnQgKExldmVsLCBBY3RpdmVMb3cs IEV4Y2x1c2l2ZUFuZFdha2UsIFB1bGxVcCwgMHgwMDAwLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxcX1NCLkdQSU8iLCAweDAwLCBSZXNvdXJjZUNvbnN1bWVyLCAsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICAgLy8gUGlu IGxpc3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoUkJVRikgLyogXF9TQl8uUENJMC5TRElPLl9DUlMuUkJVRiAqLwogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoV0xBTikKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCBPbmUpICAvLyBfQURSOiBBZGRyZXNz CiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8g X1NUQTogU3RhdHVzCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9JTkksIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfSU5JOiBJbml0aWFsaXplCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChMUEMwKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMTQwMDAzKSAgLy8gX0FEUjogQWRkcmVz cwogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChQSVJRLCBTeXN0ZW1JTywgMHgwQzAw LCAweDAyKQogICAgICAgICAgICAgICAgRmllbGQgKFBJUlEsIEJ5dGVBY2MsIE5vTG9jaywgUHJl c2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUElJRCwgICA4LCAK ICAgICAgICAgICAgICAgICAgICBQSURBLCAgIDgKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBJbmRleEZpZWxkIChQSUlELCBQSURBLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZl KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFBJUkEsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgUElSQiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBQSVJDLCAgIDgs IAogICAgICAgICAgICAgICAgICAgIFBJUkQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUElS RSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBQSVJGLCAgIDgsIAogICAgICAgICAgICAgICAg ICAgIFBJUkcsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUElSSCwgICA4LCAKICAgICAgICAg ICAgICAgICAgICBPZmZzZXQgKDB4MEMpLCAKICAgICAgICAgICAgICAgICAgICBTSVJBLCAgIDgs IAogICAgICAgICAgICAgICAgICAgIFNJUkIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgU0lS QywgICA4LCAKICAgICAgICAgICAgICAgICAgICBTSVJELCAgIDgsIAogICAgICAgICAgICAgICAg ICAgIFBJUlMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDEzKSwgCiAgICAg ICAgICAgICAgICAgICAgSERBRCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 MTcpLCAKICAgICAgICAgICAgICAgICAgICBTRENMLCAgIDgsIAogICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHgxQSksIAogICAgICAgICAgICAgICAgICAgIFNESU8sICAgOCwgCiAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDMwKSwgCiAgICAgICAgICAgICAgICAgICAgVVNCMSwgICA4 LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MzQpLCAKICAgICAgICAgICAgICAgICAg ICBVU0IzLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg0MSksIAogICAgICAg ICAgICAgICAgICAgIFNBVEEsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDYy KSwgCiAgICAgICAgICAgICAgICAgICAgR0lPQywgICA4LCAKICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4NzApLCAKICAgICAgICAgICAgICAgICAgICBJMkMwLCAgIDgsIAogICAgICAgICAg ICAgICAgICAgIEkyQzEsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgSTJDMiwgICA4LCAKICAg ICAgICAgICAgICAgICAgICBJMkMzLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFVSVDAsICAg OCwgCiAgICAgICAgICAgICAgICAgICAgVVJUMSwgICA4CiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTmFtZSAoSVBSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkLCAp CiAgICAgICAgICAgICAgICAgICAgICAgIHszLDQsNSw3LDEwLDExLDEyLDE0LDE1fQogICAgICAg ICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE5hbWUgKFVQUlMsIFJlc291cmNlVGVtcGxhdGUg KCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3Rp dmVMb3csIEV4Y2x1c2l2ZSwgKQogICAgICAgICAgICAgICAgICAgICAgICB7Myw0LDUsN30KICAg ICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEtCREQsIFN5 c3RlbUlPLCAweDY0LCAweDAxKQogICAgICAgICAgICAgICAgRmllbGQgKEtCREQsIEJ5dGVBY2Ms IE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg UEQ2NCwgICA4CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChEU1BJ LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IElOVEEgKDB4MUYpCiAgICAgICAgICAgICAgICAgICAgSU5UQiAoMHgxRikKICAgICAgICAgICAg ICAgICAgICBJTlRDICgweDFGKQogICAgICAgICAgICAgICAgICAgIElOVEQgKDB4MUYpCiAgICAg ICAgICAgICAgICAgICAgTG9jYWwxID0gUEQ2NCAvKiBcX1NCXy5QQ0kwLkxQQzAuUEQ2NCAqLwog ICAgICAgICAgICAgICAgICAgIFBJUkUgPSAweDFGCiAgICAgICAgICAgICAgICAgICAgUElSRiA9 IDB4MUYKICAgICAgICAgICAgICAgICAgICBQSVJHID0gMHgxRgogICAgICAgICAgICAgICAgICAg IFBJUkggPSAweDFGCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChJ TlRBLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIFBJUkEgPSBBcmcwCiAgICAgICAgICAgICAgICAgICAgSWYgKEdQSUMpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBIREFEID0gQXJnMAogICAgICAgICAg ICAgICAgICAgICAgICBTRENMID0gQXJnMAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKElOVEIsIDEsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUElSQiA9IEFyZzAKICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKElOVEMsIDEsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUElSQyA9IEFyZzAKICAg ICAgICAgICAgICAgICAgICBJZiAoR1BJQykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFVTQjEgPSBBcmcwCiAgICAgICAgICAgICAgICAgICAgICAgIFVTQjMg PSBBcmcwCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIE1ldGhvZCAoSU5URCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBQSVJEID0gQXJnMAogICAgICAgICAgICAgICAgICAgIElmIChH UElDKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU0FUQSA9 IEFyZzAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgRGV2aWNlIChMTktBKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSAvKiBQQ0kgSW50ZXJydXB0IExpbmsgRGV2 aWNlICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgICAgICBOYW1lIChf VUlELCAweDAxKSAgLy8gX1VJRDogVW5pcXVlIElECiAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1NUQTogU3RhdHVzCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoUElSQSkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDA5KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFJT OiBQb3NzaWJsZSBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChJUFJTKSAvKiBcX1NCXy5QQ0kwLkxQQzAuSVBSUyAq LwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElT LCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0RJUzogRGlzYWJsZSBEZXZpY2UKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElOVEEgKDB4MUYpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlh bGl6ZWQpICAvLyBfQ1JTOiBDdXJyZW50IFJlc291cmNlIFNldHRpbmdzCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBJUFJTIC8qIFxfU0JfLlBD STAuTFBDMC5JUFJTICovCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo TG9jYWwwLCAweDAxLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICBJUlEwID0gKDB4MDEg PDwgUElSQSkgLyogXF9TQl8uUENJMC5MUEMwLlBJUkEgKi8KICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpICAvLyBfU1JTOiBTZXQgUmVzb3Vy Y2UgU2V0dGluZ3MKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAg ICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsMC0tCiAgICAgICAgICAgICAgICAgICAgICAgIElOVEEgKExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChM TktCKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEYiKSAvKiBQQ0kgSW50ZXJydXB0IExpbmsgRGV2aWNlICovKSAgLy8gX0hJ RDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAyKSAgLy8g X1VJRDogVW5pcXVlIElECiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RT ZXJpYWxpemVkKSAgLy8gX1NUQTogU3RhdHVzCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoUElSQikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFJTOiBQb3NzaWJsZSBSZXNv dXJjZSBTZXR0aW5ncwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChJUFJTKSAvKiBcX1NCXy5QQ0kwLkxQQzAuSVBSUyAqLwogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxp emVkKSAgLy8gX0RJUzogRGlzYWJsZSBEZXZpY2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElOVEIgKDB4MUYpCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfQ1JT OiBDdXJyZW50IFJlc291cmNlIFNldHRpbmdzCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBMb2NhbDAgPSBJUFJTIC8qIFxfU0JfLlBDSTAuTFBDMC5JUFJTICov CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTG9jYWwwLCAweDAxLCBJ UlEwKQogICAgICAgICAgICAgICAgICAgICAgICBJUlEwID0gKDB4MDEgPDwgUElSQikgLyogXF9T Ql8uUENJMC5MUEMwLlBJUkIgKi8KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9T UlMsIDEsIE5vdFNlcmlhbGl6ZWQpICAvLyBfU1JTOiBTZXQgUmVzb3VyY2UgU2V0dGluZ3MKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs ZCAoQXJnMCwgMHgwMSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0 Qml0IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMC0tCiAgICAg ICAgICAgICAgICAgICAgICAgIElOVEIgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktDKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYi KSAvKiBQQ0kgSW50ZXJydXB0IExpbmsgRGV2aWNlICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAzKSAgLy8gX1VJRDogVW5pcXVlIElE CiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8g X1NUQTogU3RhdHVzCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoUElSQykKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMs IDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFJTOiBQb3NzaWJsZSBSZXNvdXJjZSBTZXR0aW5ncwog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChJUFJT KSAvKiBcX1NCXy5QQ0kwLkxQQzAuSVBSUyAqLwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0RJUzog RGlzYWJsZSBEZXZpY2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIElOVEMgKDB4MUYpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfQ1JTOiBDdXJyZW50IFJlc291 cmNlIFNldHRpbmdzCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDAgPSBJUFJTIC8qIFxfU0JfLlBDSTAuTFBDMC5JUFJTICovCiAgICAgICAgICAgICAg ICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTG9jYWwwLCAweDAxLCBJUlEwKQogICAgICAgICAg ICAgICAgICAgICAgICBJUlEwID0gKDB4MDEgPDwgUElSQykgLyogXF9TQl8uUENJMC5MUEMwLlBJ UkMgKi8KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlh bGl6ZWQpICAvLyBfU1JTOiBTZXQgUmVzb3VyY2UgU2V0dGluZ3MKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwg SVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMC0tCiAgICAgICAgICAgICAgICAgICAg ICAgIElOVEMgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktEKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSAvKiBQQ0kgSW50ZXJy dXB0IExpbmsgRGV2aWNlICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAg ICAgICBOYW1lIChfVUlELCAweDA0KSAgLy8gX1VJRDogVW5pcXVlIElECiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1NUQTogU3RhdHVzCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoUElSRCkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDBCKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6 ZWQpICAvLyBfUFJTOiBQb3NzaWJsZSBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChJUFJTKSAvKiBcX1NCXy5QQ0kw LkxQQzAuSVBSUyAqLwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0RJUzogRGlzYWJsZSBEZXZpY2UK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElOVEQgKDB4MUYp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMs IDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfQ1JTOiBDdXJyZW50IFJlc291cmNlIFNldHRpbmdzCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBJUFJT IC8qIFxfU0JfLlBDSTAuTFBDMC5JUFJTICovCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0 ZVdvcmRGaWVsZCAoTG9jYWwwLCAweDAxLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICBJ UlEwID0gKDB4MDEgPDwgUElSRCkgLyogXF9TQl8uUENJMC5MUEMwLlBJUkQgKi8KICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpICAvLyBfU1JT OiBTZXQgUmVzb3VyY2UgU2V0dGluZ3MKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMCkKICAgICAgICAg ICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgICAgIExvY2FsMC0tCiAgICAgICAgICAgICAgICAgICAgICAgIElOVEQgKExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgRGV2aWNlIChMTktFKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSAvKiBQQ0kgSW50ZXJydXB0IExpbmsgRGV2aWNl ICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlE LCAweDA1KSAgLy8gX1VJRDogVW5pcXVlIElECiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf U1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1NUQTogU3RhdHVzCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoUElSRSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5 KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFJTOiBQ b3NzaWJsZSBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChJUFJTKSAvKiBcX1NCXy5QQ0kwLkxQQzAuSVBSUyAqLwog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAw LCBOb3RTZXJpYWxpemVkKSAgLy8gX0RJUzogRGlzYWJsZSBEZXZpY2UKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFBJUkUgPSAweDFGCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6 ZWQpICAvLyBfQ1JTOiBDdXJyZW50IFJlc291cmNlIFNldHRpbmdzCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBJUFJTIC8qIFxfU0JfLlBDSTAu TFBDMC5JUFJTICovCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTG9j YWwwLCAweDAxLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICBJUlEwID0gKDB4MDEgPDwg UElSRSkgLyogXF9TQl8uUENJMC5MUEMwLlBJUkUgKi8KICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpICAvLyBfU1JTOiBTZXQgUmVzb3VyY2Ug U2V0dGluZ3MKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAg RmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIExv Y2FsMC0tCiAgICAgICAgICAgICAgICAgICAgICAgIFBJUkUgPSBMb2NhbDAKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktG KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJ ZCAoIlBOUDBDMEYiKSAvKiBQQ0kgSW50ZXJydXB0IExpbmsgRGV2aWNlICovKSAgLy8gX0hJRDog SGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA2KSAgLy8gX1VJ RDogVW5pcXVlIElECiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJp YWxpemVkKSAgLy8gX1NUQTogU3RhdHVzCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoUElSRikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFJTOiBQb3NzaWJsZSBSZXNvdXJj ZSBTZXR0aW5ncwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChJUFJTKSAvKiBcX1NCXy5QQ0kwLkxQQzAuSVBSUyAqLwogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVk KSAgLy8gX0RJUzogRGlzYWJsZSBEZXZpY2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFBJUkYgPSAweDFGCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfQ1JTOiBD dXJyZW50IFJlc291cmNlIFNldHRpbmdzCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDAgPSBJUFJTIC8qIFxfU0JfLlBDSTAuTFBDMC5JUFJTICovCiAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTG9jYWwwLCAweDAxLCBJUlEw KQogICAgICAgICAgICAgICAgICAgICAgICBJUlEwID0gKDB4MDEgPDwgUElSRikgLyogXF9TQl8u UENJMC5MUEMwLlBJUkYgKi8KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMs IDEsIE5vdFNlcmlhbGl6ZWQpICAvLyBfU1JTOiBTZXQgUmVzb3VyY2UgU2V0dGluZ3MKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo QXJnMCwgMHgwMSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0 IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMC0tCiAgICAgICAg ICAgICAgICAgICAgICAgIFBJUkYgPSBMb2NhbDAKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktHKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSAv KiBQQ0kgSW50ZXJydXB0IExpbmsgRGV2aWNlICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAg ICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA3KSAgLy8gX1VJRDogVW5pcXVlIElECiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1NU QTogU3RhdHVzCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoUElSRykKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAs IE5vdFNlcmlhbGl6ZWQpICAvLyBfUFJTOiBQb3NzaWJsZSBSZXNvdXJjZSBTZXR0aW5ncwogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChJUFJTKSAv KiBcX1NCXy5QQ0kwLkxQQzAuSVBSUyAqLwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0RJUzogRGlz YWJsZSBEZXZpY2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFBJUkcgPSAweDFGCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfQ1JTOiBDdXJyZW50IFJlc291cmNl IFNldHRpbmdzCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBM b2NhbDAgPSBJUFJTIC8qIFxfU0JfLlBDSTAuTFBDMC5JUFJTICovCiAgICAgICAgICAgICAgICAg ICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTG9jYWwwLCAweDAxLCBJUlEwKQogICAgICAgICAgICAg ICAgICAgICAgICBJUlEwID0gKDB4MDEgPDwgUElSRykgLyogXF9TQl8uUENJMC5MUEMwLlBJUkcg Ki8KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6 ZWQpICAvLyBfU1JTOiBTZXQgUmVzb3VyY2UgU2V0dGluZ3MKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJR MCkKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMC0tCiAgICAgICAgICAgICAgICAgICAgICAg IFBJUkcgPSBMb2NhbDAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgRGV2aWNlIChMTktIKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSAvKiBQQ0kgSW50ZXJydXB0 IExpbmsgRGV2aWNlICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgICAg ICBOYW1lIChfVUlELCAweDA4KSAgLy8gX1VJRDogVW5pcXVlIElECiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1NUQTogU3RhdHVzCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoUElSSCkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDBCKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQp ICAvLyBfUFJTOiBQb3NzaWJsZSBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChJUFJTKSAvKiBcX1NCXy5QQ0kwLkxQ QzAuSVBSUyAqLwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0RJUzogRGlzYWJsZSBEZXZpY2UKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFBJUkggPSAweDFGCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAs IE5vdFNlcmlhbGl6ZWQpICAvLyBfQ1JTOiBDdXJyZW50IFJlc291cmNlIFNldHRpbmdzCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBJUFJTIC8q IFxfU0JfLlBDSTAuTFBDMC5JUFJTICovCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv cmRGaWVsZCAoTG9jYWwwLCAweDAxLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICBJUlEw ID0gKDB4MDEgPDwgUElSSCkgLyogXF9TQl8uUENJMC5MUEMwLlBJUkggKi8KICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpICAvLyBfU1JTOiBT ZXQgUmVzb3VyY2UgU2V0dGluZ3MKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMCkKICAgICAgICAgICAg ICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsMC0tCiAgICAgICAgICAgICAgICAgICAgICAgIFBJUkggPSBMb2NhbDAK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg T3BlcmF0aW9uUmVnaW9uIChMUENSLCBQQ0lfQ29uZmlnLCAweDA0LCAweDQyKQogICAgICAgICAg ICAgICAgRmllbGQgKExQQ1IsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgUENNRCwgICAyLCAKICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4NDApLCAKICAgICAgICAgICAgICAgICAgICBDTUEwLCAgIDEsIAogICAgICAg ICAgICAgICAgICAgIENNQTEsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgQ01BMiwgICAxLCAK ICAgICAgICAgICAgICAgICAgICBDTUEzLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIENNQTQs ICAgMSwgCiAgICAgICAgICAgICAgICAgICAgQ01BNSwgICAxLCAKICAgICAgICAgICAgICAgICAg ICBDTUE2LCAgIDEsIAogICAgICAgICAgICAgICAgICAgIENNQTcsICAgMSwgCiAgICAgICAgICAg ICAgICAgICAgQ01CMCwgICAxLCAKICAgICAgICAgICAgICAgICAgICBDTUIxLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgIENNQjIsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgQ01CMywgICAx LCAKICAgICAgICAgICAgICAgICAgICBDTUI0LCAgIDEsIAogICAgICAgICAgICAgICAgICAgIENN QjUsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgQ01CNiwgICAxLCAKICAgICAgICAgICAgICAg ICAgICBDTUI3LCAgIDEKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2Ug KERNQUMpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwg RWlzYUlkICgiUE5QMDIwMCIpIC8qIFBDLWNsYXNzIERNQSBDb250cm9sbGVyICovKSAgLy8gX0hJ RDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRl bXBsYXRlICgpICAvLyBfQ1JTOiBDdXJyZW50IFJlc291cmNlIFNldHRpbmdzCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwMDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMCwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAv LyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAsICAgICAgICAgICAg ICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4 MSwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDgxLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwRiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEMwLCAgICAgICAgICAgICAvLyBSYW5nZSBN aW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQzAsICAgICAgICAgICAgIC8v IFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAg ICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDFGLCAgICAg ICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAg ICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDA0MEIsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDQwQiwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNv ZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDRENiwgICAgICAgICAgICAgLy8g UmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNEQ2LCAgICAgICAg ICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAg ICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkK ICAgICAgICAgICAgICAgICAgICAgICAgRE1BIChDb21wYXRpYmlsaXR5LCBOb3RCdXNNYXN0ZXIs IFRyYW5zZmVyOF8xNiwgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgezR9CiAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2Ug KE1BVEgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwg RWlzYUlkICgiUE5QMEMwNCIpIC8qIHg4Ny1jb21wYXRpYmxlIEZsb2F0aW5nIFBvaW50IFByb2Nl c3NpbmcgVW5pdCAqLykgIC8vIF9ISUQ6IEhhcmR3YXJlIElECiAgICAgICAgICAgICAgICAgICAg TmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKSAgLy8gX0NSUzogQ3VycmVudCBSZXNvdXJj ZSBTZXR0aW5ncwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEYwLCAgICAgICAg ICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwRjAs ICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDBGLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJUlEgKEVkZ2UsIEFjdGl2ZUhpZ2gsIEV4 Y2x1c2l2ZSwgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgezEzfQogICAgICAgICAgICAg ICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChQSUMp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlk ICgiUE5QMDAwMCIpIC8qIDgyNTktY29tcGF0aWJsZSBQcm9ncmFtbWFibGUgSW50ZXJydXB0IENv bnRyb2xsZXIgKi8pICAvLyBfSElEOiBIYXJkd2FyZSBJRAogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkgIC8vIF9DUlM6IEN1cnJlbnQgUmVzb3VyY2Ug U2V0dGluZ3MKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCwgICAgICAgICAg ICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwLCAg ICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMEEwLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwQTAsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGlt dW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxp Z25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8v IExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAg ICAgICBJUlEgKEVkZ2UsIEFjdGl2ZUhpZ2gsIEV4Y2x1c2l2ZSwgKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgezJ9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBEZXZpY2UgKFJUQykKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQjAwIikgLyogQVQgUmVhbC1UaW1l IENsb2NrICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgICAgICBOYW1l IChCVUYwLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAwNzAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDA3MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAg ICAgICAgICAgICBOYW1lIChCVUYxLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwNzAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA3MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4 aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBB bGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAg Ly8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAg ICAgICAgIElSUU5vRmxhZ3MgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHs4fQogICAg ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBT ZXJpYWxpemVkKSAgLy8gX0NSUzogQ3VycmVudCBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKCgoXl5eU01CLkhQQUQgJiAw eDQwKSA9PSAweDQwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChCVUYwKSAvKiBcX1NCXy5QQ0kwLkxQQzAuUlRDXy5CVUYwICov CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoQlVGMSkgLyogXF9TQl8uUENJMC5MUEMwLlJUQ18uQlVGMSAqLwogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKFNQS1IpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgi UE5QMDgwMCIpIC8qIE1pY3Jvc29mdCBTb3VuZCBTeXN0ZW0gQ29tcGF0aWJsZSBEZXZpY2UgKi8p ICAvLyBfSElEOiBIYXJkd2FyZSBJRAogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJl c291cmNlVGVtcGxhdGUgKCkgIC8vIF9DUlM6IEN1cnJlbnQgUmVzb3VyY2UgU2V0dGluZ3MKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA2MSwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDYxLCAgICAgICAgICAgICAv LyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAg ICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAg ICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAg ICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmlj ZSAoVElNRSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElE LCBFaXNhSWQgKCJQTlAwMTAwIikgLyogUEMtY2xhc3MgU3lzdGVtIFRpbWVyICovKSAgLy8gX0hJ RDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRl bXBsYXRlICgpICAvLyBfQ1JTOiBDdXJyZW50IFJlc291cmNlIFNldHRpbmdzCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwNDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAv LyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQsICAgICAgICAgICAg ICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAg ICAgICAgICAgIElSUSAoRWRnZSwgQWN0aXZlSGlnaCwgRXhjbHVzaXZlLCApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7MH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoU1lTUikKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzAyIikgLyogUE5QIE1v dGhlcmJvYXJkIFJlc291cmNlcyAqLykgIC8vIF9ISUQ6IEhhcmR3YXJlIElECiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKSAgLy8gX0NSUzogQ3VycmVu dCBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIy LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAwMjIsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMkUsICAgICAgICAgICAgIC8vIFJhbmdlIE1p bmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyRSwgICAgICAgICAgICAgLy8g UmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAg ICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAg ICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAg ICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDA3MiwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDcyLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29k ZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwLCAgICAgICAgICAgICAvLyBS YW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAsICAgICAgICAg ICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAg ICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAx LCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQog ICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwOTIsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDA5MiwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVuZ3Ro CiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBCMCwgICAgICAgICAg ICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEIwLCAg ICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMEIyLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwQjIsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGlt dW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxp Z25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8v IExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAg ICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQjgsICAg ICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDBCOCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDBCQywgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11 bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEJDLCAgICAgICAgICAgICAvLyBSYW5n ZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAg IC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAg ICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAg ICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MEYwLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwRjAsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA0RDAsICAgICAgICAgICAgIC8vIFJhbmdl IE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDREMCwgICAgICAgICAgICAg Ly8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAg ICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAg ICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDUzMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwNTMwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwOCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERl Y29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNDAwLCAgICAgICAgICAgICAv LyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA0MDAsICAgICAg ICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEs ICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDI4LCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAg KQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDA0MzAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDQzMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1l bnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVu Z3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQ0MCwgICAgICAg ICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNDQw LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwOCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwQjAwLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDBCMDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1h eGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8g QWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwLCAgICAgICAgICAgICAg IC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAg ICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBCMjAs ICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MEIyMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MjAsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEMwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWlu aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQzAwLCAgICAgICAgICAgICAvLyBS YW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAg ICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAg ICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAg ICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwQzE0LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDBDMTQsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBDNTAsICAgICAgICAgICAgIC8vIFJh bmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEM1MCwgICAgICAgICAg ICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAg ICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMs ICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MENEMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwQ0QwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8g KERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQ0QyLCAgICAgICAgICAg ICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBDRDIsICAg ICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDBDRDQsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MENENCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11 bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGln bm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8g TGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MENENiwgICAg ICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw Q0Q2LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwQ0Q4LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVt CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBDRDgsICAgICAgICAgICAgIC8vIFJhbmdl IE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAg Ly8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4LCAgICAgICAgICAg ICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBD RjksICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MENGOSwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIFdvcmRJTyAoUmVzb3Vy Y2VQcm9kdWNlciwgTWluRml4ZWQsIE1heEZpeGVkLCBQb3NEZWNvZGUsIEVudGlyZVJhbmdlLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwLCAgICAgICAgICAgICAvLyBHcmFudWxh cml0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MTAwLCAgICAgICAgICAgICAvLyBS YW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDgxRkYsICAgICAgICAg ICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMCwg ICAgICAgICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAxMDAsICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgLCwgLCBUeXBlU3RhdGljLCBEZW5zZVRyYW5zbGF0aW9uKQogICAgICAgICAgICAgICAg ICAgICAgICBXb3JkSU8gKFJlc291cmNlUHJvZHVjZXIsIE1pbkZpeGVkLCBNYXhGaXhlZCwgUG9z RGVjb2RlLCBFbnRpcmVSYW5nZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMCwg ICAgICAgICAgICAgLy8gR3JhbnVsYXJpdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 ODIwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHg4MkZGLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwMDAsICAgICAgICAgICAgIC8vIFRyYW5zbGF0aW9uIE9mZnNldAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwLCAgICAgICAgICAgICAvLyBMZW5ndGgK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICwsICwgVHlwZVN0YXRpYywgRGVuc2VUcmFuc2xh dGlvbikKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoTFBDUywgUENJX0NvbmZpZywgMHhBMCwgMHgwNCkKICAg ICAgICAgICAgICAgIEZpZWxkIChMUENTLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTUEJBLCAgIDMyCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChNRU0pCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwMSIpIC8qIFN5c3Rl bSBCb2FyZCAqLykgIC8vIF9ISUQ6IEhhcmR3YXJlIElECiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoTVNSQywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZE9ubHksCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwMEUwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgQmFzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDAyMDAwMCwgICAgICAgICAvLyBBZGRyZXNzIExlbmd0 aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBN ZW1vcnkzMkZpeGVkIChSZWFkT25seSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYw MDAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAxMDAwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRX cml0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8g QWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAg ICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfWTFDKQog ICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweEZFQzEwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgQmFzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAyMCwgICAgICAgICAvLyBBZGRyZXNz IExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgX1kxRCkKICAgICAgICAgICAgICAg ICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZE9ubHksCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweEZFRDAwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgQmFzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDAwMDQwMCwgICAgICAgICAvLyBBZGRyZXNzIExlbmd0aAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZp eGVkIChSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZFRDYxMDAwLCAg ICAgICAgIC8vIEFkZHJlc3MgQmFzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAw MDQwMCwgICAgICAgICAvLyBBZGRyZXNzIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgKQogICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweEZFRDgwMDAwLCAgICAgICAgIC8vIEFkZHJlc3Mg QmFzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTAwMCwgICAgICAgICAvLyBB ZGRyZXNzIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg ICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxp emVkKSAgLy8gX0NSUzogQ3VycmVudCBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTVNSQywgXF9T Qi5QQ0kwLkxQQzAuTUVNLl9ZMUMuX0JBUywgQkFSWCkgIC8vIF9CQVM6IEJhc2UgQWRkcmVzcwog ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChNU1JDLCBcX1NCLlBDSTAu TFBDMC5NRU0uX1kxQy5fTEVOLCBHQUxOKSAgLy8gX0xFTjogTGVuZ3RoCiAgICAgICAgICAgICAg ICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKE1TUkMsIFxfU0IuUENJMC5MUEMwLk1FTS5fWTFE Ll9CQVMsIE1CMDEpICAvLyBfQkFTOiBCYXNlIEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlRFdvcmRGaWVsZCAoTVNSQywgXF9TQi5QQ0kwLkxQQzAuTUVNLl9ZMUQuX0xFTiwg TUwwMSkgIC8vIF9MRU46IExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBT UEJBIC8qIFxfU0JfLlBDSTAuTFBDMC5TUEJBICovCiAgICAgICAgICAgICAgICAgICAgICAgIE1C MDEgPSAoTG9jYWwwICYgMHhGRkZGRkZFMCkKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWww ID0gTkJCQSAvKiBcX1NCXy5QQ0kwLk5CQkEgKi8KICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgR0FMTiA9IDB4MTAwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFSWCA9IChM b2NhbDAgJiAweEZGRkZGRkYwKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKE1TUkMpIC8qIFxfU0JfLlBDSTAuTFBDMC5NRU1fLk1TUkMg Ki8KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NU QSwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9TVEE6IFN0YXR1cwogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKEtCRCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ISUQsIDAsIE5vdFNl cmlhbGl6ZWQpICAvLyBfSElEOiBIYXJkd2FyZSBJRAogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKFdJTjgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHg3MTAwQUUzMCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAzMDNE MDQxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NJ RCwgRWlzYUlkICgiUE5QMDMwMyIpIC8qIElCTSBFbmhhbmNlZCBLZXlib2FyZCAoMTAxLzEwMi1r ZXksIFBTLzIgTW91c2UpICovKSAgLy8gX0NJRDogQ29tcGF0aWJsZSBJRAogICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkgIC8vIF9DUlM6IEN1cnJlbnQg UmVzb3VyY2UgU2V0dGluZ3MKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA2MCwg ICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDYwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDY0LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5p bXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjQsICAgICAgICAgICAgIC8vIFJh bmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAg ICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAg ICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAg ICAgICAgICAgICAgICBJUlEgKEVkZ2UsIEFjdGl2ZUhpZ2gsIEV4Y2x1c2l2ZSwgKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgezF9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKE1PVSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ISUQsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBf SElEOiBIYXJkd2FyZSBJRAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDYyMjBBRTMwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoX0NJRCwgRWlzYUlkICgiUE5QMEYxMyIpIC8qIFBTLzIgTW91c2Ug Ki8pICAvLyBfQ0lEOiBDb21wYXRpYmxlIElECiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NS UywgUmVzb3VyY2VUZW1wbGF0ZSAoKSAgLy8gX0NSUzogQ3VycmVudCBSZXNvdXJjZSBTZXR0aW5n cwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFn cyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgezEyfQogICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChNSElELCAwLCBTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3dpdGNoICheXkVDMC5D UElEKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBDYXNlICgweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF9ISUQgKCkgPSAweDYyMjBBRTMwCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgweDA0KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF9ISUQgKCkgPSAweDIwMjBBRTMwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX0hJRCAoKSA9IDB4MDcyMEFFMzAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg RGV2aWNlIChFQzApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X0hJRCwgRWlzYUlkICgiUE5QMEMwOSIpIC8qIEVtYmVkZGVkIENvbnRyb2xsZXIgRGV2aWNlICov KSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAw eDAwKSAgLy8gX1VJRDogVW5pcXVlIElECiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0dQRSwg MHgwMykgIC8vIF9HUEU6IEdlbmVyYWwgUHVycG9zZSBFdmVudHMKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9SRUcsIDIsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUkVHOiBSZWdpb24gQXZhaWxh YmlsaXR5CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo KEFyZzAgPT0gMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEg4RFIgPSBBcmcxCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE11dGV4IChFRUNMLCAweDAwKQog ICAgICAgICAgICAgICAgICAgIE11dGV4IChVQ0NJLCAweDAwKQogICAgICAgICAgICAgICAgICAg IE9wZXJhdGlvblJlZ2lvbiAoRUNPUiwgRW1iZWRkZWRDb250cm9sLCAweDAwLCAweDAxMDApCiAg ICAgICAgICAgICAgICAgICAgRmllbGQgKEVDT1IsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBIREJNLCAgIDEs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAg ICAgICBIS0xLLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBIRk5FLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBITERNLCAgIDEsIAogICAgICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MDEpLCAKICAgICAgICAgICAgICAgICAgICAgICAgQkJM UywgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgQlRDTSwgICAxLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICAx LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICAxLCAKICAgICAgICAgICAgICAgICAg ICAgICAgSEJQUiwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgQlRQQywgICAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDAyKSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIEhEVUUsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgNCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFNOTEssICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHgwMyksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDUsIAogICAgICAg ICAgICAgICAgICAgICAgICBIQVVNLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4MDUpLCAKICAgICAgICAgICAgICAgICAgICAgICAgSFNQQSwgICAxLCAKICAgICAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA2KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEhT VU4sICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIEhTUlAsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHgwQyksIAogICAgICAgICAgICAgICAgICAgICAgICBITENM LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDQsIAogICAgICAgICAgICAg ICAgICAgICAgICBDQUxNLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 MEUpLCAKICAgICAgICAgICAgICAgICAgICAgICAgSEZOUywgICAyLCAKICAgICAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDBGKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAg NiwgCiAgICAgICAgICAgICAgICAgICAgICAgIE5VTFMsICAgMSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgxMCksIAogICAgICAgICAgICAgICAgICAgICAgICBIQU0wLCAgIDgs IAogICAgICAgICAgICAgICAgICAgICAgICBIQU0xLCAgIDgsIAogICAgICAgICAgICAgICAgICAg ICAgICBIQU0yLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBIQU0zLCAgIDgsIAogICAg ICAgICAgICAgICAgICAgICAgICBIQU00LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBI QU01LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBIQU02LCAgIDgsIAogICAgICAgICAg ICAgICAgICAgICAgICBIQU03LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBIQU04LCAg IDgsIAogICAgICAgICAgICAgICAgICAgICAgICBIQU05LCAgIDgsIAogICAgICAgICAgICAgICAg ICAgICAgICBIQU1BLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBIQU1CLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgICAgICBIQU1DLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAg ICBIQU1ELCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBIQU1FLCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICBIQU1GLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4MjMpLCAKICAgICAgICAgICAgICAgICAgICAgICAgSEFOVCwgICA4LCAKICAgICAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDI2KSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEhBTkEsICAgMiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIE9mZnNldCAoMHgyNyksIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4MjgpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICAxLCAKICAgICAgICAg ICAgICAgICAgICAgICAgU0tFTSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDI5KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyQSksIAogICAgICAg ICAgICAgICAgICAgICAgICBIQVRSLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBIVDBI LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBIVDBMLCAgIDgsIAogICAgICAgICAgICAg ICAgICAgICAgICBIVDFILCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBIVDFMLCAgIDgs IAogICAgICAgICAgICAgICAgICAgICAgICBIRlNQLCAgIDgsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgLCAgIDYsIAogICAgICAgICAgICAgICAgICAgICAgICBITVVULCAgIDEsIAogICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MzEpLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgSFVXQiwgICAxLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICwgICAzLCAKICAgICAgICAgICAgICAgICAgICAgICAgVlBP TiwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgVlJTVCwgICAxLCAKICAgICAgICAgICAg ICAgICAgICAgICAgSFdQTSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgSFdMQiwgICAx LCAKICAgICAgICAgICAgICAgICAgICAgICAgSFdMTywgICAxLCAKICAgICAgICAgICAgICAgICAg ICAgICAgSFdESywgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgSFdGTiwgICAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgSFdCVCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAg SFdSSSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgSFdCVSwgICAxLCAKICAgICAgICAg ICAgICAgICAgICAgICAgSFdMVSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDM0KSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgMywgCiAgICAgICAgICAg ICAgICAgICAgICAgIFBJQlMsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAg MywgCiAgICAgICAgICAgICAgICAgICAgICAgIEhQTE8sICAgMSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgzNiksIAogICAgICAgICAgICAgICAgICAgICAgICBIV0FDLCAgIDE2 LCAKICAgICAgICAgICAgICAgICAgICAgICAgSEIwUywgICA3LCAKICAgICAgICAgICAgICAgICAg ICAgICAgSEIwQSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgSEIxUywgICA3LCAKICAg ICAgICAgICAgICAgICAgICAgICAgSEIxQSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAg SENNVSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAg ICAgICAgICAgICAgICAgT1ZSUSwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgRENCRCwg ICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgRENXTCwgICAxLCAKICAgICAgICAgICAgICAg ICAgICAgICAgRENXVywgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgSEIxSSwgICAxLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICAxLCAKICAgICAgICAgICAgICAgICAgICAg ICAgS0JMVCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgQlRQVywgICAxLCAKICAgICAg ICAgICAgICAgICAgICAgICAgRk5LQywgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgQkRQVywgICAxLCAKICAgICAgICAgICAg ICAgICAgICAgICAgQkREVCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgSFVCQiwgICAx LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDQ2KSwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJUV0ssICAgMSwg CiAgICAgICAgICAgICAgICAgICAgICAgIEhQTEQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEhQQUMsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgIEJUU1QsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBT U1QsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg0NyksIAogICAgICAg ICAgICAgICAgICAgICAgICBIUEJVLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBIQklELCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICBIQkNTLCAgIDEs IAogICAgICAgICAgICAgICAgICAgICAgICBIUE5GLCAgIDEsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBHU1RTLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICBI TEJVLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBET0NELCAgIDEsIAogICAgICAgICAg ICAgICAgICAgICAgICBIQ0JMLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4NDkpLCAKICAgICAgICAgICAgICAgICAgICAgICAgU0xVTCwgICAxLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgQUNBVCwgICAx LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICA0LCAKICAgICAgICAgICAgICAgICAg ICAgICAgRUxOSywgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgRlBTVSwgICAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDRCKSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHg0QyksIAogICAgICAgICAgICAgICAgICAgICAgICBIVE1ILCAgIDgsIAog ICAgICAgICAgICAgICAgICAgICAgICBIVE1MLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAg ICBIV0FLLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgSE1QUiwgICA4LCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICwgICA3LCAKICAgICAgICAgICAgICAgICAgICAgICAgSE1E TiwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDc4KSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIFRNUDAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRNUDMs ICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg3QiksIAogICAgICAgICAg ICAgICAgICAgICAgICBHVE1QLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4ODApLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDgxKSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIEhJSUQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHg4MyksIAogICAgICAgICAgICAgICAgICAgICAgICBIRk5JLCAgIDgsIAogICAgICAgICAg ICAgICAgICAgICAgICBIU1BELCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDg4KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRTTDAsICAgNywgCiAgICAgICAgICAg ICAgICAgICAgICAgIFRTUjAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRTTDEsICAg NywgCiAgICAgICAgICAgICAgICAgICAgICAgIFRTUjEsICAgMSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIFRTTDIsICAgNywgCiAgICAgICAgICAgICAgICAgICAgICAgIFRTUjIsICAgMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFRTTDMsICAgNywgCiAgICAgICAgICAgICAgICAgICAgICAg IFRTUjMsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEdQVVQsICAgMSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIE9mZnNldCAoMHg4RCksIAogICAgICAgICAgICAgICAgICAgICAgICBI REFBLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICBIREFCLCAgIDMsIAogICAgICAgICAg ICAgICAgICAgICAgICBIREFDLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICBSQ0JELCAg IDEsIAogICAgICAgICAgICAgICAgICAgICAgICBSQ1dMLCAgIDEsIAogICAgICAgICAgICAgICAg ICAgICAgICBSQ1dXLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4OEYp LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEIwKSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIEhERU4sICAgMzIsIAogICAgICAgICAgICAgICAgICAgICAgICBIREVQLCAgIDMy LCAKICAgICAgICAgICAgICAgICAgICAgICAgSERFTSwgICA4LCAKICAgICAgICAgICAgICAgICAg ICAgICAgSERFUywgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEM4KSwg CiAgICAgICAgICAgICAgICAgICAgICAgIEFUTVgsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIEhXQVQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhDQyksIAog ICAgICAgICAgICAgICAgICAgICAgICBQV01ILCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAg ICBQV01MLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDQsIAogICAgICAg ICAgICAgICAgICAgICAgICBGTlNXLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4Q0YpLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEVEKSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsICAgNCwgCiAgICAgICAgICAgICAgICAgICAgICAgIEhE REQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhGRCksIAogICAgICAg ICAgICAgICAgICAgICAgICBIVUJTLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4RkUpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9JTkksIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfSU5JOiBJbml0aWFsaXplCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoSDhEUikKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSFNQQSA9IDB4MDAK ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1CRUMg KDB4MDUsIDB4RkUsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgICAgIF5IS0VZLldHSU4gKCkKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWww ID0gU2l6ZU9mIChcX1BSLkMwMDAuX1BTUykKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWww LS0KICAgICAgICAgICAgICAgICAgICAgICAgUE1BWCA9IExvY2FsMAogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAo KSAgLy8gX0NSUzogQ3VycmVudCBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDYyLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwNjIsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25t ZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIExl bmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAg ICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjYsICAgICAg ICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA2 NiwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKExFRCwgMiwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIExvY2FsMCA9IChBcmcwIHwgQXJnMSkKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKEg4RFIpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEhMQ0wgPSBMb2NhbDAKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFdCRUMgKDB4MEMsIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoQkFPTiwgMHgwMCkKICAgICAgICAgICAgICAgICAgICBOYW1lIChXQk9OLCAweDAwKQogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoQkVFUCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA1KSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgV0JP TiA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWwyID0gV0JPTiAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5XQk9OICovCiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChCQU9OKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMCkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFPTiA9IDB4 MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoV0JPTikKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsMCA9IDB4MDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwx ID0gMHgwOAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDAwCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IDB4MDAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHhGRgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IDB4RkYKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoKEFyZzAgPT0gMHgxMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXQk9OID0gMHgwMAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKChBcmcwID09IDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0JPTiA9IDB4MDEKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2Nh bDAgPSBBcmcwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAweEZGCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwRikpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0g QXJnMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IDB4MDgKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBCQU9OID0gMHgwMQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDEx KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDAgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9j YWwxID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdCT04gPSAweDAwCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKChBcmcwID09IDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDMKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDEgPSAweDA4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgV0JPTiA9IDB4MDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDMp KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBX Qk9OID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExvY2FsMikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM b2NhbDAgPSAweDA3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKCgoU1BTID09 IDB4MDMpIHx8IChTUFMgPT0gMHgwNCkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gMHgwMAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweEZGCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IDB4RkYKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA3 KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMb2NhbDIgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTG9jYWwwID0gMHhGRgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2Fs MSA9IDB4RkYKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEg4RFIpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwyICYmICFX Qk9OKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBIU1JQID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhT VU4gPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4NjQpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKChMb2NhbDEgIT0gMHhGRikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSFNSUCA9IExvY2FsMQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwICE9 IDB4RkYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEhTVU4gPSBMb2NhbDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgo TG9jYWwyICYmICFXQk9OKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBXQkVDICgweDA3LCAweDAwKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFdCRUMgKDB4MDYsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU2xlZXAgKDB4NjQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDEgIT0gMHhGRikpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0JFQyAo MHgwNywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmICgoTG9jYWwwICE9IDB4RkYpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdCRUMgKDB4MDYsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDMpKXt9CiAgICAg ICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA3KSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDFGNCkKICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChFVk5ULCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEg4RFIpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBcmcwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTTUgfD0g MHgwNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEhBTTUgJj0gMHhGQgogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJ ZiAoQXJnMCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgTUJFQyAoMHgxNSwgMHhGRiwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE1CRUMgKDB4MTUsIDB4RkIsIDB4MDApCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoQ0hLUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDNFOAogICAgICAgICAgICAgICAg ICAgICAgICBXaGlsZSAoSE1QUikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDAtLQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKCFMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDgwODApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChITUROKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFpl cm8pCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHg4MDgxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChMUE1ELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDEgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IDB4MDAKICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKENMUE0sIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTmFtZSAoU1BMMSwgMHgzQTk4KQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEZQUDEs IDB4NjFBOCkKICAgICAgICAgICAgICAgICAgICBOYW1lIChTUFAxLCAweDRFMjApCiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoU1BMMiwgMHg1NUYwKQogICAgICAgICAgICAgICAgICAgIE5hbWUg KEZQUDIsIDB4NzUzMCkKICAgICAgICAgICAgICAgICAgICBOYW1lIChTUFAyLCAweDYxQTgpCiAg ICAgICAgICAgICAgICAgICAgTmFtZSAoU1BMMywgMHgyRUUwKQogICAgICAgICAgICAgICAgICAg IE5hbWUgKEZQUDMsIDB4NjFBOCkKICAgICAgICAgICAgICAgICAgICBOYW1lIChTUFAzLCAweDRF MjApCiAgICAgICAgICAgICAgICAgICAgTXV0ZXggKE1DUFUsIDB4MDApCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUTEwLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnks IHh4PTB4MDAtMHhGRgogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgUDgwSCA9IDB4MTAKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKF5IS0VZLk1IS0sgKDB4 MDEsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeSEtFWS5NSEtRICgweDEwMDEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1ExMSwgMCwg Tm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAweDExCiAgICAgICAg ICAgICAgICAgICAgICAgIE5vb3AKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1ExMiwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5 LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFA4MEggPSAweDEyCiAgICAgICAgICAgICAgICAgICAgICAgIElmICheSEtFWS5NSEtLICgw eDAxLCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgXkhLRVkuTUhLUSAoMHgxMDAyKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMTMsIDAs IE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQODBIID0gMHgxMwogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoXkhLRVkuREhLQykKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgXkhLRVkuTUhLUSAoMHgxMDA0KQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChTTFBC LCAweDgwKSAvLyBTdGF0dXMgQ2hhbmdlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E2NCwgMCwgTm90 U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAweDY0CiAgICAgICAgICAg ICAgICAgICAgICAgIElmICheSEtFWS5NSEtLICgweDAxLCAweDEwKSkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgXkhLRVkuTUhLUSAoMHgxMDA1 KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9RMTYsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBF QyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBQODBIID0gMHgxNgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoXkhLRVku TUhLSyAoMHgwMSwgMHg0MCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5IS0VZLk1IS1EgKDB4MTAwNykKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf UTE3LCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4PTB4MDAtMHhGRgog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUDgwSCA9IDB4MTcK ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKF5IS0VZLk1IS0sgKDB4MDEsIDB4ODApKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeSEtFWS5N SEtRICgweDEwMDgpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1ExOCwgMCwgTm90U2VyaWFsaXplZCkg IC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAweDE4CiAgICAgICAgICAgICAgICAgICAgICAg IElmICheSEtFWS5NSEtLICgweDAxLCAweDAxMDApKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeSEtFWS5NSEtRICgweDEwMDkpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE5vb3AKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1ExQSwgMCwgTm90U2Vy aWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAweDFBCiAgICAgICAgICAgICAg ICAgICAgICAgIElmICheSEtFWS5NSEtLICgweDAxLCAweDA0MDApKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeSEtFWS5NSEtRICgweDEwMEIp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1ExQiwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVD IFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFA4MEggPSAweDFCCiAgICAgICAgICAgICAgICAgICAgICAgIF5IS0VZLk1IS1Eg KDB4MTAwQykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1ExRiwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4 RkYKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAw eDFGCiAgICAgICAgICAgICAgICAgICAgICAgIElmICheSEtFWS5NSEtLICgweDAxLCAweDAwMDIw MDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKChQS0xJICYgMHgwQzAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeSEtFWS5NSEtRICgweDEwMTIpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgIFNDTVMgKDB4MEUpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9RMUMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBF QyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBQODBIID0gMHgxQwogICAgICAgICAgICAgICAgICAgICAgICBJZiAoXkhLRVku TUhLSyAoMHgwMSwgMHgwMTAwMDAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5IS0VZLk1IS1EgKDB4MTAxOSkKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfUTFELCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4PTB4MDAt MHhGRgogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUDgwSCA9 IDB4MUQKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKF5IS0VZLk1IS0sgKDB4MDEsIDB4MDIw MDAwMDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeSEtFWS5NSEtRICgweDEwMUEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E2NiwgMCwgTm90 U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAweDY2CiAgICAgICAgICAg ICAgICAgICAgICAgIElmICheSEtFWS5NSEtLICgweDAxLCAweDEwMDAwMDAwKSkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgXkhLRVkuTUhLUSAo MHgxMDFEKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RNjcsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBf UXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBQODBIID0gMHg2NwogICAgICAgICAgICAgICAgICAgICAgICBJZiAo XkhLRVkuTUhLSyAoMHgwMywgMHgwMDA4MDAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5IS0VZLk1IS1EgKDB4MTMxNCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfUTY4LCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4 PTB4MDAtMHhGRgogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UDgwSCA9IDB4NjgKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKF5IS0VZLk1IS0sgKDB4MDMs IDB4MDAxMDAwMDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeSEtFWS5NSEtRICgweDEzMTUpCiAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E2OSwg MCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAweDY5CiAgICAg ICAgICAgICAgICAgICAgICAgIElmICheSEtFWS5NSEtLICgweDAzLCAweDAwMDEwMDAwKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgXkhLRVku TUhLUSAoMHgxMzExKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ROTMsIDAsIE5vdFNlcmlhbGl6ZWQp ICAvLyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBQODBIID0gMHg2NQogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoXkhLRVkuTUhLSyAoMHgwMywgMHgwMDAyMDAwMCkpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5IS0VZLk1IS1EgKDB4MTMxMikKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfUTk0LCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVl cnksIHh4PTB4MDAtMHhGRgogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUDgwSCA9IDB4OTQKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKF5IS0VZLk1IS0sg KDB4MDMsIDB4MDAwNDAwMDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeSEtFWS5NSEtRICgweDEzMTMpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1EyNiwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQWNxdWly ZSAoVUNDSSwgMHhBMDAwKSA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUDgwSCA9IDB4MjYKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFNDTVMgKDB4MTIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeSEtFWS5EWVRD ICgweDAwMEY0MDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDFGNCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoQUMsIDB4ODApIC8vIFN0YXR1cyBD aGFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChXWFBGKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUg KE1DUFUsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoV1hQRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHg2NCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoV1hQRikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSZWxlYXNlIChNQ1BVKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5IS0VZLk1IS1EgKDB4NjA0MCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJlbGVhc2UgKFVDQ0kpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1EyNywgMCwg Tm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQWNxdWlyZSAoVUNDSSwg MHhBMDAwKSA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU0NNUyAoMHgxMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm ICgoXl5eXkxJRC5fTElEICgpID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5IS0VZLkRZVEMgKDB4MDAxRjQwMDEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU2xlZXAgKDB4MDFGNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoQUMs IDB4ODApIC8vIFN0YXR1cyBDaGFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChX WFBGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFjcXVpcmUgKE1DUFUsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoV1hQRikKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAo MHg2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoV1hQRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChNQ1BVKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5IS0VZLk1IS1EgKDB4NjA0 MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKFVDQ0kpCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX1E5QSwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0w eDAwLTB4RkYKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIF5e XkdQUDQuTDg1MC5MRkNUICgpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9RMkEsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwg eHg9MHgwMC0weEZGCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBQODBIID0gMHgyQQogICAgICAgICAgICAgICAgICAgICAgICBWQ01TICgweDAxLCBeXl5eTElE Ll9MSUQgKCkpCiAgICAgICAgICAgICAgICAgICAgICAgIF5IS0VZLkRZVEMgKDB4MDAwRjQwMDEp CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoSUxORiA9PSAweDAwKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKElPU1QpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKCFJU09DICgweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPU1QgPSAweDAwCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5IS0VZLk1IS1EgKDB4NjBEMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgXkhLRVkuTUhLUSAoMHg1MDAyKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKChQTFVYID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoTElELCAweDgwKSAv LyBTdGF0dXMgQ2hhbmdlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX1EyQiwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0w eDAwLTB4RkYKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFA4 MEggPSAweDJCCiAgICAgICAgICAgICAgICAgICAgICAgIFNDTVMgKDB4MEQpCiAgICAgICAgICAg ICAgICAgICAgICAgIFZDTVMgKDB4MDEsIF5eXl5MSUQuX0xJRCAoKSkKICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKCheQUMuX1BTUiAoKSA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgXkhLRVkuRFlUQyAoMHgwMDFGNDAwMSkK ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChJ TE5GID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoKElPRU4gJiYgIUlPU1QpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICghSVNPQyAoMHgwMSkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJT1NUID0gMHgwMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeSEtFWS5NSEtRICgweDYwRDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5IS0VZLk1IS1EgKDB4NTAwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoUExV WCA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBOb3RpZnkgKExJRCwgMHg4MCkgLy8gU3RhdHVzIENoYW5nZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RM0QsIDAsIE5v dFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQODBIID0gMHgzRQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTQ4LCAwLCBOb3RTZXJp YWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4PTB4MDAtMHhGRgogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUDgwSCA9IDB4NDgKICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E0OSwgMCwgTm90U2VyaWFsaXpl ZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAweDQ5CiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RN0YsIDAsIE5vdFNlcmlhbGl6ZWQpICAv LyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBQODBIID0gMHg3RgogICAgICAgICAgICAgICAgICAgICAgICBG YXRhbCAoMHgwMSwgMHg4MDAxMDAwMCwgMHgyOERFKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTRFLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4 eDogRUMgUXVlcnksIHh4PTB4MDAtMHhGRgogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgUDgwSCA9IDB4NEUKICAgICAgICAgICAgICAgICAgICAgICAgXkhLRVku TUhLUSAoMHg2MDExKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfUTQ2LCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4PTB4 MDAtMHhGRgogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUDgw SCA9IDB4NDYKICAgICAgICAgICAgICAgICAgICAgICAgXkhLRVkuTUhLUSAoMHg2MDEyKQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUThBLCAwLCBO b3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4PTB4MDAtMHhGRgogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChXTEFDID09IDB4MDIpKXt9 CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKEVMTksgJiYgKFdMQUMgPT0gMHgwMSkp KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Xl5TTUIuUDBDTyA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5eXlNNQi5QMENPID0gMHgwMQogICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RN0Qs IDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfUTdFLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4 PTB4MDAtMHhGRgogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E3QiwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9R eHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFA4MEggPSAweDdCCiAgICAgICAgICAgICAgICAgICAgICAgIFBDTEsg KCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E4 OCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAweDg4CiAg ICAgICAgICAgICAgICAgICAgICAgIEdDTEsgKCkKICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E3OCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6 IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIEFQTUMgPSAweDc4CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFRSQk8sIFN5c3RlbU1lbW9yeSwgMHhGODBDNDE1 QywgMHgwMSkKICAgICAgICAgICAgICAgICAgICBGaWVsZCAoVFJCTywgQnl0ZUFjYywgTm9Mb2Nr LCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IENQQlAsICAgMQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfUTk1LCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4PTB4MDAt MHhGRgogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgV0ZJTyAo MHgwOCwgMHgwMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX1E5NiwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAw LTB4RkYKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFdGSU8g KDB4MDgsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9RODYsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgw MC0weEZGCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQODBI ID0gMHg4NgogICAgICAgICAgICAgICAgICAgICAgICBeSEtFWS5EWVRDICgweDAwMUY0MDAxKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTg3LCAw LCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4PTB4MDAtMHhGRgogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUDgwSCA9IDB4ODcKICAgICAg ICAgICAgICAgICAgICAgICAgXkhLRVkuRFlUQyAoMHgwMDBGNDAwMSkKICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E4RCwgMCwgTm90U2VyaWFsaXpl ZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAweDhECiAgICAgICAgICAgICAgICAgICAg ICAgIEJUTEYgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgICAgIF5IS0VZLkRZVEMgKDB4MDAx RjAwMDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9ROEUsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZG CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQODBIID0gMHg4 RQogICAgICAgICAgICAgICAgICAgICAgICBCVExGID0gMHgwMAogICAgICAgICAgICAgICAgICAg ICAgICBeSEtFWS5EWVRDICgweDAwMUYwMDAxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfUThCLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDog RUMgUXVlcnksIHh4PTB4MDAtMHhGRgogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgUDgwSCA9IDB4OEIKICAgICAgICAgICAgICAgICAgICAgICAgTEdCRiA9IDB4 MDEKICAgICAgICAgICAgICAgICAgICAgICAgXkhLRVkuRFlUQyAoMHgwMDFGMDAwMSkKICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E4QywgMCwgTm90 U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAweDhDCiAgICAgICAgICAg ICAgICAgICAgICAgIExHQkYgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgIF5IS0VZLkRZ VEMgKDB4MDAxRjAwMDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9RMjIsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwgeHg9 MHgwMC0weEZGCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoSEIwQSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgTm90aWZ5IChCQVQwLCAweDgwKSAvLyBTdGF0dXMgQ2hhbmdlCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX1E0QSwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAw LTB4RkYKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlm eSAoQkFUMCwgMHg4MSkgLy8gSW5mb3JtYXRpb24gQ2hhbmdlCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RNEIsIDAsIE5vdFNlcmlhbGl6ZWQpICAv LyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKEJBVDAsIDB4ODApIC8vIFN0YXR1cyBDaGFuZ2UK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1EyNCwg MCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoQkFUMCwgMHg4 MCkgLy8gU3RhdHVzIENoYW5nZQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChCRkNDLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKF5CQVQwLkIwU1QpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoQkFUMCwgMHg4 MSkgLy8gSW5mb3JtYXRpb24gQ2hhbmdlCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQkFUVywgMSwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IElmIChCVDJUKXt9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBG aWVsZCAoRUNPUiwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhBMCksIAogICAgICAgICAgICAg ICAgICAgICAgICBTQlJDLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgU0JGQywgICAx NiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNCQUUsICAgMTYsIAogICAgICAgICAgICAgICAg ICAgICAgICBTQlJTLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgU0JBQywgICAxNiwg CiAgICAgICAgICAgICAgICAgICAgICAgIFNCVk8sICAgMTYsIAogICAgICAgICAgICAgICAgICAg ICAgICBTQkFGLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgU0JCUywgICAxNgogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKEVDT1IsIEJ5dGVB Y2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBPZmZzZXQgKDB4QTApLCAKICAgICAgICAgICAgICAgICAgICAgICAgU0JCTSwg ICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNCTUQsICAgMTYsIAogICAgICAgICAgICAg ICAgICAgICAgICBTQkNDLCAgIDE2CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBGaWVsZCAoRUNPUiwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhBMCksIAogICAg ICAgICAgICAgICAgICAgICAgICBTQkRDLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAg U0JEViwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNCT00sICAgMTYsIAogICAgICAg ICAgICAgICAgICAgICAgICBTQlNJLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgU0JE VCwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNCU04sICAgMTYKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEZpZWxkIChFQ09SLCBCeXRlQWNjLCBOb0xv Y2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgT2Zmc2V0ICgweEEwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNCQ0gsICAgMzIKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEZpZWxkIChFQ09SLCBCeXRl QWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweEEwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNCTU4s ICAgMTI4CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBGaWVsZCAo RUNPUiwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhBMCksIAogICAgICAgICAgICAgICAgICAg ICAgICBTQkROLCAgIDEyOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTXV0ZXggKEJBVE0sIDB4MDApCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChHQklGLCAz LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKChBY3F1aXJlIChVQ0NJLCAweEEwMDApID09IDB4MDApKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJlIChCQVRNLCAw eEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQXJnMikKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBISUlEID0g KEFyZzAgfCAweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNyA9IFNC Qk0gLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uU0JCTSAqLwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsNyA+Pj0gMHgwRgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFyZzEgWzB4MDBdID0gKExvY2FsNyBeIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSElJRCA9IEFyZzAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTG9j YWw3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTG9jYWwxID0gKFNCRkMgKiAweDBBKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDEgPSBTQkZDIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLlNCRkMgKi8K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFyZzEgWzB4MDJdID0gTG9jYWwxCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSElJRCA9IChBcmcwIHwgMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTG9jYWw3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gKFNCREMgKiAweDBBKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBTQkRDIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBf LlNCREMgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEFyZzEgWzB4MDFdID0gTG9jYWwwCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRGl2aWRlIChMb2NhbDEsIDB4MTQsIExvY2FsMiwgQXJnMSBbMHgwNV0p CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExvY2FsNykKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFyZzEgWzB4MDZdID0gMHhDOAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlSWYgKFNCRFYpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE aXZpZGUgKDB4MDAwMzBENDAsIFNCRFYsIExvY2FsMiwgQXJnMSBbMHgwNl0pCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFyZzEgWzB4MDZdID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJnMSBbMHgwNF0g PSBTQkRWIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLlNCRFYgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDAgPSBTQlNOIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLlNCU04g Ki8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChTRVJOLCBCdWZmZXIgKDB4 MDYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiICAgICAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSAweDA0CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpdmlk ZSAoTG9jYWwwLCAweDBBLCBMb2NhbDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU0VSTiBbTG9jYWwyXSA9IChMb2NhbDEgKyAweDMwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDItLQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJnMSBbMHgwQV0gPSBT RVJOIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkdCSUYuU0VSTiAqLwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEhJSUQgPSAoQXJnMCB8IDB4MDYpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQXJnMSBbMHgwOV0gPSBTQkROIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLlNC RE4gKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBISUlEID0gKEFyZzAgfCAweDA0 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEJUWVAsIEJ1ZmZlciAoMHgw NSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgICAgICAgICAg ICAgICAgICAgLy8gLi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJUWVAgPSBTQkNIIC8qIFxfU0JfLlBDSTAuTFBD MC5FQzBfLlNCQ0ggKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcmcxIFsweDBC XSA9IEJUWVAgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uR0JJRi5CVFlQICovCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSElJRCA9IChBcmcwIHwgMHgwNSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBcmcxIFsweDBDXSA9IFNCTU4gLyogXF9TQl8uUENJMC5MUEMwLkVD MF8uU0JNTiAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFyZzEgWzB4MDFdID0gMHgxOEIwCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQXJnMSBbMHgwNV0gPSAweDAwCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQXJnMSBbMHgwNl0gPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQXJnMSBbMHgwMl0gPSAweDE4QjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChCQVRNKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmVsZWFzZSAoVUNDSSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBcmcxKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChHQklYLCAzLCBTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoQkFUTSwg MHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQXJnMikKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSElJRCA9IChBcmcwIHwgMHgw MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNyA9IFNCQ0MgLyogXF9TQl8uUENJ MC5MUEMwLkVDMF8uU0JDQyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJnMSBbMHgw OF0gPSBMb2NhbDcKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNyA9IFNCQk0gLyog XF9TQl8uUENJMC5MUEMwLkVDMF8uU0JCTSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWw3ID4+PSAweDBGCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcmcxIFsweDAxXSA9 IChMb2NhbDcgXiAweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSElJRCA9IEFyZzAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMb2NhbDcpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gKFNC RkMgKiAweDBBKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IFNCRkMgLyogXF9TQl8uUENJMC5MUEMwLkVD MF8uU0JGQyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFyZzEgWzB4MDNdID0gTG9jYWwxCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBISUlEID0gKEFyZzAgfCAweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExvY2FsNykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDAgPSAoU0JEQyAqIDB4MEEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0g U0JEQyAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5TQkRDICovCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJnMSBbMHgwMl0gPSBMb2Nh bDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpdmlkZSAoTG9jYWwxLCAweDE0LCBMb2Nh bDIsIEFyZzEgWzB4MDZdKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExvY2FsNykK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBcmcxIFsweDA3XSA9IDB4QzgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoU0JEVikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXZpZGUgKDB4MDAw MzBENDAsIFNCRFYsIExvY2FsMiwgQXJnMSBbMHgwN10pCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJnMSBbMHgwN10g PSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgQXJnMSBbMHgwNV0gPSBTQkRWIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLlNCRFYg Ki8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IFNCU04gLyogXF9TQl8uUENJ MC5MUEMwLkVDMF8uU0JTTiAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoU0VS TiwgQnVmZmVyICgweDA2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICIgICAgICIKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSAweDA0CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBXaGlsZSAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpdmlkZSAoTG9jYWwwLCAweDBB LCBMb2NhbDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRVJOIFtM b2NhbDJdID0gKExvY2FsMSArIDB4MzApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWwyLS0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBBcmcxIFsweDExXSA9IFNFUk4gLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uR0JJ WC5TRVJOICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBISUlEID0gKEFyZzAgfCAweDA2 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJnMSBbMHgxMF0gPSBTQkROIC8qIFxfU0Jf LlBDSTAuTFBDMC5FQzBfLlNCRE4gKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhJSUQg PSAoQXJnMCB8IDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChCVFlQLCBC dWZmZXIgKDB4MDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAgICAgICAg ICAgICAgICAgICAvLyAuLi4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJUWVAgPSBTQkNIIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBf LlNCQ0ggKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFyZzEgWzB4MTJdID0gQlRZUCAv KiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5HQklYLkJUWVAgKi8KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEhJSUQgPSAoQXJnMCB8IDB4MDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBB cmcxIFsweDEzXSA9IFNCTU4gLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uU0JNTiAqLwogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJnMSBbMHgwMl0g PSAweEZGRkZGRkZGCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcmcxIFsweDA2XSA9IDB4 MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFyZzEgWzB4MDddID0gMHgwMAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQXJnMSBbMHgwM10gPSAweEZGRkZGRkZGCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKEJBVE0pCiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQXJnMSkKICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoR0JTVCwgNCwgU2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQWNxdWlyZSAoVUND SSwgMHhBMDAwKSA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoQkFUTSwgMHhGRkZGKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKChBcmcxICYgMHgyMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlm ICgoQXJnMSAmIDB4NDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDEKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAw eDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKChBcmcxICYgMHgwNykpe30KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDAgfD0gMHgwNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoKEFyZzEgJiAweDA3KSA9PSAweDA3KSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDEgPSAweEZGRkZGRkZGCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9j YWwyID0gMHhGRkZGRkZGRgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMyA9 IDB4RkZGRkZGRkYKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBISUlEID0gQXJnMAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsMyA9IFNCVk8gLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uU0JWTyAqLwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBcmcyKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9j YWwyID0gKFNCUkMgKiAweDBBKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSBT QlJDIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLlNCUkMgKi8KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IFNC QUMgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uU0JBQyAqLwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmICgoTG9jYWwxID49IDB4ODAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2Fs MCAmIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAoMHgwMDAxMDAwMCAtIExv Y2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9 IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl SWYgKCEoTG9jYWwwICYgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAweDAwCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSAqPSBMb2NhbDMKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRGl2aWRlIChMb2NhbDEsIDB4MDNFOCwgTG9jYWw3LCBMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFyZzMgWzB4MDBdID0gTG9j YWwwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcmczIFsweDAxXSA9IExvY2FsMQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgQXJnMyBbMHgwMl0gPSBMb2NhbDIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFyZzMgWzB4MDNdID0gTG9jYWwzCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZWxlYXNlIChCQVRNKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFz ZSAoVUNDSSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChBcmczKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChBSlRQLCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQXJnMQogICAgICAgICAgICAgICAgICAg ICAgICBBY3F1aXJlIChCQVRNLCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIEhJSUQg PSBBcmcwCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IFNCUkMgLyogXF9TQl8uUENJ MC5MUEMwLkVDMF8uU0JSQyAqLwogICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChCQVRN KQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMCkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IEhCMFMg LyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEIwUyAqLwogICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gSEIxUyAvKiBcX1NCXy5QQ0kwLkxQ QzAuRUMwXy5IQjFTICovCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgIElmICgoTG9jYWwyICYgMHgyMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQXJnMiA+IDB4MDApKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2Fs MCArPSAweDAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKChMb2NhbDAgPD0gTG9jYWwxKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAoTG9jYWwx ICsgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlSWYgKChMb2NhbDIgJiAweDQwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KChMb2NhbDAgPj0gTG9jYWwxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAoTG9jYWwxIC0gMHgwMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKEJBVDApCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBBIikgLyog Q29udHJvbCBNZXRob2QgQmF0dGVyeSAqLykgIC8vIF9ISUQ6IEhhcmR3YXJlIElECiAgICAgICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDApICAvLyBfVUlEOiBVbmlxdWUgSUQKICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BDTCwgUGFja2FnZSAoMHgwMSkgIC8vIF9QQ0w6 IFBvd2VyIENvbnN1bWVyIExpc3QKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgX1NCCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgICAgICAgICAgICAgIE5hbWUgKEIwU1QsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAg IE5hbWUgKEJUMEksIFBhY2thZ2UgKDB4MEQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHhGRkZGRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkZGRkZGLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgyQTMwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgIiIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIiIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIK ICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAo QlgwSSwgUGFja2FnZSAoMHgxNSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDAxNzMxOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eEZGRkZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwM0U4LCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDFGNCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGRkZGRkZGLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgIiIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIiIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICB9 KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChCVDBQLCBQYWNrYWdlICgweDA0KXt9KQog ICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpICAv LyBfU1RBOiBTdGF0dXMKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEg4RFIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQjBTVCA9IEJBVFAgLyogXF9TQl8uUENJMC5MUEMw LkVDMF8uQkFUUCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZUlmICgoUkJFQyAoMHgzOCkgJiAweDgwKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCMFNUID0g MHgwMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEIwU1QgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEIwU1QpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDFG KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfQklGLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0JJRjogQmF0dGVyeSBJbmZvcm1hdGlvbgog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo KEFjcXVpcmUgKFVDQ0ksIDB4QTAwMCkgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw3ID0gMHgwMAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IDB4MEEKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBXaGlsZSAoKCFMb2NhbDcgJiYgTG9jYWw2KSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChIQjBBKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKChIQjBTICYgMHgwNykgPT0gMHgw NykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDNFOCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDYtLQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNyA9IDB4 MDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IDB4MDAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoVUNDSSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQklY ICgweDAwLCBCWDBJLCBMb2NhbDcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCVDBJIFsw eDAwXSA9IERlcmVmT2YgKEJYMEkgWzB4MDFdKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg QlQwSSBbMHgwMV0gPSBEZXJlZk9mIChCWDBJIFsweDAyXSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJUMEkgWzB4MDJdID0gRGVyZWZPZiAoQlgwSSBbMHgwM10pCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCVDBJIFsweDAzXSA9IERlcmVmT2YgKEJYMEkgWzB4MDRdKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQlQwSSBbMHgwNF0gPSBEZXJlZk9mIChCWDBJIFsweDA1XSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJUMEkgWzB4MDVdID0gRGVyZWZPZiAoQlgwSSBb MHgwNl0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCVDBJIFsweDA2XSA9IERlcmVmT2Yg KEJYMEkgWzB4MDddKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQlQwSSBbMHgwN10gPSBE ZXJlZk9mIChCWDBJIFsweDBFXSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJUMEkgWzB4 MDhdID0gRGVyZWZPZiAoQlgwSSBbMHgwRl0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBC VDBJIFsweDA5XSA9IERlcmVmT2YgKEJYMEkgWzB4MTBdKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgQlQwSSBbMHgwQV0gPSBEZXJlZk9mIChCWDBJIFsweDExXSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJUMEkgWzB4MEJdID0gRGVyZWZPZiAoQlgwSSBbMHgxMl0pCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBCVDBJIFsweDBDXSA9IERlcmVmT2YgKEJYMEkgWzB4MTNdKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVDBJKSAvKiBcX1NCXy5QQ0kwLkxQ QzAuRUMwXy5CQVQwLkJUMEkgKi8KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChfQklYLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0JJWDog QmF0dGVyeSBJbmZvcm1hdGlvbiBFeHRlbmRlZAogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDcgPSAweDAwCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDYgPSAweDBBCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGls ZSAoKCFMb2NhbDcgJiYgTG9jYWw2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoSEIwQSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgo KEhCMFMgJiAweDA3KSA9PSAweDA3KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDNF OCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNi0tCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDcgPSAweDAxCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWw2ID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEdCSVggKDB4MDAsIEJYMEksIExvY2FsNykpCiAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0JTVCwgMCwgTm90U2VyaWFsaXplZCkg IC8vIF9CU1Q6IEJhdHRlcnkgU3RhdHVzCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IChEZXJlZk9mIChCWDBJIFsweDAxXSkgXiAw eDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0JTVCAoMHgwMCwgSEIwUywgTG9jYWww LCBCVDBQKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKCgoSEIwUyAmIDB4MDcpID09 IDB4MDcpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJUMFAgWzB4MDFdID0gMHhGRkZGRkZGRgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJUMFAgWzB4MDJdID0gMHhGRkZGRkZGRgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJUMFAgWzB4MDNdID0gMHhGRkZGRkZGRgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlQwUCkgLyog XF9TQl8uUENJMC5MUEMwLkVDMF8uQkFUMC5CVDBQICovCiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoQUMp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElE LCAiQUNQSTAwMDMiIC8qIFBvd2VyIFNvdXJjZSBEZXZpY2UgKi8pICAvLyBfSElEOiBIYXJkd2Fy ZSBJRAogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAwKSAgLy8gX1VJRDog VW5pcXVlIElECiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QQ0wsIFBhY2thZ2UgKDB4 MDEpICAvLyBfUENMOiBQb3dlciBDb25zdW1lciBMaXN0CiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9TQgogICAgICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChYWDAwLCBCdWZmZXIgKDB4MDMpe30p CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEFDREMsIDB4RkYpCiAgICAgICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1BTUiwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QU1I6IFBvd2Vy IFNvdXJjZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoKEFjcXVpcmUgKFVDQ0ksIDB4QTAwMCkgPT0gMHgwMCkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0g MHgwMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoU1BTID09IDB4MDApKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKChIOERSID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3F1 aXJlIChFRUNMLCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDAgPSBIUEFDIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhQQUMgKi8KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKEVFQ0wpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmICgoKExvY2FsMCAhPSBBQ0RDKSB8fCAoQUNEQyA9PSAweEZGKSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoWFgwMCwgMHgwMCwgU1NaRSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoWFgwMCwgMHgw MiwgQUNTVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNTWkUgPSAw eDAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSAweEFDCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXl5eXkdQMTcuVkdBLkFGTjQgKDB4MDEpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNTVCA9IDB4MDAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQODBI ID0gMHhEQwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5H UDE3LlZHQS5BRk40ICgweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFDU1QgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUDgwSCA9IDB4QUUK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFMSUIgKDB4MDEsIFhYMDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQODBIID0gMHhBRgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNEQyA9IExvY2FsMAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChVQ0NJKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfU1RBOiBTdGF0 dXMKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKEhLRVkpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJMRU4wMjY4 IikpICAvLyBfSElEOiBIYXJkd2FyZSBJRAogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfU1RBOiBTdGF0dXMKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9J TkksIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfSU5JOiBJbml0aWFsaXplCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERZVEMgKDB4MDAwRjAwMDEp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoTUhLViwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyMDApCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKERIS0MsIDB4MDApCiAgICAg ICAgICAgICAgICAgICAgICAgIE5hbWUgKERIS0IsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAg ICAgIE5hbWUgKERIS0gsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKERIS1cs IDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKERIS1MsIDB4MDApCiAgICAgICAg ICAgICAgICAgICAgICAgIE5hbWUgKERIS0QsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAg IE5hbWUgKERIS04sIDB4MDgwOCkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoREhLRSwg MHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoREhLRiwgMHgwMDFGMDAwMCkKICAg ICAgICAgICAgICAgICAgICAgICAgTmFtZSAoREhLVCwgMHgwMCkKICAgICAgICAgICAgICAgICAg ICAgICAgTmFtZSAoREhXVywgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgTXV0ZXggKFhE SEssIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoTUhLQSwgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKChBcmcwID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMykKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKEFy ZzAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkZGRkZCKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgoQXJnMCA9PSAw eDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlSWYgKChBcmcwID09IDB4MDMpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwMDFGMDAwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoTUhLTiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDAp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChESEtOKSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLkRIS04gKi8KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKEFy ZzAgPT0gMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChESEtFKSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5I S0VZLkRIS0UgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2VJZiAoKEFyZzAgPT0gMHgwMykpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChESEtGKSAv KiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLkRIS0YgKi8KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoTUhLSywgMiwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKChBcmcwID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMykKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoREhLQykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKChESEtOICYgQXJnMSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2VJZiAoKEFyZzAgPT0gMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKChE SEtFICYgQXJnMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKEFyZzAgPT0gMHgwMykpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKChESEtGICYgQXJnMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChaZXJvKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKE1IS00sIDIsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFjcXVpcmUgKFhESEssIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmICgoQXJnMCA+IDB4NjApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE5vb3AKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKEFyZzAgPD0gMHgyMCkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWwwID0gKE9uZSA8PCBBcmcwLS0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKChMb2NhbDAgJiAweEZGRkZGRkZCKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBcmcxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBESEtOIHw9IExvY2FsMCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5I S0VZLkRIS04gKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERI S04gJj0gKExvY2FsMCBeIDB4RkZGRkZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9vcAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKEFyZzAgPD0gMHg0MCkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9vcAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZUlmICgoQXJnMCA8PSAweDYwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBcmcwIC09IDB4NDAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDAgPSAoT25lIDw8IEFyZzAtLSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoKExvY2FsMCAmIDB4MDAxRjAwMDApKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KEFyZzEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERIS0YgfD0gTG9jYWwwIC8qIFxfU0JfLlBDSTAu TFBDMC5FQzBfLkhLRVkuREhLRiAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgREhLRiAmPSAoTG9jYWwwIF4gMHhGRkZGRkZGRikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb29wCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKFhESEspCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoTUhLUywgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgTm90aWZ5IChTTFBCLCAweDgwKSAvLyBTdGF0dXMgQ2hhbmdlCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoTUhLQywg MSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgREhLQyA9IEFyZzAKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChNSEtQLCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJl IChYREhLLCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoREhXVykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDEgPSBESFdXIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuREhXVyAqLwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERIV1cgPSBaZXJvCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlSWYgKERIS1cpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWwxID0gREhLVyAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLkRIS1cgKi8KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESEtXID0gWmVybwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmIChESEtEKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExvY2FsMSA9IERIS0QgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5ESEtEICovCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREhLRCA9IFplcm8KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoREhLUykK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMb2NhbDEgPSBESEtTIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuREhLUyAqLwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERIS1MgPSBaZXJvCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlSWYgKERIS1Qp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTG9jYWwxID0gREhLVCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLkRIS1QgKi8K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESEtUID0gWmVybwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExv Y2FsMSA9IERIS0ggLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5ESEtIICovCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgREhLSCA9IFplcm8KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChYREhLKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoTUhLRSwgMSwgU2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgREhLQiA9IEFyZzAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKFhESEss IDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERIS0ggPSBaZXJvCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBESEtXID0gWmVybwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgREhLUyA9IFplcm8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERIS0QgPSBaZXJvCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBESEtUID0gWmVybwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgREhXVyA9IFplcm8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2Ug KFhESEspCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoTUhLUSwgMSwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKERIS0IpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKERIS0MpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBY3F1aXJlIChYREhLLCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmICgoQXJnMCA8IDB4MTAwMCkpe30KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZUlmICgoQXJnMCA8IDB4MjAwMCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IERIS0ggPSBBcmcwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgoQXJnMCA8IDB4MzAwMCkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIERIS1cgPSBBcmcwCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgo QXJnMCA8IDB4NDAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERIS1MgPSBBcmcwCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZUlmICgoQXJnMCA8IDB4NTAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERI S0QgPSBBcmcwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgoQXJnMCA8IDB4NjAwMCkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIERIS0ggPSBBcmcwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgoQXJn MCA8IDB4NzAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERIS1QgPSBBcmcwCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZUlmICgoQXJnMCA8IDB4ODAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERIV1cg PSBBcmcwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKFhESEspCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoSEtFWSwgMHg4MCkgLy8gU3RhdHVzIENoYW5n ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFbHNlSWYgKChBcmcwID09IDB4MTAwNCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkg KFNMUEIsIDB4ODApIC8vIFN0YXR1cyBDaGFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoTUhLQiwgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKChBcmcwID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJFRVAgKDB4MTEpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTElEQiA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QkVFUCAoMHgxMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMSURCID0gMHgwMQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg RWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKE1IS0QsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoUExVWCA9PSAweDAwKSl7fQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKE1I UUMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChXTlRGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAwKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQ1dBQykgLyogXENXQUMgKi8KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgoQXJn MCA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQ1dBUCkgLyogXENXQVAgKi8KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZUlmICgoQXJnMCA9PSAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQ1dBVCkgLyog XENXQVQgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9vcAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb29wCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKE1IR0Ms IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmIChXTlRGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKFhESEssIDB4RkZGRikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQ0tDNCAoMHgwMCkpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDAgPSAweDAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJlbGVhc2UgKFhESEspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9vcAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChNSFNDLCAx LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQ0tDNCwgMSwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgTG9jYWwwID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEM0 V1IpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKCFDNEFDKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwIHw9IDB4MDEKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEM0TkEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwIHw9IDB4MDIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoKENXQUMgJiYgQ1dBUykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwIHw9IDB4MDQKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgJj0gfkFy ZzAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKE1IUUUsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChNSEdFLCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKEM0 V1IgJiYgQzRBQykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMykKICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChNSFNFLCAx LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoVUFXTywgMSwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChVQVdTIChBcmcwKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChNTENHLCAxLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2Nh bDAgPSBLQkxTICgweDAwLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoTUxDUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gS0JMUyAoMHgwMSwgQXJn MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICghKExvY2FsMCAmIDB4ODAwMDAwMDAp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmICgoQXJnMCAmIDB4MDAwMTAwMDApKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUhLUSAoMHg2MDAx KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFbHNlSWYgKE1IS0sgKDB4MDEsIDB4MDAwMjAwMDApKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TUhLUSAoMHgxMDEyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChEU1NHLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAoMHgwNDAwIHwgUERDSSkg LyogXFBEQ0kgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KERTU1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFBEQ0kgfD0gQXJnMAogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKFNCU0csIDEsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoU1lCQyAoMHgwMCwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoU0JTUywgMSwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChTWUJDICgweDAxLCBBcmcwKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChQQkxHLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBCUkxW IC8qIFxCUkxWICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAoTG9jYWww IHwgMHgwRjAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo UEJMUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQlJMViA9IEFyZzAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChWSUdEKXt9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkJS QyAoQlJMVikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoIU5CQ0YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTUhLUSAoMHg2MDUwKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkK ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChQTVNHLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBQUlNNICgweDAwLCAweDAwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoUE1TUywgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUFJTTSAoMHgwMSwgQXJnMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChJU1NHLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBJU1NQIC8qIFxJU1NQICovCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoSVNTUCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgfD0gMHgwMTAw MDAwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCB8PSAoSVNGUyA8PCAw eDE5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExvY2FsMCB8PSAoSVNDRyAmIDB4MzApCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChJU1NTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU0NHID0gQXJnMAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEZGU0csIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChGRlNTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4ODAwMDAw MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoR01LUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEhGTkUpe30KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2VJZiAoKDB4MDEgJiBGTktDKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRklPICgweDA1LCAweDAxKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg RWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFdGSU8gKDB4MDUsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChGTlNDICgweDAyLCAweDAwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChTTUtTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoKEFyZzAgJiAweDAxKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRklPICgweDA1 LCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFdGSU8gKDB4MDUsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gRk5TQyAoMHgw MywgKEFyZzAgJiAweDAwMDEwMDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1IS1Eg KDB4NjA2MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEdT S0wsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoRk5TQyAoMHgwNCwgKEFyZzAgJiAweDBGMDAwMDAw KSkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoU1NLTCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChGTlNDICgweDA1LCAoQXJnMCAmIDB4 MEYwMEZGRkYpKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChJTlNHLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBJT0VOIC8qIFxJT0VO ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgfD0gKElPU1QgPDwgMHgwNykK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCB8PSAoSU9DUCA8PCAweDA4KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwIHw9IDB4MTAwMDAwMDAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKElOU1MsIDEsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm ICgoQXJnMCAmIDB4MTAwMDAwMDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChJT0NQKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWww ID0gKChBcmcwICYgMHg4MCkgPj4gMHgwNykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKCFFWlJDIChMb2NhbDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT1NUID0gTG9j YWwwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoKElPQ1AgJiYgKEFyZzAgJiAweDAxKSkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9FTiA9IDB4MDEK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJT0VOID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChJT1NUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKCFJU09DICgweDAwKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSU9TVCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IFNjb3BlIChIS0VZKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgTmFtZSAoSU5EViwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChNSFFJ LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoTUhHSSwgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFt ZSAoUkVUQiwgQnVmZmVyICgweDEwKXt9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlQnl0ZUZpZWxkIChSRVRCLCAweDAwLCBNSEdTKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWwwID0gKDB4MDEgPDwgQXJnMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm ICgoSU5EViAmIExvY2FsMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDApKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlRmllbGQgKFJFVEIsIDB4MDgsIDB4NzgsIEJSQlUpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJSQlUgPSBJUE1CIC8qIFxJUE1CICovCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE1IR1MgPSAweDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKEFyZzAgPT0g MHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoUkVUQiwgMHgwOCwgMHgxOCwgUlJCVSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlJCVSA9IElQTVIgLyogXElQTVIg Ki8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUhHUyA9IDB4MDQKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZUlmICgoQXJnMCA9PSAweDA4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkIChSRVRC LCAweDEwLCAweDE4LCBPREJVKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBD cmVhdGVCeXRlRmllbGQgKFJFVEIsIDB4MDEsIE1IR1opCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE9EQlUgPSBJUE1PIC8qIFxJUE1PICovCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE1IR1MgPSAweDA1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKEFyZzAgPT0gMHgw OSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBDcmVhdGVGaWVsZCAoUkVUQiwgMHgxMCwgMHgwOCwgQVVCVSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVVCVSA9IElQTUEgLyogXElQTUEgKi8K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVUQiBbMHgwMV0gPSAweDAxCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1IR1MgPSAweDAzCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVs c2VJZiAoKEFyZzAgPT0gMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSBWRFlOICgweDAwLCAw eDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRVRCIFsweDAyXSA9IChM b2NhbDEgJiAweDBGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEg Pj49IDB4MDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVUQiBbMHgwMV0g PSAoTG9jYWwxICYgMHgwRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUhH UyA9IDB4MDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChSRVRC KSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLk1IR0kuUkVUQiAqLwogICAgICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKE1IU0ksIDIsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsMCA9ICgweDAxIDw8IEFyZzApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoKElORFYgJiBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA4KSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChBcmcxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoSDhEUikKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSBIUEJVIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBf LkhQQlUgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDEgPSAoUkJFQyAoMHg0NykgJiAweDAxKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2VJZiAoKEFyZzAgPT0gMHgwMikpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWRFlO ICgweDAxLCBBcmcxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU2NvcGUgKFxfU0IuUENJMC5MUEMwLkVD MCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1E2QSwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KEhETUMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTm9vcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZUlmICheSEtFWS5NSEtLICgweDAxLCAweDA0MDAwMDAwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeSEtFWS5NSEtRICgweDEwMUIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIFNjb3BlIChIS0VZKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChNTVRHLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDAxMDEK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChIRE1DKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCB8PSAweDAw MDEwMDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoTU1UUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEhETUMp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTm9vcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZUlmICgoQXJnMCA9PSAweDAyKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRklPICgweDA3LCAweDAx KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFdGSU8gKDB4MDcsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIFNjb3BlIChIS0VZKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChQV01DLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoUFdNRywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gUFdNSCAvKiBcX1NCXy5QQ0kwLkxQ QzAuRUMwXy5QV01IICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPDw9IDB4 MDgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCB8PSBQV01MIC8qIFxfU0JfLlBD STAuTFBDMC5FQzBfLlBXTUwgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBTY29wZSAoXF9TQi5QQ0kwLkxQQzAuRUMwKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTNGLCAwLCBOb3RT ZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4PTB4MDAtMHhGRgogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeSEtFWS5NSEtRICgweDYw MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX1E3NCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAw LTB4RkYKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKCgweDAxICYgRk5LQykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgV0ZJTyAoMHgwNSwgMHgwMSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBX RklPICgweDA1LCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5IS0VZLk1IS1EgKDB4NjA2MCkKICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU2NvcGUg KEhLRVkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgU2NvcGUgKFxfU0IuUENJMC5MUEMwLkVDMCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEJUQkYsIEJ1ZmZlciAoMHgwMTAw KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4KICAg ICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChC VElGLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBCVEJGID0gVFdCVCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5U V0JUICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJUQkYpIC8qIFxfU0Jf LlBDSTAuTFBDMC5FQzBfLkJUQkYgKi8KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU2NvcGUgKEhLRVkpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKFNCSUcsIDEsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQlRJRiAoKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChF Q01NLCBTeXN0ZW1NZW1vcnksIDB4RkUwMEQwMDAsIDB4MTAwMCkKICAgICAgICAgICAgICAgICAg ICBGaWVsZCAoRUNNTSwgQW55QWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxQkYpLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICwgICA3LCAKICAgICAgICAgICAgICAgICAgICAgICAgQUNPUywgICAx LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDJFNiksIAogICAgICAgICAgICAg ICAgICAgICAgICBQRVRMLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 MkU3KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgzRDkpLCAKICAgICAgICAg ICAgICAgICAgICAgICAgU1NUQSwgICA2LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDNEQSksIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4M0RDKSwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFBNQVgsICAgNSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHgzRTUpLCAKICAgICAgICAgICAgICAgICAgICAgICAgRFlUTSwgICA4LCAKICAgICAg ICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDNFQSksIAogICAgICAgICAgICAgICAgICAgICAg ICBPU01MLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPU01ILCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NDAwKSwgCiAgICAgICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHg0NUQpLCAKICAgICAgICAgICAgICAgICAgICAgICAgRVJJQiwgICAxNiwgCiAg ICAgICAgICAgICAgICAgICAgICAgIEVSQkQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAg IE9mZnNldCAoMHg0OEIpLCAKICAgICAgICAgICAgICAgICAgICAgICAgQ1BJRCwgICA4LCAKICAg ICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDRBMCksIAogICAgICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4NEE3KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9TVFQsICAgOCwg CiAgICAgICAgICAgICAgICAgICAgICAgIE9TU1QsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIFRITFQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRDTkwsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIE1PREUsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIElOSVQsICAgMSwgCiAgICAgICAgICAg ICAgICAgICAgICAgIEZBTjEsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEZBTjIsICAg MSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEZBTlQsICAgMSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIFNLTk0sICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNEVE0sICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIEZTU04sICAgNCwgCiAgICAgICAgICAgICAgICAgICAgICAg IEZBTlUsICAgNCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBUVkwsICAgNCwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNXVE8s ICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRUSFIsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIFRUSE0sICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRIVEwsICAgMSwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAg ICAgIENUTVAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIENUTUwsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFNLVEEsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNL VEIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNLVEMsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIE5UTVAsICAg OCwgCiAgICAgICAgICAgICAgICAgICAgICAgIENQVUosICAgMywgCiAgICAgICAgICAgICAgICAg ICAgICAgIENQTk0sICAgMywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1QUYpLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICwgICA2LCAKICAgICAgICAgICAgICAgICAgICAgICAgTEdCRiwgICAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgQlRMRiwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweEEzOCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDcsIAogICAg ICAgICAgICAgICAgICAgICAgICBCQVRQLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4QTRFKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFNXT0wsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhBOEYpLCAKICAgICAgICAgICAgICAgICAgICAg ICAgU01DTSwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgU01QMSwgICAzMiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFNNUDIsICAgMzIsIAogICAgICAgICAgICAgICAgICAgICAgICBT TVAzLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICAgICAgU01QNCwgICAzMiwgCiAgICAgICAg ICAgICAgICAgICAgICAgIE9mZnNldCAoMHhBQzMpLCAKICAgICAgICAgICAgICAgICAgICAgICAg RFdPTCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEUwMCksIAogICAg ICAgICAgICAgICAgICAgICAgICBUV0JULCAgIDIwNDgsIAogICAgICAgICAgICAgICAgICAgICAg ICBUMkJULCAgIDIwNDgKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IE9wZXJhdGlvblJlZ2lvbiAoRUNNUCwgU3lzdGVtTWVtb3J5LCAweEZFMDBEMDAwLCAweDEwMDAp CiAgICAgICAgICAgICAgICAgICAgRmllbGQgKEVDTU0sIEFueUFjYywgTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 MzVGKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEdQRUwsICAgOAogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTXV0ZXggKEZBTVgsIDB4MDApCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChGQU5HLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoRkFNWCwgMHhGRkZGKQogICAg ICAgICAgICAgICAgICAgICAgICBFUklCID0gQXJnMAogICAgICAgICAgICAgICAgICAgICAgICBT bGVlcCAoMHgxNCkKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gRVJCRCAvKiBcX1NC Xy5QQ0kwLkxQQzAuRUMwXy5FUkJEICovCiAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2Ug KEZBTVgpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChGQU5XLCAyLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNx dWlyZSAoRkFNWCwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICBFUklCID0gQXJnMAog ICAgICAgICAgICAgICAgICAgICAgICBFUkJEID0gQXJnMQogICAgICAgICAgICAgICAgICAgICAg ICBSZWxlYXNlIChGQU1YKQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFyZzEpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKFRVVlIsIDEs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKDB4MDMpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKFBDTEssIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBBUENMICgpCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEdDTEssIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBHUENMICgpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEFQQ0wsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBM b2NhbDAgPSBQRVRMIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLlBFVEwgKi8KICAgICAgICAgICAg ICAgICAgICAgICAgUDgwSCA9IExvY2FsMAogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEg PSBTaXplT2YgKFxfUFIuQzAwMC5fUFNTKQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEt LQogICAgICAgICAgICAgICAgICAgICAgICBQTUFYID0gTG9jYWwxCiAgICAgICAgICAgICAgICAg ICAgICAgIElmICgoTG9jYWwwIDw9IExvY2FsMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFA4MEggPSBMb2NhbDAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfUFIuQzAwMC5QUENWLCBMb2NhbDIpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFxfUFIuQzAwMC5QUENWID0gTG9jYWwwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Tm90aWZ5IChcX1BSLkMwMDAsIDB4ODApIC8vIFBlcmZvcm1hbmNlIENhcGFiaWxpdHkgQ2hhbmdl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKENvbmRSZWZPZiAoXF9QUi5DMDAxLlBQQ1YsIExvY2FsMykpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9QUi5DMDAx LlBQQ1YgPSBMb2NhbDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxf UFIuQzAwMSwgMHg4MCkgLy8gUGVyZm9ybWFuY2UgQ2FwYWJpbGl0eSBDaGFuZ2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQ29u ZFJlZk9mIChcX1BSLkMwMDIuUFBDViwgTG9jYWw0KSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1BSLkMwMDIuUFBDViA9IExv Y2FsMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9QUi5DMDAyLCAw eDgwKSAvLyBQZXJmb3JtYW5jZSBDYXBhYmlsaXR5IENoYW5nZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxf UFIuQzAwMy5QUENWLCBMb2NhbDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfUFIuQzAwMy5QUENWID0gTG9jYWwwCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1BSLkMwMDMsIDB4ODApIC8vIFBl cmZvcm1hbmNlIENhcGFiaWxpdHkgQ2hhbmdlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUFRWTCA9IExvY2FsMAogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUDgwSCA9IExvY2FsMQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKENvbmRSZWZPZiAoXF9QUi5DMDAwLlBQQ1YsIExv Y2FsMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXF9QUi5DMDAwLlBQQ1YgPSBMb2NhbDEKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBOb3RpZnkgKFxfUFIuQzAwMCwgMHg4MCkgLy8gUGVyZm9ybWFuY2UgQ2FwYWJp bGl0eSBDaGFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoQ29uZFJlZk9mIChcX1BSLkMwMDEuUFBDViwgTG9jYWwzKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcX1BSLkMwMDEuUFBDViA9IExvY2FsMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE5vdGlmeSAoXF9QUi5DMDAxLCAweDgwKSAvLyBQZXJmb3JtYW5jZSBDYXBhYmlsaXR5IENoYW5n ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChDb25kUmVmT2YgKFxfUFIuQzAwMi5QUENWLCBMb2NhbDQpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfUFIuQzAw Mi5QUENWID0gTG9jYWwxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChc X1BSLkMwMDIsIDB4ODApIC8vIFBlcmZvcm1hbmNlIENhcGFiaWxpdHkgQ2hhbmdlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKENv bmRSZWZPZiAoXF9QUi5DMDAzLlBQQ1YsIExvY2FsNSkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9QUi5DMDAzLlBQQ1YgPSBM b2NhbDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfUFIuQzAwMywg MHg4MCkgLy8gUGVyZm9ybWFuY2UgQ2FwYWJpbGl0eSBDaGFuZ2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQVFZMID0gTG9jYWwxCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoR1BDTCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIF5eXkdQMTcuVkdBLkFGTjIgKEdQRUwsIDB4 MDIpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKENN RkMsIDQsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDAgPSBCdWZmZXIgKDB4ODIpe30KICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlV29yZEZpZWxkIChMb2NhbDAsIDB4MDAsIFJUU1QpCiAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZUZpZWxkIChMb2NhbDAsIDB4MTAsIDB4MDQwMCwgUlREVCkKICAgICAgICAgICAg ICAgICAgICAgICAgU3dpdGNoIChUb0ludGVnZXIgKEFyZzApKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgweDEwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN3aXRj aCAoVG9JbnRlZ2VyIChBcmcxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhc2UgKDB4MDEpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN3aXRjaCAoVG9JbnRlZ2VyIChBcmcyKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDYXNlICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UlRTVCA9IDB4MDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUlREVCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERl ZmF1bHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUU1QgPSAweDAwCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURFQgPSAweDAw CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Q2FzZSAoMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRTVCA9IDB4MDEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURFQgPSAweDExCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE ZWZhdWx0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUU1QgPSAweDAwCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSVERUID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FzZSAo MHgyMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTd2l0Y2ggKFRvSW50ZWdlciAoQXJnMSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlICgw eDEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSVFNUID0gMHgwMQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlREVCA9IDB4MDYKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRTVCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURFQgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWwxID0gQ0JCTSAoQXJnMCwgQXJnMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoKExvY2FsMSA9PSAweEZGKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUU1QgPSAweDAwCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURFQgPSAweDAwCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSVFNUID0gMHgwMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVERU ID0gTG9jYWwxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1l dGhvZCAoU0RSVCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIF5QQ0kw LlNESU8uV0xBTi5fSU5JICgpCiAgICAgICAgfQoKICAgICAgICBEZXZpY2UgKExJRCkKICAgICAg ICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEQiKSAvKiBMaWQgRGV2 aWNlICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgTWV0aG9kIChfTElELCAw LCBOb3RTZXJpYWxpemVkKSAgLy8gX0xJRDogTGlkIFN0YXR1cwogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBJZiAoSDhEUikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKF5eUENJMC5MUEMwLkVDMC5IUExEKSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5I UExEICovCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlSWYgKChSQkVDICgw eDQ2KSAmIDB4MDQpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwMSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX1BSVywgMCwgTm90U2VyaWFs aXplZCkgIC8vIF9QUlc6IFBvd2VyIFJlc291cmNlcyBmb3IgV2FrZQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBJZiAoTFdDUCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAweDA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNAogICAg ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgw eDAyKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwOCwg CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAgICAgICB9KQogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9QU1csIDEs IE5vdFNlcmlhbGl6ZWQpICAvLyBfUFNXOiBQb3dlciBTdGF0ZSBXYWtlCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIElmIChIOERSKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIElmIChBcmcwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgXl5QQ0kwLkxQQzAuRUMwLkhXTE8gPSAweDAxCiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIF5eUENJMC5MUEMwLkVDMC5IV0xPID0gMHgwMAogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2VJZiAoQXJnMCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNQkVDICgweDMyLCAweEZGLCAweDA0 KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIE1CRUMgKDB4MzIsIDB4RkIsIDB4MDApCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExXQ1ApCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgSWYgKEFyZzApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBMV0VOID0gMHgwMQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBMV0VOID0gMHgwMAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgRGV2aWNlIChTTFBCKQogICAgICAgIHsK ICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRSIpIC8qIFNsZWVwIEJ1dHRv biBEZXZpY2UgKi8pICAvLyBfSElEOiBIYXJkd2FyZSBJRAogICAgICAgICAgICBNZXRob2QgKF9Q UlcsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFJXOiBQb3dlciBSZXNvdXJjZXMgZm9yIFdha2UK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAyKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDgsIAogICAgICAgICAgICAgICAg ICAgIDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1l dGhvZCAoX1BTVywgMSwgTm90U2VyaWFsaXplZCkgIC8vIF9QU1c6IFBvd2VyIFN0YXRlIFdha2UK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKEg4RFIpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzApCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBeXlBDSTAuTFBDMC5FQzAuSFdGTiA9IDB4MDEKICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgXl5QQ0kwLkxQQzAuRUMwLkhXRk4gPSAweDAwCiAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxz ZUlmIChBcmcwKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE1CRUMgKDB4 MzIsIDB4RkYsIDB4MTApCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTUJFQyAoMHgzMiwgMHhFRiwgMHgw MCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgU2Nv cGUgKFBDSTAuTFBDMC5FQzApCiAgICAgICAgewogICAgICAgICAgICBNZXRob2QgKF9RNDMsIDAs IE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIElmICgoXkhLRVkuREhLQyA9PSAweDAwKSkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBITVVUID0gMHgwMAogICAgICAgICAgICAgICAg ICAgIFdGSU8gKDB4MDksIDB4MDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg U0NNUyAoMHgxOCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTQVVNLCAxLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPiAw eDAzKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOb29wCiAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlSWYgKEg4RFIpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgSEFVTSA9IEFyZzAKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNQkVD ICgweDAzLCAweDlGLCAoQXJnMCA8PCAweDA1KSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgfQogICAgICAgIH0KCiAgICAgICAgU2NvcGUgKFBDSTAuTFBDMC5FQzAuSEtFWSkKICAgICAg ICB7CiAgICAgICAgICAgIE1ldGhvZCAoR1NNUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChBVURDICgweDAwLCAweDAwKSkKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTU01TLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMCkpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgV0ZJTyAoMHgwOSwgMHgwMCkKICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBXRklPICgweDA5LCAweDAxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IFJldHVybiAoQVVEQyAoMHgwMSwgKEFyZzAgJiAweDAxKSkpCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIE1ldGhvZCAoU0hEQSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgUmV0dXJuIChBVURDICgweDAyLCAoQXJnMCAmIDB4MDEpKSkKICAgICAgICAg ICAgfQogICAgICAgIH0KCiAgICAgICAgU2NvcGUgKFBDSTAuTFBDMC5FQzApCiAgICAgICAgewog ICAgICAgICAgICBOYW1lIChCUlRXLCBQYWNrYWdlICgweDEyKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweDY0LCAKICAgICAgICAgICAgICAgIDB4NjQsIAogICAgICAgICAgICAgICAg MHgwNSwgCiAgICAgICAgICAgICAgICAweDBBLCAKICAgICAgICAgICAgICAgIDB4MTQsIAogICAg ICAgICAgICAgICAgMHgxOSwgCiAgICAgICAgICAgICAgICAweDFFLCAKICAgICAgICAgICAgICAg IDB4MjMsIAogICAgICAgICAgICAgICAgMHgyOCwgCiAgICAgICAgICAgICAgICAweDJELCAKICAg ICAgICAgICAgICAgIDB4MzIsIAogICAgICAgICAgICAgICAgMHgzNywgCiAgICAgICAgICAgICAg ICAweDNDLCAKICAgICAgICAgICAgICAgIDB4NDEsIAogICAgICAgICAgICAgICAgMHg0NiwgCiAg ICAgICAgICAgICAgICAweDUwLCAKICAgICAgICAgICAgICAgIDB4NUEsIAogICAgICAgICAgICAg ICAgMHg2NAogICAgICAgICAgICB9KQogICAgICAgICAgICBOYW1lIChCUlRCLCBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDE2KQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MTYsIAogICAgICAgICAgICAgICAgICAg IDB4MDQsIAogICAgICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAgICAgICAgICAgIDB4 MDcsIAogICAgICAgICAgICAgICAgICAgIDB4MEEsIAogICAgICAgICAgICAgICAgICAgIDB4MEUs IAogICAgICAgICAgICAgICAgICAgIDB4MTMsIAogICAgICAgICAgICAgICAgICAgIDB4MTgsIAog ICAgICAgICAgICAgICAgICAgIDB4MUYsIAogICAgICAgICAgICAgICAgICAgIDB4MjcsIAogICAg ICAgICAgICAgICAgICAgIDB4MzAsIAogICAgICAgICAgICAgICAgICAgIDB4M0EsIAogICAgICAg ICAgICAgICAgICAgIDB4NDgsIAogICAgICAgICAgICAgICAgICAgIDB4NUYsIAogICAgICAgICAg ICAgICAgICAgIDB4ODMsIAogICAgICAgICAgICAgICAgICAgIDB4QjQsIAogICAgICAgICAgICAg ICAgICAgIDB4RTEsIAogICAgICAgICAgICAgICAgICAgIDB4RkYsIAogICAgICAgICAgICAgICAg ICAgIDB4MDRFMiwgCiAgICAgICAgICAgICAgICAgICAgMHgwNEUyLCAKICAgICAgICAgICAgICAg ICAgICAweDA0LCAKICAgICAgICAgICAgICAgICAgICAweDA0CiAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDE2KQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIDB4MTksIAogICAgICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAg ICAgICAgICAgIDB4MDQsIAogICAgICAgICAgICAgICAgICAgIDB4MDcsIAogICAgICAgICAgICAg ICAgICAgIDB4MEEsIAogICAgICAgICAgICAgICAgICAgIDB4MEUsIAogICAgICAgICAgICAgICAg ICAgIDB4MTMsIAogICAgICAgICAgICAgICAgICAgIDB4MTcsIAogICAgICAgICAgICAgICAgICAg IDB4MUMsIAogICAgICAgICAgICAgICAgICAgIDB4MjMsIAogICAgICAgICAgICAgICAgICAgIDB4 MkMsIAogICAgICAgICAgICAgICAgICAgIDB4MzMsIAogICAgICAgICAgICAgICAgICAgIDB4M0Us IAogICAgICAgICAgICAgICAgICAgIDB4NTMsIAogICAgICAgICAgICAgICAgICAgIDB4NzgsIAog ICAgICAgICAgICAgICAgICAgIDB4OUMsIAogICAgICAgICAgICAgICAgICAgIDB4Q0UsIAogICAg ICAgICAgICAgICAgICAgIDB4RkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDRFMiwgCiAgICAg ICAgICAgICAgICAgICAgMHgwNEUyLCAKICAgICAgICAgICAgICAgICAgICAweDA0LCAKICAgICAg ICAgICAgICAgICAgICAweDA0CiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDE2KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MUUs IAogICAgICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAgICAgICAgICAgIDB4MDQsIAog ICAgICAgICAgICAgICAgICAgIDB4MDcsIAogICAgICAgICAgICAgICAgICAgIDB4MEEsIAogICAg ICAgICAgICAgICAgICAgIDB4MEUsIAogICAgICAgICAgICAgICAgICAgIDB4MTEsIAogICAgICAg ICAgICAgICAgICAgIDB4MTYsIAogICAgICAgICAgICAgICAgICAgIDB4MUIsIAogICAgICAgICAg ICAgICAgICAgIDB4MjEsIAogICAgICAgICAgICAgICAgICAgIDB4MjksIAogICAgICAgICAgICAg ICAgICAgIDB4MzIsIAogICAgICAgICAgICAgICAgICAgIDB4M0MsIAogICAgICAgICAgICAgICAg ICAgIDB4NDYsIAogICAgICAgICAgICAgICAgICAgIDB4NjQsIAogICAgICAgICAgICAgICAgICAg IDB4OEMsIAogICAgICAgICAgICAgICAgICAgIDB4QjQsIAogICAgICAgICAgICAgICAgICAgIDB4 RkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDRFMiwgCiAgICAgICAgICAgICAgICAgICAgMHgw NEUyLCAKICAgICAgICAgICAgICAgICAgICAweDA0LCAKICAgICAgICAgICAgICAgICAgICAweDA0 CiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDE2KQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MjgsIAogICAgICAgICAgICAgICAg ICAgIDB4MDQsIAogICAgICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAgICAgICAgICAg IDB4MDcsIAogICAgICAgICAgICAgICAgICAgIDB4MEEsIAogICAgICAgICAgICAgICAgICAgIDB4 MEUsIAogICAgICAgICAgICAgICAgICAgIDB4MTEsIAogICAgICAgICAgICAgICAgICAgIDB4MTYs IAogICAgICAgICAgICAgICAgICAgIDB4MUIsIAogICAgICAgICAgICAgICAgICAgIDB4MjEsIAog ICAgICAgICAgICAgICAgICAgIDB4MjksIAogICAgICAgICAgICAgICAgICAgIDB4MzIsIAogICAg ICAgICAgICAgICAgICAgIDB4M0MsIAogICAgICAgICAgICAgICAgICAgIDB4NDYsIAogICAgICAg ICAgICAgICAgICAgIDB4NjQsIAogICAgICAgICAgICAgICAgICAgIDB4OEMsIAogICAgICAgICAg ICAgICAgICAgIDB4QjQsIAogICAgICAgICAgICAgICAgICAgIDB4RkYsIAogICAgICAgICAgICAg ICAgICAgIDB4MDRFMiwgCiAgICAgICAgICAgICAgICAgICAgMHgwNEUyLCAKICAgICAgICAgICAg ICAgICAgICAweDA0LCAKICAgICAgICAgICAgICAgICAgICAweDA0CiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE1ldGhvZCAoX1ExNCwgMCwgTm90U2VyaWFsaXpl ZCkgIC8vIF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgSWYgKF5IS0VZLk1IS0sgKDB4MDEsIDB4ODAwMCkpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgXkhLRVkuTUhLUSAoMHgxMDEwKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE5vdGlmeSAoXl5eR1AxNy5WR0EuTENELCAweDg2KSAvLyBEZXZp Y2UtU3BlY2lmaWMKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfUTE1LCAwLCBO b3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4PTB4MDAtMHhGRgogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBJZiAoXkhLRVkuTUhLSyAoMHgwMSwgMHgwMDAxMDAwMCkpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgXkhLRVkuTUhLUSAoMHgxMDExKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5vdGlmeSAoXl5eR1AxNy5WR0EuTENE LCAweDg3KSAvLyBEZXZpY2UtU3BlY2lmaWMKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0 aG9kIChCRlJRLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBMb2NhbDAgPSAweDgwMDAwMTAwCiAgICAgICAgICAgICAgICBMb2NhbDEgPSBEZXJlZk9mIChE ZXJlZk9mIChCUlRCIFtCTlROXSkgWzB4MTNdKQogICAgICAgICAgICAgICAgTG9jYWwwIHw9IChM b2NhbDEgPDwgMHgwOSkKICAgICAgICAgICAgICAgIExvY2FsMSA9IERlcmVmT2YgKERlcmVmT2Yg KEJSVEIgW0JOVE5dKSBbMHgxNV0pCiAgICAgICAgICAgICAgICBMb2NhbDAgfD0gTG9jYWwxCiAg ICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAg ICAgICAgU2NvcGUgKFBDSTAuTFBDMC5FQzApCiAgICAgICAgewogICAgICAgICAgICBNZXRob2Qg KF9RMTksIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZG CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmICheSEtFWS5NSEtLICgweDAxLCAweDAw ODAwMDAwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBeSEtFWS5NSEtR ICgweDEwMTgpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgU0NNUyAoMHgwMykK ICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgU2NvcGUgKFBDSTAuTFBDMC5FQzApCiAg ICAgICAgewogICAgICAgICAgICBNZXRob2QgKF9RNjMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBf UXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IElmICheSEtFWS5NSEtLICgweDAxLCAweDAwMDgwMDAwKSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBeSEtFWS5NSEtRICgweDEwMTQpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgU0NNUyAoMHgwQikKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAg ICAgU2NvcGUgKFBDSTAuTFBDMC5FQzApCiAgICAgICAgewogICAgICAgICAgICBNZXRob2QgKF9R NzAsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZGCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEZOU1QgKCkKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgTWV0aG9kIChfUTcyLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnks IHh4PTB4MDAtMHhGRgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBGTlNUICgpCiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX1E3MywgMCwgTm90U2VyaWFsaXplZCkgIC8v IF9ReHg6IEVDIFF1ZXJ5LCB4eD0weDAwLTB4RkYKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgRk5TVCAoKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKEZOU1QsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChIOERSKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IEhGTlMgLyogXF9TQl8u UENJMC5MUEMwLkVDMF8uSEZOUyAqLwogICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IEhGTkUg LyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEZORSAqLwogICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2Fs MCA9IChSQkVDICgweDBFKSAmIDB4MDMpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gKFJC RUMgKDB4MDApICYgMHgwOCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAo TG9jYWwxKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWww ID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg U0NNUyAoMHgxMSkKICAgICAgICAgICAgICAgICAgICAgICAgV0ZJTyAoMHgwNSwgMHgwMCkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4 MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU0NNUyAo MHgwRikKICAgICAgICAgICAgICAgICAgICAgICAgV0ZJTyAoMHgwNSwgMHgwMSkKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4MDIpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU0NNUyAoMHgxMCkK ICAgICAgICAgICAgICAgICAgICAgICAgV0ZJTyAoMHgwNSwgMHgwMSkKICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIF5IS0VZLk1IS1EgKDB4NjAwNSkKICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgU2NvcGUgKFBDSTAuTFBD MC5FQzAuSEtFWSkKICAgICAgICB7CiAgICAgICAgICAgIE1ldGhvZCAoR0hTTCwgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChGTlNDICgweDAw LCAweDAwKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTSFNMLCAxLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKEZOU0MgKDB4 MDEsIChBcmcwICYgMHgwMDAxMDAwMSkpKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAg ICBTY29wZSAoUENJMC5MUEMwLkVDMC5IS0VZKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAo V0dGTCwgMHgwMCkKICAgICAgICAgICAgTWV0aG9kIChXU0lGLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIE1ldGhvZCAoV0xTVywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgUmV0dXJuICgweDgwMDEwMDAxKQogICAgICAgICAgICB9CgogICAg ICAgICAgICBNZXRob2QgKEdXTFMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIElmIChEQ0JEKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAo RENXTCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKERDV1cpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIFJldHVybiAoR1NUUykgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8u R1NUUyAqLwogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFNXTFMsIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmICgoQXJnMCAmIDB4MDEp KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmICgoUkNXTCA9PSAweDAx KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExQV0MgKDB4 MDEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExQV0MgKDB4MDApCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoKFJDQkQgPT0gMHgwMSkp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBCUFdDICgweDAx KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBCUFdDICgweDAwKQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKChSQ1dXID09IDB4MDEpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgV1BXQyAoMHgwMSkK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgV1BXQyAoMHgwMCkKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEdTVFMgPSAweDAxCiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgTFBXQyAoMHgwMCkKICAgICAgICAgICAgICAgICAgICBCUFdDICgweDAwKQogICAg ICAgICAgICAgICAgICAgIFdQV0MgKDB4MDApCiAgICAgICAgICAgICAgICAgICAgR1NUUyA9IDB4 MDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChH V0xOLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2Nh bDAgPSAweDAwCiAgICAgICAgICAgICAgICBJZiAoKFdHRkwgJiAweDAxMDApKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCB8PSAweDAxCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgSWYgKChXR0ZMICYgMHgwODAwKSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBJZiAoTFBXUyAoKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBMb2NhbDAgfD0gMHgwMgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIExvY2FsMCB8PSAweDA0CiAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAg ICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTV0xOLCAxLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoKEFyZzAgJiAweDAyKSkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBMUFdDICgweDAxKQogICAgICAgICAgICAgICAgICAg IFJDV0wgPSAweDAxCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTFBXQyAoMHgwMCkKICAgICAgICAgICAg ICAgICAgICBSQ1dMID0gMHgwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAg ICAgICAgICBNZXRob2QgKEdXQU4sIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIExvY2FsMCA9IDB4MDAKICAgICAgICAgICAgICAgIElmICgoV0dGTCAmIDB4 MDEpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCB8PSAweDAx CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKChXR0ZMICYgMHgwOCkpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFdQV1MgKCkpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwIHw9IDB4MDIKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBMb2NhbDAgfD0gMHgwNAogICAgICAgICAgICAgICAgUmV0dXJuIChM b2NhbDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoU1dBTiwgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKChBcmcwICYgMHgwMikp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgV1BXQyAoMHgwMSkKICAgICAg ICAgICAgICAgICAgICBSQ1dXID0gMHgwMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFdQV0MgKDB4MDAp CiAgICAgICAgICAgICAgICAgICAgUkNXVyA9IDB4MDAKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChHQkRDLCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDAwCiAgICAgICAgICAgICAgICBJ ZiAoKFdHRkwgJiAweDEwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBM b2NhbDAgfD0gMHgwMQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmICgoV0dG TCAmIDB4ODApKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAo TG9jYWwwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChCUFdTICgpKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCB8PSAweDAyCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTG9jYWwwIHw9IDB4MDQKICAgICAgICAgICAg ICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFNC REMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmICgo QXJnMCAmIDB4MDIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEJQV0Mg KDB4MDEpCiAgICAgICAgICAgICAgICAgICAgUkNCRCA9IDB4MDEKICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBCUFdDICgweDAwKQogICAgICAgICAgICAgICAgICAgIFJDQkQgPSAweDAwCiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoTFBXUywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKEg4RFIpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gRENXTCAvKiBcX1NCXy5QQ0kw LkxQQzAuRUMwXy5EQ1dMICovCiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgw MSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBeXl5eU01C LlAwQ08gPSAweDAxCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5TTUIu UDBDTyA9IDB4MDAKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9j YWwwID0gKChSQkVDICgweDNBKSAmIDB4MjApID4+IDB4MDUpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IE1ldGhvZCAoTFBXQywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgTG9jYWwwID0gMHgwMAogICAgICAgICAgICAgICAgSWYgKChBcmcwICYmICgoV0dGTCAm IDB4MDEwMCkgJiYgIShXR0ZMICYgMHgwODAwCiAgICAgICAgICAgICAgICAgICAgKSkpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChIOERSKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgRENXTCA9IE9uZQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBNQkVDICgweDNBLCAweEZGLCAweDIwKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgXl5eXlNNQi5QMENPID0gMHgwMQogICAg ICAgICAgICAgICAgICAgIFdHRkwgfD0gMHgwMjAwCiAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKEg4 RFIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBEQ1dMID0g WmVybwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBNQkVDICgweDNBLCAweERG LCAweDAwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgXl5eXlNN Qi5QMENPID0gMHgwMAogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IH4weDAyMDAKICAgICAg ICAgICAgICAgICAgICBXR0ZMICY9IExvY2FsMAogICAgICAgICAgICAgICAgfQogICAgICAgICAg ICB9CgogICAgICAgICAgICBNZXRob2QgKFdQV1MsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIElmICgoXl5eXlNNQi5QMTBTID09IDB4MDEpKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDEKICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBMb2NhbDAgPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg UmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoV1BXQywg MSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKChBcmcw ICYmICgoV0dGTCAmIDB4MDEpICYmICEoV0dGTCAmIDB4MDgKICAgICAgICAgICAgICAgICAgICAp KSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgXl5eXlNNQi5QMTBTID0g MHgwMQogICAgICAgICAgICAgICAgICAgIFdHRkwgfD0gMHgwMgogICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IF5eXl5TTUIuUDEwUyA9IDB4MDAKICAgICAgICAgICAgICAgICAgICBXR0ZMICY9IDB4RkZGRkZG RkQKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChC UFdTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAo KF5eXl5TTUIuUDBETyA9PSAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBMb2NhbDAgPSAweDAxCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMAogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAg ICB9CgogICAgICAgICAgICBNZXRob2QgKEJQV0MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIElmICgoQXJnMCAmJiAoKFdHRkwgJiAweDEwKSAmJiAhKFdH RkwgJiAweDgwCiAgICAgICAgICAgICAgICAgICAgKSkpKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIF5eXl5TTUIuUDBETyA9IDB4MDEKICAgICAgICAgICAgICAgICAgICBX R0ZMIHw9IDB4MjAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBeXl5eU01CLlAwRE8gPSAweDAwCiAgICAg ICAgICAgICAgICAgICAgV0dGTCAmPSAweEZGRkZGRkRGCiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoV0dJTiwgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgV0dGTCA9IDB4MDAKICAgICAgICAgICAgICAgIFdH RkwgPSBXR1NWICgweDAxKQogICAgICAgICAgICAgICAgSWYgKFdJTjgpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKChXR0ZMICYmIDB4MTApKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQlBXQyAoMHgwMSkKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFdQV1MgKCkp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgV0dGTCB8PSAweDAyCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKEJQV1MgKCkpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgV0dGTCB8PSAweDIwCiAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoV0dQUywgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKChBcmcwID49IDB4MDQpKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEJMVEggKDB4MDUpCiAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoV0dXSywgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKChEQ1dMID09IDB4MDEpKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExQV0MgKDB4MDEpCiAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgTFBXQyAoMHgwMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQog ICAgICAgIH0KCiAgICAgICAgU2NvcGUgKFBDSTAuTFBDMC5FQzApCiAgICAgICAgewogICAgICAg ICAgICBNZXRob2QgKF9RNDEsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwg eHg9MHgwMC0weEZGCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIF5IS0VZLk1IS1EgKDB4 NzAwMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgRGV2aWNlIChXTUkxKQogICAg ICAgIHsKICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMxNCIpIC8qIFdpbmRv d3MgTWFuYWdlbWVudCBJbnN0cnVtZW50YXRpb24gRGV2aWNlICovKSAgLy8gX0hJRDogSGFyZHdh cmUgSUQKICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMSkgIC8vIF9VSUQ6IFVuaXF1ZSBJRAog ICAgICAgICAgICBOYW1lIChfV0RHLCBCdWZmZXIgKDB4QjQpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIC8qIDAwMDAgKi8gIDB4MEUsIDB4MjMsIDB4RjUsIDB4NTEsIDB4NzcsIDB4OTYs IDB4Q0QsIDB4NDYsICAvLyAuIy5Rdy4uRgogICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgMHhB MSwgMHhDRiwgMHhDMCwgMHhCMiwgMHgzRSwgMHhFMywgMHg0RCwgMHhCNywgIC8vIC4uLi4+Lk0u CiAgICAgICAgICAgICAgICAvKiAwMDEwICovICAweDQxLCAweDMwLCAweDVGLCAweDA1LCAweDY0 LCAweDlBLCAweDQ3LCAweDk4LCAgLy8gQTBfLmQuRy4KICAgICAgICAgICAgICAgIC8qIDAwMTgg Ki8gIDB4RjUsIDB4MzMsIDB4MzMsIDB4NEUsIDB4QTcsIDB4MDcsIDB4OEUsIDB4MjUsICAvLyAu MzNOLi4uJQogICAgICAgICAgICAgICAgLyogMDAyMCAqLyAgMHgxRSwgMHhCQiwgMHhDMywgMHhB MSwgMHg0MSwgMHgzMSwgMHgwMSwgMHgwNiwgIC8vIC4uLi5BMS4uCiAgICAgICAgICAgICAgICAv KiAwMDI4ICovICAweEVGLCAweDU0LCAweDRCLCAweDZBLCAweEVELCAweEE1LCAweDMzLCAweDRE LCAgLy8gLlRLai4uM00KICAgICAgICAgICAgICAgIC8qIDAwMzAgKi8gIDB4OTQsIDB4NTUsIDB4 QjAsIDB4RDksIDB4QjQsIDB4OEQsIDB4RjQsIDB4QjMsICAvLyAuVS4uLi4uLgogICAgICAgICAg ICAgICAgLyogMDAzOCAqLyAgMHg0MSwgMHgzMiwgMHgwMSwgMHgwNiwgMHhCNiwgMHhFQiwgMHhG MSwgMHg3NCwgIC8vIEEyLi4uLi50CiAgICAgICAgICAgICAgICAvKiAwMDQwICovICAweDdBLCAw eDkyLCAweDdELCAweDRDLCAweDk1LCAweERGLCAweDY5LCAweDhFLCAgLy8gei59TC4uaS4KICAg ICAgICAgICAgICAgIC8qIDAwNDggKi8gIDB4MjEsIDB4RTgsIDB4MEUsIDB4QjUsIDB4NDEsIDB4 MzMsIDB4MDEsIDB4MDYsICAvLyAhLi4uQTMuLgogICAgICAgICAgICAgICAgLyogMDA1MCAqLyAg MHhGRiwgMHgwNCwgMHhFRiwgMHg3RSwgMHgyOCwgMHg0MywgMHg3QywgMHg0NCwgIC8vIC4uLn4o Q3xECiAgICAgICAgICAgICAgICAvKiAwMDU4ICovICAweEI1LCAweEJCLCAweEQ0LCAweDQ5LCAw eDkyLCAweDVELCAweDUzLCAweDhELCAgLy8gLi4uSS5dUy4KICAgICAgICAgICAgICAgIC8qIDAw NjAgKi8gIDB4NDEsIDB4MzQsIDB4MDEsIDB4MDYsIDB4OUUsIDB4MTUsIDB4REIsIDB4OEEsICAv LyBBNC4uLi4uLgogICAgICAgICAgICAgICAgLyogMDA2OCAqLyAgMHgzMiwgMHgxRSwgMHg1Qywg MHg0NSwgMHhCQywgMHg5MywgMHgzMCwgMHg4QSwgIC8vIDIuXEUuLjAuCiAgICAgICAgICAgICAg ICAvKiAwMDcwICovICAweDdFLCAweEQ5LCAweDgyLCAweDQ2LCAweDQxLCAweDM1LCAweDAxLCAw eDAxLCAgLy8gfi4uRkE1Li4KICAgICAgICAgICAgICAgIC8qIDAwNzggKi8gIDB4RkQsIDB4RDks IDB4NTEsIDB4MjYsIDB4MUMsIDB4OTEsIDB4NjksIDB4NEIsICAvLyAuLlEmLi5pSwogICAgICAg ICAgICAgICAgLyogMDA4MCAqLyAgMHhCOSwgMHg0RSwgMHhEMCwgMHhERSwgMHhENSwgMHg5Niwg MHgzQiwgMHhENywgIC8vIC5OLi4uLjsuCiAgICAgICAgICAgICAgICAvKiAwMDg4ICovICAweDQx LCAweDM2LCAweDAxLCAweDA2LCAweDFBLCAweDY1LCAweDY0LCAweDczLCAgLy8gQTYuLi5lZHMK ICAgICAgICAgICAgICAgIC8qIDAwOTAgKi8gIDB4MkYsIDB4MTMsIDB4RTcsIDB4NEYsIDB4QUQs IDB4QUEsIDB4NDAsIDB4QzYsICAvLyAvLi5PLi5ALgogICAgICAgICAgICAgICAgLyogMDA5OCAq LyAgMHhDNywgMHhFRSwgMHgyRSwgMHgzQiwgMHg0MSwgMHgzNywgMHgwMSwgMHgwNiwgIC8vIC4u LjtBNy4uCiAgICAgICAgICAgICAgICAvKiAwMEEwICovICAweDIxLCAweDEyLCAweDkwLCAweDA1 LCAweDY2LCAweEQ1LCAweEQxLCAweDExLCAgLy8gIS4uLmYuLi4KICAgICAgICAgICAgICAgIC8q IDAwQTggKi8gIDB4QjIsIDB4RjAsIDB4MDAsIDB4QTAsIDB4QzksIDB4MDYsIDB4MjksIDB4MTAs ICAvLyAuLi4uLi4pLgogICAgICAgICAgICAgICAgLyogMDBCMCAqLyAgMHg0MiwgMHg0MSwgMHgw MSwgMHgwMCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJBLi4KICAgICAgICAgICAgfSkK ICAgICAgICAgICAgTmFtZSAoUkVUTiwgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgIlN1Y2Nlc3MiLCAKICAgICAgICAgICAgICAgICJOb3QgU3VwcG9ydGVkIiwg CiAgICAgICAgICAgICAgICAiSW52YWxpZCBQYXJhbWV0ZXIiLCAKICAgICAgICAgICAgICAgICJB Y2Nlc3MgRGVuaWVkIiwgCiAgICAgICAgICAgICAgICAiU3lzdGVtIEJ1c3kiCiAgICAgICAgICAg IH0pCiAgICAgICAgICAgIE5hbWUgKElURU0sIFBhY2thZ2UgKDB4NzApCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgMHgwRSwgCiAgICAgICAgICAgICAgICAgICAgIldha2VPbkxBTiIKICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIkV0 aGVybmV0TEFOT3B0aW9uUk9NIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICAiVVNCQklPU1N1cHBvcnQiCiAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJBbHdheXNPblVTQiIK ICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgIlRyYWNrUG9pbnQiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNr YWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAog ICAgICAgICAgICAgICAgICAgICJUb3VjaFBhZCIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIkZuU3RpY2t5IgogICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAweDA0LCAKICAgICAgICAgICAgICAgICAgICAiVGhpbmtQYWRO dW1Mb2NrIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw MikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDBDLCAKICAgICAgICAg ICAgICAgICAgICAiUG93ZXJPbk51bUxvY2siCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIDB4MDUsIAogICAgICAgICAgICAgICAgICAgICJCb290RGlzcGxheURldmljZSIKICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIkFN RFBvd2VyTm93VGVjaG5vbG9neSIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgw OSwgCiAgICAgICAgICAgICAgICAgICAgIkFkYXB0aXZlVGhlcm1hbE1hbmFnZW1lbnRBQyIKICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwOSwgCiAgICAgICAgICAgICAgICAgICAg IkFkYXB0aXZlVGhlcm1hbE1hbmFnZW1lbnRCYXR0ZXJ5IgogICAgICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAweDA2LCAKICAgICAgICAgICAgICAgICAgICAiQ0RST01TcGVlZCIKICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIkNQ VVBvd2VyTWFuYWdlbWVudCIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwg CiAgICAgICAgICAgICAgICAgICAgIlBvd2VyQ29udHJvbEJlZXAiCiAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJMb3dCYXR0ZXJ5QWxh cm0iCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgICJQYXNzd29yZEJlZXAiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4 MDAsIAogICAgICAgICAgICAgICAgICAgICJLZXlib2FyZEJlZXAiCiAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJFeHRlbmRlZE1lbW9y eVRlc3QiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAy KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDcsIAogICAgICAgICAg ICAgICAgICAgICJTQVRBQ29udHJvbGxlck1vZGUiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJDb3JlTXVsdGlQcm9jZXNzaW5nIgog ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAiVmlydHVhbGl6YXRpb25UZWNobm9sb2d5IgogICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiTG9ja0JJT1NTZXR0aW5nIgogICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAweDBCLCAKICAgICAgICAgICAgICAgICAgICAiTWlu aW11bVBhc3N3b3JkTGVuZ3RoIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICAiQklPU1Bhc3N3b3JkQXRVbmF0dGVuZGVkQm9vdCIKICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAg IkZpbmdlcnByaW50UHJlZGVza3RvcEF1dGhlbnRpY2F0aW9uIgogICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiUmVzZXJ2ZWQiCiAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICJG aW5nZXJwcmludFNlY3VyaXR5TW9kZSIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg MHgwMiwgCiAgICAgICAgICAgICAgICAgICAgIlNlY3VyaXR5Q2hpcCIKICAgICAgICAgICAgICAg IH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIkJJT1NVcGRhdGVC eUVuZFVzZXJzIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAo MHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAiRGF0YUV4ZWN1dGlvblByZXZlbnRpb24iCiAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJFdGhlcm5ldExBTkFj Y2VzcyIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAg ICAgICAgICAgIldpcmVsZXNzTEFOQWNjZXNzIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiV2lyZWxlc3NXQU5BY2Nlc3MiCiAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJC bHVldG9vdGhBY2Nlc3MiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNr YWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAog ICAgICAgICAgICAgICAgICAgICJXaXJlbGVzc1VTQkFjY2VzcyIKICAgICAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIk1vZGVtQWNjZXNzIgog ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAiVVNCUG9ydEFjY2VzcyIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwg CiAgICAgICAgICAgICAgICAgICAgIklFRUUxMzk0QWNjZXNzIgogICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiRXhwcmVzc0NhcmRBY2Nl c3MiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgICJQQ0lFeHByZXNzU2xvdEFjY2VzcyIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIlVsdHJhYmF5QWNjZXNzIgogICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiTWVt b3J5Q2FyZFNsb3RBY2Nlc3MiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgICAgICJTbWFydENhcmRTbG90QWNjZXNzIgogICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiSW50ZWdyYXRl ZENhbWVyYUFjY2VzcyIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2th Z2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAg ICAgICAgICAgICAgICAgICAgIk1pY3JvcGhvbmVBY2Nlc3MiCiAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIDB4MEEsIAogICAgICAgICAgICAgICAgICAgICJCb290TW9kZSIKICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIlN0 YXJ0dXBPcHRpb25LZXlzIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAiQm9vdERldmljZUxpc3RGMTJPcHRpb24iCiAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIDB4NjQsIAogICAgICAgICAgICAgICAgICAgICJCb290T3Jk ZXIiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgICJXaU1BWEFjY2VzcyIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgw RCwgCiAgICAgICAgICAgICAgICAgICAgIkdyYXBoaWNzRGV2aWNlIgogICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiVFhURmVhdHVyZSIK ICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgxOCwgCiAgICAgICAgICAgICAgICAg ICAgIkFtZFZ0IgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAo MHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDBGLCAKICAgICAg ICAgICAgICAgICAgICAiQU1UQ29udHJvbCIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIkZpbmdlcnByaW50UGFzc3dvcmRBdXRoZW50 aWNhdGlvbiIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAg ICAgICAgICAgICAgIkZpbmdlcnByaW50UmVhZGVyQWNjZXNzIgogICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiT3NEZXRlY3Rpb25Gb3JT d2l0Y2hhYmxlR3JhcGhpY3MiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MEYs IAogICAgICAgICAgICAgICAgICAgICJDb21wdXRyYWNlTW9kdWxlQWN0aXZhdGlvbiIKICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgIlBD SUV4cHJlc3NQb3dlck1hbmFnZW1lbnQiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAg ICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJSZXNlcnZlZCIKICAgICAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgImVTQVRBUG9ydEFjY2Vz cyIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgIkhhcmR3YXJlUGFzc3dvcmRNYW5hZ2VyIgogICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiSHlwZXJUaHJlYWRpbmdUZWNobm9s b2d5IgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAg ICAgICAgICAiRm5DdHJsS2V5U3dhcCIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIkJJT1NQYXNzd29yZEF0UmVib290IgogICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiT25C eUFjQXR0YWNoIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAo MHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDY0LCAKICAgICAg ICAgICAgICAgICAgICAiTmV0d29ya0Jvb3QiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJCb290T3JkZXJMb2NrIgogICAgICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiUmVzZXJ2 ZWQiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MTEsIAogICAgICAgICAgICAg ICAgICAgICJFeHByZXNzQ2FyZFNwZWVkIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiUmFwaWRTdGFydFRlY2hub2xvZ3kiCiAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MTIsIAogICAgICAgICAgICAgICAgICAgICJL ZXlib2FyZElsbHVtaW5hdGlvbiIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgw MCwgCiAgICAgICAgICAgICAgICAgICAgIklQdjROZXR3b3JrU3RhY2siCiAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJJUHY2TmV0d29y a1N0YWNrIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw MikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDEzLCAKICAgICAgICAg ICAgICAgICAgICAiVWVmaVB4ZUJvb3RQcmlvcml0eSIKICAgICAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIlJlc2VydmVkIgogICAgICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiUGh5c2lj YWxQcmVzZW5jZUZvclRwbUNsZWFyIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAw eDAwLCAKICAgICAgICAgICAgICAgICAgICAiU2VjdXJlUm9sbEJhY2tQcmV2ZW50aW9uIgogICAg ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAi U2VjdXJlQm9vdCIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAg ICAgICAgICAgICAgICAgIk5mY0FjY2VzcyIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIkJvdHRvbUNvdmVyVGFtcGVyRGV0ZWN0ZWQi CiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAg ICAgICJQYXNzd29yZENvdW50RXhjZWVkZWRFcnJvciIKICAgICAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIkJJT1NQYXNzd29yZEF0Qm9vdERl dmljZUxpc3QiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MTQsIAogICAgICAg ICAgICAgICAgICAgICJVTUFGcmFtZWJ1ZmZlclNpemUiCiAgICAgICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIDB4MTUsIAogICAgICAgICAgICAgICAgICAgICJCb290VGltZUV4dGVuc2lvbiIK ICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgIkZuS2V5QXNQcmltYXJ5IgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICAiV2lHaWciCiAgICAgICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJCSU9TUGFzc3dvcmRBdFBvd2VyT24i CiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MTYsIAogICAgICAgICAgICAgICAg ICAgICJTR1hDb250cm9sIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAiUmVzZXJ2ZWQiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJJbnRlcm5hbFN0b3JhZ2VUYW1wZXIi CiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAg ICAgICJXaXJlbGVzc0F1dG9EaXNjb25uZWN0aW9uIgogICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiUmVzZXJ2ZWQiCiAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJVU0JLZXlQ cm92aXNpb25pbmciCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MUIsIAogICAg ICAgICAgICAgICAgICAgICJNQUNBZGRyZXNzUGFzc1Rocm91Z2giCiAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJUaHVuZGVyYm9sdEFj Y2VzcyIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAg ICAgICAgICAgIldpbmRvd3NVRUZJRmlybXdhcmVVcGRhdGUiCiAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJXYWtlT25MQU5Eb2NrIgog ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAiV2FrZUJ5VGh1bmRlcmJvbHQiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4 MTcsIAogICAgICAgICAgICAgICAgICAgICJUaHVuZGVyYm9sdFNlY3VyaXR5TGV2ZWwiCiAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MUEsIAogICAgICAgICAgICAgICAgICAgICJQ cmVCb290Rm9yVGh1bmRlcmJvbHREZXZpY2UiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJQcmVCb290Rm9yVGh1bmRlcmJvbHRVU0JE ZXZpY2UiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAy KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgICAgICJEZXZpY2VHdWFyZCIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIkRhc2hFbmFibGVkIgogICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiQW1kQ2JzQ21uTWVt VHNtZURkcjQiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MTgsIAogICAgICAg ICAgICAgICAgICAgICJMaWRTZW5zb3IiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAg ICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJFY1Jlc2V0RGV0ZWN0aW9uIgogICAgICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAweDFDLCAKICAgICAgICAgICAgICAgICAgICAiVUVGSUxl Z2FjeUJvb3QiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MUQsIAogICAgICAg ICAgICAgICAgICAgICJBTURQb3dlck5vd1RlY2hub2xvZ3lBQyIKICAgICAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgMHgxRCwgCiAgICAgICAgICAgICAgICAgICAgIkFNRFBvd2VyTm93VGVj aG5vbG9neUJldHRlcnkiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAg ICAgIE5hbWUgKFZTRUwsIFBhY2thZ2UgKDB4MUUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg IkRpc2FibGUiLCAKICAgICAgICAgICAgICAgICAgICAiRW5hYmxlIgogICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAiRGlzYWJsZSIsIAogICAgICAgICAgICAgICAgICAgICJBdXRvbWF0 aWMiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJBY3RpdmUiLCAKICAgICAgICAg ICAgICAgICAgICAiSW5hY3RpdmUiLCAKICAgICAgICAgICAgICAgICAgICAiRGlzYWJsZSIsIAog ICAgICAgICAgICAgICAgICAgICJFbmFibGUiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICJOb3JtYWwiLCAKICAgICAgICAgICAgICAgICAgICAiSGlnaCIKICAgICAgICAgICAgICAg IH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgIkluZGVwZW5kZW50IiwgCiAgICAgICAgICAgICAgICAgICAgIlN5 bmNocm9uaXplZCIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIkxDRCIsIAogICAg ICAgICAgICAgICAgICAgICJFeHRlcm5hbERpc3BsYXkiCiAgICAgICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDAzKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICJIaWdoIiwgCiAgICAgICAgICAgICAgICAgICAgIk5vcm1hbCIsIAogICAgICAg ICAgICAgICAgICAgICJTaWxlbnQiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJD b21wYXRpYmlsaXR5IiwgCiAgICAgICAgICAgICAgICAgICAgIkFIQ0kiCiAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICJFeHRlcm5hbCIsIAogICAgICAgICAgICAgICAgICAgICJJbnRl cm5hbE9ubHkiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJNYXhpbWl6ZVBlcmZv cm1hbmNlIiwgCiAgICAgICAgICAgICAgICAgICAgIkJhbGFuY2VkIgogICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAiUXVpY2siLCAKICAgICAgICAgICAgICAgICAgICAiRGlhZ25vc3Rp Y3MiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDBBKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJEaXNhYmxlIiwgCiAgICAgICAg ICAgICAgICAgICAgIjQiLCAKICAgICAgICAgICAgICAgICAgICAiNSIsIAogICAgICAgICAgICAg ICAgICAgICI2IiwgCiAgICAgICAgICAgICAgICAgICAgIjciLCAKICAgICAgICAgICAgICAgICAg ICAiOCIsIAogICAgICAgICAgICAgICAgICAgICI5IiwgCiAgICAgICAgICAgICAgICAgICAgIjEw IiwgCiAgICAgICAgICAgICAgICAgICAgIjExIiwgCiAgICAgICAgICAgICAgICAgICAgIjEyIgog ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMykKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiQXV0byIsIAogICAgICAgICAgICAgICAg ICAgICJPbiIsIAogICAgICAgICAgICAgICAgICAgICJPZmYiCiAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAzKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICJJbnRlZ3JhdGVkR2Z4IiwgCiAgICAgICAgICAgICAgICAgICAgIkRpc2Ny ZXRlR2Z4IiwgCiAgICAgICAgICAgICAgICAgICAgIlN3aXRjaGFibGVHZngiCiAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICJEaXNhYmxlIiwgCiAgICAgICAgICAgICAgICAgICAgIkFD T25seSIsIAogICAgICAgICAgICAgICAgICAgICJBQ2FuZEJhdHRlcnkiLCAKICAgICAgICAgICAg ICAgICAgICAiQUNPbmx5UzNFbmFibGVkIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwMykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAiRGlzYWJsZSIsIAogICAgICAgICAgICAgICAgICAgICJFbmFibGUiLCAKICAgICAgICAgICAg ICAgICAgICAiRGlzYWJsZSIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIkhETUki LCAKICAgICAgICAgICAgICAgICAgICAiVVNCVHlwZUMiCiAgICAgICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICJHZW5lcmF0aW9uMSIsIAogICAgICAgICAgICAgICAgICAgICJBdXRvbWF0aWMi CiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAzKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJUaGlua0xpZ2h0T25seSIsIAogICAg ICAgICAgICAgICAgICAgICJCYWNrbGlnaHRPbmx5IiwgCiAgICAgICAgICAgICAgICAgICAgIkJv dGgiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJJUHY2Rmlyc3QiLCAKICAgICAg ICAgICAgICAgICAgICAiSVB2NEZpcnN0IgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAiMkdCIiwgCiAgICAgICAgICAgICAgICAgICAgIjFHQiIsIAogICAgICAgICAgICAgICAgICAg ICI1MTJNQiIsIAogICAgICAgICAgICAgICAgICAgICIyNTZNQiIsIAogICAgICAgICAgICAgICAg ICAgICIxMjhNQiIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2Ug KDB4MEIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIkRpc2FibGUiLCAK ICAgICAgICAgICAgICAgICAgICAiMSIsIAogICAgICAgICAgICAgICAgICAgICIyIiwgCiAgICAg ICAgICAgICAgICAgICAgIjMiLCAKICAgICAgICAgICAgICAgICAgICAiIiwgCiAgICAgICAgICAg ICAgICAgICAgIjUiLCAKICAgICAgICAgICAgICAgICAgICAiIiwgCiAgICAgICAgICAgICAgICAg ICAgIiIsIAogICAgICAgICAgICAgICAgICAgICIiLCAKICAgICAgICAgICAgICAgICAgICAiIiwg CiAgICAgICAgICAgICAgICAgICAgIjEwIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwMykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAiRGlzYWJsZSIsIAogICAgICAgICAgICAgICAgICAgICJFbmFibGUiLCAKICAgICAgICAgICAg ICAgICAgICAiU29mdHdhcmVDb250cm9sIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAiTm9TZWN1cml0eSIsIAogICAgICAgICAgICAgICAgICAgICJVc2VyQXV0aG9yaXphdGlvbiIs IAogICAgICAgICAgICAgICAgICAgICJTZWN1cmVDb25uZWN0IiwgCiAgICAgICAgICAgICAgICAg ICAgIkRpc3BsYXlQb3J0YW5kVVNCIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAi RW5hYmxlIiwgCiAgICAgICAgICAgICAgICAgICAgIkRpc2FibGUiCiAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICJEaXNhYmxlIiwgCiAgICAgICAgICAgICAgICAgICAgIkF1dG8iCiAg ICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAzKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJFbmFibGUiLCAKICAgICAgICAgICAgICAg ICAgICAiIiwgCiAgICAgICAgICAgICAgICAgICAgIkRpc2FibGUiCiAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAzKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICJEaXNhYmxlIiwgCiAgICAgICAgICAgICAgICAgICAgIkVuYWJsZSIs IAogICAgICAgICAgICAgICAgICAgICJQcmUtQm9vdEFDTCIKICAgICAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDMpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgIkJvdGgiLCAKICAgICAgICAgICAgICAgICAgICAiVUVGSU9ubHkiLCAKICAg ICAgICAgICAgICAgICAgICAiTGVnYWN5T25seSIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgIk1heGltdW1QZXJmb3JtYW5jZSIsIAogICAgICAgICAgICAgICAgICAgICJCYXR0ZXJ5 T3B0aW1pemVkIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgICAgICBO YW1lIChWTFNULCBQYWNrYWdlICgweDExKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAi SEREMCIsIAogICAgICAgICAgICAgICAgIkhERDEiLCAKICAgICAgICAgICAgICAgICJIREQyIiwg CiAgICAgICAgICAgICAgICAiSEREMyIsIAogICAgICAgICAgICAgICAgIkhERDQiLCAKICAgICAg ICAgICAgICAgICJQQ0lMQU4iLCAKICAgICAgICAgICAgICAgICJBVEFQSUNEMCIsIAogICAgICAg ICAgICAgICAgIkFUQVBJQ0QxIiwgCiAgICAgICAgICAgICAgICAiQVRBUElDRDIiLCAKICAgICAg ICAgICAgICAgICJVU0JGREQiLCAKICAgICAgICAgICAgICAgICJVU0JDRCIsIAogICAgICAgICAg ICAgICAgIlVTQkhERCIsIAogICAgICAgICAgICAgICAgIk90aGVySEREIiwgCiAgICAgICAgICAg ICAgICAiT3RoZXJDRCIsIAogICAgICAgICAgICAgICAgIk5WTWUwIiwgCiAgICAgICAgICAgICAg ICAiTlZNZTEiLCAKICAgICAgICAgICAgICAgICJOT0RFViIKICAgICAgICAgICAgfSkKICAgICAg ICAgICAgTmFtZSAoUEVOQywgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgImFzY2lpIiwgCiAgICAgICAgICAgICAgICAic2NhbmNvZGUiCiAgICAgICAgICAgIH0p CiAgICAgICAgICAgIE5hbWUgKFBLQkQsIFBhY2thZ2UgKDB4MDMpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICJ1cyIsIAogICAgICAgICAgICAgICAgImZyIiwgCiAgICAgICAgICAgICAg ICAiZ3IiCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKFBUWVAsIFBhY2thZ2UgKDB4 MDgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJwYXAiLCAKICAgICAgICAgICAgICAg ICJwb3AiLCAKICAgICAgICAgICAgICAgICJ1aGRwMSIsIAogICAgICAgICAgICAgICAgIm1oZHAx IiwgCiAgICAgICAgICAgICAgICAidWhkcDIiLCAKICAgICAgICAgICAgICAgICJtaGRwMiIsIAog ICAgICAgICAgICAgICAgInVoZHAzIiwgCiAgICAgICAgICAgICAgICAibWhkcDMiCiAgICAgICAg ICAgIH0pCiAgICAgICAgICAgIE11dGV4IChNV01JLCAweDAwKQogICAgICAgICAgICBOYW1lIChQ Q0ZHLCBCdWZmZXIgKDB4MTgpe30pCiAgICAgICAgICAgIE5hbWUgKElCVUYsIEJ1ZmZlciAoMHgw MTAwKXt9KQogICAgICAgICAgICBOYW1lIChJTEVOLCAweDAwKQogICAgICAgICAgICBOYW1lIChQ U1RSLCBCdWZmZXIgKDB4ODEpe30pCiAgICAgICAgICAgIE1ldGhvZCAoV1FBMCwgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQWNxdWlyZSAoTVdNSSwgMHhG RkZGKQogICAgICAgICAgICAgICAgSWYgKChXTUlTICgweDAwLCBBcmcwKSAhPSAweDAwKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChNV01JKQogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoIiIpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTG9jYWwwID0gRGVyZWZPZiAoSVRFTSBbV0lUTV0pCiAgICAgICAgICAgICAgICBMb2NhbDEg PSBEZXJlZk9mIChMb2NhbDAgWzB4MDBdKQogICAgICAgICAgICAgICAgTG9jYWwyID0gRGVyZWZP ZiAoTG9jYWwwIFsweDAxXSkKICAgICAgICAgICAgICAgIElmICgoTG9jYWwxIDwgMHg2NCkpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsMiwg IiwiLCBMb2NhbDYpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwzID0gRGVyZWZPZiAoVlNFTCBb TG9jYWwxXSkKICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWw2LCBEZXJlZk9m IChMb2NhbDMgW1dTRUxdKSwgTG9jYWw3KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMyA9IFNp emVPZiAoVkxTVCkKICAgICAgICAgICAgICAgICAgICBJZiAoKFdMUzAgPD0gTG9jYWwzKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENvbmNhdGVuYXRlIChM b2NhbDIsICIsIiwgTG9jYWw3KQogICAgICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAo TG9jYWw3LCBEZXJlZk9mIChWTFNUIFtXTFMwXSksIExvY2FsMikKICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIElmICgoV0xTMSA8PSBMb2NhbDMpKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsMiwg IjoiLCBMb2NhbDcpCiAgICAgICAgICAgICAgICAgICAgICAgIENvbmNhdGVuYXRlIChMb2NhbDcs IERlcmVmT2YgKFZMU1QgW1dMUzFdKSwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgSWYgKChXTFMyIDw9IExvY2FsMykpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWwyLCAiOiIsIExv Y2FsNykKICAgICAgICAgICAgICAgICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsNywgRGVyZWZP ZiAoVkxTVCBbV0xTMl0pLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBJZiAoKFdMUzMgPD0gTG9jYWwzKSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIENvbmNhdGVuYXRlIChMb2NhbDIsICI6IiwgTG9jYWw3KQog ICAgICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWw3LCBEZXJlZk9mIChWTFNU IFtXTFMzXSksIExvY2FsMikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIElmICgoV0xTNCA8PSBMb2NhbDMpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsMiwgIjoiLCBMb2NhbDcpCiAgICAgICAg ICAgICAgICAgICAgICAgIENvbmNhdGVuYXRlIChMb2NhbDcsIERlcmVmT2YgKFZMU1QgW1dMUzRd KSwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYg KChXTFM1IDw9IExvY2FsMykpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWwyLCAiOiIsIExvY2FsNykKICAgICAgICAgICAgICAg ICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsNywgRGVyZWZPZiAoVkxTVCBbV0xTNV0pLCBMb2Nh bDIpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoKFdMUzYg PD0gTG9jYWwzKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IENvbmNhdGVuYXRlIChMb2NhbDIsICI6IiwgTG9jYWw3KQogICAgICAgICAgICAgICAgICAgICAg ICBDb25jYXRlbmF0ZSAoTG9jYWw3LCBEZXJlZk9mIChWTFNUIFtXTFM2XSksIExvY2FsMikKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmICgoV0xTNyA8PSBMb2Nh bDMpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ29uY2F0 ZW5hdGUgKExvY2FsMiwgIjoiLCBMb2NhbDcpCiAgICAgICAgICAgICAgICAgICAgICAgIENvbmNh dGVuYXRlIChMb2NhbDcsIERlcmVmT2YgKFZMU1QgW1dMUzddKSwgTG9jYWwyKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKChXTFM4IDw9IExvY2FsMykpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAo TG9jYWwyLCAiOiIsIExvY2FsNykKICAgICAgICAgICAgICAgICAgICAgICAgQ29uY2F0ZW5hdGUg KExvY2FsNywgRGVyZWZPZiAoVkxTVCBbV0xTOF0pLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoKFdMUzkgPD0gTG9jYWwzKSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENvbmNhdGVuYXRlIChMb2NhbDIs ICI6IiwgTG9jYWw3KQogICAgICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWw3 LCBEZXJlZk9mIChWTFNUIFtXTFM5XSksIExvY2FsMikKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIElmICgoV0xTQSA8PSBMb2NhbDMpKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsMiwgIjoiLCBM b2NhbDcpCiAgICAgICAgICAgICAgICAgICAgICAgIENvbmNhdGVuYXRlIChMb2NhbDcsIERlcmVm T2YgKFZMU1QgW1dMU0FdKSwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgSWYgKChXTFNCIDw9IExvY2FsMykpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWwyLCAiOiIsIExvY2FsNykK ICAgICAgICAgICAgICAgICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsNywgRGVyZWZPZiAoVkxT VCBbV0xTQl0pLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBJZiAoKFdMU0MgPD0gTG9jYWwzKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIENvbmNhdGVuYXRlIChMb2NhbDIsICI6IiwgTG9jYWw3KQogICAgICAg ICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWw3LCBEZXJlZk9mIChWTFNUIFtXTFND XSksIExvY2FsMikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElm ICgoV0xTRCA8PSBMb2NhbDMpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsMiwgIjoiLCBMb2NhbDcpCiAgICAgICAgICAgICAg ICAgICAgICAgIENvbmNhdGVuYXRlIChMb2NhbDcsIERlcmVmT2YgKFZMU1QgW1dMU0RdKSwgTG9j YWwyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTG9jYWw3ID0g TG9jYWwyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmVsZWFzZSAoTVdNSSkK ICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWw3KQogICAgICAgICAgICB9CgogICAgICAgICAg ICBNZXRob2QgKFdNQTEsIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIEFjcXVpcmUgKE1XTUksIDB4RkZGRikKICAgICAgICAgICAgICAgIElmICgoU2l6ZU9m IChBcmcyKSA9PSAweDAwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBM b2NhbDAgPSAweDAyCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQ0FSRyAoQXJnMikKICAg ICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IFdTRVQgKElURU0sIFZTRUwpCiAg ICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4MDApKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBXTUlTICgw eDAxLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJlbGVhc2UgKE1XTUkpCiAgICAg ICAgICAgICAgICBSZXR1cm4gKERlcmVmT2YgKFJFVE4gW0xvY2FsMF0pKQogICAgICAgICAgICB9 CgogICAgICAgICAgICBNZXRob2QgKFdNQTIsIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIEFjcXVpcmUgKE1XTUksIDB4RkZGRikKICAgICAgICAgICAgICAg IExvY2FsMCA9IENBUkcgKEFyZzIpCiAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCA9PSAweDAw KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoKElMRU4gIT0gMHgw MCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAg PSBDUEFTIChJQlVGLCAweDAwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBMb2NhbDAgPSBXTUlTICgweDAyLCAweDAwKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBSZWxlYXNlIChNV01J KQogICAgICAgICAgICAgICAgUmV0dXJuIChEZXJlZk9mIChSRVROIFtMb2NhbDBdKSkKICAgICAg ICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChXTUEzLCAzLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBBY3F1aXJlIChNV01JLCAweEZGRkYpCiAgICAgICAg ICAgICAgICBMb2NhbDAgPSBDQVJHIChBcmcyKQogICAgICAgICAgICAgICAgSWYgKChMb2NhbDAg PT0gMHgwMCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKChJTEVO ICE9IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWwwID0gQ1BBUyAoSUJVRiwgMHgwMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gV01JUyAoMHgwMywgMHgwMCkKICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmVsZWFz ZSAoTVdNSSkKICAgICAgICAgICAgICAgIFJldHVybiAoRGVyZWZPZiAoUkVUTiBbTG9jYWwwXSkp CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoV01BNCwgMywgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQWNxdWlyZSAoTVdNSSwgMHhGRkZGKQog ICAgICAgICAgICAgICAgTG9jYWwwID0gQ0FSRyAoQXJnMikKICAgICAgICAgICAgICAgIElmICgo TG9jYWwwID09IDB4MDApKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElm ICgoSUxFTiAhPSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIExvY2FsMCA9IENQQVMgKElCVUYsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCA9PSAweDAwKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IFdNSVMgKDB4MDQsIDB4MDAp CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IFJlbGVhc2UgKE1XTUkpCiAgICAgICAgICAgICAgICBSZXR1cm4gKERlcmVmT2YgKFJFVE4gW0xv Y2FsMF0pKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFdRQTUsIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEFjcXVpcmUgKE1XTUksIDB4 RkZGRikKICAgICAgICAgICAgICAgIExvY2FsMCA9IFdNSVMgKDB4MDUsIDB4MDApCiAgICAgICAg ICAgICAgICBQQ0ZHIFsweDAwXSA9IFdTUE0gLyogXFdTUE0gKi8KICAgICAgICAgICAgICAgIFBD RkcgWzB4MDRdID0gV1NQUyAvKiBcV1NQUyAqLwogICAgICAgICAgICAgICAgUENGRyBbMHgwOF0g PSBXU01OIC8qIFxXU01OICovCiAgICAgICAgICAgICAgICBQQ0ZHIFsweDBDXSA9IFdTTVggLyog XFdTTVggKi8KICAgICAgICAgICAgICAgIFBDRkcgWzB4MTBdID0gV1NFTiAvKiBcV1NFTiAqLwog ICAgICAgICAgICAgICAgUENGRyBbMHgxNF0gPSBXU0tCIC8qIFxXU0tCICovCiAgICAgICAgICAg ICAgICBSZWxlYXNlIChNV01JKQogICAgICAgICAgICAgICAgUmV0dXJuIChQQ0ZHKSAvKiBcX1NC Xy5XTUkxLlBDRkcgKi8KICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChXTUE2LCAz LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBBY3F1aXJlIChN V01JLCAweEZGRkYpCiAgICAgICAgICAgICAgICBJZiAoKFNpemVPZiAoQXJnMikgPT0gMHgwMCkp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMgogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIExvY2FsMCA9IENBUkcgKEFyZzIpCiAgICAgICAgICAgICAgICAgICAg SWYgKChMb2NhbDAgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoKElMRU4gIT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IFNQQVMgKElCVUYpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09 IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMb2NhbDAgPSBXTUlTICgweDA2LCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IFJlbGVhc2UgKE1XTUkpCiAgICAgICAgICAgICAgICBSZXR1cm4gKERlcmVmT2YgKFJFVE4gW0xv Y2FsMF0pKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFdNQTcsIDMsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmICgoU2l6ZU9mIChBcmcy KSA9PSAweDAwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KCIiKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIExvY2FsMCA9IENBUkcgKEFy ZzIpCiAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCA9PSAweDAwKSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSBHSVRNIChJQlVGLCBJVEVNKQogICAgICAg ICAgICAgICAgICAgIElmICgoTG9jYWwxID09IE9uZXMpKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgiIikKICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IERlcmVmT2YgKElURU0gW0xvY2FsMV0pCiAg ICAgICAgICAgICAgICAgICAgTG9jYWwxID0gRGVyZWZPZiAoTG9jYWwwIFsweDAwXSkKICAgICAg ICAgICAgICAgICAgICBJZiAoKExvY2FsMSA8IDB4NjQpKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwzID0gRGVyZWZPZiAoVlNFTCBbTG9jYWwxXSkK ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gRGVyZWZPZiAoTG9jYWwzIFsweDAwXSkK ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw0ID0gU2l6ZU9mIChMb2NhbDMpCiAgICAgICAg ICAgICAgICAgICAgICAgIExvY2FsNSA9IDB4MDEKICAgICAgICAgICAgICAgICAgICAgICAgV2hp bGUgKChMb2NhbDUgPCBMb2NhbDQpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMb2NhbDYgPSBEZXJlZk9mIChMb2NhbDMgW0xvY2FsNV0pCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKFNpemVPZiAoTG9jYWw2KSAhPSAweDAwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDb25jYXRlbmF0ZSAoTG9jYWwyLCAiLCIsIExvY2FsNykKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWw3LCBMb2NhbDYsIExvY2FsMikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2Nh bDUrKwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsMiA9IERlcmVmT2YgKFZMU1QgWzB4MDBdKQogICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDQgPSBTaXplT2YgKFZMU1QpCiAgICAgICAgICAgICAgICAgICAgICAgIExv Y2FsNSA9IDB4MDEKICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKChMb2NhbDUgPCBMb2Nh bDQpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDYgPSBEZXJlZk9mIChWTFNUIFtMb2NhbDVdKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsMiwgIiwiLCBMb2NhbDcpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWw3LCBMb2NhbDYsIExvY2FsMikKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExvY2FsNSsrCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDIpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoQ0FSRywgMSwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTG9jYWwwID0gU2l6 ZU9mIChBcmcwKQogICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMCkpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSUJVRiA9IDB4MDAKICAgICAgICAgICAgICAg ICAgICBJTEVOID0gMHgwMAogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoKE9iamVjdFR5cGUgKEFyZzApICE9IDB4 MDIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCA+PSAweEZGKSkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSUJVRiA9IEFyZzAKICAgICAgICAgICAgICAg IExvY2FsMC0tCiAgICAgICAgICAgICAgICBMb2NhbDEgPSBEZXJlZk9mIChJQlVGIFtMb2NhbDBd KQogICAgICAgICAgICAgICAgSWYgKCgoTG9jYWwxID09IDB4M0IpIHx8IChMb2NhbDEgPT0gMHgy QSkpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElCVUYgW0xvY2FsMF0g PSAweDAwCiAgICAgICAgICAgICAgICAgICAgSUxFTiA9IExvY2FsMAogICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIElMRU4gPSBTaXplT2YgKEFyZzApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFNDTVAs IDMsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCA9 IFNpemVPZiAoQXJnMCkKICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4MDApKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICAgICAgTmFtZSAo U1RSMSwgQnVmZmVyIChMb2NhbDApe30pCiAgICAgICAgICAgICAgICBTVFIxID0gQXJnMAogICAg ICAgICAgICAgICAgTG9jYWwwLS0KICAgICAgICAgICAgICAgIExvY2FsMSA9IDB4MDAKICAgICAg ICAgICAgICAgIExvY2FsMiA9IEFyZzIKICAgICAgICAgICAgICAgIFdoaWxlICgoTG9jYWwxIDwg TG9jYWwwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDMgPSBE ZXJlZk9mIChTVFIxIFtMb2NhbDFdKQogICAgICAgICAgICAgICAgICAgIExvY2FsNCA9IERlcmVm T2YgKEFyZzEgW0xvY2FsMl0pCiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDMgIT0gTG9j YWw0KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIExvY2Fs MSsrCiAgICAgICAgICAgICAgICAgICAgTG9jYWwyKysKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBMb2NhbDQgPSBEZXJlZk9mIChBcmcxIFtMb2NhbDJdKQogICAgICAgICAgICAg ICAgSWYgKChMb2NhbDQgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElm ICgoKExvY2FsNCA9PSAweDJDKSB8fCAoTG9jYWw0ID09IDB4M0EpKSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBN ZXRob2QgKEdJVE0sIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIExvY2FsMCA9IDB4MDAKICAgICAgICAgICAgICAgIExvY2FsMSA9IFNpemVPZiAoQXJnMSkK ICAgICAgICAgICAgICAgIFdoaWxlICgoTG9jYWwwIDwgTG9jYWwxKSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDMgPSBEZXJlZk9mIChEZXJlZk9mIChBcmcxIFtM b2NhbDBdKSBbMHgwMV0pCiAgICAgICAgICAgICAgICAgICAgSWYgKFNDTVAgKExvY2FsMywgQXJn MCwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IExvY2FsMCsrCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuIChPbmVz KQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKEdTRUwsIDMsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDAKICAgICAgICAg ICAgICAgIExvY2FsMSA9IFNpemVPZiAoQXJnMCkKICAgICAgICAgICAgICAgIFdoaWxlICgoTG9j YWwwIDwgTG9jYWwxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2Nh bDIgPSBEZXJlZk9mIChBcmcwIFtMb2NhbDBdKQogICAgICAgICAgICAgICAgICAgIElmIChTQ01Q IChMb2NhbDIsIEFyZzEsIEFyZzIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IFJldHVybiAoT25lcykKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTTEVOLCAy LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDAgPSBE ZXJlZk9mIChBcmcwIFtBcmcxXSkKICAgICAgICAgICAgICAgIFJldHVybiAoU2l6ZU9mIChMb2Nh bDApKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKENMUlAsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFdQQVMgPSAweDAwCiAgICAgICAg ICAgICAgICBXUE5XID0gMHgwMAogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKEdQ QVMsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2Fs MCA9IEFyZzEKICAgICAgICAgICAgICAgIExvY2FsMSA9IDB4MDAKICAgICAgICAgICAgICAgIFdo aWxlICgoTG9jYWwxIDw9IDB4ODApKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIExvY2FsMiA9IERlcmVmT2YgKEFyZzAgW0xvY2FsMF0pCiAgICAgICAgICAgICAgICAgICAg SWYgKCgoTG9jYWwyID09IDB4MkMpIHx8IChMb2NhbDIgPT0gMHgwMCkpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUFNUUiBbTG9jYWwxXSA9IDB4MDAKICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBQU1RSIFtMb2NhbDFdID0gTG9jYWwyCiAgICAgICAgICAg ICAgICAgICAgTG9jYWwwKysKICAgICAgICAgICAgICAgICAgICBMb2NhbDErKwogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIFBTVFIgW0xvY2FsMV0gPSAweDAwCiAgICAgICAgICAg ICAgICBSZXR1cm4gKE9uZXMpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoQ1BB UywgMiwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQ0xSUCAo KQogICAgICAgICAgICAgICAgTG9jYWwwID0gQXJnMQogICAgICAgICAgICAgICAgTG9jYWwxID0g R1BBUyAoQXJnMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgSWYgKChMb2NhbDEgPT0gT25lcykp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID09IDB4MDApKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBXUEFTID0gUFNUUiAvKiBcX1NCXy5XTUkxLlBTVFIg Ki8KICAgICAgICAgICAgICAgIExvY2FsMCArPSBMb2NhbDEKICAgICAgICAgICAgICAgIExvY2Fs MCsrCiAgICAgICAgICAgICAgICBMb2NhbDYgPSBHU0VMIChQRU5DLCBBcmcwLCBMb2NhbDApCiAg ICAgICAgICAgICAgICBJZiAoKExvY2FsNiA9PSBPbmVzKSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgV0VOQyA9IExvY2FsNgogICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gMHgw MCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwICs9IFNMRU4g KFBFTkMsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgSWYgKChEZXJlZk9mIChBcmcwIFtMb2Nh bDBdKSAhPSAweDJDKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIExvY2FsMCsrCiAgICAgICAgICAgICAgICAgICAgTG9jYWw2ID0gR1NFTCAoUEtCRCwgQXJn MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWw2ID09IE9uZXMpKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgV0tCRCA9IExvY2FsNgog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTUEFTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBDTFJQICgpCiAgICAgICAgICAgICAgICBMb2NhbDYgPSBH U0VMIChQVFlQLCBBcmcwLCAweDAwKQogICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gT25l cykpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFdQVFkgPSBMb2NhbDYKICAgICAgICAg ICAgICAgIExvY2FsMCA9IFNMRU4gKFBUWVAsIExvY2FsNikKICAgICAgICAgICAgICAgIElmICgo RGVyZWZPZiAoQXJnMCBbTG9jYWwwXSkgIT0gMHgyQykpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIExvY2FsMCsrCiAgICAgICAgICAgICAgICBMb2NhbDEgPSBHUEFTIChBcmcwLCBMb2Nh bDApCiAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDEgPT0gT25lcykgfHwgKExvY2FsMSA9PSAw eDAwKSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAy KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFdQQVMgPSBQU1RSIC8qIFxfU0Jf LldNSTEuUFNUUiAqLwogICAgICAgICAgICAgICAgTG9jYWwwICs9IExvY2FsMQogICAgICAgICAg ICAgICAgSWYgKChEZXJlZk9mIChBcmcwIFtMb2NhbDBdKSAhPSAweDJDKSkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTG9jYWwwKysKICAgICAgICAgICAgICAgIExvY2FsMSA9IEdQQVMg KEFyZzAsIExvY2FsMCkKICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID09IE9uZXMpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoKExvY2FsMSA9PSAweDAwKSkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQU1RSID0gMHgwMAogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIFdQTlcgPSBQU1RSIC8qIFxfU0JfLldNSTEuUFNUUiAqLwogICAg ICAgICAgICAgICAgTG9jYWwwICs9IExvY2FsMQogICAgICAgICAgICAgICAgTG9jYWwwKysKICAg ICAgICAgICAgICAgIExvY2FsNiA9IEdTRUwgKFBFTkMsIEFyZzAsIExvY2FsMCkKICAgICAgICAg ICAgICAgIElmICgoTG9jYWw2ID09IE9uZXMpKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBXRU5DID0gTG9jYWw2CiAgICAgICAgICAgICAgICBJZiAoKExvY2FsNiA9PSAweDAwKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgKz0gU0xFTiAoUEVOQywg MHgwMCkKICAgICAgICAgICAgICAgICAgICBJZiAoKERlcmVmT2YgKEFyZzAgW0xvY2FsMF0pICE9 IDB4MkMpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDAyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTG9j YWwwKysKICAgICAgICAgICAgICAgICAgICBMb2NhbDYgPSBHU0VMIChQS0JELCBBcmcwLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gT25lcykpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBXS0JEID0gTG9jYWw2CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBNZXRob2QgKFdTRVQsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIExvY2FsMCA9IElMRU4gLyogXF9TQl8uV01JMS5JTEVOICovCiAgICAg ICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICAgICAgTG9jYWwxID0gR0lUTSAoSUJVRiwg QXJnMCkKICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID09IE9uZXMpKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBXSVRNID0gTG9jYWwxCiAgICAgICAgICAgICAgICBMb2NhbDMgPSBE ZXJlZk9mIChBcmcwIFtMb2NhbDFdKQogICAgICAgICAgICAgICAgTG9jYWw0ID0gRGVyZWZPZiAo TG9jYWwzIFsweDAxXSkKICAgICAgICAgICAgICAgIExvY2FsMiA9IFNpemVPZiAoTG9jYWw0KQog ICAgICAgICAgICAgICAgTG9jYWwyKysKICAgICAgICAgICAgICAgIExvY2FsNCA9IERlcmVmT2Yg KExvY2FsMyBbMHgwMF0pCiAgICAgICAgICAgICAgICBJZiAoKExvY2FsNCA8IDB4NjQpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsNSA9IERlcmVmT2YgKEFyZzEg W0xvY2FsNF0pCiAgICAgICAgICAgICAgICAgICAgTG9jYWw2ID0gR1NFTCAoTG9jYWw1LCBJQlVG LCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gT25lcykpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBXU0VMID0gTG9jYWw2CiAg ICAgICAgICAgICAgICAgICAgTG9jYWwyICs9IFNMRU4gKExvY2FsNSwgTG9jYWw2KQogICAgICAg ICAgICAgICAgICAgIExvY2FsNCA9IERlcmVmT2YgKElCVUYgW0xvY2FsMl0pCiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgV0xTMCA9IDB4M0YKICAgICAgICAgICAgICAgICAgICBXTFMxID0gMHgzRgogICAg ICAgICAgICAgICAgICAgIFdMUzIgPSAweDNGCiAgICAgICAgICAgICAgICAgICAgV0xTMyA9IDB4 M0YKICAgICAgICAgICAgICAgICAgICBXTFM0ID0gMHgzRgogICAgICAgICAgICAgICAgICAgIFdM UzUgPSAweDNGCiAgICAgICAgICAgICAgICAgICAgV0xTNiA9IDB4M0YKICAgICAgICAgICAgICAg ICAgICBXTFM3ID0gMHgzRgogICAgICAgICAgICAgICAgICAgIFdMUzggPSAweDNGCiAgICAgICAg ICAgICAgICAgICAgV0xTOSA9IDB4M0YKICAgICAgICAgICAgICAgICAgICBXTFNBID0gMHgzRgog ICAgICAgICAgICAgICAgICAgIFdMU0IgPSAweDNGCiAgICAgICAgICAgICAgICAgICAgV0xTQyA9 IDB4M0YKICAgICAgICAgICAgICAgICAgICBXTFNEID0gMHgzRgogICAgICAgICAgICAgICAgICAg IExvY2FsNiA9IEdTRUwgKFZMU1QsIElCVUYsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICBJ ZiAoKExvY2FsNiA9PSBPbmVzKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIFdMUzAgPSBMb2NhbDYKICAgICAgICAgICAgICAgICAgICBMb2NhbDIgKz0gU0xF TiAoVkxTVCwgTG9jYWw2KQogICAgICAgICAgICAgICAgICAgIExvY2FsNCA9IERlcmVmT2YgKElC VUYgW0xvY2FsMl0pCiAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWwyIDwgTG9jYWwwKSAm JiAoTG9jYWw0ID09IDB4M0EpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsMisrCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IEdTRUwg KFZMU1QsIElCVUYsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDYg PT0gT25lcykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgV0xTMSA9IExvY2FsNgogICAgICAgICAgICAgICAgICAgICAgICBMb2Nh bDIgKz0gU0xFTiAoVkxTVCwgTG9jYWw2KQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDQg PSBEZXJlZk9mIChJQlVGIFtMb2NhbDJdKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgSWYgKCgoTG9jYWwyIDwgTG9jYWwwKSAmJiAoTG9jYWw0ID09IDB4M0EpKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMisrCiAg ICAgICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IEdTRUwgKFZMU1QsIElCVUYsIExvY2FsMikK ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gT25lcykpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikK ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgV0xTMiA9 IExvY2FsNgogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgKz0gU0xFTiAoVkxTVCwgTG9j YWw2KQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDQgPSBEZXJlZk9mIChJQlVGIFtMb2Nh bDJdKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9j YWwyIDwgTG9jYWwwKSAmJiAoTG9jYWw0ID09IDB4M0EpKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMisrCiAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsNiA9IEdTRUwgKFZMU1QsIElCVUYsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKChMb2NhbDYgPT0gT25lcykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgV0xTMyA9IExvY2FsNgogICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDIgKz0gU0xFTiAoVkxTVCwgTG9jYWw2KQogICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDQgPSBEZXJlZk9mIChJQlVGIFtMb2NhbDJdKQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWwyIDwgTG9jYWwwKSAmJiAoTG9j YWw0ID09IDB4M0EpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIExvY2FsMisrCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IEdTRUwgKFZMU1Qs IElCVUYsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gT25l cykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgV0xTNCA9IExvY2FsNgogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgKz0g U0xFTiAoVkxTVCwgTG9jYWw2KQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDQgPSBEZXJl Zk9mIChJQlVGIFtMb2NhbDJdKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgSWYgKCgoTG9jYWwyIDwgTG9jYWwwKSAmJiAoTG9jYWw0ID09IDB4M0EpKSkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMisrCiAgICAgICAg ICAgICAgICAgICAgICAgIExvY2FsNiA9IEdTRUwgKFZMU1QsIElCVUYsIExvY2FsMikKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gT25lcykpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgV0xTNSA9IExvY2Fs NgogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgKz0gU0xFTiAoVkxTVCwgTG9jYWw2KQog ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDQgPSBEZXJlZk9mIChJQlVGIFtMb2NhbDJdKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWwyIDwg TG9jYWwwKSAmJiAoTG9jYWw0ID09IDB4M0EpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIExvY2FsMisrCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2Fs NiA9IEdTRUwgKFZMU1QsIElCVUYsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KChMb2NhbDYgPT0gT25lcykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgV0xTNiA9IExvY2FsNgogICAgICAgICAgICAgICAgICAg ICAgICBMb2NhbDIgKz0gU0xFTiAoVkxTVCwgTG9jYWw2KQogICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDQgPSBEZXJlZk9mIChJQlVGIFtMb2NhbDJdKQogICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWwyIDwgTG9jYWwwKSAmJiAoTG9jYWw0ID09 IDB4M0EpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExv Y2FsMisrCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IEdTRUwgKFZMU1QsIElCVUYs IExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gT25lcykpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgV0xTNyA9IExvY2FsNgogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgKz0gU0xFTiAo VkxTVCwgTG9jYWw2KQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDQgPSBEZXJlZk9mIChJ QlVGIFtMb2NhbDJdKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg SWYgKCgoTG9jYWwyIDwgTG9jYWwwKSAmJiAoTG9jYWw0ID09IDB4M0EpKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMisrCiAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsNiA9IEdTRUwgKFZMU1QsIElCVUYsIExvY2FsMikKICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gT25lcykpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgV0xTOCA9IExvY2FsNgogICAg ICAgICAgICAgICAgICAgICAgICBMb2NhbDIgKz0gU0xFTiAoVkxTVCwgTG9jYWw2KQogICAgICAg ICAgICAgICAgICAgICAgICBMb2NhbDQgPSBEZXJlZk9mIChJQlVGIFtMb2NhbDJdKQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWwyIDwgTG9jYWww KSAmJiAoTG9jYWw0ID09IDB4M0EpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIExvY2FsMisrCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IEdT RUwgKFZMU1QsIElCVUYsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2Nh bDYgPT0gT25lcykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgV0xTOSA9IExvY2FsNgogICAgICAgICAgICAgICAgICAgICAgICBM b2NhbDIgKz0gU0xFTiAoVkxTVCwgTG9jYWw2KQogICAgICAgICAgICAgICAgICAgICAgICBMb2Nh bDQgPSBEZXJlZk9mIChJQlVGIFtMb2NhbDJdKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgSWYgKCgoTG9jYWwyIDwgTG9jYWwwKSAmJiAoTG9jYWw0ID09IDB4M0Ep KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMisr CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IEdTRUwgKFZMU1QsIElCVUYsIExvY2Fs MikKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gT25lcykpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgV0xT QSA9IExvY2FsNgogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgKz0gU0xFTiAoVkxTVCwg TG9jYWw2KQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDQgPSBEZXJlZk9mIChJQlVGIFtM b2NhbDJdKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKCgo TG9jYWwyIDwgTG9jYWwwKSAmJiAoTG9jYWw0ID09IDB4M0EpKSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMisrCiAgICAgICAgICAgICAgICAgICAg ICAgIExvY2FsNiA9IEdTRUwgKFZMU1QsIElCVUYsIExvY2FsMikKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKChMb2NhbDYgPT0gT25lcykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgV0xTQiA9IExvY2FsNgogICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDIgKz0gU0xFTiAoVkxTVCwgTG9jYWw2KQogICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDQgPSBEZXJlZk9mIChJQlVGIFtMb2NhbDJdKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWwyIDwgTG9jYWwwKSAmJiAo TG9jYWw0ID09IDB4M0EpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIExvY2FsMisrCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IEdTRUwgKFZM U1QsIElCVUYsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0g T25lcykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgV0xTQyA9IExvY2FsNgogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIg Kz0gU0xFTiAoVkxTVCwgTG9jYWw2KQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDQgPSBE ZXJlZk9mIChJQlVGIFtMb2NhbDJdKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgSWYgKCgoTG9jYWwyIDwgTG9jYWwwKSAmJiAoTG9jYWw0ID09IDB4M0EpKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMisrCiAgICAg ICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IEdTRUwgKFZMU1QsIElCVUYsIExvY2FsMikKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gT25lcykpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgV0xTRCA9IExv Y2FsNgogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgKz0gU0xFTiAoVkxTVCwgTG9jYWw2 KQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDQgPSBEZXJlZk9mIChJQlVGIFtMb2NhbDJd KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBJZiAoKChMb2NhbDQgPT0gMHgyQykgJiYgKExvY2FsMiA8IExvY2FsMCkpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMisrCiAgICAgICAgICAgICAgICAgICAg TG9jYWwwID0gQ1BBUyAoSUJVRiwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgIElmICgoTG9j YWwwICE9IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgTmFtZSAoV1FCQSwgQnVmZmVyICgweDA4OUQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIC8qIDAwMDAgKi8gIDB4NDYsIDB4NEYsIDB4NEQsIDB4NDIsIDB4MDEsIDB4MDAsIDB4MDAs IDB4MDAsICAvLyBGT01CLi4uLgogICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgMHg4RCwgMHgw OCwgMHgwMCwgMHgwMCwgMHhGMiwgMHgzNiwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uNi4uCiAgICAg ICAgICAgICAgICAvKiAwMDEwICovICAweDQ0LCAweDUzLCAweDAwLCAweDAxLCAweDFBLCAweDdE LCAweERBLCAweDU0LCAgLy8gRFMuLi59LlQKICAgICAgICAgICAgICAgIC8qIDAwMTggKi8gIDB4 QTgsIDB4QzksIDB4OUEsIDB4MDAsIDB4MDEsIDB4MDYsIDB4MTgsIDB4NDIsICAvLyAuLi4uLi4u QgogICAgICAgICAgICAgICAgLyogMDAyMCAqLyAgMHgxMCwgMHgxMywgMHgxMCwgMHgwQSwgMHgw RCwgMHgyMSwgMHgwMiwgMHgwQiwgIC8vIC4uLi4uIS4uCiAgICAgICAgICAgICAgICAvKiAwMDI4 ICovICAweDgzLCAweDUwLCAweDRDLCAweDE4LCAweDE0LCAweEEwLCAweDQ1LCAweDQxLCAgLy8g LlBMLi4uRUEKICAgICAgICAgICAgICAgIC8qIDAwMzAgKi8gIDB4QzgsIDB4MDUsIDB4MTQsIDB4 OTUsIDB4MDIsIDB4MjEsIDB4QzMsIDB4MDIsICAvLyAuLi4uLiEuLgogICAgICAgICAgICAgICAg LyogMDAzOCAqLyAgMHgxNCwgMHgwQiwgMHg3MCwgMHgyRSwgMHg0MCwgMHhCQSwgMHgwMCwgMHhF NSwgIC8vIC4ucC5ALi4uCiAgICAgICAgICAgICAgICAvKiAwMDQwICovICAweDI4LCAweDcyLCAw eDBDLCAweDIyLCAweDAyLCAweEY3LCAweEVGLCAweDBGLCAgLy8gKHIuIi4uLi4KICAgICAgICAg ICAgICAgIC8qIDAwNDggKi8gIDB4MzEsIDB4MEUsIDB4ODgsIDB4MTQsIDB4NDAsIDB4NDgsIDB4 MjYsIDB4ODQsICAvLyAxLi4uQEgmLgogICAgICAgICAgICAgICAgLyogMDA1MCAqLyAgMHg0NCwg MHgwMCwgMHg1MywgMHgyMSwgMHg3MCwgMHg4NCwgMHhBMCwgMHg1RiwgIC8vIEQuUyFwLi5fCiAg ICAgICAgICAgICAgICAvKiAwMDU4ICovICAweDAxLCAweDA4LCAweDFELCAweEEyLCAweEM5LCAw eEEwLCAweDAwLCAweEE3LCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDAwNjAgKi8g IDB4MDgsIDB4ODIsIDB4QjQsIDB4NjUsIDB4MDEsIDB4QkEsIDB4MDUsIDB4RjgsICAvLyAuLi5l Li4uLgogICAgICAgICAgICAgICAgLyogMDA2OCAqLyAgMHgxNiwgMHhBMCwgMHgxRCwgMHg0Miwg MHg2OCwgMHgxNSwgMHgwQSwgMHgzMCwgIC8vIC4uLkJoLi4wCiAgICAgICAgICAgICAgICAvKiAw MDcwICovICAweDI5LCAweEMwLCAweDI3LCAweDk4LCAweDJDLCAweDBBLCAweDkwLCAweDBELCAg Ly8gKS4nLiwuLi4KICAgICAgICAgICAgICAgIC8qIDAwNzggKi8gIDB4MjYsIDB4REIsIDB4NzAs IDB4NjQsIDB4MTgsIDB4NEMsIDB4RTQsIDB4MTgsICAvLyAmLnBkLkwuLgogICAgICAgICAgICAg ICAgLyogMDA4MCAqLyAgMHg1MCwgMHg2MiwgMHhDNiwgMHg4MCwgMHhEMiwgMHgzOSwgMHgwNSwg MHhEOSwgIC8vIFBiLi4uOS4uCiAgICAgICAgICAgICAgICAvKiAwMDg4ICovICAweDA0LCAweDE2 LCAweDc0LCAweEExLCAweDI4LCAweDlBLCAweDQ2LCAweDk0LCAgLy8gLi50LiguRi4KICAgICAg ICAgICAgICAgIC8qIDAwOTAgKi8gIDB4MDQsIDB4MDcsIDB4NzUsIDB4MEMsIDB4MTEsIDB4ODIs IDB4OTcsIDB4MkIsICAvLyAuLnUuLi4uKwogICAgICAgICAgICAgICAgLyogMDA5OCAqLyAgMHg0 MCwgMHhGMiwgMHgwNCwgMHhBNCwgMHg3OSwgMHg1RSwgMHhCMiwgMHgzRSwgIC8vIEAuLi55Xi4+ CiAgICAgICAgICAgICAgICAvKiAwMEEwICovICAweDA4LCAweDBELCAweDgxLCAweDhELCAweDgw LCAweDQ3LCAweDkxLCAweDAwLCAgLy8gLi4uLi5HLi4KICAgICAgICAgICAgICAgIC8qIDAwQTgg Ki8gIDB4QzIsIDB4NjIsIDB4MkMsIDB4NTMsIDB4RTIsIDB4NjEsIDB4NTAsIDB4MUUsICAvLyAu YixTLmFQLgogICAgICAgICAgICAgICAgLyogMDBCMCAqLyAgMHg0MCwgMHgyNCwgMHg2NywgMHhB OCwgMHgyOCwgMHg2MCwgMHg3QiwgMHg5RCwgIC8vIEAkZy4oYHsuCiAgICAgICAgICAgICAgICAv KiAwMEI4ICovICAweDg4LCAweDg2LCAweDc1LCAweDlDLCAweDRDLCAweDEyLCAweDFDLCAweDZB LCAgLy8gLi51LkwuLmoKICAgICAgICAgICAgICAgIC8qIDAwQzAgKi8gIDB4OTQsIDB4OTYsIDB4 MjgsIDB4QzAsIDB4RkMsIDB4QzgsIDB4MzQsIDB4OTEsICAvLyAuLiguLi40LgogICAgICAgICAg ICAgICAgLyogMDBDOCAqLyAgMHg2MywgMHg2QiwgMHg3QSwgMHhDNCwgMHg4MiwgMHg2NCwgMHhE MiwgMHg4NiwgIC8vIGNrei4uZC4uCiAgICAgICAgICAgICAgICAvKiAwMEQwICovICAweDgyLCAw eDFBLCAweEJBLCAweEE3LCAweDc1LCAweDUyLCAweDlFLCAweDY4LCAgLy8gLi4uLnVSLmgKICAg ICAgICAgICAgICAgIC8qIDAwRDggKi8gIDB4QzQsIDB4ODMsIDB4MzIsIDB4NEMsIDB4MDIsIDB4 OEYsIDB4ODIsIDB4QTEsICAvLyAuLjJMLi4uLgogICAgICAgICAgICAgICAgLyogMDBFMCAqLyAg MHg3MSwgMHg4MiwgMHhCMiwgMHgyMCwgMHhFNCwgMHg2MCwgMHhBMCwgMHgyOCwgIC8vIHEuLiAu YC4oCiAgICAgICAgICAgICAgICAvKiAwMEU4ICovICAweEMwLCAweDkzLCAweEYwLCAweDFDLCAw eDhCLCAweDE3LCAweDIwLCAweDdDLCAgLy8gLi4uLi4uIHwKICAgICAgICAgICAgICAgIC8qIDAw RjAgKi8gIDB4QzYsIDB4RTQsIDB4MjgsIDB4MTAsIDB4MjMsIDB4ODEsIDB4OEYsIDB4MDQsICAv LyAuLiguIy4uLgogICAgICAgICAgICAgICAgLyogMDBGOCAqLyAgMHgxRSwgMHhDRCwgMHgzMSwg MHg2MywgMHg4MSwgMHhDMiwgMHgwNSwgMHgzQywgIC8vIC4uMWMuLi48CiAgICAgICAgICAgICAg ICAvKiAwMTAwICovICAweDlGLCAweDYzLCAweDg4LCAweDFDLCAweEY3LCAweDUwLCAweDYzLCAw eDFDLCAgLy8gLmMuLi5QYy4KICAgICAgICAgICAgICAgIC8qIDAxMDggKi8gIDB4NDUsIDB4RTQs IDB4MDQsIDB4RUYsIDB4MDAsIDB4NTEsIDB4OEMsIDB4NTYsICAvLyBFLi4uLlEuVgogICAgICAg ICAgICAgICAgLyogMDExMCAqLyAgMHhEMCwgMHhCQywgMHg4NSwgMHgxOCwgMHgyQywgMHg5QSwg MHhDMSwgMHg3QSwgIC8vIC4uLi4sLi56CiAgICAgICAgICAgICAgICAvKiAwMTE4ICovICAweDA2 LCAweDI3LCAweDgzLCAweDRFLCAweEYwLCAweEZGLCAweDNGLCAweDAyLCAgLy8gLicuTi4uPy4K ICAgICAgICAgICAgICAgIC8qIDAxMjAgKi8gIDB4MkUsIDB4MDMsIDB4NDIsIDB4MUUsIDB4MDUs IDB4NTgsIDB4MUQsIDB4OTQsICAvLyAuLkIuLlguLgogICAgICAgICAgICAgICAgLyogMDEyOCAq LyAgMHhBNiwgMHg2MSwgMHg4MiwgMHhFRSwgMHgwNSwgMHhCQywgMHgxQSwgMHgxQSwgIC8vIC5h Li4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMTMwICovICAweDEzLCAweEEwLCAweDExLCAweDQz LCAweENBLCAweDA0LCAweDM4LCAweEJCLCAgLy8gLi4uQy4uOC4KICAgICAgICAgICAgICAgIC8q IDAxMzggKi8gIDB4MkYsIDB4NjgsIDB4NDYsIDB4NkQsIDB4MDksIDB4MzAsIDB4MjcsIDB4NDAs ICAvLyAvaEZtLjAnQAogICAgICAgICAgICAgICAgLyogMDE0MCAqLyAgMHg5QiwgMHgwMCwgMHg2 RiwgMHgwOCwgMHg0MiwgMHgzOSwgMHhDRiwgMHgyOCwgIC8vIC4uby5COS4oCiAgICAgICAgICAg ICAgICAvKiAwMTQ4ICovICAweEM3LCAweDcyLCAweDhBLCAweDUxLCAweDFFLCAweDA2LCAweDYy LCAweEJFLCAgLy8gLnIuUS4uYi4KICAgICAgICAgICAgICAgIC8qIDAxNTAgKi8gIDB4MEMsIDB4 MDQsIDB4OEQsIDB4MTIsIDB4MjMsIDB4RTYsIDB4QjksIDB4QzQsICAvLyAuLi4uIy4uLgogICAg ICAgICAgICAgICAgLyogMDE1OCAqLyAgMHgzNSwgMHg2QywgMHg4NCwgMHgxOCwgMHgyMSwgMHg0 RiwgMHgyMSwgMHg1MCwgIC8vIDVsLi4hTyFQCiAgICAgICAgICAgICAgICAvKiAwMTYwICovICAw eERDLCAweEY2LCAweDA3LCAweDQxLCAweDA2LCAweDhELCAweDFCLCAweEJELCAgLy8gLi4uQS4u Li4KICAgICAgICAgICAgICAgIC8qIDAxNjggKi8gIDB4NEYsIDB4MEIsIDB4NjcsIDB4NzUsIDB4 MDIsIDB4NDcsIDB4RkYsIDB4QTQsICAvLyBPLmd1LkcuLgogICAgICAgICAgICAgICAgLyogMDE3 MCAqLyAgMHg2MCwgMHgwMiwgMHg0RiwgMHhGOSwgMHhDMCwgMHg5RSwgMHgwRCwgMHg0RSwgIC8v IGAuTy4uLi5OCiAgICAgICAgICAgICAgICAvKiAwMTc4ICovICAweEUwLCAweDU4LCAweEEzLCAw eEM2LCAweDM4LCAweDk1LCAweDA0LCAweDhFLCAgLy8gLlguLjguLi4KICAgICAgICAgICAgICAg IC8qIDAxODAgKi8gIDB4RkQsIDB4ODAsIDB4OTAsIDB4MDYsIDB4MTAsIDB4NDUsIDB4ODIsIDB4 NDcsICAvLyAuLi4uLkUuRwogICAgICAgICAgICAgICAgLyogMDE4OCAqLyAgMHg5RCwgMHgxNiwg MHg3QywgMHgyRSwgMHhGMCwgMHhEMCwgMHgwRSwgMHhEQSwgIC8vIC4ufC4uLi4uCiAgICAgICAg ICAgICAgICAvKiAwMTkwICovICAweDczLCAweDNDLCAweDgxLCAweDIwLCAweDg3LCAweDcwLCAw eDA0LCAweDRGLCAgLy8gczwuIC5wLk8KICAgICAgICAgICAgICAgIC8qIDAxOTggKi8gIDB4MEMs IDB4MEYsIDB4MDQsIDB4MUUsIDB4MDMsIDB4QkIsIDB4MjksIDB4RjgsICAvLyAuLi4uLi4pLgog ICAgICAgICAgICAgICAgLyogMDFBMCAqLyAgMHgwOCwgMHhFMCwgMHgxMywgMHgwMiwgMHhERSwg MHgzNSwgMHhBMCwgMHhBRSwgIC8vIC4uLi4uNS4uCiAgICAgICAgICAgICAgICAvKiAwMUE4ICov ICAweDA2LCAweDBGLCAweDA2LCAweDZDLCAweEQwLCAweEUxLCAweDMwLCAweEUzLCAgLy8gLi4u bC4uMC4KICAgICAgICAgICAgICAgIC8qIDAxQjAgKi8gIDB4RjUsIDB4RjAsIDB4QzMsIDB4OUQs IDB4QzAsIDB4NDksIDB4M0UsIDB4NjAsICAvLyAuLi4uLkk+YAogICAgICAgICAgICAgICAgLyog MDFCOCAqLyAgMHhGMCwgMHhDMywgMHg4NiwgMHgwNywgMHg4NywgMHg5QiwgMHhFNywgMHhDOSwg IC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMUMwICovICAweDFDLCAweDU5LCAweEE5 LCAweDAyLCAweENDLCAweDFFLCAweDBFLCAweDc0LCAgLy8gLlkuLi4uLnQKICAgICAgICAgICAg ICAgIC8qIDAxQzggKi8gIDB4OTAsIDB4RjAsIDB4NjksIDB4ODMsIDB4OUQsIDB4MDEsIDB4MzAs IDB4RjIsICAvLyAuLmkuLi4wLgogICAgICAgICAgICAgICAgLyogMDFEMCAqLyAgMHgwNywgMHg4 MSwgMHgxQSwgMHg5OSwgMHhBMSwgMHgzRCwgMHhFRSwgMHg5NywgIC8vIC4uLi4uPS4uCiAgICAg ICAgICAgICAgICAvKiAwMUQ4ICovICAweDBFLCAweDQzLCAweDNFLCAweDI3LCAweDFDLCAweDE2 LCAweDEzLCAweDdCLCAgLy8gLkM+Jy4uLnsKICAgICAgICAgICAgICAgIC8qIDAxRTAgKi8gIDB4 RUEsIDB4QTAsIDB4RTMsIDB4MDEsIDB4RkYsIDB4NjUsIDB4RTQsIDB4MzksICAvLyAuLi4uLmUu OQogICAgICAgICAgICAgICAgLyogMDFFOCAqLyAgMHhDMywgMHhEMywgMHhGNywgMHg3QywgMHg0 RCwgMHgzMCwgMHhFQywgMHhDMCwgIC8vIC4uLnxNMC4uCiAgICAgICAgICAgICAgICAvKiAwMUYw ICovICAweEQxLCAweDAzLCAweDMxLCAweEY0LCAweEMzLCAweEM2LCAweDYxLCAweDlDLCAgLy8g Li4xLi4uYS4KICAgICAgICAgICAgICAgIC8qIDAxRjggKi8gIDB4ODYsIDB4RUYsIDB4MUYsIDB4 M0UsIDB4MkYsIDB4QzAsIDB4MzgsIDB4MDUsICAvLyAuLi4+Ly44LgogICAgICAgICAgICAgICAg LyogMDIwMCAqLyAgMHg3OCwgMHhFNCwgMHhGRSwgMHhGRiwgMHgxRiwgMHg1MiwgMHg3QywgMHg5 QSwgIC8vIHguLi4uUnwuCiAgICAgICAgICAgICAgICAvKiAwMjA4ICovICAweEUwLCAweDQ3LCAw eDBCLCAweDlGLCAweDI2LCAweEQ4LCAweEY1LCAweEUwLCAgLy8gLkcuLiYuLi4KICAgICAgICAg ICAgICAgIC8qIDAyMTAgKi8gIDB4MzQsIDB4OUUsIDB4MDMsIDB4M0MsIDB4OUMsIDB4QjMsIDB4 RjIsIDB4NjEsICAvLyA0Li48Li4uYQogICAgICAgICAgICAgICAgLyogMDIxOCAqLyAgMHgwMiwg MHg2QywgMHhGNywgMHgxMywgMHgzNiwgMHhBMiwgMHg3NywgMHgwQiwgIC8vIC5sLi42LncuCiAg ICAgICAgICAgICAgICAvKiAwMjIwICovICAweDhGLCAweDA2LCAweDdCLCAweDBBLCAweDAwLCAw eERGLCAweEY5LCAweDA1LCAgLy8gLi57Li4uLi4KICAgICAgICAgICAgICAgIC8qIDAyMjggKi8g IDB4OUMsIDB4NzcsIDB4MEQsIDB4MzYsIDB4NTgsIDB4MTgsIDB4RTcsIDB4MTcsICAvLyAudy42 WC4uLgogICAgICAgICAgICAgICAgLyogMDIzMCAqLyAgMHhFMCwgMHg3MSwgMHg0MiwgMHhGMCwg MHgxMCwgMHhGOCwgMHg0MSwgMHhDMiwgIC8vIC5xQi4uLkEuCiAgICAgICAgICAgICAgICAvKiAw MjM4ICovICAweDQzLCAweEUwLCAweDAzLCAweDc4LCAweEZFLCAweDM4LCAweDQzLCAweDJCLCAg Ly8gQy4ueC44QysKICAgICAgICAgICAgICAgIC8qIDAyNDAgKi8gIDB4OUQsIDB4MTcsIDB4NzIs IDB4NjAsIDB4RjAsIDB4Q0UsIDB4MzksIDB4MzAsICAvLyAuLnJgLi45MAogICAgICAgICAgICAg ICAgLyogMDI0OCAqLyAgMHg0NiwgMHhDMSwgMHhGMywgMHgzQywgMHgzNiwgMHg0QywgMHhBMCwg MHgyMCwgIC8vIEYuLjw2TC4gCiAgICAgICAgICAgICAgICAvKiAwMjUwICovICAweEFGLCAweDAx LCAweDg1LCAweDdBLCAweDE2LCAweDUwLCAweDE4LCAweDlGLCAgLy8gLi4uei5QLi4KICAgICAg ICAgICAgICAgIC8qIDAyNTggKi8gIDB4NkEsIDB4ODAsIDB4RDcsIDB4RkYsIDB4RkYsIDB4NTQs IDB4MDMsIDB4NUMsICAvLyBqLi4uLlQuXAogICAgICAgICAgICAgICAgLyogMDI2MCAqLyAgMHgw RSwgMHgwNywgMHhCOCwgMHg5MywgMHgwMywgMHhEQywgMHg3QiwgMHgwMSwgIC8vIC4uLi4uLnsu CiAgICAgICAgICAgICAgICAvKiAwMjY4ICovICAweEJCLCAweDM4LCAweDNDLCAweEQ3LCAweEMw LCAweDE1LCAweDdELCAweEFFLCAgLy8gLjg8Li4ufS4KICAgICAgICAgICAgICAgIC8qIDAyNzAg Ki8gIDB4ODEsIDB4N0EsIDB4NkYsIDB4MjksIDB4NkUsIDB4OEMsIDB4QkEsIDB4QzYsICAvLyAu em8pbi4uLgogICAgICAgICAgICAgICAgLyogMDI3OCAqLyAgMHgwNCwgMHg3OSwgMHgxNCwgMHg3 OCwgMHhBNCwgMHg4OSwgMHhGMiwgMHgzQywgIC8vIC55LnguLi48CiAgICAgICAgICAgICAgICAv KiAwMjgwICovICAweEYzLCAweDJFLCAweDEzLCAweEUxLCAweEQ5LCAweEM2LCAweEQ3LCAweDFB LCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDAyODggKi8gIDB4NEYsIDB4MjEsIDB4 OEUsIDB4QUYsIDB4MzUsIDB4NDYsIDB4N0MsIDB4OTksICAvLyBPIS4uNUZ8LgogICAgICAgICAg ICAgICAgLyogMDI5MCAqLyAgMHg3OCwgMHhCNywgMHgzMSwgMHhFRSwgMHhDMSwgMHgzRCwgMHhE NiwgMHgzQywgIC8vIHguMS4uPS48CiAgICAgICAgICAgICAgICAvKiAwMjk4ICovICAweEU0LCAw eDE4LCAweEU0LCAweDY4LCAweDIyLCAweEJDLCAweDE4LCAweDA0LCAgLy8gLi4uaCIuLi4KICAg ICAgICAgICAgICAgIC8qIDAyQTAgKi8gIDB4N0MsIDB4QkMsIDB4RjEsIDB4QjEsIDB4MDYsIDB4 QkMsIDB4NjIsIDB4NUUsICAvLyB8Li4uLi5iXgogICAgICAgICAgICAgICAgLyogMDJBOCAqLyAg MHgyOCwgMHhCMiwgMHg3MCwgMHhBQywgMHgwMSwgMHgzNCwgMHhGRSwgMHhGRiwgIC8vICgucC4u NC4uCiAgICAgICAgICAgICAgICAvKiAwMkIwICovICAweDhGLCAweDM1LCAweEMwLCAweDBELCAw eEVCLCAweDAxLCAweDA1LCAweDdDLCAgLy8gLjUuLi4uLnwKICAgICAgICAgICAgICAgIC8qIDAy QjggKi8gIDB4NDcsIDB4MDYsIDB4NzYsIDB4NDMsIDB4ODEsIDB4NzcsIDB4NDIsIDB4MDEsICAv LyBHLnZDLndCLgogICAgICAgICAgICAgICAgLyogMDJDMCAqLyAgMHhGQywgMHgyNCwgMHg3RSwg MHgwMSwgMHhFOCwgMHhDOCwgMHhFMSwgMHhCNCwgIC8vIC4kfi4uLi4uCiAgICAgICAgICAgICAg ICAvKiAwMkM4ICovICAweDIwLCAweEIyLCAweEYxLCAweDA2LCAweEYwLCAweDI5LCAweDgwLCAw eEFBLCAgLy8gIC4uLi4pLi4KICAgICAgICAgICAgICAgIC8qIDAyRDAgKi8gIDB4MDEsIDB4RDIs IDB4MzQsIDB4NjEsIDB4MTMsIDB4NEMsIDB4NEYsIDB4MkUsICAvLyAuLjRhLkxPLgogICAgICAg ICAgICAgICAgLyogMDJEOCAqLyAgMHg3OCwgMHgxRiwgMHgwOSwgMHg5QywgMHg5QiwgMHg0NCwg MHhDOSwgMHg4NywgIC8vIHguLi4uRC4uCiAgICAgICAgICAgICAgICAvKiAwMkUwICovICAweDQ1 LCAweEUxLCAweDlDLCAweEY1LCAweDIwLCAweDQyLCAweDQxLCAweDBDLCAgLy8gRS4uLiBCQS4K ICAgICAgICAgICAgICAgIC8qIDAyRTggKi8gIDB4RTgsIDB4MjAsIDB4QzcsIDB4MDksIDB4RjQs IDB4MTksIDB4QzUsIDB4MDcsICAvLyAuIC4uLi4uLgogICAgICAgICAgICAgICAgLyogMDJGMCAq LyAgMHg5MSwgMHgxMywgMHg3RCwgMHgyMiwgMHhGNCwgMHhBMCwgMHgzQywgMHg4QywgIC8vIC4u fSIuLjwuCiAgICAgICAgICAgICAgICAvKiAwMkY4ICovICAweDc3LCAweDE0LCAweDc2LCAweDAy LCAweEYxLCAweDYxLCAweEMyLCAweDYzLCAgLy8gdy52Li5hLmMKICAgICAgICAgICAgICAgIC8q IDAzMDAgKi8gIDB4RjcsIDB4MzEsIDB4ODEsIDB4RkYsIDB4NjMsIDB4M0MsIDB4MUIsIDB4QTMs ICAvLyAuMS4uYzwuLgogICAgICAgICAgICAgICAgLyogMDMwOCAqLyAgMHg1QiwgMHgwRCwgMHg4 NiwgMHhGRSwgMHhGRiwgMHhFNywgMHgxNCwgMHgwRSwgIC8vIFsuLi4uLi4uCiAgICAgICAgICAg ICAgICAvKiAwMzEwICovICAweEU2LCAweDgzLCAweDA4LCAweDI3LCAweEE4LCAweEVCLCAweDI2 LCAweDAxLCAgLy8gLi4uJy4uJi4KICAgICAgICAgICAgICAgIC8qIDAzMTggKi8gIDB4MzIsIDB4 N0QsIDB4NDcsIDB4MDUsIDB4NTAsIDB4MDAsIDB4RjksIDB4NUUsICAvLyAyfUcuUC4uXgogICAg ICAgICAgICAgICAgLyogMDMyMCAqLyAgMHhFMCwgMHg3MywgMHhDMCwgMHhCMywgMHgwMSwgMHgx QiwgMHhDMywgMHhBMywgIC8vIC5zLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMzI4ICovICAw eDgwLCAweEQxLCAweDhDLCAweENFLCAweEMzLCAweDRGLCAweDE2LCAweDE1LCAgLy8gLi4uLi5P Li4KICAgICAgICAgICAgICAgIC8qIDAzMzAgKi8gIDB4NzcsIDB4QjIsIDB4MTQsIDB4QzQsIDB4 OTMsIDB4NzUsIDB4OTQsIDB4QzksICAvLyB3Li4uLnUuLgogICAgICAgICAgICAgICAgLyogMDMz OCAqLyAgMHhBMiwgMHg2NywgMHhFMiwgMHg3QiwgMHg4NSwgMHg2NywgMHhGNCwgMHhBNiwgIC8v IC5nLnsuZy4uCiAgICAgICAgICAgICAgICAvKiAwMzQwICovICAweEU1LCAweDM5LCAweDdBLCAw eEMyLCAweEJFLCAweDg3LCAweEMwLCAweDNBLCAgLy8gLjl6Li4uLjoKICAgICAgICAgICAgICAg IC8qIDAzNDggKi8gIDB4MEMsIDB4ODQsIDB4N0MsIDB4MzAsIDB4RjAsIDB4MzQsIDB4MEMsIDB4 RTcsICAvLyAuLnwwLjQuLgogICAgICAgICAgICAgICAgLyogMDM1MCAqLyAgMHhDOSwgMHg3Miwg MHgzOCwgMHg0RiwgMHg5NiwgMHg4RiwgMHhDNSwgMHhENywgIC8vIC5yOE8uLi4uCiAgICAgICAg ICAgICAgICAvKiAwMzU4ICovICAweDEwLCAweEYwLCAweDA5LCAweDlDLCAweDJELCAweEM4LCAw eEUxLCAweDMxLCAgLy8gLi4uLi0uLjEKICAgICAgICAgICAgICAgIC8qIDAzNjAgKi8gIDB4QjEs IDB4NDYsIDB4NDUsIDB4QUYsIDB4NDIsIDB4MUUsIDB4MUUsIDB4QkYsICAvLyAuRkUuQi4uLgog ICAgICAgICAgICAgICAgLyogMDM2OCAqLyAgMHgxQywgMHg3OCwgMHgzRSwgMHhDRiwgMHgwOCwg MHg0NywgMHhGOSwgMHgyNCwgIC8vIC54Pi4uRy4kCiAgICAgICAgICAgICAgICAvKiAwMzcwICov ICAweDgxLCAweEMzLCAweDc4LCAweDI2LCAweEYxLCAweDEwLCAweDdELCAweDJCLCAgLy8gLi54 Ji4ufSsKICAgICAgICAgICAgICAgIC8qIDAzNzggKi8gIDB4ODIsIDB4MzUsIDB4OTEsIDB4OTMs IDB4RjYsIDB4NkQsIDB4RTEsIDB4NjQsICAvLyAuNS4uLm0uZAogICAgICAgICAgICAgICAgLyog MDM4MCAqLyAgMHg4MywgMHhCRSwgMHg5RSwgMHg2MSwgMHg2RSwgMHg0NSwgMHhCMCwgMHhGRiwg IC8vIC4uLmFuRS4uCiAgICAgICAgICAgICAgICAvKiAwMzg4ICovICAweEZGLCAweEI3LCAweDIy LCAweDM4LCAweDE3LCAweDM0LCAweDk4LCAweDk5LCAgLy8gLi4iOC40Li4KICAgICAgICAgICAg ICAgIC8qIDAzOTAgKi8gIDB4RUUsIDB4NTUsIDB4QTgsIDB4NTgsIDB4RjcsIDB4MkEsIDB4NDAs IDB4RUMsICAvLyAuVS5YLipALgogICAgICAgICAgICAgICAgLyogMDM5OCAqLyAgMHhCMCwgMHg1 RSwgMHg3QiwgMHg3QywgMHhCMCwgMHg4MiwgMHg3QiwgMHhBRiwgIC8vIC5ee3wuLnsuCiAgICAg ICAgICAgICAgICAvKiAwM0EwICovICAweDgyLCAweDdCLCAweEE5LCAweDdBLCAweDU2LCAweDM4 LCAweEM2LCAweEYwLCAgLy8gLnsuelY4Li4KICAgICAgICAgICAgICAgIC8qIDAzQTggKi8gIDB4 MEYsIDB4NTMsIDB4MzEsIDB4NEUsIDB4RTksIDB4QjUsIDB4RDMsIDB4NDAsICAvLyAuUzFOLi4u QAogICAgICAgICAgICAgICAgLyogMDNCMCAqLyAgMHg2MSwgMHhBMiwgMHhDNCwgMHg3QiwgMHhB RiwgMHhGMiwgMHgxOCwgMHhERiwgIC8vIGEuLnsuLi4uCiAgICAgICAgICAgICAgICAvKiAwM0I4 ICovICAweEFCLCAweEQ4LCAweDE1LCAweDJBLCAweDRDLCAweEFDLCAweDk3LCAweDJCLCAgLy8g Li4uKkwuLisKICAgICAgICAgICAgICAgIC8qIDAzQzAgKi8gIDB4QTMsIDB4QkUsIDB4NEUsIDB4 ODQsIDB4MEIsIDB4MTQsIDB4MjQsIDB4RDIsICAvLyAuLk4uLi4kLgogICAgICAgICAgICAgICAg LyogMDNDOCAqLyAgMHhBQiwgMHg1NSwgMHg5NCwgMHhDOCwgMHhGMSwgMHgwRCwgMHhGOSwgMHg1 RSwgIC8vIC5VLi4uLi5eCiAgICAgICAgICAgICAgICAvKiAwM0QwICovICAweDA1LCAweDVFLCAw eDM5LCAweEY3LCAweDJBLCAweDkwLCAweEZELCAweEZGLCAgLy8gLl45LiouLi4KICAgICAgICAg ICAgICAgIC8qIDAzRDggKi8gIDB4RUYsIDB4NTUsIDB4ODAsIDB4NzksIDB4QjQsIDB4RjcsIDB4 MkEsIDB4MzAsICAvLyAuVS55Li4qMAogICAgICAgICAgICAgICAgLyogMDNFMCAqLyAgMHg1RSwg MHgxQiwgMHhEOCwgMHgwRCwgMHgwOSwgMHgxNiwgMHhEMCwgMHg4QiwgIC8vIF4uLi4uLi4uCiAg ICAgICAgICAgICAgICAvKiAwM0U4ICovICAweDE1LCAweDYwLCAweDI4LCAweEYzLCAweEM1LCAw eDhBLCAweEU2LCAweEJELCAgLy8gLmAoLi4uLi4KICAgICAgICAgICAgICAgIC8qIDAzRjAgKi8g IDB4NTgsIDB4MjEsIDB4RkUsIDB4RkYsIDB4RTcsIDB4MTIsIDB4QTYsIDB4RTcsICAvLyBYIS4u Li4uLgogICAgICAgICAgICAgICAgLyogMDNGOCAqLyAgMHg2MiwgMHg0NSwgMHhFNiwgMHgwOSwg MHhGRiwgMHg2NiwgMHgwNSwgMHg3MCwgIC8vIGJFLi4uZi5wCiAgICAgICAgICAgICAgICAvKiAw NDAwICovICAweEZBLCAweEZGLCAweDdGLCAweEIzLCAweDAyLCAweDhDLCAweERELCAweDhCLCAg Ly8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA0MDggKi8gIDB4MzAsIDB4NDcsIDB4MkIs IDB4NzgsIDB4MjksIDB4NkYsIDB4NTYsIDB4MzQsICAvLyAwRyt4KW9WNAogICAgICAgICAgICAg ICAgLyogMDQxMCAqLyAgMHhDRSwgMHgzMiwgMHgxNCwgMHg3MCwgMHg0MSwgMHgxNCwgMHhDNiwg MHgzNywgIC8vIC4yLnBBLi43CiAgICAgICAgICAgICAgICAvKiAwNDE4ICovICAweDJCLCAweEMw LCAweEQxLCAweDc1LCAweDA1LCAweDM3LCAweDY0LCAweEI4LCAgLy8gKy4udS43ZC4KICAgICAg ICAgICAgICAgIC8qIDA0MjAgKi8gIDB4NjAsIDB4NTEsIDB4ODIsIDB4RjksIDB4MTAsIDB4RTIs IDB4RTksIDB4MUMsICAvLyBgUS4uLi4uLgogICAgICAgICAgICAgICAgLyogMDQyOCAqLyAgMHhG MSwgMHg0MywgMHhDMiwgMHg0QiwgMHhDMCwgMHg2MywgMHg4RSwgMHgwNywgIC8vIC5DLksuYy4u CiAgICAgICAgICAgICAgICAvKiAwNDMwICovICAweEZDLCAweDQwLCAweEUwLCAweENCLCAweDE1 LCAweDk4LCAweEZFLCAweEZGLCAgLy8gLkAuLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA0Mzgg Ki8gIDB4MDQsIDB4M0UsIDB4RjksIDB4OUUsIDB4RTUsIDB4REIsIDB4RDQsIDB4N0IsICAvLyAu Pi4uLi4uewogICAgICAgICAgICAgICAgLyogMDQ0MCAqLyAgMHgyRiwgMHgzRiwgMHg2MCwgMHhC RCwgMHg1NywgMHhGOSwgMHhGMCwgMHgxQiwgIC8vIC8/YC5XLi4uCiAgICAgICAgICAgICAgICAv KiAwNDQ4ICovICAweEVCLCAweDlELCAweEUxLCAweEU1LCAweENBLCAweDIzLCAweDg5LCAweDcy LCAgLy8gLi4uLi4jLnIKICAgICAgICAgICAgICAgIC8qIDA0NTAgKi8gIDB4MTIsIDB4QTEsIDB4 N0MsIDB4QjcsIDB4N0EsIDB4QUYsIDB4MzIsIDB4NEEsICAvLyAuLnwuei4ySgogICAgICAgICAg ICAgICAgLyogMDQ1OCAqLyAgMHhDNCwgMHgxNywgMHg2MiwgMHg5RiwgMHg4MiwgMHgwRCwgMHg2 RCwgMHg5NCwgIC8vIC4uYi4uLm0uCiAgICAgICAgICAgICAgICAvKiAwNDYwICovICAweEE3LCAw eDhBLCAweEU4LCAweEM2LCAweDdCLCAweEI5LCAweDAyLCAweEFGLCAgLy8gLi4uLnsuLi4KICAg ICAgICAgICAgICAgIC8qIDA0NjggKi8gIDB4QTQsIDB4Q0IsIDB4MTUsIDB4NDAsIDB4OTMsIDB4 RTEsIDB4QkYsIDB4NUMsICAvLyAuLi5ALi4uXAogICAgICAgICAgICAgICAgLyogMDQ3MCAqLyAg MHg4MSwgMHhFRiwgMHhFNiwgMHg4MCwgMHhCRCwgMHgyNiwgMHhDMSwgMHhGOSwgIC8vIC4uLi4u Ji4uCiAgICAgICAgICAgICAgICAvKiAwNDc4ICovICAweEZGLCAweDVGLCAweDkzLCAweEY4LCAw eEY1LCAweDBBLCAweEYwLCAweDkzLCAgLy8gLl8uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA0 ODAgKi8gIDB4RkQsIDB4N0EsIDB4NDUsIDB4NzMsIDB4NUYsIDB4QUYsIDB4NTAsIDB4QTIsICAv LyAuekVzXy5QLgogICAgICAgICAgICAgICAgLyogMDQ4OCAqLyAgMHgyMCwgMHhBNCwgMHgwOCwg MHg0OCwgMHgzMywgMHgwNSwgMHhDRiwgMHhGRCwgIC8vICAuLkgzLi4uCiAgICAgICAgICAgICAg ICAvKiAwNDkwICovICAweDBBLCAweEUwLCAweEM0LCAweEZGLCAweEZGLCAweDdFLCAweDA1LCAw eDU4LCAgLy8gLi4uLi5+LlgKICAgICAgICAgICAgICAgIC8qIDA0OTggKi8gIDB4MEUsIDB4Nzcs IDB4QkYsIDB4MDIsIDB4N0EsIDB4QjcsIDB4MjMsIDB4RjAsICAvLyAudy4uei4jLgogICAgICAg ICAgICAgICAgLyogMDRBMCAqLyAgMHhBMiwgMHhCQywgMHgxRCwgMHg2MSwgMHhBRiwgMHg1OCwg MHhGOCwgMHg4QywgIC8vIC4uLmEuWC4uCiAgICAgICAgICAgICAgICAvKiAwNEE4ICovICAweDU3 LCAweDJDLCAweDFBLCAweDY2LCAweDI1LCAweDhBLCAweEI3LCAweDI2LCAgLy8gVywuZiUuLiYK ICAgICAgICAgICAgICAgIC8qIDA0QjAgKi8gIDB4MEEsIDB4RTMsIDB4MkIsIDB4MTYsIDB4MzAs IDB4RjksIDB4RkYsIDB4NUYsICAvLyAuLisuMC4uXwogICAgICAgICAgICAgICAgLyogMDRCOCAq LyAgMHhCMSwgMHg4MCwgMHhEOSwgMHg0MSwgMHgxNCwgMHgzNywgMHg2QSwgMHhCOCwgIC8vIC4u LkEuN2ouCiAgICAgICAgICAgICAgICAvKiAwNEMwICovICAweDE3LCAweDI3LCAweERGLCAweDdB LCAweDNDLCAweERGLCAweDg4LCAweEJFLCAgLy8gLicuejwuLi4KICAgICAgICAgICAgICAgIC8q IDA0QzggKi8gIDB4QzMsIDB4NjAsIDB4NEUsIDB4NTgsIDB4MzAsIDB4NkUsIDB4NTgsIDB4RjAs ICAvLyAuYE5YMG5YLgogICAgICAgICAgICAgICAgLyogMDREMCAqLyAgMHg4NywgMHhGNCwgMHgz MCwgMHhFQywgMHg5MywgMHhDNCwgMHgzQiwgMHg5NiwgIC8vIC4uMC4uLjsuCiAgICAgICAgICAg ICAgICAvKiAwNEQ4ICovICAweDhGLCAweDU2LCAweDA2LCAweDc5LCAweDAzLCAweDdFLCAweEIy LCAweDdBLCAgLy8gLlYueS5+LnoKICAgICAgICAgICAgICAgIC8qIDA0RTAgKi8gIDB4QjAsIDB4 OEEsIDB4NjIsIDB4ODQsIDB4ODAsIDB4QzcsIDB4RjMsIDB4MkUsICAvLyAuLmIuLi4uLgogICAg ICAgICAgICAgICAgLyogMDRFOCAqLyAgMHhFQywgMHhBMywgMHhENSwgMHg5QiwgMHg5NiwgMHg1 MSwgMHg2MiwgMHhDNywgIC8vIC4uLi4uUWIuCiAgICAgICAgICAgICAgICAvKiAwNEYwICovICAw eEYyLCAweDg1LCAweEVBLCAweDU5LCAweENCLCAweEQ3LCAweDJDLCAweDQzLCAgLy8gLi4uWS4u LEMKICAgICAgICAgICAgICAgIC8qIDA0RjggKi8gIDB4QzQsIDB4N0QsIDB4MjAsIDB4RjYsIDB4 MEQsIDB4MEIsIDB4QjAsIDB4RkQsICAvLyAufSAuLi4uLgogICAgICAgICAgICAgICAgLyogMDUw MCAqLyAgMHhGRiwgMHhCRiwgMHg2MSwgMHgwMSwgMHg4RSwgMHgyRSwgMHgwRSwgMHhGQywgIC8v IC4uYS4uLi4uCiAgICAgICAgICAgICAgICAvKiAwNTA4ICovICAweEUwLCAweDgwLCAweEJELCAw eDYxLCAweDAxLCAweDNFLCAweDY3LCAweDBBLCAgLy8gLi4uYS4+Zy4KICAgICAgICAgICAgICAg IC8qIDA1MTAgKi8gIDB4OUUsIDB4MUIsIDB4MTYsIDB4QjAsIDB4RjksIDB4RkYsIDB4REYsIDB4 QjAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgLyogMDUxOCAqLyAgMHgwMCwgMHhGRSwg MHhGRiwgMHhGRiwgMHg2RiwgMHg1OCwgMHhDMCwgMHhFMSwgIC8vIC4uLi5vWC4uCiAgICAgICAg ICAgICAgICAvKiAwNTIwICovICAweDc2LCAweDg1LCAweEJELCAweDY1LCAweDYxLCAweDZGLCAw eDJGLCAweDY0LCAgLy8gdi4uZWFvL2QKICAgICAgICAgICAgICAgIC8qIDA1MjggKi8gIDB4MTUs IDB4MzQsIDB4RDQsIDB4NEEsIDB4MTQsIDB4RkMsIDB4N0IsIDB4NjUsICAvLyAuNC5KLi57ZQog ICAgICAgICAgICAgICAgLyogMDUzMCAqLyAgMHgxOCwgMHg3QSwgMHhDMywgMHgwMiwgMHgxQywg MHg4RCwgMHhEQiwgMHhBMywgIC8vIC56Li4uLi4uCiAgICAgICAgICAgICAgICAvKiAwNTM4ICov ICAweDA2LCAweEM3LCAweEQ5LCAweEUwLCAweDQ5LCAweDAyLCAweDczLCAweEFFLCAgLy8gLi4u Lkkucy4KICAgICAgICAgICAgICAgIC8qIDA1NDAgKi8gIDB4QzYsIDB4Q0QsIDB4RTYsIDB4RTAs IDB4MDIsIDB4NDcsIDB4RTgsIDB4MUQsICAvLyAuLi4uLkcuLgogICAgICAgICAgICAgICAgLyog MDU0OCAqLyAgMHg1NCwgMHg3MywgMHg2NywgMHg5NywgMHgxNCwgMHgxOCwgMHhCNywgMHgyQywg IC8vIFRzZy4uLi4sCiAgICAgICAgICAgICAgICAvKiAwNTUwICovICAweEI4LCAweDk3LCAweEFB LCAweDg3LCAweDg2LCAweDI4LCAweDA3LCAweEYxLCAgLy8gLi4uLi4oLi4KICAgICAgICAgICAg ICAgIC8qIDA1NTggKi8gIDB4MkEsIDB4RkMsIDB4NjAsIDB4RjUsIDB4MjgsIDB4NzUsIDB4NjQs IDB4OEYsICAvLyAqLmAuKHVkLgogICAgICAgICAgICAgICAgLyogMDU2MCAqLyAgMHg1NywgMHg0 RiwgMHhDMywgMHgzRSwgMHg2NiwgMHhGOSwgMHg5NiwgMHg2NSwgIC8vIFdPLj5mLi5lCiAgICAg ICAgICAgICAgICAvKiAwNTY4ICovICAweEE4LCAweDA4LCAweDZGLCAweDU5LCAweEVDLCAweDBD LCAweDExLCAweDJGLCAgLy8gLi5vWS4uLi8KICAgICAgICAgICAgICAgIC8qIDA1NzAgKi8gIDB4 NTYsIDB4OTQsIDB4MTAsIDB4RUYsIDB4MTUsIDB4QTEsIDB4N0QsIDB4RTcsICAvLyBWLi4uLi59 LgogICAgICAgICAgICAgICAgLyogMDU3OCAqLyAgMHgzMiwgMHhGOCwgMHhBMywgMHhCMSwgMHg1 MSwgMHg4MywgMHhCRSwgMHgxQywgIC8vIDIuLi5RLi4uCiAgICAgICAgICAgICAgICAvKiAwNTgw ICovICAweEJGLCAweDY1LCAweEMxLCAweEZCLCAweEZGLCAweERGLCAweEIyLCAweEUwLCAgLy8g LmUuLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA1ODggKi8gIDB4OEIsIDB4RkMsIDB4QUIsIDB4 RTgsIDB4NDQsIDB4RTAsIDB4NUIsIDB4MTYsICAvLyAuLi4uRC5bLgogICAgICAgICAgICAgICAg LyogMDU5MCAqLyAgMHhDMCwgMHg4RiwgMHg2MCwgMHgxMCwgMHg3MiwgMHgzMiwgMHg3MCwgMHhG NCwgIC8vIC4uYC5yMnAuCiAgICAgICAgICAgICAgICAvKiAwNTk4ICovICAweDc5LCAweDAxLCAw eDNGLCAweDgwLCAweDg3LCAweDExLCAweDBGLCAweDg5LCAgLy8geS4/Li4uLi4KICAgICAgICAg ICAgICAgIC8qIDA1QTAgKi8gIDB4MDUsIDB4MTgsIDB4MzgsIDB4QkQsIDB4MkYsIDB4RjksIDB4 NEMsIDB4QzEsICAvLyAuLjguLy5MLgogICAgICAgICAgICAgICAgLyogMDVBOCAqLyAgMHgwRiwg MHgxOCwgMHgzRSwgMHg1MywgMHhCMCwgMHhFQiwgMHg0MSwgMHhGNCwgIC8vIC4uPlMuLkEuCiAg ICAgICAgICAgICAgICAvKiAwNUIwICovICAweEM3LCAweDAwLCAweDlGLCAweDRCLCAweDMwLCAw eDgzLCAweDAzLCAweEZGLCAgLy8gLi4uSzAuLi4KICAgICAgICAgICAgICAgIC8qIDA1QjggKi8g IDB4QjUsIDB4RTIsIDB4RDAsIDB4M0QsIDB4OEEsIDB4RDcsIDB4MDcsIDB4MTMsICAvLyAuLi49 Li4uLgogICAgICAgICAgICAgICAgLyogMDVDMCAqLyAgMHg3OCwgMHg3MCwgMHhGQywgMHhGRiwg MHgzRiwgMHgzOCwgMHhCOCwgMHg3NywgIC8vIHhwLi4/OC53CiAgICAgICAgICAgICAgICAvKiAw NUM4ICovICAweDg2LCAweDIzLCAweEYyLCAweDFELCAweEM2LCAweDgzLCAweDAzLCAweERCLCAg Ly8gLiMuLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA1RDAgKi8gIDB4NDEsIDB4MDAsIDB4Mzgs IDB4MEMsIDB4MEUsIDB4MUYsIDB4NkEsIDB4NzAsICAvLyBBLjguLi5qcAogICAgICAgICAgICAg ICAgLyogMDVEOCAqLyAgMHhFOCwgMHhGMSwgMHgxOCwgMHgzOCwgMHhBNCwgMHhDRiwgMHg2Mywg MHhFQywgIC8vIC4uLjguLmMuCiAgICAgICAgICAgICAgICAvKiAwNUUwICovICAweEMyLCAweEYw LCAweDkwLCAweEUzLCAweEExLCAweDgxLCAweDBELCAweEQwLCAgLy8gLi4uLi4uLi4KICAgICAg ICAgICAgICAgIC8qIDA1RTggKi8gIDB4NDMsIDB4MDMsIDB4OTYsIDB4OTMsIDB4NzgsIDB4MEEs IDB4MzksIDB4MzQsICAvLyBDLi4ueC45NAogICAgICAgICAgICAgICAgLyogMDVGMCAqLyAgMHgz MCwgMHg0QiwgMHgxOCwgMHgxQSwgMHg1MCwgMHg4QSwgMHgzNywgMHgzNCwgIC8vIDBLLi5QLjc0 CiAgICAgICAgICAgICAgICAvKiAwNUY4ICovICAweEZBLCAweEZGLCAweDFGLCAweDFBLCAweDFG LCAweDkyLCAweDBGLCAweDBCLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA2MDAg Ki8gIDB4MzEsIDB4OUYsIDB4NzIsIDB4MjIsIDB4QkMsIDB4MkYsIDB4RjgsIDB4MDQsICAvLyAx LnIiLi8uLgogICAgICAgICAgICAgICAgLyogMDYwOCAqLyAgMHhDNSwgMHhEMCwgMHg1RiwgMHg1 MywgMHg3QywgMHhCQiwgMHhGMCwgMHg0RCwgIC8vIC4uX1N8Li5NCiAgICAgICAgICAgICAgICAv KiAwNjEwICovICAweDEwLCAweDM3LCAweDNFLCAweDcwLCAweDVELCAweDNBLCAweDNELCAweDNF LCAgLy8gLjc+cF06PT4KICAgICAgICAgICAgICAgIC8qIDA2MTggKi8gIDB4RTAsIDB4NzMsIDB4 RTQsIDB4RjIsIDB4RjgsIDB4NzAsIDB4NDcsIDB4MjcsICAvLyAucy4uLnBHJwogICAgICAgICAg ICAgICAgLyogMDYyMCAqLyAgMHg4RiwgMHgwRiwgMHg4NiwgMHhDQiwgMHhBQiwgMHgwQywgMHgz OSwgMHg5QSwgIC8vIC4uLi4uLjkuCiAgICAgICAgICAgICAgICAvKiAwNjI4ICovICAweEY4LCAw eDY4LCAweEM1LCAweDg2LCAweDA3LCAweEI2LCAweDlCLCAweDlFLCAgLy8gLmguLi4uLi4KICAg ICAgICAgICAgICAgIC8qIDA2MzAgKi8gIDB4ODcsIDB4MDcsIDB4N0MsIDB4QUUsIDB4OUIsIDB4 NjAsIDB4QkMsIDB4NDIsICAvLyAuLnwuLmAuQgogICAgICAgICAgICAgICAgLyogMDYzOCAqLyAg MHhGMiwgMHg2QiwgMHgwOSwgMHg4QywgMHgxMywgMHgxNCwgMHhGRSwgMHhCQSwgIC8vIC5rLi4u Li4uCiAgICAgICAgICAgICAgICAvKiAwNjQwICovICAweDA5LCAweERFLCAweEZGLCAweEZGLCAw eDc1LCAweDEzLCAweDc4LCAweDhFLCAgLy8gLi4uLnUueC4KICAgICAgICAgICAgICAgIC8qIDA2 NDggKi8gIDB4ODIsIDB4NkIsIDB4QkQsIDB4NjQsIDB4RDMsIDB4MjAsIDB4QUYsIDB4MUMsICAv LyAuay5kLiAuLgogICAgICAgICAgICAgICAgLyogMDY1MCAqLyAgMHhDNSwgMHg3QSwgMHgxMSwg MHg1MCwgMHgxOCwgMHg5RiwgMHhEOSwgMHgwMCwgIC8vIC56LlAuLi4uCiAgICAgICAgICAgICAg ICAvKiAwNjU4ICovICAweDQ3LCAweDYzLCAweDdELCAweDY2LCAweDAzLCAweENCLCAweEJELCAw eDgwLCAgLy8gR2N9Zi4uLi4KICAgICAgICAgICAgICAgIC8qIDA2NjAgKi8gIDB4REQsIDB4RDgs IDB4RTAsIDB4OUUsIDB4RDYsIDB4NjAsIDB4REYsIDB4MUQsICAvLyAuLi4uLmAuLgogICAgICAg ICAgICAgICAgLyogMDY2OCAqLyAgMHgxRSwgMHhDRSwgMHgxRSwgMHhEMywgMHgxRSwgMHhENSwg MHgxRSwgMHhEMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwNjcwICovICAweDdD LCAweEM0LCAweDhFLCAweEYxLCAweDk2LCAweDE2LCAweDI0LCAweDRFLCAgLy8gfC4uLi4uJE4K ICAgICAgICAgICAgICAgIC8qIDA2NzggKi8gIDB4ODQsIDB4RDcsIDB4ODEsIDB4QTcsIDB4MzUs IDB4NUYsIDB4MzIsIDB4RTIsICAvLyAuLi4uNV8yLgogICAgICAgICAgICAgICAgLyogMDY4MCAq LyAgMHgwNSwgMHg3QSwgMHg1QSwgMHgzMywgMHg0NiwgMHg5QywgMHg5NywgMHgzNiwgIC8vIC56 WjNGLi42CiAgICAgICAgICAgICAgICAvKiAwNjg4ICovICAweDIzLCAweEJFLCAweDUyLCAweDg0 LCAweDc4LCAweDU4LCAweEYzLCAweEM5LCAgLy8gIy5SLnhYLi4KICAgICAgICAgICAgICAgIC8q IDA2OTAgKi8gIDB4Q0QsIDB4NzgsIDB4MEYsIDB4MTMsIDB4RTEsIDB4QzIsIDB4QkMsIDB4QjAs ICAvLyAueC4uLi4uLgogICAgICAgICAgICAgICAgLyogMDY5OCAqLyAgMHgzRCwgMHhBRCwgMHg4 MSwgMHhFMywgMHhGRiwgMHg3RiwgMHg1QSwgMHg4MywgIC8vID0uLi4uLlouCiAgICAgICAgICAg ICAgICAvKiAwNkEwICovICAweDIzLCAweEU3LCAweDhBLCAweDBELCAweEQwLCAweEU0LCAweEEy LCAweDhGLCAgLy8gIy4uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA2QTggKi8gIDB4M0IsIDB4 QTQsIDB4ODAsIDB4RTUsIDB4REEsIDB4QzAsIDB4NkUsIDB4MjksICAvLyA7Li4uLi5uKQogICAg ICAgICAgICAgICAgLyogMDZCMCAqLyAgMHhGMCwgMHgyRSwgMHhEOCwgMHhDMCwgMHhGOSwgMHhG RiwgMHg3RiwgMHg0NCwgIC8vIC4uLi4uLi5ECiAgICAgICAgICAgICAgICAvKiAwNkI4ICovICAw eDAxLCAweDVGLCAweDk2LCAweDBCLCAweDM2LCAweENELCAweDcxLCAweEMxLCAgLy8gLl8uLjYu cS4KICAgICAgICAgICAgICAgIC8qIDA2QzAgKi8gIDB4NDYsIDB4NzEsIDB4NTgsIDB4MEQsIDB4 OTAsIDB4RTYsIDB4MDksIDB4RkYsICAvLyBGcVguLi4uLgogICAgICAgICAgICAgICAgLyogMDZD OCAqLyAgMHg3QSwgMHgwRCwgMHhGRSwgMHg0OSwgMHhGOCwgMHg3QSwgMHgwRCwgMHhEOCwgIC8v IHouLkkuei4uCiAgICAgICAgICAgICAgICAvKiAwNkQwICovICAweEJFLCAweEM1LCAweEUyLCAw eEFFLCAweEQ3LCAweEMwLCAweEVBLCAweEZGLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAg IC8qIDA2RDggKi8gIDB4N0YsIDB4QkQsIDB4MDYsIDB4OTYsIDB4ODIsIDB4NDcsIDB4NEEsIDB4 RUYsICAvLyAuLi4uLkdKLgogICAgICAgICAgICAgICAgLyogMDZFMCAqLyAgMHhENCwgMHhFMCwg MHhCQSwgMHg2OSwgMHhFMywgMHg0MSwgMHhERiwgMHhCNCwgIC8vIC4uLmkuQS4uCiAgICAgICAg ICAgICAgICAvKiAwNkU4ICovICAweDYxLCAweDBBLCAweEJFLCAweDQ1LCAweEQxLCAweDI4LCAw eEU0LCAweDhBLCAgLy8gYS4uRS4oLi4KICAgICAgICAgICAgICAgIC8qIDA2RjAgKi8gIDB4QjYs IDB4MTAsIDB4MEEsIDB4RTMsIDB4NUIsIDB4MTQsIDB4RTAsIDB4MDgsICAvLyAuLi4uWy4uLgog ICAgICAgICAgICAgICAgLyogMDZGOCAqLyAgMHhGQiwgMHgyRCwgMHgwQSwgMHgyQywgMHgxNywg MHhBNywgMHhCNywgMHgyOCwgIC8vIC4tLiwuLi4oCiAgICAgICAgICAgICAgICAvKiAwNzAwICov ICAweEZDLCAweDBDLCAweDNDLCAweDY4LCAweERGLCAweDc1LCAweDE4LCAweEE2LCAgLy8gLi48 aC51Li4KICAgICAgICAgICAgICAgIC8qIDA3MDggKi8gIDB4RUYsIDB4RDAsIDB4RjAsIDB4NEYs IDB4NEQsIDB4Q0YsIDB4NEQsIDB4MEYsICAvLyAuLi5PTS5NLgogICAgICAgICAgICAgICAgLyog MDcxMCAqLyAgMHg0RSwgMHgwRiwgMHhDRCwgMHgzRSwgMHg0OCwgMHhGOSwgMHg3MCwgMHhGMCwg IC8vIE4uLj5ILnAuCiAgICAgICAgICAgICAgICAvKiAwNzE4ICovICAweEZDLCAweEY0LCAweEZG LCAweDhGLCAweEYxLCAweDVFLCAweEU3LCAweDlCLCAgLy8gLi4uLi5eLi4KICAgICAgICAgICAg ICAgIC8qIDA3MjAgKi8gIDB4RDQsIDB4NkIsIDB4OTQsIDB4MkYsIDB4MzAsIDB4QzcsIDB4MTAs IDB4MzEsICAvLyAuay4vMC4uMQogICAgICAgICAgICAgICAgLyogMDcyOCAqLyAgMHhDQSwgMHhD QiwgMHhCNCwgMHgyMSwgMHhFMiwgMHhGOSwgMHhENCwgMHhFNCwgIC8vIC4uLiEuLi4uCiAgICAg ICAgICAgICAgICAvKiAwNzMwICovICAweEIzLCAweDQyLCAweERDLCAweDEwLCAweDBGLCAweEQx LCAweDQ2LCAweDg4LCAgLy8gLkIuLi4uRi4KICAgICAgICAgICAgICAgIC8qIDA3MzggKi8gIDB4 RkEsIDB4M0MsIDB4RUQsIDB4MDksIDB4QkQsIDB4NDYsIDB4ODEsIDB4NTcsICAvLyAuPC4uLkYu VwogICAgICAgICAgICAgICAgLyogMDc0MCAqLyAgMHhEMCwgMHgzNSwgMHgwQSwgMHhBMCwgMHhD OSwgMHhGRCwgMHgwOCwgMHg3NywgIC8vIC41Li4uLi53CiAgICAgICAgICAgICAgICAvKiAwNzQ4 ICovICAweDhELCAweDAyLCAweENCLCAweEJELCAweDgxLCAweDlELCAweDg3LCAweEY4LCAgLy8g Li4uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA3NTAgKi8gIDB4OTUsIDB4QzgsIDB4RDcsIDB4 MDYsIDB4MTgsIDB4RjcsIDB4MjgsIDB4MzgsICAvLyAuLi4uLi4oOAogICAgICAgICAgICAgICAg LyogMDc1OCAqLyAgMHhGRiwgMHhGRiwgMHg3QiwgMHgxNCwgMHg2MCwgMHgyMywgMHhDQywgMHgz RCwgIC8vIC4uey5gIy49CiAgICAgICAgICAgICAgICAvKiAwNzYwICovICAweDhBLCAweDA2LCAw eEI5LCAweDQ3LCAweEExLCAweDRFLCAweDI2LCAweEJFLCAgLy8gLi4uRy5OJi4KICAgICAgICAg ICAgICAgIC8qIDA3NjggKi8gIDB4RDQsIDB4NzksIDB4QTIsIDB4RTAsIDB4MDgsIDB4N0YsIDB4 OTEsIDB4NDIsICAvLyAueS4uLi4uQgogICAgICAgICAgICAgICAgLyogMDc3MCAqLyAgMHhDNSwg MHgyNiwgMHg1MSwgMHhFOCwgMHhDMywgMHgxMCwgMHgyQSwgMHhFNiwgIC8vIC4mUS4uLiouCiAg ICAgICAgICAgICAgICAvKiAwNzc4ICovICAweDYxLCAweDg0LCAweDgyLCAweDE4LCAweEQwLCAw eDE5LCAweDRFLCAweDE0LCAgLy8gYS4uLi4uTi4KICAgICAgICAgICAgICAgIC8qIDA3ODAgKi8g IDB4NjgsIDB4MTUsIDB4MjcsIDB4MEEsIDB4NzIsIDB4OEIsIDB4RjEsIDB4QTQsICAvLyBoLicu ci4uLgogICAgICAgICAgICAgICAgLyogMDc4OCAqLyAgMHgxRSwgMHhBMywgMHgwMCwgMHg1Riwg MHhDQiwgMHhGNCwgMHg1MCwgMHg3OSwgIC8vIC4uLl8uLlB5CiAgICAgICAgICAgICAgICAvKiAw NzkwICovICAweEU0LCAweEExLCAweDUyLCAweDEwLCAweDBGLCAweEQ1LCAweDcxLCAweDg2LCAg Ly8gLi5SLi4ucS4KICAgICAgICAgICAgICAgIC8qIDA3OTggKi8gIDB4OEEsIDB4OUUsIDB4QTQs IDB4RTcsIDB4OEYsIDB4RjksIDB4RkYsIDB4MUYsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAg ICAgLyogMDdBMCAqLyAgMHgxQywgMHhCMCwgMHgwNywgMHgyOSwgMHg4MCwgMHgxNywgMHgwQSwg MHg2RCwgIC8vIC4uLikuLi5tCiAgICAgICAgICAgICAgICAvKiAwN0E4ICovICAweEZBLCAweEQ0 LCAweDY4LCAweEQ0LCAweEFBLCAweDQxLCAweDk5LCAweDFBLCAgLy8gLi5oLi5BLi4KICAgICAg ICAgICAgICAgIC8qIDA3QjAgKi8gIDB4NjUsIDB4MUEsIDB4RDQsIDB4RUEsIDB4NTMsIDB4QTks IDB4MzEsIDB4NjMsICAvLyBlLi4uUy4xYwogICAgICAgICAgICAgICAgLyogMDdCOCAqLyAgMHhF NywgMHg1MCwgMHg0QiwgMHgzQiwgMHg0QiwgMHg1MCwgMHgzMSwgMHg4QiwgIC8vIC5QSztLUDEu CiAgICAgICAgICAgICAgICAvKiAwN0MwICovICAweEQxLCAweDY4LCAweDFDLCAweDA1LCAweDg0 LCAweENBLCAweEZFLCAweDlCLCAgLy8gLmguLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA3Qzgg Ki8gIDB4MEIsIDB4QzQsIDB4MjEsIDB4OUYsIDB4M0EsIDB4MDIsIDB4NzQsIDB4QjAsICAvLyAu LiEuOi50LgogICAgICAgICAgICAgICAgLyogMDdEMCAqLyAgMHgxNywgMHg5NSwgMHg4MCwgMHgy QywgMHg2QiwgMHg2RCwgMHgwMiwgMHg3MSwgIC8vIC4uLixrbS5xCiAgICAgICAgICAgICAgICAv KiAwN0Q4ICovICAweDdDLCAweDEzLCAweDEwLCAweDhELCAweDgwLCAweDQ4LCAweENCLCAweDYz LCAgLy8gfC4uLi5ILmMKICAgICAgICAgICAgICAgIC8qIDA3RTAgKi8gIDB4NDIsIDB4NDAsIDB4 Q0UsIDB4MEQsIDB4MjIsIDB4MjAsIDB4QUIsIDB4NTgsICAvLyBCQC4uIiAuWAogICAgICAgICAg ICAgICAgLyogMDdFOCAqLyAgMHg5MywgMHg4MCwgMHhBQywgMHhGOSwgMHgwMSwgMHgyMywgMHg3 MCwgMHhFQiwgIC8vIC4uLi4uI3AuCiAgICAgICAgICAgICAgICAvKiAwN0YwICovICAweEQ0LCAw eDAxLCAweEM0LCAweDUyLCAweDgyLCAweEQwLCAweDQ0LCAweDBCLCAgLy8gLi4uUi4uRC4KICAg ICAgICAgICAgICAgIC8qIDA3RjggKi8gIDB4MTcsIDB4QTgsIDB4RTMsIDB4ODEsIDB4NjgsIDB4 MzAsIDB4ODQsIDB4NDYsICAvLyAuLi4uaDAuRgogICAgICAgICAgICAgICAgLyogMDgwMCAqLyAg MHg0MCwgMHgwRSwgMHg0NiwgMHgyMSwgMHgyMCwgMHhDQiwgMHhGOCwgMHg3NCwgIC8vIEAuRiEg Li50CiAgICAgICAgICAgICAgICAvKiAwODA4ICovICAweDBCLCAweERDLCAweDAyLCAweEFDLCAw eDAwLCAweDMxLCAweEY5LCAweDIwLCAgLy8gLi4uLi4xLiAKICAgICAgICAgICAgICAgIC8qIDA4 MTAgKi8gIDB4NTQsIDB4QjAsIDB4MTcsIDB4NTAsIDB4QTYsIDB4MUUsIDB4NDQsIDB4NDAsICAv LyBULi5QLi5EQAogICAgICAgICAgICAgICAgLyogMDgxOCAqLyAgMHg1NiwgMHhCQSwgMHg1Niwg MHgwMSwgMHg1OSwgMHgzNywgMHg4OCwgMHg4MCwgIC8vIFYuVi5ZNy4uCiAgICAgICAgICAgICAg ICAvKiAwODIwICovICAweEZFLCAweEZGLCAweDJGLCAweDgzLCAweDMyLCAweDAzLCAweENFLCAw eDMyLCAgLy8gLi4vLjIuLjIKICAgICAgICAgICAgICAgIC8qIDA4MjggKi8gIDB4QkEsIDB4MDEs IDB4NjIsIDB4MEEsIDB4MUYsIDB4MEEsIDB4MDIsIDB4QjEsICAvLyAuLmIuLi4uLgogICAgICAg ICAgICAgICAgLyogMDgzMCAqLyAgMHgyNiwgMHgzRCwgMHhBMCwgMHg0QywgMHgyMCwgMHg4OCwg MHhBRSwgMHgxQywgIC8vICY9LkwgLi4uCiAgICAgICAgICAgICAgICAvKiAwODM4ICovICAweEM0 LCAweDBGLCAweDEwLCAweDkzLCAweDA2LCAweDIyLCAweDIwLCAweEM3LCAgLy8gLi4uLi4iIC4K ICAgICAgICAgICAgICAgIC8qIDA4NDAgKi8gIDB4MzksIDB4OTgsIDB4MDgsIDB4REMsIDB4NzEs IDB4MTQsIDB4MDEsIDB4NTIsICAvLyA5Li4ucS4uUgogICAgICAgICAgICAgICAgLyogMDg0OCAq LyAgMHg0NywgMHhDMywgMHhBNSwgMHgyMCwgMHg1NCwgMHhGQywgMHhGMywgMHg0NCwgIC8vIEcu LiBULi5ECiAgICAgICAgICAgICAgICAvKiAwODUwICovICAweDIwLCAweDE2LCAweDY0LCAweDA5 LCAweDhDLCAweDgyLCAweEQwLCAweDA4LCAgLy8gIC5kLi4uLi4KICAgICAgICAgICAgICAgIC8q IDA4NTggKi8gIDB4OUEsIDB4NDAsIDB4OTgsIDB4M0MsIDB4NEYsIDB4MjAsIDB4MkMsIDB4RDQs ICAvLyAuQC48TyAsLgogICAgICAgICAgICAgICAgLyogMDg2MCAqLyAgMHg5RiwgMHg1QywgMHhB NywgMHgxNSwgMHhBMiwgMHg2QSwgMHg4OCwgMHhENCwgIC8vIC5cLi4uai4uCiAgICAgICAgICAg ICAgICAvKiAwODY4ICovICAweDE1LCAweDA4LCAweDBCLCAweEZDLCAweDMwLCAweEQwLCAweDYw LCAweDlDLCAgLy8gLi4uLjAuYC4KICAgICAgICAgICAgICAgIC8qIDA4NzAgKi8gIDB4MUUsIDB4 NDQsIDB4NDAsIDB4NEUsIDB4RkEsIDB4QTcsIDB4MEEsIDB4NDQsICAvLyAuREBOLi4uRAogICAg ICAgICAgICAgICAgLyogMDg3OCAqLyAgMHg3MiwgMHg4MywgMHgwOCwgMHhDOCwgMHhGOSwgMHg5 RiwgMHgyMiwgMHgwMiwgIC8vIHIuLi4uLiIuCiAgICAgICAgICAgICAgICAvKiAwODgwICovICAw eDc3LCAweEVBLCAweEQ3LCAweDg0LCAweDg2LCAweDRGLCAweEJFLCAweDU4LCAgLy8gdy4uLi5P LlgKICAgICAgICAgICAgICAgIC8qIDA4ODggKi8gIDB4NDEsIDB4ODgsIDB4QjgsIDB4ODcsIDB4 NTUsIDB4NTAsIDB4QTIsIDB4MTQsICAvLyBBLi4uVVAuLgogICAgICAgICAgICAgICAgLyogMDg5 MCAqLyAgMHg0NCwgMHg0MCwgMHg1NiwgMHhGNiwgMHhCNCwgMHgxMiwgMHg5MCwgMHg3NSwgIC8v IERAVi4uLi51CiAgICAgICAgICAgICAgICAvKiAwODk4ICovICAweDgyLCAweDA4LCAweEM4LCAw eEZGLCAweDdGICAgICAgICAgICAgICAgICAgICAgLy8gLi4uLi4KICAgICAgICAgICAgfSkKICAg ICAgICB9CgogICAgICAgIERldmljZSAoV01JMikKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUg KF9ISUQsIEVpc2FJZCAoIlBOUDBDMTQiKSAvKiBXaW5kb3dzIE1hbmFnZW1lbnQgSW5zdHJ1bWVu dGF0aW9uIERldmljZSAqLykgIC8vIF9ISUQ6IEhhcmR3YXJlIElECiAgICAgICAgICAgIE5hbWUg KF9VSUQsIDB4MDIpICAvLyBfVUlEOiBVbmlxdWUgSUQKICAgICAgICAgICAgTmFtZSAoX1dERywg QnVmZmVyICgweDY0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAvKiAwMDAwICovICAw eEYxLCAweDI0LCAweEI0LCAweEZDLCAweDVBLCAweDA3LCAweDBFLCAweDRFLCAgLy8gLiQuLlou Lk4KICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gIDB4QkYsIDB4QzQsIDB4NjIsIDB4RjMsIDB4 RTcsIDB4MTcsIDB4NzEsIDB4RkEsICAvLyAuLmIuLi5xLgogICAgICAgICAgICAgICAgLyogMDAx MCAqLyAgMHg0MSwgMHgzNywgMHgwMSwgMHgwMSwgMHhFMywgMHg1RSwgMHhCRSwgMHhFMiwgIC8v IEE3Li4uXi4uCiAgICAgICAgICAgICAgICAvKiAwMDE4ICovICAweERBLCAweDQyLCAweERCLCAw eDQ5LCAweDgzLCAweDc4LCAweDFGLCAweDUyLCAgLy8gLkIuSS54LlIKICAgICAgICAgICAgICAg IC8qIDAwMjAgKi8gIDB4NDcsIDB4MzgsIDB4ODIsIDB4MDIsIDB4NDEsIDB4MzgsIDB4MDEsIDB4 MDIsICAvLyBHOC4uQTguLgogICAgICAgICAgICAgICAgLyogMDAyOCAqLyAgMHg5QSwgMHgwMSwg MHgzMCwgMHg3NCwgMHhFOSwgMHhEQywgMHg0OCwgMHg0NSwgIC8vIC4uMHQuLkhFCiAgICAgICAg ICAgICAgICAvKiAwMDMwICovICAweEJBLCAweEIwLCAweDlGLCAweERFLCAweDA5LCAweDM1LCAw eENBLCAweEZGLCAgLy8gLi4uLi41Li4KICAgICAgICAgICAgICAgIC8qIDAwMzggKi8gIDB4NDEs IDB4MzksIDB4MEEsIDB4MDUsIDB4MDMsIDB4NzAsIDB4RjQsIDB4N0YsICAvLyBBOS4uLnAuLgog ICAgICAgICAgICAgICAgLyogMDA0MCAqLyAgMHg2QywgMHgzQiwgMHg1RSwgMHg0RSwgMHhBMiwg MHgyNywgMHhFOSwgMHg3OSwgIC8vIGw7Xk4uJy55CiAgICAgICAgICAgICAgICAvKiAwMDQ4ICov ICAweDgyLCAweDRBLCAweDg1LCAweEQxLCAweDQxLCAweDQxLCAweDAxLCAweDA2LCAgLy8gLkou LkFBLi4KICAgICAgICAgICAgICAgIC8qIDAwNTAgKi8gIDB4MjEsIDB4MTIsIDB4OTAsIDB4MDUs IDB4NjYsIDB4RDUsIDB4RDEsIDB4MTEsICAvLyAhLi4uZi4uLgogICAgICAgICAgICAgICAgLyog MDA1OCAqLyAgMHhCMiwgMHhGMCwgMHgwMCwgMHhBMCwgMHhDOSwgMHgwNiwgMHgyOSwgMHgxMCwg IC8vIC4uLi4uLikuCiAgICAgICAgICAgICAgICAvKiAwMDYwICovICAweDQyLCAweDQyLCAweDAx LCAweDAwICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQkIuLgogICAgICAgICAgICB9KQog ICAgICAgICAgICBOYW1lIChQUkVMLCBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw ICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgfSkKICAgICAgICAgICAgTWV0aG9kIChXUUE3LCAx LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBBY3F1aXJlIChe XldNSTEuTVdNSSwgMHhGRkZGKQogICAgICAgICAgICAgICAgV01JUyAoMHgwNywgMHgwMCkKICAg ICAgICAgICAgICAgIFBSRUwgWzB4MDBdID0gV0xTMCAvKiBcV0xTMCAqLwogICAgICAgICAgICAg ICAgUFJFTCBbMHgwMV0gPSBXTFMxIC8qIFxXTFMxICovCiAgICAgICAgICAgICAgICBQUkVMIFsw eDAyXSA9IFdMUzIgLyogXFdMUzIgKi8KICAgICAgICAgICAgICAgIFBSRUwgWzB4MDNdID0gV0xT MyAvKiBcV0xTMyAqLwogICAgICAgICAgICAgICAgUFJFTCBbMHgwNF0gPSBXTFM0IC8qIFxXTFM0 ICovCiAgICAgICAgICAgICAgICBQUkVMIFsweDA1XSA9IFdMUzUgLyogXFdMUzUgKi8KICAgICAg ICAgICAgICAgIFBSRUwgWzB4MDZdID0gV0xTNiAvKiBcV0xTNiAqLwogICAgICAgICAgICAgICAg UFJFTCBbMHgwN10gPSBXTFM3IC8qIFxXTFM3ICovCiAgICAgICAgICAgICAgICBSZWxlYXNlIChe XldNSTEuTVdNSSkKICAgICAgICAgICAgICAgIFJldHVybiAoUFJFTCkgLyogXF9TQl8uV01JMi5Q UkVMICovCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoV01BOCwgMywgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChB cmcyLCAweDAwLCBQUkUwKQogICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcyLCAw eDAxLCBQUkUxKQogICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcyLCAweDAyLCBQ UkUyKQogICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcyLCAweDAzLCBQUkUzKQog ICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcyLCAweDA0LCBQUkU0KQogICAgICAg ICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcyLCAweDA1LCBQUkU1KQogICAgICAgICAgICAg ICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcyLCAweDA2LCBQUkU2KQogICAgICAgICAgICAgICAgQ3Jl YXRlQnl0ZUZpZWxkIChBcmcyLCAweDA3LCBQUkU3KQogICAgICAgICAgICAgICAgQWNxdWlyZSAo Xl5XTUkxLk1XTUksIDB4RkZGRikKICAgICAgICAgICAgICAgIFdMUzAgPSBQUkUwIC8qIFxfU0Jf LldNSTIuV01BOC5QUkUwICovCiAgICAgICAgICAgICAgICBXTFMxID0gUFJFMSAvKiBcX1NCXy5X TUkyLldNQTguUFJFMSAqLwogICAgICAgICAgICAgICAgV0xTMiA9IFBSRTIgLyogXF9TQl8uV01J Mi5XTUE4LlBSRTIgKi8KICAgICAgICAgICAgICAgIFdMUzMgPSBQUkUzIC8qIFxfU0JfLldNSTIu V01BOC5QUkUzICovCiAgICAgICAgICAgICAgICBXTFM0ID0gUFJFNCAvKiBcX1NCXy5XTUkyLldN QTguUFJFNCAqLwogICAgICAgICAgICAgICAgV0xTNSA9IFBSRTUgLyogXF9TQl8uV01JMi5XTUE4 LlBSRTUgKi8KICAgICAgICAgICAgICAgIFdMUzYgPSBQUkU2IC8qIFxfU0JfLldNSTIuV01BOC5Q UkU2ICovCiAgICAgICAgICAgICAgICBXTFM3ID0gUFJFNyAvKiBcX1NCXy5XTUkyLldNQTguUFJF NyAqLwogICAgICAgICAgICAgICAgV01JUyAoMHgwOCwgMHgwMCkKICAgICAgICAgICAgICAgIFJl bGVhc2UgKF5eV01JMS5NV01JKQogICAgICAgICAgICB9CgogICAgICAgICAgICBOYW1lIChJVEVN LCBQYWNrYWdlICgweDA5KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgICJJbmhpYml0RW50ZXJpbmdUaGlua1BhZFNldHVwIgogICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAgICAiTVRNU2VyaWFs Q29uY2F0ZW5hdGlvbiIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2th Z2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAg ICAgICAgICAgICAgICAgICAgIlN3YXBQcm9kdWN0TmFtZSIKICAgICAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgIkNvbXB1dHJhY2VNc2dEaXNh YmxlIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAg ICAgICAgICAiQ3B1RGVidWdFbmFibGUiCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAg ICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgICAgICJQYXNzd29yZEFmdGVyQm9vdERldmljZUxpc3Qi CiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAg ICAgICJTcGVjaWFsQ2hhckZvclBhc3N3b3JkIgogICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAiU3VwcG9ydFVFRklMZWdhY3lCb290V01J IgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwMikKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAg ICAgICAiQ29uZmlybVRwbUZ3VXBkYXRlIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9 KQogICAgICAgICAgICBOYW1lIChWU0VMLCBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICJEaXNhYmxlIiwgCiAgICAgICAgICAgICAgICAgICAgIkVuYWJsZSIKICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgIk9mZiIsIAogICAgICAgICAgICAgICAgICAgICJP biIKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIkRpc2FibGUiLCAKICAgICAgICAg ICAgICAgICAgICAiNDA5IiwgCiAgICAgICAgICAgICAgICAgICAgIjQxMSIsIAogICAgICAgICAg ICAgICAgICAgICI0MTIiLCAKICAgICAgICAgICAgICAgICAgICAiODA5IgogICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNikKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAiRGlzYWJsZSIsIAogICAgICAgICAgICAgICAgICAgICJFbmFi bGUiLCAKICAgICAgICAgICAgICAgICAgICAiRGVmYXVsdCIsIAogICAgICAgICAgICAgICAgICAg ICJNVE1TTiIsIAogICAgICAgICAgICAgICAgICAgICIxU01UTVNOIiwgCiAgICAgICAgICAgICAg ICAgICAgIk1UU04iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgICAg IE1ldGhvZCAoV1FBOSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgQWNxdWlyZSAoXl5XTUkxLk1XTUksIDB4RkZGRikKICAgICAgICAgICAgICAgIElmICgo V01JUyAoMHgwOSwgQXJnMCkgIT0gMHgwMCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgUmVsZWFzZSAoXl5XTUkxLk1XTUkpCiAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgiIikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBMb2NhbDAgPSBEZXJlZk9m IChJVEVNIFtXSVRNXSkKICAgICAgICAgICAgICAgIExvY2FsMSA9IERlcmVmT2YgKExvY2FsMCBb MHgwMF0pCiAgICAgICAgICAgICAgICBMb2NhbDIgPSBEZXJlZk9mIChMb2NhbDAgWzB4MDFdKQog ICAgICAgICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsMiwgIiwiLCBMb2NhbDYpCiAgICAgICAg ICAgICAgICBMb2NhbDMgPSBEZXJlZk9mIChWU0VMIFtMb2NhbDFdKQogICAgICAgICAgICAgICAg Q29uY2F0ZW5hdGUgKExvY2FsNiwgRGVyZWZPZiAoTG9jYWwzIFtXU0VMXSksIExvY2FsNykKICAg ICAgICAgICAgICAgIFJlbGVhc2UgKF5eV01JMS5NV01JKQogICAgICAgICAgICAgICAgUmV0dXJu IChMb2NhbDcpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoV01BQSwgMywgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5XTUkx Lk1XTUksIDB4RkZGRikKICAgICAgICAgICAgICAgIElmICgoU2l6ZU9mIChBcmcyKSA9PSAweDAw KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDAyCiAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgTG9jYWwwID0gXl5XTUkxLkNBUkcgKEFyZzIpCiAgICAgICAgICAg ICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBeXldNSTEuV1NFVCAoSVRFTSwgVlNFTCkKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMCkpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IFdNSVMgKDB4 MEEsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmVsZWFzZSAoXl5XTUkxLk1XTUkp CiAgICAgICAgICAgICAgICBSZXR1cm4gKERlcmVmT2YgKF5eV01JMS5SRVROIFtMb2NhbDBdKSkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgTmFtZSAoV1FCQiwgQnVmZmVyICgweDA1MzgpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIC8qIDAwMDAgKi8gIDB4NDYsIDB4NEYsIDB4NEQs IDB4NDIsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyBGT01CLi4uLgogICAgICAgICAgICAg ICAgLyogMDAwOCAqLyAgMHgyOCwgMHgwNSwgMHgwMCwgMHgwMCwgMHhBRSwgMHgxOCwgMHgwMCwg MHgwMCwgIC8vICguLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMDEwICovICAweDQ0LCAweDUz LCAweDAwLCAweDAxLCAweDFBLCAweDdELCAweERBLCAweDU0LCAgLy8gRFMuLi59LlQKICAgICAg ICAgICAgICAgIC8qIDAwMTggKi8gIDB4OTgsIDB4REUsIDB4OEIsIDB4MDAsIDB4MDEsIDB4MDYs IDB4MTgsIDB4NDIsICAvLyAuLi4uLi4uQgogICAgICAgICAgICAgICAgLyogMDAyMCAqLyAgMHgx MCwgMHgwRCwgMHgxMCwgMHg4QSwgMHgwRCwgMHgyMSwgMHgwMiwgMHgwQiwgIC8vIC4uLi4uIS4u CiAgICAgICAgICAgICAgICAvKiAwMDI4ICovICAweDgzLCAweDUwLCAweDUwLCAweDE4LCAweDE0 LCAweEEwLCAweDQ1LCAweDQxLCAgLy8gLlBQLi4uRUEKICAgICAgICAgICAgICAgIC8qIDAwMzAg Ki8gIDB4QzgsIDB4MDUsIDB4MTQsIDB4OTUsIDB4MDIsIDB4MjEsIDB4QzMsIDB4MDIsICAvLyAu Li4uLiEuLgogICAgICAgICAgICAgICAgLyogMDAzOCAqLyAgMHgxNCwgMHgwQiwgMHg3MCwgMHgy RSwgMHg0MCwgMHhCQSwgMHgwMCwgMHhFNSwgIC8vIC4ucC5ALi4uCiAgICAgICAgICAgICAgICAv KiAwMDQwICovICAweDI4LCAweDcyLCAweDBDLCAweDIyLCAweDAyLCAweEY3LCAweEVGLCAweDBG LCAgLy8gKHIuIi4uLi4KICAgICAgICAgICAgICAgIC8qIDAwNDggKi8gIDB4MzEsIDB4MTAsIDB4 ODgsIDB4MTQsIDB4NDAsIDB4NDgsIDB4MjgsIDB4ODQsICAvLyAxLi4uQEgoLgogICAgICAgICAg ICAgICAgLyogMDA1MCAqLyAgMHg0NCwgMHgwMCwgMHg1MywgMHgyMSwgMHg3MCwgMHg4NCwgMHhB MCwgMHg1RiwgIC8vIEQuUyFwLi5fCiAgICAgICAgICAgICAgICAvKiAwMDU4ICovICAweDAxLCAw eDA4LCAweDFELCAweDBBLCAweDkwLCAweDI5LCAweEMwLCAweEEwLCAgLy8gLi4uLi4pLi4KICAg ICAgICAgICAgICAgIC8qIDAwNjAgKi8gIDB4MDAsIDB4QTcsIDB4MDgsIDB4MjIsIDB4ODgsIDB4 RDIsIDB4QjIsIDB4MDAsICAvLyAuLi4iLi4uLgogICAgICAgICAgICAgICAgLyogMDA2OCAqLyAg MHhERCwgMHgwMiwgMHg3QywgMHgwQiwgMHhEMCwgMHgwRSwgMHgyMSwgMHhCNCwgIC8vIC4ufC4u LiEuCiAgICAgICAgICAgICAgICAvKiAwMDcwICovICAweEM4LCAweDk1LCAweDBBLCAweEIwLCAw eDA4LCAweDI1LCAweDlGLCAweDgwLCAgLy8gLi4uLi4lLi4KICAgICAgICAgICAgICAgIC8qIDAw NzggKi8gIDB4OTIsIDB4ODgsIDB4MjIsIDB4RDksIDB4NzgsIDB4QjIsIDB4OEQsIDB4NDgsICAv LyAuLiIueC4uSAogICAgICAgICAgICAgICAgLyogMDA4MCAqLyAgMHhFNiwgMHg2MSwgMHg5MSwg MHg4MywgMHg0MCwgMHg4OSwgMHgxOSwgMHgwNCwgIC8vIC5hLi5ALi4uCiAgICAgICAgICAgICAg ICAvKiAwMDg4ICovICAweDRBLCAweDI3LCAweEFFLCAweDZDLCAweEUyLCAweDZBLCAweDEwLCAw eDA3LCAgLy8gSicubC5qLi4KICAgICAgICAgICAgICAgIC8qIDAwOTAgKi8gIDB4MTAsIDB4RTUs IDB4M0MsIDB4QTIsIDB4MjQsIDB4MzgsIDB4QUEsIDB4ODMsICAvLyAuLjwuJDguLgogICAgICAg ICAgICAgICAgLyogMDA5OCAqLyAgMHg4OCwgMHgxMCwgMHhCQiwgMHg1QywgMHgwMSwgMHg5Miwg MHgwNywgMHgyMCwgIC8vIC4uLlwuLi4gCiAgICAgICAgICAgICAgICAvKiAwMEEwICovICAweENE LCAweDEzLCAweDkzLCAweEY1LCAweDM5LCAweDY4LCAweDY0LCAweDZDLCAgLy8gLi4uLjloZGwK ICAgICAgICAgICAgICAgIC8qIDAwQTggKi8gIDB4MDQsIDB4M0MsIDB4OTgsIDB4MDQsIDB4MTAs IDB4MTYsIDB4NjUsIDB4OUQsICAvLyAuPC4uLi5lLgogICAgICAgICAgICAgICAgLyogMDBCMCAq LyAgMHg4QSwgMHgwMiwgMHg4MywgMHhGMiwgMHgwMCwgMHgyMiwgMHgzOSwgMHg2MywgIC8vIC4u Li4uIjljCiAgICAgICAgICAgICAgICAvKiAwMEI4ICovICAweDQ1LCAweDAxLCAweERCLCAweEVC LCAweDQ0LCAweDY0LCAweDcyLCAweEEwLCAgLy8gRS4uLkRkci4KICAgICAgICAgICAgICAgIC8q IDAwQzAgKi8gIDB4NTQsIDB4MTIsIDB4MUMsIDB4NkEsIDB4OTgsIDB4OUUsIDB4NUEsIDB4RjMs ICAvLyBULi5qLi5aLgogICAgICAgICAgICAgICAgLyogMDBDOCAqLyAgMHgxMywgMHhEMywgMHg0 NCwgMHg0RSwgMHhBRCwgMHhFOSwgMHgyMSwgMHgwQiwgIC8vIC4uRE4uLiEuCiAgICAgICAgICAg ICAgICAvKiAwMEQwICovICAweDkyLCAweDQ5LCAweDFCLCAweDBBLCAweDZBLCAweEVDLCAweDlF LCAweEQ2LCAgLy8gLkkuLmouLi4KICAgICAgICAgICAgICAgIC8qIDAwRDggKi8gIDB4NDksIDB4 NzksIDB4QTYsIDB4MTEsIDB4MEYsIDB4Q0EsIDB4MzAsIDB4MDksICAvLyBJeS4uLi4wLgogICAg ICAgICAgICAgICAgLyogMDBFMCAqLyAgMHgzQywgMHgwQSwgMHg4NiwgMHhDNiwgMHgwOSwgMHhD QSwgMHg4MiwgMHg5MCwgIC8vIDwuLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMEU4ICovICAw eDgzLCAweDgxLCAweEEyLCAweDAwLCAweDRGLCAweEMyLCAweDczLCAweDJDLCAgLy8gLi4uLk8u cywKICAgICAgICAgICAgICAgIC8qIDAwRjAgKi8gIDB4NUUsIDB4ODAsIDB4RjAsIDB4MTEsIDB4 OTMsIDB4QjMsIDB4NDAsIDB4OEMsICAvLyBeLi4uLi5ALgogICAgICAgICAgICAgICAgLyogMDBG OCAqLyAgMHgwNCwgMHgzRSwgMHgxMywgMHg3OCwgMHhFNCwgMHhDNywgMHg4QywgMHgxRCwgIC8v IC4+LnguLi4uCiAgICAgICAgICAgICAgICAvKiAwMTAwICovICAweDUxLCAweEI4LCAweDgwLCAw eEU3LCAweDczLCAweDBDLCAweDkxLCAweEUzLCAgLy8gUS4uLnMuLi4KICAgICAgICAgICAgICAg IC8qIDAxMDggKi8gIDB4MUUsIDB4NkEsIDB4OEMsIDB4QTMsIDB4ODgsIDB4N0MsIDB4MzgsIDB4 MEMsICAvLyAuai4uLnw4LgogICAgICAgICAgICAgICAgLyogMDExMCAqLyAgMHhFRCwgMHg3NCwg MHhFMywgMHgxQywgMHhEOCwgMHhFOSwgMHgxNCwgMHgwNCwgIC8vIC50Li4uLi4uCiAgICAgICAg ICAgICAgICAvKiAwMTE4ICovICAweDJFLCAweDkwLCAweDYwLCAweDNELCAweENGLCAweDU5LCAw eDIwLCAweEZGLCAgLy8gLi5gPS5ZIC4KICAgICAgICAgICAgICAgIC8qIDAxMjAgKi8gIDB4RkYs IDB4MTgsIDB4MDcsIDB4QzEsIDB4RjAsIDB4OEUsIDB4MDEsIDB4MjMsICAvLyAuLi4uLi4uIwog ICAgICAgICAgICAgICAgLyogMDEyOCAqLyAgMHgwMywgMHg0MiwgMHgxRSwgMHgwNSwgMHg1OCwg MHgxRCwgMHg5NiwgMHgyNiwgIC8vIC5CLi5YLi4mCiAgICAgICAgICAgICAgICAvKiAwMTMwICov ICAweDkxLCAweEMwLCAweEVFLCAweDA1LCAweDY4LCAweEJDLCAweDA0LCAweDQ4LCAgLy8gLi4u LmguLkgKICAgICAgICAgICAgICAgIC8qIDAxMzggKi8gIDB4RTEsIDB4MjAsIDB4QTUsIDB4MEMs IDB4NDIsIDB4MzAsIDB4OEQsIDB4MDksICAvLyAuIC4uQjAuLgogICAgICAgICAgICAgICAgLyog MDE0MCAqLyAgMHhCMCwgMHg3NSwgMHg2OCwgMHg5MCwgMHgzNywgMHgwMSwgMHhENiwgMHhBRSwg IC8vIC51aC43Li4uCiAgICAgICAgICAgICAgICAvKiAwMTQ4ICovICAweDAyLCAweDQyLCAweDg5 LCAweDc0LCAweDAyLCAweDcxLCAweDQyLCAweDQ0LCAgLy8gLkIudC5xQkQKICAgICAgICAgICAg ICAgIC8qIDAxNTAgKi8gIDB4ODksIDB4MTgsIDB4RDQsIDB4NDAsIDB4NTEsIDB4NkEsIDB4NDMs IDB4MTUsICAvLyAuLi5AUWpDLgogICAgICAgICAgICAgICAgLyogMDE1OCAqLyAgMHg0QywgMHg2 NywgMHhDMywgMHgxMywgMHg2NiwgMHhEQywgMHgxMCwgMHgzMSwgIC8vIExnLi5mLi4xCiAgICAg ICAgICAgICAgICAvKiAwMTYwICovICAweDBDLCAweDE0LCAweEI3LCAweEZELCAweDQxLCAweDkw LCAweDYxLCAweEUzLCAgLy8gLi4uLkEuYS4KICAgICAgICAgICAgICAgIC8qIDAxNjggKi8gIDB4 QzYsIDB4RUYsIDB4NDEsIDB4OUQsIDB4RDYsIDB4RDksIDB4MUQsIDB4RDMsICAvLyAuLkEuLi4u LgogICAgICAgICAgICAgICAgLyogMDE3MCAqLyAgMHhBQiwgMHg4MiwgMHgwOSwgMHgzQywgMHhF OSwgMHgzNywgMHg4NCwgMHhBNywgIC8vIC4uLjwuNy4uCiAgICAgICAgICAgICAgICAvKiAwMTc4 ICovICAweDgzLCAweEEzLCAweDM4LCAweERBLCAweEE4LCAweDMxLCAweDlBLCAweDIzLCAgLy8g Li44Li4xLiMKICAgICAgICAgICAgICAgIC8qIDAxODAgKi8gIDB4NjUsIDB4QUIsIDB4RDYsIDB4 QjksIDB4QzIsIDB4OTEsIDB4RTAsIDB4NTEsICAvLyBlLi4uLi4uUQogICAgICAgICAgICAgICAg LyogMDE4OCAqLyAgMHhFNywgMHgwNSwgMHg5RiwgMHgwQywgMHgzQywgMHhCNCwgMHhDMywgMHhG NiwgIC8vIC4uLi48Li4uCiAgICAgICAgICAgICAgICAvKiAwMTkwICovICAweDYwLCAweENGLCAw eEQyLCAweDQzLCAweDM4LCAweDgyLCAweDY3LCAweDg2LCAgLy8gYC4uQzguZy4KICAgICAgICAg ICAgICAgIC8qIDAxOTggKi8gIDB4NDcsIDB4MDIsIDB4OEYsIDB4ODEsIDB4REQsIDB4MTUsIDB4 N0MsIDB4MDgsICAvLyBHLi4uLi58LgogICAgICAgICAgICAgICAgLyogMDFBMCAqLyAgMHhGMCwg MHgxOSwgMHgwMSwgMHhFRiwgMHgxQSwgMHg1MCwgMHg5NywgMHg4MywgIC8vIC4uLi4uUC4uCiAg ICAgICAgICAgICAgICAvKiAwMUE4ICovICAweDQ3LCAweDAzLCAweDM2LCAweEU5LCAweDcwLCAw eDk4LCAweEYxLCAweDdBLCAgLy8gRy42LnAuLnoKICAgICAgICAgICAgICAgIC8qIDAxQjAgKi8g IDB4RUUsIDB4OUUsIDB4QkEsIDB4Q0YsIDB4MTgsIDB4RkMsIDB4QkMsIDB4RTEsICAvLyAuLi4u Li4uLgogICAgICAgICAgICAgICAgLyogMDFCOCAqLyAgMHhDMSwgMHhFMSwgMHg0NiwgMHg3QSwg MHgzMiwgMHg0NywgMHg1NiwgMHhBQSwgIC8vIC4uRnoyR1YuCiAgICAgICAgICAgICAgICAvKiAw MUMwICovICAweDAwLCAweEIzLCAweEQ3LCAweDAwLCAweDFELCAweDI1LCAweDdDLCAweEUwLCAg Ly8gLi4uLi4lfC4KICAgICAgICAgICAgICAgIC8qIDAxQzggKi8gIDB4NjAsIDB4NzcsIDB4ODEs IDB4QTcsIDB4MDAsIDB4MTMsIDB4NTgsIDB4RkUsICAvLyBgdy4uLi5YLgogICAgICAgICAgICAg ICAgLyogMDFEMCAqLyAgMHgyMCwgMHg1MCwgMHgyMywgMHgzMywgMHhCNCwgMHhDNywgMHhGQiwg MHhERSwgIC8vICBQIzMuLi4uCiAgICAgICAgICAgICAgICAvKiAwMUQ4ICovICAweDYxLCAweEM4 LCAweDI3LCAweDg1LCAweEMzLCAweDYyLCAweDYyLCAweDBGLCAgLy8gYS4nLi5iYi4KICAgICAg ICAgICAgICAgIC8qIDAxRTAgKi8gIDB4MUUsIDB4NzQsIDB4M0MsIDB4RTAsIDB4QkYsIDB4OEYs IDB4M0MsIDB4NjksICAvLyAudDwuLi48aQogICAgICAgICAgICAgICAgLyogMDFFOCAqLyAgMHg3 OCwgMHhGQSwgMHg5RSwgMHhBRiwgMHgwOSwgMHgwNiwgMHg4NiwgMHg5MCwgIC8vIHguLi4uLi4u CiAgICAgICAgICAgICAgICAvKiAwMUYwICovICAweDk1LCAweEYxLCAweEEwLCAweDA2LCAweDYy LCAweEU4LCAweDU3LCAweDg1LCAgLy8gLi4uLmIuVy4KICAgICAgICAgICAgICAgIC8qIDAxRjgg Ki8gIDB4QzMsIDB4MzgsIDB4MEQsIDB4OUYsIDB4NDAsIDB4N0MsIDB4MEUsIDB4MDgsICAvLyAu OC4uQHwuLgogICAgICAgICAgICAgICAgLyogMDIwMCAqLyAgMHgxMiwgMHhFMywgMHg5OCwgMHgz QywgMHgzOCwgMHhGRiwgMHhGRiwgMHgwOSwgIC8vIC4uLjw4Li4uCiAgICAgICAgICAgICAgICAv KiAwMjA4ICovICAweDFDLCAweDZCLCAweEU0LCAweEY0LCAweDlDLCAweEUyLCAweEYzLCAweDA0 LCAgLy8gLmsuLi4uLi4KICAgICAgICAgICAgICAgIC8qIDAyMTAgKi8gIDB4M0YsIDB4NUMsIDB4 RjgsIDB4M0MsIDB4QzEsIDB4NEUsIDB4MEMsIDB4QTcsICAvLyA/XC48Lk4uLgogICAgICAgICAg ICAgICAgLyogMDIxOCAqLyAgMHhGMSwgMHgxQywgMHhFMCwgMHhFMSwgMHg5QywgMHg5NSwgMHg4 RiwgMHgxMywgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMjIwICovICAweEMwLCAw eDAyLCAweEUyLCAweDc1LCAweDgyLCAweDBGLCAweDE0LCAweDNFLCAgLy8gLi4udS4uLj4KICAg ICAgICAgICAgICAgIC8qIDAyMjggKi8gIDB4RUMsIDB4QTEsIDB4NzksIDB4MTQsIDB4MkYsIDB4 MTEsIDB4NkYsIDB4MEYsICAvLyAuLnkuLy5vLgogICAgICAgICAgICAgICAgLyogMDIzMCAqLyAg MHgyNiwgMHg4OCwgMHhGNiwgMHgxMCwgMHgwMywgMHhDNiwgMHgxOSwgMHhFMSwgIC8vICYuLi4u Li4uCiAgICAgICAgICAgICAgICAvKiAwMjM4ICovICAweENFLCAweDFCLCAweDcwLCAweDRFLCAw eDMxLCAweEMwLCAweDAzLCAweEVBLCAgLy8gLi5wTjEuLi4KICAgICAgICAgICAgICAgIC8qIDAy NDAgKi8gIDB4MTAsIDB4MzAsIDB4ODcsIDB4MDksIDB4MEYsIDB4ODEsIDB4MEYsIDB4RTAsICAv LyAuMC4uLi4uLgogICAgICAgICAgICAgICAgLyogMDI0OCAqLyAgMHgxOSwgMHhFNCwgMHgxQywg MHg3RCwgMHhDQywgMHgzOSwgMHgzMywgMHhEQywgIC8vIC4uLn0uOTMuCiAgICAgICAgICAgICAg ICAvKiAwMjUwICovICAweDcxLCAweDA3LCAweDZDLCAweEMzLCAweEUwLCAweDkxLCAweDJELCAw eDgwLCAgLy8gcS5sLi4uLS4KICAgICAgICAgICAgICAgIC8qIDAyNTggKi8gIDB4QjAsIDB4Mzgs IDB4NEYsIDB4MDIsIDB4MDUsIDB4N0MsIDB4MUIsIDB4NTAsICAvLyAuOE8uLnwuUAogICAgICAg ICAgICAgICAgLyogMDI2MCAqLyAgMHgxOCwgMHgxRiwgMHg2RSwgMHhDMCwgMHhGQiwgMHhGRiwg MHgzRiwgMHhEQywgIC8vIC4ubi4uLj8uCiAgICAgICAgICAgICAgICAvKiAwMjY4ICovICAweDAw LCAweEQ3LCAweEYzLCAweDAxLCAweEVFLCAweEY4LCAweDAwLCAweEY3LCAgLy8gLi4uLi4uLi4K ICAgICAgICAgICAgICAgIC8qIDAyNzAgKi8gIDB4NjIsIDB4QzEsIDB4MEUsIDB4MEYsIDB4OEYs IDB4MzcsIDB4QzAsIDB4NjAsICAvLyBiLi4uLjcuYAogICAgICAgICAgICAgICAgLyogMDI3OCAq LyAgMHg0OCwgMHg4RiwgMHgzNCwgMHg2RiwgMHgzNSwgMHgzMSwgMHg1RSwgMHg2RCwgIC8vIEgu NG81MV5tCiAgICAgICAgICAgICAgICAvKiAwMjgwICovICAweDQyLCAweDQ0LCAweDc4LCAweEE4 LCAweDc5LCAweEI3LCAweDMxLCAweDUyLCAgLy8gQkR4LnkuMVIKICAgICAgICAgICAgICAgIC8q IDAyODggKi8gIDB4QkMsIDB4QzcsIDB4MUIsIDB4NzYsIDB4OEQsIDB4MzksIDB4OEIsIDB4MDcs ICAvLyAuLi52LjkuLgogICAgICAgICAgICAgICAgLyogMDI5MCAqLyAgMHg5MCwgMHgyOCwgMHhD NSwgMHhBMSwgMHhFOSwgMHg2MiwgMHgxMywgMHgyMywgIC8vIC4oLi4uYi4jCiAgICAgICAgICAg ICAgICAvKiAwMjk4ICovICAweENBLCAweDlCLCAweDhELCAweDYxLCAweERGLCAweDc0LCAweDBD LCAweDE0LCAgLy8gLi4uYS50Li4KICAgICAgICAgICAgICAgIC8qIDAyQTAgKi8gIDB4MkEsIDB4 NTIsIDB4ODQsIDB4MzAsIDB4MkYsIDB4MTYsIDB4MjEsIDB4MUUsICAvLyAqUi4wLy4hLgogICAg ICAgICAgICAgICAgLyogMDJBOCAqLyAgMHg2RiwgMHhDMCwgMHgyQywgMHhFOSwgMHhBNSwgMHhB MiwgMHhDRiwgMHg4MSwgIC8vIG8uLC4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMkIwICovICAw eDhGLCAweDM3LCAweDgwLCAweDk3LCAweEZGLCAweEZGLCAweEYxLCAweDA2LCAgLy8gLjcuLi4u Li4KICAgICAgICAgICAgICAgIC8qIDAyQjggKi8gIDB4RjAsIDB4MzAsIDB4MEMsIDB4MUYsIDB4 NTMsIDB4QzAsIDB4NzYsIDB4NzMsICAvLyAuMC4uUy52cwogICAgICAgICAgICAgICAgLyogMDJD MCAqLyAgMHg2MCwgMHhGNywgMHgxNCwgMHhGOCwgMHhFNywgMHgxNCwgMHhDMCwgMHg5MSwgIC8v IGAuLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMkM4ICovICAweDkwLCAweDQ3LCAweDgwLCAw eDBFLCAweDFFLCAweDE2LCAweDAxLCAweDIyLCAgLy8gLkcuLi4uLiIKICAgICAgICAgICAgICAg IC8qIDAyRDAgKi8gIDB4MUIsIDB4Q0YsIDB4MDAsIDB4OUYsIDB4ODksIDB4QTgsIDB4NDAsIDB4 MkEsICAvLyAuLi4uLi5AKgogICAgICAgICAgICAgICAgLyogMDJEOCAqLyAgMHhDRCwgMHgxNCwg MHgyQywgMHhFMywgMHgxNCwgMHhBQywgMHg0RSwgMHg4OCwgIC8vIC4uLC4uLk4uCiAgICAgICAg ICAgICAgICAvKiAwMkUwICovICAweDVDLCAweDA2LCAweDg1LCAweDQ0LCAweDQwLCAweDY4LCAw eDY0LCAweDg2LCAgLy8gXC4uREBoZC4KICAgICAgICAgICAgICAgIC8qIDAyRTggKi8gIDB4RjMs IDB4MjEsIDB4RDEsIDB4NjAsIDB4MDYsIDB4RjEsIDB4RjksIDB4QzAsICAvLyAuIS5gLi4uLgog ICAgICAgICAgICAgICAgLyogMDJGMCAqLyAgMHg2NywgMHgwQSwgMHg5RiwgMHg5QywgMHhGOCwg MHhGRiwgMHhGRiwgMHhFNCwgIC8vIGcuLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMkY4ICov ICAweDA0LCAweDlFLCAweDgzLCAweEM5LCAweDQzLCAweDA1LCAweDJDLCAweDQ0LCAgLy8gLi4u LkMuLEQKICAgICAgICAgICAgICAgIC8qIDAzMDAgKi8gIDB4OUYsIDB4MTYsIDB4MzgsIDB4OUMs IDB4Q0YsIDB4MkMsIDB4MUMsIDB4Q0UsICAvLyAuLjguLiwuLgogICAgICAgICAgICAgICAgLyog MDMwOCAqLyAgMHg0NywgMHgxMiwgMHg3RSwgMHg4MCwgMHhFNCwgMHg0NywgMHgyNSwgMHg3MCwg IC8vIEcufi4uRyVwCiAgICAgICAgICAgICAgICAvKiAwMzEwICovICAweDA5LCAweDNDLCAweDM0 LCAweDgwLCAweDAyLCAweEM4LCAweEY3LCAweDAzLCAgLy8gLjw0Li4uLi4KICAgICAgICAgICAg ICAgIC8qIDAzMTggKi8gIDB4OUYsIDB4MDMsIDB4OUUsIDB4MTEsIDB4RDgsIDB4MUMsIDB4MUUs IDB4MDksICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgLyogMDMyMCAqLyAgMHg3QywgMHgy MCwgMHg2MCwgMHhGMCwgMHgzQywgMHhEQSwgMHhBOCwgMHhFOCwgIC8vIHwgYC48Li4uCiAgICAg ICAgICAgICAgICAvKiAwMzI4ICovICAweEQxLCAweEM2LCAweEMzLCAweEUzLCAweDQ3LCAweDA2 LCAweENGLCAweEU3LCAgLy8gLi4uLkcuLi4KICAgICAgICAgICAgICAgIC8qIDAzMzAgKi8gIDB4 ODEsIDB4RTAsIDB4MjgsIDB4MUYsIDB4MDksIDB4NzAsIDB4MTgsIDB4RUYsICAvLyAuLiguLnAu LgogICAgICAgICAgICAgICAgLyogMDMzOCAqLyAgMHgxNywgMHgxRSwgMHhBMiwgMHg0RiwgMHgz OSwgMHhCMCwgMHgyNiwgMHg3MiwgIC8vIC4uLk85LiZyCiAgICAgICAgICAgICAgICAvKiAwMzQw ICovICAweEQ0LCAweDE2LCAweDdELCAweDIyLCAweDEwLCAweEU4LCAweDMzLCAweDE3LCAgLy8g Li59Ii4uMy4KICAgICAgICAgICAgICAgIC8qIDAzNDggKi8gIDB4RTYsIDB4OTQsIDB4MDMsIDB4 OUMsIDB4ODIsIDB4OEYsIDB4MUUsIDB4MTUsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAg LyogMDM1MCAqLyAgMHhGNSwgMHg0MCwgMHgwQSwgMHhEQSwgMHg5MywgMHg4MiwgMHhDRiwgMHgw QSwgIC8vIC5ALi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMzU4ICovICAweDNFLCAweDdDLCAw eEMxLCAweEZGLCAweEZGLCAweDFGLCAweEJFLCAweEUwLCAgLy8gPnwuLi4uLi4KICAgICAgICAg ICAgICAgIC8qIDAzNjAgKi8gIDB4Q0MsIDB4RUIsIDB4NjUsIDB4Q0QsIDB4MDcsIDB4OEUsIDB4 MzgsIDB4NjcsICAvLyAuLmUuLi44ZwogICAgICAgICAgICAgICAgLyogMDM2OCAqLyAgMHg3MSwg MHhCQSwgMHhFRiwgMHgxNiwgMHhGOCwgMHgxMywgMHgyOSwgMHgzMCwgIC8vIHEuLi4uLikwCiAg ICAgICAgICAgICAgICAvKiAwMzcwICovICAweDBCLCAweDcyLCAweDIyLCAweDQ1LCAweEMxLCAw eEY4LCAweDQ0LCAweDBBLCAgLy8gLnIiRS4uRC4KICAgICAgICAgICAgICAgIC8qIDAzNzggKi8g IDB4RDgsIDB4QkMsIDB4MDUsIDB4NjAsIDB4QUYsIDB4MEIsIDB4NEYsIDB4MjIsICAvLyAuLi5g Li5PIgogICAgICAgICAgICAgICAgLyogMDM4MCAqLyAgMHgzMCwgMHhDRSwgMHgxMSwgMHhDRiwg MHg1OCwgMHgzMCwgMHgwRiwgMHg1NSwgIC8vIDAuLi5YMC5VCiAgICAgICAgICAgICAgICAvKiAw Mzg4ICovICAweEE3LCAweEY4LCAweDUyLCAweEY1LCAweEM2LCAweDEwLCAweEUxLCAweEM5LCAg Ly8gLi5SLi4uLi4KICAgICAgICAgICAgICAgIC8qIDAzOTAgKi8gIDB4RUEsIDB4MzUsIDB4RUEs IDB4MDEsIDB4Q0IsIDB4NjAsIDB4MkYsIDB4MDIsICAvLyAuNS4uLmAvLgogICAgICAgICAgICAg ICAgLyogMDM5OCAqLyAgMHg4NiwgMHg3OSwgMHhDNSwgMHhGMiwgMHhFOSwgMHgyQSwgMHhDNCwg MHgwMywgIC8vIC55Li4uKi4uCiAgICAgICAgICAgICAgICAvKiAwM0EwICovICAweDk2LCAweENG LCAweDVBLCAweEQxLCAweDQyLCAweDg0LCAweDhDLCAweDEyLCAgLy8gLi5aLkIuLi4KICAgICAg ICAgICAgICAgIC8qIDAzQTggKi8gIDB4RUMsIDB4MTUsIDB4RUIsIDB4NTUsIDB4QzYsIDB4NDcs IDB4MkEsIDB4ODMsICAvLyAuLi5VLkcqLgogICAgICAgICAgICAgICAgLyogMDNCMCAqLyAgMHgw NywgMHgwQywgMHgxQiwgMHgyRCwgMHg1MiwgMHg4NCwgMHg0NywgMHgyQywgIC8vIC4uLi1SLkcs CiAgICAgICAgICAgICAgICAvKiAwM0I4ICovICAweEZDLCAweEZGLCAweEZGLCAweDg4LCAweDA1 LCAweDFFLCAweDA5LCAweDA3LCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDAzQzAg Ki8gIDB4NTIsIDB4ODAsIDB4MkEsIDB4MDMsIDB4QzcsIDB4MUQsIDB4NDgsIDB4ODEsICAvLyBS LiouLi5ILgogICAgICAgICAgICAgICAgLyogMDNDOCAqLyAgMHhGRCwgMHg2OSwgMHgwMiwgMHg3 RiwgMHhCRCwgMHhGMCwgMHg3OCwgMHhCMCwgIC8vIC5pLi4uLnguCiAgICAgICAgICAgICAgICAv KiAwM0QwICovICAweEZGLCAweEZGLCAweDczLCAweDAwLCAweEY4LCAweDBFLCAweDMxLCAweEMw LCAgLy8gLi5zLi4uMS4KICAgICAgICAgICAgICAgIC8qIDAzRDggKi8gIDB4NjAsIDB4QzAsIDB4 MzAsIDB4MEUsIDB4MzEsIDB4QzAsIDB4NDMsIDB4RjAsICAvLyBgLjAuMS5DLgogICAgICAgICAg ICAgICAgLyogMDNFMCAqLyAgMHhDOSwgMHgwQywgMHhGNCwgMHhDNywgMHgxRCwgMHhGOCwgMHhF MywgMHhFMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwM0U4ICovICAweDE5LCAw eDlGLCAweDFDLCAweDI2LCAweDUwLCAweDk4LCAweDEzLCAweDI5LCAgLy8gLi4uJlAuLikKICAg ICAgICAgICAgICAgIC8qIDAzRjAgKi8gIDB4MEEsIDB4QzYsIDB4MjcsIDB4NTIsIDB4QzAsIDB4 RDksIDB4RkYsIDB4RkYsICAvLyAuLidSLi4uLgogICAgICAgICAgICAgICAgLyogMDNGOCAqLyAg MHg3MCwgMHgwNSwgMHg4NiwgMHhFMywgMHgwRCwgMHhGOCwgMHg2RiwgMHgzMywgIC8vIHAuLi4u Lm8zCiAgICAgICAgICAgICAgICAvKiAwNDAwICovICAweDNFLCAweDg0LCAweEZBLCAweDdDLCAw eEUzLCAweDBCLCAweEE5LCAweDIxLCAgLy8gPi4ufC4uLiEKICAgICAgICAgICAgICAgIC8qIDA0 MDggKi8gIDB4NUUsIDB4NkMsIDB4REUsIDB4RDQsIDB4NUUsIDB4MDksIDB4NUUsIDB4REYsICAv LyBebC4uXi5eLgogICAgICAgICAgICAgICAgLyogMDQxMCAqLyAgMHhEOSwgMHhCNSwgMHhFNiwg MHhGNSwgMHhERCwgMHhBNywgMHg4MiwgMHgyNywgIC8vIC4uLi4uLi4nCiAgICAgICAgICAgICAg ICAvKiAwNDE4ICovICAweEQxLCAweDA4LCAweDIxLCAweEEzLCAweEJDLCAweEU0LCAweDE4LCAw eDI0LCAgLy8gLi4hLi4uLiQKICAgICAgICAgICAgICAgIC8qIDA0MjAgKi8gIDB4QzQsIDB4RUIs IDB4QTgsIDB4MDEsIDB4ODMsIDB4MDUsIDB4ODksIDB4NzgsICAvLyAuLi4uLi4ueAogICAgICAg ICAgICAgICAgLyogMDQyOCAqLyAgMHgwQSwgMHg0RiwgMHgzQiwgMHg4RiwgMHgzNywgMHhFMCwg MHgxNSwgMHg3NSwgIC8vIC5POy43Li51CiAgICAgICAgICAgICAgICAvKiAwNDMwICovICAweDIw LCAweDA1LCAweEU4LCAweEYxLCAweEZGLCAweDNGLCAweDkwLCAweDAyLCAgLy8gIC4uLi4/Li4K ICAgICAgICAgICAgICAgIC8qIDA0MzggKi8gIDB4ODMsIDB4N0IsIDB4MEEsIDB4RUMsIDB4NzMs IDB4MEEsIDB4RTAsIDB4MjksICAvLyAuey4ucy4uKQogICAgICAgICAgICAgICAgLyogMDQ0MCAq LyAgMHhGOSwgMHg4OSwgMHg5NCwgMHhBNiwgMHgzRSwgMHg5MSwgMHhBMiwgMHgxNSwgIC8vIC4u Li4+Li4uCiAgICAgICAgICAgICAgICAvKiAwNDQ4ICovICAweDAxLCAweDY5LCAweEFBLCAweDYw LCAweDIxLCAweDk4LCAweEZFLCAweDQ0LCAgLy8gLmkuYCEuLkQKICAgICAgICAgICAgICAgIC8q IDA0NTAgKi8gIDB4NEEsIDB4MEYsIDB4MDYsIDB4Q0UsIDB4NEQsIDB4QTIsIDB4RTQsIDB4NDMs ICAvLyBKLi4uTS4uQwogICAgICAgICAgICAgICAgLyogMDQ1OCAqLyAgMHhBMywgMHg3MCwgMHhD RSwgMHg3QSwgMHgyMCwgMHhBMSwgMHgyMCwgMHgwNiwgIC8vIC5wLnogLiAuCiAgICAgICAgICAg ICAgICAvKiAwNDYwICovICAweDc0LCAweDkwLCAweDQzLCAweDA1LCAweEZBLCAweEFDLCAweEUy LCAweDAzLCAgLy8gdC5DLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA0NjggKi8gIDB4QzksIDB4 ODEsIDB4M0MsIDB4MjIsIDB4N0EsIDB4NTgsIDB4M0UsIDB4NTQsICAvLyAuLjwielg+VAogICAg ICAgICAgICAgICAgLyogMDQ3MCAqLyAgMHhGQSwgMHhBRSwgMHhFMiwgMHg3MywgMHg4OCwgMHg4 RiwgMHgxNCwgMHgxRSwgIC8vIC4uLnMuLi4uCiAgICAgICAgICAgICAgICAvKiAwNDc4ICovICAw eEJGLCAweDBGLCAweDBCLCAweEZDLCAweDNGLCAweEUzLCAweEUzLCAweDI4LCAgLy8gLi4uLj8u LigKICAgICAgICAgICAgICAgIC8qIDA0ODAgKi8gIDB4MDMsIDB4QUYsIDB4RTYsIDB4QkMsIDB4 ODIsIDB4MDIsIDB4RjMsIDB4NjksICAvLyAuLi4uLi4uaQogICAgICAgICAgICAgICAgLyogMDQ4 OCAqLyAgMHgxNCwgMHhBMywgMHhFQiwgMHgzRSwgMHgwMSwgMHg5MiwgMHhGRiwgMHhGRiwgIC8v IC4uLj4uLi4uCiAgICAgICAgICAgICAgICAvKiAwNDkwICovICAweEZDLCAweEI4LCAweEJFLCAw eEMzLCAweDI4LCAweEM4LCAweEQxLCAweDc5LCAgLy8gLi4uLiguLnkKICAgICAgICAgICAgICAg IC8qIDA0OTggKi8gIDB4RjgsIDB4QzksIDB4QTIsIDB4RTIsIDB4NEUsIDB4OTYsIDB4ODIsIDB4 NzgsICAvLyAuLi4uTi4ueAogICAgICAgICAgICAgICAgLyogMDRBMCAqLyAgMHhCMiwgMHg4RSwg MHgzMiwgMHg1OSwgMHhGNCwgMHg0QywgMHg3QywgMHhCQiwgIC8vIC4uMlkuTHwuCiAgICAgICAg ICAgICAgICAvKiAwNEE4ICovICAweEYwLCAweDhDLCAweERFLCAweEJCLCAweDdDLCAweDgzLCAw eDY1LCAweDM3LCAgLy8gLi4uLnwuZTcKICAgICAgICAgICAgICAgIC8qIDA0QjAgKi8gIDB4NTks IDB4NzgsIDB4OTcsIDB4ODEsIDB4OTAsIDB4OEYsIDB4MDYsIDB4QkUsICAvLyBZeC4uLi4uLgog ICAgICAgICAgICAgICAgLyogMDRCOCAqLyAgMHhDOSwgMHhDMiwgMHgxRCwgMHg4QiwgMHgyRiwg MHgyMywgMHhFMCwgMHhCQiwgIC8vIC4uLi4vIy4uCiAgICAgICAgICAgICAgICAvKiAwNEMwICov ICAweEM5LCAweDAyLCAweDVFLCAweDQ3LCAweEUzLCAweEIzLCAweDA1LCAweDNCLCAgLy8gLi5e Ry4uLjsKICAgICAgICAgICAgICAgIC8qIDA0QzggKi8gIDB4ODUsIDB4RjgsIDB4QkEsIDB4MDYs IDB4NEIsIDB4QTEsIDB4NEQsIDB4OUYsICAvLyAuLi4uSy5NLgogICAgICAgICAgICAgICAgLyog MDREMCAqLyAgMHgxQSwgMHg4RCwgMHg1QSwgMHhGRCwgMHhGRiwgMHgxQiwgMHg5NCwgMHhBOSwg IC8vIC4uWi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwNEQ4ICovICAweDUxLCAweEE2LCAweDQx LCAweEFELCAweDNFLCAweDk1LCAweDFBLCAweDMzLCAgLy8gUS5BLj4uLjMKICAgICAgICAgICAg ICAgIC8qIDA0RTAgKi8gIDB4NzYsIDB4QTEsIDB4QjAsIDB4QjgsIDB4MEIsIDB4MDYsIDB4OTUs IDB4QjQsICAvLyB2Li4uLi4uLgogICAgICAgICAgICAgICAgLyogMDRFOCAqLyAgMHgyQywgMHg4 RCwgMHhDQiwgMHg4MSwgMHg0MCwgMHg2OCwgMHg4MCwgMHg1QiwgIC8vICwuLi5AaC5bCiAgICAg ICAgICAgICAgICAvKiAwNEYwICovICAweEE5LCAweDQwLCAweDFDLCAweEZBLCAweDBCLCAweEE0 LCAweDUzLCAweDAyLCAgLy8gLkAuLi4uUy4KICAgICAgICAgICAgICAgIC8qIDA0RjggKi8gIDB4 RjksIDB4NkEsIDB4MDksIDB4QzgsIDB4NjIsIDB4NTcsIDB4MjUsIDB4MTAsICAvLyAuai4uYlcl LgogICAgICAgICAgICAgICAgLyogMDUwMCAqLyAgMHhDQiwgMHg1NCwgMHgwMSwgMHhEMSwgMHhD OCwgMHhERCwgMHhDMiwgMHgyMCwgIC8vIC5ULi4uLi4gCiAgICAgICAgICAgICAgICAvKiAwNTA4 ICovICAweDAyLCAweDcyLCAweEJDLCAweDRGLCAweDhELCAweDQwLCAweDFELCAweDQ5LCAgLy8g LnIuTy5ALkkKICAgICAgICAgICAgICAgIC8qIDA1MTAgKi8gIDB4MDcsIDB4MTAsIDB4MTMsIDB4 RTQsIDB4NjMsIDB4QUMsIDB4RjQsIDB4MjUsICAvLyAuLi4uYy4uJQogICAgICAgICAgICAgICAg LyogMDUxOCAqLyAgMHgyMCwgMHgxMCwgMHhDQiwgMHhBNiwgMHgxNSwgMHhBMCwgMHhFNSwgMHgz QSwgIC8vICAuLi4uLi46CiAgICAgICAgICAgICAgICAvKiAwNTIwICovICAweDAxLCAweDYyLCAw eDYxLCAweDQxLCAweDY4LCAweEMwLCAweDVGLCAweEI1LCAgLy8gLmJhQWguXy4KICAgICAgICAg ICAgICAgIC8qIDA1MjggKi8gIDB4ODYsIDB4RTAsIDB4QjQsIDB4MjAsIDB4MDIsIDB4NzIsIDB4 MzIsIDB4MkQsICAvLyAuLi4gLnIyLQogICAgICAgICAgICAgICAgLyogMDUzMCAqLyAgMHg0MCwg MHgyQywgMHgyNywgMHg4OCwgMHg4MCwgMHhGQywgMHhGRiwgMHgwNyAgIC8vIEAsJy4uLi4uCiAg ICAgICAgICAgIH0pCiAgICAgICAgfQoKICAgICAgICBEZXZpY2UgKFdNSTMpCiAgICAgICAgewog ICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzE0IikgLyogV2luZG93cyBNYW5h Z2VtZW50IEluc3RydW1lbnRhdGlvbiBEZXZpY2UgKi8pICAvLyBfSElEOiBIYXJkd2FyZSBJRAog ICAgICAgICAgICBOYW1lIChfVUlELCAweDAzKSAgLy8gX1VJRDogVW5pcXVlIElECiAgICAgICAg ICAgIE5hbWUgKF9XREcsIC8qKioqIElzIFJlc291cmNlVGVtcGxhdGUsIGJ1dCBFbmRUYWcgbm90 IGF0IGJ1ZmZlciBlbmQgKioqKi8gQnVmZmVyICgweDNDKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAvKiAwMDAwICovICAweDc5LCAweDM2LCAweDRELCAweDhGLCAweDlFLCAweDc0LCAw eDc5LCAweDQ0LCAgLy8geTZNLi50eUQKICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gIDB4OUIs IDB4MTYsIDB4QzYsIDB4MjYsIDB4MDEsIDB4RkQsIDB4MjUsIDB4RjAsICAvLyAuLi4mLi4lLgog ICAgICAgICAgICAgICAgLyogMDAxMCAqLyAgMHg0MSwgMHg0MiwgMHgwMSwgMHgwMiwgMHg2OSwg MHhFOCwgMHhEMiwgMHg4NSwgIC8vIEFCLi5pLi4uCiAgICAgICAgICAgICAgICAvKiAwMDE4ICov ICAweDVBLCAweDM2LCAweENFLCAweDRBLCAweEE0LCAweEQzLCAweENELCAweDY5LCAgLy8gWjYu Si4uLmkKICAgICAgICAgICAgICAgIC8qIDAwMjAgKi8gIDB4MkIsIDB4MTYsIDB4OTgsIDB4QTAs IDB4NDEsIDB4NDMsIDB4MDEsIDB4MDIsICAvLyArLi4uQUMuLgogICAgICAgICAgICAgICAgLyog MDAyOCAqLyAgMHgyMSwgMHgxMiwgMHg5MCwgMHgwNSwgMHg2NiwgMHhENSwgMHhEMSwgMHgxMSwg IC8vICEuLi5mLi4uCiAgICAgICAgICAgICAgICAvKiAwMDMwICovICAweEIyLCAweEYwLCAweDAw LCAweEEwLCAweEM5LCAweDA2LCAweDI5LCAweDEwLCAgLy8gLi4uLi4uKS4KICAgICAgICAgICAg ICAgIC8qIDAwMzggKi8gIDB4NDIsIDB4NDMsIDB4MDEsIDB4MDAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvLyBCQy4uCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE1ldGhvZCAoV01BQiwg MywgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQ3JlYXRlQnl0 ZUZpZWxkIChBcmcyLCAweDAwLCBBU1MwKQogICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChBcmcyLCAweDAxLCBBU1MxKQogICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBcmcy LCAweDAzLCBBU1MyKQogICAgICAgICAgICAgICAgQWNxdWlyZSAoXl5XTUkxLk1XTUksIDB4RkZG RikKICAgICAgICAgICAgICAgIFdBU0IgPSBBU1MwIC8qIFxfU0JfLldNSTMuV01BQi5BU1MwICov CiAgICAgICAgICAgICAgICBXQVNJID0gQVNTMSAvKiBcX1NCXy5XTUkzLldNQUIuQVNTMSAqLwog ICAgICAgICAgICAgICAgV0FTRCA9IEFTUzIgLyogXF9TQl8uV01JMy5XTUFCLkFTUzIgKi8KICAg ICAgICAgICAgICAgIFdNSVMgKDB4MEIsIDB4MDApCiAgICAgICAgICAgICAgICBMb2NhbDAgPSBX QVNTIC8qIFxXQVNTICovCiAgICAgICAgICAgICAgICBSZWxlYXNlICheXldNSTEuTVdNSSkKICAg ICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBN ZXRob2QgKFdNQUMsIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMiwgMHgwMCwgQVNTMCkKICAgICAgICAgICAgICAgIENy ZWF0ZVdvcmRGaWVsZCAoQXJnMiwgMHgwMSwgQVNTMSkKICAgICAgICAgICAgICAgIEFjcXVpcmUg KF5eV01JMS5NV01JLCAweEZGRkYpCiAgICAgICAgICAgICAgICBXQVNCID0gQVNTMCAvKiBcX1NC Xy5XTUkzLldNQUMuQVNTMCAqLwogICAgICAgICAgICAgICAgV0FTSSA9IEFTUzEgLyogXF9TQl8u V01JMy5XTUFDLkFTUzEgKi8KICAgICAgICAgICAgICAgIFdNSVMgKDB4MEMsIEFyZzEpCiAgICAg ICAgICAgICAgICBMb2NhbDAgPSBXQVNTIC8qIFxXQVNTICovCiAgICAgICAgICAgICAgICBSZWxl YXNlICheXldNSTEuTVdNSSkKICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAg ICAgICB9CgogICAgICAgICAgICBOYW1lIChXUUJDLCBCdWZmZXIgKDB4MDQwQSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgMHg0NiwgMHg0RiwgMHg0RCwgMHg0Miwg MHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIEZPTUIuLi4uCiAgICAgICAgICAgICAgICAvKiAw MDA4ICovICAweEZBLCAweDAzLCAweDAwLCAweDAwLCAweDMyLCAweDEyLCAweDAwLCAweDAwLCAg Ly8gLi4uLjIuLi4KICAgICAgICAgICAgICAgIC8qIDAwMTAgKi8gIDB4NDQsIDB4NTMsIDB4MDAs IDB4MDEsIDB4MUEsIDB4N0QsIDB4REEsIDB4NTQsICAvLyBEUy4uLn0uVAogICAgICAgICAgICAg ICAgLyogMDAxOCAqLyAgMHg5OCwgMHhDMywgMHg4OCwgMHgwMCwgMHgwMSwgMHgwNiwgMHgxOCwg MHg0MiwgIC8vIC4uLi4uLi5CCiAgICAgICAgICAgICAgICAvKiAwMDIwICovICAweDEwLCAweDA3 LCAweDEwLCAweDhBLCAweDBELCAweDIxLCAweDAyLCAweDBCLCAgLy8gLi4uLi4hLi4KICAgICAg ICAgICAgICAgIC8qIDAwMjggKi8gIDB4ODMsIDB4NTAsIDB4NTAsIDB4MTgsIDB4MTQsIDB4QTAs IDB4NDUsIDB4NDEsICAvLyAuUFAuLi5FQQogICAgICAgICAgICAgICAgLyogMDAzMCAqLyAgMHhD OCwgMHgwNSwgMHgxNCwgMHg5NSwgMHgwMiwgMHgyMSwgMHhDMywgMHgwMiwgIC8vIC4uLi4uIS4u CiAgICAgICAgICAgICAgICAvKiAwMDM4ICovICAweDE0LCAweDBCLCAweDcwLCAweDJFLCAweDQw LCAweEJBLCAweDAwLCAweEU1LCAgLy8gLi5wLkAuLi4KICAgICAgICAgICAgICAgIC8qIDAwNDAg Ki8gIDB4MjgsIDB4NzIsIDB4MEMsIDB4MjIsIDB4MDIsIDB4RjcsIDB4RUYsIDB4MEYsICAvLyAo ci4iLi4uLgogICAgICAgICAgICAgICAgLyogMDA0OCAqLyAgMHgzMSwgMHgxMCwgMHg4OCwgMHgx NCwgMHg0MCwgMHg0OCwgMHgyOCwgMHg4NCwgIC8vIDEuLi5ASCguCiAgICAgICAgICAgICAgICAv KiAwMDUwICovICAweDQ0LCAweDAwLCAweDUzLCAweDIxLCAweDcwLCAweDg0LCAweEEwLCAweDVG LCAgLy8gRC5TIXAuLl8KICAgICAgICAgICAgICAgIC8qIDAwNTggKi8gIDB4MDEsIDB4MDgsIDB4 MUQsIDB4MEEsIDB4OTAsIDB4MjksIDB4QzAsIDB4QTAsICAvLyAuLi4uLikuLgogICAgICAgICAg ICAgICAgLyogMDA2MCAqLyAgMHgwMCwgMHhBNywgMHgwOCwgMHgyMiwgMHg4OCwgMHhEMiwgMHhC MiwgMHgwMCwgIC8vIC4uLiIuLi4uCiAgICAgICAgICAgICAgICAvKiAwMDY4ICovICAweERELCAw eDAyLCAweDdDLCAweDBCLCAweEQwLCAweDBFLCAweDIxLCAweEI0LCAgLy8gLi58Li4uIS4KICAg ICAgICAgICAgICAgIC8qIDAwNzAgKi8gIDB4NTgsIDB4MDcsIDB4MTEsIDB4MjEsIDB4RDIsIDB4 MzEsIDB4MzQsIDB4MjksICAvLyBYLi4hLjE0KQogICAgICAgICAgICAgICAgLyogMDA3OCAqLyAg MHg0MCwgMHhBMiwgMHgwMCwgMHg4QiwgMHgwMiwgMHg2NCwgMHhDMywgMHhDOCwgIC8vIEAuLi4u ZC4uCiAgICAgICAgICAgICAgICAvKiAwMDgwICovICAweDM2LCAweDIyLCAweDk5LCAweDg3LCAw eDQ1LCAweDBFLCAweDAyLCAweDI1LCAgLy8gNiIuLkUuLiUKICAgICAgICAgICAgICAgIC8qIDAw ODggKi8gIDB4NjYsIDB4MTAsIDB4MjgsIDB4OUQsIDB4RTAsIDB4QjIsIDB4ODksIDB4QUIsICAv LyBmLiguLi4uLgogICAgICAgICAgICAgICAgLyogMDA5MCAqLyAgMHg0MSwgMHg5QywgMHg0Qywg MHg5NCwgMHhGMywgMHg4OCwgMHg5MiwgMHhFMCwgIC8vIEEuTC4uLi4uCiAgICAgICAgICAgICAg ICAvKiAwMDk4ICovICAweEE4LCAweDBFLCAweDIyLCAweDQyLCAweEVDLCAweDcyLCAweDA1LCAw eDQ4LCAgLy8gLi4iQi5yLkgKICAgICAgICAgICAgICAgIC8qIDAwQTAgKi8gIDB4MUUsIDB4ODAs IDB4MzQsIDB4NEYsIDB4NEMsIDB4RDYsIDB4RTcsIDB4QTAsICAvLyAuLjRPTC4uLgogICAgICAg ICAgICAgICAgLyogMDBBOCAqLyAgMHg5MSwgMHhCMSwgMHgxMSwgMHhGMCwgMHg5NCwgMHgxQSwg MHg0MCwgMHg1OCwgIC8vIC4uLi4uLkBYCiAgICAgICAgICAgICAgICAvKiAwMEIwICovICAweEEw LCAweDc1LCAweDJBLCAweEUwLCAweDdBLCAweDBELCAweDQzLCAweDNELCAgLy8gLnUqLnouQz0K ICAgICAgICAgICAgICAgIC8qIDAwQjggKi8gIDB4ODAsIDB4NDgsIDB4Q0UsIDB4NTgsIDB4NTEs IDB4QzAsIDB4RjYsIDB4M0EsICAvLyAuSC5YUS4uOgogICAgICAgICAgICAgICAgLyogMDBDMCAq LyAgMHgxMSwgMHg4RCwgMHhFQSwgMHg0MCwgMHg5OSwgMHgyNCwgMHgzOCwgMHhENCwgIC8vIC4u LkAuJDguCiAgICAgICAgICAgICAgICAvKiAwMEM4ICovICAweDMwLCAweDNELCAweEI1LCAweEU2 LCAweDI3LCAweEE2LCAweDg5LCAweDlDLCAgLy8gMD0uLicuLi4KICAgICAgICAgICAgICAgIC8q IDAwRDAgKi8gIDB4NUEsIDB4RDMsIDB4NDMsIDB4MTYsIDB4MjQsIDB4OTMsIDB4MzYsIDB4MTQs ICAvLyBaLkMuJC42LgogICAgICAgICAgICAgICAgLyogMDBEOCAqLyAgMHhENCwgMHhEOCwgMHgz RCwgMHhBRCwgMHg5MywgMHhGMiwgMHg0QywgMHgyMywgIC8vIC4uPS4uLkwjCiAgICAgICAgICAg ICAgICAvKiAwMEUwICovICAweDFFLCAweDk0LCAweDYxLCAweDEyLCAweDc4LCAweDE0LCAweDBD LCAweDhELCAgLy8gLi5hLnguLi4KICAgICAgICAgICAgICAgIC8qIDAwRTggKi8gIDB4MTMsIDB4 OTQsIDB4NzUsIDB4MjIsIDB4QTAsIDB4MDMsIDB4RTUsIDB4ODAsICAvLyAuLnUiLi4uLgogICAg ICAgICAgICAgICAgLyogMDBGMCAqLyAgMHgyNywgMHhFMSwgMHgzOSwgMHgxNiwgMHgyRiwgMHg0 MCwgMHhGOCwgMHg4OCwgIC8vICcuOS4vQC4uCiAgICAgICAgICAgICAgICAvKiAwMEY4ICovICAw eEM5LCAweEI0LCAweDRELCAweEUwLCAweDMzLCAweDgxLCAweDg3LCAweDc5LCAgLy8gLi5NLjMu LnkKICAgICAgICAgICAgICAgIC8qIDAxMDAgKi8gIDB4Q0MsIDB4RDgsIDB4MTEsIDB4ODUsIDB4 MEIsIDB4NzgsIDB4M0UsIDB4QzcsICAvLyAuLi4uLng+LgogICAgICAgICAgICAgICAgLyogMDEw OCAqLyAgMHgxMCwgMHgzOSwgMHhFRSwgMHhBMSwgMHhDNiwgMHgzOCwgMHg4QSwgMHhDOCwgIC8v IC45Li4uOC4uCiAgICAgICAgICAgICAgICAvKiAwMTEwICovICAweDQ3LCAweDYwLCAweDI0LCAw eDAzLCAweEM1LCAweDJCLCAweDA4LCAweDg5LCAgLy8gR2AkLi4rLi4KICAgICAgICAgICAgICAg IC8qIDAxMTggKi8gIDB4ODAsIDB4RjgsIDB4NzYsIDB4NzAsIDB4NzAsIDB4OTEsIDB4RkMsIDB4 RkYsICAvLyAuLnZwcC4uLgogICAgICAgICAgICAgICAgLyogMDEyMCAqLyAgMHg0NywgMHg4OSwg MHgxMSwgMHgyQSwgMHhDNiwgMHhEQiwgMHgwMCwgMHg2RSwgIC8vIEcuLiouLi5uCiAgICAgICAg ICAgICAgICAvKiAwMTI4ICovICAweDVFLCAweDA5LCAweDhBLCAweDFFLCAweDA3LCAweDRBLCAw eDA2LCAweDg0LCAgLy8gXi4uLi5KLi4KICAgICAgICAgICAgICAgIC8qIDAxMzAgKi8gIDB4M0Ms IDB4MEEsIDB4QjAsIDB4N0EsIDB4MjgsIDB4MjAsIDB4MDQsIDB4MTYsICAvLyA8Li56KCAuLgog ICAgICAgICAgICAgICAgLyogMDEzOCAqLyAgMHgyNywgMHg0MCwgMHhFMywgMHgzOCwgMHgwNSwg MHhEMywgMHg5OSwgMHgwMCwgIC8vICdALjguLi4uCiAgICAgICAgICAgICAgICAvKiAwMTQwICov ICAweDZELCAweDAyLCAweEJDLCAweDA5LCAweDMwLCAweDI3LCAweEMwLCAweDE2LCAgLy8gbS4u LjAnLi4KICAgICAgICAgICAgICAgIC8qIDAxNDggKi8gIDB4ODYsIDB4ODAsIDB4ODIsIDB4OUMs IDB4NTksIDB4OTQsIDB4MjAsIDB4MTEsICAvLyAuLi4uWS4gLgogICAgICAgICAgICAgICAgLyog MDE1MCAqLyAgMHg0MiwgMHgzMSwgMHg4OCwgMHgwQSwgMHgwNSwgMHgxOCwgMHg0MywgMHgxNCwg IC8vIEIxLi4uLkMuCiAgICAgICAgICAgICAgICAvKiAwMTU4ICovICAweENBLCAweDNCLCAweDQx LCAweDhDLCAweENBLCAweDIwLCAweDc0LCAweDgyLCAgLy8gLjtBLi4gdC4KICAgICAgICAgICAg ICAgIC8qIDAxNjAgKi8gIDB4MDgsIDB4MTQsIDB4M0QsIDB4NzgsIDB4OTgsIDB4RDYsIDB4NDAs IDB4NzQsICAvLyAuLj14Li5AdAogICAgICAgICAgICAgICAgLyogMDE2OCAqLyAgMHg4OSwgMHhG MCwgMHhDOCwgMHhCMSwgMHg0NywgMHgwMCwgMHg5RiwgMHgxOSwgIC8vIC4uLi5HLi4uCiAgICAg ICAgICAgICAgICAvKiAwMTcwICovICAweENFLCAweEU5LCAweDA0LCAweDFGLCAweDAxLCAweERF LCAweDE2LCAweDRDLCAgLy8gLi4uLi4uLkwKICAgICAgICAgICAgICAgIC8qIDAxNzggKi8gIDB4 RTAsIDB4NzksIDB4QkYsIDB4MjQsIDB4MUMsIDB4NkEsIDB4RDgsIDB4MDMsICAvLyAueS4kLmou LgogICAgICAgICAgICAgICAgLyogMDE4MCAqLyAgMHg4RSwgMHgxQSwgMHhFMywgMHgyOCwgMHgx MiwgMHg1OCwgMHhEMCwgMHgzMywgIC8vIC4uLiguWC4zCiAgICAgICAgICAgICAgICAvKiAwMTg4 ICovICAweDQyLCAweDE2LCAweDQwLCAweDE0LCAweDA5LCAweDFFLCAweDc1LCAweDY0LCAgLy8g Qi5ALi4udWQKICAgICAgICAgICAgICAgIC8qIDAxOTAgKi8gIDB4RjAsIDB4RTEsIDB4QzAsIDB4 MjMsIDB4M0IsIDB4NzIsIDB4Q0YsIDB4RjAsICAvLyAuLi4jO3IuLgogICAgICAgICAgICAgICAg LyogMDE5OCAqLyAgMHgwNCwgMHg4MiwgMHgxQywgMHhDMiwgMHgxMSwgMHgzQywgMHgzNiwgMHgz QywgIC8vIC4uLi4uPDY8CiAgICAgICAgICAgICAgICAvKiAwMUEwICovICAweDE1LCAweDc4LCAw eDBDLCAweEVDLCAweEJBLCAweEUwLCAweDczLCAweDgwLCAgLy8gLnguLi4ucy4KICAgICAgICAg ICAgICAgIC8qIDAxQTggKi8gIDB4OEYsIDB4MDksIDB4NzgsIDB4RDcsIDB4ODAsIDB4OUEsIDB4 RjMsIDB4RDMsICAvLyAuLnguLi4uLgogICAgICAgICAgICAgICAgLyogMDFCMCAqLyAgMHgwMSwg MHg5QiwgMHg3MiwgMHgzOCwgMHhDQywgMHg3MCwgMHgzRCwgMHhGRCwgIC8vIC4ucjgucD0uCiAg ICAgICAgICAgICAgICAvKiAwMUI4ICovICAweDcwLCAweDI3LCAweDcwLCAweEQyLCAweDA2LCAw eDY0LCAweEIzLCAweEYzLCAgLy8gcCdwLi5kLi4KICAgICAgICAgICAgICAgIC8qIDAxQzAgKi8g IDB4RTAsIDB4NzAsIDB4RTMsIDB4M0MsIDB4OTksIDB4MjMsIDB4MkIsIDB4NTUsICAvLyAucC48 LiMrVQogICAgICAgICAgICAgICAgLyogMDFDOCAqLyAgMHg4MCwgMHhEOSwgMHgxMywgMHg4Miwg MHg0RSwgMHgxMywgMHgzRSwgMHg3MywgIC8vIC4uLi5OLj5zCiAgICAgICAgICAgICAgICAvKiAw MUQwICovICAweEIwLCAweEJCLCAweEMwLCAweEY5LCAweEY0LCAweDBDLCAweDQ5LCAweEU0LCAg Ly8gLi4uLi4uSS4KICAgICAgICAgICAgICAgIC8qIDAxRDggKi8gIDB4MEYsIDB4MDIsIDB4MzUs IDB4MzIsIDB4NDMsIDB4RkIsIDB4MkMsIDB4RjAsICAvLyAuLjUyQy4sLgogICAgICAgICAgICAg ICAgLyogMDFFMCAqLyAgMHhFQSwgMHg2MSwgMHhDOCwgMHg4NywgMHg4NSwgMHhDMywgMHg2Miwg MHg2MiwgIC8vIC5hLi4uLmJiCiAgICAgICAgICAgICAgICAvKiAwMUU4ICovICAweENGLCAweDFF LCAweDc0LCAweDNDLCAweEUwLCAweDNGLCAweDI1LCAweDNDLCAgLy8gLi50PC4/JTwKICAgICAg ICAgICAgICAgIC8qIDAxRjAgKi8gIDB4NkMsIDB4NzgsIDB4RkEsIDB4OUUsIDB4QUYsIDB4MDks IDB4QTIsIDB4M0QsICAvLyBseC4uLi4uPQogICAgICAgICAgICAgICAgLyogMDFGOCAqLyAgMHg4 RiwgMHg4MCwgMHhFMSwgMHhGRiwgMHg3RiwgMHgxRSwgMHg4MSwgMHgzOSwgIC8vIC4uLi4uLi45 CiAgICAgICAgICAgICAgICAvKiAwMjAwICovICAweDlDLCAweDA3LCAweDg0LCAweDI3LCAweDA3 LCAweDc2LCAweDgwLCAweEMwLCAgLy8gLi4uJy52Li4KICAgICAgICAgICAgICAgIC8qIDAyMDgg Ki8gIDB4MUMsIDB4NDgsIDB4ODAsIDB4QzksIDB4RjksIDB4MDIsIDB4NzcsIDB4MjgsICAvLyAu SC4uLi53KAogICAgICAgICAgICAgICAgLyogMDIxMCAqLyAgMHhGMCwgMHgxMCwgMHhGOCwgMHgw MCwgMHgxRSwgMHgyNSwgMHhDRSwgMHhEMSwgIC8vIC4uLi4uJS4uCiAgICAgICAgICAgICAgICAv KiAwMjE4ICovICAweDRBLCAweDY3LCAweDg2LCAweDNDLCAweEI5LCAweDgwLCAweDJELCAweEZC LCAgLy8gSmcuPC4uLS4KICAgICAgICAgICAgICAgIC8qIDAyMjAgKi8gIDB4MUIsIDB4NDAsIDB4 MDcsIDB4MEYsIDB4RTcsIDB4MDYsIDB4OTEsIDB4OEQsICAvLyAuQC4uLi4uLgogICAgICAgICAg ICAgICAgLyogMDIyOCAqLyAgMHg1NywgMHg4MCwgMHgwOSwgMHg3NCwgMHgzOCwgMHhCMSwgMHgx RSwgMHgyMCwgIC8vIFcuLnQ4Li4gCiAgICAgICAgICAgICAgICAvKiAwMjMwICovICAweDRELCAw eDE0LCAweDBDLCAweDA0LCAweEQzLCAweEQzLCAweDZCLCAweDAwLCAgLy8gTS4uLi4uay4KICAg ICAgICAgICAgICAgIC8qIDAyMzggKi8gIDB4M0UsIDB4MTUsIDB4MzgsIDB4MzcsIDB4ODksIDB4 OTIsIDB4MEYsIDB4OEMsICAvLyA+Ljg3Li4uLgogICAgICAgICAgICAgICAgLyogMDI0MCAqLyAg MHhDMiwgMHgzOSwgMHhFQiwgMHg3OSwgMHg4NCwgMHg4MiwgMHgxOCwgMHhEMCwgIC8vIC45Lnku Li4uCiAgICAgICAgICAgICAgICAvKiAwMjQ4ICovICAweDQxLCAweDIwLCAweEU0LCAweEU0LCAw eEEwLCAweDgwLCAweDNBLCAweEFBLCAgLy8gQSAuLi4uOi4KICAgICAgICAgICAgICAgIC8qIDAy NTAgKi8gIDB4RjgsIDB4M0MsIDB4NzIsIDB4QUEsIDB4MEYsIDB4M0QsIDB4OUUsIDB4OTQsICAv LyAuPHIuLj0uLgogICAgICAgICAgICAgICAgLyogMDI1OCAqLyAgMHg0NywgMHhFMSwgMHhBQiwg MHg4QSwgMHgwRiwgMHgyMSwgMHgzRSwgMHg0RiwgIC8vIEcuLi4uIT5PCiAgICAgICAgICAgICAg ICAvKiAwMjYwICovICAweDc4LCAweEY0LCAweDNFLCAweDI5LCAweEYwLCAweEVGLCAweDhDLCAw eEFGLCAgLy8geC4+KS4uLi4KICAgICAgICAgICAgICAgIC8qIDAyNjggKi8gIDB4MEUsIDB4NDYs IDB4QjcsIDB4OUEsIDB4RTMsIDB4MEEsIDB4MEEsIDB4Q0MsICAvLyAuRi4uLi4uLgogICAgICAg ICAgICAgICAgLyogMDI3MCAqLyAgMHg2NywgMHgxMSwgMHg0RSwgMHg1MCwgMHhENywgMHg2RCwg MHgwMSwgMHhGQSwgIC8vIGcuTlAubS4uCiAgICAgICAgICAgICAgICAvKiAwMjc4ICovICAweDI5 LCAweEUwLCAweDA4LCAweDNDLCAweDk0LCAweDc3LCAweDkyLCAweEM3LCAgLy8gKS4uPC53Li4K ICAgICAgICAgICAgICAgIC8qIDAyODAgKi8gIDB4OTAsIDB4MDQsIDB4RjUsIDB4OUQsIDB4MTYs IDB4NDAsIDB4MDEsIDB4RTQsICAvLyAuLi4uLkAuLgogICAgICAgICAgICAgICAgLyogMDI4OCAq LyAgMHg5QiwgMHg4MSwgMHg0RiwgMHgwMiwgMHgyMSwgMHhGRSwgMHhGRiwgMHg0RiwgIC8vIC4u Ty4hLi5PCiAgICAgICAgICAgICAgICAvKiAwMjkwICovICAweDA3LCAweDFFLCAweEMzLCAweEMz LCAweDgwLCAweEQxLCAweDhDLCAweENFLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIC8q IDAyOTggKi8gIDB4QzMsIDB4NEYsIDB4MTYsIDB4MTUsIDB4NzcsIDB4QjIsIDB4MTQsIDB4QzQs ICAvLyAuTy4udy4uLgogICAgICAgICAgICAgICAgLyogMDJBMCAqLyAgMHg5MywgMHg3NSwgMHg5 NCwgMHhDOSwgMHhBMiwgMHg2NywgMHhFMiwgMHhBQiwgIC8vIC51Li4uZy4uCiAgICAgICAgICAg ICAgICAvKiAwMkE4ICovICAweDg1LCAweDI3LCAweDc0LCAweDRBLCAweDQxLCAweENFLCAweEQx LCAweDEzLCAgLy8gLid0SkEuLi4KICAgICAgICAgICAgICAgIC8qIDAyQjAgKi8gIDB4RjYsIDB4 NTUsIDB4MDQsIDB4RDYsIDB4RjksIDB4MjAsIDB4RTQsIDB4OEIsICAvLyAuVS4uLiAuLgogICAg ICAgICAgICAgICAgLyogMDJCOCAqLyAgMHg4MSwgMHhBNywgMHg2MSwgMHgzOCwgMHg0RiwgMHg5 NiwgMHhDMywgMHg3OSwgIC8vIC4uYThPLi55CiAgICAgICAgICAgICAgICAvKiAwMkMwICovICAw eEIyLCAweDdDLCAweDJDLCAweEJFLCAweDZBLCAweEMwLCAweDFGLCAweDJELCAgLy8gLnwsLmou Li0KICAgICAgICAgICAgICAgIC8qIDAyQzggKi8gIDB4OTYsIDB4QTAsIDB4QzAsIDB4RDksIDB4 ODIsIDB4MUMsIDB4MUUsIDB4MTMsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgLyogMDJE MCAqLyAgMHg2RiwgMHg1NCwgMHhGNCwgMHg0NiwgMHhFNCwgMHhFMSwgMHhGMSwgMHhDQiwgIC8v IG9ULkYuLi4uCiAgICAgICAgICAgICAgICAvKiAwMkQ4ICovICAweDgxLCAweEU3LCAweEYzLCAw eDhDLCAweDcwLCAweDk0LCAweDZGLCAweDEyLCAgLy8gLi4uLnAuby4KICAgICAgICAgICAgICAg IC8qIDAyRTAgKi8gIDB4MzgsIDB4OEMsIDB4QzcsIDB4MTIsIDB4MEYsIDB4RDEsIDB4OTcsIDB4 MjMsICAvLyA4Li4uLi4uIwogICAgICAgICAgICAgICAgLyogMDJFOCAqLyAgMHg1OCwgMHgxMywg MHgzOSwgMHg2OSwgMHhERiwgMHgxNiwgMHg0RSwgMHgzNiwgIC8vIFguOWkuLk42CiAgICAgICAg ICAgICAgICAvKiAwMkYwICovICAweEU4LCAweDRCLCAweDEwLCAweEJCLCAweDFDLCAweDAxLCAw eEJGLCAweDg4LCAgLy8gLksuLi4uLi4KICAgICAgICAgICAgICAgIC8qIDAyRjggKi8gIDB4MjYs IDB4ODYsIDB4QzEsIDB4MjIsIDB4MkQsIDB4NDUsIDB4MTEsIDB4MTcsICAvLyAmLi4iLUUuLgog ICAgICAgICAgICAgICAgLyogMDMwMCAqLyAgMHg0NSwgMHg2MSwgMHg3QywgMHhDNSwgMHg4Miwg MHhGRCwgMHhGRiwgMHhCRiwgIC8vIEVhfC4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMzA4ICov ICAweDYyLCAweDAxLCAweDE2LCAweDA0LCAweDBGLCAweDFCLCAweDM0LCAweDg3LCAgLy8gYi4u Li4uNC4KICAgICAgICAgICAgICAgIC8qIDAzMTAgKi8gIDB4ODMsIDB4OTcsIDB4MUUsIDB4MzYs IDB4NkIsIDB4MzgsIDB4MDcsIDB4OTksICAvLyAuLi42azguLgogICAgICAgICAgICAgICAgLyog MDMxOCAqLyAgMHhEMywgMHhGMSwgMHg0OCwgMHg0RSwgMHgxQiwgMHhDNiwgMHgxRCwgMHgwQiwg IC8vIC4uSE4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMzIwICovICAweEZFLCAweDlELCAweEVB LCAweEE5LCAweENBLCAweEQzLCAweDhBLCAweEYyLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAg ICAgIC8qIDAzMjggKi8gIDB4NjQsIDB4RjUsIDB4N0EsIDB4RTUsIDB4NjMsIDB4OTYsIDB4QTEs IDB4Q0UsICAvLyBkLnouYy4uLgogICAgICAgICAgICAgICAgLyogMDMzMCAqLyAgMHhFMCwgMHgx RCwgMHhDQiwgMHhCNywgMHgzQywgMHg0RiwgMHgyMSwgMHg0QSwgIC8vIC4uLi48TyFKCiAgICAg ICAgICAgICAgICAvKiAwMzM4ICovICAweDlDLCAweDk3LCAweDJELCAweDc2LCAweEM3LCAweDMy LCAweDQ4LCAweDUwLCAgLy8gLi4tdi4ySFAKICAgICAgICAgICAgICAgIC8qIDAzNDAgKi8gIDB4 MjMsIDB4M0YsIDB4NjgsIDB4MzEsIDB4OTQsIDB4RTAsIDB4RjEsIDB4REUsICAvLyAjP2gxLi4u LgogICAgICAgICAgICAgICAgLyogMDM0OCAqLyAgMHhCMSwgMHgwMCwgMHg2RiwgMHhGRiwgMHhG RiwgMHgzQiwgMHgxNiwgMHg2MCwgIC8vIC4uby4uOy5gCiAgICAgICAgICAgICAgICAvKiAwMzUw ICovICAweEZDLCAweDA0LCAweEMxLCAweDA5LCAweDdDLCAweEM3LCAweDAyLCAweDFDLCAgLy8g Li4uLnwuLi4KICAgICAgICAgICAgICAgIC8qIDAzNTggKi8gIDB4QzUsIDB4N0UsIDB4MzcsIDB4 RTgsIDB4NEEsIDB4NDUsIDB4RUUsIDB4NTgsICAvLyAufjcuSkUuWAogICAgICAgICAgICAgICAg LyogMDM2MCAqLyAgMHgyOCwgMHgwRSwgMHhBQiwgMHhCOSwgMHg2MywgMHg0MSwgMHg5QywgMHgy OCwgIC8vICguLi5jQS4oCiAgICAgICAgICAgICAgICAvKiAwMzY4ICovICAweEU2LCAweDhBLCAw eDA1LCAweDg2LCAweEZGLCAweEZGLCAweDE1LCAweDBCLCAgLy8gLi4uLi4uLi4KICAgICAgICAg ICAgICAgIC8qIDAzNzAgKi8gIDB4RTAsIDB4NzUsIDB4QzAsIDB4MkIsIDB4MTYsIDB4NjgsIDB4 RkUsIDB4RkYsICAvLyAudS4rLmguLgogICAgICAgICAgICAgICAgLyogMDM3OCAqLyAgMHg1Nywg MHgyQywgMHhGMCwgMHg1RSwgMHg4RSwgMHg4MCwgMHhERiwgMHgwOSwgIC8vIFcsLl4uLi4uCiAg ICAgICAgICAgICAgICAvKiAwMzgwICovICAweEQxLCAweDc3LCAweDBELCAweDdFLCAweDlBLCAw eEI2LCAweEEyLCAweEJCLCAgLy8gLncufi4uLi4KICAgICAgICAgICAgICAgIC8qIDAzODggKi8g IDB4MDYsIDB4OTQsIDB4MTksIDB4QkUsIDB4MDcsIDB4RjksIDB4QjAsIDB4MTMsICAvLyAuLi4u Li4uLgogICAgICAgICAgICAgICAgLyogMDM5MCAqLyAgMHgyQywgMHhEMiwgMHhBMywgMHg4RCwg MHg2RiwgMHg0OSwgMHhFMSwgMHg3QywgIC8vICwuLi5vSS58CiAgICAgICAgICAgICAgICAvKiAw Mzk4ICovICAweERCLCAweDAwLCAweEQ4LCAweEYyLCAweEZGLCAweEJGLCAweDZELCAweDAwLCAg Ly8gLi4uLi4ubS4KICAgICAgICAgICAgICAgIC8qIDAzQTAgKi8gIDB4NEMsIDB4MTksIDB4QkYs IDB4NkYsIDB4MUIsIDB4QzAsIDB4NEYsIDB4QTEsICAvLyBMLi5vLi5PLgogICAgICAgICAgICAg ICAgLyogMDNBOCAqLyAgMHg0RCwgMHg5RiwgMHgxQSwgMHg4RCwgMHg1QSwgMHgzNSwgMHgyOCwg MHg1MywgIC8vIE0uLi5aNShTCiAgICAgICAgICAgICAgICAvKiAwM0IwICovICAweEEzLCAweDRD LCAweDgzLCAweDVBLCAweDdELCAweDJBLCAweDM1LCAweDY2LCAgLy8gLkwuWn0qNWYKICAgICAg ICAgICAgICAgIC8qIDAzQjggKi8gIDB4NEMsIDB4QzksIDB4QzEsIDB4Q0UsIDB4NzcsIDB4MEMs IDB4MkEsIDB4NkMsICAvLyBMLi4udy4qbAogICAgICAgICAgICAgICAgLyogMDNDMCAqLyAgMHg2 NSwgMHgxQSwgMHg5QSwgMHg2MywgMHg4MSwgMHhEMCwgMHgxMCwgMHhDNywgIC8vIGUuLmMuLi4u CiAgICAgICAgICAgICAgICAvKiAwM0M4ICovICAweDI2LCAweDE5LCAweDAxLCAweDUxLCAweDIy LCAweDEwLCAweDAxLCAweDU5LCAgLy8gJi4uUSIuLlkKICAgICAgICAgICAgICAgIC8qIDAzRDAg Ki8gIDB4RkQsIDB4NkYsIDB4NDIsIDB4NDAsIDB4Q0UsIDB4MDIsIDB4MjIsIDB4MjAsICAvLyAu b0JALi4iIAogICAgICAgICAgICAgICAgLyogMDNEOCAqLyAgMHgyQiwgMHg1OCwgMHg5QSwgMHhD MCwgMHg5RCwgMHhGRiwgMHhEOCwgMHgyOCwgIC8vICtYLi4uLi4oCiAgICAgICAgICAgICAgICAv KiAwM0UwICovICAweDQwLCAweEEyLCAweDAyLCAweDg0LCAweDI5LCAweDdELCAweDkzLCAweDA5 LCAgLy8gQC4uLil9Li4KICAgICAgICAgICAgICAgIC8qIDAzRTggKi8gIDB4RDQsIDB4QjIsIDB4 NDEsIDB4MDQsIDB4RjQsIDB4RkYsIDB4M0YsIDB4NDIsICAvLyAuLkEuLi4/QgogICAgICAgICAg ICAgICAgLyogMDNGMCAqLyAgMHhEOSwgMHgwMCwgMHg2MiwgMHg4MiwgMHg0MSwgMHgwNCwgMHg2 NCwgMHg5MSwgIC8vIC4uYi5BLmQuCiAgICAgICAgICAgICAgICAvKiAwM0Y4ICovICAweDNFLCAw eDgwLCAweDk4LCAweDYyLCAweDEwLCAweDAxLCAweDU5LCAweERELCAgLy8gPi4uYi4uWS4KICAg ICAgICAgICAgICAgIC8qIDA0MDAgKi8gIDB4QTMsIDB4NDAsIDB4NDAsIDB4RDYsIDB4MEEsIDB4 MjIsIDB4MjAsIDB4RkYsICAvLyAuQEAuLiIgLgogICAgICAgICAgICAgICAgLyogMDQwOCAqLyAg MHhGRiwgMHgwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4uCiAg ICAgICAgICAgIH0pCiAgICAgICAgfQoKICAgICAgICBTY29wZSAoUENJMC5MUEMwLkVDMC5IS0VZ KQogICAgICAgIHsKICAgICAgICAgICAgTXV0ZXggKEJGV00sIDB4MDApCiAgICAgICAgICAgIE1l dGhvZCAoTUhDRiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgTG9jYWwwID0gQkZXQyAoQXJnMCkKICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKE1IUEYsIDEsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKFJFVEIsIEJ1ZmZlciAoMHgyNSl7 fSkKICAgICAgICAgICAgICAgIEFjcXVpcmUgKEJGV00sIDB4RkZGRikKICAgICAgICAgICAgICAg IElmICgoU2l6ZU9mIChBcmcwKSA8PSAweDI1KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBCRldCID0gQXJnMAogICAgICAgICAgICAgICAgICAgIENIS1MgKCkKICAgICAg ICAgICAgICAgICAgICBJZiAoQkZXUCAoKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIENIS1MgKCkKICAgICAgICAgICAgICAgICAgICAgICAgQkZXTCAoKQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUkVUQiA9IEJGV0IgLyog XEJGV0IgKi8KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBSZWxlYXNlIChCRldN KQogICAgICAgICAgICAgICAgUmV0dXJuIChSRVRCKSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5I S0VZLk1IUEYuUkVUQiAqLwogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKE1ISUYs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKFJF VEIsIEJ1ZmZlciAoMHgwQSl7fSkKICAgICAgICAgICAgICAgIEFjcXVpcmUgKEJGV00sIDB4RkZG RikKICAgICAgICAgICAgICAgIEJGV0cgKEFyZzApCiAgICAgICAgICAgICAgICBSRVRCID0gQkZX QiAvKiBcQkZXQiAqLwogICAgICAgICAgICAgICAgUmVsZWFzZSAoQkZXTSkKICAgICAgICAgICAg ICAgIFJldHVybiAoUkVUQikgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5NSElGLlJFVEIg Ki8KICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChNSERNLCAxLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBCRE1DIChBcmcwKQogICAgICAgICAg ICB9CiAgICAgICAgfQoKICAgICAgICBTY29wZSAoUENJMC5MUEMwLkVDMC5IS0VZKQogICAgICAg IHsKICAgICAgICAgICAgTWV0aG9kIChQU1NHLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBTSUYgKDB4MDAsIDB4MDApKQogICAgICAgICAg ICB9CgogICAgICAgICAgICBNZXRob2QgKFBTU1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUFNJRiAoMHgwMSwgQXJnMCkpCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoUFNCUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChQU0lGICgweDAyLCBBcmcwKSkKICAgICAg ICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChCSUNHLCAxLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBTSUYgKDB4MDMsIEFyZzApKQogICAg ICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKEJJQ1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUFNJRiAoMHgwNCwgQXJnMCkpCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoQkNURywgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChQU0lGICgweDA1LCBBcmcwKSkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChCQ0NTLCAxLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBTSUYgKDB4MDYsIEFyZzAp KQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKEJDU0csIDEsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUFNJRiAoMHgwNywgQXJn MCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoQkNTUywgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChQU0lGICgweDA4LCBB cmcwKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChCRFNHLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBTSUYgKDB4MDks IEFyZzApKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKEJEU1MsIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUFNJRiAoMHgw QSwgQXJnMCkpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIFNjb3BlIChQQ0kwLkxQ QzAuRUMwLkhLRVkpCiAgICAgICAgewogICAgICAgICAgICBNZXRob2QgKEdJTE4sIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoKDB4MDIgfCBJ TE5GKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChTSUxOLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoKDB4MDEgPT0gQXJnMCkp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSUxORiA9IDB4MDEKICAgICAg ICAgICAgICAgICAgICBCQkxTID0gMHgwMAogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2VJZiAoKDB4MDIgPT0gQXJn MCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSUxORiA9IDB4MDAKICAg ICAgICAgICAgICAgICAgICBCQkxTID0gMHgwMQogICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoR0xTSSwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKEg4RFIpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgoMHgwMiArIEhQTEQpKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgRWxzZUlmICgoUkJFQyAoMHg0NikgJiAweDA0KSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDMpCiAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9 CiAgICAgICAgfQoKICAgICAgICBTY29wZSAoUENJMC5MUEMwLkVDMC5IS0VZKQogICAgICAgIHsK ICAgICAgICAgICAgTWV0aG9kIChHRExOLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBSZXR1cm4gKCgweDAyIHwgUExVWCkpCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIE1ldGhvZCAoU0RMTiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgSWYgKCgweDAxID09IEFyZzApKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFBMVVggPSAweDAxCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDAwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZUlmICgoMHgwMiA9PSBB cmcwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBQTFVYID0gMHgwMAog ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MDEpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAg ICAgIFNjb3BlIChQQ0kwLkxQQzAuRUMwLkhLRVkpCiAgICAgICAgewogICAgICAgICAgICBNZXRo b2QgKEZQU1csIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN3 aXRjaCAoKEFyZzAgJiAweEZGRkYpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIENhc2UgKDB4MDEwMCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIExvY2FsMCA9IEdMRlAgKCkKICAgICAgICAgICAgICAgICAgICAgICAgRlBTVSA9IExv Y2FsMAogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAoTG9jYWwwIDw8PSAweDAxIHwg MHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIENhc2UgKDB4MDEwMSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IChBcmcwID4+IDB4MTAp CiAgICAgICAgICAgICAgICAgICAgICAgIFNMRlAgKExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICBEZWZhdWx0CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4ODAwMDAwMDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIE1ldGhvZCAoR0xGUCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgSWYgKChGUENJICgweDAwLCAweDAwKSA9PSAweDAxKSkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAg ICAgICBNZXRob2QgKFNMRlAsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIElmICgoQXJnMCA9PSAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBGUFNVID0gMHgwMQogICAgICAgICAgICAgICAgICAgIEZQQ0kgKDB4MDEsIDB4 MDEpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgRlBTVSA9IDB4MDAKICAgICAgICAgICAgICAgICAgICBG UENJICgweDAxLCAweDAwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAg fQogICAgfQoKICAgIFNjb3BlIChcKQogICAgewogICAgICAgIE5hbWUgKEhQRFQsIFBhY2thZ2Ug KDB4MDkpCiAgICAgICAgewogICAgICAgICAgICAiTEVHQUNZSFAiLCAKICAgICAgICAgICAgMHg4 MDAwMDAwMCwgCiAgICAgICAgICAgIDB4ODAwMDAwMDAsIAogICAgICAgICAgICAiTkFUSVZFSFAi LCAKICAgICAgICAgICAgMHg4MDAwMDAwMCwgCiAgICAgICAgICAgIDB4ODAwMDAwMDAsIAogICAg ICAgICAgICAiVEhFUk1BTFgiLCAKICAgICAgICAgICAgMHg4MDAwMDAwMCwgCiAgICAgICAgICAg IDB4ODAwMDAwMDAKICAgICAgICB9KQogICAgICAgIE5hbWUgKEREQjAsIDB4MDApCiAgICAgICAg TmFtZSAoRERCMSwgMHgwMCkKICAgICAgICBOYW1lIChEREIyLCAweDAwKQogICAgfQoKICAgIFNj b3BlIChfR1BFKQogICAgewogICAgICAgIE1ldGhvZCAoX0wwOCwgMCwgTm90U2VyaWFsaXplZCkg IC8vIF9MeHg6IExldmVsLVRyaWdnZXJlZCBHUEUsIHh4PTB4MDAtMHhGRgogICAgICAgIHsKICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR1BQMCwgMHgwMikgLy8gRGV2aWNlIFdha2UKICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR1BQMSwgMHgwMikgLy8gRGV2aWNlIFdha2UKICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR1BQMiwgMHgwMikgLy8gRGV2aWNlIFdha2UKICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR1BQMywgMHgwMikgLy8gRGV2aWNlIFdha2UKICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR1BQNCwgMHgwMikgLy8gRGV2aWNlIFdha2UKICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR1BQNSwgMHgwMikgLy8gRGV2aWNlIFdha2UKICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR1BQNiwgMHgwMikgLy8gRGV2aWNlIFdha2UKICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR1AxNywgMHgwMikgLy8gRGV2aWNlIFdha2UKICAg ICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR1AxOCwgMHgwMikgLy8gRGV2aWNlIFdha2UKICAg ICAgICAgICAgTG9jYWwwID0gXF9TQi5QQ0kwLkxQQzAuRUMwLkhXQUsKICAgICAgICAgICAgUlJC RiA9IExvY2FsMAogICAgICAgICAgICBJZiAoKExvY2FsMCAmIDB4MDEpKXt9CiAgICAgICAgICAg IElmICgoTG9jYWwwICYgMHgwMikpe30KICAgICAgICAgICAgSWYgKChMb2NhbDAgJiAweDA0KSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLkxJRCwgMHgwMikgLy8g RGV2aWNlIFdha2UKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChMb2NhbDAgJiAweDA4 KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlNMUEIsIDB4MDIp IC8vIERldmljZSBXYWtlCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoTG9jYWwwICYg MHgxMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5TTFBCLCAw eDAyKSAvLyBEZXZpY2UgV2FrZQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKExvY2Fs MCAmIDB4ODApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuU0xQ QiwgMHgwMikgLy8gRGV2aWNlIFdha2UKICAgICAgICAgICAgfQoKICAgICAgICAgICAgXF9TQi5Q Q0kwLkxQQzAuRUMwLkhXQUsgPSAweDAwCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMTks IDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfTHh4OiBMZXZlbC1UcmlnZ2VyZWQgR1BFLCB4eD0weDAw LTB4RkYKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLkdQMTcuWEhDMCwg MHgwMikgLy8gRGV2aWNlIFdha2UKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuR1AxNy5Y SEMxLCAweDAyKSAvLyBEZXZpY2UgV2FrZQogICAgICAgIH0KICAgIH0KCiAgICBPcGVyYXRpb25S ZWdpb24gKERCR1csIFN5c3RlbUlPLCAweDgwLCAweDAyKQogICAgRmllbGQgKERCR1csIFdvcmRB Y2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgUDgwVywgICAxNgogICAgfQoKICAg IE9wZXJhdGlvblJlZ2lvbiAoREJHRCwgU3lzdGVtSU8sIDB4ODAsIDB4MDQpCiAgICBGaWVsZCAo REJHRCwgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICB7CiAgICAgICAgUDgwRCwgICAz MgogICAgfQoKICAgIE5hbWUgKFRTT1MsIDB4NzUpCiAgICBJZiAoQ29uZFJlZk9mIChcX09TSSkp CiAgICB7CiAgICAgICAgSWYgKF9PU0kgKCJXaW5kb3dzIDIwMDkiKSkKICAgICAgICB7CiAgICAg ICAgICAgIFRTT1MgPSAweDUwCiAgICAgICAgfQoKICAgICAgICBJZiAoX09TSSAoIldpbmRvd3Mg MjAxNSIpKQogICAgICAgIHsKICAgICAgICAgICAgVFNPUyA9IDB4NzAKICAgICAgICB9CiAgICB9 CgogICAgU2NvcGUgKF9TQikKICAgIHsKICAgICAgICBPcGVyYXRpb25SZWdpb24gKFNNSUMsIFN5 c3RlbU1lbW9yeSwgMHhGRUQ4MDAwMCwgMHgwMDgwMDAwMCkKICAgICAgICBGaWVsZCAoU01JQywg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9mZnNldCAo MHgzNkEpLCAKICAgICAgICAgICAgU01JQiwgICA4CiAgICAgICAgfQoKICAgICAgICBPcGVyYXRp b25SZWdpb24gKFNTTUksIFN5c3RlbUlPLCBTTUlCLCAweDAyKQogICAgICAgIEZpZWxkIChTU01J LCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAgICAgICBTTUlXLCAg IDE2CiAgICAgICAgfQoKICAgICAgICBPcGVyYXRpb25SZWdpb24gKEVDTUMsIFN5c3RlbUlPLCAw eDcyLCAweDAyKQogICAgICAgIEZpZWxkIChFQ01DLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgewogICAgICAgICAgICBFQ01JLCAgIDgsIAogICAgICAgICAgICBFQ01ELCAgIDgK ICAgICAgICB9CgogICAgICAgIEluZGV4RmllbGQgKEVDTUksIEVDTUQsIEJ5dGVBY2MsIE5vTG9j aywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAgICAgICBPZmZzZXQgKDB4MDgpLCAKICAgICAg ICAgICAgRlJUQiwgICAzMgogICAgICAgIH0KCiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChGUlRQ LCBTeXN0ZW1NZW1vcnksIEZSVEIsIDB4MDEwMCkKICAgICAgICBGaWVsZCAoRlJUUCwgQW55QWNj LCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgIHsKICAgICAgICAgICAgUEVCQSwgICAzMiwgCiAg ICAgICAgICAgIFNQSUUsICAgMSwgCiAgICAgICAgICAgIFA4MEUsICAgMSwgCiAgICAgICAgICAg ICAgICAsICAgMiwgCiAgICAgICAgICAgIE5JMkMsICAgMSwgCiAgICAgICAgICAgIElDMEUsICAg MSwgCiAgICAgICAgICAgIElDMUUsICAgMSwgCiAgICAgICAgICAgIElDMkUsICAgMSwgCiAgICAg ICAgICAgIElDM0UsICAgMSwgCiAgICAgICAgICAgIElDNEUsICAgMSwgCiAgICAgICAgICAgIElD NUUsICAgMSwgCiAgICAgICAgICAgIFVUMEUsICAgMSwgCiAgICAgICAgICAgIFVUMUUsICAgMSwg CiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAg ICAgIFNUX0UsICAgMSwgCiAgICAgICAgICAgIFVUMkUsICAgMSwgCiAgICAgICAgICAgICAgICAs ICAgMSwgCiAgICAgICAgICAgIEVNTUQsICAgMiwgCiAgICAgICAgICAgICAgICAsICAgMywgCiAg ICAgICAgICAgIFhIQ0UsICAgMSwgCiAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAg ICAgICAsICAgMSwgCiAgICAgICAgICAgIFVUM0UsICAgMSwgCiAgICAgICAgICAgIEVTUEksICAg MSwgCiAgICAgICAgICAgIEVNTUUsICAgMSwgCiAgICAgICAgICAgIE9mZnNldCAoMHgwOCksIAog ICAgICAgICAgICBQQ0VGLCAgIDEsIAogICAgICAgICAgICAgICAgLCAgIDQsIAogICAgICAgICAg ICBJQzBELCAgIDEsIAogICAgICAgICAgICBJQzFELCAgIDEsIAogICAgICAgICAgICBJQzJELCAg IDEsIAogICAgICAgICAgICBJQzNELCAgIDEsIAogICAgICAgICAgICBJQzRELCAgIDEsIAogICAg ICAgICAgICBJQzVELCAgIDEsIAogICAgICAgICAgICBVVDBELCAgIDEsIAogICAgICAgICAgICBV VDFELCAgIDEsIAogICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgLCAgIDEs IAogICAgICAgICAgICBTVF9ELCAgIDEsIAogICAgICAgICAgICBVVDJELCAgIDEsIAogICAgICAg ICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICBFSENELCAgIDEsIAogICAgICAgICAgICAgICAg LCAgIDQsIAogICAgICAgICAgICBYSENELCAgIDEsIAogICAgICAgICAgICBTRF9ELCAgIDEsIAog ICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICBVVDNELCAgIDEsIAogICAgICAgICAg ICAgICAgLCAgIDEsIAogICAgICAgICAgICBFTUQzLCAgIDEsIAogICAgICAgICAgICAgICAgLCAg IDIsIAogICAgICAgICAgICBTMDNELCAgIDEsIAogICAgICAgICAgICBGVzAwLCAgIDE2LCAKICAg ICAgICAgICAgRlcwMSwgICAzMiwgCiAgICAgICAgICAgIEZXMDIsICAgMTYsIAogICAgICAgICAg ICBGVzAzLCAgIDMyLCAKICAgICAgICAgICAgU0RTMCwgICA4LCAKICAgICAgICAgICAgU0RTMSwg ICA4LCAKICAgICAgICAgICAgQ1pGRywgICAxLCAKICAgICAgICAgICAgT2Zmc2V0ICgweDIwKSwg CiAgICAgICAgICAgIFNEMTAsICAgMzIsIAogICAgICAgICAgICBFSDEwLCAgIDMyLCAKICAgICAg ICAgICAgWEgxMCwgICAzMiwgCiAgICAgICAgICAgIFNUQkEsICAgMzIKICAgICAgICB9CgogICAg ICAgIE9wZXJhdGlvblJlZ2lvbiAoRkNGRywgU3lzdGVtTWVtb3J5LCBQRUJBLCAweDAxMDAwMDAw KQogICAgICAgIEZpZWxkIChGQ0ZHLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAg ICB7CiAgICAgICAgICAgIE9mZnNldCAoMHhBMzA0NCksIAogICAgICAgICAgICBJUERFLCAgIDMy LCAKICAgICAgICAgICAgSU1QRSwgICAzMiwgCiAgICAgICAgICAgIE9mZnNldCAoMHhBMzA2Qyks IAogICAgICAgICAgICBSQVIyLCAgIDMyLCAKICAgICAgICAgICAgT2Zmc2V0ICgweEEzMDc4KSwg CiAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgIExEUTAsICAgMSwgCiAgICAgICAg ICAgIE9mZnNldCAoMHhBMzBDQiksIAogICAgICAgICAgICAgICAgLCAgIDcsIAogICAgICAgICAg ICBBVVNTLCAgIDEsIAogICAgICAgICAgICBPZmZzZXQgKDB4QTMwRDApLCAKICAgICAgICAgICAg ICAgICwgICAxMywgCiAgICAgICAgICAgIExDTEssICAgMgogICAgICAgIH0KCiAgICAgICAgT3Bl cmF0aW9uUmVnaW9uIChJT01YLCBTeXN0ZW1NZW1vcnksIDB4RkVEODBEMDAsIDB4MDEwMCkKICAg ICAgICBGaWVsZCAoSU9NWCwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgIHsKICAg ICAgICAgICAgT2Zmc2V0ICgweDE1KSwgCiAgICAgICAgICAgIElNMTUsICAgOCwgCiAgICAgICAg ICAgIElNMTYsICAgOCwgCiAgICAgICAgICAgIElNMTcsICAgOCwgCiAgICAgICAgICAgIE9mZnNl dCAoMHgxRiksIAogICAgICAgICAgICBJTTFGLCAgIDgsIAogICAgICAgICAgICBJTTIwLCAgIDgs IAogICAgICAgICAgICBPZmZzZXQgKDB4NDQpLCAKICAgICAgICAgICAgSU00NCwgICA4LCAKICAg ICAgICAgICAgT2Zmc2V0ICgweDQ2KSwgCiAgICAgICAgICAgIElNNDYsICAgOCwgCiAgICAgICAg ICAgIE9mZnNldCAoMHg0QSksIAogICAgICAgICAgICBJTTRBLCAgIDgsIAogICAgICAgICAgICBJ TTRCLCAgIDgsIAogICAgICAgICAgICBPZmZzZXQgKDB4NTcpLCAKICAgICAgICAgICAgSU01Nywg ICA4LCAKICAgICAgICAgICAgSU01OCwgICA4LCAKICAgICAgICAgICAgT2Zmc2V0ICgweDY4KSwg CiAgICAgICAgICAgIElNNjgsICAgOCwgCiAgICAgICAgICAgIElNNjksICAgOCwgCiAgICAgICAg ICAgIElNNkEsICAgOCwgCiAgICAgICAgICAgIElNNkIsICAgOCwgCiAgICAgICAgICAgIE9mZnNl dCAoMHg2RCksIAogICAgICAgICAgICBJTTZELCAgIDgKICAgICAgICB9CgogICAgICAgIE9wZXJh dGlvblJlZ2lvbiAoRk1JUywgU3lzdGVtTWVtb3J5LCAweEZFRDgwRTAwLCAweDAxMDApCiAgICAg ICAgRmllbGQgKEZNSVMsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAg ICAgICAgIE9mZnNldCAoMHg0MCksIAogICAgICAgICAgICAgICAgLCAgIDEzLCAKICAgICAgICAg ICAgSTI0TSwgICAxCiAgICAgICAgfQoKICAgICAgICBPcGVyYXRpb25SZWdpb24gKEZHSU8sIFN5 c3RlbU1lbW9yeSwgMHhGRUQ4MTUwMCwgMHgwMzAwKQogICAgICAgIEZpZWxkIChGR0lPLCBBbnlB Y2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAgICAgICBPZmZzZXQgKDB4QTgp LCAKICAgICAgICAgICAgICAgICwgICAyMiwgCiAgICAgICAgICAgIE8wNDIsICAgMSwgCiAgICAg ICAgICAgIE9mZnNldCAoMHgxNjQpLCAKICAgICAgICAgICAgICAgICwgICAyMiwgCiAgICAgICAg ICAgIE8wODksICAgMQogICAgICAgIH0KCiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChGQUNSLCBT eXN0ZW1NZW1vcnksIDB4RkVEODFFMDAsIDB4MDEwMCkKICAgICAgICBGaWVsZCAoRkFDUiwgQW55 QWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgIHsKICAgICAgICAgICAgT2Zmc2V0ICgweDYy KSwgCiAgICAgICAgICAgIEFNVEQsICAgMiwgCiAgICAgICAgICAgIE9mZnNldCAoMHg4MCksIAog ICAgICAgICAgICAgICAgLCAgIDI4LCAKICAgICAgICAgICAgUkQyOCwgICAxLCAKICAgICAgICAg ICAgICAgICwgICAxLCAKICAgICAgICAgICAgUlFUWSwgICAxLCAKICAgICAgICAgICAgT2Zmc2V0 ICgweDg0KSwgCiAgICAgICAgICAgICAgICAsICAgMjgsIAogICAgICAgICAgICBTRDI4LCAgIDEs IAogICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICBPZmZzZXQgKDB4QTApLCAKICAg ICAgICAgICAgUEcxQSwgICAxCiAgICAgICAgfQoKICAgICAgICBPcGVyYXRpb25SZWdpb24gKEVN TVgsIFN5c3RlbU1lbW9yeSwgMHhGRURENTgwMCwgMHgwMTMwKQogICAgICAgIEZpZWxkIChFTU1Y LCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAgICAgICBPZmZzZXQg KDB4RDApLCAKICAgICAgICAgICAgICAgICwgICAxNywgCiAgICAgICAgICAgIEZDMTgsICAgMSwg CiAgICAgICAgICAgIEZDMzMsICAgMSwgCiAgICAgICAgICAgICAgICAsICAgNywgCiAgICAgICAg ICAgIENEX1QsICAgMSwgCiAgICAgICAgICAgIFdQX1QsICAgMQogICAgICAgIH0KCiAgICAgICAg T3BlcmF0aW9uUmVnaW9uIChFTU1CLCBTeXN0ZW1NZW1vcnksIDB4RkVERDU4MDAsIDB4MDEzMCkK ICAgICAgICBGaWVsZCAoRU1NQiwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgIHsK ICAgICAgICAgICAgT2Zmc2V0ICgweEE0KSwgCiAgICAgICAgICAgIEUwQTQsICAgMzIsIAogICAg ICAgICAgICBFMEE4LCAgIDMyLCAKICAgICAgICAgICAgT2Zmc2V0ICgweEIwKSwgCiAgICAgICAg ICAgIEUwQjAsICAgMzIsIAogICAgICAgICAgICBPZmZzZXQgKDB4RDApLCAKICAgICAgICAgICAg RTBEMCwgICAzMiwgCiAgICAgICAgICAgIE9mZnNldCAoMHgxMTYpLCAKICAgICAgICAgICAgRTEx NiwgICAzMgogICAgICAgIH0KCiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChTUElNLCBTeXN0ZW1N ZW1vcnksIDB4RkVDMTAwMDAsIDB4MDEwMCkKICAgICAgICBGaWVsZCAoU1BJTSwgQW55QWNjLCBO b0xvY2ssIFByZXNlcnZlKQogICAgICAgIHsKICAgICAgICAgICAgT2Zmc2V0ICgweDFEKSwgCiAg ICAgICAgICAgIEFTQ0UsICAgMiwgCiAgICAgICAgICAgIE9mZnNldCAoMHgyMiksIAogICAgICAg ICAgICBTU1NDLCAgIDE2LCAKICAgICAgICAgICAgT2Zmc2V0ICgweEZDKSwgCiAgICAgICAgICAg IFNUUk4sICAgMSwgCiAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgIEJPV1MsICAg MSwgCiAgICAgICAgICAgIERPV1MsICAgMQogICAgICAgIH0KCiAgICAgICAgTXV0ZXggKEFTU00s IDB4MDApCiAgICAgICAgTmFtZSAoU1ZCRiwgQnVmZmVyICgweDAxMDApCiAgICAgICAgewogICAg ICAgICAgICAgMHgwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8vIC4KICAgICAgICB9KQogICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFNWQkYsIDB4MDAsIFMw QTQpCiAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoU1ZCRiwgMHgwNCwgUzBBOCkKICAgICAgICBD cmVhdGVEV29yZEZpZWxkIChTVkJGLCAweDA4LCBTMEIwKQogICAgICAgIENyZWF0ZURXb3JkRmll bGQgKFNWQkYsIDB4MEMsIFMwRDApCiAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoU1ZCRiwgMHgx MCwgUzExNikKICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFNWQkYsIDB4MTQsIFJHMjIpCiAgICAg ICAgQ3JlYXRlRFdvcmRGaWVsZCAoU1ZCRiwgMHgxOCwgU0FSMikKICAgICAgICBNZXRob2QgKFNF Q1IsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBTMTE2ID0gRTExNiAvKiBc X1NCXy5FMTE2ICovCiAgICAgICAgICAgIFJRVFkgPSBaZXJvCiAgICAgICAgICAgIFJEMjggPSBP bmUKICAgICAgICAgICAgTG9jYWwwID0gU0QyOCAvKiBcX1NCXy5TRDI4ICovCiAgICAgICAgICAg IFdoaWxlIChMb2NhbDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCA9IFNE MjggLyogXF9TQl8uU0QyOCAqLwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRo b2QgKFJFQ1IsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBFMTE2ID0gUzEx NiAvKiBcX1NCXy5TMTE2ICovCiAgICAgICAgfQoKICAgICAgICBPcGVyYXRpb25SZWdpb24gKExV SUUsIFN5c3RlbU1lbW9yeSwgMHhGRURDMDAyMCwgMHgwNCkKICAgICAgICBGaWVsZCAoTFVJRSwg QW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgIHsKICAgICAgICAgICAgSUVSMCwgICAx LCAKICAgICAgICAgICAgSUVSMSwgICAxLCAKICAgICAgICAgICAgSUVSMiwgICAxLCAKICAgICAg ICAgICAgSUVSMywgICAxLCAKICAgICAgICAgICAgVU9MMCwgICAxLCAKICAgICAgICAgICAgVU9M MSwgICAxLCAKICAgICAgICAgICAgVU9MMiwgICAxLCAKICAgICAgICAgICAgVU9MMywgICAxLCAK ICAgICAgICAgICAgV1VSMCwgICAyLCAKICAgICAgICAgICAgV1VSMSwgICAyLCAKICAgICAgICAg ICAgV1VSMiwgICAyLCAKICAgICAgICAgICAgV1VSMywgICAyCiAgICAgICAgfQoKICAgICAgICBN ZXRob2QgKEZSVUksIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoKEFy ZzAgPT0gMHgwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoSVVBMCkg LyogXF9TQl8uSVVBMCAqLwogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0g MHgwMSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoSVVBMSkgLyogXF9T Ql8uSVVBMSAqLwogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMikp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoSVVBMikgLyogXF9TQl8uSVVB MiAqLwogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMykpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoSVVBMykgLyogXF9TQl8uSVVBMyAqLwog ICAgICAgICAgICB9CgogICAgICAgICAgICBSZXR1cm4gKFplcm8pCiAgICAgICAgfQoKICAgICAg ICBNZXRob2QgKE9QODAsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAo UDgwRSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUDgwRCA9IEFyZzAKICAgICAgICAg ICAgfQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChTUkFELCAyLCBTZXJpYWxpemVkKQogICAg ICAgIHsKICAgICAgICAgICAgTG9jYWwxID0gKEFyZzEgPDwgMHgwNSkKICAgICAgICAgICAgTG9j YWwxICs9IDB4QjAwMEFGODAKICAgICAgICAgICAgTG9jYWwxICs9IEFyZzAKICAgICAgICAgICAg T1A4MCAoTG9jYWwxKQogICAgICAgICAgICBMb2NhbDAgPSAoQXJnMCA8PCAweDAxKQogICAgICAg ICAgICBMb2NhbDAgKz0gMHhGRUQ4MUU0MAogICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEFE Q1IsIFN5c3RlbU1lbW9yeSwgTG9jYWwwLCAweDAyKQogICAgICAgICAgICBGaWVsZCAoQURDUiwg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg QURURCwgICAyLCAKICAgICAgICAgICAgICAgIEFEUFMsICAgMSwgCiAgICAgICAgICAgICAgICBB RFBELCAgIDEsIAogICAgICAgICAgICAgICAgQURTTywgICAxLCAKICAgICAgICAgICAgICAgIEFE U0MsICAgMSwgCiAgICAgICAgICAgICAgICBBRFNSLCAgIDEsIAogICAgICAgICAgICAgICAgQURJ UywgICAxLCAKICAgICAgICAgICAgICAgIEFERFMsICAgMwogICAgICAgICAgICB9CgogICAgICAg ICAgICBBRElTID0gT25lCiAgICAgICAgICAgIEFEU1IgPSBaZXJvCiAgICAgICAgICAgIFN0YWxs IChBcmcxKQogICAgICAgICAgICBBRFNSID0gT25lCiAgICAgICAgICAgIEFESVMgPSBaZXJvCiAg ICAgICAgICAgIFN0YWxsIChBcmcxKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChEU0FELCAy LCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTG9jYWwxID0gKEFyZzEgPDwgMHgw NSkKICAgICAgICAgICAgTG9jYWwxICs9IDB4QjAwMEFGODAKICAgICAgICAgICAgTG9jYWwxICs9 IEFyZzAKICAgICAgICAgICAgT1A4MCAoTG9jYWwxKQogICAgICAgICAgICBMb2NhbDAgPSAoQXJn MCA8PCAweDAxKQogICAgICAgICAgICBMb2NhbDAgKz0gMHhGRUQ4MUU0MAogICAgICAgICAgICBP cGVyYXRpb25SZWdpb24gKEFEQ1IsIFN5c3RlbU1lbW9yeSwgTG9jYWwwLCAweDAyKQogICAgICAg ICAgICBGaWVsZCAoQURDUiwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgQURURCwgICAyLCAKICAgICAgICAgICAgICAgIEFEUFMsICAgMSwg CiAgICAgICAgICAgICAgICBBRFBELCAgIDEsIAogICAgICAgICAgICAgICAgQURTTywgICAxLCAK ICAgICAgICAgICAgICAgIEFEU0MsICAgMSwgCiAgICAgICAgICAgICAgICBBRFNSLCAgIDEsIAog ICAgICAgICAgICAgICAgQURJUywgICAxLCAKICAgICAgICAgICAgICAgIEFERFMsICAgMwogICAg ICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzEgIT0gQURURCkpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIElmICgoQXJnMSA9PSAweDAwKSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBBRFREID0gMHgwMAogICAgICAgICAgICAgICAgICAgIEFEUEQgPSBP bmUKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBBRERTIC8qIFxfU0JfLkRTQUQuQUREUyAq LwogICAgICAgICAgICAgICAgICAgIFdoaWxlICgoTG9jYWwwICE9IDB4MDcpKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQUREUyAvKiBcX1NC Xy5EU0FELkFERFMgKi8KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgSWYgKChBcmcxID09IDB4MDMpKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIEFEUEQgPSBaZXJvCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0g QUREUyAvKiBcX1NCXy5EU0FELkFERFMgKi8KICAgICAgICAgICAgICAgICAgICBXaGlsZSAoKExv Y2FsMCAhPSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIExvY2FsMCA9IEFERFMgLyogXF9TQl8uRFNBRC5BRERTICovCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBBRFREID0gMHgwMwogICAgICAgICAgICAgICAgfQog ICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEhTQUQsIDIsIFNlcmlhbGl6 ZWQpCiAgICAgICAgewogICAgICAgICAgICBMb2NhbDAgPSAoQXJnMCA8PCAweDAxKQogICAgICAg ICAgICBMb2NhbDAgKz0gMHhGRUQ4MUU0MAogICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEFE Q1IsIFN5c3RlbU1lbW9yeSwgTG9jYWwwLCAweDAyKQogICAgICAgICAgICBGaWVsZCAoQURDUiwg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg QURURCwgICAyLCAKICAgICAgICAgICAgICAgIEFEUFMsICAgMSwgCiAgICAgICAgICAgICAgICBB RFBELCAgIDEsIAogICAgICAgICAgICAgICAgQURTTywgICAxLCAKICAgICAgICAgICAgICAgIEFE U0MsICAgMSwgCiAgICAgICAgICAgICAgICBBRFNSLCAgIDEsIAogICAgICAgICAgICAgICAgQURJ UywgICAxLCAKICAgICAgICAgICAgICAgIEFERFMsICAgMwogICAgICAgICAgICB9CgogICAgICAg ICAgICBJZiAoKEFyZzEgIT0gQURURCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElm ICgoQXJnMSA9PSAweDAwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBB RFREID0gMHgwMAogICAgICAgICAgICAgICAgICAgIEFEUEQgPSBPbmUKICAgICAgICAgICAgICAg ICAgICBMb2NhbDAgPSBBRERTIC8qIFxfU0JfLkhTQUQuQUREUyAqLwogICAgICAgICAgICAgICAg ICAgIFdoaWxlICgoTG9jYWwwICE9IDB4MDcpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQUREUyAvKiBcX1NCXy5IU0FELkFERFMgKi8KICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJRVFkgPSBPbmUKICAgICAg ICAgICAgICAgICAgICBSRDI4ID0gT25lCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gU0Qy OCAvKiBcX1NCXy5TRDI4ICovCiAgICAgICAgICAgICAgICAgICAgV2hpbGUgKCFMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBTRDI4 IC8qIFxfU0JfLlNEMjggKi8KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgSWYgKChBcmcxID09IDB4MDMpKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFJRVFkgPSBaZXJvCiAgICAgICAgICAgICAgICAgICAgUkQyOCA9 IE9uZQogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IFNEMjggLyogXF9TQl8uU0QyOCAqLwog ICAgICAgICAgICAgICAgICAgIFdoaWxlIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBTRDI4IC8qIFxfU0JfLlNEMjggKi8KICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEFEUEQgPSBaZXJvCiAgICAg ICAgICAgICAgICAgICAgTG9jYWwwID0gQUREUyAvKiBcX1NCXy5IU0FELkFERFMgKi8KICAgICAg ICAgICAgICAgICAgICBXaGlsZSAoKExvY2FsMCAhPSAweDAwKSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IEFERFMgLyogXF9TQl8uSFNBRC5B RERTICovCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBBRFREID0g MHgwMwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBP cGVyYXRpb25SZWdpb24gKEZQSUMsIFN5c3RlbUlPLCAweDBDMDAsIDB4MDIpCiAgICAgICAgRmll bGQgKEZQSUMsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAg IEZQSUksICAgOCwgCiAgICAgICAgICAgIEZQSUQsICAgOAogICAgICAgIH0KCiAgICAgICAgSW5k ZXhGaWVsZCAoRlBJSSwgRlBJRCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7 CiAgICAgICAgICAgIE9mZnNldCAoMHhGNCksIAogICAgICAgICAgICBJVUEwLCAgIDgsIAogICAg ICAgICAgICBJVUExLCAgIDgsIAogICAgICAgICAgICBPZmZzZXQgKDB4RjgpLCAKICAgICAgICAg ICAgSVVBMiwgICA4LCAKICAgICAgICAgICAgSVVBMywgICA4CiAgICAgICAgfQoKICAgICAgICBE ZXZpY2UgKFNQSTEpCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChfSElELCAiQU1ESTAwNjAi KSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMCkgIC8v IF9VSUQ6IFVuaXF1ZSBJRAogICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6 ZWQpICAvLyBfU1RBOiBTdGF0dXMKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKFNQ SUUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQog ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8g X0NSUzogQ3VycmVudCBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBOYW1lIChSQlVGLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLAogICAgICAgICAgICAg ICAgICAgICAgICAweEZFQzEwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgQmFzZQogICAgICAgICAg ICAgICAgICAgICAgICAweDAwMDAwMTAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAg ICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBS ZXR1cm4gKFJCVUYpIC8qIFxfU0JfLlNQSTEuX0NSUy5SQlVGICovCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIE1ldGhvZCAoQVNTQywgMiwgU2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgQWNxdWlyZSAoQVNTTSwgMHhGRkZGKQogICAgICAgICAgICAgICAgTG9jYWww ID0gQXJnMQogICAgICAgICAgICAgICAgU3dpdGNoIChUb0ludGVnZXIgKEFyZzApKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENhc2UgKDB4MDMpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBET1dTID0gT25lCiAgICAgICAgICAgICAg ICAgICAgICAgIFNUUk4gPSBPbmUKICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKChCT1dT ICYmIFNUUk4pKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoQXJnMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdGFsbCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDAgLT0gT25lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKChMb2NhbDAgPT0gWmVybykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCcmVhawogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgU0FSMiA9IFJBUjIgLyog XF9TQl8uUkFSMiAqLwogICAgICAgICAgICAgICAgICAgICAgICBSQVIyID0gWmVybwogICAgICAg ICAgICAgICAgICAgICAgICBBU0NFID0gMHgwMgogICAgICAgICAgICAgICAgICAgICAgICBSRzIy ID0gU1NTQyAvKiBcX1NCXy5TU1NDICovCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgIENhc2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBTU1NDID0gUkcyMiAvKiBcX1NCXy5SRzIyICovCiAgICAgICAgICAgICAgICAg ICAgICAgIEFTQ0UgPSBaZXJvCiAgICAgICAgICAgICAgICAgICAgICAgIFJBUjIgPSBTQVIyIC8q IFxfU0JfLlNBUjIgKi8KICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gT25lCiAgICAg ICAgICAgICAgICAgICAgICAgIERPV1MgPSBaZXJvCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBSZWxlYXNlIChBU1NNKQogICAgICAgICAg ICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIERl dmljZSAoR1BJTykKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsICJBTURJMDAzMCIp ICAvLyBfSElEOiBIYXJkd2FyZSBJRAogICAgICAgICAgICBOYW1lIChfQ0lELCAiQU1ESTAwMzAi KSAgLy8gX0NJRDogQ29tcGF0aWJsZSBJRAogICAgICAgICAgICBOYW1lIChfVUlELCAweDAwKSAg Ly8gX1VJRDogVW5pcXVlIElECiAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFs aXplZCkgIC8vIF9DUlM6IEN1cnJlbnQgUmVzb3VyY2UgU2V0dGluZ3MKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTmFtZSAoUkJVRiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIEludGVycnVwdCAoUmVzb3VyY2VDb25zdW1lciwg TGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkLCAsLCApCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA3LAogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4RkVEODE1MDAsICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAwMDA0MDAsICAgICAgICAgLy8gQWRkcmVzcyBMZW5ndGgKICAgICAg ICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIFJl dHVybiAoUkJVRikgLyogXF9TQl8uR1BJTy5fQ1JTLlJCVUYgKi8KICAgICAgICAgICAgfQoKICAg ICAgICAgICAgTWV0aG9kIChSU1QsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIE5vdGlmeSAoR1BJTywgMHgwMCkgLy8gQnVzIENoZWNrCiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9TVEE6 IFN0YXR1cwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoKFRTT1MgPj0gMHg3MCkp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgfQogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoX1NCLlBDSTAuR1AxNy5WR0EpCiAgICB7 CiAgICAgICAgRGV2aWNlIChDQU1GKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0FEUiwg MHgxMDAwKSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5v dFNlcmlhbGl6ZWQpICAvLyBfU1RBOiBTdGF0dXMKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgSWYgKChPMDQyID09IE9uZSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVy biAoMHgwQikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfUFMwLCAwLCBOb3RT ZXJpYWxpemVkKSAgLy8gX1BTMDogUG93ZXIgU3RhdGUgMAogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBPMDQyID0gT25lCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX1BT MywgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QUzM6IFBvd2VyIFN0YXRlIDMKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgTzA0MiA9IFplcm8KICAgICAgICAgICAgfQogICAgICAgIH0KCiAg ICAgICAgRGV2aWNlIChDQU1SKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgy MDAwKSAgLy8gX0FEUjogQWRkcmVzcwogICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNl cmlhbGl6ZWQpICAvLyBfU1RBOiBTdGF0dXMKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg SWYgKChPMDg5ID09IE9uZSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAo MHgwQikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfUFMwLCAwLCBOb3RTZXJp YWxpemVkKSAgLy8gX1BTMDogUG93ZXIgU3RhdGUgMAogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBPMDg5ID0gT25lCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX1BTMywg MCwgTm90U2VyaWFsaXplZCkgIC8vIF9QUzM6IFBvd2VyIFN0YXRlIDMKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTzA4OSA9IFplcm8KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAg ICAgTWV0aG9kIChSQ1BVLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAg TzA4OSA9IE9uZQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChSQ1BELCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgIHsKICAgICAgICAgICAgTzA4OSA9IFplcm8KICAgICAgICB9CgogICAgICAg IE1ldGhvZCAoRkNQVSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE8w NDIgPSBPbmUKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoRkNQRCwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICB7CiAgICAgICAgICAgIE8wNDIgPSBaZXJvCiAgICAgICAgfQoKICAgICAgICBN ZXRob2QgKElDTEUsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJMjRN ID0gWmVybwogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChJQ0xELCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgIHsKICAgICAgICAgICAgSTI0TSA9IE9uZQogICAgICAgIH0KICAgIH0KCiAgICBT Y29wZSAoX1NCLlBDSTApCiAgICB7CiAgICAgICAgRGV2aWNlIChTTUIxKQogICAgICAgIHsKICAg ICAgICAgICAgTmFtZSAoX0hJRCwgIlNNQjAwMDEiKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAg ICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKSAgLy8gX0NSUzogQ3VycmVu dCBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsCiAgICAgICAgICAgICAgICAgICAgMHgwQjIwLCAgICAgICAgICAgICAvLyBSYW5nZSBN aW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwQjIwLCAgICAgICAgICAgICAvLyBSYW5nZSBN YXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgyMCwgICAgICAgICAgICAgICAvLyBBbGlnbm1l bnQKICAgICAgICAgICAgICAgICAgICAweDIwLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAg ICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywg U2hhcmVkLCApCiAgICAgICAgICAgICAgICAgICAgezd9CiAgICAgICAgICAgIH0pCiAgICAgICAg ICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9TVEE6IFN0YXR1cwogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgIH0KICAg ICAgICB9CiAgICB9CgogICAgU2NvcGUgKF9TQi5QQ0kwLkxQQzAuRUMwLkhLRVkpCiAgICB7CiAg ICAgICAgTmFtZSAoU1BMMCwgMHgyRUUwKQogICAgICAgIE5hbWUgKEZQUDAsIDB4MkVFMCkKICAg ICAgICBOYW1lIChTUFAwLCAweDJFRTApCiAgICAgICAgTmFtZSAoVENMMCwgMHg0NikKICAgICAg ICBOYW1lIChTVEMwLCAweDMyKQogICAgICAgIE5hbWUgKFNQTDEsIDB4M0E5OCkKICAgICAgICBO YW1lIChGUFAxLCAweDYxQTgpCiAgICAgICAgTmFtZSAoU1BQMSwgMHg2MUE4KQogICAgICAgIE5h bWUgKFRDTDEsIDB4NTApCiAgICAgICAgTmFtZSAoU1RDMSwgMHgzMikKICAgICAgICBOYW1lIChT UEwyLCAweDU1RjApCiAgICAgICAgTmFtZSAoRlBQMiwgMHg3NTMwKQogICAgICAgIE5hbWUgKFNQ UDIsIDB4NjFBOCkKICAgICAgICBOYW1lIChUQ0wyLCAweDVBKQogICAgICAgIE5hbWUgKFNUQzIs IDB4QzgpCiAgICAgICAgTmFtZSAoU1BMMywgMHg1NUYwKQogICAgICAgIE5hbWUgKEZQUDMsIDB4 NzUzMCkKICAgICAgICBOYW1lIChTUFAzLCAweDYxQTgpCiAgICAgICAgTmFtZSAoVENMMywgMHg1 QSkKICAgICAgICBOYW1lIChTVEMzLCAweEM4KQogICAgICAgIE5hbWUgKFNQTDQsIDB4NTVGMCkK ICAgICAgICBOYW1lIChGUFA0LCAweDc1MzApCiAgICAgICAgTmFtZSAoU1BQNCwgMHg2MUE4KQog ICAgICAgIE5hbWUgKFRDTDQsIDB4NUEpCiAgICAgICAgTmFtZSAoU1RDNCwgMHhDOCkKICAgICAg ICBOYW1lIChTUEw1LCAweDNBOTgpCiAgICAgICAgTmFtZSAoRlBQNSwgMHg3NTMwKQogICAgICAg IE5hbWUgKFNQUDUsIDB4NjFBOCkKICAgICAgICBOYW1lIChUQ0w1LCAweDUwKQogICAgICAgIE5h bWUgKFNUQzUsIDB4MzIpCiAgICAgICAgTmFtZSAoU1BMNiwgMHg1NUYwKQogICAgICAgIE5hbWUg KEZQUDYsIDB4NjFBOCkKICAgICAgICBOYW1lIChTUFA2LCAweDYxQTgpCiAgICAgICAgTmFtZSAo VENMNiwgMHg1QSkKICAgICAgICBOYW1lIChTVEM2LCAweEM4KQogICAgICAgIE5hbWUgKFRDTDcs IDB4NDYpCiAgICAgICAgTmFtZSAoU1RDNywgMHgzMikKICAgICAgICBOYW1lIChTUEw3LCAweDI3 MTApCiAgICAgICAgTmFtZSAoRlBQNywgMHgyNzEwKQogICAgICAgIE5hbWUgKFNQUDcsIDB4Mjcx MCkKICAgICAgICBOYW1lIChTUEw4LCAweDJFRTApCiAgICAgICAgTmFtZSAoRlBQOCwgMHgyRUUw KQogICAgICAgIE5hbWUgKFNQUDgsIDB4MkVFMCkKICAgICAgICBNZXRob2QgKERZVEMsIDEsIFNl cmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBMb2NhbDAgPSBBcmcwCiAgICAgICAgICAg IExvY2FsMSA9IDB4MDAKICAgICAgICAgICAgTmFtZSAoWFgxMSwgQnVmZmVyICgweDA3KXt9KQog ICAgICAgICAgICBOYW1lIChUU0NCLCAweDBGKQogICAgICAgICAgICBOYW1lIChUU0NDLCAweDBG KQogICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFhYMTEsIDB4MDAsIFNTWkUpCiAgICAgICAg ICAgIENyZWF0ZUJ5dGVGaWVsZCAoWFgxMSwgMHgwMiwgU01VRikKICAgICAgICAgICAgQ3JlYXRl RFdvcmRGaWVsZCAoWFgxMSwgMHgwMywgU01VRCkKICAgICAgICAgICAgU1NaRSA9IDB4MDcKICAg ICAgICAgICAgU3dpdGNoIChUb0ludGVnZXIgKChMb2NhbDAgJiAweDAxRkYpKSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgQ2FzZSAoMHgwMCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBMb2NhbDEgPSAweDAxMDAKICAgICAgICAgICAgICAgICAgICBMb2NhbDEg fD0gMHg0MDAwMDAwMAogICAgICAgICAgICAgICAgICAgIExvY2FsMSB8PSAweDAwMDIwMDAwCiAg ICAgICAgICAgICAgICAgICAgTG9jYWwxIHw9IDB4MDEKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIENhc2UgKDB4MDEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgTG9jYWwyID0gKChMb2NhbDAgPj4gMHgwQykgJiAweDBGKQogICAgICAgICAgICAgICAgICAg IExvY2FsMyA9ICgoTG9jYWwwID4+IDB4MTApICYgMHgwRikKICAgICAgICAgICAgICAgICAgICBM b2NhbDQgPSAoKExvY2FsMCA+PiAweDE0KSAmIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgU3dp dGNoIChMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBDYXNlICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoKExvY2FsMyAhPSAweDBGKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAoMHgwNSA8PCAw eDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm ICgoTG9jYWw0ID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoMHgwMSA9PSBWQ1FMKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFZDUUwgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFZDUUwgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgQ2FzZSAoMHgwNCkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDMg IT0gMHgwRikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTG9jYWwxID0gKDB4MDUgPDwgMHgwMSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsNCA9PSAweDAwKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBWU1RQID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFZTVFAgPSAweDAxCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgQ2FzZSAoMHgwQikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3dpdGNoIChMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FzZSAoMHgwMSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmICgoTG9jYWw0ICE9IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAoMHgw NSA8PCAweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Q2FzZSAoMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWw0ICE9IDB4MDEpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDEgPSAoMHgwNSA8PCAweDAxKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQ2FzZSAoMHgwRikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9j YWw0ICE9IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAoMHgwNSA8PCAweDAx KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTG9jYWwxID0gKDB4MDUgPDwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoKExvY2FsNCA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWTU1DID0gMHgwMAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNNTUMgPSAweDAwCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVk1NQyA9IDB4 MDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTU1DID0gTG9jYWwzCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgQ2FzZSAoMHgwRCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWwzIDw9IDB4MDgpICYmIChMb2NhbDMg Pj0gMHgwMSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmICgoTG9jYWw0ICE9IDB4MDEpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwx ID0gKDB4MDUgPDwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgo TG9jYWwzID09IDB4MEYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWw0ICE9IDB4MDApKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWwxID0gKDB4MDUgPDwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExvY2FsMSA9ICgweDA1IDw8IDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDQgPT0gMHgwMCkpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlBTQyA9 IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUFNDID0gMHgwMAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFZQU0MgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BTQyA9IExv Y2FsMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIENhc2UgKDB4MDApCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwzICE9IDB4MEYp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExvY2FsMSA9ICgweDA1IDw8IDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdAogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEg PSAoMHgwMSA8PCAweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBJZiAoKFZDUUwgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBDSUNGID0gMHgwMQogICAgICAgICAgICAgICAgICAg ICAgICBPU01MID0gMHgwMQogICAgICAgICAgICAgICAgICAgICAgICBTTVVGID0gMHgwNQogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoKEJUTEYgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBTUEw3IC8qIFxfU0Jf LlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BMNyAqLwogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKExHQkYgPT0gMHgwMSkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBTUEw4IC8q IFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BMOCAqLwogICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IFNQTDAgLyogXF9TQl8uUENJMC5M UEMwLkVDMF8uSEtFWS5TUEwwICovCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgIEFMSUIgKDB4MEMsIFhYMTEpCiAgICAgICAgICAgICAgICAgICAgICAg IFNNVUYgPSAweDA2CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQlRMRiA9PSAweDAxKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU01V RCA9IEZQUDcgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5GUFA3ICovCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgoTEdCRiA9PSAw eDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU01VRCA9IEZQUDggLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5GUFA4ICovCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gRlBQ MCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLkZQUDAgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgQUxJQiAoMHgwQywgWFgxMSkKICAgICAg ICAgICAgICAgICAgICAgICAgU01VRiA9IDB4MDcKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KChCVExGID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTTVVEID0gU1BQNyAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNQ UDcgKi8KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBF bHNlSWYgKChMR0JGID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTTVVEID0gU1BQOCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5I S0VZLlNQUDggKi8KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFNNVUQgPSBTUFAwIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BQMCAqLwog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBBTElCICgw eDBDLCBYWDExKQogICAgICAgICAgICAgICAgICAgICAgICBTTVVGID0gMHgwMwogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoKFZTVFAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBUQ0w3IC8qIFxfU0JfLlBDSTAu TFBDMC5FQzBfLkhLRVkuVENMNyAqLwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU01VRCA9IFRDTDAgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtF WS5UQ0wwICovCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgIEFMSUIgKDB4MEMsIFhYMTEpCiAgICAgICAgICAgICAgICAgICAgICAgIFNNVUYgPSAweDAx CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoVlNUUCA9PSAweDAxKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IFNUQzcgLyog XF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5TVEM3ICovCiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gU1RDMCAvKiBcX1NCXy5QQ0kwLkxQ QzAuRUMwXy5IS0VZLlNUQzAgKi8KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgQUxJQiAoMHgwQywgWFgxMSkKICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgRWxzZUlmICgoVlBTQyA9PSAweDAxKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENJQ0YgPSAweDBECiAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsNyA9IFNQU0MgLyogXFNQU0MgKi8KICAgICAgICAgICAgICAgICAgICAg ICAgU3dpdGNoIChMb2NhbDcpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENhc2UgKDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1NNTCA9IDB4NDAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTTVVGID0gMHgwNQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmICgoQlRMRiA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBTUEw3IC8qIFxf U0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BMNyAqLwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlSWYgKChMR0JGID09 IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU01VRCA9IFNQTDggLyogXF9TQl8uUENJMC5MUEMwLkVDMF8u SEtFWS5TUEw4ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBTUEwzIC8qIFxf U0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BMMyAqLwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUxJQiAoMHgwQywgWFgx MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVGID0gMHgwNgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmICgoQlRMRiA9PSAweDAxKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNN VUQgPSBGUFA3IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuRlBQNyAqLwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bHNlSWYgKChMR0JGID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IEZQUDggLyogXF9TQl8u UENJMC5MUEMwLkVDMF8uSEtFWS5GUFA4ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNN VUQgPSBGUFAzIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuRlBQMyAqLwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QUxJQiAoMHgwQywgWFgxMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVGID0g MHgwNwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQlRMRiA9PSAweDAxKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNNVUQgPSBTUFA3IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BQ NyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlSWYgKChMR0JGID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9 IFNQUDggLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5TUFA4ICovCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNNVUQgPSBTUFAzIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BQ MyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQUxJQiAoMHgwQywgWFgxMSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTTVVGID0gMHgwMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgo VlNUUCA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBUQ0w3IC8qIFxfU0JfLlBDSTAuTFBD MC5FQzBfLkhLRVkuVENMNyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gVENM MyAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlRDTDMgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFMSUIgKDB4 MEMsIFhYMTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRiA9IDB4MDEKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKFZTVFAgPT0gMHgwMSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTTVVEID0gU1RDNyAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNUQzcgKi8KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IFNUQzMgLyogXF9TQl8uUENJMC5MUEMwLkVD MF8uSEtFWS5TVEMzICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBTElCICgweDBDLCBYWDExKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FzZSAoMHgwMikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPU01MID0gMHgxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUYgPSAw eDA1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChCVExGID09IDB4MDEpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU01VRCA9IFNQTDcgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5TUEw3 ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2VJZiAoKExHQkYgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0g U1BMOCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNQTDggKi8KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU01VRCA9IFNQTDUgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5TUEw1 ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBTElCICgweDBDLCBYWDExKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFNNVUYgPSAweDA2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChC VExGID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IEZQUDcgLyogXF9TQl8uUENJMC5MUEMw LkVDMF8uSEtFWS5GUFA3ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKExHQkYgPT0gMHgwMSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTTVVEID0gRlBQOCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLkZQUDggKi8K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IEZQUDUgLyogXF9TQl8uUENJMC5MUEMw LkVDMF8uSEtFWS5GUFA1ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTElCICgweDBDLCBYWDExKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFNNVUYgPSAweDA3CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKChCVExGID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IFNQUDcgLyog XF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5TUFA3ICovCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKExHQkYg PT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gU1BQOCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMw Xy5IS0VZLlNQUDggKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IFNQUDUgLyog XF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5TUFA1ICovCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTElCICgweDBDLCBY WDExKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUYgPSAweDAzCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChWU1RQID09IDB4MDEpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U01VRCA9IFRDTDcgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5UQ0w3ICovCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNNVUQgPSBUQ0w1IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhL RVkuVENMNSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQUxJQiAoMHgwQywgWFgxMSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTTVVGID0gMHgwMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmICgoVlNUUCA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBTVEM3IC8qIFxfU0JfLlBD STAuTFBDMC5FQzBfLkhLRVkuU1RDNyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVE ID0gU1RDNSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNUQzUgKi8KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFM SUIgKDB4MEMsIFhYMTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBDYXNlICgweDA3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9TTUwgPSAweDIwCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU01VRiA9IDB4MDUKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoKEJUTEYgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gU1BMNyAvKiBc X1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNQTDcgKi8KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgoTEdCRiA9 PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBTUEw4IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBf LkhLRVkuU1BMOCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gU1BMNCAvKiBc X1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNQTDQgKi8KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFMSUIgKDB4MEMsIFhY MTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRiA9IDB4MDYKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoKEJUTEYgPT0gMHgwMSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT TVVEID0gRlBQNyAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLkZQUDcgKi8KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RWxzZUlmICgoTEdCRiA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBGUFA4IC8qIFxfU0Jf LlBDSTAuTFBDMC5FQzBfLkhLRVkuRlBQOCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT TVVEID0gRlBQNCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLkZQUDQgKi8KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFMSUIgKDB4MEMsIFhYMTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRiA9 IDB4MDcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKEJUTEYgPT0gMHgwMSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTTVVEID0gU1BQNyAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNQ UDcgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZUlmICgoTEdCRiA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQg PSBTUFA4IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BQOCAqLwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTTVVEID0gU1BQNCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNQ UDQgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFMSUIgKDB4MEMsIFhYMTEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU01VRiA9IDB4MDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo KFZTVFAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gVENMNyAvKiBcX1NCXy5QQ0kwLkxQ QzAuRUMwXy5IS0VZLlRDTDcgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IFRD TDQgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5UQ0w0ICovCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTElCICgw eDBDLCBYWDExKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUYgPSAweDAxCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChWU1RQID09IDB4MDEpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU01VRCA9IFNUQzcgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5TVEM3ICovCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBTVEM0IC8qIFxfU0JfLlBDSTAuTFBDMC5F QzBfLkhLRVkuU1RDNCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQUxJQiAoMHgwQywgWFgxMSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgRWxzZUlmICgoVk1NQyA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIENJQ0YgPSAweDBCCiAgICAgICAgICAgICAgICAgICAg ICAgIElmICgoU01NQyA9PSAweDAwKSl7fQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlSWYg KChTTU1DID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPU01MID0gMHgwNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgU01V RiA9IDB4MDUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQlRMRiA9PSAweDAxKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTTVVEID0gU1BMNyAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNQTDcgKi8KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVs c2VJZiAoKExHQkYgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IFNQTDggLyogXF9TQl8uUENJMC5MUEMw LkVDMF8uSEtFWS5TUEw4ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IFNQTDEgLyogXF9TQl8uUENJMC5M UEMwLkVDMF8uSEtFWS5TUEwxICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgQUxJQiAoMHgwQywgWFgxMSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNNVUYgPSAweDA2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo KEJUTEYgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU01VRCA9IEZQUDcgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8u SEtFWS5GUFA3ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlSWYgKChMR0JGID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBGUFA4IC8q IFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuRlBQOCAqLwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBGUFAx IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuRlBQMSAqLwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFMSUIgKDB4MEMsIFhYMTEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVGID0gMHgwNwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKChCVExGID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBTUFA3IC8qIFxfU0Jf LlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BQNyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgoTEdCRiA9PSAweDAxKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTTVVEID0gU1BQOCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNQUDggKi8KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTTVVEID0gU1BQMSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNQUDEgKi8KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBB TElCICgweDBDLCBYWDExKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRiA9IDB4MDMK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoVlNUUCA9PSAweDAxKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVE ID0gVENMNyAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlRDTDcgKi8KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT TVVEID0gVENMMSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlRDTDEgKi8KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTElCICgw eDBDLCBYWDExKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRiA9IDB4MDEKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmICgoVlNUUCA9PSAweDAxKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gU1RD NyAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNUQzcgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0g U1RDMSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNUQzEgKi8KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTElCICgweDBDLCBY WDExKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVs c2VJZiAoKFNNTUMgPT0gMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9TTUwgPSAweDA4CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTTVVGID0gMHgwNQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChCVExGID09IDB4 MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNNVUQgPSBTUEw3IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BMNyAq LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZUlmICgoTEdCRiA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gU1BMOCAvKiBcX1NCXy5QQ0kw LkxQQzAuRUMwXy5IS0VZLlNQTDggKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gU1BMMiAvKiBcX1NCXy5Q Q0kwLkxQQzAuRUMwXy5IS0VZLlNQTDIgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTElCICgweDBDLCBYWDExKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU01VRiA9IDB4MDYKICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmICgoQlRMRiA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gRlBQNyAvKiBcX1NCXy5QQ0kwLkxQQzAu RUMwXy5IS0VZLkZQUDcgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKExHQkYgPT0gMHgwMSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IEZQ UDggLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5GUFA4ICovCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9 IEZQUDIgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5GUFAyICovCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQUxJQiAoMHgwQywg WFgxMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUYgPSAweDA3CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoKEJUTEYgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IFNQUDcgLyog XF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5TUFA3ICovCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlSWYgKChMR0JGID09IDB4MDEp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFNNVUQgPSBTUFA4IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BQOCAqLwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg RWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNNVUQgPSBTUFAyIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BQMiAq LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEFMSUIgKDB4MEMsIFhYMTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVGID0g MHgwMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChWU1RQID09IDB4MDEpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFNNVUQgPSBUQ0w3IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuVENMNyAqLwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFNNVUQgPSBUQ0wyIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuVENMMiAqLwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFM SUIgKDB4MEMsIFhYMTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVGID0gMHgwMQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChWU1RQID09IDB4MDEpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQg PSBTVEM3IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1RDNyAqLwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNN VUQgPSBTVEMyIC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1RDMiAqLwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFMSUIgKDB4 MEMsIFhYMTEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZUlmICgoU01NQyA9PSAweDAzKSl7fQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBDSUNGID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICBPU01MID0gMHgwMgog ICAgICAgICAgICAgICAgICAgICAgICBTTVVGID0gMHgwNQogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoKEJUTEYgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNNVUQgPSBTUEw3IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhL RVkuU1BMNyAqLwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2VJZiAoKExHQkYgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBTUEw4IC8qIFxfU0JfLlBDSTAuTFBDMC5F QzBfLkhLRVkuU1BMOCAqLwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU01VRCA9IFNQTDYgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5TUEw2 ICovCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIEFM SUIgKDB4MEMsIFhYMTEpCiAgICAgICAgICAgICAgICAgICAgICAgIFNNVUYgPSAweDA2CiAgICAg ICAgICAgICAgICAgICAgICAgIElmICgoQlRMRiA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IEZQUDcgLyogXF9TQl8u UENJMC5MUEMwLkVDMF8uSEtFWS5GUFA3ICovCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgoTEdCRiA9PSAweDAxKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IEZQUDggLyog XF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5GUFA4ICovCiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVEID0gRlBQNiAvKiBcX1NCXy5QQ0kwLkxQ QzAuRUMwXy5IS0VZLkZQUDYgKi8KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgQUxJQiAoMHgwQywgWFgxMSkKICAgICAgICAgICAgICAgICAgICAgICAg U01VRiA9IDB4MDcKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChCVExGID09IDB4MDEpKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTVVE ID0gU1BQNyAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNQUDcgKi8KICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlSWYgKChMR0JGID09IDB4 MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTTVVEID0gU1BQOCAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNQUDggKi8KICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNVUQgPSBTUFA2 IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuU1BQNiAqLwogICAgICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBBTElCICgweDBDLCBYWDExKQogICAgICAg ICAgICAgICAgICAgICAgICBTTVVGID0gMHgwMwogICAgICAgICAgICAgICAgICAgICAgICBJZiAo KFZTVFAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNNVUQgPSBUQ0w3IC8qIFxfU0JfLlBDSTAuTFBDMC5FQzBfLkhLRVkuVENM NyAqLwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg U01VRCA9IFRDTDYgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uSEtFWS5UQ0w2ICovCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIEFMSUIgKDB4MEMsIFhY MTEpCiAgICAgICAgICAgICAgICAgICAgICAgIFNNVUYgPSAweDAxCiAgICAgICAgICAgICAgICAg ICAgICAgIElmICgoVlNUUCA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU01VRCA9IFNUQzcgLyogXF9TQl8uUENJMC5MUEMwLkVD MF8uSEtFWS5TVEM3ICovCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTTVVEID0gU1RDNiAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5IS0VZLlNUQzYg Ki8KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgQUxJ QiAoMHgwQywgWFgxMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IExvY2FsNSA9IFZTVEQgLyogXFZTVEQgKi8KICAgICAgICAgICAgICAgICAgICBMb2NhbDUgfD0g KFZDUUwgPDwgMHgwMSkKICAgICAgICAgICAgICAgICAgICBMb2NhbDUgfD0gKFZTVFAgPDwgMHgw NCkKICAgICAgICAgICAgICAgICAgICBMb2NhbDUgfD0gKFZNTUMgPDwgMHgwQikKICAgICAgICAg ICAgICAgICAgICBMb2NhbDUgfD0gKFZQU0MgPDwgMHgwRCkKICAgICAgICAgICAgICAgICAgICBM b2NhbDEgPSAoQ0lDRiA8PCAweDA4KQogICAgICAgICAgICAgICAgICAgIElmICgoQ0lDRiA9PSAw eDAzKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENJQ00g PSBTTVlIIC8qIFxTTVlIICovCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIEVsc2VJZiAoKENJQ0YgPT0gMHgwQikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBDSUNNID0gU01NQyAvKiBcU01NQyAqLwogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlSWYgKChDSUNGID09IDB4MEQpKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ0lDTSA9IFNQU0MgLyogXFNQ U0MgKi8KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ0lDTSA9IDB4MEYKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIExvY2FsMSB8PSAoQ0lDTSA8 PCAweDBDKQogICAgICAgICAgICAgICAgICAgIExvY2FsMSB8PSAoTG9jYWw1IDw8IDB4MTApCiAg ICAgICAgICAgICAgICAgICAgTG9jYWwxIHw9IDB4MDEKICAgICAgICAgICAgICAgICAgICBJZiAo REhLQykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE1IS1Eg KDB4NjAzMikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICBDYXNlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IExvY2FsNSA9IFZTVEQgLyogXFZTVEQgKi8KICAgICAgICAgICAgICAgICAgICBMb2NhbDUgfD0g KFZDUUwgPDwgMHgwMSkKICAgICAgICAgICAgICAgICAgICBMb2NhbDUgfD0gKFZTVFAgPDwgMHgw NCkKICAgICAgICAgICAgICAgICAgICBMb2NhbDUgfD0gKFZNTUMgPDwgMHgwQikKICAgICAgICAg ICAgICAgICAgICBMb2NhbDUgfD0gKFZQU0MgPDwgMHgwRCkKICAgICAgICAgICAgICAgICAgICBM b2NhbDEgPSAoQ0lDRiA8PCAweDA4KQogICAgICAgICAgICAgICAgICAgIElmICgoQ0lDRiA9PSAw eDAzKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENJQ00g PSBTTVlIIC8qIFxTTVlIICovCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIEVsc2VJZiAoKENJQ0YgPT0gMHgwQikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBDSUNNID0gU01NQyAvKiBcU01NQyAqLwogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlSWYgKChDSUNGID09IDB4MEQpKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ0lDTSA9IFNQU0MgLyogXFNQ U0MgKi8KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ0lDTSA9IDB4MEYKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIExvY2FsMSB8PSAoQ0lDTSA8 PCAweDBDKQogICAgICAgICAgICAgICAgICAgIExvY2FsMSB8PSAoTG9jYWw1IDw8IDB4MTApCiAg ICAgICAgICAgICAgICAgICAgTG9jYWwxIHw9IDB4MDEKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIENhc2UgKDB4MDMpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgTG9jYWwxID0gKEZDQVAgPDwgMHgxMCkKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgfD0g MHgwMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgQ2FzZSAoMHgwNCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAoTVlIQyA8PCAweDEwKQog ICAgICAgICAgICAgICAgICAgIExvY2FsMSB8PSAweDAxCiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICBDYXNlICgweDA2KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIExvY2FsMiA9ICgoTG9jYWwwID4+IDB4MDkpICYgMHgwRikKICAgICAgICAgICAgICAgICAg ICBJZiAoKExvY2FsMiAhPSAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIExvY2FsMSA9IChNTUNDIDw8IDB4MTApCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIExvY2FsMSA9IDB4MDIwMAogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgTG9jYWwxIHw9IDB4MDEKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIENhc2UgKDB4MDUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKDB4RkZGRkZGRkYpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDEgPSAweDA1MDAKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwxIHw9 IDB4MTBFMDAwMDAKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIExv Y2FsMSB8PSAweDAxCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBDYXNlICgweDAx MDApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gMHgxMDAx MDAwMAogICAgICAgICAgICAgICAgICAgIExvY2FsMSB8PSAweDAxCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICBDYXNlICgweDAxRkYpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgVkNRTCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICBWVElPID0gMHgwMAog ICAgICAgICAgICAgICAgICAgIFZNWUggPSAweDAwCiAgICAgICAgICAgICAgICAgICAgVlNUUCA9 IDB4MDAKICAgICAgICAgICAgICAgICAgICBWQ1FIID0gMHgwMAogICAgICAgICAgICAgICAgICAg IFZEQ0MgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgVlNGTiA9IDB4MDAKICAgICAgICAgICAg ICAgICAgICBWRE1DID0gMHgwMAogICAgICAgICAgICAgICAgICAgIFZGSFAgPSAweDAwCiAgICAg ICAgICAgICAgICAgICAgVklGQyA9IDB4MDAKICAgICAgICAgICAgICAgICAgICBWTU1DID0gMHgw MAogICAgICAgICAgICAgICAgICAgIFZNU0MgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgVlBT QyA9IDB4MDAKICAgICAgICAgICAgICAgICAgICBWQ1NDID0gMHgwMAogICAgICAgICAgICAgICAg ICAgIFNNWUggPSAweDAwCiAgICAgICAgICAgICAgICAgICAgU01NQyA9IDB4MDAKICAgICAgICAg ICAgICAgICAgICBTUFNDID0gMHgwMAogICAgICAgICAgICAgICAgICAgIENJQ0YgPSAweDAwCiAg ICAgICAgICAgICAgICAgICAgQ0lDTSA9IDB4MEYKICAgICAgICAgICAgICAgICAgICBMb2NhbDUg PSBWU1REIC8qIFxWU1REICovCiAgICAgICAgICAgICAgICAgICAgTG9jYWw1IHw9IChWQ1FMIDw8 IDB4MDEpCiAgICAgICAgICAgICAgICAgICAgTG9jYWw1IHw9IChWU1RQIDw8IDB4MDQpCiAgICAg ICAgICAgICAgICAgICAgTG9jYWw1IHw9IChWTU1DIDw8IDB4MEIpCiAgICAgICAgICAgICAgICAg ICAgTG9jYWw1IHw9IChWUFNDIDw8IDB4MEQpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0g KENJQ0YgPDwgMHgwOCkKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgfD0gKENJQ00gPDwgMHgw QykKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgfD0gKExvY2FsNSA8PCAweDEwKQogICAgICAg ICAgICAgICAgICAgIExvY2FsMSB8PSAweDAxCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICBEZWZhdWx0CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwx ID0gKDB4MDIgPDwgMHgwMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIFJldHVybiAoTG9jYWwxKQogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoX1NCLlBD STAuTFBDMC5FQzApCiAgICB7CiAgICAgICAgTWV0aG9kIChBVE1DLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgIHsKICAgICAgICAgICAgSWYgKChXTlRGICYmIFRBVEMpKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBJZiAoSFBBQykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBMb2NhbDAgPSBUQ0ZBIC8qIFxUQ0ZBICovCiAgICAgICAgICAgICAgICAgICAgTG9j YWwxID0gVENUQSAvKiBcVENUQSAqLwogICAgICAgICAgICAgICAgICAgIExvY2FsMiA9ICgoTG9j YWwxIDw8IDB4MDQpIHwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIExvY2FsMyA9IChMb2Nh bDIgXiBBVE1YKSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5BVE1YICovCiAgICAgICAgICAgICAg ICAgICAgQVRNWCA9IExvY2FsMgogICAgICAgICAgICAgICAgICAgIElmICgoVENUQSA9PSAweDAw KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFRDUlQgPSBU Q1IwIC8qIFxUQ1IwICovCiAgICAgICAgICAgICAgICAgICAgICAgIFRQU1YgPSBUUFMwIC8qIFxU UFMwICovCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2VJZiAo KFRDVEEgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBUQ1JUID0gVENSMSAvKiBcVENSMSAqLwogICAgICAgICAgICAgICAgICAgICAgICBUUFNW ID0gVFBTMSAvKiBcVFBTMSAqLwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBMb2NhbDAgPSBUQ0ZEIC8qIFxUQ0ZEICovCiAgICAgICAgICAgICAg ICAgICAgTG9jYWwxID0gVENURCAvKiBcVENURCAqLwogICAgICAgICAgICAgICAgICAgIExvY2Fs MiA9ICgoTG9jYWwxIDw8IDB4MDQpIHwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIExvY2Fs MyA9IChMb2NhbDIgXiBBVE1YKSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5BVE1YICovCiAgICAg ICAgICAgICAgICAgICAgQVRNWCA9IExvY2FsMgogICAgICAgICAgICAgICAgICAgIElmICgoVENU RCA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFRDUlQgPSBUQ1IwIC8qIFxUQ1IwICovCiAgICAgICAgICAgICAgICAgICAgICAgIFRQU1YgPSBU UFMwIC8qIFxUUFMwICovCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IEVsc2VJZiAoKFRDVEQgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBUQ1JUID0gVENSMSAvKiBcVENSMSAqLwogICAgICAgICAgICAgICAgICAg ICAgICBUUFNWID0gVFBTMSAvKiBcVFBTMSAqLwogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTG9jYWwzKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmICheSEtFWS5ESEtDKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgXkhLRVkuTUhLUSAoMHg2MDMw KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQog ICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoX1NCLlBDSTAuTFBDMC5FQzApCiAgICB7CiAgICAg ICAgRGV2aWNlIChJVFNEKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlk ICgiTEVOMDEwMCIpKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgTWV0aG9kIChf U1RBLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1NUQTogU3RhdHVzCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0K CiAgICBTY29wZSAoX1NCLlBDSTAuTFBDMC5FQzApCiAgICB7CiAgICAgICAgTWV0aG9kIChfUTQw LCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1F4eDogRUMgUXVlcnksIHh4PTB4MDAtMHhGRgogICAg ICAgIHsKICAgICAgICAgICAgSWYgKEg4RFIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IExvY2FsMSA9IFRTTDIgLyogXF9TQl8uUENJMC5MUEMwLkVDMF8uVFNMMiAqLwogICAgICAgICAg ICAgICAgTG9jYWwyID0gVFNMMSAvKiBcX1NCXy5QQ0kwLkxQQzAuRUMwXy5UU0wxICovCiAgICAg ICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBM b2NhbDEgPSAoUkJFQyAoMHg4QSkgJiAweDdGKQogICAgICAgICAgICAgICAgTG9jYWwyID0gKFJC RUMgKDB4ODkpICYgMHg3RikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChMb2NhbDIg JiAweDc2KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXkhLRVkuRFlUQyAoMHgwMDFG NDAwMSkKICAgICAgICAgICAgfQogICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIF5IS0VZLkRZVEMgKDB4MDAwRjQwMDEpCiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIElmICgoXkhLRVkuREhLQyAmJiBMb2NhbDEpKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBeSEtFWS5NSEtRICgweDYwMjIpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgh VklHRCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgVlRIUiAoKQogICAgICAgICAgICB9 CiAgICAgICAgfQogICAgfQoKICAgIFNjb3BlIChcX1NCLlBDSTAuTFBDMC5FQzApCiAgICB7CiAg ICAgICAgT3BlcmF0aW9uUmVnaW9uIChFQ1JHLCBFbWJlZGRlZENvbnRyb2wsIDB4MDAsIDB4MDEw MCkKICAgICAgICBGaWVsZCAoRUNSRywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAg ICB7CiAgICAgICAgICAgIE9mZnNldCAoMHg1MCksIAogICAgICAgICAgICBFTVBSLCAgIDgsIAog ICAgICAgICAgICAgICAgLCAgIDcsIAogICAgICAgICAgICBFTUROLCAgIDEsIAogICAgICAgICAg ICBFQURELCAgIDgsIAogICAgICAgICAgICBFQ01ELCAgIDgsIAogICAgICAgICAgICBFRDAwLCAg IDgsIAogICAgICAgICAgICBFRDAxLCAgIDgsIAogICAgICAgICAgICBFRDAyLCAgIDgsIAogICAg ICAgICAgICBFRDAzLCAgIDgsIAogICAgICAgICAgICBFRDA0LCAgIDgsIAogICAgICAgICAgICBF RDA1LCAgIDgsIAogICAgICAgICAgICBFRDA2LCAgIDgsIAogICAgICAgICAgICBFRDA3LCAgIDgs IAogICAgICAgICAgICBFRDA4LCAgIDgsIAogICAgICAgICAgICBFRDA5LCAgIDgsIAogICAgICAg ICAgICBFRDBBLCAgIDgsIAogICAgICAgICAgICBFRDBCLCAgIDgsIAogICAgICAgICAgICBFRDBD LCAgIDgsIAogICAgICAgICAgICBFRDBELCAgIDgsIAogICAgICAgICAgICBFRDBFLCAgIDgsIAog ICAgICAgICAgICBFRDBGLCAgIDgsIAogICAgICAgICAgICBPZmZzZXQgKDB4NzQpLCAKICAgICAg ICAgICAgRUNOVCwgICA4CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9RNEYsIDAsIE5vdFNl cmlhbGl6ZWQpICAvLyBfUXh4OiBFQyBRdWVyeSwgeHg9MHgwMC0weEZGCiAgICAgICAgewogICAg ICAgICAgICBcX1NCLlVCVEMuTlRGWSAoKQogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoXF9T QikKICAgIHsKICAgICAgICBEZXZpY2UgKFVCVEMpCiAgICAgICAgewogICAgICAgICAgICBOYW1l IChfSElELCBFaXNhSWQgKCJVU0JDMDAwIikpICAvLyBfSElEOiBIYXJkd2FyZSBJRAogICAgICAg ICAgICBOYW1lIChfQ0lELCBFaXNhSWQgKCJQTlAwQ0EwIikpICAvLyBfQ0lEOiBDb21wYXRpYmxl IElECiAgICAgICAgICAgIE5hbWUgKF9VSUQsIFplcm8pICAvLyBfVUlEOiBVbmlxdWUgSUQKICAg ICAgICAgICAgTmFtZSAoX0RETiwgIlVTQiBUeXBlIEMiKSAgLy8gX0RETjogRE9TIERldmljZSBO YW1lCiAgICAgICAgICAgIE5hbWUgKF9BRFIsIFplcm8pICAvLyBfQURSOiBBZGRyZXNzCiAgICAg ICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9TVEE6IFN0YXR1cwog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIE1ldGhvZCAoX1BTMCwgMCwgU2VyaWFsaXplZCkgIC8vIF9QUzA6IFBvd2Vy IFN0YXRlIDAKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU2xlZXAgKDB4MDNFOCkKICAg ICAgICAgICAgICAgIFNsZWVwICgweDY0KQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRo b2QgKF9QUzMsIDAsIFNlcmlhbGl6ZWQpICAvLyBfUFMzOiBQb3dlciBTdGF0ZSAzCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFNsZWVwICgweDAzRTgpCiAgICAgICAgICAgICAgICBTbGVl cCAoMHg2NCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RT ZXJpYWxpemVkKSAgLy8gX0NSUzogQ3VycmVudCBSZXNvdXJjZSBTZXR0aW5ncwogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBOYW1lIChSQlVGLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRl LAogICAgICAgICAgICAgICAgICAgICAgICAweEJENkIyMDAwLCAgICAgICAgIC8vIEFkZHJlc3Mg QmFzZQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAxMDAwLCAgICAgICAgIC8vIEFkZHJl c3MgTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIH0pCiAg ICAgICAgICAgICAgICBSZXR1cm4gKFJCVUYpIC8qIFxfU0JfLlVCVEMuX0NSUy5SQlVGICovCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoQ1IwMSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwNSkgIC8vIF9BRFI6IEFkZHJlc3MKICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1VQQywgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9VUEM6IFVTQiBQb3J0 IENhcGFiaWxpdGllcwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVy biAoUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIDB4RkYsIAogICAgICAgICAgICAgICAgICAgICAgICAweDA5LCAKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAg ICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo X1BMRCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QTEQ6IFBoeXNpY2FsIExvY2F0aW9uIG9mIERl dmljZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2Fn ZSAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEJ1 ZmZlciAoMHgxMCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgLyogMDAwMCAqLyAgMHg4MSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAw MDA4ICovICAweDY5LCAweDBDLCAweDgwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwICAg Ly8gaS4uLi4uLi4KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAo Q1IwMikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwOCkgIC8v IF9BRFI6IEFkZHJlc3MKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1VQQywgMCwgTm90U2VyaWFs aXplZCkgIC8vIF9VUEM6IFVTQiBQb3J0IENhcGFiaWxpdGllcwogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYsIAogICAgICAgICAgICAgICAgICAg ICAgICAweDA5LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BMRCwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QTEQ6 IFBoeXNpY2FsIExvY2F0aW9uIG9mIERldmljZQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgxMCkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgMHg4MSwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAweDcxLCAweDBDLCAweDAwLCAweDAyLCAw eDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gcS4uLi4uLi4KICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoVVNCQywgU3lzdGVtTWVtb3J5LCAweEJE NkIyMDAwLCAweDMwKQogICAgICAgICAgICBGaWVsZCAoVVNCQywgQnl0ZUFjYywgTG9jaywgUHJl c2VydmUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFZFUjEsICAgOCwgCiAgICAgICAg ICAgICAgICBWRVIyLCAgIDgsIAogICAgICAgICAgICAgICAgUlNWMSwgICA4LCAKICAgICAgICAg ICAgICAgIFJTVjIsICAgOCwgCiAgICAgICAgICAgICAgICBDQ0kwLCAgIDgsIAogICAgICAgICAg ICAgICAgQ0NJMSwgICA4LCAKICAgICAgICAgICAgICAgIENDSTIsICAgOCwgCiAgICAgICAgICAg ICAgICBDQ0kzLCAgIDgsIAogICAgICAgICAgICAgICAgQ1RMMCwgICA4LCAKICAgICAgICAgICAg ICAgIENUTDEsICAgOCwgCiAgICAgICAgICAgICAgICBDVEwyLCAgIDgsIAogICAgICAgICAgICAg ICAgQ1RMMywgICA4LCAKICAgICAgICAgICAgICAgIENUTDQsICAgOCwgCiAgICAgICAgICAgICAg ICBDVEw1LCAgIDgsIAogICAgICAgICAgICAgICAgQ1RMNiwgICA4LCAKICAgICAgICAgICAgICAg IENUTDcsICAgOCwgCiAgICAgICAgICAgICAgICBNR0kwLCAgIDgsIAogICAgICAgICAgICAgICAg TUdJMSwgICA4LCAKICAgICAgICAgICAgICAgIE1HSTIsICAgOCwgCiAgICAgICAgICAgICAgICBN R0kzLCAgIDgsIAogICAgICAgICAgICAgICAgTUdJNCwgICA4LCAKICAgICAgICAgICAgICAgIE1H STUsICAgOCwgCiAgICAgICAgICAgICAgICBNR0k2LCAgIDgsIAogICAgICAgICAgICAgICAgTUdJ NywgICA4LCAKICAgICAgICAgICAgICAgIE1HSTgsICAgOCwgCiAgICAgICAgICAgICAgICBNR0k5 LCAgIDgsIAogICAgICAgICAgICAgICAgTUdJQSwgICA4LCAKICAgICAgICAgICAgICAgIE1HSUIs ICAgOCwgCiAgICAgICAgICAgICAgICBNR0lDLCAgIDgsIAogICAgICAgICAgICAgICAgTUdJRCwg ICA4LCAKICAgICAgICAgICAgICAgIE1HSUUsICAgOCwgCiAgICAgICAgICAgICAgICBNR0lGLCAg IDgsIAogICAgICAgICAgICAgICAgTUdPMCwgICA4LCAKICAgICAgICAgICAgICAgIE1HTzEsICAg OCwgCiAgICAgICAgICAgICAgICBNR08yLCAgIDgsIAogICAgICAgICAgICAgICAgTUdPMywgICA4 LCAKICAgICAgICAgICAgICAgIE1HTzQsICAgOCwgCiAgICAgICAgICAgICAgICBNR081LCAgIDgs IAogICAgICAgICAgICAgICAgTUdPNiwgICA4LCAKICAgICAgICAgICAgICAgIE1HTzcsICAgOCwg CiAgICAgICAgICAgICAgICBNR084LCAgIDgsIAogICAgICAgICAgICAgICAgTUdPOSwgICA4LCAK ICAgICAgICAgICAgICAgIE1HT0EsICAgOCwgCiAgICAgICAgICAgICAgICBNR09CLCAgIDgsIAog ICAgICAgICAgICAgICAgTUdPQywgICA4LCAKICAgICAgICAgICAgICAgIE1HT0QsICAgOCwgCiAg ICAgICAgICAgICAgICBNR09FLCAgIDgsIAogICAgICAgICAgICAgICAgTUdPRiwgICA4CiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoREJHMCwgU3lzdGVtSU8sIDB4 ODAsIDB4MDEpCiAgICAgICAgICAgIEZpZWxkIChEQkcwLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNl cnZlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJTzgwLCAgIDgKICAgICAgICAgICAg fQoKICAgICAgICAgICAgTWV0aG9kIChOVEZZLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBJTzgwID0gMHg0RgogICAgICAgICAgICAgICAgRUNSRCAoKQogICAg ICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuVUJU QywgMHg4MCkgLy8gU3RhdHVzIENoYW5nZQogICAgICAgICAgICB9CgogICAgICAgICAgICBPcGVy YXRpb25SZWdpb24gKEg1RkEsIFN5c3RlbU1lbW9yeSwgMHhGRTAwRDZGRiwgMHgwMSkKICAgICAg ICAgICAgRmllbGQgKEg1RkEsIEFueUFjYywgTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIEhOVEYsICAgOAogICAgICAgICAgICB9CgogICAgICAgICAgICBPcGVy YXRpb25SZWdpb24gKEVDU00sIFN5c3RlbU1lbW9yeSwgMHhGRTAwREE1MCwgMHgzMCkKICAgICAg ICAgICAgRmllbGQgKEVDU00sIEFueUFjYywgTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIEhNUFIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgLCAgIDcsIAog ICAgICAgICAgICAgICAgSE1ETiwgICAxLCAKICAgICAgICAgICAgICAgIEhBREQsICAgOCwgCiAg ICAgICAgICAgICAgICBIQ01ELCAgIDgsIAogICAgICAgICAgICAgICAgSEQwMCwgICA4LCAKICAg ICAgICAgICAgICAgIEhEMDEsICAgOCwgCiAgICAgICAgICAgICAgICBIRDAyLCAgIDgsIAogICAg ICAgICAgICAgICAgSEQwMywgICA4LCAKICAgICAgICAgICAgICAgIEhEMDQsICAgOCwgCiAgICAg ICAgICAgICAgICBIRDA1LCAgIDgsIAogICAgICAgICAgICAgICAgSEQwNiwgICA4LCAKICAgICAg ICAgICAgICAgIEhEMDcsICAgOCwgCiAgICAgICAgICAgICAgICBIRDA4LCAgIDgsIAogICAgICAg ICAgICAgICAgSEQwOSwgICA4LCAKICAgICAgICAgICAgICAgIEhEMEEsICAgOCwgCiAgICAgICAg ICAgICAgICBIRDBCLCAgIDgsIAogICAgICAgICAgICAgICAgSEQwQywgICA4LCAKICAgICAgICAg ICAgICAgIEhEMEQsICAgOCwgCiAgICAgICAgICAgICAgICBIRDBFLCAgIDgsIAogICAgICAgICAg ICAgICAgSEQwRiwgICA4LCAKICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyNCksIAogICAgICAg ICAgICAgICAgSENOVCwgICA4CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoQ0hL TSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTG9jYWww ID0gMHgwM0U4CiAgICAgICAgICAgICAgICBXaGlsZSAoSE1QUikKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICBMb2Nh bDAtLQogICAgICAgICAgICAgICAgICAgIElmICghTG9jYWwwKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDgwODApCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChITUROKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoWmVybykKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4ODA4MSkKICAgICAgICAgICAgfQoK ICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChFQ1NJLCBFbWJlZGRlZENvbnRyb2wsIDB4MDAs IDB4MDEwMCkKICAgICAgICAgICAgRmllbGQgKEVDU0ksIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2Vy dmUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1MCksIAogICAgICAg ICAgICAgICAgRU1QUiwgICA4LCAKICAgICAgICAgICAgICAgICAgICAsICAgNywgCiAgICAgICAg ICAgICAgICBFTUROLCAgIDEsIAogICAgICAgICAgICAgICAgRUFERCwgICA4LCAKICAgICAgICAg ICAgICAgIEVDTUQsICAgOCwgCiAgICAgICAgICAgICAgICBFRDAwLCAgIDgsIAogICAgICAgICAg ICAgICAgRUQwMSwgICA4LCAKICAgICAgICAgICAgICAgIEVEMDIsICAgOCwgCiAgICAgICAgICAg ICAgICBFRDAzLCAgIDgsIAogICAgICAgICAgICAgICAgRUQwNCwgICA4LCAKICAgICAgICAgICAg ICAgIEVEMDUsICAgOCwgCiAgICAgICAgICAgICAgICBFRDA2LCAgIDgsIAogICAgICAgICAgICAg ICAgRUQwNywgICA4LCAKICAgICAgICAgICAgICAgIEVEMDgsICAgOCwgCiAgICAgICAgICAgICAg ICBFRDA5LCAgIDgsIAogICAgICAgICAgICAgICAgRUQwQSwgICA4LCAKICAgICAgICAgICAgICAg IEVEMEIsICAgOCwgCiAgICAgICAgICAgICAgICBFRDBDLCAgIDgsIAogICAgICAgICAgICAgICAg RUQwRCwgICA4LCAKICAgICAgICAgICAgICAgIEVEMEUsICAgOCwgCiAgICAgICAgICAgICAgICBF RDBGLCAgIDgsIAogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDc0KSwgCiAgICAgICAgICAgICAg ICBFQ05ULCAgIDgKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTmFtZSAoUlNUQywgMHgwMCkK ICAgICAgICAgICAgTXV0ZXggKFVCU1ksIDB4MDApCiAgICAgICAgICAgIE1ldGhvZCAoRUNXUiwg MCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKFxIOERSKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmICgoQWNxdWlyZSAoXF9TQi5Q Q0kwLkxQQzAuRUMwLlVDQ0ksIDB4QTAwMCkgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJlIChVQlNZLCAweEZGRkYpCiAgICAgICAg ICAgICAgICAgICAgICAgIElmICgoQ1RMMCA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUlNUQyA9IDB4MDEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElPODAgPSAweEI4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBc X1NCLlBDSTAuTFBDMC5FQzAuQ0hLUyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRUFE RCA9IDB4MDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRUNNRCA9IDB4MDYKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRUQwMCA9IE1HTzAg LyogXF9TQl8uVUJUQy5NR08wICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAo MHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVEMDEgPSBNR08xIC8qIFxfU0JfLlVC VEMuTUdPMSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFRDAyID0gTUdPMiAvKiBcX1NCXy5VQlRDLk1HTzIgKi8K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRUQwMyA9IE1HTzMgLyogXF9TQl8uVUJUQy5NR08zICovCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEVEMDQgPSBNR080IC8qIFxfU0JfLlVCVEMuTUdPNCAqLwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFRDA1ID0gTUdP NSAvKiBcX1NCXy5VQlRDLk1HTzUgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVw ICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRUQwNiA9IE1HTzYgLyogXF9TQl8u VUJUQy5NR082ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVEMDcgPSBNR083IC8qIFxfU0JfLlVCVEMuTUdPNyAq LwogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFRDA4ID0gTUdPOCAvKiBcX1NCXy5VQlRDLk1HTzggKi8KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRUQwOSA9IE1HTzkgLyogXF9TQl8uVUJUQy5NR085ICovCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVEMEEgPSBN R09BIC8qIFxfU0JfLlVCVEMuTUdPQSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xl ZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFRDBCID0gTUdPQiAvKiBcX1NC Xy5VQlRDLk1HT0IgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRUQwQyA9IE1HT0MgLyogXF9TQl8uVUJUQy5NR09D ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVEMEQgPSBNR09EIC8qIFxfU0JfLlVCVEMuTUdPRCAqLwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFRDBFID0gTUdPRSAvKiBcX1NCXy5VQlRDLk1HT0UgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRUQwRiA9 IE1HT0YgLyogXF9TQl8uVUJUQy5NR09GICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT bGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVDTlQgPSAweDEwCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEVNUFIgPSAweDBBCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgw MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5DSEtTICgp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFQUREID0gMHgwMgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFQ01E ID0gMHgwNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFRDAwID0gQ1RMMCAvKiBcX1NCXy5VQlRDLkNUTDAgKi8KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgRUQwMSA9IENUTDEgLyogXF9TQl8uVUJUQy5DVEwxICovCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVE MDIgPSBDVEwyIC8qIFxfU0JfLlVCVEMuQ1RMMiAqLwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFRDAzID0gQ1RMMyAv KiBcX1NCXy5VQlRDLkNUTDMgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgw eDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRUQwNCA9IENUTDQgLyogXF9TQl8uVUJU Qy5DVEw0ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVEMDUgPSBDVEw1IC8qIFxfU0JfLlVCVEMuQ1RMNSAqLwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFRDA2ID0gQ1RMNiAvKiBcX1NCXy5VQlRDLkNUTDYgKi8KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg RUQwNyA9IENUTDcgLyogXF9TQl8uVUJUQy5DVEw3ICovCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVDTlQgPSAweDA4 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVNUFIgPSAweDBBCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVl cCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5D SEtTICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTzgwID0gMHhCOQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoVUJTWSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJlbGVhc2UgKFxfU0IuUENJMC5MUEMwLkVDMC5VQ0NJKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICBDSEtNICgpCiAgICAgICAgICAgICAgICAgICAgICAgIEhBREQgPSAw eDAyCiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAg ICAgICAgICBIQ01EID0gMHgwNgogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkK ICAgICAgICAgICAgICAgICAgICAgICAgSEQwMCA9IE1HTzAgLyogXF9TQl8uVUJUQy5NR08wICov CiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAg ICAgICBIRDAxID0gTUdPMSAvKiBcX1NCXy5VQlRDLk1HTzEgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIEhEMDIgPSBNR08yIC8q IFxfU0JfLlVCVEMuTUdPMiAqLwogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkK ICAgICAgICAgICAgICAgICAgICAgICAgSEQwMyA9IE1HTzMgLyogXF9TQl8uVUJUQy5NR08zICov CiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAg ICAgICBIRDA0ID0gTUdPNCAvKiBcX1NCXy5VQlRDLk1HTzQgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIEhEMDUgPSBNR081IC8q IFxfU0JfLlVCVEMuTUdPNSAqLwogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkK ICAgICAgICAgICAgICAgICAgICAgICAgSEQwNiA9IE1HTzYgLyogXF9TQl8uVUJUQy5NR082ICov CiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAg ICAgICBIRDA3ID0gTUdPNyAvKiBcX1NCXy5VQlRDLk1HTzcgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIEhEMDggPSBNR084IC8q IFxfU0JfLlVCVEMuTUdPOCAqLwogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkK ICAgICAgICAgICAgICAgICAgICAgICAgSEQwOSA9IE1HTzkgLyogXF9TQl8uVUJUQy5NR085ICov CiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAg ICAgICBIRDBBID0gTUdPQSAvKiBcX1NCXy5VQlRDLk1HT0EgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIEhEMEIgPSBNR09CIC8q IFxfU0JfLlVCVEMuTUdPQiAqLwogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkK ICAgICAgICAgICAgICAgICAgICAgICAgSEQwQyA9IE1HT0MgLyogXF9TQl8uVUJUQy5NR09DICov CiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAg ICAgICBIRDBEID0gTUdPRCAvKiBcX1NCXy5VQlRDLk1HT0QgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIEhEMEUgPSBNR09FIC8q IFxfU0JfLlVCVEMuTUdPRSAqLwogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkK ICAgICAgICAgICAgICAgICAgICAgICAgSEQwRiA9IE1HT0YgLyogXF9TQl8uVUJUQy5NR09GICov CiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAg ICAgICBIQ05UID0gMHgxMAogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAg ICAgICAgICAgICAgICAgICAgICAgSE1QUiA9IDB4MEEKICAgICAgICAgICAgICAgICAgICAgICAg U2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIEhOVEYgPSAweDA4CiAgICAgICAg ICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBDSEtN ICgpCiAgICAgICAgICAgICAgICAgICAgICAgIEhBREQgPSAweDAyCiAgICAgICAgICAgICAgICAg ICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBIQ01EID0gMHgwNAog ICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAg ICAgSEQwMCA9IENUTDAgLyogXF9TQl8uVUJUQy5DVEwwICovCiAgICAgICAgICAgICAgICAgICAg ICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBIRDAxID0gQ1RMMSAvKiBc X1NCXy5VQlRDLkNUTDEgKi8KICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAg ICAgICAgICAgICAgICAgICAgICAgIEhEMDIgPSBDVEwyIC8qIFxfU0JfLlVCVEMuQ1RMMiAqLwog ICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAg ICAgSEQwMyA9IENUTDMgLyogXF9TQl8uVUJUQy5DVEwzICovCiAgICAgICAgICAgICAgICAgICAg ICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBIRDA0ID0gQ1RMNCAvKiBc X1NCXy5VQlRDLkNUTDQgKi8KICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAg ICAgICAgICAgICAgICAgICAgICAgIEhEMDUgPSBDVEw1IC8qIFxfU0JfLlVCVEMuQ1RMNSAqLwog ICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAg ICAgSEQwNiA9IENUTDYgLyogXF9TQl8uVUJUQy5DVEw2ICovCiAgICAgICAgICAgICAgICAgICAg ICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBIRDA3ID0gQ1RMNyAvKiBc X1NCXy5VQlRDLkNUTDcgKi8KICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAg ICAgICAgICAgICAgICAgICAgICAgIEhDTlQgPSAweDA4CiAgICAgICAgICAgICAgICAgICAgICAg IFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBITVBSID0gMHgwQQogICAgICAg ICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgSE5U RiA9IDB4MDgKICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAg ICAgICAgICAgICAgIENIS00gKCkKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoVUJT WSkKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoXF9TQi5QQ0kwLkxQQzAuRUMwLlVD Q0kpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9 CgogICAgICAgICAgICBNZXRob2QgKEVDUkQsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIElmIChcSDhEUikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBJZiAoKEFjcXVpcmUgKFxfU0IuUENJMC5MUEMwLkVDMC5VQ0NJLCAweEEwMDApID09 IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNx dWlyZSAoVUJTWSwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKFJTVEMgPT0g MHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJTVEMgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTzgwID0gMHhCQQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQzAuRUMwLkNIS1MgKCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVBREQgPSAweDAyCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVDTUQgPSAw eDA1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVDTlQgPSAweDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT bGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFIgPSAweDBCCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5DSEtTICgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNR0kwID0gRUQwMCAvKiBcX1NCXy5VQlRDLkVEMDAgKi8KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTUdJMSA9 IEVEMDEgLyogXF9TQl8uVUJUQy5FRDAxICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT bGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1HSTIgPSBFRDAyIC8qIFxf U0JfLlVCVEMuRUQwMiAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNR0kzID0gRUQwMyAvKiBcX1NCXy5VQlRDLkVE MDMgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgTUdJNCA9IEVEMDQgLyogXF9TQl8uVUJUQy5FRDA0ICovCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE1HSTUgPSBFRDA1IC8qIFxfU0JfLlVCVEMuRUQwNSAqLwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNR0k2 ID0gRUQwNiAvKiBcX1NCXy5VQlRDLkVEMDYgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAg IFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTUdJNyA9IEVEMDcgLyog XF9TQl8uVUJUQy5FRDA3ICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgw MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1HSTggPSBFRDA4IC8qIFxfU0JfLlVCVEMu RUQwOCAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBNR0k5ID0gRUQwOSAvKiBcX1NCXy5VQlRDLkVEMDkgKi8KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgTUdJQSA9IEVEMEEgLyogXF9TQl8uVUJUQy5FRDBBICovCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1H SUIgPSBFRDBCIC8qIFxfU0JfLlVCVEMuRUQwQiAqLwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNR0lDID0gRUQwQyAv KiBcX1NCXy5VQlRDLkVEMEMgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgw eDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTUdJRCA9IEVEMEQgLyogXF9TQl8uVUJU Qy5FRDBEICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE1HSUUgPSBFRDBFIC8qIFxfU0JfLlVCVEMuRUQwRSAqLwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBNR0lGID0gRUQwRiAvKiBcX1NCXy5VQlRDLkVEMEYgKi8KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUEMwLkVDMC5DSEtTICgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFQUREID0gMHgwMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xl ZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFQ01EID0gMHgwMwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFQ05UID0gMHgwNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFTVBSID0gMHgwQgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NC LlBDSTAuTFBDMC5FQzAuQ0hLUyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0NJMCA9 IEVEMDAgLyogXF9TQl8uVUJUQy5FRDAwICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT bGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENDSTEgPSBFRDAxIC8qIFxf U0JfLlVCVEMuRUQwMSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQ0kyID0gRUQwMiAvKiBcX1NCXy5VQlRDLkVE MDIgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ0NJMyA9IEVEMDMgLyogXF9TQl8uVUJUQy5FRDAzICovCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJTzgwID0gMHhCQgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmVsZWFzZSAoVUJTWSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2Ug KFxfU0IuUENJMC5MUEMwLkVDMC5VQ0NJKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChaZXJvKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICBDSEtNICgpCiAgICAgICAgICAgICAgICAgICAgICAgIEhBREQgPSAweDAyCiAgICAgICAg ICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBIQ01E ID0gMHgwNQogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAg ICAgICAgICAgICAgSENOVCA9IDB4MTAKICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4 MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIEhNUFIgPSAweDBCCiAgICAgICAgICAgICAgICAg ICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBITlRGID0gMHgwNwog ICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAg ICAgQ0hLTSAoKQogICAgICAgICAgICAgICAgICAgICAgICBNR0kwID0gSEQwMCAvKiBcX1NCXy5V QlRDLkhEMDAgKi8KICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAg ICAgICAgICAgICAgICAgIE1HSTEgPSBIRDAxIC8qIFxfU0JfLlVCVEMuSEQwMSAqLwogICAgICAg ICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgTUdJ MiA9IEhEMDIgLyogXF9TQl8uVUJUQy5IRDAyICovCiAgICAgICAgICAgICAgICAgICAgICAgIFNs ZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBNR0kzID0gSEQwMyAvKiBcX1NCXy5V QlRDLkhEMDMgKi8KICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAg ICAgICAgICAgICAgICAgIE1HSTQgPSBIRDA0IC8qIFxfU0JfLlVCVEMuSEQwNCAqLwogICAgICAg ICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgTUdJ NSA9IEhEMDUgLyogXF9TQl8uVUJUQy5IRDA1ICovCiAgICAgICAgICAgICAgICAgICAgICAgIFNs ZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBNR0k2ID0gSEQwNiAvKiBcX1NCXy5V QlRDLkhEMDYgKi8KICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAg ICAgICAgICAgICAgICAgIE1HSTcgPSBIRDA3IC8qIFxfU0JfLlVCVEMuSEQwNyAqLwogICAgICAg ICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgTUdJ OCA9IEhEMDggLyogXF9TQl8uVUJUQy5IRDA4ICovCiAgICAgICAgICAgICAgICAgICAgICAgIFNs ZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBNR0k5ID0gSEQwOSAvKiBcX1NCXy5V QlRDLkhEMDkgKi8KICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAg ICAgICAgICAgICAgICAgIE1HSUEgPSBIRDBBIC8qIFxfU0JfLlVCVEMuSEQwQSAqLwogICAgICAg ICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgTUdJ QiA9IEhEMEIgLyogXF9TQl8uVUJUQy5IRDBCICovCiAgICAgICAgICAgICAgICAgICAgICAgIFNs ZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBNR0lDID0gSEQwQyAvKiBcX1NCXy5V QlRDLkhEMEMgKi8KICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAg ICAgICAgICAgICAgICAgIE1HSUQgPSBIRDBEIC8qIFxfU0JfLlVCVEMuSEQwRCAqLwogICAgICAg ICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgTUdJ RSA9IEhEMEUgLyogXF9TQl8uVUJUQy5IRDBFICovCiAgICAgICAgICAgICAgICAgICAgICAgIFNs ZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBNR0lGID0gSEQwRiAvKiBcX1NCXy5V QlRDLkhEMEYgKi8KICAgICAgICAgICAgICAgICAgICAgICAgQ0hLTSAoKQogICAgICAgICAgICAg ICAgICAgICAgICBIQUREID0gMHgwMgogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgw MSkKICAgICAgICAgICAgICAgICAgICAgICAgSENNRCA9IDB4MDMKICAgICAgICAgICAgICAgICAg ICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIEhDTlQgPSAweDA0CiAg ICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAg ICBITVBSID0gMHgwQgogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAg ICAgICAgICAgICAgICAgICAgSE5URiA9IDB4MDcKICAgICAgICAgICAgICAgICAgICAgICAgU2xl ZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIENIS00gKCkKICAgICAgICAgICAgICAg ICAgICAgICAgQ0NJMCA9IEhEMDAgLyogXF9TQl8uVUJUQy5IRDAwICovCiAgICAgICAgICAgICAg ICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBDQ0kxID0gSEQw MSAvKiBcX1NCXy5VQlRDLkhEMDEgKi8KICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4 MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIENDSTIgPSBIRDAyIC8qIFxfU0JfLlVCVEMuSEQw MiAqLwogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwMSkKICAgICAgICAgICAgICAg ICAgICAgICAgQ0NJMyA9IEhEMDMgLyogXF9TQl8uVUJUQy5IRDAzICovCiAgICAgICAgICAgICAg ICAgICAgICAgIFJlbGVhc2UgKFVCU1kpCiAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2Ug KFxfU0IuUENJMC5MUEMwLkVDMC5VQ0NJKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfRFNNLCA0LCBTZXJp YWxpemVkKSAgLy8gX0RTTTogRGV2aWNlLVNwZWNpZmljIE1ldGhvZAogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gVG9VVUlEICgiNmY4Mzk4YzItN2NhNC0xMWU0LWFk MzYtNjMxMDQyYjUwMDhmIikgLyogVW5rbm93biBVVUlEICovKSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBJZiAoKFRvSW50ZWdlciAoQXJnMikgPT0gMHgwMCkpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJ1ZmZlciAo MHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MEYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIEVsc2VJZiAoKFRvSW50ZWdlciAoQXJnMikgPT0gMHgwMSkpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTzgwID0gMHhBOAogICAgICAg ICAgICAgICAgICAgICAgICBFQ1dSICgpCiAgICAgICAgICAgICAgICAgICAgICAgIElPODAgPSAw eEE5CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKFRv SW50ZWdlciAoQXJnMikgPT0gMHgwMikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBJTzgwID0gMHhBQQogICAgICAgICAgICAgICAgICAgICAgICBFQ1JEICgp CiAgICAgICAgICAgICAgICAgICAgICAgIElPODAgPSAweEFCCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICB9 CiAgICAgICAgfQogICAgfQoKICAgIFNjb3BlIChcX1NCKQogICAgewogICAgICAgIE5hbWUgKEFH UkIsIDB4RjgwMDAwMDApCiAgICAgICAgTmFtZSAoQURCRywgQnVmZmVyICgweDAxMDApe30pCiAg ICAgICAgTmFtZSAoQURBVCwgQnVmZmVyICgweDA1MjApCiAgICAgICAgewogICAgICAgICAgICAv KiAwMDAwICovICAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDAwOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8q IDAwMTAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs ICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMDE4ICovICAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyog MDAyMCAqLyAgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwOCwg IC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAwMjggKi8gIDB4MEYsIDB4MDAsIDB4MDMsIDB4 MDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAw MDMwICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAg Ly8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDAzOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMywgMHgwNCwgMHgwNywgMHgwMSwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAw NDAgKi8gIDB4MDAsIDB4MDEsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAv LyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMDQ4ICovICAweDAwLCAweDAwLCAweDAxLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDA0LCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDA1 MCAqLyAgMHgwNCwgMHhGRiwgMHhGRiwgMHgwMiwgMHgwMywgMHgwMSwgMHgwMiwgMHgwMCwgIC8v IC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAwNTggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMDYw ICovICAweDAwLCAweDAwLCAweDAwLCAweDA1LCAweDA1LCAweEZGLCAweEZGLCAweDAzLCAgLy8g Li4uLi4uLi4KICAgICAgICAgICAgLyogMDA2OCAqLyAgMHgwMCwgMHgwMSwgMHgwNCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAwNzAg Ki8gIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDYsICAvLyAu Li4uLi4uLgogICAgICAgICAgICAvKiAwMDc4ICovICAweDA2LCAweEZGLCAweEZGLCAweDA0LCAw eDAwLCAweDAxLCAweDA2LCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDA4MCAq LyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgIC8vIC4u Li4uLi4uCiAgICAgICAgICAgIC8qIDAwODggKi8gIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMDkwICov ICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4u Li4uLi4KICAgICAgICAgICAgLyogMDA5OCAqLyAgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSwgMHgw MCwgMHgwMCwgMHgwMSwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAwQTAgKi8g IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4u Li4uLgogICAgICAgICAgICAvKiAwMEE4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAx LCAweDAxLCAweDAxLCAweDAxLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDBCMCAqLyAg MHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4u Li4uCiAgICAgICAgICAgIC8qIDAwQjggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMEMwICovICAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4u Li4KICAgICAgICAgICAgLyogMDBDOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAwRDAgKi8gIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4u LgogICAgICAgICAgICAvKiAwMEQ4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDBFMCAqLyAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4u CiAgICAgICAgICAgIC8qIDAwRTggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMEYwICovICAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4K ICAgICAgICAgICAgLyogMDBGOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAxMDAgKi8gIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgog ICAgICAgICAgICAvKiAwMTA4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDExMCAqLyAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAg ICAgICAgICAgIC8qIDAxMTggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMTIwICovICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAg ICAgICAgICAgLyogMDEyOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAxMzAgKi8gIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAg ICAgICAgICAvKiAwMTM4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDE0MCAqLyAgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAg ICAgICAgIC8qIDAxNDggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMTUwICovICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAg ICAgICAgLyogMDE1OCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAxNjAgKi8gIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAg ICAgICAvKiAwMTY4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDE3MCAqLyAgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAg ICAgIC8qIDAxNzggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMTgwICovICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAg ICAgLyogMDE4OCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAxOTAgKi8gIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAg ICAvKiAwMTk4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDFBMCAqLyAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAg IC8qIDAxQTggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMUIwICovICAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAg LyogMDFCOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAxQzAgKi8gIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAv KiAwMUM4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDFEMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8q IDAxRDggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs ICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMUUwICovICAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyog MDFFOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg IC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAxRjAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAw MUY4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAg Ly8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDIwMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAy MDggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAv LyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMjEwICovICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDIx OCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8v IC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAyMjAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMjI4 ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8g Li4uLi4uLi4KICAgICAgICAgICAgLyogMDIzMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAyMzgg Ki8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAu Li4uLi4uLgogICAgICAgICAgICAvKiAwMjQwICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDI0OCAq LyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4u Li4uLi4uCiAgICAgICAgICAgIC8qIDAyNTAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMjU4ICov ICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4u Li4uLi4KICAgICAgICAgICAgLyogMDI2MCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAyNjggKi8g IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4u Li4uLgogICAgICAgICAgICAvKiAwMjcwICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDI3OCAqLyAg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4u Li4uCiAgICAgICAgICAgIC8qIDAyODAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMjg4ICovICAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4u Li4KICAgICAgICAgICAgLyogMDI5MCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAyOTggKi8gIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4u LgogICAgICAgICAgICAvKiAwMkEwICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDJBOCAqLyAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4u CiAgICAgICAgICAgIC8qIDAyQjAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMkI4ICovICAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4K ICAgICAgICAgICAgLyogMDJDMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAyQzggKi8gIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgog ICAgICAgICAgICAvKiAwMkQwICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDJEOCAqLyAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAg ICAgICAgICAgIC8qIDAyRTAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMkU4ICovICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAg ICAgICAgICAgLyogMDJGMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAyRjggKi8gIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAg ICAgICAgICAvKiAwMzAwICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDMwOCAqLyAgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAg ICAgICAgIC8qIDAzMTAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMzE4ICovICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAg ICAgICAgLyogMDMyMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAzMjggKi8gIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAg ICAgICAvKiAwMzMwICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDMzOCAqLyAgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAg ICAgIC8qIDAzNDAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMzQ4ICovICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAg ICAgLyogMDM1MCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAzNTggKi8gIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAg ICAvKiAwMzYwICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDM2OCAqLyAgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAg IC8qIDAzNzAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwMzc4ICovICAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAg LyogMDM4MCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAzODggKi8gIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAv KiAwMzkwICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDM5OCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8q IDAzQTAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs ICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwM0E4ICovICAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyog MDNCMCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg IC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAzQjggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAw M0MwICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAg Ly8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDNDOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAz RDAgKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAv LyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwM0Q4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDNF MCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8v IC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDAzRTggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwM0Yw ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8g Li4uLi4uLi4KICAgICAgICAgICAgLyogMDNGOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDA0MDAg Ki8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAu Li4uLi4uLgogICAgICAgICAgICAvKiAwNDA4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDQxMCAq LyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4u Li4uLi4uCiAgICAgICAgICAgIC8qIDA0MTggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwNDIwICov ICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4u Li4uLi4KICAgICAgICAgICAgLyogMDQyOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDA0MzAgKi8g IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4u Li4uLgogICAgICAgICAgICAvKiAwNDM4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDQ0MCAqLyAg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4u Li4uCiAgICAgICAgICAgIC8qIDA0NDggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwNDUwICovICAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4u Li4KICAgICAgICAgICAgLyogMDQ1OCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDA0NjAgKi8gIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4u LgogICAgICAgICAgICAvKiAwNDY4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDQ3MCAqLyAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4u CiAgICAgICAgICAgIC8qIDA0NzggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwNDgwICovICAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4K ICAgICAgICAgICAgLyogMDQ4OCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDA0OTAgKi8gIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgog ICAgICAgICAgICAvKiAwNDk4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDRBMCAqLyAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAg ICAgICAgICAgIC8qIDA0QTggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwNEIwICovICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAg ICAgICAgICAgLyogMDRCOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDA0QzAgKi8gIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAg ICAgICAgICAvKiAwNEM4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDREMCAqLyAgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAg ICAgICAgIC8qIDA0RDggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwNEUwICovICAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAg ICAgICAgLyogMDRFOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgIC8qIDA0RjAgKi8gIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAg ICAgICAvKiAwNEY4ICovICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgLyogMDUwMCAqLyAgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgIC8vIC4uLi4uLi4uCiAgICAgICAg ICAgIC8qIDA1MDggKi8gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAvKiAwNTEwICovICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAgLy8gLi4uLi4uLi4KICAgICAgICAg ICAgLyogMDUxOCAqLyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgfSkKICAgICAgICBNZXRob2QgKEFMSUIsIDIsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMCkpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHgwMCwg QTAxNCkKICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHgwMiwgQTAxNSkK ICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzEsIDB4MDQsIEEwMTYpCiAgICAg ICAgICAgICAgICBMb2NhbDAgPSBCdWZmZXIgKDB4MDEwMCl7fQogICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChMb2NhbDAsIDB4MDAsIEEwMTcpCiAgICAgICAgICAgICAgICBBMDE3ID0g QTAxNCAvKiBcX1NCXy5BTElCLkEwMTQgKi8KICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs ZCAoTG9jYWwwLCAweDAyLCBBMDE4KQogICAgICAgICAgICAgICAgQTAxOCA9IEEwMTUgLyogXF9T Ql8uQUxJQi5BMDE1ICovCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAs IDB4MDQsIEEwMTkpCiAgICAgICAgICAgICAgICBBMDE5ID0gQTAxNiAvKiBcX1NCXy5BTElCLkEw MTYgKi8KICAgICAgICAgICAgICAgIEEwMTkgJj0gfjB4MEYKICAgICAgICAgICAgICAgIElmICgo RGVyZWZPZiAoXF9TQi5BREFUIFsweDAwXSkgPiAweDAwKSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBMb2NhbDEgPSAweDBGCiAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwx ID0gMHgwMQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIEEwMTkgfD0gTG9jYWwx CiAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgSWYgKChBcmcwID09IDB4MDEpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2Nh bDAgPSBEZXJlZk9mIChBcmcxIFsweDAyXSkKICAgICAgICAgICAgICAgIFJldHVybiAoQTAyMCAo TG9jYWwwKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDIpKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDAgPSBCdWZmZXIgKDB4MDEwMCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAweDAwLCAw eDAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi4uCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIElmICgoQXJnMCA9PSAweDAzKSkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgTG9jYWwwID0gQnVmZmVyICgweDAxMDApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMywgMHgwMCwgMHgwMCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIC4uLgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIFJl dHVybiAoTG9jYWwwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgw NikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCA9IERlcmVmT2YgKEFyZzEg WzB4MDRdKQogICAgICAgICAgICAgICAgTG9jYWwxID0gRGVyZWZPZiAoQXJnMSBbMHgwMl0pCiAg ICAgICAgICAgICAgICBSZXR1cm4gKEEwMjMgKExvY2FsMCwgTG9jYWwxKSkKICAgICAgICAgICAg fQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MEEpKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBMb2NhbDAgPSBEZXJlZk9mIChBcmcxIFsweDAyXSkKICAgICAgICAgICAgICAgIFJl dHVybiAoQTAyNCAoTG9jYWwwKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcw ID09IDB4MEIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDAgPSBEZXJlZk9m IChBcmcxIFsweDAyXSkKICAgICAgICAgICAgICAgIExvY2FsMSA9IERlcmVmT2YgKEFyZzEgWzB4 MDNdKQogICAgICAgICAgICAgICAgTG9jYWwyID0gRGVyZWZPZiAoQXJnMSBbMHgwNF0pCiAgICAg ICAgICAgICAgICBMb2NhbDIgfD0gKERlcmVmT2YgKEFyZzEgWzB4MDVdKSA8PCAweDA4KQogICAg ICAgICAgICAgICAgTG9jYWwyIHw9IChEZXJlZk9mIChBcmcxIFsweDA2XSkgPDwgMHgxMCkKICAg ICAgICAgICAgICAgIExvY2FsMiB8PSAoRGVyZWZPZiAoQXJnMSBbMHgwN10pIDw8IDB4MTgpCiAg ICAgICAgICAgICAgICBMb2NhbDMgPSBEZXJlZk9mIChBcmcxIFsweDA4XSkKICAgICAgICAgICAg ICAgIExvY2FsMyB8PSAoRGVyZWZPZiAoQXJnMSBbMHgwOV0pIDw8IDB4MDgpCiAgICAgICAgICAg ICAgICBMb2NhbDMgfD0gKERlcmVmT2YgKEFyZzEgWzB4MEFdKSA8PCAweDEwKQogICAgICAgICAg ICAgICAgTG9jYWwzIHw9IChEZXJlZk9mIChBcmcxIFsweDBCXSkgPDwgMHgxOCkKICAgICAgICAg ICAgICAgIExvY2FsNCA9IERlcmVmT2YgKEFyZzEgWzB4MENdKQogICAgICAgICAgICAgICAgTG9j YWw0IHw9IChEZXJlZk9mIChBcmcxIFsweDBEXSkgPDwgMHgwOCkKICAgICAgICAgICAgICAgIExv Y2FsNCB8PSAoRGVyZWZPZiAoQXJnMSBbMHgwRV0pIDw8IDB4MTApCiAgICAgICAgICAgICAgICBM b2NhbDQgfD0gKERlcmVmT2YgKEFyZzEgWzB4MEZdKSA8PCAweDE4KQogICAgICAgICAgICAgICAg UmV0dXJuIChBMDI1IChMb2NhbDAsIExvY2FsMSwgTG9jYWwyLCBMb2NhbDMsIExvY2FsNCkpCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDBDKSkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgQTAyNiAoQXJnMSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAg SWYgKChBcmcwID09IDB4MTApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDcg PSBCdWZmZXIgKDB4MTgpe30KICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2Fs NywgMHgwMCwgQTAyNykKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNywg MHgwNCwgQTAyOCkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNywgMHgw OCwgQTAyOSkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNywgMHgwQywg QTAzMCkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNywgMHgxMCwgQTAz MSkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNywgMHgxNCwgQTAzMikK ICAgICAgICAgICAgICAgIEEwMjcgPSAweDAwCiAgICAgICAgICAgICAgICBBMDI4ID0gMHgwMAog ICAgICAgICAgICAgICAgQTAyOSA9IDB4MDAKICAgICAgICAgICAgICAgIEEwMzAgPSAweDAwCiAg ICAgICAgICAgICAgICBBMDMxID0gMHgwMAogICAgICAgICAgICAgICAgQTAzMiA9IDB4MDAKICAg ICAgICAgICAgICAgIEEwMTIgKDB4NTEsIExvY2FsNykKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgSWYgKChBcmcwID09IDB4MTEpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2Nh bDYgPSBCdWZmZXIgKDB4MTgpe30KICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExv Y2FsNiwgMHgwMCwgQTAwNikKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2Fs NiwgMHgwNCwgQTAwNykKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNiwg MHgwOCwgQTAwOCkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNiwgMHgw QywgQTAwOSkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNiwgMHgxMCwg QTAxMCkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNiwgMHgxNCwgQTAx MSkKICAgICAgICAgICAgICAgIEEwMDYgPSAweDAwCiAgICAgICAgICAgICAgICBBMDA3ID0gMHgw MAogICAgICAgICAgICAgICAgQTAwOCA9IDB4MDAKICAgICAgICAgICAgICAgIEEwMDkgPSAweDAw CiAgICAgICAgICAgICAgICBBMDEwID0gMHgwMAogICAgICAgICAgICAgICAgQTAxMSA9IDB4MDAK ICAgICAgICAgICAgICAgIEEwMTIgKDB4NTIsIExvY2FsNikKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgUmV0dXJuICgweDAwKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChBMDIzLCAyLCBO b3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTG9jYWwwID0gMHgwMAogICAgICAg ICAgICBXaGlsZSAoKExvY2FsMCA8IDB4MDcpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBMb2NhbDEgPSBBMDg0IChMb2NhbDAsIEFyZzEpCiAgICAgICAgICAgICAgICBJZiAoKExvY2Fs MSA9PSAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDIg PSBBMDg1IChMb2NhbDAsIEFyZzApCiAgICAgICAgICAgICAgICAgICAgQnJlYWsKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICB9CgogICAgICAg ICAgICBMb2NhbDcgPSBCdWZmZXIgKDB4MEEpe30KICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChMb2NhbDcsIDB4MDAsIEEwMTcpCiAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoTG9jYWw3 LCAweDAyLCBBMDM0KQogICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKExvY2FsNywgMHgwMywg QTA4NikKICAgICAgICAgICAgQTAxNyA9IDB4MDQKICAgICAgICAgICAgQTAzNCA9IDB4MDAKICAg ICAgICAgICAgSWYgKChMb2NhbDIgPT0gMHgwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIEEwODYgPSAweDAwCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBBMDg2ID0gMHgwMQogICAgICAgICAgICB9CgogICAgICAgICAg ICBSZXR1cm4gKExvY2FsNykKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQTA4NCwgMiwgTm90 U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAwKSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSMC5BMDc5IChB cmcxKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDEpKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlIxLkEwNzkgKEFy ZzEpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMikpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjIuQTA3OSAoQXJn MSkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAzKSkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSMy5BMDc5IChBcmcx KSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDQpKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlI0LkEwNzkgKEFyZzEp KQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwNSkpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjUuQTA3OSAoQXJnMSkp CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA2KSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSNi5BMDc5IChBcmcxKSkK ICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChBMDg1LCAyLCBOb3RTZXJp YWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDApKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlIwLkEwODAgKEFyZzEp KQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjEuQTA4MCAoQXJnMSkp CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAyKSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSMi5BMDgwIChBcmcxKSkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDMpKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlIzLkEwODAgKEFyZzEpKQog ICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwNCkpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjQuQTA4MCAoQXJnMSkpCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA1KSkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSNS5BMDgwIChBcmcxKSkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDYpKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlI2LkEwODAgKEFyZzEpKQogICAg ICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBOYW1lIChBRDAwLCAweDAwKQogICAgICAgIE5h bWUgKERLMDAsIDB4MDApCiAgICAgICAgTWV0aG9kIChBMDIwLCAxLCBOb3RTZXJpYWxpemVkKQog ICAgICAgIHsKICAgICAgICAgICAgQUQwMCA9IEFyZzAKICAgICAgICAgICAgQTAwNSAoKQogICAg ICAgIH0KCiAgICAgICAgTWV0aG9kIChBMDI0LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsK ICAgICAgICAgICAgREswMCA9IEFyZzAKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQTAyNSwg NSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgfQoKICAgICAgICBOYW1lIChBUDAx LCAweDAwKQogICAgICAgIE5hbWUgKEFQMDIsIDB4MDApCiAgICAgICAgTmFtZSAoQVAwMywgMHgw MCkKICAgICAgICBOYW1lIChBUDA1LCAweDAwKQogICAgICAgIE5hbWUgKEFQMEIsIDB4RkYpCiAg ICAgICAgTmFtZSAoQVAxMCwgMHgwMCkKICAgICAgICBNZXRob2QgKEEwMzMsIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBMb2NhbDcgPSBCdWZmZXIgKDB4MDEwMCl7fQog ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKExvY2FsNywgMHgwMCwgQTAxNykKICAgICAgICAg ICAgQTAxNyA9IDB4MDMKICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChMb2NhbDcsIDB4MDIs IEEwMzQpCiAgICAgICAgICAgIEEwMzQgPSAweDAxCiAgICAgICAgICAgIElmICgoRGVyZWZPZiAo XF9TQi5BREFUIFsweDAwXSkgPT0gMHgwMSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IEEwMzQgPSAweDAyCiAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsNykKICAgICAgICAgICAg fQoKICAgICAgICAgICAgSWYgKChEZXJlZk9mIChcX1NCLkFEQVQgWzB4MDBdKSA9PSAweDAwKSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQTAzNCA9IDB4MDEKICAgICAgICAgICAgICAg IFJldHVybiAoTG9jYWw3KQogICAgICAgICAgICB9CgogICAgICAgICAgICBBMDM1IChBcmcwKQog ICAgICAgICAgICBJZiAoKEFQMDUgIT0gMHgwMSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIFJldHVybiAoTG9jYWw3KQogICAgICAgICAgICB9CgogICAgICAgICAgICBBMDM2ICgpCiAg ICAgICAgICAgIEEwMzQgPSAweDAyCiAgICAgICAgICAgIFJldHVybiAoTG9jYWw3KQogICAgICAg IH0KCiAgICAgICAgTWV0aG9kIChBMDM3LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAg ICAgICAgICAgSWYgKChEZXJlZk9mIChcX1NCLkFEQVQgWzB4MDBdKSA8PSAweDAxKSkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICB9CgogICAg ICAgICAgICBJZiAoKEFQMDUgIT0gMHgwMSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IFJldHVybiAoMHgwMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgQTAzNiAoKQogICAgICAg IH0KCiAgICAgICAgTWV0aG9kIChBMDM4LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAg ICAgICAgICAgSWYgKChBcmcwID09IDB4MDMpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBBUDAxID0gMHgwMAogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEEw MzksIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBBUDEwID0gMHgwMQog ICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChBMDQwLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAg IHsKICAgICAgICAgICAgQVAwNSA9IEFyZzAKICAgICAgICAgICAgSWYgKChEZXJlZk9mIChcX1NC LkFEQVQgWzB4MDBdKSA8PSAweDAxKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0 dXJuICgweDAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBMb2NhbDEgPSBBUDBCIC8qIFxf U0JfLkFQMEIgKi8KICAgICAgICAgICAgSWYgKChBUDA1ID09IDB4MDApKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDAwCiAgICAgICAgICAgICAgICBXaGlsZSAoKExv Y2FsMCA8IDB4MDcpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEEwNDEg KExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIEFQMEIgPSAweDAwCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIEEw MzYgKCkKICAgICAgICAgICAgQVAwQiA9IExvY2FsMQogICAgICAgICAgICBMb2NhbDcgPSBCdWZm ZXIgKDB4MDEwMCl7fQogICAgICAgICAgICBMb2NhbDcgWzB4MDBdID0gMHgwMwogICAgICAgICAg ICBMb2NhbDcgWzB4MDFdID0gMHgwMAogICAgICAgICAgICBMb2NhbDcgWzB4MDJdID0gMHgwMAog ICAgICAgICAgICBSZXR1cm4gKExvY2FsNykKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQTA0 MiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmICgoQVAwQiAhPSAw eEZGKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChBUDBCKSAvKiBcX1NC Xy5BUDBCICovCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFJldHVybiAoQUQwMCkgLyogXF9T Ql8uQUQwMCAqLwogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChBMDM1LCAxLCBOb3RTZXJpYWxp emVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAyLCBB UDA2KQogICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDQsIEFQMDcpCiAgICAg ICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwNiwgQVAwOCkKICAgICAgICAgICAgQ3Jl YXRlQnl0ZUZpZWxkIChBcmcwLCAweDA4LCBBUDA5KQogICAgICAgICAgICBDcmVhdGVCeXRlRmll bGQgKEFyZzAsIDB4MDksIEFQMEEpCiAgICAgICAgICAgIExvY2FsMCA9IDB4MDAKICAgICAgICAg ICAgV2hpbGUgKChMb2NhbDAgPCAweDA3KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg SWYgKChBMDQzIChMb2NhbDAsIEFQMDYpID09IDB4MDEpKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIElmICgoKEFQMDcgJiBBUDA4KSA9PSAweDAxKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IEEwNDQgKExvY2FsMCkK ICAgICAgICAgICAgICAgICAgICAgICAgQTA0NSAoTG9jYWwwLCBMb2NhbDEpCiAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIEEwNDUgKExvY2FsMCwgQVAwQSkKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEJyZWFrCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTG9jYWwwKysKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAg TWV0aG9kIChBMDQ2LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgQVAw MiA9IDB4MDEKICAgICAgICAgICAgTG9jYWwwID0gMHgwMAogICAgICAgICAgICBXaGlsZSAoKExv Y2FsMCA8IDB4MDcpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDEgPSBBMDQ3 IChMb2NhbDApCiAgICAgICAgICAgICAgICBJZiAoKExvY2FsMSA+IEFQMDIpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIEFQMDIgPSBMb2NhbDEKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAg ICAgICBNZXRob2QgKEEwNDgsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAg ICBBUDAzID0gMHgwMAogICAgICAgICAgICBMb2NhbDAgPSAweDAwCiAgICAgICAgICAgIFdoaWxl ICgoTG9jYWwwIDwgMHgwNykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMSA9 IEEwNDkgKExvY2FsMCkKICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID4gQVAwMykpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQVAwMyA9IExvY2FsMQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIExvY2FsMCsrCiAgICAgICAgICAgIH0KICAgICAgICB9 CgogICAgICAgIE1ldGhvZCAoQTAzNiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAg ICAgICAgIEEwNDggKCkKICAgICAgICAgICAgQTA0NiAoKQogICAgICAgICAgICBJZiAoKEFQMDIg IT0gQVAwMSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEEwMTMgKEFQMDIsIEFQMDEp CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQVAwMiA+IEFQMDEpKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBBUDAxID0gQVAwMiAvKiBcX1NCXy5BUDAyICovCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIExvY2FsMCA9IDB4MDAKICAgICAgICAgICAgV2hpbGUgKChMb2Nh bDAgPCAweDA3KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTG9jYWwxID0gQTA0NyAo TG9jYWwwKQogICAgICAgICAgICAgICAgTG9jYWwyID0gQTA1MCAoTG9jYWwwKQogICAgICAgICAg ICAgICAgSWYgKChMb2NhbDEgIT0gTG9jYWwyKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBBMDUxIChMb2NhbDAsIExvY2FsMSkKICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIEVsc2VJZiAoKEFQMTAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgQTA1MSAoTG9jYWwwLCBMb2NhbDEpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTG9jYWwwKysKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChB UDAyIDwgQVAwMSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEFQMDEgPSBBUDAyIC8q IFxfU0JfLkFQMDIgKi8KICAgICAgICAgICAgfQogICAgICAgICAgICBFbHNlSWYgKChBUDEwID09 IDB4MDEpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBBUDAxID0gQVAwMiAvKiBcX1NC Xy5BUDAyICovCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIEFQMTAgPSAweDAwCiAgICAgICAg fQoKICAgICAgICBNZXRob2QgKEEwNTEsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAg ICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IFJldHVybiAoXF9TQi5BV1IwLkFCUjAuQTA1MiAoQXJnMSkpCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIElmICgoQXJnMCA9PSAweDAxKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg UmV0dXJuIChcX1NCLkFXUjAuQUJSMS5BMDUyIChBcmcxKSkKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgSWYgKChBcmcwID09IDB4MDIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBS ZXR1cm4gKFxfU0IuQVdSMC5BQlIyLkEwNTIgKEFyZzEpKQogICAgICAgICAgICB9CgogICAgICAg ICAgICBJZiAoKEFyZzAgPT0gMHgwMykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJl dHVybiAoXF9TQi5BV1IwLkFCUjMuQTA1MiAoQXJnMSkpCiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIElmICgoQXJnMCA9PSAweDA0KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0 dXJuIChcX1NCLkFXUjAuQUJSNC5BMDUyIChBcmcxKSkKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgSWYgKChBcmcwID09IDB4MDUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1 cm4gKFxfU0IuQVdSMC5BQlI1LkEwNTIgKEFyZzEpKQogICAgICAgICAgICB9CgogICAgICAgICAg ICBJZiAoKEFyZzAgPT0gMHgwNikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVy biAoXF9TQi5BV1IwLkFCUjYuQTA1MiAoQXJnMSkpCiAgICAgICAgICAgIH0KICAgICAgICB9Cgog ICAgICAgIE1ldGhvZCAoQTA1MCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAg ICAgIElmICgoQXJnMCA9PSAweDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0 dXJuIChcX1NCLkFXUjAuQUJSMC5BMDUzICgpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJ ZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAo XF9TQi5BV1IwLkFCUjEuQTA1MyAoKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChB cmcwID09IDB4MDIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0Iu QVdSMC5BQlIyLkEwNTMgKCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9 PSAweDAzKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAu QUJSMy5BMDUzICgpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgw NCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjQu QTA1MyAoKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDUpKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlI1LkEwNTMg KCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA2KSkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSNi5BMDUzICgpKQog ICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEEwNDcsIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMCkpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjAuQTA1NCAoKSkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDEpKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlIxLkEwNTQgKCkpCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAyKSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSMi5BMDU0ICgpKQogICAgICAgICAgICB9 CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMykpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjMuQTA1NCAoKSkKICAgICAgICAgICAgfQoKICAg ICAgICAgICAgSWYgKChBcmcwID09IDB4MDQpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBSZXR1cm4gKFxfU0IuQVdSMC5BQlI0LkEwNTQgKCkpCiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIElmICgoQXJnMCA9PSAweDA1KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0 dXJuIChcX1NCLkFXUjAuQUJSNS5BMDU0ICgpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJ ZiAoKEFyZzAgPT0gMHgwNikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAo XF9TQi5BV1IwLkFCUjYuQTA1NCAoKSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAg TWV0aG9kIChBMDQ5LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYg KChBcmcwID09IDB4MDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxf U0IuQVdSMC5BQlIwLkEwNTUgKCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJn MCA9PSAweDAxKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFX UjAuQUJSMS5BMDU1ICgpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0g MHgwMikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFC UjIuQTA1NSAoKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDMp KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlIzLkEw NTUgKCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA0KSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSNC5BMDU1ICgp KQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwNSkpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjUuQTA1NSAoKSkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDYpKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlI2LkEwNTUgKCkpCiAgICAgICAg ICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQTA0NCwgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICB7CiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAwKSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSMC5BMDU2ICgpKQogICAgICAgICAg ICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjEuQTA1NiAoKSkKICAgICAgICAgICAgfQoK ICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDIpKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlIyLkEwNTYgKCkpCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIElmICgoQXJnMCA9PSAweDAzKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg UmV0dXJuIChcX1NCLkFXUjAuQUJSMy5BMDU2ICgpKQogICAgICAgICAgICB9CgogICAgICAgICAg ICBJZiAoKEFyZzAgPT0gMHgwNCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVy biAoXF9TQi5BV1IwLkFCUjQuQTA1NiAoKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYg KChBcmcwID09IDB4MDUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxf U0IuQVdSMC5BQlI1LkEwNTYgKCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJn MCA9PSAweDA2KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFX UjAuQUJSNi5BMDU2ICgpKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2Qg KEEwNDUsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoKEFyZzAg PT0gMHgwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1Iw LkFCUjAuQTA1NyAoQXJnMSkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9 PSAweDAxKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAu QUJSMS5BMDU3IChBcmcxKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09 IDB4MDIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5B QlIyLkEwNTcgKEFyZzEpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0g MHgwMykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFC UjMuQTA1NyAoQXJnMSkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAw eDA0KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJS NC5BMDU3IChBcmcxKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4 MDUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlI1 LkEwNTcgKEFyZzEpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgw NikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjYu QTA1NyAoQXJnMSkpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQTA0 MywgMiwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmICgoQXJnMCA9PSAw eDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJS MC5BMDU4IChBcmcxKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4 MDEpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlIx LkEwNTggKEFyZzEpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgw MikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjIu QTA1OCAoQXJnMSkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAz KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSMy5B MDU4IChBcmcxKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDQp KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlI0LkEw NTggKEFyZzEpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwNSkp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjUuQTA1 OCAoQXJnMSkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA2KSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSNi5BMDU4 IChBcmcxKSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChBMDQxLCAx LCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDAp KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlIwLkEw NTkgKCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAxKSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSMS5BMDU5ICgp KQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMikpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjIuQTA1OSAoKSkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDMpKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlIzLkEwNTkgKCkpCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA0KSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSNC5BMDU5ICgpKQogICAgICAgICAgICB9 CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwNSkpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjUuQTA1OSAoKSkKICAgICAgICAgICAgfQoKICAg ICAgICAgICAgSWYgKChBcmcwID09IDB4MDYpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBSZXR1cm4gKFxfU0IuQVdSMC5BQlI2LkEwNTkgKCkpCiAgICAgICAgICAgIH0KICAgICAgICB9 CgogICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQTExMSwgU3lzdGVtTWVtb3J5LCBBR1JCLCAweDEw MDApCiAgICAgICAgRmllbGQgKEExMTEsIERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAg ICB7CiAgICAgICAgICAgIE9mZnNldCAoMHhCOCksIAogICAgICAgICAgICBBMTEyLCAgIDMyCiAg ICAgICAgfQoKICAgICAgICBCYW5rRmllbGQgKEExMTEsIEExMTIsIDB4MDNCMTA1MjgsIERXb3Jk QWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9mZnNldCAoMHhCQyks IAogICAgICAgICAgICBBMTA5LCAgIDMyCiAgICAgICAgfQoKICAgICAgICBCYW5rRmllbGQgKEEx MTEsIEExMTIsIDB4MDNCMTA1NjQsIERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7 CiAgICAgICAgICAgIE9mZnNldCAoMHhCQyksIAogICAgICAgICAgICBBMTAzLCAgIDMyCiAgICAg ICAgfQoKICAgICAgICBCYW5rRmllbGQgKEExMTEsIEExMTIsIDB4MDNCMTA5OTgsIERXb3JkQWNj LCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9mZnNldCAoMHhCQyksIAog ICAgICAgICAgICBBMDcxLCAgIDMyCiAgICAgICAgfQoKICAgICAgICBCYW5rRmllbGQgKEExMTEs IEExMTIsIDB4MDNCMTA5OUMsIERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAg ICAgICAgICAgIE9mZnNldCAoMHhCQyksIAogICAgICAgICAgICBBMTA0LCAgIDMyCiAgICAgICAg fQoKICAgICAgICBCYW5rRmllbGQgKEExMTEsIEExMTIsIDB4MDNCMTA5QTAsIERXb3JkQWNjLCBM b2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9mZnNldCAoMHhCQyksIAogICAg ICAgICAgICBBMTA1LCAgIDMyCiAgICAgICAgfQoKICAgICAgICBCYW5rRmllbGQgKEExMTEsIEEx MTIsIDB4MDNCMTA5QTQsIERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAg ICAgICAgIE9mZnNldCAoMHhCQyksIAogICAgICAgICAgICBBMTA2LCAgIDMyCiAgICAgICAgfQoK ICAgICAgICBCYW5rRmllbGQgKEExMTEsIEExMTIsIDB4MDNCMTA5QTgsIERXb3JkQWNjLCBMb2Nr LCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9mZnNldCAoMHhCQyksIAogICAgICAg ICAgICBBMTA3LCAgIDMyCiAgICAgICAgfQoKICAgICAgICBCYW5rRmllbGQgKEExMTEsIEExMTIs IDB4MDNCMTA5QUMsIERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAg ICAgIE9mZnNldCAoMHhCQyksIAogICAgICAgICAgICBBMTA4LCAgIDMyCiAgICAgICAgfQoKICAg ICAgICBCYW5rRmllbGQgKEExMTEsIEExMTIsIDB4MTNCMDAwODQsIERXb3JkQWNjLCBMb2NrLCBQ cmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9mZnNldCAoMHhCQyksIAogICAgICAgICAg ICBBMDg5LCAgIDMyCiAgICAgICAgfQoKICAgICAgICBCYW5rRmllbGQgKEExMTEsIEExMTIsIDB4 MTExNDAyODAsIERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAg IE9mZnNldCAoMHhCQyksIAogICAgICAgICAgICBBMDkwLCAgIDMyCiAgICAgICAgfQoKICAgICAg ICBCYW5rRmllbGQgKEExMTEsIEExMTIsIDB4MTExNDEyODAsIERXb3JkQWNjLCBMb2NrLCBQcmVz ZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9mZnNldCAoMHhCQyksIAogICAgICAgICAgICBB MDkxLCAgIDMyCiAgICAgICAgfQoKICAgICAgICBCYW5rRmllbGQgKEExMTEsIEExMTIsIDB4MTEx NDIyODAsIERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9m ZnNldCAoMHhCQyksIAogICAgICAgICAgICBBMDkyLCAgIDMyCiAgICAgICAgfQoKICAgICAgICBC YW5rRmllbGQgKEExMTEsIEExMTIsIDB4MTExNDMyODAsIERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2 ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9mZnNldCAoMHhCQyksIAogICAgICAgICAgICBBMDkz LCAgIDMyCiAgICAgICAgfQoKICAgICAgICBCYW5rRmllbGQgKEExMTEsIEExMTIsIDB4MTExNDQy ODAsIERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9mZnNl dCAoMHhCQyksIAogICAgICAgICAgICBBMDk0LCAgIDMyCiAgICAgICAgfQoKICAgICAgICBCYW5r RmllbGQgKEExMTEsIEExMTIsIDB4MTExNDUyODAsIERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2ZSkK ICAgICAgICB7CiAgICAgICAgICAgIE9mZnNldCAoMHhCQyksIAogICAgICAgICAgICBBMDk1LCAg IDMyCiAgICAgICAgfQoKICAgICAgICBCYW5rRmllbGQgKEExMTEsIEExMTIsIDB4MTExNDYyODAs IERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9mZnNldCAo MHhCQyksIAogICAgICAgICAgICBBMDk2LCAgIDMyCiAgICAgICAgfQoKICAgICAgICBNZXRob2Qg KEEwODcsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoKEFyZzAg PT0gMHgwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1Iw LkFCUjAuQTA2NyAoQXJnMSkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9 PSAweDAxKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAu QUJSMS5BMDY3IChBcmcxKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09 IDB4MDIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5B QlIyLkEwNjcgKEFyZzEpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0g MHgwMykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFC UjMuQTA2NyAoQXJnMSkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAw eDA0KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJS NC5BMDY3IChBcmcxKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4 MDUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlI1 LkEwNjcgKEFyZzEpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgw NikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjYu QTA2NyAoQXJnMSkpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQTA4 OCwgMiwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmICgoQXJnMSA9PSAw eDAxKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDApKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDAwOTAzMDAK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMSkpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMDBBMDMwMAog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAyKSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDAwMEIwMzAwCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDMpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDAwQzAzMDAKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwNCkpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMDBEMDMwMAogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA1KSkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDAwMEUwMzAwCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDYpKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDAwRjAzMDAKICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBMb2NhbDEgPSBBMDg5IC8qIFxfU0JfLkEwODkg Ki8KICAgICAgICAgICAgICAgIExvY2FsMSAmPSAweEZGMDBGQ0ZGCiAgICAgICAgICAgICAgICBB MDg5ID0gKExvY2FsMCB8IExvY2FsMSkKICAgICAgICAgICAgICAgIExvY2FsMSA9IEEwODkgLyog XF9TQl8uQTA4OSAqLwogICAgICAgICAgICAgICAgQTA4OSA9ICgweEZGRkZGREZGICYgTG9jYWwx KQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2VJZiAoKEFyZzEgPT0gMHgwMCkpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAwKSkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSBBMDkwIC8qIFxfU0JfLkEwOTAgKi8K ICAgICAgICAgICAgICAgICAgICBBMDkwID0gKDB4MDA0MDAwMDAgfCBMb2NhbDEpCiAgICAgICAg ICAgICAgICAgICAgTG9jYWwxID0gQTA5MCAvKiBcX1NCXy5BMDkwICovCiAgICAgICAgICAgICAg ICAgICAgQTA5MCA9ICgweEZGQkZGRkZGICYgTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBMb2NhbDEgPSBBMDkxIC8qIFxfU0JfLkEwOTEgKi8KICAgICAgICAgICAg ICAgICAgICBBMDkxID0gKDB4MDA0MDAwMDAgfCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAg TG9jYWwxID0gQTA5MSAvKiBcX1NCXy5BMDkxICovCiAgICAgICAgICAgICAgICAgICAgQTA5MSA9 ICgweEZGQkZGRkZGICYgTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IElmICgoQXJnMCA9PSAweDAyKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBMb2NhbDEgPSBBMDkyIC8qIFxfU0JfLkEwOTIgKi8KICAgICAgICAgICAgICAgICAgICBBMDky ID0gKDB4MDA0MDAwMDAgfCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gQTA5 MiAvKiBcX1NCXy5BMDkyICovCiAgICAgICAgICAgICAgICAgICAgQTA5MiA9ICgweEZGQkZGRkZG ICYgTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmICgoQXJnMCA9 PSAweDAzKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSBB MDkzIC8qIFxfU0JfLkEwOTMgKi8KICAgICAgICAgICAgICAgICAgICBBMDkzID0gKDB4MDA0MDAw MDAgfCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gQTA5MyAvKiBcX1NCXy5B MDkzICovCiAgICAgICAgICAgICAgICAgICAgQTA5MyA9ICgweEZGQkZGRkZGICYgTG9jYWwxKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA0KSkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSBBMDk0IC8qIFxfU0Jf LkEwOTQgKi8KICAgICAgICAgICAgICAgICAgICBBMDk0ID0gKDB4MDA0MDAwMDAgfCBMb2NhbDEp CiAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gQTA5NCAvKiBcX1NCXy5BMDk0ICovCiAgICAg ICAgICAgICAgICAgICAgQTA5NCA9ICgweEZGQkZGRkZGICYgTG9jYWwxKQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA1KSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSBBMDk1IC8qIFxfU0JfLkEwOTUgKi8KICAg ICAgICAgICAgICAgICAgICBBMDk1ID0gKDB4MDA0MDAwMDAgfCBMb2NhbDEpCiAgICAgICAgICAg ICAgICAgICAgTG9jYWwxID0gQTA5NSAvKiBcX1NCXy5BMDk1ICovCiAgICAgICAgICAgICAgICAg ICAgQTA5NSA9ICgweEZGQkZGRkZGICYgTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIElmICgoQXJnMCA9PSAweDA2KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBMb2NhbDEgPSBBMDk2IC8qIFxfU0JfLkEwOTYgKi8KICAgICAgICAgICAgICAg ICAgICBBMDk2ID0gKDB4MDA0MDAwMDAgfCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgTG9j YWwxID0gQTA5NiAvKiBcX1NCXy5BMDk2ICovCiAgICAgICAgICAgICAgICAgICAgQTA5NiA9ICgw eEZGQkZGRkZGICYgTG9jYWwxKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAg ICAgfQoKICAgICAgICBNZXRob2QgKEEwMDQsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBMb2NhbDAgPSAweDAwCiAgICAgICAgICAgIFdoaWxlICgoTG9jYWwwIDwgMHgw NykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMSA9IEEwODcgKExvY2FsMCwg QXJnMSkKICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID09IDB4MDEpKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIEEwODggKExvY2FsMCwgQXJnMSkKICAgICAgICAgICAg ICAgICAgICBCcmVhawogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIExvY2FsMCsr CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQTAxMiwgMiwgU2VyaWFs aXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzEsIDB4MDAs IEEwOTcpCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzEsIDB4MDQsIEEwOTgpCiAg ICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzEsIDB4MDgsIEEwOTkpCiAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKEFyZzEsIDB4MEMsIEExMDApCiAgICAgICAgICAgIENyZWF0ZURX b3JkRmllbGQgKEFyZzEsIDB4MTAsIEExMDEpCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KEFyZzEsIDB4MTQsIEExMDIpCiAgICAgICAgICAgIEExMDMgPSAweDAwCiAgICAgICAgICAgIFdo aWxlICgoQTEwMyAhPSAweDAwKSl7fQogICAgICAgICAgICBBMDcxID0gQTA5NyAvKiBcX1NCXy5B MDEyLkEwOTcgKi8KICAgICAgICAgICAgQTEwNCA9IEEwOTggLyogXF9TQl8uQTAxMi5BMDk4ICov CiAgICAgICAgICAgIEExMDUgPSBBMDk5IC8qIFxfU0JfLkEwMTIuQTA5OSAqLwogICAgICAgICAg ICBBMTA2ID0gQTEwMCAvKiBcX1NCXy5BMDEyLkExMDAgKi8KICAgICAgICAgICAgQTEwNyA9IEEx MDEgLyogXF9TQl8uQTAxMi5BMTAxICovCiAgICAgICAgICAgIEExMDggPSBBMTAyIC8qIFxfU0Jf LkEwMTIuQTEwMiAqLwogICAgICAgICAgICBBMTA5ID0gQXJnMAogICAgICAgICAgICBXaGlsZSAo KEExMDMgPT0gMHgwMCkpe30KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQTA4MiwgNSwgTm90 U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIExvY2FsNyA9IEJ1ZmZlciAoMHgxOCl7 fQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDcsIDB4MDAsIEEwMDYpCiAgICAg ICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNywgMHgwNCwgQTAwNykKICAgICAgICAgICAg Q3JlYXRlRFdvcmRGaWVsZCAoTG9jYWw3LCAweDA4LCBBMDA4KQogICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChMb2NhbDcsIDB4MEMsIEEwMDkpCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKExvY2FsNywgMHgxMCwgQTAxMCkKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9j YWw3LCAweDE0LCBBMDExKQogICAgICAgICAgICBBMDA2ID0gQXJnMAogICAgICAgICAgICBBMDA3 ID0gQXJnMQogICAgICAgICAgICBBMDA4ID0gQXJnMgogICAgICAgICAgICBBMDA5ID0gQXJnMwog ICAgICAgICAgICBBMDEyICgweDBBLCBMb2NhbDcpCiAgICAgICAgfQoKICAgICAgICBNZXRob2Qg KEEwMjYsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBDcmVhdGVXb3JkRmll bGQgKEFyZzAsIDB4MDAsIEExMTApCiAgICAgICAgICAgIExvY2FsNyA9IEJ1ZmZlciAoMHgxOCl7 fQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDcsIDB4MDAsIEEwMDYpCiAgICAg ICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNywgMHgwNCwgQTAwNykKICAgICAgICAgICAg Q3JlYXRlRFdvcmRGaWVsZCAoTG9jYWw3LCAweDA4LCBBMDA4KQogICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChMb2NhbDcsIDB4MEMsIEEwMDkpCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKExvY2FsNywgMHgxMCwgQTAxMCkKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9j YWw3LCAweDE0LCBBMDExKQogICAgICAgICAgICBMb2NhbDAgPSAweDAyCiAgICAgICAgICAgIFdo aWxlICgoTG9jYWwwIDwgQTExMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2Fs MSA9IERlcmVmT2YgKEFyZzAgW0xvY2FsMF0pCiAgICAgICAgICAgICAgICBMb2NhbDArKwogICAg ICAgICAgICAgICAgTG9jYWwyID0gRGVyZWZPZiAoQXJnMCBbTG9jYWwwXSkKICAgICAgICAgICAg ICAgIExvY2FsMCsrCiAgICAgICAgICAgICAgICBMb2NhbDIgfD0gKERlcmVmT2YgKEFyZzAgW0xv Y2FsMF0pIDw8IDB4MDgpCiAgICAgICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICAgICAg TG9jYWwyIHw9IChEZXJlZk9mIChBcmcwIFtMb2NhbDBdKSA8PCAweDEwKQogICAgICAgICAgICAg ICAgTG9jYWwwKysKICAgICAgICAgICAgICAgIExvY2FsMiB8PSAoRGVyZWZPZiAoQXJnMCBbTG9j YWwwXSkgPDwgMHgxOCkKICAgICAgICAgICAgICAgIExvY2FsMCsrCiAgICAgICAgICAgICAgICBB MDA2ID0gMHgwMAogICAgICAgICAgICAgICAgQTAwNyA9IDB4MDAKICAgICAgICAgICAgICAgIEEw MDggPSAweDAwCiAgICAgICAgICAgICAgICBBMDA5ID0gMHgwMAogICAgICAgICAgICAgICAgQTAx MCA9IDB4MDAKICAgICAgICAgICAgICAgIEEwMTEgPSAweDAwCiAgICAgICAgICAgICAgICBJZiAo KExvY2FsMSA9PSAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBB MDA2ID0gTG9jYWwyCiAgICAgICAgICAgICAgICAgICAgQTAxMiAoMHgxRSwgTG9jYWw3KQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID09IDB4MDMpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEEwMDYgPSBMb2NhbDIKICAgICAgICAg ICAgICAgICAgICBBMDEyICgweDFGLCBMb2NhbDcpCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgSWYgKChMb2NhbDEgPT0gMHgwNSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgQTAwNiA9IExvY2FsMgogICAgICAgICAgICAgICAgICAgIEEwMTIgKDB4MUEs IExvY2FsNykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoKExvY2FsMSA9 PSAweDA2KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBMDA2ID0gTG9j YWwyCiAgICAgICAgICAgICAgICAgICAgQTAxMiAoMHgxQiwgTG9jYWw3KQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID09IDB4MDcpKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIEEwMDYgPSBMb2NhbDIKICAgICAgICAgICAgICAgICAg ICBBMDEyICgweDFDLCBMb2NhbDcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg SWYgKChMb2NhbDEgPT0gMHgwOCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgQTAwNiA9IExvY2FsMgogICAgICAgICAgICAgICAgICAgIEEwMTIgKDB4MUQsIExvY2FsNykK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoKExvY2FsMSA9PSAweDA5KSkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBMDA2ID0gTG9jYWwyCiAgICAg ICAgICAgICAgICAgICAgQTAxMiAoMHgyNiwgTG9jYWw3KQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIElmICgoTG9jYWwxID09IDB4MEEpKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIEEwMDYgPSBMb2NhbDIKICAgICAgICAgICAgICAgICAgICBBMDEyICgw eDI3LCBMb2NhbDcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKChMb2Nh bDEgPT0gMHgwQikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQTAwNiA9 IExvY2FsMgogICAgICAgICAgICAgICAgICAgIEEwMTIgKDB4MjAsIExvY2FsNykKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoKExvY2FsMSA9PSAweDBDKSkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBMDA2ID0gTG9jYWwyCiAgICAgICAgICAgICAg ICAgICAgQTAxMiAoMHgyMiwgTG9jYWw3KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIElmICgoTG9jYWwxID09IDB4MEQpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIEEwMDYgPSBMb2NhbDIKICAgICAgICAgICAgICAgICAgICBBMDEyICgweDI0LCBMb2Nh bDcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKChMb2NhbDEgPT0gMHgw RikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQTAwNiA9IExvY2FsMgog ICAgICAgICAgICAgICAgICAgIEEwMTIgKDB4MjUsIExvY2FsNykKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBJZiAoKERlcmVmT2YgKFxfU0IuQURBVCBbMHgwOF0pID09IDB4MDEp KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID09IDB4 MTApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChM b2NhbDIgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEEwMTIgKDB4MkIsIExvY2FsNykKICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwMTIgKDB4MkEsIExvY2FsNykKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgRGV2aWNlIChBV1IwKQogICAgICAgIHsK ICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwMiIpIC8qIFBOUCBNb3RoZXJi b2FyZCBSZXNvdXJjZXMgKi8pICAvLyBfSElEOiBIYXJkd2FyZSBJRAogICAgICAgICAgICBOYW1l IChfVUlELCAweDkwKSAgLy8gX1VJRDogVW5pcXVlIElECiAgICAgICAgICAgIERldmljZSAoQUJS MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5Q MEMwMiIpIC8qIFBOUCBNb3RoZXJib2FyZCBSZXNvdXJjZXMgKi8pICAvLyBfSElEOiBIYXJkd2Fy ZSBJRAogICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHg4MCkgIC8vIF9VSUQ6IFVuaXF1ZSBJ RAogICAgICAgICAgICAgICAgTmFtZSAoQUIxMiwgMHgyMCkKICAgICAgICAgICAgICAgIE5hbWUg KEFCMDAsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjAxLCAweDAwKQogICAgICAgICAg ICAgICAgTmFtZSAoQUIwRSwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMDIsIDB4MDAp CiAgICAgICAgICAgICAgICBOYW1lIChBQjAzLCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAo QUIwNCwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMDUsIDB4MDApCiAgICAgICAgICAg ICAgICBOYW1lIChBQjA2LCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwNywgMHgwMCkK ICAgICAgICAgICAgICAgIE5hbWUgKEFCMDgsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChB QjA5LCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwQSwgMHgwMCkKICAgICAgICAgICAg ICAgIE5hbWUgKEFCMEIsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjBDLCAweDAwKQog ICAgICAgICAgICAgICAgTmFtZSAoQUIwRCwgMHgwMCkKICAgICAgICAgICAgICAgIE9wZXJhdGlv blJlZ2lvbiAoQTA3MiwgU3lzdGVtTWVtb3J5LCAoQUdSQiArICgoRGVyZWZPZiAoXF9TQi5BREFU IFsoQUIxMiArIDB4MEQpXQogICAgICAgICAgICAgICAgICAgICkgPDwgMHgwRikgfCAoRGVyZWZP ZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MEUpXSkgPDwgMHgwQwogICAgICAgICAgICAgICAgICAg ICkpKSwgMHgxMDAwKQogICAgICAgICAgICAgICAgRmllbGQgKEEwNzIsIEJ5dGVBY2MsIE5vTG9j aywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDE4KSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE5KSwgCiAgICAgICAgICAg ICAgICAgICAgQTA2NSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBBMDY2LCAgIDgsIAogICAg ICAgICAgICAgICAgICAgIE9mZnNldCAoMHg2OCksIAogICAgICAgICAgICAgICAgICAgIEEwNzMs ICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgICAg ICBBMDc0LCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEEwNzUsICAgMSwgCiAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDZBKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAxMSwg CiAgICAgICAgICAgICAgICAgICAgQTA3NiwgICAxLCAKICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4ODgpLCAKICAgICAgICAgICAgICAgICAgICBBMDc3LCAgIDQsIAogICAgICAgICAgICAg ICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgQTA3OCwgICAxCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAoQUIxMCwgMHgwMCkKICAgICAgICAgICAg ICAgIE1ldGhvZCAoX0lOSSwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9JTkk6IEluaXRpYWxpemUK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBQjAwID0gRGVyZWZPZiAoXF9T Qi5BREFUIFsoQUIxMiArIDB4MDApXSkKICAgICAgICAgICAgICAgICAgICBBQjBFID0gRGVyZWZP ZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDEpXSkKICAgICAgICAgICAgICAgICAgICBBQjAxID0g RGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDIpXSkKICAgICAgICAgICAgICAgICAgICBB QjAyID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDMpXSkKICAgICAgICAgICAgICAg ICAgICBBQjAzID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDQpXSkKICAgICAgICAg ICAgICAgICAgICBBQjA0ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDUpXSkKICAg ICAgICAgICAgICAgICAgICBBQjA1ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDYp XSkKICAgICAgICAgICAgICAgICAgICBBQjA2ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiAr IDB4MDcpXSkKICAgICAgICAgICAgICAgICAgICBBQjA3ID0gRGVyZWZPZiAoXF9TQi5BREFUIFso QUIxMiArIDB4MDgpXSkKICAgICAgICAgICAgICAgICAgICBBQjA4ID0gRGVyZWZPZiAoXF9TQi5B REFUIFsoQUIxMiArIDB4MDkpXSkKICAgICAgICAgICAgICAgICAgICBBQjA5ID0gRGVyZWZPZiAo XF9TQi5BREFUIFsoQUIxMiArIDB4MEEpXSkKICAgICAgICAgICAgICAgICAgICBBQjBBID0gRGVy ZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MEIpXSkKICAgICAgICAgICAgICAgICAgICBBQjBC ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MEMpXSkKICAgICAgICAgICAgICAgICAg ICBBQjBDID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MEQpXSkKICAgICAgICAgICAg ICAgICAgICBBQjBEID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MEUpXSkKICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNjAsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQTA0MiAo KQogICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4MDEpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQjAxKSAvKiBcX1NCXy5B V1IwLkFCUjAuQUIwMSAqLwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgSWYgKChMb2NhbDAgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKEFCMEUpIC8qIFxfU0JfLkFXUjAuQUJSMC5BQjBFICovCiAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1l dGhvZCAoQTA1NSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBJZiAoKEFCMTAgIT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMTAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkKICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1l dGhvZCAoQTA2MSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBJZiAoKEFCMDUgIT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFCMDUpIC8qIFxfU0JfLkFXUjAuQUJSMC5BQjA1 ICovCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMTAg PiAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoKEFCMTAgLSAweDAxKSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBN ZXRob2QgKEEwNTQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgSWYgKChcX1NCLkFQMDUgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMDUgIT0gMHgwMCkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUIwNSkg LyogXF9TQl8uQVdSMC5BQlIwLkFCMDUgKi8KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQjBFKSAvKiBcX1NCXy5BV1IwLkFCUjAuQUIw RSAqLwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0g QTA2MSAoKQogICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwICE9IDB4MDApKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPiBBQjAw KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChBQjAwKSAvKiBcX1NCXy5BV1IwLkFCUjAuQUIwMCAqLwogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIExvY2FsMCA9IEEwNjAgKCkKICAgICAgICAgICAgICAgICAgICBJZiAoKFxfU0IuQVAw MyAhPSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IElmICgoXF9TQi5BUDAzIDwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFQMDMpCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo QTA1MywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKEFCMDIpIC8qIFxfU0JfLkFXUjAuQUJSMC5BQjAyICovCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDU2LCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUIwMCkgLyogXF9T Ql8uQVdSMC5BQlIwLkFCMDAgKi8KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBN ZXRob2QgKEEwNTIsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgQUIwMiA9IEFyZzAKICAgICAgICAgICAgICAgICAgICBBMDYyIChBcmcwKQog ICAgICAgICAgICAgICAgICAgIElmICgoQUIxMCAhPSAweDAwKSl7fQogICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBBMDYzICgweDAwKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEEw NjQsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgQTA2MyAoMHgwMSkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNTcsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQUIxMCA9IEFyZzAKICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNTgsIDEsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gKEFyZzAgPj4gMHgw OCkKICAgICAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDAgPj0gQTA2NSkgJiYgKExvY2FsMCA8 PSBBMDY2KSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChB MDY3LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIExvY2FsMCA9IChBQjBEIHwgKEFCMEMgPDwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAg SWYgKChBcmcwID09IExvY2FsMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChBMDU5LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIEFCMTAgPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChBMDYyLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA+PSAweDAyKSl7fQogICAgICAgICAgICAgICAg ICAgIElmICgoQXJnMCA+PSAweDAzKSl7fQogICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9 PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElm ICgoQUIwNCA9PSAweDAxKSl7fQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNjgsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgw MAogICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IEEwNjkgKExvY2FsMCwgMHgwMCkKICAgICAg ICAgICAgICAgICAgICBMb2NhbDIgPSBBMDY5IChMb2NhbDAsIDB4MDgpCiAgICAgICAgICAgICAg ICAgICAgSWYgKChMb2NhbDEgIT0gMHhGRkZGRkZGRikpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDMgPSAoKExvY2FsMSA+PiAweDEwKSAmIDB4RkZG RikKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwxICY9IDB4RkZGRgogICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDIgPSAoKExvY2FsMiA+PiAweDE4KSAmIDB4RkYpCiAgICAgICAgICAg ICAgICAgICAgICAgIElmICgoTG9jYWwyID09IDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDEgPT0gMHgxMDAyKSB8 fCAoTG9jYWwxID09IDB4MTAyMikpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MTAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBXaGlsZSAoKExvY2FsMCA8IDB4MzApKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9j YWw0ID0gQTA2OSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMb2NhbDUgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm ICgoKExvY2FsNCAmJiAweDA5KSA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKCgo TG9jYWw0ICYmIDB4MDYpID09IDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExv Y2FsMCArPSAweDA0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWw1ID0gQTA2OSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEw NzAgKDB4MzQsIExvY2FsMywgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExvY2FsNiA9IEEwNzEgLyogXF9TQl8uQTA3MSAqLwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDYgPT0gMHgwMSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQTA3MCAoMHgyOCwgKExvY2FsNCAmIDB4RkZGRkZGRjApLCAweDAwKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwNzAgKDB4MjksIExv Y2FsNSwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBB MDcwICgweDA1LCAweDAwLCAoMHgwMSA8PCAweDBBKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBMDcwICgweDJBLCAweDAwLCAweDAwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyZWFrCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgoKExvY2FsNCAm JiAweDA2KSA9PSAweDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwICs9IDB4MDQKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTG9jYWwwICs9IDB4MDQKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChBMDgzLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIElmICgoQTA2OSAoQXJnMCwgMHgwMCkgPT0gMHhGRkZGRkZGRikp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBB MDY5IChBcmcwLCAweDM0KQogICAgICAgICAgICAgICAgICAgIFdoaWxlICgweDAxKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gQTA2OSAoQXJn MCwgKExvY2FsMCAmIDB4RkYpKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDEg JiAweEZGKSA9PSBBcmcxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgoTG9jYWwwICYgMHhGRikpCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9ICgoTG9jYWwxID4+IDB4 MDgpICYgMHhGRikKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMCkp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKEFFU1AsIFBhY2th Z2UgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAg ICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAg ICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAg ICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAg ICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE1ldGhvZCAo QTA2MywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBMb2NhbDAgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgSWYgKChBMDY5IChMb2NhbDAs IDB4MDApICE9IDB4RkZGRkZGRkYpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgTG9jYWwxID0gKEEwNjkgKExvY2FsMCwgMHgwOCkgJiAweDgwKQogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMSA9PSAweDgwKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw3ID0gMHgwNwogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw3ID0gMHgw MAogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBXaGls ZSAoKExvY2FsMCA8PSBMb2NhbDcpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSBBMDgzIChMb2NhbDAsIDB4MTApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMSA9PSAweDAwKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDArKwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRpbnVlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID09IDB4 MDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsMiA9IEEwNjkgKExvY2FsMCwgKExvY2FsMSArIDB4MTApKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEEwODEgKExvY2FsMCwgKExvY2FsMSArIDB4MTApLCAo TG9jYWwyICYgfjB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFFU1AgW0xv Y2FsMF0gPSBMb2NhbDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSBEZXJlZk9mIChBRVNQIFtMb2NhbDBd KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwODEgKExvY2FsMCwgKExvY2FsMSAr IDB4MTApLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgTG9jYWwwKysKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKEEwODEsIDMsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgTG9jYWwwID0gKEFHUkIgKyAoQTA2NSA8PCAweDE0KSkKICAgICAg ICAgICAgICAgICAgICBMb2NhbDAgKz0gKEFyZzAgPDwgMHgwQykKICAgICAgICAgICAgICAgICAg ICBMb2NhbDAgKz0gQXJnMQogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQURS QiwgU3lzdGVtTWVtb3J5LCBMb2NhbDAsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgRmllbGQg KEFEUkIsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgQURSUiwgICAzMgogICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgQURSUiA9IEFyZzIKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKEEwNjksIDIsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gKEFHUkIgKyAoQTA2NSA8PCAweDE0KSkKICAg ICAgICAgICAgICAgICAgICBMb2NhbDAgKz0gKEFyZzAgPDwgMHgwQykKICAgICAgICAgICAgICAg ICAgICBMb2NhbDAgKz0gQXJnMQogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAo QURSQiwgU3lzdGVtTWVtb3J5LCBMb2NhbDAsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgRmll bGQgKEFEUkIsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgQURSUiwgICAzMgogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBRFJSKSAvKiBcX1NCXy5BV1IwLkFCUjAu QTA2OS5BRFJSICovCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChB MDc5LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIElmICgoQUIwQiAhPSAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQTA2NyAoQXJnMCkpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChBMDgwLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKEEwNjQsIDB4MDApCiAgICAgICAgICAgICAg ICAgICAgTG9jYWwyID0gMHgwMAogICAgICAgICAgICAgICAgICAgIEEwNjQgPSBBMDczIC8qIFxf U0JfLkFXUjAuQUJSMC5BMDczICovCiAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gKEFCMEQg fCAoQUIwQyA8PCAweDAzKSkKICAgICAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMSkp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBBMDc0ID0gMHgw MAogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDAxCiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIEEwNjMgKDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIExv Y2FsMCA9IEEwNjkgKDB4MDAsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9j YWwwICE9IDB4RkZGRkZGRkYpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBMDgxICgweDAwLCAweDA0LCAoTG9jYWwwICYgfjB4MDQpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQTA2OSAoMHgwMSwgMHgwNCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwICE9IDB4RkZGRkZGRkYpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEw ODEgKDB4MDEsIDB4MDQsIChMb2NhbDAgJiB+MHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsMiA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgQTA3NCA9IDB4MDEKICAgICAg ICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwNQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgQTA3MyA9IDB4MDAKICAgICAgICAgICAgICAgICAgICBXaGlsZSAo KExvY2FsMCAhPSAweDA4KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIElmICgoTG9jYWwwID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBMDgyICgweDI5LCBMb2NhbDEsIDB4MDAsIDB4MDAs IDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSAweDAxCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDA4CiAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4MDUpKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBMDY5ICgweDAw LCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA4MiAoMHgyQSwgTG9jYWwxLCAw eDAwLCAweDAwLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQUIwNSA9IDB4MDAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFCMDQgPSAweDAwCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBBQjEwID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwy ID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwOAogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBBMDczID0gQTA2NCAvKiBcX1NCXy5BV1IwLkFCUjAuQTA4MC5BMDY0ICovCiAgICAgICAg ICAgICAgICAgICAgSWYgKChBMDY0ICE9IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgQTA2MyAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwyKQogICAgICAgICAgICAgICAgfQogICAg ICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEFCUjEpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDIiKSAvKiBQTlAgTW90aGVyYm9h cmQgUmVzb3VyY2VzICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgIE5h bWUgKF9VSUQsIDB4ODEpICAvLyBfVUlEOiBVbmlxdWUgSUQKICAgICAgICAgICAgICAgIE5hbWUg KEFCMTIsIDB4MzQpCiAgICAgICAgICAgICAgICBOYW1lIChBQjAwLCAweDAwKQogICAgICAgICAg ICAgICAgTmFtZSAoQUIwMSwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMEUsIDB4MDAp CiAgICAgICAgICAgICAgICBOYW1lIChBQjAyLCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAo QUIwMywgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMDQsIDB4MDApCiAgICAgICAgICAg ICAgICBOYW1lIChBQjA1LCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwNiwgMHgwMCkK ICAgICAgICAgICAgICAgIE5hbWUgKEFCMDcsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChB QjA4LCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwOSwgMHgwMCkKICAgICAgICAgICAg ICAgIE5hbWUgKEFCMEEsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjBCLCAweDAwKQog ICAgICAgICAgICAgICAgTmFtZSAoQUIwQywgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFC MEQsIDB4MDApCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEEwNzIsIFN5c3RlbU1l bW9yeSwgKEFHUkIgKyAoKERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDBEKV0KICAgICAg ICAgICAgICAgICAgICApIDw8IDB4MEYpIHwgKERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAw eDBFKV0pIDw8IDB4MEMKICAgICAgICAgICAgICAgICAgICApKSksIDB4MTAwMCkKICAgICAgICAg ICAgICAgIEZpZWxkIChBMDcyLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxOCksIAogICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgxOSksIAogICAgICAgICAgICAgICAgICAgIEEwNjUsICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgQTA2NiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4NjgpLCAKICAgICAgICAgICAgICAgICAgICBBMDczLCAgIDIsIAogICAgICAgICAgICAgICAg ICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgQTA3NCwgICAxLCAKICAgICAgICAg ICAgICAgICAgICBBMDc1LCAgIDEsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg2QSks IAogICAgICAgICAgICAgICAgICAgICAgICAsICAgMTEsIAogICAgICAgICAgICAgICAgICAgIEEw NzYsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDg4KSwgCiAgICAgICAgICAg ICAgICAgICAgQTA3NywgICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgIEEwNzgsICAgMQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIE5hbWUgKEFCMTAsIDB4MDApCiAgICAgICAgICAgICAgICBNZXRob2QgKF9JTkksIDAsIE5v dFNlcmlhbGl6ZWQpICAvLyBfSU5JOiBJbml0aWFsaXplCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgQUIwMCA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDAwKV0p CiAgICAgICAgICAgICAgICAgICAgQUIwRSA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAw eDAxKV0pCiAgICAgICAgICAgICAgICAgICAgQUIwMSA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFC MTIgKyAweDAyKV0pCiAgICAgICAgICAgICAgICAgICAgQUIwMiA9IERlcmVmT2YgKFxfU0IuQURB VCBbKEFCMTIgKyAweDAzKV0pCiAgICAgICAgICAgICAgICAgICAgQUIwMyA9IERlcmVmT2YgKFxf U0IuQURBVCBbKEFCMTIgKyAweDA0KV0pCiAgICAgICAgICAgICAgICAgICAgQUIwNCA9IERlcmVm T2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDA1KV0pCiAgICAgICAgICAgICAgICAgICAgQUIwNSA9 IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDA2KV0pCiAgICAgICAgICAgICAgICAgICAg QUIwNiA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDA3KV0pCiAgICAgICAgICAgICAg ICAgICAgQUIwNyA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDA4KV0pCiAgICAgICAg ICAgICAgICAgICAgQUIwOCA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDA5KV0pCiAg ICAgICAgICAgICAgICAgICAgQUIwOSA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDBB KV0pCiAgICAgICAgICAgICAgICAgICAgQUIwQSA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIg KyAweDBCKV0pCiAgICAgICAgICAgICAgICAgICAgQUIwQiA9IERlcmVmT2YgKFxfU0IuQURBVCBb KEFCMTIgKyAweDBDKV0pCiAgICAgICAgICAgICAgICAgICAgQUIwQyA9IERlcmVmT2YgKFxfU0Iu QURBVCBbKEFCMTIgKyAweDBEKV0pCiAgICAgICAgICAgICAgICAgICAgQUIwRCA9IERlcmVmT2Yg KFxfU0IuQURBVCBbKEFCMTIgKyAweDBFKV0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChBMDYwLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IEEwNDIgKCkKICAgICAgICAgICAgICAgICAgICBJ ZiAoKExvY2FsMCA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQUIwMSkgLyogXF9TQl8uQVdSMC5BQlIxLkFCMDEgKi8KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4MDAp KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChB QjBFKSAvKiBcX1NCXy5BV1IwLkFCUjEuQUIwRSAqLwogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNTUsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKChBQjEwICE9 IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KChBQjEwID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNjEsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKChBQjA1ICE9 IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChBQjA1KSAvKiBcX1NCXy5BV1IwLkFCUjEuQUIwNSAqLwogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKChBQjEwID4gMHgwMSkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKChBQjEwIC0gMHgwMSkpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDU0LCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmICgoXF9TQi5B UDA1ID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKChBQjA1ICE9IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFCMDUpIC8qIFxfU0JfLkFXUjAuQUJSMS5BQjA1 ICovCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoQUIwRSkgLyogXF9TQl8uQVdSMC5BQlIxLkFCMEUgKi8KICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IEEwNjEgKCkKICAgICAgICAgICAgICAg ICAgICBJZiAoKExvY2FsMCAhPSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID4gQUIwMCkpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUIwMCkgLyogXF9TQl8u QVdSMC5BQlIxLkFCMDAgKi8KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBBMDYwICgp CiAgICAgICAgICAgICAgICAgICAgSWYgKChcX1NCLkFQMDMgIT0gMHgwMCkpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKFxfU0IuQVAwMyA8IExvY2Fs MCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoXF9TQi5BUDAzKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNTMsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQjAyKSAvKiBc X1NCXy5BV1IwLkFCUjEuQUIwMiAqLwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IE1ldGhvZCAoQTA1NiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKEFCMDApIC8qIFxfU0JfLkFXUjAuQUJSMS5BQjAwICovCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDUyLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFCMDIgPSBBcmcw CiAgICAgICAgICAgICAgICAgICAgQTA2MiAoQXJnMCkKICAgICAgICAgICAgICAgICAgICBJZiAo KEFCMTAgIT0gMHgwMCkpe30KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQTA2MyAo MHgwMCkKICAgICAgICAgICAgICAgICAgICBOYW1lIChBMDY0LCAweDAwKQogICAgICAgICAgICAg ICAgICAgIEEwNjMgKDB4MDEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChBMDU3LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIEFCMTAgPSBBcmcwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChBMDU4LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIExvY2FsMCA9IChBcmcwID4+IDB4MDgpCiAgICAgICAgICAgICAgICAgICAg SWYgKCgoTG9jYWwwID49IEEwNjUpICYmIChMb2NhbDAgPD0gQTA2NikpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2NywgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAoQUIwRCB8IChB QjBDIDw8IDB4MDMpKQogICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSBMb2NhbDApKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAx KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAw KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA1OSwgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBQjEwID0g MHgwMAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2MiwgMSwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAo KEFyZzAgPj0gMHgwMikpe30KICAgICAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPj0gMHgwMykp e30KICAgICAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMDQgPT0gMHgwMSkpe30KICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgTWV0aG9kIChBMDY4LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICBM b2NhbDEgPSBBMDY5IChMb2NhbDAsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0g QTA2OSAoTG9jYWwwLCAweDA4KQogICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwxICE9IDB4 RkZGRkZGRkYpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWwzID0gKChMb2NhbDEgPj4gMHgxMCkgJiAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAg ICAgIExvY2FsMSAmPSAweEZGRkYKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gKChM b2NhbDIgPj4gMHgxOCkgJiAweEZGKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2Fs MiA9PSAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKCgoTG9jYWwxID09IDB4MTAwMikgfHwgKExvY2FsMSA9PSAweDEwMjIpKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMb2NhbDAgPSAweDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUg KChMb2NhbDAgPCAweDMwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNCA9IEEwNjkgKDB4MDAsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw1ID0gMHgwMAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDQgJiYgMHgwOSkgPT0g MHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoKExvY2FsNCAmJiAweDA2KSA9PSAweDA0 KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgKz0gMHgwNAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNSA9IEEwNjkgKDB4MDAsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBMDcwICgweDM0LCBMb2NhbDMsIDB4MDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDYgPSBBMDcxIC8q IFxfU0JfLkEwNzEgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm ICgoTG9jYWw2ID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwNzAgKDB4 MjgsIChMb2NhbDQgJiAweEZGRkZGRkYwKSwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBMDcwICgweDI5LCBMb2NhbDUsIDB4MDApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA3MCAoMHgwNSwgMHgwMCwgKDB4MDEg PDwgMHgwQSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA3 MCAoMHgyQSwgMHgwMCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBCcmVhawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2VJZiAoKChMb2NhbDQgJiYgMHgwNikgPT0gMHgwNCkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExvY2FsMCArPSAweDA0CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCAr PSAweDA0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA4MywgMiwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAo KEEwNjkgKEFyZzAsIDB4MDApID09IDB4RkZGRkZGRkYpKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQTA2OSAoQXJnMCwgMHgzNCkKICAgICAg ICAgICAgICAgICAgICBXaGlsZSAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIExvY2FsMSA9IEEwNjkgKEFyZzAsIChMb2NhbDAgJiAweEZGKSkKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWwxICYgMHhGRikgPT0gQXJnMSkpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo KExvY2FsMCAmIDB4RkYpKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDAgPSAoKExvY2FsMSA+PiAweDA4KSAmIDB4RkYpCiAgICAgICAgICAg ICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBOYW1lIChBRVNQLCBQYWNrYWdlICgweDA4KQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAog ICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAg ICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAg ICAgICAgIH0pCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNjMsIDEsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMAogICAg ICAgICAgICAgICAgICAgIElmICgoQTA2OSAoTG9jYWwwLCAweDAwKSAhPSAweEZGRkZGRkZGKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IChB MDY5IChMb2NhbDAsIDB4MDgpICYgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChM b2NhbDEgPT0gMHg4MCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExvY2FsNyA9IDB4MDcKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExvY2FsNyA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKChMb2NhbDAgPD0gTG9jYWw3KSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9j YWwxID0gQTA4MyAoTG9jYWwwLCAweDEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KChMb2NhbDEgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwKysKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDb250aW51ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSBBMDY5 IChMb2NhbDAsIChMb2NhbDEgKyAweDEwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBMDgxIChMb2NhbDAsIChMb2NhbDEgKyAweDEwKSwgKExvY2FsMiAmIH4weDAzKSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBRVNQIFtMb2NhbDBdID0gTG9jYWwyCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWwyID0gRGVyZWZPZiAoQUVTUCBbTG9jYWwwXSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBBMDgxIChMb2NhbDAsIChMb2NhbDEgKyAweDEwKSwgTG9jYWwyKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2Fs MCsrCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDgxLCAz LCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2Fs MCA9IChBR1JCICsgKEEwNjUgPDwgMHgxNCkpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwICs9 IChBcmcwIDw8IDB4MEMpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwICs9IEFyZzEKICAgICAg ICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEFEUkIsIFN5c3RlbU1lbW9yeSwgTG9jYWww LCAweDA0KQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChBRFJCLCBEV29yZEFjYywgTm9Mb2Nr LCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IEFEUlIsICAgMzIKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEFE UlIgPSBBcmcyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDY5 LCAyLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExv Y2FsMCA9IChBR1JCICsgKEEwNjUgPDwgMHgxNCkpCiAgICAgICAgICAgICAgICAgICAgTG9jYWww ICs9IChBcmcwIDw8IDB4MEMpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwICs9IEFyZzEKICAg ICAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEFEUkIsIFN5c3RlbU1lbW9yeSwgTG9j YWwwLCAweDA0KQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChBRFJCLCBEV29yZEFjYywgTm9M b2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIEFEUlIsICAgMzIKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IFJldHVybiAoQURSUikgLyogXF9TQl8uQVdSMC5BQlIxLkEwNjkuQURSUiAqLwogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA3OSwgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMEIgIT0gMHgwMSkp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEEw NjcgKEFyZzApKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA4 MCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBOYW1lIChBMDY0LCAweDAwKQogICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IDB4MDAKICAg ICAgICAgICAgICAgICAgICBBMDY0ID0gQTA3MyAvKiBcX1NCXy5BV1IwLkFCUjEuQTA3MyAqLwog ICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IChBQjBEIHwgKEFCMEMgPDwgMHgwMykpCiAgICAg ICAgICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgQTA3NCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWwwID0gMHgwMQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBBMDYz ICgweDAwKQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBBMDY5ICgweDAwLCAweDA0 KQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCAhPSAweEZGRkZGRkZGKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA4MSAo MHgwMCwgMHgwNCwgKExvY2FsMCAmIH4weDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsMCA9IEEwNjkgKDB4MDEsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoKExvY2FsMCAhPSAweEZGRkZGRkZGKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBMDgxICgweDAxLCAweDA0LCAoTG9jYWww ICYgfjB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSAweDAwCiAgICAgICAg ICAgICAgICAgICAgICAgIEEwNzQgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2Fs MCA9IDB4MDUKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEEwNzMg PSAweDAwCiAgICAgICAgICAgICAgICAgICAgV2hpbGUgKChMb2NhbDAgIT0gMHgwOCkpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCA9PSAw eDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgQTA4MiAoMHgyOSwgTG9jYWwxLCAweDAwLCAweDAwLCAweDAwKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgTG9jYWwyID0gMHgwMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9j YWwwID0gMHgwOAogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoKExvY2FsMCA9PSAweDA1KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgQTA2OSAoMHgwMCwgMHgwMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEEwODIgKDB4MkEsIExvY2FsMSwgMHgwMCwgMHgwMCwgMHgwMCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFCMDUgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBQjA0ID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgQUIxMCA9IDB4MDAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IDB4MDAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExvY2FsMCA9IDB4MDgKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQTA3MyA9IEEwNjQgLyogXF9T Ql8uQVdSMC5BQlIxLkEwODAuQTA2NCAqLwogICAgICAgICAgICAgICAgICAgIElmICgoQTA2NCAh PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEEw NjMgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKExvY2FsMikKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAg RGV2aWNlIChBQlIyKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfSElELCBF aXNhSWQgKCJQTlAwQzAyIikgLyogUE5QIE1vdGhlcmJvYXJkIFJlc291cmNlcyAqLykgIC8vIF9I SUQ6IEhhcmR3YXJlIElECiAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDgyKSAgLy8gX1VJ RDogVW5pcXVlIElECiAgICAgICAgICAgICAgICBOYW1lIChBQjEyLCAweDQ4KQogICAgICAgICAg ICAgICAgTmFtZSAoQUIwMCwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMDEsIDB4MDAp CiAgICAgICAgICAgICAgICBOYW1lIChBQjBFLCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAo QUIwMiwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMDMsIDB4MDApCiAgICAgICAgICAg ICAgICBOYW1lIChBQjA0LCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwNSwgMHgwMCkK ICAgICAgICAgICAgICAgIE5hbWUgKEFCMDYsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChB QjA3LCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwOCwgMHgwMCkKICAgICAgICAgICAg ICAgIE5hbWUgKEFCMDksIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjBBLCAweDAwKQog ICAgICAgICAgICAgICAgTmFtZSAoQUIwQiwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFC MEMsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjBELCAweDAwKQogICAgICAgICAgICAg ICAgT3BlcmF0aW9uUmVnaW9uIChBMDcyLCBTeXN0ZW1NZW1vcnksIChBR1JCICsgKChEZXJlZk9m IChcX1NCLkFEQVQgWyhBQjEyICsgMHgwRCldCiAgICAgICAgICAgICAgICAgICAgKSA8PCAweDBG KSB8IChEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwRSldKSA8PCAweDBDCiAgICAgICAg ICAgICAgICAgICAgKSkpLCAweDEwMDApCiAgICAgICAgICAgICAgICBGaWVsZCAoQTA3MiwgQnl0 ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4MTgpLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTkpLCAK ICAgICAgICAgICAgICAgICAgICBBMDY1LCAgIDgsIAogICAgICAgICAgICAgICAgICAgIEEwNjYs ICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDY4KSwgCiAgICAgICAgICAgICAg ICAgICAgQTA3MywgICAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAg ICAgICAgICAgICAgIEEwNzQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgQTA3NSwgICAxLCAK ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NkEpLCAKICAgICAgICAgICAgICAgICAgICAg ICAgLCAgIDExLCAKICAgICAgICAgICAgICAgICAgICBBMDc2LCAgIDEsIAogICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHg4OCksIAogICAgICAgICAgICAgICAgICAgIEEwNzcsICAgNCwgCiAg ICAgICAgICAgICAgICAgICAgICAgICwgICAxLCAKICAgICAgICAgICAgICAgICAgICBBMDc4LCAg IDEKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBOYW1lIChBQjEwLCAweDAwKQog ICAgICAgICAgICAgICAgTWV0aG9kIChfSU5JLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0lOSTog SW5pdGlhbGl6ZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFCMDAgPSBE ZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwMCldKQogICAgICAgICAgICAgICAgICAgIEFC MEUgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwMSldKQogICAgICAgICAgICAgICAg ICAgIEFCMDEgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwMildKQogICAgICAgICAg ICAgICAgICAgIEFCMDIgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwMyldKQogICAg ICAgICAgICAgICAgICAgIEFCMDMgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwNCld KQogICAgICAgICAgICAgICAgICAgIEFCMDQgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsg MHgwNSldKQogICAgICAgICAgICAgICAgICAgIEFCMDUgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhB QjEyICsgMHgwNildKQogICAgICAgICAgICAgICAgICAgIEFCMDYgPSBEZXJlZk9mIChcX1NCLkFE QVQgWyhBQjEyICsgMHgwNyldKQogICAgICAgICAgICAgICAgICAgIEFCMDcgPSBEZXJlZk9mIChc X1NCLkFEQVQgWyhBQjEyICsgMHgwOCldKQogICAgICAgICAgICAgICAgICAgIEFCMDggPSBEZXJl Zk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwOSldKQogICAgICAgICAgICAgICAgICAgIEFCMDkg PSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwQSldKQogICAgICAgICAgICAgICAgICAg IEFCMEEgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwQildKQogICAgICAgICAgICAg ICAgICAgIEFCMEIgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwQyldKQogICAgICAg ICAgICAgICAgICAgIEFCMEMgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwRCldKQog ICAgICAgICAgICAgICAgICAgIEFCMEQgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgw RSldKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2MCwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2Nh bDAgPSBBMDQyICgpCiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMSkpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFCMDEp IC8qIFxfU0JfLkFXUjAuQUJSMi5BQjAxICovCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBJZiAoKExvY2FsMCA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUIwRSkgLyogXF9TQl8uQVdSMC5BQlIy LkFCMEUgKi8KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgTWV0aG9kIChBMDU1LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIElmICgoQUIxMCAhPSAweDAwKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQUIxMCA9PSAweDAxKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDAxKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgTWV0aG9kIChBMDYxLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIElmICgoQUIwNSAhPSAweDAwKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUIwNSkgLyogXF9TQl8uQVdS MC5BQlIyLkFCMDUgKi8KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IElmICgoQUIxMCA+IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgoQUIxMCAtIDB4MDEpKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoQTA1NCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBJZiAoKFxfU0IuQVAwNSA9PSAweDAwKSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQUIwNSAhPSAweDAwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChBQjA1KSAvKiBcX1NCXy5BV1IwLkFCUjIuQUIwNSAqLwogICAgICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFCMEUpIC8qIFxfU0JfLkFX UjAuQUJSMi5BQjBFICovCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBMb2NhbDAgPSBBMDYxICgpCiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgIT0gMHgw MCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExv Y2FsMCA+IEFCMDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKEFCMDApIC8qIFxfU0JfLkFXUjAuQUJSMi5BQjAwICovCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQTA2MCAoKQogICAgICAgICAgICAgICAgICAgIElm ICgoXF9TQi5BUDAzICE9IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKChcX1NCLkFQMDMgPCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVAwMykKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChBMDUzLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFJldHVybiAoQUIwMikgLyogXF9TQl8uQVdSMC5BQlIyLkFCMDIgKi8K ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNTYsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChB QjAwKSAvKiBcX1NCXy5BV1IwLkFCUjIuQUIwMCAqLwogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoQTA1MiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBBQjAyID0gQXJnMAogICAgICAgICAgICAgICAgICAgIEEw NjIgKEFyZzApCiAgICAgICAgICAgICAgICAgICAgSWYgKChBQjEwICE9IDB4MDApKXt9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIEEwNjMgKDB4MDApCiAgICAgICAgICAgICAgICAg ICAgTmFtZSAoQTA2NCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICBBMDYzICgweDAxKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA1NywgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBQjEwID0gQXJnMAog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA1OCwgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAo QXJnMCA+PiAweDA4KQogICAgICAgICAgICAgICAgICAgIElmICgoKExvY2FsMCA+PSBBMDY1KSAm JiAoTG9jYWwwIDw9IEEwNjYpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKEEwNjcsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgTG9jYWwwID0gKEFCMEQgfCAoQUIwQyA8PCAweDAzKSkKICAgICAgICAg ICAgICAgICAgICBJZiAoKEFyZzAgPT0gTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKEEwNTksIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgQUIxMCA9IDB4MDAKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNjIsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID49IDB4MDIpKXt9CiAgICAg ICAgICAgICAgICAgICAgSWYgKChBcmcwID49IDB4MDMpKXt9CiAgICAgICAgICAgICAgICAgICAg SWYgKChBcmcwID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKChBQjA0ID09IDB4MDEpKXt9CiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2OCwg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBM b2NhbDAgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gQTA2OSAoTG9jYWwwLCAw eDAwKQogICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IEEwNjkgKExvY2FsMCwgMHgwOCkKICAg ICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMSAhPSAweEZGRkZGRkZGKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMyA9ICgoTG9jYWwxID4+IDB4 MTApICYgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgJj0gMHhGRkZGCiAg ICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9ICgoTG9jYWwyID4+IDB4MTgpICYgMHhGRikK ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDIgPT0gMHgwMykpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoKExvY2FsMSA9 PSAweDEwMDIpIHx8IChMb2NhbDEgPT0gMHgxMDIyKSkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgxMAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxlICgoTG9jYWwwIDwgMHgzMCkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDQgPSBBMDY5ICgweDAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExvY2FsNSA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKCgoTG9jYWw0ICYmIDB4MDkpID09IDB4MDApKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoKChMb2NhbDQgJiYgMHgwNikgPT0gMHgwNCkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTG9jYWwwICs9IDB4MDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDUgPSBBMDY5ICgweDAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQTA3MCAoMHgzNCwgTG9jYWwzLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTG9jYWw2ID0gQTA3MSAvKiBcX1NCXy5BMDcxICovCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsNiA9PSAweDAxKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBMDcwICgweDI4LCAoTG9jYWw0ICYgMHhGRkZGRkZG MCksIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA3 MCAoMHgyOSwgTG9jYWw1LCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEEwNzAgKDB4MDUsIDB4MDAsICgweDAxIDw8IDB4MEEpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwNzAgKDB4MkEsIDB4MDAsIDB4MDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJlYWsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlSWYg KCgoTG9jYWw0ICYmIDB4MDYpID09IDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAg Kz0gMHgwNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgKz0gMHgwNAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBNZXRob2QgKEEwODMsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKChBMDY5IChBcmcwLCAweDAwKSA9PSAw eEZGRkZGRkZGKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IExvY2FsMCA9IEEwNjkgKEFyZzAsIDB4MzQpCiAgICAgICAgICAgICAgICAgICAgV2hpbGUgKDB4 MDEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEg PSBBMDY5IChBcmcwLCAoTG9jYWwwICYgMHhGRikpCiAgICAgICAgICAgICAgICAgICAgICAgIElm ICgoKExvY2FsMSAmIDB4RkYpID09IEFyZzEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKChMb2NhbDAgJiAweEZGKSkKICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gKChM b2NhbDEgPj4gMHgwOCkgJiAweEZGKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2Fs MCA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAo QUVTUCwgUGFja2FnZSAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAw eDAwLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAg ICAgTWV0aG9kIChBMDYzLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICBJZiAoKEEw NjkgKExvY2FsMCwgMHgwMCkgIT0gMHhGRkZGRkZGRikpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAoQTA2OSAoTG9jYWwwLCAweDA4KSAmIDB4 ODApCiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID09IDB4ODApKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDcgPSAw eDA3CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBM b2NhbDcgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgIFdoaWxlICgoTG9jYWwwIDw9IExvY2FsNykpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IEEwODMgKExvY2FsMCwgMHgx MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID09IDB4MDApKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsMCsrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGludWUKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo KEFyZzAgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gQTA2OSAoTG9jYWwwLCAoTG9jYWwxICsgMHgx MCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA4MSAoTG9jYWwwLCAoTG9jYWwx ICsgMHgxMCksIChMb2NhbDIgJiB+MHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQUVTUCBbTG9jYWwwXSA9IExvY2FsMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IERlcmVmT2YgKEFF U1AgW0xvY2FsMF0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA4MSAoTG9jYWww LCAoTG9jYWwxICsgMHgxMCksIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA4MSwgMywgU2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAoQUdSQiArIChBMDY1IDw8IDB4 MTQpKQogICAgICAgICAgICAgICAgICAgIExvY2FsMCArPSAoQXJnMCA8PCAweDBDKQogICAgICAg ICAgICAgICAgICAgIExvY2FsMCArPSBBcmcxCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9u UmVnaW9uIChBRFJCLCBTeXN0ZW1NZW1vcnksIExvY2FsMCwgMHgwNCkKICAgICAgICAgICAgICAg ICAgICBGaWVsZCAoQURSQiwgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBBRFJSLCAgIDMyCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBBRFJSID0gQXJnMgogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2OSwgMiwgU2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAoQUdSQiArIChBMDY1IDw8 IDB4MTQpKQogICAgICAgICAgICAgICAgICAgIExvY2FsMCArPSAoQXJnMCA8PCAweDBDKQogICAg ICAgICAgICAgICAgICAgIExvY2FsMCArPSBBcmcxCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0 aW9uUmVnaW9uIChBRFJCLCBTeXN0ZW1NZW1vcnksIExvY2FsMCwgMHgwNCkKICAgICAgICAgICAg ICAgICAgICBGaWVsZCAoQURSQiwgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBBRFJSLCAgIDMyCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFEUlIpIC8qIFxfU0Jf LkFXUjAuQUJSMi5BMDY5LkFEUlIgKi8KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKEEwNzksIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgSWYgKChBQjBCICE9IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBMDY3IChBcmcwKSkKICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwODAsIDEsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQTA2NCwgMHgwMCkKICAg ICAgICAgICAgICAgICAgICBMb2NhbDIgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgQTA2NCA9 IEEwNzMgLyogXF9TQl8uQVdSMC5BQlIyLkEwNzMgKi8KICAgICAgICAgICAgICAgICAgICBMb2Nh bDEgPSAoQUIwRCB8IChBQjBDIDw8IDB4MDMpKQogICAgICAgICAgICAgICAgICAgIElmICgoQXJn MCA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IEEwNzQgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDEKICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQTA2MyAoMHgwMCkKICAgICAgICAgICAgICAg ICAgICAgICAgTG9jYWwwID0gQTA2OSAoMHgwMCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKChMb2NhbDAgIT0gMHhGRkZGRkZGRikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwODEgKDB4MDAsIDB4MDQsIChMb2NhbDAgJiB+ MHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBBMDY5ICgweDAxLCAw eDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgIT0gMHhGRkZGRkZG RikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQTA4MSAoMHgwMSwgMHgwNCwgKExvY2FsMCAmIH4weDA0KSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgTG9jYWwyID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICBBMDc0ID0g MHgwMQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDA1CiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBBMDczID0gMHgwMAogICAgICAgICAgICAgICAg ICAgIFdoaWxlICgoTG9jYWwwICE9IDB4MDgpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwODIgKDB4MjksIExvY2FsMSwg MHgwMCwgMHgwMCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IDB4 MDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDgKICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgw NSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEEwNjkgKDB4MDAsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBMDgyICgweDJB LCBMb2NhbDEsIDB4MDAsIDB4MDAsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBB QjA1ID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgQUIwNCA9IDB4MDAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFCMTAgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMb2NhbDIgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAw eDA4CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIEEwNzMgPSBBMDY0IC8qIFxfU0JfLkFXUjAuQUJSMi5BMDgwLkEwNjQg Ki8KICAgICAgICAgICAgICAgICAgICBJZiAoKEEwNjQgIT0gMHgwMCkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBBMDYzICgweDAxKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDIpCiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoQUJSMykKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwMiIpIC8qIFBO UCBNb3RoZXJib2FyZCBSZXNvdXJjZXMgKi8pICAvLyBfSElEOiBIYXJkd2FyZSBJRAogICAgICAg ICAgICAgICAgTmFtZSAoX1VJRCwgMHg4MykgIC8vIF9VSUQ6IFVuaXF1ZSBJRAogICAgICAgICAg ICAgICAgTmFtZSAoQUIxMiwgMHg1QykKICAgICAgICAgICAgICAgIE5hbWUgKEFCMDAsIDB4MDAp CiAgICAgICAgICAgICAgICBOYW1lIChBQjAxLCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAo QUIwRSwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMDIsIDB4MDApCiAgICAgICAgICAg ICAgICBOYW1lIChBQjAzLCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwNCwgMHgwMCkK ICAgICAgICAgICAgICAgIE5hbWUgKEFCMDUsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChB QjA2LCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwNywgMHgwMCkKICAgICAgICAgICAg ICAgIE5hbWUgKEFCMDgsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjA5LCAweDAwKQog ICAgICAgICAgICAgICAgTmFtZSAoQUIwQSwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFC MEIsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjBDLCAweDAwKQogICAgICAgICAgICAg ICAgTmFtZSAoQUIwRCwgMHgwMCkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQTA3 MiwgU3lzdGVtTWVtb3J5LCAoQUdSQiArICgoRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4 MEQpXQogICAgICAgICAgICAgICAgICAgICkgPDwgMHgwRikgfCAoRGVyZWZPZiAoXF9TQi5BREFU IFsoQUIxMiArIDB4MEUpXSkgPDwgMHgwQwogICAgICAgICAgICAgICAgICAgICkpKSwgMHgxMDAw KQogICAgICAgICAgICAgICAgRmllbGQgKEEwNzIsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE4KSwgCiAg ICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE5KSwgCiAgICAgICAgICAgICAgICAgICAgQTA2 NSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBBMDY2LCAgIDgsIAogICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHg2OCksIAogICAgICAgICAgICAgICAgICAgIEEwNzMsICAgMiwgCiAgICAg ICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgICAgICBBMDc0LCAgIDEs IAogICAgICAgICAgICAgICAgICAgIEEwNzUsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweDZBKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAxMSwgCiAgICAgICAgICAg ICAgICAgICAgQTA3NiwgICAxLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4ODgpLCAK ICAgICAgICAgICAgICAgICAgICBBMDc3LCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICAs ICAgMSwgCiAgICAgICAgICAgICAgICAgICAgQTA3OCwgICAxCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTmFtZSAoQUIxMCwgMHgwMCkKICAgICAgICAgICAgICAgIE1ldGhvZCAo X0lOSSwgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9JTkk6IEluaXRpYWxpemUKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBBQjAwID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIx MiArIDB4MDApXSkKICAgICAgICAgICAgICAgICAgICBBQjBFID0gRGVyZWZPZiAoXF9TQi5BREFU IFsoQUIxMiArIDB4MDEpXSkKICAgICAgICAgICAgICAgICAgICBBQjAxID0gRGVyZWZPZiAoXF9T Qi5BREFUIFsoQUIxMiArIDB4MDIpXSkKICAgICAgICAgICAgICAgICAgICBBQjAyID0gRGVyZWZP ZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDMpXSkKICAgICAgICAgICAgICAgICAgICBBQjAzID0g RGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDQpXSkKICAgICAgICAgICAgICAgICAgICBB QjA0ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDUpXSkKICAgICAgICAgICAgICAg ICAgICBBQjA1ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDYpXSkKICAgICAgICAg ICAgICAgICAgICBBQjA2ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDcpXSkKICAg ICAgICAgICAgICAgICAgICBBQjA3ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDgp XSkKICAgICAgICAgICAgICAgICAgICBBQjA4ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiAr IDB4MDkpXSkKICAgICAgICAgICAgICAgICAgICBBQjA5ID0gRGVyZWZPZiAoXF9TQi5BREFUIFso QUIxMiArIDB4MEEpXSkKICAgICAgICAgICAgICAgICAgICBBQjBBID0gRGVyZWZPZiAoXF9TQi5B REFUIFsoQUIxMiArIDB4MEIpXSkKICAgICAgICAgICAgICAgICAgICBBQjBCID0gRGVyZWZPZiAo XF9TQi5BREFUIFsoQUIxMiArIDB4MEMpXSkKICAgICAgICAgICAgICAgICAgICBBQjBDID0gRGVy ZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MEQpXSkKICAgICAgICAgICAgICAgICAgICBBQjBE ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MEUpXSkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNjAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQTA0MiAoKQogICAgICAgICAg ICAgICAgICAgIElmICgoTG9jYWwwID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQjAxKSAvKiBcX1NCXy5BV1IwLkFCUjMuQUIw MSAqLwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2Nh bDAgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKEFCMEUpIC8qIFxfU0JfLkFXUjAuQUJSMy5BQjBFICovCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA1NSwg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJ ZiAoKEFCMTAgIT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBJZiAoKEFCMTAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkKICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDAwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2MSwg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJ ZiAoKEFCMDUgIT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKEFCMDUpIC8qIFxfU0JfLkFXUjAuQUJSMy5BQjA1ICovCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMTAgPiAweDAxKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoKEFCMTAg LSAweDAxKSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNTQs IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg SWYgKChcX1NCLkFQMDUgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoKEFCMDUgIT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUIwNSkgLyogXF9TQl8uQVdS MC5BQlIzLkFCMDUgKi8KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChBQjBFKSAvKiBcX1NCXy5BV1IwLkFCUjMuQUIwRSAqLwogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQTA2MSAoKQogICAg ICAgICAgICAgICAgICAgIElmICgoTG9jYWwwICE9IDB4MDApKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPiBBQjAwKSkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQjAw KSAvKiBcX1NCXy5BV1IwLkFCUjMuQUIwMCAqLwogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIExvY2Fs MCA9IEEwNjAgKCkKICAgICAgICAgICAgICAgICAgICBJZiAoKFxfU0IuQVAwMyAhPSAweDAwKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoXF9TQi5B UDAzIDwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFQMDMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWww KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA1MywgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KEFCMDIpIC8qIFxfU0JfLkFXUjAuQUJSMy5BQjAyICovCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChBMDU2LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUIwMCkgLyogXF9TQl8uQVdSMC5BQlIz LkFCMDAgKi8KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNTIs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg QUIwMiA9IEFyZzAKICAgICAgICAgICAgICAgICAgICBBMDYyIChBcmcwKQogICAgICAgICAgICAg ICAgICAgIElmICgoQUIxMCAhPSAweDAwKSl7fQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBBMDYzICgweDAwKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEEwNjQsIDB4MDApCiAg ICAgICAgICAgICAgICAgICAgQTA2MyAoMHgwMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKEEwNTcsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgQUIxMCA9IEFyZzAKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKEEwNTgsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gKEFyZzAgPj4gMHgwOCkKICAgICAgICAg ICAgICAgICAgICBJZiAoKChMb2NhbDAgPj0gQTA2NSkgJiYgKExvY2FsMCA8PSBBMDY2KSkpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDAp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDY3LCAxLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9 IChBQjBEIHwgKEFCMEMgPDwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID09 IExvY2FsMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChB MDU5LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIEFCMTAgPSAweDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9k IChBMDYyLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIElmICgoQXJnMCA+PSAweDAyKSl7fQogICAgICAgICAgICAgICAgICAgIElmICgoQXJn MCA+PSAweDAzKSl7fQogICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAxKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQUIwNCA9PSAw eDAxKSl7fQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNjgsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMAogICAgICAgICAg ICAgICAgICAgIExvY2FsMSA9IEEwNjkgKExvY2FsMCwgMHgwMCkKICAgICAgICAgICAgICAgICAg ICBMb2NhbDIgPSBBMDY5IChMb2NhbDAsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgSWYgKChM b2NhbDEgIT0gMHhGRkZGRkZGRikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDMgPSAoKExvY2FsMSA+PiAweDEwKSAmIDB4RkZGRikKICAgICAgICAg ICAgICAgICAgICAgICAgTG9jYWwxICY9IDB4RkZGRgogICAgICAgICAgICAgICAgICAgICAgICBM b2NhbDIgPSAoKExvY2FsMiA+PiAweDE4KSAmIDB4RkYpCiAgICAgICAgICAgICAgICAgICAgICAg IElmICgoTG9jYWwyID09IDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDEgPT0gMHgxMDAyKSB8fCAoTG9jYWwxID09 IDB4MTAyMikpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MTAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBXaGlsZSAoKExvY2FsMCA8IDB4MzApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw0ID0gQTA2OSAo MHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDUg PSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoKExvY2FsNCAm JiAweDA5KSA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWw0ICYmIDB4 MDYpID09IDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCArPSAweDA0 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw1ID0gQTA2 OSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwNzAgKDB4MzQsIExv Y2FsMywgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2Fs NiA9IEEwNzEgLyogXF9TQl8uQTA3MSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKChMb2NhbDYgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQTA3MCAoMHgyOCwgKExvY2FsNCAmIDB4RkZGRkZGRjApLCAweDAwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwNzAgKDB4MjksIExvY2FsNSwgMHgwMCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBMDcwICgweDA1LCAw eDAwLCAoMHgwMSA8PCAweDBBKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBMDcwICgweDJBLCAweDAwLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJyZWFrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZUlmICgoKExvY2FsNCAmJiAweDA2KSA9PSAw eDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwICs9IDB4MDQKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWwwICs9IDB4MDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9k IChBMDgzLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIElmICgoQTA2OSAoQXJnMCwgMHgwMCkgPT0gMHhGRkZGRkZGRikpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBBMDY5IChBcmcwLCAw eDM0KQogICAgICAgICAgICAgICAgICAgIFdoaWxlICgweDAxKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gQTA2OSAoQXJnMCwgKExvY2FsMCAm IDB4RkYpKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDEgJiAweEZGKSA9PSBB cmcxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgoTG9jYWwwICYgMHhGRikpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9ICgoTG9jYWwxID4+IDB4MDgpICYgMHhGRikK ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMCkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKEFFU1AsIFBhY2thZ2UgKDB4MDgpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgw MAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2MywgMSwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAg PSAweDAwCiAgICAgICAgICAgICAgICAgICAgSWYgKChBMDY5IChMb2NhbDAsIDB4MDApICE9IDB4 RkZGRkZGRkYpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWwxID0gKEEwNjkgKExvY2FsMCwgMHgwOCkgJiAweDgwKQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoKExvY2FsMSA9PSAweDgwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw3ID0gMHgwNwogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw3ID0gMHgwMAogICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAoKExvY2FsMCA8 PSBMb2NhbDcpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDEgPSBBMDgzIChMb2NhbDAsIDB4MTApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoKExvY2FsMSA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDApKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExv Y2FsMiA9IEEwNjkgKExvY2FsMCwgKExvY2FsMSArIDB4MTApKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEEwODEgKExvY2FsMCwgKExvY2FsMSArIDB4MTApLCAoTG9jYWwyICYgfjB4 MDMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFFU1AgW0xvY2FsMF0gPSBMb2Nh bDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDIgPSBEZXJlZk9mIChBRVNQIFtMb2NhbDBdKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEEwODEgKExvY2FsMCwgKExvY2FsMSArIDB4MTApLCBMb2Nh bDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgTG9jYWwwKysKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKEEwODEsIDMsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgTG9jYWwwID0gKEFHUkIgKyAoQTA2NSA8PCAweDE0KSkKICAgICAgICAgICAgICAgICAg ICBMb2NhbDAgKz0gKEFyZzAgPDwgMHgwQykKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgKz0g QXJnMQogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQURSQiwgU3lzdGVtTWVt b3J5LCBMb2NhbDAsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKEFEUkIsIERXb3Jk QWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgQURSUiwgICAzMgogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgQURSUiA9IEFyZzIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBN ZXRob2QgKEEwNjksIDIsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgTG9jYWwwID0gKEFHUkIgKyAoQTA2NSA8PCAweDE0KSkKICAgICAgICAgICAgICAg ICAgICBMb2NhbDAgKz0gKEFyZzAgPDwgMHgwQykKICAgICAgICAgICAgICAgICAgICBMb2NhbDAg Kz0gQXJnMQogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQURSQiwgU3lzdGVt TWVtb3J5LCBMb2NhbDAsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKEFEUkIsIERX b3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgQURSUiwgICAzMgogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChBRFJSKSAvKiBcX1NCXy5BV1IwLkFCUjMuQTA2OS5BRFJSICov CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDc5LCAxLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmICgoQUIw QiAhPSAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IFJldHVybiAoQTA2NyAoQXJnMCkpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChBMDgwLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIE5hbWUgKEEwNjQsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgTG9jYWwy ID0gMHgwMAogICAgICAgICAgICAgICAgICAgIEEwNjQgPSBBMDczIC8qIFxfU0JfLkFXUjAuQUJS My5BMDczICovCiAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gKEFCMEQgfCAoQUIwQyA8PCAw eDAzKSkKICAgICAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBBMDc0ID0gMHgwMAogICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDAgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIEEwNjMgKDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IEEwNjkg KDB4MDAsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwICE9IDB4RkZG RkZGRkYpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBMDgxICgweDAwLCAweDA0LCAoTG9jYWwwICYgfjB4MDQpKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgTG9jYWwwID0gQTA2OSAoMHgwMSwgMHgwNCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmICgoTG9jYWwwICE9IDB4RkZGRkZGRkYpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwODEgKDB4MDEsIDB4 MDQsIChMb2NhbDAgJiB+MHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IDB4 MDAKICAgICAgICAgICAgICAgICAgICAgICAgQTA3NCA9IDB4MDEKICAgICAgICAgICAgICAgICAg ICAgICAgTG9jYWwwID0gMHgwNQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgQTA3MyA9IDB4MDAKICAgICAgICAgICAgICAgICAgICBXaGlsZSAoKExvY2FsMCAhPSAw eDA4KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgo TG9jYWwwID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBMDgyICgweDI5LCBMb2NhbDEsIDB4MDAsIDB4MDAsIDB4MDApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSAweDAxCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDAgPSAweDA4CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4MDUpKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBMDY5ICgweDAwLCAweDAwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgQTA4MiAoMHgyQSwgTG9jYWwxLCAweDAwLCAweDAwLCAw eDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQUIwNSA9IDB4MDAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFCMDQgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBB QjEwID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gMHgwMAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwOAogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBBMDczID0g QTA2NCAvKiBcX1NCXy5BV1IwLkFCUjMuQTA4MC5BMDY0ICovCiAgICAgICAgICAgICAgICAgICAg SWYgKChBMDY0ICE9IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgQTA2MyAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoTG9jYWwyKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBEZXZpY2UgKEFCUjQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5h bWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDIiKSAvKiBQTlAgTW90aGVyYm9hcmQgUmVzb3VyY2Vz ICovKSAgLy8gX0hJRDogSGFyZHdhcmUgSUQKICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4 ODQpICAvLyBfVUlEOiBVbmlxdWUgSUQKICAgICAgICAgICAgICAgIE5hbWUgKEFCMTIsIDB4NzAp CiAgICAgICAgICAgICAgICBOYW1lIChBQjAwLCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAo QUIwMSwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMEUsIDB4MDApCiAgICAgICAgICAg ICAgICBOYW1lIChBQjAyLCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwMywgMHgwMCkK ICAgICAgICAgICAgICAgIE5hbWUgKEFCMDQsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChB QjA1LCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwNiwgMHgwMCkKICAgICAgICAgICAg ICAgIE5hbWUgKEFCMDcsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjA4LCAweDAwKQog ICAgICAgICAgICAgICAgTmFtZSAoQUIwOSwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFC MEEsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjBCLCAweDAwKQogICAgICAgICAgICAg ICAgTmFtZSAoQUIwQywgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMEQsIDB4MDApCiAg ICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEEwNzIsIFN5c3RlbU1lbW9yeSwgKEFHUkIg KyAoKERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDBEKV0KICAgICAgICAgICAgICAgICAg ICApIDw8IDB4MEYpIHwgKERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDBFKV0pIDw8IDB4 MEMKICAgICAgICAgICAgICAgICAgICApKSksIDB4MTAwMCkKICAgICAgICAgICAgICAgIEZpZWxk IChBMDcyLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxOCksIAogICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHgxOSksIAogICAgICAgICAgICAgICAgICAgIEEwNjUsICAgOCwgCiAgICAgICAgICAgICAg ICAgICAgQTA2NiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NjgpLCAKICAg ICAgICAgICAgICAgICAgICBBMDczLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAgICAsICAg MiwgCiAgICAgICAgICAgICAgICAgICAgQTA3NCwgICAxLCAKICAgICAgICAgICAgICAgICAgICBB MDc1LCAgIDEsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg2QSksIAogICAgICAgICAg ICAgICAgICAgICAgICAsICAgMTEsIAogICAgICAgICAgICAgICAgICAgIEEwNzYsICAgMSwgCiAg ICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDg4KSwgCiAgICAgICAgICAgICAgICAgICAgQTA3 NywgICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAg ICAgIEEwNzgsICAgMQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKEFC MTAsIDB4MDApCiAgICAgICAgICAgICAgICBNZXRob2QgKF9JTkksIDAsIE5vdFNlcmlhbGl6ZWQp ICAvLyBfSU5JOiBJbml0aWFsaXplCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgQUIwMCA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDAwKV0pCiAgICAgICAgICAg ICAgICAgICAgQUIwRSA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDAxKV0pCiAgICAg ICAgICAgICAgICAgICAgQUIwMSA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDAyKV0p CiAgICAgICAgICAgICAgICAgICAgQUIwMiA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAw eDAzKV0pCiAgICAgICAgICAgICAgICAgICAgQUIwMyA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFC MTIgKyAweDA0KV0pCiAgICAgICAgICAgICAgICAgICAgQUIwNCA9IERlcmVmT2YgKFxfU0IuQURB VCBbKEFCMTIgKyAweDA1KV0pCiAgICAgICAgICAgICAgICAgICAgQUIwNSA9IERlcmVmT2YgKFxf U0IuQURBVCBbKEFCMTIgKyAweDA2KV0pCiAgICAgICAgICAgICAgICAgICAgQUIwNiA9IERlcmVm T2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDA3KV0pCiAgICAgICAgICAgICAgICAgICAgQUIwNyA9 IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDA4KV0pCiAgICAgICAgICAgICAgICAgICAg QUIwOCA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDA5KV0pCiAgICAgICAgICAgICAg ICAgICAgQUIwOSA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDBBKV0pCiAgICAgICAg ICAgICAgICAgICAgQUIwQSA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDBCKV0pCiAg ICAgICAgICAgICAgICAgICAgQUIwQiA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIgKyAweDBD KV0pCiAgICAgICAgICAgICAgICAgICAgQUIwQyA9IERlcmVmT2YgKFxfU0IuQURBVCBbKEFCMTIg KyAweDBEKV0pCiAgICAgICAgICAgICAgICAgICAgQUIwRCA9IERlcmVmT2YgKFxfU0IuQURBVCBb KEFCMTIgKyAweDBFKV0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9k IChBMDYwLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIExvY2FsMCA9IEEwNDIgKCkKICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCA9 PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoQUIwMSkgLyogXF9TQl8uQVdSMC5BQlI0LkFCMDEgKi8KICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4MDApKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQjBFKSAvKiBcX1NC Xy5BV1IwLkFCUjQuQUIwRSAqLwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNTUsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKChBQjEwICE9IDB4MDApKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChBQjEwID09IDB4 MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNjEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKChBQjA1ICE9IDB4MDApKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQjA1KSAv KiBcX1NCXy5BV1IwLkFCUjQuQUIwNSAqLwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgSWYgKChBQjEwID4gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKChBQjEwIC0gMHgwMSkpCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDU0LCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmICgoXF9TQi5BUDA1ID09IDB4MDAp KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChBQjA1 ICE9IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKEFCMDUpIC8qIFxfU0JfLkFXUjAuQUJSNC5BQjA1ICovCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUIwRSkg LyogXF9TQl8uQVdSMC5BQlI0LkFCMEUgKi8KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIExvY2FsMCA9IEEwNjEgKCkKICAgICAgICAgICAgICAgICAgICBJZiAoKExv Y2FsMCAhPSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIElmICgoTG9jYWwwID4gQUIwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUIwMCkgLyogXF9TQl8uQVdSMC5BQlI0LkFC MDAgKi8KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBBMDYwICgpCiAgICAgICAgICAg ICAgICAgICAgSWYgKChcX1NCLkFQMDMgIT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoKFxfU0IuQVAwMyA8IExvY2FsMCkpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoXF9T Qi5BUDAzKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKEEwNTMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQjAyKSAvKiBcX1NCXy5BV1IwLkFC UjQuQUIwMiAqLwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA1 NiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKEFCMDApIC8qIFxfU0JfLkFXUjAuQUJSNC5BQjAwICovCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDUyLCAxLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFCMDIgPSBBcmcwCiAgICAgICAgICAg ICAgICAgICAgQTA2MiAoQXJnMCkKICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMTAgIT0gMHgw MCkpe30KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQTA2MyAoMHgwMCkKICAgICAg ICAgICAgICAgICAgICBOYW1lIChBMDY0LCAweDAwKQogICAgICAgICAgICAgICAgICAgIEEwNjMg KDB4MDEpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDU3LCAx LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFC MTAgPSBBcmcwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDU4 LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IExvY2FsMCA9IChBcmcwID4+IDB4MDgpCiAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWww ID49IEEwNjUpICYmIChMb2NhbDAgPD0gQTA2NikpKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIE1ldGhvZCAoQTA2NywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAoQUIwRCB8IChBQjBDIDw8IDB4MDMp KQogICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSBMb2NhbDApKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA1OSwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBQjEwID0gMHgwMAogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2MiwgMSwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPj0gMHgw Mikpe30KICAgICAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPj0gMHgwMykpe30KICAgICAgICAg ICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMDQgPT0gMHgwMSkpe30KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChBMDY4LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIExvY2FsMCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSBBMDY5 IChMb2NhbDAsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gQTA2OSAoTG9jYWww LCAweDA4KQogICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwxICE9IDB4RkZGRkZGRkYpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwzID0gKChM b2NhbDEgPj4gMHgxMCkgJiAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSAm PSAweEZGRkYKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gKChMb2NhbDIgPj4gMHgx OCkgJiAweEZGKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMiA9PSAweDAzKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KCgoTG9jYWwxID09IDB4MTAwMikgfHwgKExvY2FsMSA9PSAweDEwMjIpKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAg PSAweDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKChMb2NhbDAgPCAw eDMwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExvY2FsNCA9IEEwNjkgKDB4MDAsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw1ID0gMHgwMAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDQgJiYgMHgwOSkgPT0gMHgwMCkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmICgoKExvY2FsNCAmJiAweDA2KSA9PSAweDA0KSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMb2NhbDAgKz0gMHgwNAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExvY2FsNSA9IEEwNjkgKDB4MDAsIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBMDcwICgweDM0LCBMb2NhbDMsIDB4MDApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDYgPSBBMDcxIC8qIFxfU0JfLkEwNzEg Ki8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWw2ID09 IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwNzAgKDB4MjgsIChMb2NhbDQg JiAweEZGRkZGRkYwKSwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBMDcwICgweDI5LCBMb2NhbDUsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQTA3MCAoMHgwNSwgMHgwMCwgKDB4MDEgPDwgMHgwQSkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA3MCAoMHgyQSwgMHgw MCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCcmVh awogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2VJZiAoKChMb2NhbDQgJiYgMHgwNikgPT0gMHgwNCkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExvY2FsMCArPSAweDA0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCArPSAweDA0CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA4MywgMiwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoKEEwNjkgKEFyZzAs IDB4MDApID09IDB4RkZGRkZGRkYpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgTG9jYWwwID0gQTA2OSAoQXJnMCwgMHgzNCkKICAgICAgICAgICAgICAgICAg ICBXaGlsZSAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIExvY2FsMSA9IEEwNjkgKEFyZzAsIChMb2NhbDAgJiAweEZGKSkKICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKCgoTG9jYWwxICYgMHhGRikgPT0gQXJnMSkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoKExvY2FsMCAmIDB4 RkYpKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBM b2NhbDAgPSAoKExvY2FsMSA+PiAweDA4KSAmIDB4RkYpCiAgICAgICAgICAgICAgICAgICAgICAg IElmICgoTG9jYWwwID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBOYW1lIChBRVNQLCBQYWNrYWdlICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAg ICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0pCiAg ICAgICAgICAgICAgICBNZXRob2QgKEEwNjMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMAogICAgICAgICAgICAgICAg ICAgIElmICgoQTA2OSAoTG9jYWwwLCAweDAwKSAhPSAweEZGRkZGRkZGKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IChBMDY5IChMb2NhbDAs IDB4MDgpICYgMHg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDEgPT0gMHg4 MCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsNyA9IDB4MDcKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsNyA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgV2hpbGUgKChMb2NhbDAgPD0gTG9jYWw3KSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gQTA4MyAo TG9jYWwwLCAweDEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDEgPT0g MHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTG9jYWwwKysKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250 aW51ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmICgoQXJnMCA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSBBMDY5IChMb2NhbDAsIChM b2NhbDEgKyAweDEwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBMDgxIChMb2Nh bDAsIChMb2NhbDEgKyAweDEwKSwgKExvY2FsMiAmIH4weDAzKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBRVNQIFtMb2NhbDBdID0gTG9jYWwyCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0g RGVyZWZPZiAoQUVTUCBbTG9jYWwwXSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBB MDgxIChMb2NhbDAsIChMb2NhbDEgKyAweDEwKSwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCsrCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDgxLCAzLCBTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IChBR1JCICsg KEEwNjUgPDwgMHgxNCkpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwICs9IChBcmcwIDw8IDB4 MEMpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwICs9IEFyZzEKICAgICAgICAgICAgICAgICAg ICBPcGVyYXRpb25SZWdpb24gKEFEUkIsIFN5c3RlbU1lbW9yeSwgTG9jYWwwLCAweDA0KQogICAg ICAgICAgICAgICAgICAgIEZpZWxkIChBRFJCLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEFEUlIsICAgMzIK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEFEUlIgPSBBcmcyCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDY5LCAyLCBTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IChBR1JC ICsgKEEwNjUgPDwgMHgxNCkpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwICs9IChBcmcwIDw8 IDB4MEMpCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwICs9IEFyZzEKICAgICAgICAgICAgICAg ICAgICBPcGVyYXRpb25SZWdpb24gKEFEUkIsIFN5c3RlbU1lbW9yeSwgTG9jYWwwLCAweDA0KQog ICAgICAgICAgICAgICAgICAgIEZpZWxkIChBRFJCLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2 ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEFEUlIsICAg MzIKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQURS UikgLyogXF9TQl8uQVdSMC5BQlI0LkEwNjkuQURSUiAqLwogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIE1ldGhvZCAoQTA3OSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMEIgIT0gMHgwMSkpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEEwNjcgKEFyZzApKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA4MCwgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChBMDY0 LCAweDAwKQogICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IDB4MDAKICAgICAgICAgICAgICAg ICAgICBBMDY0ID0gQTA3MyAvKiBcX1NCXy5BV1IwLkFCUjQuQTA3MyAqLwogICAgICAgICAgICAg ICAgICAgIExvY2FsMSA9IChBQjBEIHwgKEFCMEMgPDwgMHgwMykpCiAgICAgICAgICAgICAgICAg ICAgSWYgKChBcmcwID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgQTA3NCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0g MHgwMQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBBMDYzICgweDAwKQogICAg ICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBBMDY5ICgweDAwLCAweDA0KQogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoKExvY2FsMCAhPSAweEZGRkZGRkZGKSkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA4MSAoMHgwMCwgMHgwNCwg KExvY2FsMCAmIH4weDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IEEw NjkgKDB4MDEsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCAh PSAweEZGRkZGRkZGKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBMDgxICgweDAxLCAweDA0LCAoTG9jYWwwICYgfjB4MDQpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSAweDAwCiAgICAgICAgICAgICAgICAgICAg ICAgIEEwNzQgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDUKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEEwNzMgPSAweDAwCiAgICAg ICAgICAgICAgICAgICAgV2hpbGUgKChMb2NhbDAgIT0gMHgwOCkpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCA9PSAweDAxKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA4MiAoMHgy OSwgTG9jYWwxLCAweDAwLCAweDAwLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWwyID0gMHgwMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwOAog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExv Y2FsMCA9PSAweDA1KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgQTA2OSAoMHgwMCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEEwODIgKDB4MkEsIExvY2FsMSwgMHgwMCwgMHgwMCwgMHgwMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFCMDUgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQjA0ID0g MHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgQUIxMCA9IDB4MDAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExvY2FsMiA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsMCA9IDB4MDgKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQTA3MyA9IEEwNjQgLyogXF9TQl8uQVdSMC5BQlI0 LkEwODAuQTA2NCAqLwogICAgICAgICAgICAgICAgICAgIElmICgoQTA2NCAhPSAweDAwKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEEwNjMgKDB4MDEpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMikK ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChBQlI1 KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAw QzAyIikgLyogUE5QIE1vdGhlcmJvYXJkIFJlc291cmNlcyAqLykgIC8vIF9ISUQ6IEhhcmR3YXJl IElECiAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDg1KSAgLy8gX1VJRDogVW5pcXVlIElE CiAgICAgICAgICAgICAgICBOYW1lIChBQjEyLCAweDg0KQogICAgICAgICAgICAgICAgTmFtZSAo QUIwMCwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMDEsIDB4MDApCiAgICAgICAgICAg ICAgICBOYW1lIChBQjBFLCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwMiwgMHgwMCkK ICAgICAgICAgICAgICAgIE5hbWUgKEFCMDMsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChB QjA0LCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwNSwgMHgwMCkKICAgICAgICAgICAg ICAgIE5hbWUgKEFCMDYsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjA3LCAweDAwKQog ICAgICAgICAgICAgICAgTmFtZSAoQUIwOCwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFC MDksIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjBBLCAweDAwKQogICAgICAgICAgICAg ICAgTmFtZSAoQUIwQiwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMEMsIDB4MDApCiAg ICAgICAgICAgICAgICBOYW1lIChBQjBELCAweDAwKQogICAgICAgICAgICAgICAgT3BlcmF0aW9u UmVnaW9uIChBMDcyLCBTeXN0ZW1NZW1vcnksIChBR1JCICsgKChEZXJlZk9mIChcX1NCLkFEQVQg WyhBQjEyICsgMHgwRCldCiAgICAgICAgICAgICAgICAgICAgKSA8PCAweDBGKSB8IChEZXJlZk9m IChcX1NCLkFEQVQgWyhBQjEyICsgMHgwRSldKSA8PCAweDBDCiAgICAgICAgICAgICAgICAgICAg KSkpLCAweDEwMDApCiAgICAgICAgICAgICAgICBGaWVsZCAoQTA3MiwgQnl0ZUFjYywgTm9Mb2Nr LCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4MTgpLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTkpLCAKICAgICAgICAgICAg ICAgICAgICBBMDY1LCAgIDgsIAogICAgICAgICAgICAgICAgICAgIEEwNjYsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDY4KSwgCiAgICAgICAgICAgICAgICAgICAgQTA3Mywg ICAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAg IEEwNzQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgQTA3NSwgICAxLCAKICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4NkEpLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDExLCAK ICAgICAgICAgICAgICAgICAgICBBMDc2LCAgIDEsIAogICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHg4OCksIAogICAgICAgICAgICAgICAgICAgIEEwNzcsICAgNCwgCiAgICAgICAgICAgICAg ICAgICAgICAgICwgICAxLCAKICAgICAgICAgICAgICAgICAgICBBMDc4LCAgIDEKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBOYW1lIChBQjEwLCAweDAwKQogICAgICAgICAgICAg ICAgTWV0aG9kIChfSU5JLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX0lOSTogSW5pdGlhbGl6ZQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFCMDAgPSBEZXJlZk9mIChcX1NC LkFEQVQgWyhBQjEyICsgMHgwMCldKQogICAgICAgICAgICAgICAgICAgIEFCMEUgPSBEZXJlZk9m IChcX1NCLkFEQVQgWyhBQjEyICsgMHgwMSldKQogICAgICAgICAgICAgICAgICAgIEFCMDEgPSBE ZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwMildKQogICAgICAgICAgICAgICAgICAgIEFC MDIgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwMyldKQogICAgICAgICAgICAgICAg ICAgIEFCMDMgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwNCldKQogICAgICAgICAg ICAgICAgICAgIEFCMDQgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwNSldKQogICAg ICAgICAgICAgICAgICAgIEFCMDUgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwNild KQogICAgICAgICAgICAgICAgICAgIEFCMDYgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsg MHgwNyldKQogICAgICAgICAgICAgICAgICAgIEFCMDcgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhB QjEyICsgMHgwOCldKQogICAgICAgICAgICAgICAgICAgIEFCMDggPSBEZXJlZk9mIChcX1NCLkFE QVQgWyhBQjEyICsgMHgwOSldKQogICAgICAgICAgICAgICAgICAgIEFCMDkgPSBEZXJlZk9mIChc X1NCLkFEQVQgWyhBQjEyICsgMHgwQSldKQogICAgICAgICAgICAgICAgICAgIEFCMEEgPSBEZXJl Zk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwQildKQogICAgICAgICAgICAgICAgICAgIEFCMEIg PSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwQyldKQogICAgICAgICAgICAgICAgICAg IEFCMEMgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwRCldKQogICAgICAgICAgICAg ICAgICAgIEFCMEQgPSBEZXJlZk9mIChcX1NCLkFEQVQgWyhBQjEyICsgMHgwRSldKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2MCwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBBMDQyICgp CiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMSkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFCMDEpIC8qIFxfU0JfLkFX UjAuQUJSNS5BQjAxICovCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBJZiAoKExvY2FsMCA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQUIwRSkgLyogXF9TQl8uQVdSMC5BQlI1LkFCMEUgKi8KICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChBMDU1LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIElmICgoQUIxMCAhPSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElmICgoQUIxMCA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChBMDYxLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIElmICgoQUIwNSAhPSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUIwNSkgLyogXF9TQl8uQVdSMC5BQlI1LkFCMDUg Ki8KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmICgoQUIxMCA+ IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgoQUIxMCAtIDB4MDEpKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1l dGhvZCAoQTA1NCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBJZiAoKFxfU0IuQVAwNSA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQUIwNSAhPSAweDAwKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQjA1KSAv KiBcX1NCXy5BV1IwLkFCUjUuQUIwNSAqLwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFCMEUpIC8qIFxfU0JfLkFXUjAuQUJSNS5BQjBF ICovCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBB MDYxICgpCiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgIT0gMHgwMCkpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCA+IEFCMDAp KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKEFCMDApIC8qIFxfU0JfLkFXUjAuQUJSNS5BQjAwICovCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTG9jYWwwID0gQTA2MCAoKQogICAgICAgICAgICAgICAgICAgIElmICgoXF9TQi5BUDAz ICE9IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg SWYgKChcX1NCLkFQMDMgPCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVAwMykKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChB MDUzLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoQUIwMikgLyogXF9TQl8uQVdSMC5BQlI1LkFCMDIgKi8KICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNTYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQjAwKSAvKiBcX1NC Xy5BV1IwLkFCUjUuQUIwMCAqLwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1l dGhvZCAoQTA1MiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBBQjAyID0gQXJnMAogICAgICAgICAgICAgICAgICAgIEEwNjIgKEFyZzApCiAg ICAgICAgICAgICAgICAgICAgSWYgKChBQjEwICE9IDB4MDApKXt9CiAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIEEwNjMgKDB4MDApCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQTA2 NCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICBBMDYzICgweDAxKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA1NywgMSwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBQjEwID0gQXJnMAogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA1OCwgMSwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAoQXJnMCA+PiAweDA4 KQogICAgICAgICAgICAgICAgICAgIElmICgoKExvY2FsMCA+PSBBMDY1KSAmJiAoTG9jYWwwIDw9 IEEwNjYpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEw NjcsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgTG9jYWwwID0gKEFCMEQgfCAoQUIwQyA8PCAweDAzKSkKICAgICAgICAgICAgICAgICAgICBJ ZiAoKEFyZzAgPT0gTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKEEwNTksIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgQUIxMCA9IDB4MDAKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBNZXRob2QgKEEwNjIsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID49IDB4MDIpKXt9CiAgICAgICAgICAgICAgICAg ICAgSWYgKChBcmcwID49IDB4MDMpKXt9CiAgICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID09 IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KChBQjA0ID09IDB4MDEpKXt9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2OCwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDAw CiAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gQTA2OSAoTG9jYWwwLCAweDAwKQogICAgICAg ICAgICAgICAgICAgIExvY2FsMiA9IEEwNjkgKExvY2FsMCwgMHgwOCkKICAgICAgICAgICAgICAg ICAgICBJZiAoKExvY2FsMSAhPSAweEZGRkZGRkZGKSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIExvY2FsMyA9ICgoTG9jYWwxID4+IDB4MTApICYgMHhGRkZG KQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgJj0gMHhGRkZGCiAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsMiA9ICgoTG9jYWwyID4+IDB4MTgpICYgMHhGRikKICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKChMb2NhbDIgPT0gMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoKExvY2FsMSA9PSAweDEwMDIpIHx8 IChMb2NhbDEgPT0gMHgxMDIyKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgxMAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFdoaWxlICgoTG9jYWwwIDwgMHgzMCkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2Nh bDQgPSBBMDY5ICgweDAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExvY2FsNSA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KCgoTG9jYWw0ICYmIDB4MDkpID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKChM b2NhbDQgJiYgMHgwNikgPT0gMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9j YWwwICs9IDB4MDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM b2NhbDUgPSBBMDY5ICgweDAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA3 MCAoMHgzNCwgTG9jYWwzLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTG9jYWw2ID0gQTA3MSAvKiBcX1NCXy5BMDcxICovCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsNiA9PSAweDAxKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBMDcwICgweDI4LCAoTG9jYWw0ICYgMHhGRkZGRkZGMCksIDB4MDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA3MCAoMHgyOSwgTG9j YWw1LCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEw NzAgKDB4MDUsIDB4MDAsICgweDAxIDw8IDB4MEEpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEEwNzAgKDB4MkEsIDB4MDAsIDB4MDApCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJlYWsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlSWYgKCgoTG9jYWw0ICYm IDB4MDYpID09IDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgKz0gMHgwNAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDAgKz0gMHgwNAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBNZXRob2QgKEEwODMsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgSWYgKChBMDY5IChBcmcwLCAweDAwKSA9PSAweEZGRkZGRkZGKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IEEw NjkgKEFyZzAsIDB4MzQpCiAgICAgICAgICAgICAgICAgICAgV2hpbGUgKDB4MDEpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSBBMDY5IChBcmcw LCAoTG9jYWwwICYgMHhGRikpCiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoKExvY2FsMSAm IDB4RkYpID09IEFyZzEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKChMb2NhbDAgJiAweEZGKSkKICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gKChMb2NhbDEgPj4gMHgw OCkgJiAweEZGKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMCA9PSAweDAwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAoQUVTUCwgUGFja2Fn ZSAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAg ICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAg ICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAg ICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTWV0aG9kIChB MDYzLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIExvY2FsMCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICBJZiAoKEEwNjkgKExvY2FsMCwg MHgwMCkgIT0gMHhGRkZGRkZGRikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDEgPSAoQTA2OSAoTG9jYWwwLCAweDA4KSAmIDB4ODApCiAgICAgICAg ICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID09IDB4ODApKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDcgPSAweDA3CiAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDcgPSAweDAw CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxl ICgoTG9jYWwwIDw9IExvY2FsNykpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExvY2FsMSA9IEEwODMgKExvY2FsMCwgMHgxMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwxID09IDB4MDApKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCsrCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udGludWUKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgw MCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTG9jYWwyID0gQTA2OSAoTG9jYWwwLCAoTG9jYWwxICsgMHgxMCkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQTA4MSAoTG9jYWwwLCAoTG9jYWwxICsgMHgxMCksIChM b2NhbDIgJiB+MHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUVTUCBbTG9j YWwwXSA9IExvY2FsMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IERlcmVmT2YgKEFFU1AgW0xvY2FsMF0p CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA4MSAoTG9jYWwwLCAoTG9jYWwxICsg MHgxMCksIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIE1ldGhvZCAoQTA4MSwgMywgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBMb2NhbDAgPSAoQUdSQiArIChBMDY1IDw8IDB4MTQpKQogICAgICAg ICAgICAgICAgICAgIExvY2FsMCArPSAoQXJnMCA8PCAweDBDKQogICAgICAgICAgICAgICAgICAg IExvY2FsMCArPSBBcmcxCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChBRFJC LCBTeXN0ZW1NZW1vcnksIExvY2FsMCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICBGaWVsZCAo QURSQiwgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBBRFJSLCAgIDMyCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBBRFJSID0gQXJnMgogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoQTA2OSwgMiwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAoQUdSQiArIChBMDY1IDw8IDB4MTQpKQogICAg ICAgICAgICAgICAgICAgIExvY2FsMCArPSAoQXJnMCA8PCAweDBDKQogICAgICAgICAgICAgICAg ICAgIExvY2FsMCArPSBBcmcxCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChB RFJCLCBTeXN0ZW1NZW1vcnksIExvY2FsMCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICBGaWVs ZCAoQURSQiwgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBBRFJSLCAgIDMyCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFEUlIpIC8qIFxfU0JfLkFXUjAuQUJSNS5B MDY5LkFEUlIgKi8KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEw NzksIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgSWYgKChBQjBCICE9IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChBMDY3IChBcmcwKSkKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKEEwODAsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQTA2NCwgMHgwMCkKICAgICAgICAgICAgICAg ICAgICBMb2NhbDIgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgQTA2NCA9IEEwNzMgLyogXF9T Ql8uQVdSMC5BQlI1LkEwNzMgKi8KICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAoQUIwRCB8 IChBQjBDIDw8IDB4MDMpKQogICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAxKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEEwNzQgPSAweDAw CiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDEKICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgQTA2MyAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgTG9j YWwwID0gQTA2OSAoMHgwMCwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2Nh bDAgIT0gMHhGRkZGRkZGRikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEEwODEgKDB4MDAsIDB4MDQsIChMb2NhbDAgJiB+MHgwNCkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBBMDY5ICgweDAxLCAweDA0KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgIT0gMHhGRkZGRkZGRikpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA4 MSAoMHgwMSwgMHgwNCwgKExvY2FsMCAmIH4weDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWwyID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICBBMDc0ID0gMHgwMQogICAgICAg ICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDA1CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBBMDczID0gMHgwMAogICAgICAgICAgICAgICAgICAgIFdoaWxlICgo TG9jYWwwICE9IDB4MDgpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEEwODIgKDB4MjksIExvY2FsMSwgMHgwMCwgMHgwMCwg MHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IDB4MDEKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IDB4MDgKICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgwNSkpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwNjkgKDB4MDAs IDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBMDgyICgweDJBLCBMb2NhbDEsIDB4 MDAsIDB4MDAsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQjA1ID0gMHgwMAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgQUIwNCA9IDB4MDAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFCMTAgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIg PSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDA4CiAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIEEwNzMgPSBBMDY0IC8qIFxfU0JfLkFXUjAuQUJSNS5BMDgwLkEwNjQgKi8KICAgICAgICAg ICAgICAgICAgICBJZiAoKEEwNjQgIT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBBMDYzICgweDAxKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDIpCiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoQUJSNikKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwMiIpIC8qIFBOUCBNb3RoZXJib2Fy ZCBSZXNvdXJjZXMgKi8pICAvLyBfSElEOiBIYXJkd2FyZSBJRAogICAgICAgICAgICAgICAgTmFt ZSAoX1VJRCwgMHg4NikgIC8vIF9VSUQ6IFVuaXF1ZSBJRAogICAgICAgICAgICAgICAgTmFtZSAo QUIxMiwgMHg5OCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMDAsIDB4MDApCiAgICAgICAgICAg ICAgICBOYW1lIChBQjAxLCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwRSwgMHgwMCkK ICAgICAgICAgICAgICAgIE5hbWUgKEFCMDIsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChB QjAzLCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIwNCwgMHgwMCkKICAgICAgICAgICAg ICAgIE5hbWUgKEFCMDUsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjA2LCAweDAwKQog ICAgICAgICAgICAgICAgTmFtZSAoQUIwNywgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFC MDgsIDB4MDApCiAgICAgICAgICAgICAgICBOYW1lIChBQjA5LCAweDAwKQogICAgICAgICAgICAg ICAgTmFtZSAoQUIwQSwgMHgwMCkKICAgICAgICAgICAgICAgIE5hbWUgKEFCMEIsIDB4MDApCiAg ICAgICAgICAgICAgICBOYW1lIChBQjBDLCAweDAwKQogICAgICAgICAgICAgICAgTmFtZSAoQUIw RCwgMHgwMCkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQTA3MiwgU3lzdGVtTWVt b3J5LCAoQUdSQiArICgoRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MEQpXQogICAgICAg ICAgICAgICAgICAgICkgPDwgMHgwRikgfCAoRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4 MEUpXSkgPDwgMHgwQwogICAgICAgICAgICAgICAgICAgICkpKSwgMHgxMDAwKQogICAgICAgICAg ICAgICAgRmllbGQgKEEwNzIsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDE4KSwgCiAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweDE5KSwgCiAgICAgICAgICAgICAgICAgICAgQTA2NSwgICA4LCAKICAg ICAgICAgICAgICAgICAgICBBMDY2LCAgIDgsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAo MHg2OCksIAogICAgICAgICAgICAgICAgICAgIEEwNzMsICAgMiwgCiAgICAgICAgICAgICAgICAg ICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgICAgICBBMDc0LCAgIDEsIAogICAgICAgICAg ICAgICAgICAgIEEwNzUsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDZBKSwg CiAgICAgICAgICAgICAgICAgICAgICAgICwgICAxMSwgCiAgICAgICAgICAgICAgICAgICAgQTA3 NiwgICAxLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4ODgpLCAKICAgICAgICAgICAg ICAgICAgICBBMDc3LCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgQTA3OCwgICAxCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTmFtZSAoQUIxMCwgMHgwMCkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX0lOSSwgMCwgTm90 U2VyaWFsaXplZCkgIC8vIF9JTkk6IEluaXRpYWxpemUKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBBQjAwID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDApXSkK ICAgICAgICAgICAgICAgICAgICBBQjBFID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4 MDEpXSkKICAgICAgICAgICAgICAgICAgICBBQjAxID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIx MiArIDB4MDIpXSkKICAgICAgICAgICAgICAgICAgICBBQjAyID0gRGVyZWZPZiAoXF9TQi5BREFU IFsoQUIxMiArIDB4MDMpXSkKICAgICAgICAgICAgICAgICAgICBBQjAzID0gRGVyZWZPZiAoXF9T Qi5BREFUIFsoQUIxMiArIDB4MDQpXSkKICAgICAgICAgICAgICAgICAgICBBQjA0ID0gRGVyZWZP ZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDUpXSkKICAgICAgICAgICAgICAgICAgICBBQjA1ID0g RGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDYpXSkKICAgICAgICAgICAgICAgICAgICBB QjA2ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDcpXSkKICAgICAgICAgICAgICAg ICAgICBBQjA3ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDgpXSkKICAgICAgICAg ICAgICAgICAgICBBQjA4ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MDkpXSkKICAg ICAgICAgICAgICAgICAgICBBQjA5ID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiArIDB4MEEp XSkKICAgICAgICAgICAgICAgICAgICBBQjBBID0gRGVyZWZPZiAoXF9TQi5BREFUIFsoQUIxMiAr IDB4MEIpXSkKICAgICAgICAgICAgICAgICAgICBBQjBCID0gRGVyZWZPZiAoXF9TQi5BREFUIFso QUIxMiArIDB4MEMpXSkKICAgICAgICAgICAgICAgICAgICBBQjBDID0gRGVyZWZPZiAoXF9TQi5B REFUIFsoQUIxMiArIDB4MEQpXSkKICAgICAgICAgICAgICAgICAgICBBQjBEID0gRGVyZWZPZiAo XF9TQi5BREFUIFsoQUIxMiArIDB4MEUpXSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBNZXRob2QgKEEwNjAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQTA0MiAoKQogICAgICAgICAgICAgICAgICAgIElm ICgoTG9jYWwwID09IDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChBQjAxKSAvKiBcX1NCXy5BV1IwLkFCUjYuQUIwMSAqLwogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMCkp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFC MEUpIC8qIFxfU0JfLkFXUjAuQUJSNi5BQjBFICovCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA1NSwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMTAgIT0g MHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo KEFCMTAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2MSwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMDUgIT0g MHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEFCMDUpIC8qIFxfU0JfLkFXUjAuQUJSNi5BQjA1ICovCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBJZiAoKEFCMTAgPiAweDAxKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoKEFCMTAgLSAweDAxKSkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNTQsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKChcX1NCLkFQ MDUgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoKEFCMDUgIT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoQUIwNSkgLyogXF9TQl8uQVdSMC5BQlI2LkFCMDUg Ki8KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChBQjBFKSAvKiBcX1NCXy5BV1IwLkFCUjYuQUIwRSAqLwogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gQTA2MSAoKQogICAgICAgICAgICAgICAg ICAgIElmICgoTG9jYWwwICE9IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPiBBQjAwKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQjAwKSAvKiBcX1NCXy5B V1IwLkFCUjYuQUIwMCAqLwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IEEwNjAgKCkK ICAgICAgICAgICAgICAgICAgICBJZiAoKFxfU0IuQVAwMyAhPSAweDAwKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoXF9TQi5BUDAzIDwgTG9jYWww KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChcX1NCLkFQMDMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA1MywgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEFCMDIpIC8qIFxf U0JfLkFXUjAuQUJSNi5BQjAyICovCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChBMDU2LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQUIwMCkgLyogXF9TQl8uQVdSMC5BQlI2LkFCMDAgKi8KICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNTIsIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQUIwMiA9IEFyZzAK ICAgICAgICAgICAgICAgICAgICBBMDYyIChBcmcwKQogICAgICAgICAgICAgICAgICAgIElmICgo QUIxMCAhPSAweDAwKSl7fQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBBMDYzICgw eDAwKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEEwNjQsIDB4MDApCiAgICAgICAgICAgICAg ICAgICAgQTA2MyAoMHgwMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKEEwNTcsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgQUIxMCA9IEFyZzAKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBN ZXRob2QgKEEwNTgsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgTG9jYWwwID0gKEFyZzAgPj4gMHgwOCkKICAgICAgICAgICAgICAgICAgICBJ ZiAoKChMb2NhbDAgPj0gQTA2NSkgJiYgKExvY2FsMCA8PSBBMDY2KSkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDY3LCAxLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IChBQjBEIHwgKEFC MEMgPDwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID09IExvY2FsMCkpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDAp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDU5LCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFCMTAgPSAw eDAwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDYyLCAxLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmICgo QXJnMCA+PSAweDAyKSl7fQogICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA+PSAweDAzKSl7 fQogICAgICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAxKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQUIwNCA9PSAweDAxKSl7fQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBNZXRob2QgKEEwNjgsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMAogICAgICAgICAgICAgICAgICAgIExv Y2FsMSA9IEEwNjkgKExvY2FsMCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSBB MDY5IChMb2NhbDAsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDEgIT0gMHhG RkZGRkZGRikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBM b2NhbDMgPSAoKExvY2FsMSA+PiAweDEwKSAmIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWwxICY9IDB4RkZGRgogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSAoKExv Y2FsMiA+PiAweDE4KSAmIDB4RkYpCiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwy ID09IDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoKChMb2NhbDEgPT0gMHgxMDAyKSB8fCAoTG9jYWwxID09IDB4MTAyMikpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExvY2FsMCA9IDB4MTAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAo KExvY2FsMCA8IDB4MzApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw0ID0gQTA2OSAoMHgwMCwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDUgPSAweDAwCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoKExvY2FsNCAmJiAweDA5KSA9PSAw eDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWw0ICYmIDB4MDYpID09IDB4MDQp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCArPSAweDA0CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw1ID0gQTA2OSAoMHgwMCwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwNzAgKDB4MzQsIExvY2FsMywgMHgwMCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IEEwNzEgLyog XF9TQl8uQTA3MSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KChMb2NhbDYgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQTA3MCAoMHgy OCwgKExvY2FsNCAmIDB4RkZGRkZGRjApLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEEwNzAgKDB4MjksIExvY2FsNSwgMHgwMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBMDcwICgweDA1LCAweDAwLCAoMHgwMSA8 PCAweDBBKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBMDcw ICgweDJBLCAweDAwLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJyZWFrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZUlmICgoKExvY2FsNCAmJiAweDA2KSA9PSAweDA0KSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTG9jYWwwICs9IDB4MDQKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwwICs9 IDB4MDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDgzLCAyLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmICgo QTA2OSAoQXJnMCwgMHgwMCkgPT0gMHhGRkZGRkZGRikpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBBMDY5IChBcmcwLCAweDM0KQogICAgICAg ICAgICAgICAgICAgIFdoaWxlICgweDAxKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgTG9jYWwxID0gQTA2OSAoQXJnMCwgKExvY2FsMCAmIDB4RkYpKQogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDEgJiAweEZGKSA9PSBBcmcxKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgo TG9jYWwwICYgMHhGRikpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsMCA9ICgoTG9jYWwxID4+IDB4MDgpICYgMHhGRikKICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIE5hbWUgKEFFU1AsIFBhY2thZ2UgKDB4MDgpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwg CiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAg ICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAg ICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAg ICAgICAgfSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoQTA2MywgMSwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDAwCiAgICAg ICAgICAgICAgICAgICAgSWYgKChBMDY5IChMb2NhbDAsIDB4MDApICE9IDB4RkZGRkZGRkYpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwxID0gKEEw NjkgKExvY2FsMCwgMHgwOCkgJiAweDgwKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExv Y2FsMSA9PSAweDgwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgTG9jYWw3ID0gMHgwNwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgTG9jYWw3ID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSAoKExvY2FsMCA8PSBMb2NhbDcpKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2Nh bDEgPSBBMDgzIChMb2NhbDAsIDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo KExvY2FsMSA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIENvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDApKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IEEwNjkg KExvY2FsMCwgKExvY2FsMSArIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEEwODEgKExvY2FsMCwgKExvY2FsMSArIDB4MTApLCAoTG9jYWwyICYgfjB4MDMpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFFU1AgW0xvY2FsMF0gPSBMb2NhbDIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDIgPSBEZXJlZk9mIChBRVNQIFtMb2NhbDBdKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEEwODEgKExvY2FsMCwgKExvY2FsMSArIDB4MTApLCBMb2NhbDIpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWww KysKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwODEsIDMs IFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWww ID0gKEFHUkIgKyAoQTA2NSA8PCAweDE0KSkKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgKz0g KEFyZzAgPDwgMHgwQykKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgKz0gQXJnMQogICAgICAg ICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQURSQiwgU3lzdGVtTWVtb3J5LCBMb2NhbDAs IDB4MDQpCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKEFEUkIsIERXb3JkQWNjLCBOb0xvY2ss IFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg QURSUiwgICAzMgogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQURS UiA9IEFyZzIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEEwNjks IDIsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9j YWwwID0gKEFHUkIgKyAoQTA2NSA8PCAweDE0KSkKICAgICAgICAgICAgICAgICAgICBMb2NhbDAg Kz0gKEFyZzAgPDwgMHgwQykKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgKz0gQXJnMQogICAg ICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQURSQiwgU3lzdGVtTWVtb3J5LCBMb2Nh bDAsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKEFEUkIsIERXb3JkQWNjLCBOb0xv Y2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgQURSUiwgICAzMgogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChBRFJSKSAvKiBcX1NCXy5BV1IwLkFCUjYuQTA2OS5BRFJSICovCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDc5LCAxLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmICgoQUIwQiAhPSAweDAxKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQTA2 NyAoQXJnMCkpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChBMDgw LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IE5hbWUgKEEwNjQsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gMHgwMAogICAg ICAgICAgICAgICAgICAgIEEwNjQgPSBBMDczIC8qIFxfU0JfLkFXUjAuQUJSNi5BMDczICovCiAg ICAgICAgICAgICAgICAgICAgTG9jYWwxID0gKEFCMEQgfCAoQUIwQyA8PCAweDAzKSkKICAgICAg ICAgICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBBMDc0ID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDAgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEEwNjMg KDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMCA9IEEwNjkgKDB4MDAsIDB4MDQp CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwICE9IDB4RkZGRkZGRkYpKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBMDgxICgw eDAwLCAweDA0LCAoTG9jYWwwICYgfjB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWwwID0gQTA2OSAoMHgwMSwgMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm ICgoTG9jYWwwICE9IDB4RkZGRkZGRkYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEwODEgKDB4MDEsIDB4MDQsIChMb2NhbDAg JiB+MHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IDB4MDAKICAgICAgICAg ICAgICAgICAgICAgICAgQTA3NCA9IDB4MDEKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWww ID0gMHgwNQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgQTA3MyA9 IDB4MDAKICAgICAgICAgICAgICAgICAgICBXaGlsZSAoKExvY2FsMCAhPSAweDA4KSkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09IDB4 MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBMDgyICgweDI5LCBMb2NhbDEsIDB4MDAsIDB4MDAsIDB4MDApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMb2NhbDIgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2Nh bDAgPSAweDA4CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgIElmICgoTG9jYWwwID09IDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBMDY5ICgweDAwLCAweDAwKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgQTA4MiAoMHgyQSwgTG9jYWwxLCAweDAwLCAweDAwLCAweDAwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQUIwNSA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEFCMDQgPSAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQjEwID0gMHgwMAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gMHgwMAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgTG9jYWwwID0gMHgwOAogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBBMDczID0gQTA2NCAvKiBcX1NC Xy5BV1IwLkFCUjYuQTA4MC5BMDY0ICovCiAgICAgICAgICAgICAgICAgICAgSWYgKChBMDY0ICE9 IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQTA2 MyAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVy biAoTG9jYWwyKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAg ICAgICBNZXRob2QgKEEwMDMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJ ZiAoKERlcmVmT2YgKFxfU0IuQURBVCBbMHgwOF0pID09IDB4MDEpKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBMb2NhbDAgPSAweDAwCiAgICAgICAgICAgICAgICBXaGlsZSAoKExvY2Fs MCA8IDB4MDcpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEExMTMgKExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICBMb2NhbDArKwogICAgICAgICAgICAgICAgfQogICAg ICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEEwNzAsIDMsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgewogICAgICAgICAgICBMb2NhbDcgPSBCdWZmZXIgKDB4MTgpe30KICAgICAg ICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWw3LCAweDAwLCBBMDA2KQogICAgICAgICAgICBD cmVhdGVEV29yZEZpZWxkIChMb2NhbDcsIDB4MDQsIEEwMDcpCiAgICAgICAgICAgIENyZWF0ZURX b3JkRmllbGQgKExvY2FsNywgMHgwOCwgQTAwOCkKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVs ZCAoTG9jYWw3LCAweDBDLCBBMDA5KQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2Nh bDcsIDB4MTAsIEEwMTApCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNywgMHgx NCwgQTAxMSkKICAgICAgICAgICAgQTAwNiA9IEFyZzEKICAgICAgICAgICAgQTAwNyA9IEFyZzIK ICAgICAgICAgICAgQTAxMiAoQXJnMCwgTG9jYWw3KQogICAgICAgIH0KCiAgICAgICAgTWV0aG9k IChBMTEzLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKChBcmcw ID09IDB4MDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdS MC5BQlIwLkEwNjggKCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAw eDAxKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJS MS5BMDY4ICgpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMikp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjIuQTA2 OCAoKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDMpKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlIzLkEwNjggKCkp CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDA0KSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkFXUjAuQUJSNC5BMDY4ICgpKQogICAg ICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwNSkpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQi5BV1IwLkFCUjUuQTA2OCAoKSkKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDYpKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBSZXR1cm4gKFxfU0IuQVdSMC5BQlI2LkEwNjggKCkpCiAgICAgICAgICAgIH0K ICAgICAgICB9CgogICAgICAgIE5hbWUgKEEwMDEsIDB4MDEpCiAgICAgICAgTmFtZSAoQTAwMiwg MHgwMCkKICAgICAgICBNZXRob2QgKEFQVFMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMykpe30KICAgICAgICB9CgogICAgICAgIE1ldGhv ZCAoQVdBSywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIEEwMDMgKCkK ICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDMpKXt9CiAgICAgICAgfQoKICAgICAgICBNZXRo b2QgKEFQUE0sIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBMb2NhbDAg PSBEZXJlZk9mIChBcmcwIFsweDA0XSkKICAgICAgICAgICAgTG9jYWwxID0gRGVyZWZPZiAoQXJn MCBbMHgwMl0pCiAgICAgICAgICAgIEEwMDQgKExvY2FsMCwgTG9jYWwxKQogICAgICAgIH0KCiAg ICAgICAgTWV0aG9kIChBMDA1LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAg ICAgTG9jYWw3ID0gQnVmZmVyICgweDE4KXt9CiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KExvY2FsNywgMHgwMCwgQTAwNikKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWw3 LCAweDA0LCBBMDA3KQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDcsIDB4MDgs IEEwMDgpCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsNywgMHgwQywgQTAwOSkK ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWw3LCAweDEwLCBBMDEwKQogICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDcsIDB4MTQsIEEwMTEpCiAgICAgICAgICAgIEEw MDYgPSAweDAwCiAgICAgICAgICAgIEEwMDcgPSAweDAwCiAgICAgICAgICAgIEEwMDggPSAweDAw CiAgICAgICAgICAgIEEwMDkgPSAweDAwCiAgICAgICAgICAgIEEwMTAgPSAweDAwCiAgICAgICAg ICAgIEEwMTEgPSAweDAwCiAgICAgICAgICAgIElmICgoQUQwMCA9PSAweDAwKSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgQTAxMiAoMHgxOCwgTG9jYWw3KQogICAgICAgICAgICB9CiAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQTAxMiAoMHgxOSwg TG9jYWw3KQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEEwMTMsIDIs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoXF9T QikKICAgIHsKICAgICAgICBEZXZpY2UgKFRQTSkKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUg KF9ISUQsICJOVEMwNzAyIikgIC8vIF9ISUQ6IEhhcmR3YXJlIElECiAgICAgICAgICAgIE5vb3AK ICAgICAgICAgICAgTmFtZSAoX0NJRCwgIk1TRlQwMTAxIiAvKiBUUE0gMi4wIFNlY3VyaXR5IERl dmljZSAqLykgIC8vIF9DSUQ6IENvbXBhdGlibGUgSUQKICAgICAgICAgICAgTmFtZSAoX1NUUiwg VW5pY29kZSAoIlRQTSAyLjAgRGV2aWNlIikpICAvLyBfU1RSOiBEZXNjcmlwdGlvbiBTdHJpbmcK ICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChTTUlQLCBTeXN0ZW1JTywgMHhCMiwgMHgwMSkK ICAgICAgICAgICAgRmllbGQgKFNNSVAsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIElPQjIsICAgOAogICAgICAgICAgICB9CgogICAgICAg ICAgICBPcGVyYXRpb25SZWdpb24gKFRQTVIsIFN5c3RlbU1lbW9yeSwgMHhGRUQ0MDAwMCwgMHg1 MDAwKQogICAgICAgICAgICBGaWVsZCAoVFBNUiwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBBQ0MwLCAgIDgsIAogICAgICAgICAgICAgICAg T2Zmc2V0ICgweDA4KSwgCiAgICAgICAgICAgICAgICBJTlRFLCAgIDMyLCAKICAgICAgICAgICAg ICAgIElOVFYsICAgOCwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MTApLCAKICAgICAgICAg ICAgICAgIElOVFMsICAgMzIsIAogICAgICAgICAgICAgICAgSU5URiwgICAzMiwgCiAgICAgICAg ICAgICAgICBTVFMwLCAgIDMyLCAKICAgICAgICAgICAgICAgIE9mZnNldCAoMHgyNCksIAogICAg ICAgICAgICAgICAgRklGTywgICAzMiwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MzApLCAK ICAgICAgICAgICAgICAgIFRJRDAsICAgMzIKICAgICAgICAgICAgfQoKICAgICAgICAgICAgT3Bl cmF0aW9uUmVnaW9uIChUTlZTLCBTeXN0ZW1NZW1vcnksIDB4QkQ2QTYwMDAsIDB4MkYpCiAgICAg ICAgICAgIEZpZWxkIChUTlZTLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIFBQSU4sICAgOCwgCiAgICAgICAgICAgICAgICBQUElQLCAgIDMy LCAKICAgICAgICAgICAgICAgIFBQUlAsICAgMzIsIAogICAgICAgICAgICAgICAgUFBSUSwgICAz MiwgCiAgICAgICAgICAgICAgICBQUFJNLCAgIDMyLCAKICAgICAgICAgICAgICAgIExQUFIsICAg MzIsIAogICAgICAgICAgICAgICAgRlJFVCwgICAzMiwgCiAgICAgICAgICAgICAgICBNQ0lOLCAg IDgsIAogICAgICAgICAgICAgICAgTUNJUCwgICAzMiwgCiAgICAgICAgICAgICAgICBNT1JELCAg IDMyLCAKICAgICAgICAgICAgICAgIE1SRVQsICAgMzIsIAogICAgICAgICAgICAgICAgVUNSUSwg ICAzMiwgCiAgICAgICAgICAgICAgICBJUlFOLCAgIDMyLCAKICAgICAgICAgICAgICAgIFNGUkIs ICAgOAogICAgICAgICAgICB9CgogICAgICAgICAgICBOYW1lIChSRVNTLCBSZXNvdXJjZVRlbXBs YXRlICgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRX cml0ZSwKICAgICAgICAgICAgICAgICAgICAweEZFRDQwMDAwLCAgICAgICAgIC8vIEFkZHJlc3Mg QmFzZQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDUwMDAsICAgICAgICAgLy8gQWRkcmVzcyBM ZW5ndGgKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICBJbnRlcnJ1cHQgKFJl c291cmNlQ29uc3VtZXIsIExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCwgLCwgKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5vb3AKICAgICAgICAgICAgTm9vcAogICAgICAg ICAgICBOb29wCiAgICAgICAgICAgIE5vb3AKICAgICAgICAgICAgTm9vcAogICAgICAgICAgICBO b29wCiAgICAgICAgICAgIE5vb3AKICAgICAgICAgICAgTm9vcAogICAgICAgICAgICBOb29wCiAg ICAgICAgICAgIE5vb3AKICAgICAgICAgICAgTm9vcAogICAgICAgICAgICBOb29wCiAgICAgICAg ICAgIE5vb3AKICAgICAgICAgICAgTm9vcAogICAgICAgICAgICBOb29wCiAgICAgICAgICAgIE5v b3AKICAgICAgICAgICAgTm9vcAogICAgICAgICAgICBOb29wCiAgICAgICAgICAgIE5vb3AKICAg ICAgICAgICAgTm9vcAogICAgICAgICAgICBOb29wCiAgICAgICAgICAgIE5vb3AKICAgICAgICAg ICAgTm9vcAogICAgICAgICAgICBOb29wCiAgICAgICAgICAgIE5vb3AKICAgICAgICAgICAgTm9v cAogICAgICAgICAgICBOb29wCiAgICAgICAgICAgIE5vb3AKICAgICAgICAgICAgTm9vcAogICAg ICAgICAgICBOb29wCiAgICAgICAgICAgIE5vb3AKICAgICAgICAgICAgTm9vcAogICAgICAgICAg ICBOb29wCiAgICAgICAgICAgIE5vb3AKICAgICAgICAgICAgTm9vcAogICAgICAgICAgICBOb29w CiAgICAgICAgICAgIE5hbWUgKFJFU0wsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLAogICAgICAgICAgICAg ICAgICAgIDB4RkVENDAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwNTAwMCwgICAgICAgICAvLyBBZGRyZXNzIExlbmd0aAogICAgICAgICAgICAg ICAgICAgICkKICAgICAgICAgICAgICAgIEludGVycnVwdCAoUmVzb3VyY2VDb25zdW1lciwgTGV2 ZWwsIEFjdGl2ZUxvdywgU2hhcmVkLCAsLCApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwMSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAyLAogICAg ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDMsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAw NCwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA1LAogICAgICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDYsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwNywKICAgICAgICAgICAgICAg ICAgICAweDAwMDAwMDA4LAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDksCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAwMDAwQSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDBCLAog ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMEMsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAw MDAwRCwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDBFLAogICAgICAgICAgICAgICAgICAg IDB4MDAwMDAwMEYsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgICAg IE5hbWUgKFJFUzAsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4RkVE NDAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAgICAgICAgMHgwMDAw NTAwMCwgICAgICAgICAvLyBBZGRyZXNzIExlbmd0aAogICAgICAgICAgICAgICAgICAgICkKICAg ICAgICAgICAgICAgIEdwaW9JbnQgKEVkZ2UsIEFjdGl2ZUxvdywgRXhjbHVzaXZlLCBQdWxsRGVm YXVsdCwgMHgwMDAwLAogICAgICAgICAgICAgICAgICAgICJcXF9TQi5HUElPIiwgMHgwMCwgUmVz b3VyY2VDb25zdW1lciwgX1kxRSwKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAg ICAgICAgeyAgIC8vIFBpbiBsaXN0CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMAogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkKICAgICAgICAgICAgTmFtZSAoUkVTMSwg UmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBNZW1vcnkz MkZpeGVkIChSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgMHhGRUQ0MDAwMCwgICAgICAg ICAvLyBBZGRyZXNzIEJhc2UKICAgICAgICAgICAgICAgICAgICAweDAwMDA1MDAwLCAgICAgICAg IC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICB9KQog ICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpICAvLyBfQ1JTOiBDdXJyZW50 IFJlc291cmNlIFNldHRpbmdzCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmICgoSVJR TiA9PSAweDAwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KFJFUzEpIC8qIFxfU0JfLlRQTV8uUkVTMSAqLwogICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv cmRGaWVsZCAoUkVTMCwgMHgyMywgTElSUSkKICAgICAgICAgICAgICAgICAgICBMSVJRID0gSVJR TiAvKiBcX1NCXy5UUE1fLklSUU4gKi8KICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJFUzAp IC8qIFxfU0JfLlRQTV8uUkVTMCAqLwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpICAvLyBfU1JTOiBTZXQgUmVz b3VyY2UgU2V0dGluZ3MKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKChJUlFOID09 IDB4MDApKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFy ZzAsIDB4MjMsIElSUTApCiAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFJFUzAsIDB4 MjMsIExJUlEpCiAgICAgICAgICAgICAgICBMSVJRID0gSVJRMCAvKiBcX1NCXy5UUE1fLl9TUlMu SVJRMCAqLwogICAgICAgICAgICAgICAgSVJRTiA9IElSUTAgLyogXF9TQl8uVFBNXy5fU1JTLklS UTAgKi8KICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChBcmcwLCAweDk4LCBJVFJHKQog ICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKFJFUzAsIFxfU0IuVFBNLl9ZMUUuX01PRCwg TFRSRykgIC8vIF9NT0Q6IE1vZGUKICAgICAgICAgICAgICAgIExUUkcgPSBJVFJHIC8qIFxfU0Jf LlRQTV8uX1NSUy5JVFJHICovCiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQXJnMCwg MHg5OSwgSUxWTCkKICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChSRVMwLCBcX1NCLlRQ TS5fWTFFLl9QT0wsIExMVkwpICAvLyBfUE9MOiBQb2xhcml0eQogICAgICAgICAgICAgICAgTExW TCA9IElMVkwgLyogXF9TQl8uVFBNXy5fU1JTLklMVkwgKi8KICAgICAgICAgICAgICAgIElmICgo KChUSUQwICYgMHgwRikgPT0gMHgwMCkgfHwgKChUSUQwICYgMHgwRgogICAgICAgICAgICAgICAg ICAgICkgPT0gMHgwRikpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElm ICgoSVJRMCA8IDB4MTApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgSU5UViA9IChJUlEwICYgMHgwRikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIElmICgoSVRSRyA9PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIElOVEUgfD0gMHgxMAogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBJTlRFICY9IDB4RkZGRkZGRUYKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIElmICgoSUxWTCA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElOVEUgfD0gMHgwOAogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJTlRFICY9IDB4RkZGRkZGRjcKICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAo X1BSUywgMCwgU2VyaWFsaXplZCkgIC8vIF9QUlM6IFBvc3NpYmxlIFJlc291cmNlIFNldHRpbmdz CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmICgoSVJRTiA9PSAweDAwKSkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJFUzEpIC8qIFxfU0JfLlRQ TV8uUkVTMSAqLwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZUlmICgoU0ZS QiA9PSAweDAwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KFJFU0wpIC8qIFxfU0JfLlRQTV8uUkVTTCAqLwogICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAo UkVTUykgLyogXF9TQl8uVFBNXy5SRVNTICovCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIE1ldGhvZCAoUFRTLCAxLCBTZXJpYWxpemVkKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBJZiAoKChBcmcwIDwgMHgwNikgJiYgKEFyZzAgPiAweDAzKSkpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKCEoTU9SRCAmIDB4MTApKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTUNJUCA9IDB4MDIK ICAgICAgICAgICAgICAgICAgICAgICAgSU9CMiA9IE1DSU4gLyogXF9TQl8uVFBNXy5NQ0lOICov CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IFJldHVybiAoMHgwMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAw LCBOb3RTZXJpYWxpemVkKSAgLy8gX1NUQTogU3RhdHVzCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIElmICgoQUNDMCA9PSAweEZGKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg UmV0dXJuICgweDBGKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKEhJTkYsIDMs IFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN3aXRjaCAoVG9JbnRl Z2VyIChBcmcxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDYXNlICgw eDAwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChCdWZmZXIgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLy8gLgogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICBDYXNlICgweDAxKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoVFBNViwgUGFja2FnZSAoMHgwMikKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAg SWYgKChfU1RBICgpID09IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChUUE1WKSAvKiBcX1NCXy5UUE1fLkhJTkYuVFBN ViAqLwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBEZWZhdWx0CiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBCcmVha1BvaW50CiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBS ZXR1cm4gKEJ1ZmZlciAoMHgwMSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgMHgwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4K ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKFRQTTIs IFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFplcm8sIAogICAg ICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9KQogICAgICAgICAgICBOYW1lIChUUE0zLCBQ YWNrYWdlICgweDAzKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBaZXJvLCAKICAgICAg ICAgICAgICAgIFplcm8sIAogICAgICAgICAgICAgICAgWmVybwogICAgICAgICAgICB9KQogICAg ICAgICAgICBNZXRob2QgKFRQUEksIDMsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIFN3aXRjaCAoVG9JbnRlZ2VyIChBcmcxKSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBDYXNlICgweDAwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChCdWZmZXIgKDB4MDIpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGLCAweDAxICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi4KICAgICAgICAgICAgICAgICAgICAg ICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgQ2FzZSAoMHgw MSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo IjEuMyIpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIENhc2UgKDB4 MDIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQUFJRID0g RGVyZWZPZiAoQXJnMiBbMHgwMF0pCiAgICAgICAgICAgICAgICAgICAgICAgIFBQUk0gPSAweDAw CiAgICAgICAgICAgICAgICAgICAgICAgIFBQSVAgPSAweDAyCiAgICAgICAgICAgICAgICAgICAg ICAgIElPQjIgPSBQUElOIC8qIFxfU0JfLlRQTV8uUFBJTiAqLwogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKEZSRVQpIC8qIFxfU0JfLlRQTV8uRlJFVCAqLwogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICBDYXNlICgweDAzKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgVFBNMiBbMHgwMV0gPSBQUFJRIC8qIFxfU0JfLlRQ TV8uUFBSUSAqLwogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFRQTTIpIC8qIFxfU0Jf LlRQTV8uVFBNMiAqLwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBD YXNlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBD YXNlICgweDA1KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UFBJUCA9IDB4MDUKICAgICAgICAgICAgICAgICAgICAgICAgSU9CMiA9IFBQSU4gLyogXF9TQl8u VFBNXy5QUElOICovCiAgICAgICAgICAgICAgICAgICAgICAgIFRQTTMgWzB4MDFdID0gTFBQUiAv KiBcX1NCXy5UUE1fLkxQUFIgKi8KICAgICAgICAgICAgICAgICAgICAgICAgVFBNMyBbMHgwMl0g PSBQUFJQIC8qIFxfU0JfLlRQTV8uUFBSUCAqLwogICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKFRQTTMpIC8qIFxfU0JfLlRQTV8uVFBNMyAqLwogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICBDYXNlICgweDA2KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAzKQogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICBDYXNlICgweDA3KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgUFBJUCA9IDB4MDcKICAgICAgICAgICAgICAgICAgICAgICAgUFBS USA9IERlcmVmT2YgKEFyZzIgWzB4MDBdKQogICAgICAgICAgICAgICAgICAgICAgICBQUFJNID0g MHgwMAogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKFBQUlEgPT0gMHgxNykpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBQUk0gPSBEZXJl Zk9mIChBcmcyIFsweDAxXSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgSU9CMiA9IFBQSU4gLyogXF9TQl8uVFBNXy5QUElOICovCiAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoRlJFVCkgLyogXF9TQl8uVFBNXy5GUkVUICovCiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIENhc2UgKDB4MDgpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQUElQID0gMHgwOAogICAgICAgICAg ICAgICAgICAgICAgICBVQ1JRID0gRGVyZWZPZiAoQXJnMiBbMHgwMF0pCiAgICAgICAgICAgICAg ICAgICAgICAgIElPQjIgPSBQUElOIC8qIFxfU0JfLlRQTV8uUFBJTiAqLwogICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKEZSRVQpIC8qIFxfU0JfLlRQTV8uRlJFVCAqLwogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBEZWZhdWx0CiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBCcmVha1BvaW50CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoVE1DSSwgMywgU2VyaWFsaXplZCkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgU3dpdGNoIChUb0ludGVnZXIgKEFyZzEpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENhc2UgKDB4MDApCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJ1ZmZlciAoMHgwMSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuCiAgICAg ICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIENhc2UgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBNT1JEID0gRGVyZWZPZiAoQXJnMiBbMHgwMF0pCiAgICAgICAgICAgICAgICAgICAg ICAgIE1DSVAgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgICAgIElPQjIgPSBNQ0lOIC8qIFxf U0JfLlRQTV8uTUNJTiAqLwogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKE1SRVQpIC8q IFxfU0JfLlRQTV8uTVJFVCAqLwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICBEZWZhdWx0CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBCcmVha1BvaW50CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1l dGhvZCAoX0RTTSwgNCwgU2VyaWFsaXplZCkgIC8vIF9EU006IERldmljZS1TcGVjaWZpYyBNZXRo b2QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKChBcmcwID09IFRvVVVJRCAoImNm OGUxNmE1LWMxZTgtNGUyNS1iNzEyLTRmNTRhOTY3MDJjOCIpIC8qIFVua25vd24gVVVJRCAqLykp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChISU5GIChBcmcx LCBBcmcyLCBBcmczKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoKEFy ZzAgPT0gVG9VVUlEICgiM2RkZGZhYTYtMzYxYi00ZWI0LWE0MjQtOGQxMDA4OWQxNjUzIikgLyog UGh5c2ljYWwgUHJlc2VuY2UgSW50ZXJmYWNlICovKSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKFRQUEkgKEFyZzEsIEFyZzIsIEFyZzMpKQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIElmICgoQXJnMCA9PSBUb1VVSUQgKCIzNzYwNTRlZC1j YzEzLTQ2NzUtOTAxYy00NzU2ZDdmMmQ0NWQiKSAvKiBVbmtub3duIFVVSUQgKi8pKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoVE1DSSAoQXJnMSwgQXJnMiwg QXJnMykpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuIChCdWZmZXIg KDB4MDEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuCiAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIFNjb3BlIChcX1NCKQogICAg ewogICAgICAgIERldmljZSAoV01JNikKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQs IEVpc2FJZCAoIlBOUDBDMTQiKSAvKiBXaW5kb3dzIE1hbmFnZW1lbnQgSW5zdHJ1bWVudGF0aW9u IERldmljZSAqLykgIC8vIF9ISUQ6IEhhcmR3YXJlIElECiAgICAgICAgICAgIE5hbWUgKF9VSUQs ICJMV01JIikgIC8vIF9VSUQ6IFVuaXF1ZSBJRAogICAgICAgICAgICBOYW1lIChfV0RHLCBCdWZm ZXIgKDB4M0MpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIC8qIDAwMDAgKi8gIDB4MTIs IDB4NTcsIDB4N0QsIDB4RTgsIDB4NkQsIDB4RkQsIDB4ODQsIDB4NDgsICAvLyAuV30ubS4uSAog ICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgMHhCOCwgMHgzMywgMHg0NiwgMHhENiwgMHg3NSwg MHg5QSwgMHhENiwgMHhCQywgIC8vIC4zRi51Li4uCiAgICAgICAgICAgICAgICAvKiAwMDEwICov ICAweDQ1LCAweDQ1LCAweDAxLCAweDAyLCAweDRFLCAweEQyLCAweDE2LCAweDJELCAgLy8gRUUu Lk4uLi0KICAgICAgICAgICAgICAgIC8qIDAwMTggKi8gIDB4OEQsIDB4RjgsIDB4RDMsIDB4NDYs IDB4OEEsIDB4OUUsIDB4NjksIDB4M0YsICAvLyAuLi5GLi5pPwogICAgICAgICAgICAgICAgLyog MDAyMCAqLyAgMHhERiwgMHhDRCwgMHhCOSwgMHg4QiwgMHg0NSwgMHg0MiwgMHgwMSwgMHgwMiwg IC8vIC4uLi5FQi4uCiAgICAgICAgICAgICAgICAvKiAwMDI4ICovICAweDIxLCAweDEyLCAweDkw LCAweDA1LCAweDY2LCAweEQ1LCAweEQxLCAweDExLCAgLy8gIS4uLmYuLi4KICAgICAgICAgICAg ICAgIC8qIDAwMzAgKi8gIDB4QjIsIDB4RjAsIDB4MDAsIDB4QTAsIDB4QzksIDB4MDYsIDB4Mjks IDB4MTAsICAvLyAuLi4uLi4pLgogICAgICAgICAgICAgICAgLyogMDAzOCAqLyAgMHg0NiwgMHg0 NSwgMHgwMSwgMHgwMCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZFLi4KICAgICAgICAg ICAgfSkKICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChTTUlQLCBTeXN0ZW1JTywgMHhCMiwg MHgwMSkKICAgICAgICAgICAgRmllbGQgKFNNSVAsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElPQjIsICAgOAogICAgICAgICAgICB9Cgog ICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKExOVlMsIFN5c3RlbU1lbW9yeSwgMHhCRDY5QjAw MCwgMHgwMTIwKQogICAgICAgICAgICBGaWVsZCAoTE5WUywgQW55QWNjLCBOb0xvY2ssIFByZXNl cnZlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTR05ULCAgIDMyLCAKICAgICAgICAg ICAgICAgIE1DTUQsICAgMzIsIAogICAgICAgICAgICAgICAgU0NNRCwgICAzMiwgCiAgICAgICAg ICAgICAgICBSQ0RFLCAgIDMyLCAKICAgICAgICAgICAgICAgIERBVDEsICAgMzIsIAogICAgICAg ICAgICAgICAgREFUMiwgICAzMiwgCiAgICAgICAgICAgICAgICBEQVQzLCAgIDMyLCAKICAgICAg ICAgICAgICAgIERBVDQsICAgMzIsIAogICAgICAgICAgICAgICAgQkRBVCwgICAyMDQ4CiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIE11dGV4IChNU01JLCAweDAwKQogICAgICAgICAgICBOYW1l IChMQlVGLCBQYWNrYWdlICgweDA1KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAg ICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgfSkKICAgICAg ICAgICAgTWV0aG9kIChMU01JLCA2LCBTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBBY3F1aXJlIChNU01JLCAweEZGRkYpCiAgICAgICAgICAgICAgICBNQ01EID0gQXJn MAogICAgICAgICAgICAgICAgUkNERSA9IDB4MDAKICAgICAgICAgICAgICAgIFNDTUQgPSBBcmcx CiAgICAgICAgICAgICAgICBEQVQxID0gQXJnMgogICAgICAgICAgICAgICAgREFUMiA9IEFyZzMK ICAgICAgICAgICAgICAgIERBVDMgPSBBcmc0CiAgICAgICAgICAgICAgICBEQVQ0ID0gQXJnNQog ICAgICAgICAgICAgICAgSU9CMiA9IDB4Q0UKICAgICAgICAgICAgICAgIExCVUYgWzB4MDBdID0g UkNERSAvKiBcX1NCXy5XTUk2LlJDREUgKi8KICAgICAgICAgICAgICAgIExCVUYgWzB4MDFdID0g REFUMSAvKiBcX1NCXy5XTUk2LkRBVDEgKi8KICAgICAgICAgICAgICAgIExCVUYgWzB4MDJdID0g REFUMiAvKiBcX1NCXy5XTUk2LkRBVDIgKi8KICAgICAgICAgICAgICAgIExCVUYgWzB4MDNdID0g REFUMyAvKiBcX1NCXy5XTUk2LkRBVDMgKi8KICAgICAgICAgICAgICAgIExCVUYgWzB4MDRdID0g REFUMyAvKiBcX1NCXy5XTUk2LkRBVDMgKi8KICAgICAgICAgICAgICAgIFJlbGVhc2UgKE1TTUkp CiAgICAgICAgICAgICAgICBSZXR1cm4gKExCVUYpIC8qIFxfU0JfLldNSTYuTEJVRiAqLwogICAg ICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFdNRUUsIDMsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMiwgMHgwMCwg VERBMSkKICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMiwgMHgwMSwgVERBMikK ICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMiwgMHgwMiwgVERBMykKICAgICAg ICAgICAgICAgIEFyZzEtLQogICAgICAgICAgICAgICAgTFNNSSAoMHgwMSwgQXJnMSwgVERBMSwg VERBMiwgVERBMywgMHgwMCkKICAgICAgICAgICAgICAgIFJldHVybiAoREFUMSkgLyogXF9TQl8u V01JNi5EQVQxICovCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoV01FQiwgMywg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKChBcmcxID09 IDB4MDEpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQkRB VCkgLyogXF9TQl8uV01JNi5CREFUICovCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICBFbHNlSWYgKChBcmcxID09IDB4MDIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIEJEQVQgPSBBcmcyCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIE5hbWUgKFdRRkUsIEJ1ZmZlciAoMHgwNzJDKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAvKiAwMDAwICovICAweDQ2LCAweDRGLCAweDRELCAweDQyLCAweDAxLCAweDAwLCAw eDAwLCAweDAwLCAgLy8gRk9NQi4uLi4KICAgICAgICAgICAgICAgIC8qIDAwMDggKi8gIDB4MUMs IDB4MDcsIDB4MDAsIDB4MDAsIDB4RTYsIDB4MUUsIDB4MDAsIDB4MDAsICAvLyAuLi4uLi4uLgog ICAgICAgICAgICAgICAgLyogMDAxMCAqLyAgMHg0NCwgMHg1MywgMHgwMCwgMHgwMSwgMHgxQSwg MHg3RCwgMHhEQSwgMHg1NCwgIC8vIERTLi4ufS5UCiAgICAgICAgICAgICAgICAvKiAwMDE4ICov ICAweDk4LCAweEQ2LCAweDhFLCAweDAwLCAweDAxLCAweDA2LCAweDE4LCAweDQyLCAgLy8gLi4u Li4uLkIKICAgICAgICAgICAgICAgIC8qIDAwMjAgKi8gIDB4MTAsIDB4MDksIDB4MTAsIDB4MEEs IDB4MEMsIDB4MjEsIDB4MDIsIDB4MEIsICAvLyAuLi4uLiEuLgogICAgICAgICAgICAgICAgLyog MDAyOCAqLyAgMHg4MywgMHg1MCwgMHg0NCwgMHgxOCwgMHgxNCwgMHhBMCwgMHg0NSwgMHg0MSwg IC8vIC5QRC4uLkVBCiAgICAgICAgICAgICAgICAvKiAwMDMwICovICAweEM4LCAweDA1LCAweDE0 LCAweDk1LCAweDAyLCAweDIxLCAweEMzLCAweDAyLCAgLy8gLi4uLi4hLi4KICAgICAgICAgICAg ICAgIC8qIDAwMzggKi8gIDB4MTQsIDB4MEIsIDB4NzAsIDB4MkUsIDB4NDAsIDB4QkEsIDB4MDAs IDB4RTUsICAvLyAuLnAuQC4uLgogICAgICAgICAgICAgICAgLyogMDA0MCAqLyAgMHgyOCwgMHg3 MiwgMHgwQywgMHgyMiwgMHgwMiwgMHhGNywgMHhFRiwgMHgwRiwgIC8vIChyLiIuLi4uCiAgICAg ICAgICAgICAgICAvKiAwMDQ4ICovICAweDMxLCAweDBBLCAweDg4LCAweDE0LCAweDQwLCAweDQ4 LCAweDIyLCAweDg0LCAgLy8gMS4uLkBIIi4KICAgICAgICAgICAgICAgIC8qIDAwNTAgKi8gIDB4 NDQsIDB4MDAsIDB4NTMsIDB4MjEsIDB4NzAsIDB4ODQsIDB4QTAsIDB4NUYsICAvLyBELlMhcC4u XwogICAgICAgICAgICAgICAgLyogMDA1OCAqLyAgMHgwMSwgMHgwOCwgMHgxRCwgMHgwQSwgMHg5 MCwgMHgyOSwgMHhDMCwgMHhBMCwgIC8vIC4uLi4uKS4uCiAgICAgICAgICAgICAgICAvKiAwMDYw ICovICAweDAwLCAweEE3LCAweDA4LCAweDIyLCAweDg4LCAweDUyLCAweDIzLCAweDkwLCAgLy8g Li4uIi5SIy4KICAgICAgICAgICAgICAgIC8qIDAwNjggKi8gIDB4QTAsIDB4N0EsIDB4MTUsIDB4 NjAsIDB4NUIsIDB4ODAsIDB4NjksIDB4MjQsICAvLyAuei5gWy5pJAogICAgICAgICAgICAgICAg LyogMDA3MCAqLyAgMHg1OSwgMHg5RSwgMHg4MywgMHhCNCwgMHhBMywgMHg2OCwgMHgxMCwgMHg1 MSwgIC8vIFkuLi4uaC5RCiAgICAgICAgICAgICAgICAvKiAwMDc4ICovICAweDEyLCAweDU4LCAw eEU0LCAweDA4LCAweDUwLCAweDYyLCAweDQ2LCAweDgwLCAgLy8gLlguLlBiRi4KICAgICAgICAg ICAgICAgIC8qIDAwODAgKi8gIDB4RDIsIDB4MzksIDB4MDEsIDB4RDksIDB4MTQsIDB4NjAsIDB4 MTEsIDB4NTksICAvLyAuOS4uLmAuWQogICAgICAgICAgICAgICAgLyogMDA4OCAqLyAgMHg0Miwg MHg1MSwgMHgzNCwgMHg4MSwgMHgyOCwgMHgwOSwgMHhBMiwgMHhGNywgIC8vIEJRNC4oLi4uCiAg ICAgICAgICAgICAgICAvKiAwMDkwICovICAweDhELCAweEEwLCAweDIxLCAweDk1LCAweDJCLCAw eDQwLCAweDMyLCAweEJFLCAgLy8gLi4hLitAMi4KICAgICAgICAgICAgICAgIC8qIDAwOTggKi8g IDB4MzQsIDB4Q0YsIDB4NEEsIDB4RDYsIDB4MDUsIDB4QzgsIDB4MUUsIDB4MTYsICAvLyA0Lkou Li4uLgogICAgICAgICAgICAgICAgLyogMDBBMCAqLyAgMHgxRCwgMHgwMSwgMHg0RiwgMHg2Qiwg MHgwNCwgMHg4NCwgMHg0NSwgMHg1OSwgIC8vIC4uT2suLkVZCiAgICAgICAgICAgICAgICAvKiAw MEE4ICovICAweEE0LCAweDIyLCAweDM5LCAweDgwLCAweEMxLCAweDc4LCAweDAwLCAweDkxLCAg Ly8gLiI5Li54Li4KICAgICAgICAgICAgICAgIC8qIDAwQjAgKi8gIDB4OUMsIDB4ODEsIDB4QTIs IDB4ODAsIDB4M0QsIDB4QUEsIDB4MTMsIDB4NjksICAvLyAuLi4uPS4uaQogICAgICAgICAgICAg ICAgLyogMDBCOCAqLyAgMHg3MiwgMHg5NCwgMHg1NCwgMHgxMiwgMHgxQywgMHg2QSwgMHg4Qywg MHgxRSwgIC8vIHIuVC4uai4uCiAgICAgICAgICAgICAgICAvKiAwMEMwICovICAweDY3LCAweEYz LCAweDAyLCAweDc0LCAweDRGLCAweDQ0LCAweEIzLCAweEYzLCAgLy8gZy4udE9ELi4KICAgICAg ICAgICAgICAgIC8qIDAwQzggKi8gIDB4RDgsIDB4NDIsIDB4MzIsIDB4NjksIDB4NDMsIDB4NDEs IDB4MEQsIDB4REMsICAvLyAuQjJpQ0EuLgogICAgICAgICAgICAgICAgLyogMDBEMCAqLyAgMHhE MywgMHgzQSwgMHgyOSwgMHhDRiwgMHhEMSwgMHg4MywgMHgzMiwgMHg0QywgIC8vIC46KS4uLjJM CiAgICAgICAgICAgICAgICAvKiAwMEQ4ICovICAweDAyLCAweDhGLCAweDgyLCAweEExLCAweDcx LCAweDgyLCAweEIyLCAweDIwLCAgLy8gLi4uLnEuLiAKICAgICAgICAgICAgICAgIC8qIDAwRTAg Ki8gIDB4QjQsIDB4MjMsIDB4M0EsIDB4NTAsIDB4MzIsIDB4NjQsIDB4MzYsIDB4QzcsICAvLyAu IzpQMmQ2LgogICAgICAgICAgICAgICAgLyogMDBFOCAqLyAgMHhFMiwgMHgwNSwgMHgwOCwgMHg4 NywgMHhENiwgMHg0NCwgMHgxRSwgMHgwNCwgIC8vIC4uLi4uRC4uCiAgICAgICAgICAgICAgICAv KiAwMEYwICovICAweDBFLCAweDk5LCAweDFELCAweDA4LCAweDhDLCAweDdELCAweENDLCAweEQ4 LCAgLy8gLi4uLi59Li4KICAgICAgICAgICAgICAgIC8qIDAwRjggKi8gIDB4MTEsIDB4ODUsIDB4 MEIsIDB4NzgsIDB4M0UsIDB4QzcsIDB4MTAsIDB4MzksICAvLyAuLi54Pi4uOQogICAgICAgICAg ICAgICAgLyogMDEwMCAqLyAgMHhFRSwgMHhBMSwgMHhDNiwgMHgzOCwgMHg4QSwgMHhDOCwgMHg0 RiwgMHgwMSwgIC8vIC4uLjguLk8uCiAgICAgICAgICAgICAgICAvKiAwMTA4ICovICAweDVDLCAw eEQwLCAweDBDLCAweDg0LCAweDEwLCAweEJBLCAweDUyLCAweDAxLCAgLy8gXC4uLi4uUi4KICAg ICAgICAgICAgICAgIC8qIDAxMTAgKi8gIDB4M0UsIDB4NDcsIDB4MjMsIDB4OUMsIDB4NTMsIDB4 OEYsIDB4MTMsIDB4QTYsICAvLyA+RyMuUy4uLgogICAgICAgICAgICAgICAgLyogMDExOCAqLyAg MHhENiwgMHhGOSwgMHg2OCwgMHhFRSwgMHg4QywgMHhFMCwgMHhGRiwgMHg1RiwgIC8vIC4uaC4u Li5fCiAgICAgICAgICAgICAgICAvKiAwMTIwICovICAweEY0LCAweDIwLCAweDUwLCAweDMyLCAw eDIwLCAweEU0LCAweDUxLCAweDgwLCAgLy8gLiBQMiAuUS4KICAgICAgICAgICAgICAgIC8qIDAx MjggKi8gIDB4NTUsIDB4M0MsIDB4REQsIDB4MEUsIDB4NEMsIDB4MTAsIDB4QjEsIDB4MzgsICAv LyBVPC4uTC4uOAogICAgICAgICAgICAgICAgLyogMDEzMCAqLyAgMHgwMSwgMHhERSwgMHg2MCwg MHg2NCwgMHgwRCwgMHg0MywgMHhDNiwgMHgwNCwgIC8vIC4uYGQuQy4uCiAgICAgICAgICAgICAg ICAvKiAwMTM4ICovICAweDI4LCAweDEzLCAweDYwLCAweDZCLCAweDE0LCAweEMyLCAweEE5LCAw eDBELCAgLy8gKC5gay4uLi4KICAgICAgICAgICAgICAgIC8qIDAxNDAgKi8gIDB4NDIsIDB4Mjgs IDB4ODcsIDB4MUEsIDB4MkUsIDB4NDIsIDB4OEMsIDB4MjgsICAvLyBCKC4uLkIuKAogICAgICAg ICAgICAgICAgLyogMDE0OCAqLyAgMHgxNSwgMHg4MiwgMHhDOCwgMHgxOSwgMHg4MiwgMHhBMCwg MHgwQywgMHg2NywgIC8vIC4uLi4uLi5nCiAgICAgICAgICAgICAgICAvKiAwMTUwICovICAweDg4 LCAweEI4LCAweDkxLCAweDlCLCAweEJCLCAweDE0LCAweDA4LCAweEM2LCAgLy8gLi4uLi4uLi4K ICAgICAgICAgICAgICAgIC8qIDAxNTggKi8gIDB4NzgsIDB4QTcsIDB4OTIsIDB4QzAsIDB4QzMs IDB4QzYsIDB4OEQsIDB4REYsICAvLyB4Li4uLi4uLgogICAgICAgICAgICAgICAgLyogMDE2MCAq LyAgMHgwMywgMHgzQiwgMHhCNCwgMHhCMywgMHgzQiwgMHhGRSwgMHhFNywgMHg4MiwgIC8vIC47 Li47Li4uCiAgICAgICAgICAgICAgICAvKiAwMTY4ICovICAweEUzLCAweDY0LCAweEYzLCAweDNB LCAweEFFLCAweEE3LCAweDgzLCAweDM3LCAgLy8gLmQuOi4uLjcKICAgICAgICAgICAgICAgIC8q IDAxNzAgKi8gIDB4ODksIDB4QTMsIDB4OEQsIDB4MUEsIDB4MjMsIDB4N0UsIDB4NTAsIDB4RjIs ICAvLyAuLi4uI35QLgogICAgICAgICAgICAgICAgLyogMDE3OCAqLyAgMHg4MCwgMHg5MCwgMHgw NSwgMHgxMCwgMHg0NSwgMHg4MiwgMHg0NywgMHg5RCwgIC8vIC4uLi5FLkcuCiAgICAgICAgICAg ICAgICAvKiAwMTgwICovICAweDE3LCAweDdDLCAweDMyLCAweEYwLCAweEM4LCAweDBFLCAweERC LCAweDgzLCAgLy8gLnwyLi4uLi4KICAgICAgICAgICAgICAgIC8qIDAxODggKi8gIDB4M0QsIDB4 ODEsIDB4MjAsIDB4OEYsIDB4MEUsIDB4M0UsIDB4MzMsIDB4M0MsICAvLyA9LiAuLj4zPAogICAg ICAgICAgICAgICAgLyogMDE5MCAqLyAgMHgxMiwgMHg3OCwgMHgwQywgMHhFQywgMHhBRSwgMHhF MCwgMHg0MywgMHg4MCwgIC8vIC54Li4uLkMuCiAgICAgICAgICAgICAgICAvKiAwMTk4ICovICAw eENGLCAweDA4LCAweDc4LCAweEQ3LCAweDgwLCAweEJBLCAweDFDLCAweDNDLCAgLy8gLi54Li4u LjwKICAgICAgICAgICAgICAgIC8qIDAxQTAgKi8gIDB4MUEsIDB4QjAsIDB4MzEsIDB4ODcsIDB4 QzMsIDB4MEMsIDB4RDcsIDB4MDcsICAvLyAuLjEuLi4uLgogICAgICAgICAgICAgICAgLyogMDFB OCAqLyAgMHg4MCwgMHg3MCwgMHgyNywgMHhGMCwgMHg2NCwgMHhGMCwgMHg4MCwgMHhDMSwgIC8v IC5wJy5kLi4uCiAgICAgICAgICAgICAgICAvKiAwMUIwICovICAweDBGLCAweDFCLCAweDFFLCAw eDFDLCAweDZFLCAweDg2LCAweDI3LCAweDczLCAgLy8gLi4uLm4uJ3MKICAgICAgICAgICAgICAg IC8qIDAxQjggKi8gIDB4NjQsIDB4QTUsIDB4MEEsIDB4MzAsIDB4N0IsIDB4MDcsIDB4RDAsIDB4 RjQsICAvLyBkLi4wey4uLgogICAgICAgICAgICAgICAgLyogMDFDMCAqLyAgMHg3RCwgMHhEQSwg MHg2MCwgMHg3NywgMHg4MSwgMHhGMywgMHhFOSwgMHgxOSwgIC8vIH0uYHcuLi4uCiAgICAgICAg ICAgICAgICAvKiAwMUM4ICovICAweDkyLCAweEM4LCAweDFGLCAweDA0LCAweDZBLCAweDY0LCAw eDg2LCAweEY2LCAgLy8gLi4uLmpkLi4KICAgICAgICAgICAgICAgIC8qIDAxRDAgKi8gIDB4ODQs IDB4NUYsIDB4M0EsIDB4MEMsIDB4RjksIDB4QTQsIDB4NzAsIDB4NTgsICAvLyAuXzouLi5wWAog ICAgICAgICAgICAgICAgLyogMDFEOCAqLyAgMHg0QywgMHhFQywgMHhBOSwgMHg4MywgMHg4RSwg MHgwNywgMHhGQywgMHg5NywgIC8vIEwuLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMUUwICov ICAweDkxLCAweDI3LCAweDBELCAweDRGLCAweERGLCAweEYzLCAweEY1LCAweEE5LCAgLy8gLicu Ty4uLi4KICAgICAgICAgICAgICAgIC8qIDAxRTggKi8gIDB4MDEsIDB4N0IsIDB4MTIsIDB4ODEs IDB4M0YsIDB4ODAsIDB4RDgsIDB4OEYsICAvLyAuey4uPy4uLgogICAgICAgICAgICAgICAgLyog MDFGMCAqLyAgMHgwRSwgMHhBRiwgMHgxMywgMHg5RSwgMHhGQiwgMHhBMywgMHg4NCwgMHhGRiwg IC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMUY4ICovICAweEZGLCAweDg3LCAweDEx LCAweEUwLCAweDM2LCAweDJDLCAweERDLCAweDk5LCAgLy8gLi4uLjYsLi4KICAgICAgICAgICAg ICAgIC8qIDAyMDAgKi8gIDB4QzAsIDB4NDMsIDB4RTAsIDB4MDMsIDB4NzgsIDB4OTIsIDB4Mzgs IDB4NDUsICAvLyAuQy4ueC44RQogICAgICAgICAgICAgICAgLyogMDIwOCAqLyAgMHg1RiwgMHgy OSwgMHg0RSwgMHgwQywgMHg3NywgMHg2NCwgMHgwMSwgMHg4MywgIC8vIF8pTi53ZC4uCiAgICAg ICAgICAgICAgICAvKiAwMjEwICovICAweDIyLCAweDFELCAweDg3LCAweDA2LCAweDk2LCAweEYx LCAweDA1LCAweDIwLCAgLy8gIi4uLi4uLiAKICAgICAgICAgICAgICAgIC8qIDAyMTggKi8gIDB4 MUIsIDB4MkYsIDB4MDAsIDB4MEYsIDB4OEMsIDB4MkEsIDB4MDEsIDB4RDIsICAvLyAuLy4uLiou LgogICAgICAgICAgICAgICAgLyogMDIyMCAqLyAgMHgzMCwgMHg3MSwgMHhDMywgMHg3OCwgMHgw OCwgMHhDMCwgMHhBNCwgMHg3RiwgIC8vIDBxLnguLi4uCiAgICAgICAgICAgICAgICAvKiAwMjI4 ICovICAweDdELCAweEU4LCAweEY4LCAweEUxLCAweEUzLCAweDgwLCAweDczLCAweDkzLCAgLy8g fS4uLi4ucy4KICAgICAgICAgICAgICAgIC8qIDAyMzAgKi8gIDB4MjgsIDB4RjksIDB4OTAsIDB4 MjgsIDB4OUMsIDB4QjMsIDB4OUUsIDB4NDIsICAvLyAoLi4oLi4uQgogICAgICAgICAgICAgICAg LyogMDIzOCAqLyAgMHgyOCwgMHg4OCwgMHgwMSwgMHgxRCwgMHgwNCwgMHg0MiwgMHg0RSwgMHg0 RSwgIC8vICguLi4uQk5OCiAgICAgICAgICAgICAgICAvKiAwMjQwICovICAweDA4LCAweEE4LCAw eDAzLCAweDhBLCAweDQ3LCAweDcxLCAweDBBLCAweENGLCAgLy8gLi4uLkdxLi4KICAgICAgICAg ICAgICAgIC8qIDAyNDggKi8gIDB4MzksIDB4M0UsIDB4NDcsIDB4NzgsIDB4OTYsIDB4MkYsIDB4 MjgsIDB4RUMsICAvLyA5Pkd4Li8oLgogICAgICAgICAgICAgICAgLyogMDI1MCAqLyAgMHhGNCwg MHhFMSwgMHg4MywgMHg4NCwgMHhDNywgMHhFMywgMHgyMywgMHgwMiwgIC8vIC4uLi4uLiMuCiAg ICAgICAgICAgICAgICAvKiAwMjU4ICovICAweEQ3LCAweDAwLCAweEExLCAweDNCLCAweDgzLCAw eEQxLCAweEFELCAweEU2LCAgLy8gLi4uOy4uLi4KICAgICAgICAgICAgICAgIC8qIDAyNjAgKi8g IDB4OTAsIDB4ODIsIDB4MDIsIDB4RjMsIDB4MjEsIDB4ODQsIDB4MTMsIDB4RDQsICAvLyAuLi4u IS4uLgogICAgICAgICAgICAgICAgLyogMDI2OCAqLyAgMHg3NSwgMHg0RCwgMHg4MCwgMHgzRSwg MHhGRSwgMHgyMywgMHhGMCwgMHg1MCwgIC8vIHVNLj4uIy5QCiAgICAgICAgICAgICAgICAvKiAw MjcwICovICAweERFLCAweDQxLCAweERFLCAweDQ1LCAweDEyLCAweEQ0LCAweDc3LCAweDRDLCAg Ly8gLkEuRS4ud0wKICAgICAgICAgICAgICAgIC8qIDAyNzggKi8gIDB4MDAsIDB4MDUsIDB4OTAs IDB4RUYsIDB4MDQsIDB4MUUsIDB4RUQsIDB4NzMsICAvLyAuLi4uLi4ucwogICAgICAgICAgICAg ICAgLyogMDI4MCAqLyAgMHgwMSwgMHgxQiwgMHhDMywgMHg2MywgMHg4MCwgMHhEMSwgMHg4Qywg MHhDRSwgIC8vIC4uLmMuLi4uCiAgICAgICAgICAgICAgICAvKiAwMjg4ICovICAweEMzLCAweDRG LCAweDE2LCAweDE1LCAweDc3LCAweEIyLCAweDE0LCAweEM0LCAgLy8gLk8uLncuLi4KICAgICAg ICAgICAgICAgIC8qIDAyOTAgKi8gIDB4OTMsIDB4RjUsIDB4Q0QsIDB4RTgsIDB4RkYsIDB4N0Ys IDB4QjIsIDB4RDgsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgLyogMDI5OCAqLyAgMHg5 OSwgMHhGOCwgMHg0RSwgMHhFMSwgMHgwOSwgMHg5RCwgMHg1MiwgMHg5MCwgIC8vIC4uTi4uLlIu CiAgICAgICAgICAgICAgICAvKiAwMkEwICovICAweDczLCAweEY0LCAweDg0LCAweDdELCAweDA3 LCAweDgxLCAweDc1LCAweDE1LCAgLy8gcy4ufS4udS4KICAgICAgICAgICAgICAgIC8qIDAyQTgg Ki8gIDB4MDgsIDB4RjksIDB4QTgsIDB4RTAsIDB4NjksIDB4MTgsIDB4Q0UsIDB4OTMsICAvLyAu Li4uaS4uLgogICAgICAgICAgICAgICAgLyogMDJCMCAqLyAgMHhFNSwgMHg3MCwgMHg5RSwgMHgy QywgMHgxRiwgMHg4QiwgMHhFRiwgMHgxOCwgIC8vIC5wLiwuLi4uCiAgICAgICAgICAgICAgICAv KiAwMkI4ICovICAweEYwLCAweDQ3LCAweDhCLCAweDI1LCAweDI4LCAweDcwLCAweEI2LCAweDIw LCAgLy8gLkcuJShwLiAKICAgICAgICAgICAgICAgIC8qIDAyQzAgKi8gIDB4ODcsIDB4QzcsIDB4 MDQsIDB4MUEsIDB4MTUsIDB4QkQsIDB4MDcsIDB4NzksICAvLyAuLi4uLi4ueQogICAgICAgICAg ICAgICAgLyogMDJDOCAqLyAgMHg3OCwgMHhGQywgMHg3MiwgMHhFMCwgMHhGOSwgMHgzQywgMHgy MywgMHgxQywgIC8vIHguci4uPCMuCiAgICAgICAgICAgICAgICAvKiAwMkQwICovICAweEU1LCAw eEZCLCAweDg3LCAweDRGLCAweDA5LCAweDlFLCAweDhFLCAweDMxLCAgLy8gLi4uTy4uLjEKICAg ICAgICAgICAgICAgIC8qIDAyRDggKi8gIDB4OUUsIDB4MUQsIDB4M0MsIDB4NDQsIDB4NUYsIDB4 ODksIDB4NjAsIDB4NEQsICAvLyAuLjxEXy5gTQogICAgICAgICAgICAgICAgLyogMDJFMCAqLyAg MHhFNCwgMHhBNCwgMHg3RCwgMHg1QiwgMHgzOCwgMHhEOSwgMHhBMCwgMHhGMSwgIC8vIC4ufVs4 Li4uCiAgICAgICAgICAgICAgICAvKiAwMkU4ICovICAweEMzLCAweDdBLCAweDk4LCAweDFFLCAw eDFBLCAweEVFLCAweDRBLCAweDA0LCAgLy8gLnouLi4uSi4KICAgICAgICAgICAgICAgIC8qIDAy RjAgKi8gIDB4RjcsIDB4NEUsIDB4QzEsIDB4Q0YsIDB4NDQsIDB4NTgsIDB4ODIsIDB4MjksICAv LyAuTi4uRFguKQogICAgICAgICAgICAgICAgLyogMDJGOCAqLyAgMHg2RiwgMHgxOCwgMHhEMCwg MHhDNywgMHg3MywgMHgwQSwgMHg5RSwgMHg5NywgIC8vIG8uLi5zLi4uCiAgICAgICAgICAgICAg ICAvKiAwMzAwICovICAweDZGLCAweDE4LCAweEMwLCAweEVELCAweEZGLCAweDdGLCAweEMzLCAw eDAwLCAgLy8gby4uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDAzMDggKi8gIDB4RjgsIDB4Nzks IDB4REUsIDB4RjIsIDB4MEQsIDB4MDMsIDB4NzgsIDB4OEQsICAvLyAueS4uLi54LgogICAgICAg ICAgICAgICAgLyogMDMxMCAqLyAgMHhERiwgMHhGRiwgMHhGRiwgMHg4MywgMHgyMSwgMHhFRSwg MHg4NiwgMHgwMSwgIC8vIC4uLi4hLi4uCiAgICAgICAgICAgICAgICAvKiAwMzE4ICovICAweEY3 LCAweDRFLCAweDgxLCAweDM5LCAweDYyLCAweEUwLCAweDA5LCAweEU2LCAgLy8gLk4uOWIuLi4K ICAgICAgICAgICAgICAgIC8qIDAzMjAgKi8gIDB4QkMsIDB4NjIsIDB4QTAsIDB4NEUsIDB4MDAs IDB4RDYsIDB4NzIsIDB4QzUsICAvLyAuYi5OLi5yLgogICAgICAgICAgICAgICAgLyogMDMyOCAq LyAgMHg0MCwgMHhERiwgMHg5NSwgMHg0RSwgMHhFMCwgMHhENCwgMHgxRSwgMHhENiwgIC8vIEAu Lk4uLi4uCiAgICAgICAgICAgICAgICAvKiAwMzMwICovICAweDdDLCAweDIxLCAweDdCLCAweDJB LCAweDAyLCAweEY4LCAweEY4LCAweEZGLCAgLy8gfCF7Ki4uLi4KICAgICAgICAgICAgICAgIC8q IDAzMzggKi8gIDB4QkYsIDB4NjMsIDB4MDAsIDB4MjYsIDB4MjEsIDB4N0QsIDB4QzcsIDB4MDAs ICAvLyAuYy4mIX0uLgogICAgICAgICAgICAgICAgLyogMDM0MCAqLyAgMHhDRiwgMHhBNSwgMHgw MiwgMHg3NywgMHhDOCwgMHhDMCwgMHhBNywgMHhCRCwgIC8vIC4uLncuLi4uCiAgICAgICAgICAg ICAgICAvKiAwMzQ4ICovICAweDYzLCAweEEwLCAweDM4LCAweEFDLCAweEU2LCAweDFFLCAweDA3 LCAweEVELCAgLy8gYy44Li4uLi4KICAgICAgICAgICAgICAgIC8qIDAzNTAgKi8gIDB4OUEsIDB4 RjksIDB4OTQsIDB4ODEsIDB4QjksIDB4NjQsIDB4MDAsIDB4RTYsICAvLyAuLi4uLmQuLgogICAg ICAgICAgICAgICAgLyogMDM1OCAqLyAgMHhGRSwgMHhGRiwgMHg5NywgMHgwQywgMHg4MCwgMHgz RiwgMHhCMSwgMHgyRSwgIC8vIC4uLi4uPy4uCiAgICAgICAgICAgICAgICAvKiAwMzYwICovICAw eDE5LCAweDQwLCAweEVELCAweDRDLCAweEVFLCAweDM5LCAweEJELCAweEM5LCAgLy8gLkAuTC45 Li4KICAgICAgICAgICAgICAgIC8qIDAzNjggKi8gIDB4ODEsIDB4MUIsIDB4RTcsIDB4Q0QsIDB4 MDIsIDB4OTcsIDB4RjgsIDB4OUEsICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgLyogMDM3 MCAqLyAgMHg4MSwgMHgzQSwgMHg2MywgMHg1QiwgMHgwRiwgMHg5MCwgMHhGRSwgMHhGRiwgIC8v IC46Y1suLi4uCiAgICAgICAgICAgICAgICAvKiAwMzc4ICovICAweDk3LCAweDM5LCAweDU4LCAw eEQ4LCAweEI4LCAweDdCLCAweDA2LCAweEMwLCAgLy8gLjlYLi57Li4KICAgICAgICAgICAgICAg IC8qIDAzODAgKi8gIDB4RUUsIDB4RkYsIDB4RkYsIDB4M0QsIDB4MDMsIDB4NzYsIDB4QjAsIDB4 N0IsICAvLyAuLi49LnYuewogICAgICAgICAgICAgICAgLyogMDM4OCAqLyAgMHgwNiwgMHg1MCwg MHhCQiwgMHgyMiwgMHhGQiwgMHg4RSwgMHgwRiwgMHg5RSwgIC8vIC5QLiIuLi4uCiAgICAgICAg ICAgICAgICAvKiAwMzkwICovICAweEZCLCAweDFDLCAweEJDLCAweDgzLCAweDA2LCAweEY2LCAw eEVFLCAweEExLCAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDAzOTggKi8gIDB4RTUs IDB4NTAsIDB4RjksIDB4QUIsIDB4OTcsIDB4MzAsIDB4MTgsIDB4RDQsICAvLyAuUC4uLjAuLgog ICAgICAgICAgICAgICAgLyogMDNBMCAqLyAgMHgxNSwgMHhDNCwgMHhFNywgMHgwMSwgMHhGQywg MHgyOCwgMHgwRSwgMHhFMCwgIC8vIC4uLi4uKC4uCiAgICAgICAgICAgICAgICAvKiAwM0E4ICov ICAweDk0LCAweDhFLCAweDhFLCAweERELCAweEVCLCAweEMxLCAweDE5LCAweDZFLCAgLy8gLi4u Li4uLm4KICAgICAgICAgICAgICAgIC8qIDAzQjAgKi8gIDB4N0MsIDB4QTAsIDB4MzksIDB4MDYs IDB4OUMsIDB4NkQsIDB4OTgsIDB4NjgsICAvLyB8LjkuLm0uaAogICAgICAgICAgICAgICAgLyog MDNCOCAqLyAgMHhDNywgMHgxNiwgMHhFRSwgMHgyMCwgMHg4RSwgMHgyMiwgMHg0QSwgMHgxOCwg IC8vIC4uLiAuIkouCiAgICAgICAgICAgICAgICAvKiAwM0MwICovICAweDg2LCAweEU3LCAweDAz LCAweEJFLCAweEFGLCAweDA3LCAweDQ2LCAweEYyLCAgLy8gLi4uLi4uRi4KICAgICAgICAgICAg ICAgIC8qIDAzQzggKi8gIDB4QkMsIDB4M0QsIDB4NTAsIDB4MUYsIDB4QzEsIDB4MTksIDB4OTYs IDB4MjcsICAvLyAuPVAuLi4uJwogICAgICAgICAgICAgICAgLyogMDNEMCAqLyAgMHhFQiwgMHgx OSwgMHgzMCwgMHhBQywgMHgxOCwgMHhBMSwgMHg0MiwgMHg2MiwgIC8vIC4uMC4uLkJiCiAgICAg ICAgICAgICAgICAvKiAwM0Q4ICovICAweDJFLCAweDIxLCAweDFFLCAweEFELCAweDMxLCAweERF LCAweEU3LCAweDAzLCAgLy8gLiEuLjEuLi4KICAgICAgICAgICAgICAgIC8qIDAzRTAgKi8gIDB4 RjksIDB4QzAsIDB4NzAsIDB4MDIsIDB4MkYsIDB4MDQsIDB4NDYsIDB4MDksICAvLyAuLnAuLy5G LgogICAgICAgICAgICAgICAgLyogMDNFOCAqLyAgMHg2RSwgMHg1QywgMHhBMywgMHhCMiwgMHgz MSwgMHg5RCwgMHgwRCwgMHg2RSwgIC8vIG5cLi4xLi5uCiAgICAgICAgICAgICAgICAvKiAwM0Yw ICovICAweDYwLCAweDI2LCAweDg4LCAweDczLCAweDc4LCAweDk4LCAweEZCLCAweEZDLCAgLy8g YCYuc3guLi4KICAgICAgICAgICAgICAgIC8qIDAzRjggKi8gIDB4RkYsIDB4M0YsIDB4QzEsIDB4 MDksIDB4QkMsIDB4M0YsIDB4RjgsIDB4RUUsICAvLyAuPy4uLj8uLgogICAgICAgICAgICAgICAg LyogMDQwMCAqLyAgMHhDRCwgMHhEQywgMHg5RiwgMHgxOSwgMHg3NCwgMHgwOSwgMHg4OCwgMHhG MCwgIC8vIC4uLi50Li4uCiAgICAgICAgICAgICAgICAvKiAwNDA4ICovICAweEU4LCAweDcwLCAw eEE2LCAweENGLCAweEU0LCAweEI1LCAweDYxLCAweEM4LCAgLy8gLnAuLi4uYS4KICAgICAgICAg ICAgICAgIC8qIDA0MTAgKi8gIDB4OTYsIDB4MDAsIDB4NzEsIDB4ODcsIDB4MDEsIDB4NjEsIDB4 MzUsIDB4ODYsICAvLyAuLnEuLmE1LgogICAgICAgICAgICAgICAgLyogMDQxOCAqLyAgMHgyMiwg MHg4OCwgMHgwOCwgMHg0MSwgMHhBMywgMHgxOCwgMHgyQywgMHg0MiwgIC8vICIuLkEuLixCCiAg ICAgICAgICAgICAgICAvKiAwNDIwICovICAweEE4LCAweDc4LCAweDQ2LCAweDNELCAweEU3LCAw eDIwLCAweDUxLCAweDFGLCAgLy8gLnhGPS4gUS4KICAgICAgICAgICAgICAgIC8qIDA0MjggKi8g IDB4MjcsIDB4ODIsIDB4NDQsIDB4NkIsIDB4NkQsIDB4RTAsIDB4M0EsIDB4NTEsICAvLyAnLkRr bS46UQogICAgICAgICAgICAgICAgLyogMDQzMCAqLyAgMHgxOCwgMHhBNSwgMHhGRCwgMHg0MSwg MHg5MCwgMHg2OCwgMHhFNywgMHgwMSwgIC8vIC4uLkEuaC4uCiAgICAgICAgICAgICAgICAvKiAw NDM4ICovICAweEZELCAweDA4LCAweDJDLCAweDA5LCAweDQ0LCAweDQ2LCAweEFFLCAweDMzLCAg Ly8gLi4sLkRGLjMKICAgICAgICAgICAgICAgIC8qIDA0NDAgKi8gIDB4RjQsIDB4NEMsIDB4RTEs IDB4RTEsIDB4NzgsIDB4MjYsIDB4Q0QsIDB4NUYsICAvLyAuTC4ueCYuXwogICAgICAgICAgICAg ICAgLyogMDQ0OCAqLyAgMHgxMiwgMHhDOCwgMHhBOCwgMHgyQywgMHgwMSwgMHg1MCwgMHgzNywg MHgxNSwgIC8vIC4uLiwuUDcuCiAgICAgICAgICAgICAgICAvKiAwNDUwICovICAweDhCLCAweDNB LCAweDNGLCAweEEwLCAweEFFLCAweDJGLCAweDNFLCAweDNGLCAgLy8gLjo/Li4vPj8KICAgICAg ICAgICAgICAgIC8qIDA0NTggKi8gIDB4QjAsIDB4NkIsIDB4QzAsIDB4MDEsIDB4OUUsIDB4QkEs IDB4Q0YsIDB4QzMsICAvLyAuay4uLi4uLgogICAgICAgICAgICAgICAgLyogMDQ2MCAqLyAgMHg5 OCwgMHgyRCwgMHhGOCwgMHg4QywgMHhDMCwgMHhDNywgMHhFMCwgMHhDMywgIC8vIC4tLi4uLi4u CiAgICAgICAgICAgICAgICAvKiAwNDY4ICovICAweDg4LCAweDJGLCAweEVCLCAweEZDLCAweDkw LCAweDYwLCAweDQwLCAweEJDLCAgLy8gLi8uLi5gQC4KICAgICAgICAgICAgICAgIC8qIDA0NzAg Ki8gIDB4RjcsIDB4MzMsIDB4MzAsIDB4MEEsIDB4RDAsIDB4QjcsIDB4MjAsIDB4RjAsICAvLyAu MzAuLi4gLgogICAgICAgICAgICAgICAgLyogMDQ3OCAqLyAgMHg0QywgMHhGMSwgMHgyNCwgMHg4 RiwgMHhGMywgMHgxQywgMHgyQSwgMHgxRSwgIC8vIEwuJC4uLiouCiAgICAgICAgICAgICAgICAv KiAwNDgwICovICAweDFCLCAweEUyLCAweDRBLCAweEMwLCAweEM3LCAweDcyLCAweDU0LCAweEVD LCAgLy8gLi5KLi5yVC4KICAgICAgICAgICAgICAgIC8qIDA0ODggKi8gIDB4NzgsIDB4MDIsIDB4 RTMsIDB4RUMsIDB4NzAsIDB4REEsIDB4QzUsIDB4M0UsICAvLyB4Li4ucC4uPgogICAgICAgICAg ICAgICAgLyogMDQ5MCAqLyAgMHg0RiwgMHhFOCwgMHg5OSwgMHhDMywgMHhDNywgMHgxMywgMHg3 MCwgMHg5QywgIC8vIE8uLi4uLnAuCiAgICAgICAgICAgICAgICAvKiAwNDk4ICovICAweDA0LCAw eDlFLCAweDRFLCAweEMwLCAweDgyLCAweEZELCAweEI4LCAweDgwLCAgLy8gLi5OLi4uLi4KICAg ICAgICAgICAgICAgIC8qIDA0QTAgKi8gIDB4QkIsIDB4MDAsIDB4MUMsIDB4QzAsIDB4MzEsIDB4 NDUsIDB4NzgsIDB4MDksICAvLyAuLi4uMUV4LgogICAgICAgICAgICAgICAgLyogMDRBOCAqLyAg MHg2MiwgMHgyMiwgMHg0NywgMHg4OSwgMHgxRSwgMHgwMCwgMHhENywgMHg3OSwgIC8vIGIiRy4u Li55CiAgICAgICAgICAgICAgICAvKiAwNEIwICovICAweDUwLCAweEExLCAweDAzLCAweDc4LCAw eDU3LCAweEYxLCAweDFDLCAweDBFLCAgLy8gUC4ueFcuLi4KICAgICAgICAgICAgICAgIC8qIDA0 QjggKi8gIDB4QzcsIDB4ODcsIDB4MjUsIDB4OUYsIDB4MUMsIDB4N0MsIDB4Q0EsIDB4RjgsICAv LyAuLiUuLnwuLgogICAgICAgICAgICAgICAgLyogMDRDMCAqLyAgMHhGRiwgMHhCRiwgMHg0Qiwg MHhCMCwgMHg0MSwgMHg5QywgMHhDMiwgMHg2MywgIC8vIC4uSy5BLi5jCiAgICAgICAgICAgICAg ICAvKiAwNEM4ICovICAweEMzLCAweDJCLCAweDhELCAweDQ3LCAweDgwLCAweDA5LCAweEU4LCAw eEUxLCAgLy8gLisuRy4uLi4KICAgICAgICAgICAgICAgIC8qIDA0RDAgKi8gIDB4MDgsIDB4NEUs IDB4ODcsIDB4QTgsIDB4NjAsIDB4MEIsIDB4QTUsIDB4MzAsICAvLyAuTi4uYC4uMAogICAgICAg ICAgICAgICAgLyogMDREOCAqLyAgMHhFNiwgMHhGMiwgMHgxOSwgMHgwNCwgMHhFRSwgMHgzNSwg MHhDQSwgMHg3MCwgIC8vIC4uLi4uNS5wCiAgICAgICAgICAgICAgICAvKiAwNEUwICovICAweDdD LCAweDg4LCAweDNFLCAweDA3LCAweDFDLCAweEZGLCAweDkxLCAweEJFLCAgLy8gfC4+Li4uLi4K ICAgICAgICAgICAgICAgIC8qIDA0RTggKi8gIDB4MkYsIDB4NzksIDB4QUMsIDB4QzcsIDB4Rjcs IDB4MzAsIDB4MDIsIDB4RTMsICAvLyAveS4uLjAuLgogICAgICAgICAgICAgICAgLyogMDRGMCAq LyAgMHhBOCwgMHhFMCwgMHg2OSwgMHg5RCwgMHg5NCwgMHhCNSwgMHgxRiwgMHgyOSwgIC8vIC4u aS4uLi4pCiAgICAgICAgICAgICAgICAvKiAwNEY4ICovICAweEM4LCAweDFDLCAweEQ5LCAweDI4 LCAweDM4LCAweDFBLCAweDNGLCAweEM2LCAgLy8gLi4uKDguPy4KICAgICAgICAgICAgICAgIC8q IDA1MDAgKi8gIDB4QzAsIDB4OUIsIDB4RTMsIDB4NTMsIDB4QzksIDB4Q0IsIDB4QzEsIDB4MTMs ICAvLyAuLi5TLi4uLgogICAgICAgICAgICAgICAgLyogMDUwOCAqLyAgMHg4RCwgMHgwRiwgMHgx QSwgMHgzRSwgMHhGQywgMHhGMCwgMHg2MSwgMHgzRSwgIC8vIC4uLj4uLmE+CiAgICAgICAgICAg ICAgICAvKiAwNTEwICovICAweDI4LCAweDgwLCAweEU1LCAweDFBLCAweEYwLCAweEE2LCAweDcx LCAweEQyLCAgLy8gKC4uLi4ucS4KICAgICAgICAgICAgICAgIC8qIDA1MTggKi8gIDB4NEYsIDB4 MzEsIDB4MzAsIDB4QzAsIDB4QTIsIDB4MDQsIDB4RUIsIDB4MTIsICAvLyBPMTAuLi4uLgogICAg ICAgICAgICAgICAgLyogMDUyMCAqLyAgMHg0NiwgMHhCMywgMHg3RiwgMHhFQiwgMHhCMSwgMHhE NiwgMHgyOSwgMHg2OSwgIC8vIEYuLi4uLilpCiAgICAgICAgICAgICAgICAvKiAwNTI4ICovICAw eEZBLCAweEVDLCAweDdBLCAweEM1LCAweDBFLCAweDIwLCAweDM4LCAweDhGLCAgLy8gLi56Li4g OC4KICAgICAgICAgICAgICAgIC8qIDA1MzAgKi8gIDB4NzcsIDB4NDgsIDB4OUQsIDB4OEQsIDB4 RjgsIDB4RTEsIDB4MjEsIDB4QzgsICAvLyB3SC4uLi4hLgogICAgICAgICAgICAgICAgLyogMDUz OCAqLyAgMHhGMywgMHhDNiwgMHhDQiwgMHg0MywgMHg4QywgMHgyOCwgMHg0NywgMHgxQSwgIC8v IC4uLkMuKEcuCiAgICAgICAgICAgICAgICAvKiAwNTQwICovICAweEY4LCAweEMxLCAweEUzLCAw eDQwLCAweDlFLCAweDEzLCAweDIyLCAweDA0LCAgLy8gLi4uQC4uIi4KICAgICAgICAgICAgICAg IC8qIDA1NDggKi8gIDB4OEEsIDB4MTIsIDB4MjgsIDB4OTgsIDB4RUYsIDB4MUQsIDB4MkYsIDB4 MjEsICAvLyAuLiguLi4vIQogICAgICAgICAgICAgICAgLyogMDU1MCAqLyAgMHgzRSwgMHgxMiwg MHhCQywgMHg3QiwgMHhDNCwgMHgzMywgMHg1MiwgMHg5MCwgIC8vID4uLnsuM1IuCiAgICAgICAg ICAgICAgICAvKiAwNTU4ICovICAweDQ4LCAweDIxLCAweDgzLCAweDFELCAweDkyLCAweDMxLCAw eDRFLCAweDI3LCAgLy8gSCEuLi4xTicKICAgICAgICAgICAgICAgIC8qIDA1NjAgKi8gIDB4NTAs IDB4QkMsIDB4MTgsIDB4MDksIDB4N0MsIDB4QUEsIDB4MDEsIDB4QTcsICAvLyBQLi4ufC4uLgog ICAgICAgICAgICAgICAgLyogMDU2OCAqLyAgMHg5MCwgMHg0NywgMHg5NSwgMHg4RSwgMHg0MSwg MHgzRSwgMHg4QSwgMHgxQSwgIC8vIC5HLi5BPi4uCiAgICAgICAgICAgICAgICAvKiAwNTcwICov ICAweDlFLCAweDFGLCAweDE5LCAweDdDLCAweDM4LCAweEYwLCAweEM4LCAweDhFLCAgLy8gLi4u fDguLi4KICAgICAgICAgICAgICAgIC8qIDA1NzggKi8gIDB4REMsIDB4QTcsIDB4MEIsIDB4ODMs IDB4MUMsIDB4QzIsIDB4MTEsIDB4M0MsICAvLyAuLi4uLi4uPAogICAgICAgICAgICAgICAgLyog MDU4MCAqLyAgMHgzNiwgMHgzQywgMHgxNSwgMHhGOCwgMHhGRiwgMHgzRiwgMHgwNiwgMHg3Niwg IC8vIDY8Li4uPy52CiAgICAgICAgICAgICAgICAvKiAwNTg4ICovICAweDVELCAweEYwLCAweEMx LCAweDBBLCAweENFLCAweDU1LCAweDIyLCAweEUwLCAgLy8gXS4uLi5VIi4KICAgICAgICAgICAg ICAgIC8qIDA1OTAgKi8gIDB4RkIsIDB4QzEsIDB4NTMsIDB4MDgsIDB4QUMsIDB4RDMsIDB4MDgs IDB4RkUsICAvLyAuLlMuLi4uLgogICAgICAgICAgICAgICAgLyogMDU5OCAqLyAgMHg2NCwgMHgw NSwgMHg3RiwgMHgzQywgMHgzRSwgMHgxMCwgMHg3OCwgMHgzRSwgIC8vIGQuLjw+Lng+CiAgICAg ICAgICAgICAgICAvKiAwNUEwICovICAweENGLCAweDE3LCAweDhGLCAweDQ1LCAweDY0LCAweDEw LCAweEE4LCAweEUzLCAgLy8gLi4uRWQuLi4KICAgICAgICAgICAgICAgIC8qIDA1QTggKi8gIDB4 MTcsIDB4MUYsIDB4RjYsIDB4NjksIDB4QkQsIDB4MTcsIDB4RjgsIDB4QjAsICAvLyAuLi5pLi4u LgogICAgICAgICAgICAgICAgLyogMDVCMCAqLyAgMHg3MCwgMHg1OCwgMHhFQywgMHgwOCwgMHhF MiwgMHg5MywgMHg5OCwgMHhDNywgIC8vIHBYLi4uLi4uCiAgICAgICAgICAgICAgICAvKiAwNUI4 ICovICAweDAzLCAweEZFLCAweDAzLCAweENBLCAweEMzLCAweDg2LCAweEE3LCAweEVGLCAgLy8g Li4uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA1QzAgKi8gIDB4RjksIDB4RkEsIDB4MzgsIDB4 ODUsIDB4M0QsIDB4OEIsIDB4QzAsIDB4M0IsICAvLyAuLjguPS4uOwogICAgICAgICAgICAgICAg LyogMDVDOCAqLyAgMHgzNywgMHgzMCwgMHhBOCwgMHgxNywgMHgyOSwgMHhDQywgMHg5MSwgMHg4 NiwgIC8vIDcwLi4pLi4uCiAgICAgICAgICAgICAgICAvKiAwNUQwICovICAweEUzLCAweDNELCAw eDU5LCAweEY4LCAweDZFLCAweEUxLCAweDIzLCAweDgwLCAgLy8gLj1ZLm4uIy4KICAgICAgICAg ICAgICAgIC8qIDA1RDggKi8gIDB4MDksIDB4N0MsIDB4MUUsIDB4MDEsIDB4MUUsIDB4QzMsIDB4 QzIsIDB4OUQsICAvLyAufC4uLi4uLgogICAgICAgICAgICAgICAgLyogMDVFMCAqLyAgMHgwOSwg MHgzQywgMHgwNCwgMHgzRSwgMHg4MCwgMHgyNywgMHg4OSwgMHg1MywgIC8vIC48Lj4uJy5TCiAg ICAgICAgICAgICAgICAvKiAwNUU4ICovICAweEY0LCAweDk1LCAweEUyLCAweEM0LCAweDcwLCAw eDIzLCAweEMzLCAweDlDLCAgLy8gLi4uLnAjLi4KICAgICAgICAgICAgICAgIC8qIDA1RjAgKi8g IDB4MzksIDB4RDgsIDB4QjAsIDB4NjAsIDB4QzQsIDB4N0YsIDB4MjUsIDB4RTgsICAvLyA5Li5g Li4lLgogICAgICAgICAgICAgICAgLyogMDVGOCAqLyAgMHgwMCwgMHhFMCwgMHhFOCwgMHhBRiwg MHgwRSwgMHg1RCwgMHgxNywgMHhGOSwgIC8vIC4uLi4uXS4uCiAgICAgICAgICAgICAgICAvKiAw NjAwICovICAweDYxLCAweEM0LCAweEUyLCAweDgwLCAweDM0LCAweDRDLCAweEY2LCAweEZGLCAg Ly8gYS4uLjRMLi4KICAgICAgICAgICAgICAgIC8qIDA2MDggKi8gIDB4MUYsIDB4QTYsIDB4Q0Ys IDB4OEYsIDB4RkMsIDB4NjgsIDB4QzQsIDB4MEUsICAvLyAuLi4uLmguLgogICAgICAgICAgICAg ICAgLyogMDYxMCAqLyAgMHgyMCwgMHg4NiwgMHhCMCwgMHgxOCwgMHgwQSwgMHg0OSwgMHg4MSwg MHhEMCwgIC8vICAuLi4uSS4uCiAgICAgICAgICAgICAgICAvKiAwNjE4ICovICAweDcxLCAweDhG LCAweDlGLCAweEY4LCAweDBDLCAweDY2LCAweDEwLCAweDhGLCAgLy8gcS4uLi5mLi4KICAgICAg ICAgICAgICAgIC8qIDA2MjAgKi8gIDB4QzIsIDB4RTcsIDB4MzYsIDB4REIsIDB4MzgsIDB4RUUs IDB4NDEsIDB4OEYsICAvLyAuLjYuOC5BLgogICAgICAgICAgICAgICAgLyogMDYyOCAqLyAgMHg3 MSwgMHhEQywgMHgwMywgMHhGNSwgMHg0MCwgMHhEOSwgMHgzMSwgMHgwMSwgIC8vIHEuLi5ALjEu CiAgICAgICAgICAgICAgICAvKiAwNjMwICovICAweEY2LCAweDEwLCAweDVFLCAweDEzLCAweEFB LCAweDFFLCAweDhELCAweDZFLCAgLy8gLi5eLi4uLm4KICAgICAgICAgICAgICAgIC8qIDA2Mzgg Ki8gIDB4MEYsIDB4NTYsIDB4NzcsIDB4RUYsIDB4ODEsIDB4N0MsIDB4RUEsIDB4MDMsICAvLyAu VncuLnwuLgogICAgICAgICAgICAgICAgLyogMDY0MCAqLyAgMHgyNiwgMHhBMSwgMHg0RSwgMHg3 RCwgMHg0MCwgMHhFRCwgMHgyMCwgMHhFMCwgIC8vICYuTn1ALiAuCiAgICAgICAgICAgICAgICAv KiAwNjQ4ICovICAweDMzLCAweDA0LCAweEZFLCAweEIyLCAweDBBLCAweDg2LCAweDJCLCAweDAy LCAgLy8gMy4uLi4uKy4KICAgICAgICAgICAgICAgIC8qIDA2NTAgKi8gIDB4MDYsIDB4RTYsIDB4 QzksIDB4ODIsIDB4QkYsIDB4MEMsIDB4RDgsIDB4NjksICAvLyAuLi4uLi4uaQogICAgICAgICAg ICAgICAgLyogMDY1OCAqLyAgMHg4MSwgMHgwRiwgMHhDMSwgMHgwMiwgMHg0RiwgMHgwQiwgMHhD OCwgMHg0QiwgIC8vIC4uLi5PLi5LCiAgICAgICAgICAgICAgICAvKiAwNjYwICovICAweDIwLCAw eEZGLCAweEZGLCAweDFGLCAweDFELCAweDk4LCAweEE4LCAweEUzLCAgLy8gIC4uLi4uLi4KICAg ICAgICAgICAgICAgIC8qIDA2NjggKi8gIDB4MDIsIDB4NEEsIDB4MEUsIDB4ODUsIDB4Q0UsIDB4 MEIsIDB4M0UsIDB4MkUsICAvLyAuSi4uLi4+LgogICAgICAgICAgICAgICAgLyogMDY3MCAqLyAg MHhGMCwgMHhGOCwgMHg2MCwgMHgxNCwgMHhDNCwgMHhDNywgMHgwNSwgMHg0NywgIC8vIC4uYC4u Li5HCiAgICAgICAgICAgICAgICAvKiAwNjc4ICovICAweDNCLCAweDJFLCAweEEwLCAweDJGLCAw eEFBLCAweEYwLCAweENFLCAweDBCLCAgLy8gOy4uLy4uLi4KICAgICAgICAgICAgICAgIC8qIDA2 ODAgKi8gIDB4RjAsIDB4MkUsIDB4QUEsIDB4RUMsIDB4QkMsIDB4MDAsIDB4NTgsIDB4QkIsICAv LyAuLi4uLi5YLgogICAgICAgICAgICAgICAgLyogMDY4OCAqLyAgMHgyQiwgMHgwMywgMHhCNywg MHg3MywgMHg4MCwgMHg4RiwgMHg3NSwgMHhFMCwgIC8vICsuLnMuLnUuCiAgICAgICAgICAgICAg ICAvKiAwNjkwICovICAweDM5LCAweDc0LCAweEUyLCAweEVFLCAweDBCLCAweEQwLCAweEMwLCAw eERBLCAgLy8gOXQuLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA2OTggKi8gIDB4RjQsIDB4QTks IDB4RDEsIDB4QTgsIDB4NTUsIDB4ODMsIDB4MzIsIDB4MzUsICAvLyAuLi4uVS4yNQogICAgICAg ICAgICAgICAgLyogMDZBMCAqLyAgMHhDQSwgMHgzNCwgMHhBOCwgMHhENSwgMHhBNywgMHg1Miwg MHg2MywgMHhDNiwgIC8vIC40Li4uUmMuCiAgICAgICAgICAgICAgICAvKiAwNkE4ICovICAweEZD LCAweDBDLCAweENGLCAweDQ3LCAweDA1LCAweDJBLCAweDY2LCAweDUxLCAgLy8gLi4uRy4qZlEK ICAgICAgICAgICAgICAgIC8qIDA2QjAgKi8gIDB4MUEsIDB4OTUsIDB4QTMsIDB4MzgsIDB4Rjgs IDB4RkYsIDB4ODMsIDB4MzAsICAvLyAuLi44Li4uMAogICAgICAgICAgICAgICAgLyogMDZCOCAq LyAgMHhBOSwgMHhBRiwgMHgyNywgMHgxOSwgMHgwMSwgMHg5MSwgMHg2RSwgMHgxMCwgIC8vIC4u Jy4uLm4uCiAgICAgICAgICAgICAgICAvKiAwNkMwICovICAweDAxLCAweDU5LCAweEUzLCAweDlC LCAweDUwLCAweDQwLCAweDU2LCAweDBDLCAgLy8gLlkuLlBAVi4KICAgICAgICAgICAgICAgIC8q IDA2QzggKi8gIDB4MjIsIDB4MjAsIDB4QUIsIDB4NTksIDB4OTUsIDB4ODAsIDB4MkMsIDB4MEQs ICAvLyAiIC5ZLi4sLgogICAgICAgICAgICAgICAgLyogMDZEMCAqLyAgMHg0NCwgMHg0MCwgMHg5 NiwgMHg2MSwgMHgwMiwgMHg4OCwgMHg4OSwgMHgwMiwgIC8vIERALmEuLi4uCiAgICAgICAgICAg ICAgICAvKiAwNkQ4ICovICAweDExLCAweDkwLCAweDQzLCAweEFCLCAweDAwLCAweDYyLCAweDBB LCAweDU2LCAgLy8gLi5DLi5iLlYKICAgICAgICAgICAgICAgIC8qIDA2RTAgKi8gIDB4MkQsIDB4 MjAsIDB4QTcsIDB4MDUsIDB4MTEsIDB4OTAsIDB4QjMsIDB4MDMsICAvLyAtIC4uLi4uLgogICAg ICAgICAgICAgICAgLyogMDZFOCAqLyAgMHhEMSwgMHg3NCwgMHg4RiwgMHgwNywgMHgwMSwgMHgz OSwgMHgyQSwgMHg4OCwgIC8vIC50Li4uOSouCiAgICAgICAgICAgICAgICAvKiAwNkYwICovICAw eDgwLCAweDFDLCAweDRCLCAweDA3LCAweDEwLCAweDBCLCAweDA5LCAweDIyLCAgLy8gLi5LLi4u LiIKICAgICAgICAgICAgICAgIC8qIDA2RjggKi8gIDB4MjAsIDB4ODcsIDB4NzksIDB4MTUsIDB4 MDgsIDB4QzgsIDB4QzksIDB4NDAsICAvLyAgLnkuLi4uQAogICAgICAgICAgICAgICAgLyogMDcw MCAqLyAgMHgwNCwgMHhFNCwgMHgxNCwgMHgzNCwgMHgwMiwgMHg3MiwgMHgyNiwgMHgwQSwgIC8v IC4uLjQuciYuCiAgICAgICAgICAgICAgICAvKiAwNzA4ICovICAweDAxLCAweDU5LCAweEFGLCAw eDE1LCAweDEwLCAweEE2LCAweDU0LCAweENCLCAgLy8gLlkuLi4uVC4KICAgICAgICAgICAgICAg IC8qIDA3MTAgKi8gIDB4MDAsIDB4OTksIDB4Q0EsIDB4NzUsIDB4MEIsIDB4QzgsIDB4MTksIDB4 NDEsICAvLyAuLi51Li4uQQogICAgICAgICAgICAgICAgLyogMDcxOCAqLyAgMHg2OCwgMHg4Miwg MHhCRiwgMHhCMywgMHg4MCwgMHg5RCwgMHgwNywgMHg0NCwgIC8vIGguLi4uLi5ECiAgICAgICAg ICAgICAgICAvKiAwNzIwICovICAweDQwLCAweEQ2LCAweEZGLCAweDhDLCAweDEwLCAweDkwLCAw eEQzLCAweDgwLCAgLy8gQC4uLi4uLi4KICAgICAgICAgICAgICAgIC8qIDA3MjggKi8gIDB4MDgs IDB4QzgsIDB4RkYsIDB4N0YgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuLi4uCiAgICAg ICAgICAgIH0pCiAgICAgICAgfQogICAgfQoKICAgIFNjb3BlIChcX1BSLkMwMDApCiAgICB7CiAg ICAgICAgTmFtZSAoX1BDVCwgUGFja2FnZSAoMHgwMikgIC8vIF9QQ1Q6IFBlcmZvcm1hbmNlIENv bnRyb2wKICAgICAgICB7CiAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgUmVnaXN0ZXIgKEZGaXhlZEhXLCAKICAgICAgICAgICAgICAg ICAgICAweDQwLCAgICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAg IDB4MDAsICAgICAgICAgICAgICAgLy8gQml0IE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDBDMDAxMDA2MiwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICwpCiAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBSZWdpc3RlciAoRkZpeGVkSFcsIAogICAgICAgICAgICAgICAgICAg IDB4NDAsICAgICAgICAgICAgICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAgICAgMHgw MCwgICAgICAgICAgICAgICAvLyBCaXQgT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMDAw MDAwMDAwMDAwMDAwLCAvLyBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgLCkKICAgICAgICAg ICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoX1BTUywgUGFja2FnZSAoMHgwMykgIC8vIF9Q U1M6IFBlcmZvcm1hbmNlIFN1cHBvcnRlZCBTdGF0ZXMKICAgICAgICB7CiAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDYpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA4MzQsIAog ICAgICAgICAgICAgICAgMHgwMDAwMDlGRiwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAK ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwg CiAgICAgICAgICAgICAgICAweDAwMDAwMDAwCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg UGFja2FnZSAoMHgwNikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAwMDZBNCwg CiAgICAgICAgICAgICAgICAweDAwMDAwNjRGLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAs IAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAx LCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEKICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICBQYWNrYWdlICgweDA2KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDAwNTc4 LCAKICAgICAgICAgICAgICAgIDB4MDAwMDA0RkQsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAw MCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAw MDIsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMgogICAgICAgICAgICB9CiAgICAgICAgfSkK ICAgICAgICBOYW1lIChYUFNTLCBQYWNrYWdlICgweDAzKQogICAgICAgIHsKICAgICAgICAgICAg UGFja2FnZSAoMHgwOCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAwMDgzNCwg CiAgICAgICAgICAgICAgICAweDAwMDAwOUZGLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAs IAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4 MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4u Li4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAg ICAgfQogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDgpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA2QTQsIAogICAgICAgICAgICAgICAgMHgwMDAw MDY0RiwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAw MDAwMDAsIAogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg ICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg MHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4u Li4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICBQYWNrYWdlICgweDA4KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAw eDAwMDAwNTc4LCAKICAgICAgICAgICAgICAgIDB4MDAwMDA0RkQsIAogICAgICAgICAgICAgICAg MHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAg IEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgw MiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4u CiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1 ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKF9Q U0QsIFBhY2thZ2UgKDB4MDEpICAvLyBfUFNEOiBQb3dlciBTdGF0ZSBEZXBlbmRlbmNpZXMKICAg ICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIDB4MDUsIAogICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAweDAw MDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwRkUsIAogICAgICAgICAgICAgICAgMHgw MDAwMDAwMgogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChQUENWLCAweDAw KQogICAgICAgIE1ldGhvZCAoX1BQQywgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QUEM6IFBlcmZv cm1hbmNlIFByZXNlbnQgQ2FwYWJpbGl0aWVzCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4g KFBQQ1YpIC8qIFxfUFJfLkMwMDAuUFBDViAqLwogICAgICAgIH0KCiAgICAgICAgTmFtZSAoX0NT VCwgUGFja2FnZSAoMHgwMykgIC8vIF9DU1Q6IEMtU3RhdGVzCiAgICAgICAgewogICAgICAgICAg ICAweDAyLCAKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFJlZ2lzdGVyIChGRml4ZWRIVywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDIsICAgICAgICAgICAgICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDIsICAgICAgICAgICAgICAgLy8gQml0IE9mZnNldAogICAgICAgICAgICAgICAgICAgICAgICAw eDAwMDAwMDAwMDAwMDAwMDAsIC8vIEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAgICAgLCkK ICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAg ICAgMHgwMDAxLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAKICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBS ZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg UmVnaXN0ZXIgKFN5c3RlbUlPLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwOCwgICAgICAg ICAgICAgICAvLyBCaXQgV2lkdGgKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgICAgICAg ICAgICAgICAvLyBCaXQgT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAw MDAwMDQxNCwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAg ICAgICAgIC8vIEFjY2VzcyBTaXplCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgMHgwMTkw LCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAKICAgICAgICAgICAgfQogICAgICAgIH0pCiAg ICAgICAgTmFtZSAoX0NTRCwgUGFja2FnZSAoMHgwMSkgIC8vIF9DU0Q6IEMtU3RhdGUgRGVwZW5k ZW5jaWVzCiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA2KQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAweDA2LCAKICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMEZFLCAKICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDIsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMAogICAgICAgICAg ICB9CiAgICAgICAgfSkKICAgIH0KCiAgICBTY29wZSAoXF9QUi5DMDAxKQogICAgewogICAgICAg IE5hbWUgKF9QQ1QsIFBhY2thZ2UgKDB4MDIpICAvLyBfUENUOiBQZXJmb3JtYW5jZSBDb250cm9s CiAgICAgICAgewogICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIFJlZ2lzdGVyIChGRml4ZWRIVywgCiAgICAgICAgICAgICAgICAgICAg MHg0MCwgICAgICAgICAgICAgICAvLyBCaXQgV2lkdGgKICAgICAgICAgICAgICAgICAgICAweDAw LCAgICAgICAgICAgICAgIC8vIEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAw MDAwQzAwMTAwNjIsIC8vIEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAsKQogICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgUmVnaXN0ZXIgKEZGaXhlZEhXLCAKICAgICAgICAgICAgICAgICAgICAweDQw LCAgICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsICAg ICAgICAgICAgICAgLy8gQml0IE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAw MDAwMDAwMCwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICwpCiAgICAgICAgICAgIH0K ICAgICAgICB9KQogICAgICAgIE5hbWUgKF9QU1MsIFBhY2thZ2UgKDB4MDMpICAvLyBfUFNTOiBQ ZXJmb3JtYW5jZSBTdXBwb3J0ZWQgU3RhdGVzCiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdl ICgweDA2KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDAwODM0LCAKICAgICAg ICAgICAgICAgIDB4MDAwMDA5RkYsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAg ICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAg ICAgICAgICAgICAgMHgwMDAwMDAwMAogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDYpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA2QTQsIAogICAg ICAgICAgICAgICAgMHgwMDAwMDY0RiwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMSwgCiAg ICAgICAgICAgICAgICAweDAwMDAwMDAxCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFj a2FnZSAoMHgwNikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAwMDU3OCwgCiAg ICAgICAgICAgICAgICAweDAwMDAwNEZELCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAog ICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAyLCAK ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDIKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAg ICAgTmFtZSAoWFBTUywgUGFja2FnZSAoMHgwMykKICAgICAgICB7CiAgICAgICAgICAgIFBhY2th Z2UgKDB4MDgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA4MzQsIAogICAg ICAgICAgICAgICAgMHgwMDAwMDlGRiwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAg IH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4u LgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA4KQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAweDAwMDAwNkE0LCAKICAgICAgICAgICAgICAgIDB4MDAwMDA2NEYs IAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAw LCAKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBC dWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDEs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgog ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgUGFja2FnZSAoMHgwOCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAw MDU3OCwgCiAgICAgICAgICAgICAgICAweDAwMDAwNEZELCAKICAgICAgICAgICAgICAgIDB4MDAw MDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICBCdWZm ZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDIsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAg ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAg IC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIg KDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAg ICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChfUFNELCBQ YWNrYWdlICgweDAxKSAgLy8gX1BTRDogUG93ZXIgU3RhdGUgRGVwZW5kZW5jaWVzCiAgICAgICAg ewogICAgICAgICAgICBQYWNrYWdlICgweDA1KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAweDA1LCAKICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAw MCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMEZFLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAw MDIKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoUFBDViwgMHgwMCkKICAg ICAgICBNZXRob2QgKF9QUEMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFBDOiBQZXJmb3JtYW5j ZSBQcmVzZW50IENhcGFiaWxpdGllcwogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuIChQUENW KSAvKiBcX1BSXy5DMDAxLlBQQ1YgKi8KICAgICAgICB9CgogICAgICAgIE5hbWUgKF9DU1QsIFBh Y2thZ2UgKDB4MDMpICAvLyBfQ1NUOiBDLVN0YXRlcwogICAgICAgIHsKICAgICAgICAgICAgMHgw MiwgCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBSZWdpc3RlciAoRkZpeGVkSFcsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAg ICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAg ICAgICAgICAgICAgIC8vIEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAw MDAwMDAwMDAwMDAwLCAvLyBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICwpCiAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgIDB4 MDAwMSwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwCiAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmVzb3Vy Y2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJlZ2lz dGVyIChTeXN0ZW1JTywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgsICAgICAgICAgICAg ICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAgICAgICAg ICAgLy8gQml0IE9mZnNldAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwMDAwMDA0 MTQsIC8vIEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAg ICAvLyBBY2Nlc3MgU2l6ZQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIDB4MDE5MCwgCiAg ICAgICAgICAgICAgICAweDAwMDAwMDAwCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAg IE5hbWUgKF9DU0QsIFBhY2thZ2UgKDB4MDEpICAvLyBfQ1NEOiBDLVN0YXRlIERlcGVuZGVuY2ll cwogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgwNikKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgMHgwNiwgCiAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAg IDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDBGRSwgCiAgICAgICAgICAgICAg ICAweDAwMDAwMDAyLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAKICAgICAgICAgICAgfQog ICAgICAgIH0pCiAgICB9CgogICAgU2NvcGUgKFxfUFIuQzAwMikKICAgIHsKICAgICAgICBOYW1l IChfUENULCBQYWNrYWdlICgweDAyKSAgLy8gX1BDVDogUGVyZm9ybWFuY2UgQ29udHJvbAogICAg ICAgIHsKICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBSZWdpc3RlciAoRkZpeGVkSFcsIAogICAgICAgICAgICAgICAgICAgIDB4NDAs ICAgICAgICAgICAgICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgICAg ICAgICAgICAgICAvLyBCaXQgT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMEMw MDEwMDYyLCAvLyBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgLCkKICAgICAgICAgICAgfSwg CgogICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIFJlZ2lzdGVyIChGRml4ZWRIVywgCiAgICAgICAgICAgICAgICAgICAgMHg0MCwgICAg ICAgICAgICAgICAvLyBCaXQgV2lkdGgKICAgICAgICAgICAgICAgICAgICAweDAwLCAgICAgICAg ICAgICAgIC8vIEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwMDAwMDAw MDAsIC8vIEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAsKQogICAgICAgICAgICB9CiAgICAg ICAgfSkKICAgICAgICBOYW1lIChfUFNTLCBQYWNrYWdlICgweDAzKSAgLy8gX1BTUzogUGVyZm9y bWFuY2UgU3VwcG9ydGVkIFN0YXRlcwogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgw NikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAwMDgzNCwgCiAgICAgICAgICAg ICAgICAweDAwMDAwOUZGLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAg ICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgw eDA2KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDAwNkE0LCAKICAgICAgICAg ICAgICAgIDB4MDAwMDA2NEYsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAg ICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEsIAogICAgICAg ICAgICAgICAgMHgwMDAwMDAwMQogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDYpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA1NzgsIAogICAgICAg ICAgICAgICAgMHgwMDAwMDRGRCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMiwgCiAgICAg ICAgICAgICAgICAweDAwMDAwMDAyCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5h bWUgKFhQU1MsIFBhY2thZ2UgKDB4MDMpCiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgw eDA4KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDAwODM0LCAKICAgICAgICAg ICAgICAgIDB4MDAwMDA5RkYsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAg ICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVm ZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwOCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgMHgwMDAwMDZBNCwgCiAgICAgICAgICAgICAgICAweDAwMDAwNjRGLCAKICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAg ICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAg ICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVy ICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAxLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAv LyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCAKCiAgICAgICAgICAg IFBhY2thZ2UgKDB4MDgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA1Nzgs IAogICAgICAgICAgICAgICAgMHgwMDAwMDRGRCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAw LCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgQnVmZmVyICgw eDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAyLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAu Li4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4 KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoX1BTRCwgUGFja2Fn ZSAoMHgwMSkgIC8vIF9QU0Q6IFBvd2VyIFN0YXRlIERlcGVuZGVuY2llcwogICAgICAgIHsKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgw NSwgCiAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEsIAog ICAgICAgICAgICAgICAgMHgwMDAwMDBGRSwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAyCiAg ICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKFBQQ1YsIDB4MDApCiAgICAgICAg TWV0aG9kIChfUFBDLCAwLCBOb3RTZXJpYWxpemVkKSAgLy8gX1BQQzogUGVyZm9ybWFuY2UgUHJl c2VudCBDYXBhYmlsaXRpZXMKICAgICAgICB7CiAgICAgICAgICAgIFJldHVybiAoUFBDVikgLyog XF9QUl8uQzAwMi5QUENWICovCiAgICAgICAgfQoKICAgICAgICBOYW1lIChfQ1NULCBQYWNrYWdl ICgweDAzKSAgLy8gX0NTVDogQy1TdGF0ZXMKICAgICAgICB7CiAgICAgICAgICAgIDB4MDIsIAog ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBS ZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg UmVnaXN0ZXIgKEZGaXhlZEhXLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAg ICAgICAgICAvLyBCaXQgV2lkdGgKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAg ICAgICAgICAvLyBCaXQgT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAw MDAwMDAwMCwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAsKQogICAgICAgICAg ICAgICAgfSwgCgogICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAweDAwMDEs IAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMAogICAgICAgICAgICB9LCAKCiAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJlc291cmNlVGVt cGxhdGUgKCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAo U3lzdGVtSU8sIAogICAgICAgICAgICAgICAgICAgICAgICAweDA4LCAgICAgICAgICAgICAgIC8v IEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAgICAgICAgICAgICAgIC8v IEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwMDAwNDE0LCAv LyBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8g QWNjZXNzIFNpemUKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAweDAxOTAsIAogICAgICAg ICAgICAgICAgMHgwMDAwMDAwMAogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1l IChfQ1NELCBQYWNrYWdlICgweDAxKSAgLy8gX0NTRDogQy1TdGF0ZSBEZXBlbmRlbmNpZXMKICAg ICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIDB4MDYsIAogICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAweDAw MDAwMDAxLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwRkUsIAogICAgICAgICAgICAgICAgMHgw MDAwMDAwMiwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwCiAgICAgICAgICAgIH0KICAgICAg ICB9KQogICAgfQoKICAgIFNjb3BlIChcX1BSLkMwMDMpCiAgICB7CiAgICAgICAgTmFtZSAoX1BD VCwgUGFja2FnZSAoMHgwMikgIC8vIF9QQ1Q6IFBlcmZvcm1hbmNlIENvbnRyb2wKICAgICAgICB7 CiAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgUmVnaXN0ZXIgKEZGaXhlZEhXLCAKICAgICAgICAgICAgICAgICAgICAweDQwLCAgICAg ICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAgICAg ICAgICAgLy8gQml0IE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBDMDAxMDA2 MiwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICwpCiAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBSZWdpc3RlciAoRkZpeGVkSFcsIAogICAgICAgICAgICAgICAgICAgIDB4NDAsICAgICAgICAg ICAgICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgICAgICAgICAgICAg ICAvLyBCaXQgT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwMDAwMDAwLCAv LyBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgLCkKICAgICAgICAgICAgfQogICAgICAgIH0p CiAgICAgICAgTmFtZSAoX1BTUywgUGFja2FnZSAoMHgwMykgIC8vIF9QU1M6IFBlcmZvcm1hbmNl IFN1cHBvcnRlZCBTdGF0ZXMKICAgICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA4MzQsIAogICAgICAgICAgICAgICAg MHgwMDAwMDlGRiwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAg IDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAg ICAweDAwMDAwMDAwCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNikK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAwMDZBNCwgCiAgICAgICAgICAgICAg ICAweDAwMDAwNjRGLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAg ICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAxLCAKICAgICAgICAgICAg ICAgIDB4MDAwMDAwMDEKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA2 KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDAwNTc4LCAKICAgICAgICAgICAg ICAgIDB4MDAwMDA0RkQsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAg ICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDIsIAogICAgICAgICAg ICAgICAgMHgwMDAwMDAwMgogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChY UFNTLCBQYWNrYWdlICgweDAzKQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgwOCkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAwMDgzNCwgCiAgICAgICAgICAgICAg ICAweDAwMDAwOUZGLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAg ICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAg Ly8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAo MHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfQogICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDgpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIDB4MDAwMDA2QTQsIAogICAgICAgICAgICAgICAgMHgwMDAwMDY0RiwgCiAgICAgICAg ICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAg ICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8g Li4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgw OCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMSwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4u Li4uLi4KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNr YWdlICgweDA4KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDAwNTc4LCAKICAg ICAgICAgICAgICAgIDB4MDAwMDA0RkQsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAg ICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMiwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4u Li4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKF9QU0QsIFBhY2thZ2UgKDB4 MDEpICAvLyBfUFNEOiBQb3dlciBTdGF0ZSBEZXBlbmRlbmNpZXMKICAgICAgICB7CiAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDUsIAog ICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAxLCAKICAgICAg ICAgICAgICAgIDB4MDAwMDAwRkUsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMgogICAgICAg ICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChQUENWLCAweDAwKQogICAgICAgIE1ldGhv ZCAoX1BQQywgMCwgTm90U2VyaWFsaXplZCkgIC8vIF9QUEM6IFBlcmZvcm1hbmNlIFByZXNlbnQg Q2FwYWJpbGl0aWVzCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKFBQQ1YpIC8qIFxfUFJf LkMwMDMuUFBDViAqLwogICAgICAgIH0KCiAgICAgICAgTmFtZSAoX0NTVCwgUGFja2FnZSAoMHgw MykgIC8vIF9DU1Q6IEMtU3RhdGVzCiAgICAgICAgewogICAgICAgICAgICAweDAyLCAKICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmVzb3Vy Y2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJlZ2lz dGVyIChGRml4ZWRIVywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAg ICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAg ICAgLy8gQml0IE9mZnNldAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwMDAwMDAw MDAsIC8vIEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAgICAgLCkKICAgICAgICAgICAgICAg IH0sIAoKICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgMHgwMDAxLCAKICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRl ICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3Rl bUlPLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwOCwgICAgICAgICAgICAgICAvLyBCaXQg V2lkdGgKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgICAgICAgICAgICAgICAvLyBCaXQg T2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDQxNCwgLy8gQWRk cmVzcwogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFjY2Vz cyBTaXplCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgMHgwMTkwLCAKICAgICAgICAgICAg ICAgIDB4MDAwMDAwMDAKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoX0NT RCwgUGFja2FnZSAoMHgwMSkgIC8vIF9DU0Q6IEMtU3RhdGUgRGVwZW5kZW5jaWVzCiAgICAgICAg ewogICAgICAgICAgICBQYWNrYWdlICgweDA2KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAweDA2LCAKICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAw MSwgCiAgICAgICAgICAgICAgICAweDAwMDAwMEZFLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAw MDIsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMAogICAgICAgICAgICB9CiAgICAgICAgfSkK ICAgIH0KCiAgICBTY29wZSAoXF9QUi5DMDA0KQogICAgewogICAgICAgIE5hbWUgKF9QQ1QsIFBh Y2thZ2UgKDB4MDIpICAvLyBfUENUOiBQZXJmb3JtYW5jZSBDb250cm9sCiAgICAgICAgewogICAg ICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IFJlZ2lzdGVyIChGRml4ZWRIVywgCiAgICAgICAgICAgICAgICAgICAgMHg0MCwgICAgICAgICAg ICAgICAvLyBCaXQgV2lkdGgKICAgICAgICAgICAgICAgICAgICAweDAwLCAgICAgICAgICAgICAg IC8vIEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwQzAwMTAwNjIsIC8v IEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAsKQogICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmVn aXN0ZXIgKEZGaXhlZEhXLCAKICAgICAgICAgICAgICAgICAgICAweDQwLCAgICAgICAgICAgICAg IC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAgICAgICAgICAgLy8g Qml0IE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDAwMCwgLy8gQWRk cmVzcwogICAgICAgICAgICAgICAgICAgICwpCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAg ICAgIE5hbWUgKF9QU1MsIFBhY2thZ2UgKDB4MDMpICAvLyBfUFNTOiBQZXJmb3JtYW5jZSBTdXBw b3J0ZWQgU3RhdGVzCiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA2KQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDAwODM0LCAKICAgICAgICAgICAgICAgIDB4MDAw MDA5RkYsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAw MDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgw MDAwMDAwMAogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA2QTQsIAogICAgICAgICAgICAgICAgMHgw MDAwMDY0RiwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMSwgCiAgICAgICAgICAgICAgICAw eDAwMDAwMDAxCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNikKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAwMDU3OCwgCiAgICAgICAgICAgICAgICAw eDAwMDAwNEZELCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAg MHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAyLCAKICAgICAgICAgICAgICAg IDB4MDAwMDAwMDIKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoWFBTUywg UGFja2FnZSAoMHgwMykKICAgICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDgpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA4MzQsIAogICAgICAgICAgICAgICAgMHgw MDAwMDlGRiwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4u Li4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwg CgogICAgICAgICAgICBQYWNrYWdlICgweDA4KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAweDAwMDAwNkE0LCAKICAgICAgICAgICAgICAgIDB4MDAwMDA2NEYsIAogICAgICAgICAgICAg ICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAg ICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg MHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4u Li4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDEsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAg fSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAg IEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4u CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwOCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMDAwMDU3OCwgCiAgICAgICAg ICAgICAgICAweDAwMDAwNEZELCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAg ICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1 ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAg ICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfQogICAg ICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChfUFNELCBQYWNrYWdlICgweDAxKSAg Ly8gX1BTRDogUG93ZXIgU3RhdGUgRGVwZW5kZW5jaWVzCiAgICAgICAgewogICAgICAgICAgICBQ YWNrYWdlICgweDA1KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDA1LCAKICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMiwgCiAgICAgICAgICAg ICAgICAweDAwMDAwMEZFLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDIKICAgICAgICAgICAg fQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoUFBDViwgMHgwMCkKICAgICAgICBNZXRob2QgKF9Q UEMsIDAsIE5vdFNlcmlhbGl6ZWQpICAvLyBfUFBDOiBQZXJmb3JtYW5jZSBQcmVzZW50IENhcGFi aWxpdGllcwogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuIChQUENWKSAvKiBcX1BSXy5DMDA0 LlBQQ1YgKi8KICAgICAgICB9CgogICAgICAgIE5hbWUgKF9DU1QsIFBhY2thZ2UgKDB4MDMpICAv LyBfQ1NUOiBDLVN0YXRlcwogICAgICAgIHsKICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJlc291cmNlVGVt cGxhdGUgKCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAo RkZpeGVkSFcsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8v IEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8v IEJpdCBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwMDAwMDAwLCAv LyBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICwpCiAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgIDB4MDAwMSwgCiAgICAgICAg ICAgICAgICAweDAwMDAwMDAwCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyIChTeXN0ZW1JTywg CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgsICAgICAgICAgICAgICAgLy8gQml0IFdpZHRo CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAgICAgICAgICAgLy8gQml0IE9mZnNl dAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwMDAwMDA0MTQsIC8vIEFkZHJlc3MK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBY2Nlc3MgU2l6 ZQogICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgIDB4MDE5MCwgCiAgICAgICAgICAgICAgICAw eDAwMDAwMDAwCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKF9DU0QsIFBh Y2thZ2UgKDB4MDEpICAvLyBfQ1NEOiBDLVN0YXRlIERlcGVuZGVuY2llcwogICAgICAgIHsKICAg ICAgICAgICAgUGFja2FnZSAoMHgwNikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgw NiwgCiAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDIsIAog ICAgICAgICAgICAgICAgMHgwMDAwMDBGRSwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAyLCAK ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICB9 CgogICAgU2NvcGUgKFxfUFIuQzAwNSkKICAgIHsKICAgICAgICBOYW1lIChfUENULCBQYWNrYWdl ICgweDAyKSAgLy8gX1BDVDogUGVyZm9ybWFuY2UgQ29udHJvbAogICAgICAgIHsKICAgICAgICAg ICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZWdp c3RlciAoRkZpeGVkSFcsIAogICAgICAgICAgICAgICAgICAgIDB4NDAsICAgICAgICAgICAgICAg Ly8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgICAgICAgICAgICAgICAvLyBC aXQgT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMEMwMDEwMDYyLCAvLyBBZGRy ZXNzCiAgICAgICAgICAgICAgICAgICAgLCkKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBS ZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJlZ2lzdGVy IChGRml4ZWRIVywgCiAgICAgICAgICAgICAgICAgICAgMHg0MCwgICAgICAgICAgICAgICAvLyBC aXQgV2lkdGgKICAgICAgICAgICAgICAgICAgICAweDAwLCAgICAgICAgICAgICAgIC8vIEJpdCBP ZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwMDAwMDAwMDAsIC8vIEFkZHJlc3MK ICAgICAgICAgICAgICAgICAgICAsKQogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBO YW1lIChfUFNTLCBQYWNrYWdlICgweDAzKSAgLy8gX1BTUzogUGVyZm9ybWFuY2UgU3VwcG9ydGVk IFN0YXRlcwogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgwNikKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgMHgwMDAwMDgzNCwgCiAgICAgICAgICAgICAgICAweDAwMDAwOUZG LCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAw MCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAw MDAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA2KQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAweDAwMDAwNkE0LCAKICAgICAgICAgICAgICAgIDB4MDAwMDA2 NEYsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAw MDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEsIAogICAgICAgICAgICAgICAgMHgwMDAw MDAwMQogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA1NzgsIAogICAgICAgICAgICAgICAgMHgwMDAw MDRGRCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAw MDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMiwgCiAgICAgICAgICAgICAgICAweDAw MDAwMDAyCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKFhQU1MsIFBhY2th Z2UgKDB4MDMpCiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA4KQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAweDAwMDAwODM0LCAKICAgICAgICAgICAgICAgIDB4MDAwMDA5 RkYsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAw MDAwLCAKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4u LgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgUGFja2FnZSAoMHgwOCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgw MDAwMDZBNCwgCiAgICAgICAgICAgICAgICAweDAwMDAwNjRGLCAKICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICBC dWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDEs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgog ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZm ZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDgp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA1NzgsIAogICAgICAgICAgICAg ICAgMHgwMDAwMDRGRCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAg ICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAg IC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIg KDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoX1BTRCwgUGFja2FnZSAoMHgwMSkgIC8vIF9Q U0Q6IFBvd2VyIFN0YXRlIERlcGVuZGVuY2llcwogICAgICAgIHsKICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwNSwgCiAgICAgICAgICAg ICAgICAweDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDIsIAogICAgICAgICAgICAgICAg MHgwMDAwMDBGRSwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAyCiAgICAgICAgICAgIH0KICAg ICAgICB9KQogICAgICAgIE5hbWUgKFBQQ1YsIDB4MDApCiAgICAgICAgTWV0aG9kIChfUFBDLCAw LCBOb3RTZXJpYWxpemVkKSAgLy8gX1BQQzogUGVyZm9ybWFuY2UgUHJlc2VudCBDYXBhYmlsaXRp ZXMKICAgICAgICB7CiAgICAgICAgICAgIFJldHVybiAoUFBDVikgLyogXF9QUl8uQzAwNS5QUENW ICovCiAgICAgICAgfQoKICAgICAgICBOYW1lIChfQ1NULCBQYWNrYWdlICgweDAzKSAgLy8gX0NT VDogQy1TdGF0ZXMKICAgICAgICB7CiAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRl ICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKEZGaXhl ZEhXLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBCaXQg V2lkdGgKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBCaXQg T2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDAwMCwgLy8gQWRk cmVzcwogICAgICAgICAgICAgICAgICAgICAgICAsKQogICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAweDAwMDEsIAogICAgICAgICAgICAg ICAgMHgwMDAwMDAwMAogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIAogICAg ICAgICAgICAgICAgICAgICAgICAweDA4LCAgICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAg ICAgICAgICAgICAgICAgICAgICAweDAwLCAgICAgICAgICAgICAgIC8vIEJpdCBPZmZzZXQKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwMDAwNDE0LCAvLyBBZGRyZXNzCiAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWNjZXNzIFNpemUKICAg ICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgMHgwMiwgCiAgICAgICAgICAgICAgICAweDAxOTAsIAogICAgICAgICAgICAgICAgMHgwMDAw MDAwMAogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChfQ1NELCBQYWNrYWdl ICgweDAxKSAgLy8gX0NTRDogQy1TdGF0ZSBEZXBlbmRlbmNpZXMKICAgICAgICB7CiAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDYpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDYsIAog ICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAyLCAKICAgICAg ICAgICAgICAgIDB4MDAwMDAwRkUsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMiwgCiAgICAg ICAgICAgICAgICAweDAwMDAwMDAwCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgfQoKICAg IFNjb3BlIChcX1BSLkMwMDYpCiAgICB7CiAgICAgICAgTmFtZSAoX1BDVCwgUGFja2FnZSAoMHgw MikgIC8vIF9QQ1Q6IFBlcmZvcm1hbmNlIENvbnRyb2wKICAgICAgICB7CiAgICAgICAgICAgIFJl c291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmVnaXN0ZXIg KEZGaXhlZEhXLCAKICAgICAgICAgICAgICAgICAgICAweDQwLCAgICAgICAgICAgICAgIC8vIEJp dCBXaWR0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAgICAgICAgICAgLy8gQml0IE9m ZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBDMDAxMDA2MiwgLy8gQWRkcmVzcwog ICAgICAgICAgICAgICAgICAgICwpCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUmVzb3Vy Y2VUZW1wbGF0ZSAoKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZWdpc3RlciAoRkZp eGVkSFcsIAogICAgICAgICAgICAgICAgICAgIDB4NDAsICAgICAgICAgICAgICAgLy8gQml0IFdp ZHRoCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgICAgICAgICAgICAgICAvLyBCaXQgT2Zmc2V0 CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwMDAwMDAwLCAvLyBBZGRyZXNzCiAgICAg ICAgICAgICAgICAgICAgLCkKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAo X1BTUywgUGFja2FnZSAoMHgwMykgIC8vIF9QU1M6IFBlcmZvcm1hbmNlIFN1cHBvcnRlZCBTdGF0 ZXMKICAgICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIDB4MDAwMDA4MzQsIAogICAgICAgICAgICAgICAgMHgwMDAwMDlGRiwgCiAg ICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAog ICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwCiAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNikKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHgwMDAwMDZBNCwgCiAgICAgICAgICAgICAgICAweDAwMDAwNjRGLCAK ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwg CiAgICAgICAgICAgICAgICAweDAwMDAwMDAxLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEK ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA2KQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAweDAwMDAwNTc4LCAKICAgICAgICAgICAgICAgIDB4MDAwMDA0RkQs IAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAw LCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDIsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAw MgogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgICBOYW1lIChYUFNTLCBQYWNrYWdlICgw eDAzKQogICAgICAgIHsKICAgICAgICAgICAgUGFja2FnZSAoMHgwOCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgMHgwMDAwMDgzNCwgCiAgICAgICAgICAgICAgICAweDAwMDAwOUZGLCAK ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwg CiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVm ZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAg ICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDA2 QTQsIAogICAgICAgICAgICAgICAgMHgwMDAwMDY0RiwgCiAgICAgICAgICAgICAgICAweDAwMDAw MDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgQnVmZmVy ICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAxLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAv LyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgw eDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA4KQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDAwNTc4LCAKICAgICAgICAgICAgICAgIDB4 MDAwMDA0RkQsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAw eDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAgICAvLyAu Li4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgQnVmZmVyICgweDA4 KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4uLi4KICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0K ICAgICAgICB9KQogICAgICAgIE5hbWUgKF9QU0QsIFBhY2thZ2UgKDB4MDEpICAvLyBfUFNEOiBQ b3dlciBTdGF0ZSBEZXBlbmRlbmNpZXMKICAgICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDUsIAogICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAzLCAKICAgICAgICAgICAgICAgIDB4MDAw MDAwRkUsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMgogICAgICAgICAgICB9CiAgICAgICAg fSkKICAgICAgICBOYW1lIChQUENWLCAweDAwKQogICAgICAgIE1ldGhvZCAoX1BQQywgMCwgTm90 U2VyaWFsaXplZCkgIC8vIF9QUEM6IFBlcmZvcm1hbmNlIFByZXNlbnQgQ2FwYWJpbGl0aWVzCiAg ICAgICAgewogICAgICAgICAgICBSZXR1cm4gKFBQQ1YpIC8qIFxfUFJfLkMwMDYuUFBDViAqLwog ICAgICAgIH0KCiAgICAgICAgTmFtZSAoX0NTVCwgUGFja2FnZSAoMHgwMykgIC8vIF9DU1Q6IEMt U3RhdGVzCiAgICAgICAgewogICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyIChGRml4ZWRIVywg CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8gQml0IFdpZHRo CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8gQml0IE9mZnNl dAogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwMDAwMDAwMDAsIC8vIEFkZHJlc3MK ICAgICAgICAgICAgICAgICAgICAgICAgLCkKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgMHgwMDAxLCAKICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwOCwgICAgICAgICAgICAgICAvLyBCaXQgV2lkdGgKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMCwgICAgICAgICAgICAgICAvLyBCaXQgT2Zmc2V0CiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDQxNCwgLy8gQWRkcmVzcwogICAgICAgICAg ICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFjY2VzcyBTaXplCiAgICAgICAg ICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIDB4 MDIsIAogICAgICAgICAgICAgICAgMHgwMTkwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAK ICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoX0NTRCwgUGFja2FnZSAoMHgw MSkgIC8vIF9DU0Q6IEMtU3RhdGUgRGVwZW5kZW5jaWVzCiAgICAgICAgewogICAgICAgICAgICBQ YWNrYWdlICgweDA2KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDA2LCAKICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMywgCiAgICAgICAgICAg ICAgICAweDAwMDAwMEZFLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDIsIAogICAgICAgICAg ICAgICAgMHgwMDAwMDAwMAogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgIH0KCiAgICBTY29w ZSAoXF9QUi5DMDA3KQogICAgewogICAgICAgIE5hbWUgKF9QQ1QsIFBhY2thZ2UgKDB4MDIpICAv LyBfUENUOiBQZXJmb3JtYW5jZSBDb250cm9sCiAgICAgICAgewogICAgICAgICAgICBSZXNvdXJj ZVRlbXBsYXRlICgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJlZ2lzdGVyIChGRml4 ZWRIVywgCiAgICAgICAgICAgICAgICAgICAgMHg0MCwgICAgICAgICAgICAgICAvLyBCaXQgV2lk dGgKICAgICAgICAgICAgICAgICAgICAweDAwLCAgICAgICAgICAgICAgIC8vIEJpdCBPZmZzZXQK ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwQzAwMTAwNjIsIC8vIEFkZHJlc3MKICAgICAg ICAgICAgICAgICAgICAsKQogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFJlc291cmNlVGVt cGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmVnaXN0ZXIgKEZGaXhlZEhX LCAKICAgICAgICAgICAgICAgICAgICAweDQwLCAgICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAog ICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAgICAgICAgICAgLy8gQml0IE9mZnNldAogICAg ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDAwMCwgLy8gQWRkcmVzcwogICAgICAgICAg ICAgICAgICAgICwpCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKF9QU1Ms IFBhY2thZ2UgKDB4MDMpICAvLyBfUFNTOiBQZXJmb3JtYW5jZSBTdXBwb3J0ZWQgU3RhdGVzCiAg ICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA2KQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweDAwMDAwODM0LCAKICAgICAgICAgICAgICAgIDB4MDAwMDA5RkYsIAogICAgICAg ICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMAogICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIDB4MDAwMDA2QTQsIAogICAgICAgICAgICAgICAgMHgwMDAwMDY0RiwgCiAgICAg ICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAg ICAgICAgICAgICAgMHgwMDAwMDAwMSwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAxCiAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNikKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgMHgwMDAwMDU3OCwgCiAgICAgICAgICAgICAgICAweDAwMDAwNEZELCAKICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAg ICAgICAgICAgICAgICAweDAwMDAwMDAyLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDIKICAg ICAgICAgICAgfQogICAgICAgIH0pCiAgICAgICAgTmFtZSAoWFBTUywgUGFja2FnZSAoMHgwMykK ICAgICAgICB7CiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDgpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIDB4MDAwMDA4MzQsIAogICAgICAgICAgICAgICAgMHgwMDAwMDlGRiwgCiAgICAg ICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAg ICAgICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAg Ly8gLi4uLi4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAo MHgwOCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8g Li4uLi4uLi4KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgCgogICAgICAgICAgICBQ YWNrYWdlICgweDA4KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDAwNkE0LCAK ICAgICAgICAgICAgICAgIDB4MDAwMDA2NEYsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwg CiAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgw OCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMSwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4u Li4uLi4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwOCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgMHgwMDAwMDU3OCwgCiAgICAgICAgICAgICAgICAweDAwMDAw NEZELCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAw MDAwMCwgCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgQnVmZmVyICgweDA4KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAw eDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwICAgLy8gLi4uLi4u Li4KICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIEJ1ZmZlciAoMHgwOCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCAgIC8vIC4uLi4uLi4uCiAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICBCdWZmZXIgKDB4MDgpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAgICAvLyAuLi4uLi4uLgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAg ICAgfSkKICAgICAgICBOYW1lIChfUFNELCBQYWNrYWdlICgweDAxKSAgLy8gX1BTRDogUG93ZXIg U3RhdGUgRGVwZW5kZW5jaWVzCiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA1KQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDA1LCAKICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMywgCiAgICAgICAgICAgICAgICAweDAwMDAwMEZF LCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDIKICAgICAgICAgICAgfQogICAgICAgIH0pCiAg ICAgICAgTmFtZSAoUFBDViwgMHgwMCkKICAgICAgICBNZXRob2QgKF9QUEMsIDAsIE5vdFNlcmlh bGl6ZWQpICAvLyBfUFBDOiBQZXJmb3JtYW5jZSBQcmVzZW50IENhcGFiaWxpdGllcwogICAgICAg IHsKICAgICAgICAgICAgUmV0dXJuIChQUENWKSAvKiBcX1BSXy5DMDA3LlBQQ1YgKi8KICAgICAg ICB9CgogICAgICAgIE5hbWUgKF9DU1QsIFBhY2thZ2UgKDB4MDMpICAvLyBfQ1NUOiBDLVN0YXRl cwogICAgICAgIHsKICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAoRkZpeGVkSFcsIAogICAg ICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAg ICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIEJpdCBPZmZzZXQKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwMDAwMDAwLCAvLyBBZGRyZXNzCiAgICAg ICAgICAgICAgICAgICAgICAgICwpCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAg ICAweDAxLCAKICAgICAgICAgICAgICAgIDB4MDAwMSwgCiAgICAgICAgICAgICAgICAweDAwMDAw MDAwCiAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyIChTeXN0ZW1JTywgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDgsICAgICAgICAgICAgICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsICAgICAgICAgICAgICAgLy8gQml0IE9mZnNldAogICAgICAgICAgICAg ICAgICAgICAgICAweDAwMDAwMDAwMDAwMDA0MTQsIC8vIEFkZHJlc3MKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBY2Nlc3MgU2l6ZQogICAgICAgICAgICAg ICAgICAgICAgICApCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAweDAyLCAK ICAgICAgICAgICAgICAgIDB4MDE5MCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwCiAgICAg ICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKF9DU0QsIFBhY2thZ2UgKDB4MDEpICAv LyBfQ1NEOiBDLVN0YXRlIERlcGVuZGVuY2llcwogICAgICAgIHsKICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwNiwgCiAgICAgICAgICAg ICAgICAweDAwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDMsIAogICAgICAgICAgICAgICAg MHgwMDAwMDBGRSwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDAyLCAKICAgICAgICAgICAgICAg IDB4MDAwMDAwMDAKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICB9CgogICAgU2NvcGUgKFxf U0IuUENJMC5HUDE3LlZHQSkKICAgIHsKICAgICAgICBOYW1lIChNMjA3LCBCdWZmZXIgKDB4RkYp e30pCiAgICAgICAgTmFtZSAoTTIwOCwgQnVmZmVyICgweDAzKXt9KQogICAgICAgIE5hbWUgKE0y MDQsIDB4MDEpCiAgICAgICAgTWV0aG9kIChBVENTLCAyLCBTZXJpYWxpemVkKQogICAgICAgIHsK ICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDApKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBBVEMwICgpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAx KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQVRDMSAoKQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIEFUQzIgKEFyZzEpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAw eDAzKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQVRDMyAoKQogICAgICAgICAgICB9 CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwNCkpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIEFUQzQgKEFyZzEpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9 PSAweDA2KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQVRDNiAoQXJnMSkKICAgICAg ICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDcpKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBBVEM3IChBcmcxKQogICAgICAgICAgICB9CgogICAgICAgICAgICBSZXR1 cm4gKE0yMDcpIC8qIFxfU0JfLlBDSTAuR1AxNy5WR0FfLk0yMDcgKi8KICAgICAgICB9CgogICAg ICAgIE1ldGhvZCAoQVRDMCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoTTIwNywgMHgwMCwgTTE1NykKICAgICAgICAgICAgQ3JlYXRlV29y ZEZpZWxkIChNMjA3LCAweDAyLCBNMTU4KQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChN MjA3LCAweDA0LCBNMTYwKQogICAgICAgICAgICBNMTU3ID0gMHgwOAogICAgICAgICAgICBNMTU4 ID0gMHgwMQogICAgICAgICAgICBNMTYwID0gMHg2RgogICAgICAgICAgICBNMjA3ID0gXF9TQi5B TElCICgweDAwLCBNMjA3KQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChBVEMxLCAwLCBTZXJp YWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChNMjA3LCAweDAw LCBNMTU3KQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChNMjA3LCAweDAyLCBNMTYxKQog ICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChNMjA3LCAweDA2LCBNMTYyKQogICAgICAgICAg ICBDcmVhdGVGaWVsZCAoTTIwNywgMHgzMCwgMHgwMSwgTTIwMykKICAgICAgICAgICAgTTE1NyA9 IDB4MEEKICAgICAgICAgICAgTTE2MSA9IDB4MDEKICAgICAgICAgICAgTTE2MiA9IE0xMDAgLyog XE0xMDAgKi8KICAgICAgICAgICAgTG9jYWwwID0gTTA0OSAoTTEzMywgMHgxNSkKICAgICAgICAg ICAgSWYgKChMb2NhbDAgJiAweDgwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTTIw NCA9IChMb2NhbDAgJiAweDAxKQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2VJZiAoKExv Y2FsMCAmIDB4N0YpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBNMjA0ID0gTTExMyAo TG9jYWwwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBNMjAzID0gTTIwNCAvKiBcX1NCXy5Q Q0kwLkdQMTcuVkdBXy5NMjA0ICovCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEFUQzIsIDEs IFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKE0yMDcs IDB4MDAsIE0xNTcpCiAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoTTIwNywgMHgwMiwgTTIw NSkKICAgICAgICAgICAgTTE1NyA9IDB4MDMKICAgICAgICAgICAgTTIwNSA9IDB4MDEKICAgICAg ICAgICAgTTIwNyA9IFxfU0IuQUxJQiAoMHgwMiwgQXJnMCkKICAgICAgICB9CgogICAgICAgIE1l dGhvZCAoQVRDMywgMCwgU2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZVdv cmRGaWVsZCAoTTIwNywgMHgwMCwgTTE1NykKICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChN MjA3LCAweDAyLCBNMjA1KQogICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKE0yMDgsIDB4MDAs IE0xOTcpCiAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoTTIwOCwgMHgwMiwgTTIwNikKICAg ICAgICAgICAgTTE1NyA9IDB4MDMKICAgICAgICAgICAgTTIwNSA9IDB4MDEKICAgICAgICAgICAg TTE5NyA9IDB4MDMKICAgICAgICAgICAgTTIwNiA9IDB4MDEKICAgICAgICAgICAgTTIwNyA9IFxf U0IuQUxJQiAoMHgwMywgTTIwOCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQVRDNCwgMSwg U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTTIwNywg MHgwMCwgTTE1NykKICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChNMjA3LCAweDAyLCBNMjA5 KQogICAgICAgICAgICBNMTU3ID0gMHgwMwogICAgICAgICAgICBNMjA5ID0gMHgwMQogICAgICAg ICAgICBNMjA3ID0gXF9TQi5BTElCICgweDA0LCBBcmcwKQogICAgICAgIH0KCiAgICAgICAgTWV0 aG9kIChBVEM2LCAxLCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlV29y ZEZpZWxkIChNMjA3LCAweDAwLCBNMTU3KQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChN MjA3LCAweDAyLCBNMjM0KQogICAgICAgICAgICBNMTU3ID0gMHgwNgogICAgICAgICAgICBNMjM0 ID0gTTIzMyAvKiBcTTIzMyAqLwogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChBVEM3LCAxLCBT ZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTTIzMiAoTTIzNSwgMHgwMCwgMHgwMSkK ICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoWFRSTSwgMiwgU2VyaWFsaXplZCkKICAgICAgICB7 CiAgICAgICAgICAgIElmICgoTTEwNSA9PSAweDAwKSkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgUmV0dXJuIChCdWZmZXIgKDB4MDEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgIDB4MDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyAuCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAgICAgICAgICBMb2Nh bDQgPSBNMTA1IC8qIFxNMTA1ICovCiAgICAgICAgICAgIElmICgoTG9jYWw0ID4gMHgwMDAxMDAw MCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsNCA9IDB4MDAwMTAwMDAKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgTG9jYWw1ID0gQXJnMAogICAgICAgICAgICBMb2NhbDYg PSBBcmcxCiAgICAgICAgICAgIElmICgoTG9jYWw2ID4gMHgxMDAwKSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTG9jYWw2ID0gMHgxMDAwCiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IElmICgoTG9jYWw1ID4gTG9jYWw0KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0 dXJuIChCdWZmZXIgKExvY2FsNikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgMHgwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4K ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoKChMb2Nh bDUgJiAweDBGRkYpICsgTG9jYWw2KSA+IDB4MTAwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIExvY2FsNiA9ICgweDEwMDAgLSAoTG9jYWw1ICYgMHgwRkZGKSkKICAgICAgICAgICAg fQoKICAgICAgICAgICAgTmFtZSAoTTIwMiwgQnVmZmVyICgweDEwMDApCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAweDAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLy8gLgogICAgICAgICAgICB9KQogICAgICAgICAgICBJZiAoKChMb2NhbDUgJiAw eEYwMDApID09IDB4MDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBNMjAyID0gTTEw NiAvKiBcTTEwNiAqLwogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2VJZiAoKChMb2NhbDUg JiAweEYwMDApID09IDB4MTAwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE0yMDIg PSBNMzc4IC8qIFxNMzc4ICovCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZUlmICgoKExv Y2FsNSAmIDB4RjAwMCkgPT0gMHgyMDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg TTIwMiA9IE0zNzkgLyogXE0zNzkgKi8KICAgICAgICAgICAgfQogICAgICAgICAgICBFbHNlSWYg KCgoTG9jYWw1ICYgMHhGMDAwKSA9PSAweDMwMDApKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBNMjAyID0gTTM4MCAvKiBcTTM4MCAqLwogICAgICAgICAgICB9CiAgICAgICAgICAgIEVs c2VJZiAoKChMb2NhbDUgJiAweEYwMDApID09IDB4NDAwMCkpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIE0yMDIgPSBNMzgxIC8qIFxNMzgxICovCiAgICAgICAgICAgIH0KICAgICAgICAg ICAgRWxzZUlmICgoKExvY2FsNSAmIDB4RjAwMCkgPT0gMHg1MDAwKSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTTIwMiA9IE0zODIgLyogXE0zODIgKi8KICAgICAgICAgICAgfQogICAg ICAgICAgICBFbHNlSWYgKCgoTG9jYWw1ICYgMHhGMDAwKSA9PSAweDYwMDApKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBNMjAyID0gTTM4MyAvKiBcTTM4MyAqLwogICAgICAgICAgICB9 CiAgICAgICAgICAgIEVsc2VJZiAoKChMb2NhbDUgJiAweEYwMDApID09IDB4NzAwMCkpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIE0yMDIgPSBNMzg0IC8qIFxNMzg0ICovCiAgICAgICAg ICAgIH0KICAgICAgICAgICAgRWxzZUlmICgoKExvY2FsNSAmIDB4RjAwMCkgPT0gMHg4MDAwKSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTTIwMiA9IE0zODUgLyogXE0zODUgKi8KICAg ICAgICAgICAgfQogICAgICAgICAgICBFbHNlSWYgKCgoTG9jYWw1ICYgMHhGMDAwKSA9PSAweDkw MDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBNMjAyID0gTTM4NiAvKiBcTTM4NiAq LwogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2VJZiAoKChMb2NhbDUgJiAweEYwMDApID09 IDB4QTAwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE0yMDIgPSBNMzg3IC8qIFxN Mzg3ICovCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZUlmICgoKExvY2FsNSAmIDB4RjAw MCkgPT0gMHhCMDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTTIwMiA9IE0zODgg LyogXE0zODggKi8KICAgICAgICAgICAgfQogICAgICAgICAgICBFbHNlSWYgKCgoTG9jYWw1ICYg MHhGMDAwKSA9PSAweEMwMDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBNMjAyID0g TTM4OSAvKiBcTTM4OSAqLwogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2VJZiAoKChMb2Nh bDUgJiAweEYwMDApID09IDB4RDAwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE0y MDIgPSBNMzkwIC8qIFxNMzkwICovCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZUlmICgo KExvY2FsNSAmIDB4RjAwMCkgPT0gMHhFMDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgTTIwMiA9IE0zOTEgLyogXE0zOTEgKi8KICAgICAgICAgICAgfQogICAgICAgICAgICBFbHNl SWYgKCgoTG9jYWw1ICYgMHhGMDAwKSA9PSAweEYwMDApKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBNMjAyID0gTTM5MiAvKiBcTTM5MiAqLwogICAgICAgICAgICB9CgogICAgICAgICAg ICBJZiAoKChMb2NhbDUgKyBMb2NhbDYpIDw9IExvY2FsNCkpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIElmICgoTG9jYWw2ID09IDB4MTAwMCkpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChNMjAyKSAvKiBcX1NCXy5QQ0kwLkdQMTcuVkdBXy5YVFJN Lk0yMDIgKi8KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBFbHNl CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsNiA9IChMb2NhbDQgLSBMb2NhbDUp CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKE0zOTMsIEJ1ZmZlciAoTG9jYWw2KQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgMHgwMCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIC4KICAgICAgICAgICAgfSkKICAgICAgICAgICAgQ3Jl YXRlRmllbGQgKE0yMDIsICgoTG9jYWw1ICYgMHgwRkZGKSAqIDB4MDgpLCAoTG9jYWw2ICogMHgw OAogICAgICAgICAgICAgICAgKSwgTTM5NCkKICAgICAgICAgICAgTTM5MyA9IE0zOTQgLyogXF9T Ql8uUENJMC5HUDE3LlZHQV8uWFRSTS5NMzk0ICovCiAgICAgICAgICAgIFJldHVybiAoTTM5Mykg LyogXF9TQl8uUENJMC5HUDE3LlZHQV8uWFRSTS5NMzkzICovCiAgICAgICAgfQogICAgfQoKICAg IE1ldGhvZCAoQUZOMCwgMCwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoKE0wODcgPT0g MHgwMCkpCiAgICAgICAgewogICAgICAgICAgICBJZiAoQ29uZFJlZk9mIChcX1NCLlBDSTAuR1Ax Ny5WR0EuQUZOMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0IuUENJMC5HUDE3 LlZHQS5BRk4wICgpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIElmICgoTTA4NyA9 PSAweDAxKSkKICAgICAgICB7CiAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfU0IuUENJMC5Q QjIuVkdBLkFGTjApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBcX1NCLlBDSTAuUEIy LlZHQS5BRk4wICgpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxf U0IuUENJMC5QQjIuU1dVUy5TV0RTLlZHQS5BRk4wKSkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgXF9TQi5QQ0kwLlBCMi5TV1VTLlNXRFMuVkdBLkFGTjAgKCkKICAgICAgICAgICAgfQog ICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKEFGTjEsIDEsIFNlcmlhbGl6ZWQpCiAgICB7CiAg ICAgICAgSWYgKChNMDg3ID09IDB4MDApKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKENvbmRS ZWZPZiAoXF9TQi5QQ0kwLkdQMTcuVkdBLkFGTjEpKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBcX1NCLlBDSTAuR1AxNy5WR0EuQUZOMSAoQXJnMCkKICAgICAgICAgICAgfQogICAgICAg IH0KCiAgICAgICAgSWYgKChNMDg3ID09IDB4MDEpKQogICAgICAgIHsKICAgICAgICAgICAgSWYg KENvbmRSZWZPZiAoXF9TQi5QQ0kwLlBCMi5WR0EuQUZOMSkpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIFxfU0IuUENJMC5QQjIuVkdBLkFGTjEgKEFyZzApCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfU0IuUENJMC5QQjIuU1dVUy5TV0RTLlZHQS5BRk4x KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlBCMi5TV1VTLlNXRFMu VkdBLkFGTjEgKEFyZzApCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgTWV0aG9k IChBRk4yLCAyLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIElmICgoTTA4NyA9PSAweDAwKSkK ICAgICAgICB7CiAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfU0IuUENJMC5HUDE3LlZHQS5B Rk4yKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkdQMTcuVkdBLkFG TjIgKEFyZzAsIEFyZzEpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIElmICgoTTA4 NyA9PSAweDAxKSkKICAgICAgICB7CiAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfU0IuUENJ MC5QQjIuVkdBLkFGTjIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBcX1NCLlBDSTAu UEIyLlZHQS5BRk4yIChBcmcwLCBBcmcxKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAo Q29uZFJlZk9mIChcX1NCLlBDSTAuUEIyLlNXVVMuU1dEUy5WR0EuQUZOMikpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIFxfU0IuUENJMC5QQjIuU1dVUy5TV0RTLlZHQS5BRk4yIChBcmcw LCBBcmcxKQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIE1ldGhvZCAoQUZOMywg MiwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoKE0wODcgPT0gMHgwMCkpCiAgICAgICAg ewogICAgICAgICAgICBJZiAoQ29uZFJlZk9mIChcX1NCLlBDSTAuR1AxNy5WR0EuQUZOMykpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0IuUENJMC5HUDE3LlZHQS5BRk4zIChBcmcw LCBBcmcxKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBJZiAoKE0wODcgPT0gMHgw MSkpCiAgICAgICAgewogICAgICAgICAgICBJZiAoQ29uZFJlZk9mIChcX1NCLlBDSTAuUEIyLlZH QS5BRk4zKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlBCMi5WR0Eu QUZOMyAoQXJnMCwgQXJnMSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKENvbmRSZWZP ZiAoXF9TQi5QQ0kwLlBCMi5TV1VTLlNXRFMuVkdBLkFGTjMpKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBcX1NCLlBDSTAuUEIyLlNXVVMuU1dEUy5WR0EuQUZOMyAoQXJnMCwgQXJnMSkK ICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKEFGTjQsIDEsIFNlcmlh bGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKChNMDg3ID09IDB4MDApKQogICAgICAgIHsKICAgICAg ICAgICAgSWYgKENvbmRSZWZPZiAoXF9TQi5QQ0kwLkdQMTcuVkdBLkFGTjQpKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBcX1NCLlBDSTAuR1AxNy5WR0EuQUZONCAoQXJnMCkKICAgICAg ICAgICAgfQogICAgICAgIH0KCiAgICAgICAgSWYgKChNMDg3ID09IDB4MDEpKQogICAgICAgIHsK ICAgICAgICAgICAgSWYgKENvbmRSZWZPZiAoXF9TQi5QQ0kwLlBCMi5WR0EuQUZONCkpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0IuUENJMC5QQjIuVkdBLkFGTjQgKEFyZzApCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfU0IuUENJMC5QQjIuU1dV Uy5TV0RTLlZHQS5BRk40KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5QQ0kw LlBCMi5TV1VTLlNXRFMuVkdBLkFGTjQgKEFyZzApCiAgICAgICAgICAgIH0KICAgICAgICB9CiAg ICB9CgogICAgTWV0aG9kIChBRk41LCAwLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIElmICgo TTA4NyA9PSAweDAwKSkKICAgICAgICB7CiAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfU0Iu UENJMC5HUDE3LlZHQS5BRk41KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5Q Q0kwLkdQMTcuVkdBLkFGTjUgKCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgSWYg KChNMDg3ID09IDB4MDEpKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKENvbmRSZWZPZiAoXF9T Qi5QQ0kwLlBCMi5WR0EuQUZONSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0Iu UENJMC5QQjIuVkdBLkFGTjUgKCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKENvbmRS ZWZPZiAoXF9TQi5QQ0kwLlBCMi5TV1VTLlNXRFMuVkdBLkFGTjUpKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBcX1NCLlBDSTAuUEIyLlNXVVMuU1dEUy5WR0EuQUZONSAoKQogICAgICAg ICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIE1ldGhvZCAoQUZONiwgMCwgU2VyaWFsaXplZCkK ICAgIHsKICAgICAgICBJZiAoKE0wODcgPT0gMHgwMCkpCiAgICAgICAgewogICAgICAgICAgICBJ ZiAoQ29uZFJlZk9mIChcX1NCLlBDSTAuR1AxNy5WR0EuQUZONikpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFxfU0IuUENJMC5HUDE3LlZHQS5BRk42ICgpCiAgICAgICAgICAgIH0KICAg ICAgICB9CgogICAgICAgIElmICgoTTA4NyA9PSAweDAxKSkKICAgICAgICB7CiAgICAgICAgICAg IElmIChDb25kUmVmT2YgKFxfU0IuUENJMC5QQjIuVkdBLkFGTjYpKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBcX1NCLlBDSTAuUEIyLlZHQS5BRk42ICgpCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfU0IuUENJMC5QQjIuU1dVUy5TV0RTLlZHQS5BRk42 KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlBCMi5TV1VTLlNXRFMu VkdBLkFGTjYgKCkKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKEFG TjcsIDEsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKChNMDg3ID09IDB4MDApKQogICAg ICAgIHsKICAgICAgICAgICAgSWYgKENvbmRSZWZPZiAoXF9TQi5QQ0kwLkdQMTcuVkdBLkFGTjcp KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBcX1NCLlBDSTAuR1AxNy5WR0EuQUZONyAo QXJnMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgSWYgKChNMDg3ID09IDB4MDEp KQogICAgICAgIHsKICAgICAgICAgICAgSWYgKENvbmRSZWZPZiAoXF9TQi5QQ0kwLlBCMi5WR0Eu QUZONykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0IuUENJMC5QQjIuVkdBLkFG TjcgKEFyZzApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfU0Iu UENJMC5QQjIuU1dVUy5TV0RTLlZHQS5BRk43KSkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgXF9TQi5QQ0kwLlBCMi5TV1VTLlNXRFMuVkdBLkFGTjcgKEFyZzApCiAgICAgICAgICAgIH0K ICAgICAgICB9CiAgICB9CgogICAgTWV0aG9kIChBRk44LCAwLCBTZXJpYWxpemVkKQogICAgewog ICAgICAgIElmIChDb25kUmVmT2YgKFxfU0IuUENJMC5QQjIuVkdBLkFGTjgpKQogICAgICAgIHsK ICAgICAgICAgICAgXF9TQi5QQ0kwLlBCMi5WR0EuQUZOOCAoKQogICAgICAgIH0KCiAgICAgICAg SWYgKENvbmRSZWZPZiAoXF9TQi5QQ0kwLlBCMi5TV1VTLlNXRFMuVkdBLkFGTjgpKQogICAgICAg IHsKICAgICAgICAgICAgXF9TQi5QQ0kwLlBCMi5TV1VTLlNXRFMuVkdBLkFGTjggKCkKICAgICAg ICB9CiAgICB9CgogICAgTWV0aG9kIChBRk5DLCAyLCBTZXJpYWxpemVkKQogICAgewogICAgICAg IElmICgoTTA4NyA9PSAweDAwKSkKICAgICAgICB7CiAgICAgICAgICAgIElmIChDb25kUmVmT2Yg KFxfU0IuUENJMC5HUDE3LlZHQS5BRk5DKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg XF9TQi5QQ0kwLkdQMTcuVkdBLkFGTkMgKEFyZzAsIEFyZzEpCiAgICAgICAgICAgIH0KICAgICAg ICB9CgogICAgICAgIElmICgoTTA4NyA9PSAweDAxKSkKICAgICAgICB7CiAgICAgICAgICAgIElm IChDb25kUmVmT2YgKFxfU0IuUENJMC5QQjIuVkdBLkFGTkMpKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBcX1NCLlBDSTAuUEIyLlZHQS5BRk5DIChBcmcwLCBBcmcxKQogICAgICAgICAg ICB9CgogICAgICAgICAgICBJZiAoQ29uZFJlZk9mIChcX1NCLlBDSTAuUEIyLlNXVVMuU1dEUy5W R0EuQUZOQykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0IuUENJMC5QQjIuU1dV Uy5TV0RTLlZHQS5BRk5DIChBcmcwLCBBcmcxKQogICAgICAgICAgICB9CiAgICAgICAgfQogICAg fQoKICAgIFNjb3BlIChcX1NCKQogICAgewogICAgICAgIE5hbWUgKE1BQ08sIDB4MDApCiAgICB9 CgogICAgU2NvcGUgKFxfU0IuUENJMC5HUDE3LlZHQSkKICAgIHsKICAgICAgICBOYW1lIChNMTg5 LCBCdWZmZXIgKDB4MDEwMCl7fSkKICAgICAgICBOYW1lIChNMTkwLCAweEZGRkZGRkZGKQogICAg ICAgIE5hbWUgKE0xOTEsIDB4RkZGRkZGRkYpCiAgICAgICAgTWV0aG9kIChBVFBYLCAyLCBTZXJp YWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDApKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBYMDAgKCkpCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIElmICgoQXJnMCA9PSAweDAxKSkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgUmV0dXJuIChQWDAxICgpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAg PT0gMHgwMikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFBYMDIgKERlcmVmT2YgKEFy ZzEgWzB4MDJdKSkKICAgICAgICAgICAgICAgIFJldHVybiAoTTE4OSkgLyogXF9TQl8uUENJMC5H UDE3LlZHQV8uTTE4OSAqLwogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0g MHgwMykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFBYMDMgKERlcmVmT2YgKEFyZzEg WzB4MDJdKSkKICAgICAgICAgICAgICAgIFJldHVybiAoTTE4OSkgLyogXF9TQl8uUENJMC5HUDE3 LlZHQV8uTTE4OSAqLwogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgw NCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFBYMDQgKERlcmVmT2YgKEFyZzEgWzB4 MDJdKSkKICAgICAgICAgICAgICAgIFJldHVybiAoTTE4OSkgLyogXF9TQl8uUENJMC5HUDE3LlZH QV8uTTE4OSAqLwogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwOCkp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUFgwOCAoKSkKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MDkpKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBSZXR1cm4gKFBYMDkgKCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElm ICgoQXJnMCA9PSAweDBBKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUFgxMCAoRGVy ZWZPZiAoQXJnMSBbMHgwMl0pKQogICAgICAgICAgICAgICAgUmV0dXJuIChNMTg5KSAvKiBcX1NC Xy5QQ0kwLkdQMTcuVkdBXy5NMTg5ICovCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgo QXJnMCA9PSAweDBCKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUFgxMSAoRGVyZWZP ZiAoQXJnMSBbMHgwMl0pKQogICAgICAgICAgICAgICAgUmV0dXJuIChNMTg5KSAvKiBcX1NCXy5Q Q0kwLkdQMTcuVkdBXy5NMTg5ICovCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIENyZWF0ZVdv cmRGaWVsZCAoTTE4OSwgMHgwMCwgTTE1NykKICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChN MTg5LCAweDAyLCBNMTU4KQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChNMTg5LCAweDA0 LCBNMTYwKQogICAgICAgICAgICBNMTU3ID0gMHgwMAogICAgICAgICAgICBNMTU4ID0gMHgwMAog ICAgICAgICAgICBNMTYwID0gMHgwMAogICAgICAgICAgICBSZXR1cm4gKE0xODkpIC8qIFxfU0Jf LlBDSTAuR1AxNy5WR0FfLk0xODkgKi8KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoUFgwMCwg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo TTE4OSwgMHgwMCwgTTE1NykKICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChNMTg5LCAweDAy LCBNMTU4KQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChNMTg5LCAweDA0LCBNMTYwKQog ICAgICAgICAgICBNMTU3ID0gMHgwOAogICAgICAgICAgICBNMTU4ID0gMHgwMQogICAgICAgICAg ICBNMTYwID0gTTA5OCAvKiBcTTA5OCAqLwogICAgICAgICAgICBJZiAoTTA5OCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgTG9jYWw1ID0gMHg3RkZGRkZGRgogICAgICAgICAgICAgICAg TG9jYWw1IHw9IDB4ODAwMDAwMDAKICAgICAgICAgICAgICAgIExvY2FsMCA9IE0wMTkgKE0wOTUs IE0wOTQsIE0wOTMsIDB4MkMpCiAgICAgICAgICAgICAgICBMb2NhbDEgPSBNMDE5IChNMDk1LCBN MDk0LCAoTTA5MyArIDB4MDEpLCAweDJDKQogICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgIT0g TG9jYWw1KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNMTkwID0gTG9j YWwwCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKChMb2NhbDEgIT0gTG9j YWw1KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNMTkxID0gTG9jYWwx CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFJldHVybiAoTTE4 OSkgLyogXF9TQl8uUENJMC5HUDE3LlZHQV8uTTE4OSAqLwogICAgICAgIH0KCiAgICAgICAgTWV0 aG9kIChQWDAxLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRl V29yZEZpZWxkIChNMTg5LCAweDAwLCBNMTU3KQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxk IChNMTg5LCAweDAyLCBNMTYxKQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChNMTg5LCAw eDA2LCBNMTYyKQogICAgICAgICAgICBNMTU3ID0gMHgwQQogICAgICAgICAgICBNMTYxID0gMHgw MDAzRkM4MAogICAgICAgICAgICBNMTYyID0gTTA5OSAvKiBcTTA5OSAqLwogICAgICAgICAgICBS ZXR1cm4gKE0xODkpIC8qIFxfU0JfLlBDSTAuR1AxNy5WR0FfLk0xODkgKi8KICAgICAgICB9Cgog ICAgICAgIE1ldGhvZCAoUFgwMiwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAg ICAgIENyZWF0ZVdvcmRGaWVsZCAoTTE4OSwgMHgwMCwgTTE1NykKICAgICAgICAgICAgQ3JlYXRl Qnl0ZUZpZWxkIChNMTg5LCAweDAyLCBNMTkyKQogICAgICAgICAgICBNMTU3ID0gMHgwMwogICAg ICAgICAgICBNMTkyID0gKEFyZzAgJiAweDAxKQogICAgICAgICAgICBMb2NhbDcgPSBCdWZmZXIg KDB4MDUpe30KICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChMb2NhbDcsIDB4MDAsIE0xOTcp CiAgICAgICAgICAgIENyZWF0ZUZpZWxkIChMb2NhbDcsIDB4MTAsIDB4MDMsIE0yMDApCiAgICAg ICAgICAgIENyZWF0ZUZpZWxkIChMb2NhbDcsIDB4MTMsIDB4MDUsIE0xOTkpCiAgICAgICAgICAg IENyZWF0ZUJ5dGVGaWVsZCAoTG9jYWw3LCAweDAzLCBNMTk4KQogICAgICAgICAgICBDcmVhdGVC eXRlRmllbGQgKExvY2FsNywgMHgwNCwgTTIwMSkKICAgICAgICAgICAgTTE5NyA9IDB4MDUKICAg ICAgICAgICAgTTE5OCA9IDB4MDAKICAgICAgICAgICAgTTE5OSA9IE0wOTEgLyogXE0wOTEgKi8K ICAgICAgICAgICAgTTIwMCA9IE0wOTAgLyogXE0wOTAgKi8KICAgICAgICAgICAgTmFtZSAoSFBP SywgMHgwMCkKICAgICAgICAgICAgTG9jYWwwID0gTTA0OSAoTTEzMywgMHgxMSkKICAgICAgICAg ICAgTG9jYWw2ID0gTTExMyAoTG9jYWwwKQogICAgICAgICAgICBNMDIzICgweDAwLCBNMDkxLCBN MDkwKQogICAgICAgICAgICBJZiAoKE0xOTIgJiYgTG9jYWw2KSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgTTAwMCAoMHg4NikKICAgICAgICAgICAgICAgIE0xMTIgKExvY2FsMCwgMHgw MCkKICAgICAgICAgICAgICAgIE0xMTEgKExvY2FsMCwgMHgwMSkKICAgICAgICAgICAgICAgIFNs ZWVwICgweDIwKQogICAgICAgICAgICAgICAgTTExMiAoTG9jYWwwLCAweDAyKQogICAgICAgICAg ICAgICAgTTExMiAoTG9jYWwwLCAweDAxKQogICAgICAgICAgICAgICAgTTAwMCAoMHg4NykKICAg ICAgICAgICAgICAgIEhQT0sgPSAweDAwCiAgICAgICAgICAgICAgICBTbGVlcCAoMHgxNCkKICAg ICAgICAgICAgICAgIE0yMDEgPSAweDAxCiAgICAgICAgICAgICAgICBMb2NhbDYgPSBcX1NCLkFM SUIgKDB4MDYsIExvY2FsNykKICAgICAgICAgICAgICAgIExvY2FsMiA9IDB4MDAKICAgICAgICAg ICAgICAgIFdoaWxlICgoTG9jYWwyIDwgMHgwRikpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgTTAyMyAoMHgwMCwgTTA5MSwgTTA5MCkKICAgICAgICAgICAgICAgICAgICBM b2NhbDQgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgTG9jYWw1ID0gMHhDOAogICAgICAgICAg ICAgICAgICAgIFdoaWxlICgoTG9jYWw0ICYmIExvY2FsNSkpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBNMDIxICgweDAwLCBNMDkxLCBNMDkw LCAweEE1KQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgJj0gMHg3RgogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoKChMb2NhbDAgPj0gMHgxMCkgJiYgKExvY2FsMCAhPSAweDdGKSkp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExv Y2FsNCA9IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFNsZWVwICgweDA1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw1LS0K ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgSWYgKCFMb2NhbDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDUgPSBNMDI0ICgweDAwLCBNMDkxLCBNMDkwKQogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTG9jYWw1KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBNMDI2ICgweDAwLCBNMDkxLCBNMDkwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDIrKwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgTG9jYWwwID0gMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChNMDI1 ICgweDAwLCBNMDkxLCBNMDkwKSA9PSBPbmVzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSAweDAxCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBNMTExIChNMDQ5IChNMTMzLCAweDE3KSwgMHgwMSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBNMTExIChNMDQ5IChNMTMzLCAweDE4KSwgMHgwMSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBIUE9LID0gMHgwMQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsMiA9IDB4MTAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIUE9LID0gMHgwMAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IDB4MTAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDIgPSAweDEwCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmICghSFBPSykKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBNMDAwICgweDg4KQogICAgICAgICAgICAgICAgICAgIExvY2Fs MSA9IE0wMTkgKE0wOTUsIE0wOTQsIE0wOTMsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgU2xl ZXAgKDB4MEEpCiAgICAgICAgICAgICAgICAgICAgTG9jYWw0ID0gMHgwMQogICAgICAgICAgICAg ICAgICAgIExvY2FsNSA9IDB4MDUKICAgICAgICAgICAgICAgICAgICBXaGlsZSAoKExvY2FsNCAm JiBMb2NhbDUpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWwwID0gTTAyMSAoMHgwMCwgTTA5MSwgTTA5MCwgMHhBNSkKICAgICAgICAgICAgICAgICAg ICAgICAgTG9jYWwwICY9IDB4N0YKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKCgoTG9jYWww IDw9IDB4MDQpIHx8IChMb2NhbDAgPT0gMHgxRikpKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDQgPSAweDAwCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBNMDE5IChNMDk1 LCBNMDk0LCBNMDkzLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4 MDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDUtLQogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNMjAx ID0gMHgwMAogICAgICAgICAgICAgICAgICAgIFxfU0IuQUxJQiAoMHgwNiwgTG9jYWw3KQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmICgoTTA5NyAhPSAweDAwKSkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBNMDE5ICgweDAwLCBNMDkx LCBNMDkwLCAweDU0KQogICAgICAgICAgICAgICAgICAgIE0wMjAgKDB4MDAsIE0wOTEsIE0wOTAs IDB4NTQsIChMb2NhbDAgJiAweEZGRkY3RkZDKSkKICAgICAgICAgICAgICAgICAgICBNMjMyIChN MDk3LCAweDAwLCAweDEwKQogICAgICAgICAgICAgICAgICAgIE0wMjAgKDB4MDAsIE0wOTEsIE0w OTAsIDB4NTQsIChMb2NhbDAgJiAweEZGRkY3RkZGKSkKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNMDAwICgweDg5KQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgTTAwMCAoMHg4QSkKICAgICAgICAgICAgICAgIE0y MDEgPSAweDAwCiAgICAgICAgICAgICAgICBcX1NCLkFMSUIgKDB4MDYsIExvY2FsNykKICAgICAg ICAgICAgICAgIE0wMDAgKDB4OEIpCiAgICAgICAgICAgICAgICBNMTExIChNMDQ5IChNMTMzLCAw eDE3KSwgMHgwMCkKICAgICAgICAgICAgICAgIE0xMTEgKE0wNDkgKE0xMzMsIDB4MTgpLCAweDAw KQogICAgICAgICAgICAgICAgTTExMiAoTG9jYWwwLCAweDAwKQogICAgICAgICAgICAgICAgU2xl ZXAgKDB4MEEpCiAgICAgICAgICAgICAgICBNMTExIChMb2NhbDAsIDB4MDApCiAgICAgICAgICAg ICAgICBNMDIzICgweDAwLCBNMDkxLCBNMDkwKQogICAgICAgICAgICAgICAgTG9jYWwxID0gTTAx OSAoTTA5NSwgTTA5NCwgTTA5MywgMHgwMCkKICAgICAgICAgICAgICAgIFNsZWVwICgweDBBKQog ICAgICAgICAgICAgICAgTG9jYWw0ID0gMHgwMQogICAgICAgICAgICAgICAgTG9jYWw1ID0gMHgw NQogICAgICAgICAgICAgICAgV2hpbGUgKChMb2NhbDQgJiYgTG9jYWw1KSkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDAgPSBNMDIxICgweDAwLCBNMDkxLCBNMDkw LCAweEE1KQogICAgICAgICAgICAgICAgICAgIExvY2FsMCAmPSAweDdGCiAgICAgICAgICAgICAg ICAgICAgSWYgKCgoTG9jYWwwIDw9IDB4MDQpIHx8IChMb2NhbDAgPT0gMHgxRikpKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw0ID0gMHgwMAogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSBNMDE5IChNMDk1LCBNMDk0 LCBNMDkzLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwNSkKICAgICAg ICAgICAgICAgICAgICAgICAgTG9jYWw1LS0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgSFBPSyA9IDB4MDIKICAgICAgICAgICAgICAgIE0w MDAgKDB4OEMpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChIUE9LKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBMb2NhbDUgPSAweDdGRkZGRkZGCiAgICAgICAgICAgICAgICBM b2NhbDUgfD0gMHg4MDAwMDAwMAogICAgICAgICAgICAgICAgTG9jYWwxID0gTTAxOSAoMHgwMCwg TTA5MSwgTTA5MCwgMHg1NCkKICAgICAgICAgICAgICAgIE0wMjAgKDB4MDAsIE0wOTEsIE0wOTAs IDB4NTQsIChMb2NhbDEgJiAweEZGRkY3RkZDKSkKICAgICAgICAgICAgICAgIExvY2FsMCA9IE0w MTkgKE0wOTUsIE0wOTQsIE0wOTMsIDB4MDApCiAgICAgICAgICAgICAgICBJZiAoKChIUE9LID09 IDB4MDEpICYmIChMb2NhbDAgIT0gTG9jYWw1KSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgTTAyMCAoTTA5NSwgTTA5NCwgTTA5MywgMHg0QywgTTE5MCkKICAgICAgICAg ICAgICAgICAgICBTbGVlcCAoMHgwQSkKICAgICAgICAgICAgICAgICAgICBJZiAoKE0xOTEgIT0g TG9jYWw1KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE0w MjAgKE0wOTUsIE0wOTQsIChNMDkzICsgMHgwMSksIDB4NEMsIE0xOTEpCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgwQSkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBNMDIwICgweDAwLCBNMDkxLCBNMDkwLCAweDU0LCAoTG9jYWwx ICYgMHhGRkZGN0ZGRikpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAo UFgwMywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZVdvcmRG aWVsZCAoTTE4OSwgMHgwMCwgTTE1NykKICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChNMTg5 LCAweDAyLCBNMTk1KQogICAgICAgICAgICBNMTU3ID0gMHgwNAogICAgICAgICAgICBNMTk1ID0g KEFyZzAgJiAweDAxKQogICAgICAgICAgICBJZiAoTTE5NSkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgTTExMSAoTTA0OSAoTTEzMywgMHgxNyksIDB4MDEpCiAgICAgICAgICAgIH0KICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBNMTExIChNMDQ5IChN MTMzLCAweDE3KSwgMHgwMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgTWV0aG9k IChQWDA0LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3JlYXRlV29y ZEZpZWxkIChNMTg5LCAweDAwLCBNMTU3KQogICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKE0x ODksIDB4MDIsIE0xOTYpCiAgICAgICAgICAgIE0xNTcgPSAweDA0CiAgICAgICAgICAgIE0xOTYg PSAoQXJnMCAmIDB4MDEpCiAgICAgICAgICAgIElmIChNMTk2KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBNMTExIChNMDQ5IChNMTMzLCAweDE4KSwgMHgwMSkKICAgICAgICAgICAgfQog ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE0xMTEgKE0wNDkg KE0xMzMsIDB4MTgpLCAweDAwKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRo b2QgKFBYMDgsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBDcmVhdGVX b3JkRmllbGQgKE0xODksIDB4MDAsIE0xOTMpCiAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo TTE4OSwgMHgwMiwgTTE1NykKICAgICAgICAgICAgTG9jYWwwID0gTTA0OSAoTTEzMywgMHgxOSkK ICAgICAgICAgICAgTTE5MyA9IExvY2FsMAogICAgICAgICAgICBNMTU3ID0gMHgwNQogICAgICAg ICAgICBMb2NhbDAgKj0gTTE1NyAvKiBcX1NCXy5QQ0kwLkdQMTcuVkdBXy5QWDA4Lk0xNTcgKi8K ICAgICAgICAgICAgTG9jYWwxID0gMHgwMAogICAgICAgICAgICBXaGlsZSAoKExvY2FsMSA8IExv Y2FsMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMiA9IE0wNDkgKE0xMzMs ICgweDFBICsgTG9jYWwxKSkKICAgICAgICAgICAgICAgIE0xODkgWygweDA0ICsgTG9jYWwxKV0g PSBMb2NhbDIKICAgICAgICAgICAgICAgIExvY2FsMSsrCiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIFJldHVybiAoTTE4OSkgLyogXF9TQl8uUENJMC5HUDE3LlZHQV8uTTE4OSAqLwogICAgICAg IH0KCiAgICAgICAgTWV0aG9kIChQWDA5LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAg ICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChNMTg5LCAweDAwLCBNMTkzKQogICAgICAgICAgICBD cmVhdGVXb3JkRmllbGQgKE0xODksIDB4MDIsIE0xNTcpCiAgICAgICAgICAgIExvY2FsMCA9IE0w NDkgKE0xMzMsIDB4N0UpCiAgICAgICAgICAgIE0xOTMgPSBMb2NhbDAKICAgICAgICAgICAgTTE1 NyA9IDB4MDMKICAgICAgICAgICAgTG9jYWwwICo9IE0xNTcgLyogXF9TQl8uUENJMC5HUDE3LlZH QV8uUFgwOS5NMTU3ICovCiAgICAgICAgICAgIExvY2FsMSA9IDB4MDAKICAgICAgICAgICAgV2hp bGUgKChMb2NhbDEgPCBMb2NhbDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2Nh bDIgPSBNMDQ5IChNMTMzLCAoMHg3RiArIExvY2FsMSkpCiAgICAgICAgICAgICAgICBNMTg5IFso MHgwNCArIExvY2FsMSldID0gTG9jYWwyCiAgICAgICAgICAgICAgICBMb2NhbDErKwogICAgICAg ICAgICB9CgogICAgICAgICAgICBSZXR1cm4gKE0xODkpIC8qIFxfU0JfLlBDSTAuR1AxNy5WR0Ff Lk0xODkgKi8KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoUFgxMCwgMSwgTm90U2VyaWFsaXpl ZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTTE4OSwgMHgwMCwgTTE1 NykKICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChNMTg5LCAweDAyLCBNMTkyKQogICAgICAg ICAgICBNMTU3ID0gMHgwMwogICAgICAgICAgICBNMTkyID0gKEFyZzAgJiAweDAxKQogICAgICAg ICAgICBcX1NCLk1BQ08gPSAoQXJnMCAmIDB4MDEpCiAgICAgICAgfQoKICAgICAgICBNZXRob2Qg KFBYMTEsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKE0xODksIDB4MDAsIE0xNTcpCiAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoTTE4 OSwgMHgwMiwgTTE2MikKICAgICAgICAgICAgTTE1NyA9IDB4MDMKICAgICAgICAgICAgTTE2MiA9 IChBcmcwICYgMHgwMSkKICAgICAgICAgICAgTG9jYWwyID0gTTE2MiAvKiBcX1NCXy5QQ0kwLkdQ MTcuVkdBXy5QWDExLk0xNjIgKi8KICAgICAgICAgICAgTG9jYWwwID0gTTEzMSAvKiBcTTEzMSAq LwogICAgICAgICAgICBJZiAoTG9jYWwwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBM b2NhbDAgPSBNMDQ5IChNMTMxLCAweDEwKQogICAgICAgICAgICAgICAgTG9jYWwxID0gTTA0OSAo TTEzMSwgMHgxMSkKICAgICAgICAgICAgICAgIExvY2FsMSA9IChNMDg0ICsgKChMb2NhbDAgKiAw eDAxMDApICsgTG9jYWwxKSkKICAgICAgICAgICAgICAgIE0wMTIgKExvY2FsMSwgMHgwRSwgMHgw MCwgMHgwOCwgTG9jYWwyKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBOYW1lIChB VElCLCBCdWZmZXIgKDB4MDEwMCl7fSkKICAgICAgICBNZXRob2QgKEFUSUYsIDIsIFNlcmlhbGl6 ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMCkpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIFJldHVybiAoQUYwMCAoKSkKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgSWYgKChBcmcwID09IDB4MDEpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBS ZXR1cm4gKEFGMDEgKCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMCA9PSAw eDAyKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChBRjAyICgpKQogICAg ICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAgPT0gMHgwMykpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIFJldHVybiAoQUYwMyAoRGVyZWZPZiAoQXJnMSBbMHgwMl0pLCBEZXJl Zk9mIChBcmcxIFsweDA0XSkpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzAg PT0gMHgwNCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoQUYwNCAoKSkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcwID09IDB4MEYpKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKEFGMTUgKCkpCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIElmICgoQXJnMCA9PSAweDEwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg UmV0dXJuIChBRjE2IChEZXJlZk9mIChBcmcxIFsweDAyXSkpKQogICAgICAgICAgICB9CiAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChBVElCLCAweDAwLCBNMTU3KQogICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBVElC LCAweDAyLCBNMTU4KQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQVRJQiwgMHgw NCwgTTE1OSkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFUSUIsIDB4MDgsIE0x NjApCiAgICAgICAgICAgICAgICBNMTU3ID0gMHgwMAogICAgICAgICAgICAgICAgTTE1OCA9IDB4 MDAKICAgICAgICAgICAgICAgIE0xNTkgPSAweDAwCiAgICAgICAgICAgICAgICBNMTYwID0gMHgw MAogICAgICAgICAgICAgICAgUmV0dXJuIChBVElCKSAvKiBcX1NCXy5QQ0kwLkdQMTcuVkdBXy5B VElCICovCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQUYwMCwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQVRJ QiwgMHgwMCwgTTE1NykKICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBVElCLCAweDAyLCBN MTU4KQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChBVElCLCAweDA0LCBNMTU5KQogICAg ICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChBVElCLCAweDA4LCBNMTYwKQogICAgICAgICAgICBN MTU3ID0gMHgwQwogICAgICAgICAgICBNMTU4ID0gMHgwMQogICAgICAgICAgICBNMTU5ID0gTTEw MSAvKiBcTTEwMSAqLwogICAgICAgICAgICBJZiAoIUNvbmRSZWZPZiAoXF9TQi5MSUQuX0xJRCkp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE0xMDIgJj0gMHhGRkZGRkZGNwogICAgICAg ICAgICB9CgogICAgICAgICAgICBNMTYwID0gTTEwMiAvKiBcTTEwMiAqLwogICAgICAgICAgICBS ZXR1cm4gKEFUSUIpIC8qIFxfU0JfLlBDSTAuR1AxNy5WR0FfLkFUSUIgKi8KICAgICAgICB9Cgog ICAgICAgIE1ldGhvZCAoQUYwMSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAg ICAgIENyZWF0ZVdvcmRGaWVsZCAoQVRJQiwgMHgwMCwgTTE1NykKICAgICAgICAgICAgQ3JlYXRl RFdvcmRGaWVsZCAoQVRJQiwgMHgwMiwgTTE2MSkKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVs ZCAoQVRJQiwgMHgwNiwgTTE2MikKICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBVElCLCAw eDBBLCBNMTYzKQogICAgICAgICAgICBMb2NhbDAgPSAoTTEwMyAmIDB4RkYwMDAwMDApCiAgICAg ICAgICAgIExvY2FsMSA9IChNMTAzICYgMHgwMykKICAgICAgICAgICAgSWYgKChMb2NhbDEgPT0g MHgwMikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE0xNTcgPSAweDBCCiAgICAgICAg ICAgICAgICBNMTYxID0gMHgwMwogICAgICAgICAgICAgICAgTTE2MiA9IExvY2FsMQogICAgICAg ICAgICAgICAgTTE2MyA9IExvY2FsMAogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgTTE1NyA9IDB4MEEKICAgICAgICAgICAgICAgIE0x NjEgPSAweDAzCiAgICAgICAgICAgICAgICBNMTYyID0gTTEwMyAvKiBcTTEwMyAqLwogICAgICAg ICAgICB9CgogICAgICAgICAgICBSZXR1cm4gKEFUSUIpIC8qIFxfU0JfLlBDSTAuR1AxNy5WR0Ff LkFUSUIgKi8KICAgICAgICB9CgogICAgICAgIE5hbWUgKE0xNjQsIEJ1ZmZlciAoMHgwNCkKICAg ICAgICB7CiAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAwICAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gLi4uLgogICAgICAgIH0pCiAgICAgICAgTmFtZSAoTTIxMCwgMHgwMCkK ICAgICAgICBOYW1lIChNMjExLCAweDAwKQogICAgICAgIE5hbWUgKE0yMTIsIDB4MDApCiAgICAg ICAgTmFtZSAoTTIxMywgMHgwMCkKICAgICAgICBOYW1lIChNMjE0LCAweDAwKQogICAgICAgIE5h bWUgKE0yMTUsIDB4MDApCiAgICAgICAgTmFtZSAoTTMwMywgMHgwMCkKICAgICAgICBOYW1lIChN MzA0LCAweDAwKQogICAgICAgIE5hbWUgKFNTRE0sIDB4MEEpCiAgICAgICAgTmFtZSAoU0NEWSwg MHgwMCkKICAgICAgICBNZXRob2QgKEFGMDIsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoTTE2NCwgMHgwMCwgTTE2NSkKICAgICAgICAgICAg Q3JlYXRlQml0RmllbGQgKE0xNjQsIDB4MDEsIE0xNjYpCiAgICAgICAgICAgIENyZWF0ZUJpdEZp ZWxkIChNMTY0LCAweDAyLCBNMTY3KQogICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoTTE2NCwg MHgwMywgTTE2OCkKICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKE0xNjQsIDB4MDQsIE0xNjkp CiAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChNMTY0LCAweDA1LCBNMTcwKQogICAgICAgICAg ICBDcmVhdGVCaXRGaWVsZCAoTTE2NCwgMHgwNiwgTTE3MSkKICAgICAgICAgICAgQ3JlYXRlQml0 RmllbGQgKE0xNjQsIDB4MDcsIE0xNzIpCiAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChNMTY0 LCAweDA4LCBNMTczKQogICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoTTE2NCwgMHgwQywgTTMw MCkKICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBVElCLCAweDAwLCBNMTU3KQogICAgICAg ICAgICBDcmVhdGVEV29yZEZpZWxkIChBVElCLCAweDAyLCBNMTc0KQogICAgICAgICAgICBDcmVh dGVCeXRlRmllbGQgKEFUSUIsIDB4MDYsIE0xNzUpCiAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVs ZCAoQVRJQiwgMHgwNywgTTE3NikKICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBVElCLCAw eDA4LCBNMTc3KQogICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEFUSUIsIDB4MDksIE0xNzgp CiAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQVRJQiwgMHgwQSwgTTE3OSkKICAgICAgICAg ICAgQ3JlYXRlQnl0ZUZpZWxkIChBVElCLCAweDBCLCBNMTgwKQogICAgICAgICAgICBDcmVhdGVC eXRlRmllbGQgKEFUSUIsIDB4MEMsIE0xODEpCiAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAo QVRJQiwgMHgwRCwgTTMwMSkKICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQVRJQiwgMHgw RSwgTTMwMikKICAgICAgICAgICAgTTE1NyA9IDB4MEQKICAgICAgICAgICAgTTE3NCA9IE0xNjQg LyogXF9TQl8uUENJMC5HUDE3LlZHQV8uTTE2NCAqLwogICAgICAgICAgICBJZiAoTTE2NSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgTTE2NSA9IFplcm8KICAgICAgICAgICAgfQoKICAg ICAgICAgICAgSWYgKE0xNjYpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE0xNzUgPSBN MjEwIC8qIFxfU0JfLlBDSTAuR1AxNy5WR0FfLk0yMTAgKi8KICAgICAgICAgICAgICAgIE0yMTAg PSBaZXJvCiAgICAgICAgICAgICAgICBNMTY2ID0gWmVybwogICAgICAgICAgICB9CgogICAgICAg ICAgICBJZiAoTTE2NykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTTE3NiA9IE0yMTEg LyogXF9TQl8uUENJMC5HUDE3LlZHQV8uTTIxMSAqLwogICAgICAgICAgICAgICAgTTE3NyA9IE0y MTIgLyogXF9TQl8uUENJMC5HUDE3LlZHQV8uTTIxMiAqLwogICAgICAgICAgICAgICAgTTIxMSA9 IFplcm8KICAgICAgICAgICAgICAgIE0yMTIgPSBaZXJvCiAgICAgICAgICAgICAgICBNMTY3ID0g WmVybwogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTTE2OCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTTE3OCA9IE0yMTMgLyogXF9TQl8uUENJMC5HUDE3LlZHQV8uTTIxMyAq LwogICAgICAgICAgICAgICAgTTE3OSA9IE0yMTQgLyogXF9TQl8uUENJMC5HUDE3LlZHQV8uTTIx NCAqLwogICAgICAgICAgICAgICAgTTIxMyA9IFplcm8KICAgICAgICAgICAgICAgIE0yMTQgPSBa ZXJvCiAgICAgICAgICAgICAgICBNMTY4ID0gWmVybwogICAgICAgICAgICB9CgogICAgICAgICAg ICBJZiAoTTE2OSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTTE4MCA9IE0yMTUgLyog XF9TQl8uUENJMC5HUDE3LlZHQV8uTTIxNSAqLwogICAgICAgICAgICAgICAgTTE2OSA9IFplcm8K ICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKE0xNzEpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIE0xNzEgPSBaZXJvCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChNMTcy KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBNMTcyID0gWmVybwogICAgICAgICAgICB9 CgogICAgICAgICAgICBJZiAoTTE3MykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTTE3 MyA9IFplcm8KICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKE0zMDApCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIE0zMDEgPSBNMzAzIC8qIFxfU0JfLlBDSTAuR1AxNy5WR0FfLk0z MDMgKi8KICAgICAgICAgICAgICAgIE0zMDIgPSBNMzA0IC8qIFxfU0JfLlBDSTAuR1AxNy5WR0Ff Lk0zMDQgKi8KICAgICAgICAgICAgICAgIE0zMDMgPSBaZXJvCiAgICAgICAgICAgICAgICBNMzA0 ID0gWmVybwogICAgICAgICAgICAgICAgTTMwMCA9IFplcm8KICAgICAgICAgICAgfQoKICAgICAg ICAgICAgUmV0dXJuIChBVElCKSAvKiBcX1NCXy5QQ0kwLkdQMTcuVkdBXy5BVElCICovCiAgICAg ICAgfQoKICAgICAgICBNZXRob2QgKEFGMDMsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFUSUIsIDB4MDAsIE0xNTcpCiAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQVRJQiwgMHgwMiwgTTE4MikKICAgICAgICAgICAgQ3JlYXRlV29y ZEZpZWxkIChBVElCLCAweDA0LCBNMTgzKQogICAgICAgICAgICBNMTgyID0gQXJnMAogICAgICAg ICAgICBNMTgzID0gQXJnMQogICAgICAgICAgICBOYW1lIChNMTg0LCAweDA2KQogICAgICAgICAg ICBOYW1lIChNMTg1LCAweDA2KQogICAgICAgICAgICBOYW1lIChNMTg2LCBCdWZmZXIgKDB4MTQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAweDAwICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLgogICAgICAgICAgICB9KQogICAgICAgICAgICBO YW1lIChNMTg3LCAweDAwKQogICAgICAgICAgICBNMTg3ID0gTTA0OSAoTTEzMywgMHhCRikKICAg ICAgICAgICAgTG9jYWwxID0gMHgwMAogICAgICAgICAgICBXaGlsZSAoKExvY2FsMSA8IE0xODcp KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDIgPSBNMDQ5IChNMTMzLCAoMHhD MCArIExvY2FsMSkpCiAgICAgICAgICAgICAgICBNMTg2IFtMb2NhbDFdID0gTG9jYWwyCiAgICAg ICAgICAgICAgICBMb2NhbDErKwogICAgICAgICAgICB9CgogICAgICAgICAgICBMb2NhbDEgPSBN MTgyIC8qIFxfU0JfLlBDSTAuR1AxNy5WR0FfLkFGMDMuTTE4MiAqLwogICAgICAgICAgICBMb2Nh bDEgJj0gMHg4QgogICAgICAgICAgICBMb2NhbDIgPSBNMTgzIC8qIFxfU0JfLlBDSTAuR1AxNy5W R0FfLkFGMDMuTTE4MyAqLwogICAgICAgICAgICBJZiAoQ29uZFJlZk9mIChcX1NCLkxJRC5fTElE KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTG9jYWwwID0gXF9TQi5MSUQuX0xJRCAo KQogICAgICAgICAgICAgICAgTG9jYWwyICY9IDB4RkZGRkZGRkUKICAgICAgICAgICAgICAgIExv Y2FsMiB8PSBMb2NhbDAKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTG9jYWwwID0gWmVybwog ICAgICAgICAgICBXaGlsZSAoKExvY2FsMCA8IE0xODcpKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBMb2NhbDMgPSBEZXJlZk9mIChNMTg2IFtMb2NhbDBdKQogICAgICAgICAgICAgICAg SWYgKChMb2NhbDMgPT0gTG9jYWwxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBNMTg1ID0gTG9jYWwwCiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gTTE4NyAvKiBc X1NCXy5QQ0kwLkdQMTcuVkdBXy5BRjAzLk0xODcgKi8KICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2Nh bDArKwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBMb2NhbDAg PSBNMTg1IC8qIFxfU0JfLlBDSTAuR1AxNy5WR0FfLkFGMDMuTTE4NSAqLwogICAgICAgICAgICBX aGlsZSAoKExvY2FsMCA8IE0xODcpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2Nh bDArKwogICAgICAgICAgICAgICAgSWYgKChMb2NhbDAgPT0gTTE4NykpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwwID0gMHgwMAogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIExvY2FsMyA9IERlcmVmT2YgKE0xODYgW0xvY2FsMF0pCiAgICAgICAg ICAgICAgICBJZiAoKChMb2NhbDMgJiBMb2NhbDIpID09IExvY2FsMykpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgTTE4NCA9IExvY2FsMAogICAgICAgICAgICAgICAgICAg IExvY2FsMCA9IE0xODcgLyogXF9TQl8uUENJMC5HUDE3LlZHQV8uQUYwMy5NMTg3ICovCiAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoTTE4NCA9PSBNMTg3 KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTTE4MiA9IFplcm8KICAgICAgICAgICAg fQogICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCA9 IE0xODQgLyogXF9TQl8uUENJMC5HUDE3LlZHQV8uQUYwMy5NMTg0ICovCiAgICAgICAgICAgICAg ICBMb2NhbDMgPSBEZXJlZk9mIChNMTg2IFtMb2NhbDBdKQogICAgICAgICAgICAgICAgTTE4MiAm PSAweEZGRkZGRkY0CiAgICAgICAgICAgICAgICBNMTgyIHw9IExvY2FsMwogICAgICAgICAgICB9 CgogICAgICAgICAgICBNMTU3ID0gMHgwNAogICAgICAgICAgICBSZXR1cm4gKEFUSUIpIC8qIFxf U0JfLlBDSTAuR1AxNy5WR0FfLkFUSUIgKi8KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQUYw NCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs ZCAoQVRJQiwgMHgwMCwgTTE1NykKICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBVElCLCAw eDAyLCBNMTg4KQogICAgICAgICAgICBNMTU3ID0gMHgwMwogICAgICAgICAgICBMb2NhbDEgPSAw eDAwCiAgICAgICAgICAgIElmIChDb25kUmVmT2YgKFxfU0IuTElELl9MSUQpKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBMb2NhbDAgPSBcX1NCLkxJRC5fTElEICgpCiAgICAgICAgICAg ICAgICBMb2NhbDEgPSAoTG9jYWwwIF4gMHgwMSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAg TTE4OCA9IExvY2FsMQogICAgICAgICAgICBSZXR1cm4gKEFUSUIpIC8qIFxfU0JfLlBDSTAuR1Ax Ny5WR0FfLkFUSUIgKi8KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQUYxNSwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIEFUSUIgPSBNMTA0IC8qIFxNMTA0ICovCiAg ICAgICAgICAgIFJldHVybiAoQVRJQikgLyogXF9TQl8uUENJMC5HUDE3LlZHQV8uQVRJQiAqLwog ICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChBRjE2LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAg IHsKICAgICAgICAgICAgTG9jYWwwID0gTTAxMyAoTTEzMywgMHhENCwgMHgwMCwgMHgxMCkKICAg ICAgICAgICAgSWYgKExvY2FsMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTG9jYWwx ID0gMHgwMAogICAgICAgICAgICAgICAgV2hpbGUgKChMb2NhbDEgPCBMb2NhbDApKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IE0wNDkgKE0xMzMsICgweEQ0 ICsgTG9jYWwxKSkKICAgICAgICAgICAgICAgICAgICBBVElCIFtMb2NhbDFdID0gTG9jYWwyCiAg ICAgICAgICAgICAgICAgICAgTG9jYWwxKysKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg fQogICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMyA9 IE0wNDMgKDB4MDAsIEFyZzAsIDB4MDApCiAgICAgICAgICAgICAgICBJZiAoKE9iamVjdFR5cGUg KExvY2FsMykgPT0gMHgwMykpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg QVRJQiA9IExvY2FsMwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFUSUIgWzB4MDBdID0gMHgwNQogICAg ICAgICAgICAgICAgICAgIEFUSUIgWzB4MDFdID0gMHgwMAogICAgICAgICAgICAgICAgICAgIEFU SUIgWzB4MDJdID0gMHgwMAogICAgICAgICAgICAgICAgICAgIEFUSUIgWzB4MDNdID0gMHgwMAog ICAgICAgICAgICAgICAgICAgIEFUSUIgWzB4MDRdID0gMHgwMgogICAgICAgICAgICAgICAgfQog ICAgICAgICAgICB9CgogICAgICAgICAgICBSZXR1cm4gKEFUSUIpIC8qIFxfU0JfLlBDSTAuR1Ax Ny5WR0FfLkFUSUIgKi8KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQUZOMCwgMCwgU2VyaWFs aXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmICgoTTEwMSAmIDB4MDEpKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoTTE2NCwgMHgwMCwgTTE2NSkKICAg ICAgICAgICAgICAgIE0xNjUgPSBPbmUKICAgICAgICAgICAgICAgIE5vdGlmeSAoVkdBLCAweDgx KSAvLyBJbmZvcm1hdGlvbiBDaGFuZ2UKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAg TWV0aG9kIChBRk4xLCAxLCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKChN MTAxICYgMHgwMikpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCA9IEFyZzAK ICAgICAgICAgICAgICAgIE0yMTAgPSBMb2NhbDAKICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZp ZWxkIChNMTY0LCAweDAxLCBNMTY2KQogICAgICAgICAgICAgICAgTTE2NiA9IE9uZQogICAgICAg ICAgICAgICAgTm90aWZ5IChWR0EsIDB4ODEpIC8vIEluZm9ybWF0aW9uIENoYW5nZQogICAgICAg ICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEFGTjIsIDIsIFNlcmlhbGl6ZWQpCiAg ICAgICAgewogICAgICAgICAgICBJZiAoKE0xMDEgJiAweDA0KSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgTG9jYWwwID0gQXJnMAogICAgICAgICAgICAgICAgTTIxMiA9IExvY2FsMAog ICAgICAgICAgICAgICAgTG9jYWwwID0gQXJnMQogICAgICAgICAgICAgICAgTTIxMSA9IExvY2Fs MCAmPSAweDAzCiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoTTE2NCwgMHgwMiwgTTE2 NykKICAgICAgICAgICAgICAgIE0xNjcgPSBPbmUKICAgICAgICAgICAgICAgIE5vdGlmeSAoVkdB LCAweDgxKSAvLyBJbmZvcm1hdGlvbiBDaGFuZ2UKICAgICAgICAgICAgfQogICAgICAgIH0KCiAg ICAgICAgTWV0aG9kIChBRk4zLCAyLCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAg SWYgKChNMTAxICYgMHgwOCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCA9 IEFyZzAKICAgICAgICAgICAgICAgIE0yMTQgPSBMb2NhbDAKICAgICAgICAgICAgICAgIExvY2Fs MCA9IEFyZzEKICAgICAgICAgICAgICAgIE0yMTMgPSBMb2NhbDAgJj0gMHgwMwogICAgICAgICAg ICAgICAgQ3JlYXRlQml0RmllbGQgKE0xNjQsIDB4MDMsIE0xNjgpCiAgICAgICAgICAgICAgICBN MTY4ID0gT25lCiAgICAgICAgICAgICAgICBOb3RpZnkgKFZHQSwgMHg4MSkgLy8gSW5mb3JtYXRp b24gQ2hhbmdlCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQUZONCwg MSwgU2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmICgoTTEwMSAmIDB4MTApKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDAgPSBBcmcwCiAgICAgICAgICAgICAg ICBMb2NhbDEgPSBNMjE1IC8qIFxfU0JfLlBDSTAuR1AxNy5WR0FfLk0yMTUgKi8KICAgICAgICAg ICAgICAgIE0yMTUgPSBMb2NhbDAKICAgICAgICAgICAgICAgIElmICgoTG9jYWwwID09IExvY2Fs MSkpe30KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBDcmVhdGVCaXRGaWVsZCAoTTE2NCwgMHgwNCwgTTE2OSkKICAgICAgICAgICAgICAg ICAgICBNMTY5ID0gT25lCiAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChWR0EsIDB4ODEpIC8v IEluZm9ybWF0aW9uIENoYW5nZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAg ICAgfQoKICAgICAgICBNZXRob2QgKEFGTjUsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAg ICAgICAgICBJZiAoKE0xMDEgJiAweDIwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg Q3JlYXRlQml0RmllbGQgKE0xNjQsIDB4MDUsIE0xNzApCiAgICAgICAgICAgICAgICBNMTcwID0g T25lCiAgICAgICAgICAgICAgICBOb3RpZnkgKFZHQSwgMHg4MSkgLy8gSW5mb3JtYXRpb24gQ2hh bmdlCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQUZONiwgMCwgU2Vy aWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmICgoTTEwMSAmIDB4NDApKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoTTE2NCwgMHgwNiwgTTE3MSkK ICAgICAgICAgICAgICAgIE0xNzEgPSBPbmUKICAgICAgICAgICAgICAgIE5vdGlmeSAoVkdBLCAw eDgxKSAvLyBJbmZvcm1hdGlvbiBDaGFuZ2UKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAg ICAgTWV0aG9kIChBRk43LCAxLCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYg KChNMTAxICYgMHg4MCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZp ZWxkIChNMTY0LCAweDA3LCBNMTcyKQogICAgICAgICAgICAgICAgTTE3MiA9IE9uZQogICAgICAg ICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChBVElCLCAweDBDLCBNMTgxKQogICAgICAgICAgICAg ICAgTTE4MSA9IEFyZzAKICAgICAgICAgICAgICAgIE5vdGlmeSAoVkdBLCAweDgxKSAvLyBJbmZv cm1hdGlvbiBDaGFuZ2UKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChB Rk44LCAwLCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKChNMTAxICYgMHgw MTAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKE0xNjQs IDB4MDgsIE0xNzMpCiAgICAgICAgICAgICAgICBNMTczID0gT25lCiAgICAgICAgICAgICAgICBO b3RpZnkgKFZHQSwgMHg4MSkgLy8gSW5mb3JtYXRpb24gQ2hhbmdlCiAgICAgICAgICAgIH0KICAg ICAgICB9CgogICAgICAgIE1ldGhvZCAoQUZOQywgMiwgU2VyaWFsaXplZCkKICAgICAgICB7CiAg ICAgICAgICAgIElmICgoTTEwMSAmIDB4MTAwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIExvY2FsMCA9IChBcmcwICYgMHgwMykKICAgICAgICAgICAgICAgIE0zMDMgPSBMb2NhbDAK ICAgICAgICAgICAgICAgIExvY2FsMCA9IChBcmcxICYgMHhGRkZGRkZGRikKICAgICAgICAgICAg ICAgIE0zMDQgPSBMb2NhbDAKICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChNMTY0LCAw eDBDLCBNMzAwKQogICAgICAgICAgICAgICAgTTMwMCA9IE9uZQogICAgICAgICAgICAgICAgTm90 aWZ5IChWR0EsIDB4ODEpIC8vIEluZm9ybWF0aW9uIENoYW5nZQogICAgICAgICAgICB9CiAgICAg ICAgfQogICAgfQoKICAgIE9wZXJhdGlvblJlZ2lvbiAoQ1BOViwgU3lzdGVtTWVtb3J5LCAweEJE N0U1MDE4LCAweDAwMDEwMEM5KQogICAgRmllbGQgKENQTlYsIEFueUFjYywgTG9jaywgUHJlc2Vy dmUpCiAgICB7CiAgICAgICAgTTA4MiwgICAzMiwgCiAgICAgICAgTTA4MywgICAzMiwgCiAgICAg ICAgTTA4NCwgICAzMiwgCiAgICAgICAgTTA4NSwgICA4LCAKICAgICAgICBNMjIxLCAgIDgsIAog ICAgICAgIE0wODYsICAgMTYsIAogICAgICAgIE0yMjksICAgOCwgCiAgICAgICAgTTIzMSwgICAx NiwgCiAgICAgICAgTTIzNSwgICA4LCAKICAgICAgICBNMjMzLCAgIDMyLCAKICAgICAgICAgICAg LCAgIDEsIAogICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICwgICAxLCAKICAgICAgICAg ICAgLCAgIDEsIAogICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICwgICAxLCAKICAgICAg ICBPZmZzZXQgKDB4MTkpLCAKICAgICAgICBNMDg3LCAgIDEsIAogICAgICAgICAgICAsICAgMSwg CiAgICAgICAgT2Zmc2V0ICgweDFDKSwgCiAgICAgICAgTTA4OCwgICAxNiwgCiAgICAgICAgTTA4 OSwgICAxNiwgCiAgICAgICAgTTA5MCwgICAzLCAKICAgICAgICBNMDkxLCAgIDUsIAogICAgICAg IE0wOTIsICAgOCwgCiAgICAgICAgTTA5MywgICAzLCAKICAgICAgICBNMDk0LCAgIDUsIAogICAg ICAgIE0wOTUsICAgOCwgCiAgICAgICAgTTA5NiwgICA4LCAKICAgICAgICBNMDk3LCAgIDgsIAog ICAgICAgIE0wOTgsICAgMzIsIAogICAgICAgIE0wOTksICAgMzIsIAogICAgICAgIE0xMDAsICAg MzIsIAogICAgICAgIE0xMDEsICAgMzIsIAogICAgICAgIE0xMDIsICAgMzIsIAogICAgICAgIE0x MDMsICAgMzIsIAogICAgICAgIE0xMDQsICAgMjI0LCAKICAgICAgICBNMTA1LCAgIDMyLCAKICAg ICAgICBNMTA2LCAgIDMyNzY4LCAKICAgICAgICBNMzc4LCAgIDMyNzY4LCAKICAgICAgICBNMzc5 LCAgIDMyNzY4LCAKICAgICAgICBNMzgwLCAgIDMyNzY4LCAKICAgICAgICBNMzgxLCAgIDMyNzY4 LCAKICAgICAgICBNMzgyLCAgIDMyNzY4LCAKICAgICAgICBNMzgzLCAgIDMyNzY4LCAKICAgICAg ICBNMzg0LCAgIDMyNzY4LCAKICAgICAgICBNMzg1LCAgIDMyNzY4LCAKICAgICAgICBNMzg2LCAg IDMyNzY4LCAKICAgICAgICBNMzg3LCAgIDMyNzY4LCAKICAgICAgICBNMzg4LCAgIDMyNzY4LCAK ICAgICAgICBNMzg5LCAgIDMyNzY4LCAKICAgICAgICBNMzkwLCAgIDMyNzY4LCAKICAgICAgICBN MzkxLCAgIDMyNzY4LCAKICAgICAgICBNMzkyLCAgIDMyNzY4LCAKICAgICAgICBNMTA3LCAgIDY0 LCAKICAgICAgICBNMzIwLCAgIDMyLCAKICAgICAgICBNMzIxLCAgIDMyLCAKICAgICAgICBNMzIy LCAgIDMyLCAKICAgICAgICBNMzIzLCAgIDMyLCAKICAgICAgICBNMzI0LCAgIDMyLCAKICAgICAg ICBNMzI1LCAgIDMyLCAKICAgICAgICBNMzI2LCAgIDMyLCAKICAgICAgICBNMzI3LCAgIDE2LCAK ICAgICAgICBNMzI4LCAgIDgsIAogICAgICAgIE0xMjgsICAgMzIsIAogICAgICAgIE0xMDgsICAg MzIsIAogICAgICAgIE0xMDksICAgMzIsIAogICAgICAgIE0xMTAsICAgMzIsIAogICAgICAgIE0x MjIsICAgMzIsIAogICAgICAgIE0xMzEsICAgMzIsIAogICAgICAgIE0xMzIsICAgMzIsIAogICAg ICAgIE0xMzMsICAgMzIsIAogICAgICAgIE0xMzQsICAgMzIsIAogICAgICAgIE0xMzUsICAgMzIs IAogICAgICAgIE0xMzYsICAgMzIsIAogICAgICAgIE0yMjAsICAgMzIsIAogICAgICAgIE0yMjYs ICAgMzIsIAogICAgICAgIE0yNTEsICAgMzIsIAogICAgICAgIE0zMTAsICAgMzIsIAogICAgICAg IE0yODAsICAgMzIsIAogICAgICAgIE0yOTAsICAgMzIKICAgIH0KCiAgICBNZXRob2QgKE0wMDAs IDEsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgTmFtZSAoTTI4NSwgQnVmZmVyICgweDA0KQog ICAgICAgIHsKICAgICAgICAgICAgIDB4MDEsIDB4MDMsIDB4ODAsIDB4MDAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvLyAuLi4uCiAgICAgICAgfSkKICAgICAgICBDcmVhdGVCeXRlRmllbGQg KE0yODUsIDB4MDAsIE0yODYpCiAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChNMjg1LCAweDAxLCBN Mjg3KQogICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoTTI4NSwgMHgwMiwgTTI4OCkKICAgICAgICBJ ZiAoKFRvSW50ZWdlciAoTTI4NikgPT0gMHgwMSkpCiAgICAgICAgewogICAgICAgICAgICBMb2Nh bDAgPSAoQXJnMCArIDB4QjAwMDBDMDApCiAgICAgICAgICAgIExvY2FsMSA9IFRvSW50ZWdlciAo TTI4OCkKICAgICAgICAgICAgSWYgKChUb0ludGVnZXIgKE0yODcpID09IDB4MDMpKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFZBUk0sIFN5c3RlbUlPLCBM b2NhbDEsIDB4MDQpCiAgICAgICAgICAgICAgICBGaWVsZCAoVkFSTSwgRFdvcmRBY2MsIE5vTG9j aywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgVkFSUiwg ICAzMgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFZBUlIgPSBMb2NhbDAKICAg ICAgICAgICAgfQogICAgICAgICAgICBFbHNlSWYgKChUb0ludGVnZXIgKE0yODcpID09IDB4MDIp KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFZBUk4sIFN5 c3RlbUlPLCBMb2NhbDEsIDB4MDIpCiAgICAgICAgICAgICAgICBGaWVsZCAoVkFSTiwgV29yZEFj YywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBWQVJTLCAgIDE2CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgVkFSUyA9IChM b2NhbDAgJiAweEZGRkYpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZUlmICgoVG9JbnRl Z2VyIChNMjg3KSA9PSAweDAxKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgT3BlcmF0 aW9uUmVnaW9uIChWQVJPLCBTeXN0ZW1JTywgTG9jYWwxLCAweDAxKQogICAgICAgICAgICAgICAg RmllbGQgKFZBUk8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgVkFSVCwgICA4CiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgVkFSVCA9IChMb2NhbDAgJiAweEZGKQogICAgICAgICAgICB9CiAgICAgICAgfQog ICAgfQoKICAgIE1ldGhvZCAoTTAxOSwgNCwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBSZXR1 cm4gKE0wMTcgKEFyZzAsIEFyZzEsIEFyZzIsIEFyZzMsIDB4MDAsIDB4MjApKQogICAgfQoKICAg IE1ldGhvZCAoTTAyMCwgNSwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBNMDE4IChBcmcwLCBB cmcxLCBBcmcyLCBBcmczLCAweDAwLCAweDIwLCBBcmc0KQogICAgfQoKICAgIE11dGV4IChNMjUz LCAweDAwKQogICAgTWV0aG9kIChNMjQ5LCAzLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIElm ICgoKEFyZzAgPT0gMHgwMCkgJiYgKEFyZzEgPT0gMHgwMCkpKQogICAgICAgIHsKICAgICAgICAg ICAgTG9jYWwwID0gMHgwMAogICAgICAgIH0KICAgICAgICBFbHNlCiAgICAgICAgewogICAgICAg ICAgICBMb2NhbDAgPSBNMjUyIChBcmcwLCBBcmcxKQogICAgICAgIH0KCiAgICAgICAgSWYgKChM b2NhbDAgPT0gMHhGRkZGRkZGRikpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKDB4RkZG RkZGRkYpCiAgICAgICAgfQoKICAgICAgICBMb2NhbDAgPSAoTTA4MyArIChMb2NhbDAgPDwgMHgx NCkpCiAgICAgICAgTG9jYWwwICs9IDB4QjgKICAgICAgICBBY3F1aXJlIChNMjUzLCAweEZGRkYp CiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChWQVJNLCBTeXN0ZW1NZW1vcnksIExvY2FsMCwgMHgw OCkKICAgICAgICBGaWVsZCAoVkFSTSwgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAg ICAgewogICAgICAgICAgICBWQVIxLCAgIDMyCiAgICAgICAgfQoKICAgICAgICBCYW5rRmllbGQg KFZBUk0sIFZBUjEsIEFyZzIsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgIHsK ICAgICAgICAgICAgT2Zmc2V0ICgweDA0KSwgCiAgICAgICAgICAgIFZBUjIsICAgMzIKICAgICAg ICB9CgogICAgICAgIExvY2FsMSA9IFZBUjEgLyogXE0yNDkuVkFSMSAqLwogICAgICAgIExvY2Fs MiA9IFZBUjIgLyogXE0yNDkuVkFSMiAqLwogICAgICAgIFZBUjEgPSBMb2NhbDEKICAgICAgICBS ZWxlYXNlIChNMjUzKQogICAgICAgIFJldHVybiAoTG9jYWwyKQogICAgfQoKICAgIE1ldGhvZCAo TTI1MCwgNCwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoKChBcmcwID09IDB4MDApICYm IChBcmcxID09IDB4MDApKSkKICAgICAgICB7CiAgICAgICAgICAgIExvY2FsMCA9IDB4MDAKICAg ICAgICB9CiAgICAgICAgRWxzZQogICAgICAgIHsKICAgICAgICAgICAgTG9jYWwwID0gTTI1MiAo QXJnMCwgQXJnMSkKICAgICAgICB9CgogICAgICAgIElmICgoTG9jYWwwICE9IDB4RkZGRkZGRkYp KQogICAgICAgIHsKICAgICAgICAgICAgTG9jYWwwID0gKE0wODMgKyAoTG9jYWwwIDw8IDB4MTQp KQogICAgICAgICAgICBMb2NhbDAgKz0gMHhCOAogICAgICAgICAgICBBY3F1aXJlIChNMjUzLCAw eEZGRkYpCiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoVkFSTSwgU3lzdGVtTWVtb3J5LCBM b2NhbDAsIDB4MDgpCiAgICAgICAgICAgIEZpZWxkIChWQVJNLCBEV29yZEFjYywgTm9Mb2NrLCBQ cmVzZXJ2ZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgVkFSMSwgICAzMgogICAgICAg ICAgICB9CgogICAgICAgICAgICBCYW5rRmllbGQgKFZBUk0sIFZBUjEsIEFyZzIsIERXb3JkQWNj LCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBPZmZzZXQg KDB4MDQpLCAKICAgICAgICAgICAgICAgIFZBUjIsICAgMzIKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgTG9jYWwxID0gVkFSMSAvKiBcTTI1MC5WQVIxICovCiAgICAgICAgICAgIFZBUjIgPSBB cmczCiAgICAgICAgICAgIFZBUjEgPSBMb2NhbDEKICAgICAgICAgICAgUmVsZWFzZSAoTTI1MykK ICAgICAgICB9CiAgICB9CgogICAgTWV0aG9kIChNMDIxLCA0LCBTZXJpYWxpemVkKQogICAgewog ICAgICAgIExvY2FsMCA9IChNMDgzICsgKEFyZzAgPDwgMHgxNCkpCiAgICAgICAgTG9jYWwwICs9 IChBcmcxIDw8IDB4MEYpCiAgICAgICAgTG9jYWwwICs9IChBcmcyIDw8IDB4MEMpCiAgICAgICAg TG9jYWwwICs9IDB4RTAKICAgICAgICBPcGVyYXRpb25SZWdpb24gKFZBUk0sIFN5c3RlbU1lbW9y eSwgTG9jYWwwLCAweDA4KQogICAgICAgIEZpZWxkIChWQVJNLCBEV29yZEFjYywgTm9Mb2NrLCBQ cmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIFZBUjEsICAgMzIKICAgICAgICB9CgogICAg ICAgIEJhbmtGaWVsZCAoVkFSTSwgVkFSMSwgQXJnMywgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2Vy dmUpCiAgICAgICAgewogICAgICAgICAgICBPZmZzZXQgKDB4MDQpLCAKICAgICAgICAgICAgVkFS MiwgICAzMgogICAgICAgIH0KCiAgICAgICAgTG9jYWwwID0gVkFSMiAvKiBcTTAyMS5WQVIyICov CiAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICB9CgogICAgTWV0aG9kIChNMDIyLCA1LCBTZXJp YWxpemVkKQogICAgewogICAgICAgIExvY2FsMCA9IChNMDgzICsgKEFyZzAgPDwgMHgxNCkpCiAg ICAgICAgTG9jYWwwICs9IChBcmcxIDw8IDB4MEYpCiAgICAgICAgTG9jYWwwICs9IChBcmcyIDw8 IDB4MEMpCiAgICAgICAgTG9jYWwwICs9IDB4RTAKICAgICAgICBPcGVyYXRpb25SZWdpb24gKFZB Uk0sIFN5c3RlbU1lbW9yeSwgTG9jYWwwLCAweDA4KQogICAgICAgIEZpZWxkIChWQVJNLCBEV29y ZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIFZBUjEsICAgMzIK ICAgICAgICB9CgogICAgICAgIEJhbmtGaWVsZCAoVkFSTSwgVkFSMSwgQXJnMywgRFdvcmRBY2Ms IE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAgICAgICBPZmZzZXQgKDB4MDQpLCAK ICAgICAgICAgICAgVkFSMiwgICAzMgogICAgICAgIH0KCiAgICAgICAgVkFSMiA9IEFyZzQKICAg IH0KCiAgICBNZXRob2QgKE0wMjMsIDMsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgTTAxOCAo QXJnMCwgQXJnMSwgQXJnMiwgMHg3MCwgMHgwMywgMHgwMSwgMHgwMCkKICAgICAgICBNMDE4IChB cmcwLCBBcmcxLCBBcmcyLCAweDcwLCAweDEzLCAweDAxLCAweDAxKQogICAgfQoKICAgIE1ldGhv ZCAoTTAyNCwgMywgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBMb2NhbDAgPSBNMDE5IChBcmcw LCBBcmcxLCBBcmcyLCAweDAxMjgpCiAgICAgICAgSWYgKChMb2NhbDAgJiAweDAwMDIwMDAwKSkK ICAgICAgICB7CiAgICAgICAgICAgIFJldHVybiAoT25lcykKICAgICAgICB9CiAgICAgICAgRWxz ZQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuIChaZXJvKQogICAgICAgIH0KICAgIH0KCiAg ICBNZXRob2QgKE0wMjYsIDMsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgTG9jYWwwID0gTTAy MSAoQXJnMCwgQXJnMSwgQXJnMiwgMHhBMikKICAgICAgICBMb2NhbDAgJj0gMHhGRkZGRkZGOAog ICAgICAgIExvY2FsMSA9IChMb2NhbDAgPj4gMHgwNCkKICAgICAgICBMb2NhbDEgJj0gMHgwNwog ICAgICAgIExvY2FsMCB8PSBMb2NhbDEKICAgICAgICBMb2NhbDAgfD0gMHgwMTAwCiAgICAgICAg TTAyMiAoQXJnMCwgQXJnMSwgQXJnMiwgMHhBMiwgTG9jYWwwKQogICAgfQoKICAgIE1ldGhvZCAo TTAyNSwgMywgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBMb2NhbDAgPSBNMDE5IChBcmcwLCBB cmcxLCBBcmcyLCAweDY4KQogICAgICAgIExvY2FsMCAmPSAweEZGRkZGRkRGCiAgICAgICAgTTAy MCAoQXJnMCwgQXJnMSwgQXJnMiwgMHg2OCwgTG9jYWwwKQogICAgICAgIExvY2FsMCB8PSAweDIw CiAgICAgICAgTTAyMCAoQXJnMCwgQXJnMSwgQXJnMiwgMHg2OCwgTG9jYWwwKQogICAgICAgIExv Y2FsMSA9IDB4NjQKICAgICAgICBMb2NhbDIgPSAweDAxCiAgICAgICAgV2hpbGUgKChMb2NhbDEg JiYgTG9jYWwyKSkKICAgICAgICB7CiAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAgICAgICAg ICBMb2NhbDMgPSBNMDE5IChBcmcwLCBBcmcxLCBBcmcyLCAweDY4KQogICAgICAgICAgICBJZiAo KExvY2FsMyAmIDB4MDgwMDAwMDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2Nh bDEtLQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgTG9jYWwyID0gMHgwMAogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBM b2NhbDAgJj0gMHhGRkZGRkZERgogICAgICAgIE0wMjAgKEFyZzAsIEFyZzEsIEFyZzIsIDB4Njgs IExvY2FsMCkKICAgICAgICBJZiAoIUxvY2FsMikKICAgICAgICB7CiAgICAgICAgICAgIFJldHVy biAoT25lcykKICAgICAgICB9CiAgICAgICAgRWxzZQogICAgICAgIHsKICAgICAgICAgICAgUmV0 dXJuIChaZXJvKQogICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKE0wMDksIDEsIFNlcmlhbGl6 ZWQpCiAgICB7CiAgICAgICAgTG9jYWwwID0gKEFyZzAgPj4gMHgwOCkKICAgICAgICBMb2NhbDEg PSAoQXJnMCAmIDB4RkYpCiAgICAgICAgTG9jYWwyID0gMHgwMAogICAgICAgIElmICgoTG9jYWww ID09IDB4MDApKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKChNMDg1ID49IDB4MDIpKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDIgPSBNMDExICgoTTA4NCArIDB4MTUwMiks IChMb2NhbDEgKiAweDA0KSwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMSkKICAgICAg ICAgICAgfQogICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExv Y2FsMiA9IE0wMTEgKChNMDg0ICsgMHgwMTAwKSwgTG9jYWwxLCAweDA3LCAweDAxKQogICAgICAg ICAgICB9CiAgICAgICAgfQogICAgICAgIEVsc2VJZiAoKExvY2FsMCA9PSAweDAxKSkKICAgICAg ICB7CiAgICAgICAgICAgIExvY2FsMSA9IE0wMzggLyogRXh0ZXJuYWwgcmVmZXJlbmNlICovCiAg ICAgICAgICAgIExvY2FsMgogICAgICAgIH0KICAgICAgICBFbHNlSWYgKChMb2NhbDAgPT0gMHgw MikpCiAgICAgICAgewogICAgICAgICAgICAoTG9jYWwxICsgMHgwOCkgPSBNMDM4IC8qIEV4dGVy bmFsIHJlZmVyZW5jZSAqLwogICAgICAgICAgICBMb2NhbDIKICAgICAgICB9CgogICAgICAgIFJl dHVybiAoTG9jYWwyKQogICAgfQoKICAgIE1ldGhvZCAoTTAxMCwgMiwgU2VyaWFsaXplZCkKICAg IHsKICAgICAgICBMb2NhbDAgPSAoQXJnMCA+PiAweDA4KQogICAgICAgIExvY2FsMSA9IChBcmcw ICYgMHhGRikKICAgICAgICBJZiAoKExvY2FsMCA9PSAweDAwKSkKICAgICAgICB7CiAgICAgICAg ICAgIElmICgoTTA4NSA+PSAweDAyKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTTAx MiAoKE0wODQgKyAweDE1MDIpLCAoTG9jYWwxICogMHgwNCksIDB4MDYsIDB4MDIsICgKICAgICAg ICAgICAgICAgICAgICAweDAyIHwgQXJnMSkpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBNMDEyICgoTTA4NCArIDB4MDEwMCksIExv Y2FsMSwgMHgwNiwgMHgwMSwgQXJnMSkKICAgICAgICAgICAgICAgIE0wMTIgKChNMDg0ICsgMHgw MTAwKSwgTG9jYWwxLCAweDA1LCAweDAxLCAweDAwKQogICAgICAgICAgICB9CiAgICAgICAgfQog ICAgICAgIEVsc2VJZiAoKExvY2FsMCA9PSAweDAxKSkKICAgICAgICB7CiAgICAgICAgICAgIE0w MzkgKExvY2FsMSwgQXJnMSkKICAgICAgICB9CiAgICAgICAgRWxzZUlmICgoTG9jYWwwID09IDB4 MDIpKQogICAgICAgIHsKICAgICAgICAgICAgTTAzOSAoKExvY2FsMSArIDB4MDgpLCBBcmcxKQog ICAgICAgIH0KICAgIH0KCiAgICBOYW1lIChNMDM3LCBCdWZmZXIgKDB4MTcpCiAgICB7CiAgICAg ICAgLyogMDAwMCAqLyAgMHg3RSwgMHg4MSwgMHgwMywgMHgxNiwgMHgwNCwgMHgxNSwgMHgwRSwg MHgwNSwgIC8vIH4uLi4uLi4uCiAgICAgICAgLyogMDAwOCAqLyAgMHgwMiwgMHgyMCwgMHgwNiwg MHgwNywgMHgxMCwgMHgxMSwgMHgxMiwgMHgxOCwgIC8vIC4gLi4uLi4uCiAgICAgICAgLyogMDAx MCAqLyAgMHgxNywgMHgxOSwgMHgwQiwgMHgwMSwgMHgwRiwgMHgwRCwgMHgwOSAgICAgICAgIC8v IC4uLi4uLi4KICAgIH0pCiAgICBOYW1lIChNMjI3LCBCdWZmZXIgKDB4MTgpCiAgICB7CiAgICAg ICAgLyogMDAwMCAqLyAgMHg0MSwgMHg0MiwgMHgwMywgMHgxNiwgMHgwNCwgMHgxNSwgMHgwRSwg MHgwNSwgIC8vIEFCLi4uLi4uCiAgICAgICAgLyogMDAwOCAqLyAgMHgwMiwgMHg0NCwgMHgwNiwg MHgwNywgMHgxMCwgMHgxMSwgMHgxMiwgMHgxOCwgIC8vIC5ELi4uLi4uCiAgICAgICAgLyogMDAx MCAqLyAgMHgxNywgMHg0NSwgMHgwQiwgMHgwMSwgMHgwRiwgMHgwRCwgMHgwOSwgMHgwOCAgIC8v IC5FLi4uLi4uCiAgICB9KQogICAgTmFtZSAoTTMyOSwgQnVmZmVyICgweDE4KQogICAgewogICAg ICAgIC8qIDAwMDAgKi8gIDB4NTksIDB4NUEsIDB4MDMsIDB4MTYsIDB4MDQsIDB4MTUsIDB4NUIs IDB4MDUsICAvLyBZWi4uLi5bLgogICAgICAgIC8qIDAwMDggKi8gIDB4MDIsIDB4NTYsIDB4MDYs IDB4NEMsIDB4MTAsIDB4MTEsIDB4MTIsIDB4MTgsICAvLyAuVi5MLi4uLgogICAgICAgIC8qIDAw MTAgKi8gIDB4MTcsIDB4ODEsIDB4NTQsIDB4MDEsIDB4MjgsIDB4MDAsIDB4MDksIDB4MDggICAv LyAuLlQuKC4uLgogICAgfSkKICAgIE5hbWUgKE0zMzAsIEJ1ZmZlciAoMHgxOCkKICAgIHsKICAg ICAgICAvKiAwMDAwICovICAweDU5LCAweDVBLCAweDAzLCAweDE2LCAweDA0LCAweDE1LCAweDVC LCAweDA1LCAgLy8gWVouLi4uWy4KICAgICAgICAvKiAwMDA4ICovICAweDAyLCAweDU2LCAweDA2 LCAweDA3LCAweDEwLCAweDExLCAweDEyLCAweDE4LCAgLy8gLlYuLi4uLi4KICAgICAgICAvKiAw MDEwICovICAweDE3LCAweDgxLCAweDU0LCAweDAxLCAweDI4LCAweDAwLCAweDA5LCAweDA4ICAg Ly8gLi5ULiguLi4KICAgIH0pCiAgICBNZXRob2QgKE0wMjksIDEsIFNlcmlhbGl6ZWQpCiAgICB7 CiAgICAgICAgSWYgKChNMDg1ID09IDB4MDIpKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJu IChNMDExICgoTTA4NCArIDB4MTUwMiksIChEZXJlZk9mIChNMDM3IFtBcmcwXSkgKiAKICAgICAg ICAgICAgICAgIDB4MDQpLCAweDAwLCAweDAxKSkKICAgICAgICB9CiAgICAgICAgRWxzZUlmICgo TTA4NSA+PSAweDA5KSkKICAgICAgICB7CiAgICAgICAgICAgIElmICgoTTA4NSA+PSAweDBCKSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChNMDExICgoTTA4NCArIDB4MTUw MiksIChEZXJlZk9mIChNMzI5IFtBcmcwXSkgKiAKICAgICAgICAgICAgICAgICAgICAweDA0KSwg MHgwMCwgMHgwMSkpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBSZXR1cm4gKE0wMTEgKChNMDg0ICsgMHgxNTAyKSwgKERlcmVmT2Yg KE0zMzAgW0FyZzBdKSAqIAogICAgICAgICAgICAgICAgICAgIDB4MDQpLCAweDAwLCAweDAxKSkK ICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBFbHNlSWYgKChNMDg1ID09IDB4MDgpKQog ICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuIChNMDExICgoTTA4NCArIDB4MTUwMiksIChEZXJl Zk9mIChNMzI5IFtBcmcwXSkgKiAKICAgICAgICAgICAgICAgIDB4MDQpLCAweDAwLCAweDAxKSkK ICAgICAgICB9CiAgICAgICAgRWxzZUlmICgoTTA4NSA+PSAweDAzKSkKICAgICAgICB7CiAgICAg ICAgICAgIFJldHVybiAoTTAxMSAoKE0wODQgKyAweDE1MDIpLCAoRGVyZWZPZiAoTTIyNyBbQXJn MF0pICogCiAgICAgICAgICAgICAgICAweDA0KSwgMHgwMCwgMHgwMSkpCiAgICAgICAgfQogICAg ICAgIEVsc2UKICAgICAgICB7CiAgICAgICAgICAgIFJldHVybiAoTTAxMSAoKE0wODQgKyAweDAx NjApLCBBcmcwLCAweDA3LCAweDAxKSkKICAgICAgICB9CiAgICB9CgogICAgTWV0aG9kIChNMDMx LCAxLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIExvY2FsMCA9IE0wMTEgKChNMDg0ICsgMHgw MjQwKSwgQXJnMCwgMHgwMCwgMHgwNSkKICAgICAgICBSZXR1cm4gKE0wMTEgKChNMDg0ICsgMHgw MjA4KSwgKExvY2FsMCAvIDB4MDgpLCAoTG9jYWwwICYgCiAgICAgICAgICAgIDB4MDcpLCAweDAx KSkKICAgIH0KCiAgICBNZXRob2QgKE0wMzIsIDIsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAg TG9jYWwwID0gTTAxMSAoKE0wODQgKyAweDAyNDApLCBBcmcwLCAweDAwLCAweDA1KQogICAgICAg IE0wMTIgKChNMDg0ICsgMHgwMjA4KSwgKExvY2FsMCAvIDB4MDgpLCAoTG9jYWwwICYgMHgwNwog ICAgICAgICAgICApLCAweDAxLCBBcmcxKQogICAgfQoKICAgIE1ldGhvZCAoTTAxMywgNCwgU2Vy aWFsaXplZCkKICAgIHsKICAgICAgICBMb2NhbDAgPSAoQXJnMCArIEFyZzEpCiAgICAgICAgT3Bl cmF0aW9uUmVnaW9uIChWQVJNLCBTeXN0ZW1NZW1vcnksIExvY2FsMCwgMHgwNCkKICAgICAgICBG aWVsZCAoVkFSTSwgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAg ICAgICBWQVJSLCAgIDMyCiAgICAgICAgfQoKICAgICAgICBMb2NhbDEgPSBWQVJSIC8qIFxNMDEz LlZBUlIgKi8KICAgICAgICBMb2NhbDUgPSAweDdGRkZGRkZGCiAgICAgICAgTG9jYWw1IHw9IDB4 ODAwMDAwMDAKICAgICAgICBMb2NhbDIgPSAoKExvY2FsMSA+PiBBcmcyKSAmIChMb2NhbDUgPj4g KDB4MjAgLSBBcmczKQogICAgICAgICAgICApKQogICAgICAgIFJldHVybiAoTG9jYWwyKQogICAg fQoKICAgIE1ldGhvZCAoTTAxNCwgNSwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBMb2NhbDAg PSAoQXJnMCArIEFyZzEpCiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChWQVJNLCBTeXN0ZW1NZW1v cnksIExvY2FsMCwgMHgwNCkKICAgICAgICBGaWVsZCAoVkFSTSwgRFdvcmRBY2MsIE5vTG9jaywg UHJlc2VydmUpCiAgICAgICAgewogICAgICAgICAgICBWQVJSLCAgIDMyCiAgICAgICAgfQoKICAg ICAgICBMb2NhbDEgPSBWQVJSIC8qIFxNMDE0LlZBUlIgKi8KICAgICAgICBMb2NhbDUgPSAweDdG RkZGRkZGCiAgICAgICAgTG9jYWw1IHw9IDB4ODAwMDAwMDAKICAgICAgICBMb2NhbDIgPSAoQXJn MiArIEFyZzMpCiAgICAgICAgTG9jYWwyID0gKDB4MjAgLSBMb2NhbDIpCiAgICAgICAgTG9jYWwy ID0gKCgoTG9jYWw1IDw8IExvY2FsMikgJiBMb2NhbDUpID4+IExvY2FsMikKICAgICAgICBMb2Nh bDIgPSAoKExvY2FsMiA+PiBBcmcyKSA8PCBBcmcyKQogICAgICAgIExvY2FsMyA9IChBcmc0IDw8 IEFyZzIpCiAgICAgICAgTG9jYWw0ID0gKChMb2NhbDEgJiAoTG9jYWw1IF4gTG9jYWwyKSkgfCBM b2NhbDMpCiAgICAgICAgVkFSUiA9IExvY2FsNAogICAgfQoKICAgIE1ldGhvZCAoTTAxMSwgNCwg U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBMb2NhbDAgPSAoQXJnMCArIEFyZzEpCiAgICAgICAg T3BlcmF0aW9uUmVnaW9uIChWQVJNLCBTeXN0ZW1NZW1vcnksIExvY2FsMCwgMHgwMSkKICAgICAg ICBGaWVsZCAoVkFSTSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAg ICAgICAgIFZBUlIsICAgOAogICAgICAgIH0KCiAgICAgICAgTG9jYWwxID0gVkFSUiAvKiBcTTAx MS5WQVJSICovCiAgICAgICAgTG9jYWwyID0gKChMb2NhbDEgPj4gQXJnMikgJiAoMHhGRiA+PiAo MHgwOCAtIEFyZzMpCiAgICAgICAgICAgICkpCiAgICAgICAgUmV0dXJuIChMb2NhbDIpCiAgICB9 CgogICAgTWV0aG9kIChNMDEyLCA1LCBTZXJpYWxpemVkKQogICAgewogICAgICAgIExvY2FsMCA9 IChBcmcwICsgQXJnMSkKICAgICAgICBPcGVyYXRpb25SZWdpb24gKFZBUk0sIFN5c3RlbU1lbW9y eSwgTG9jYWwwLCAweDAxKQogICAgICAgIEZpZWxkIChWQVJNLCBCeXRlQWNjLCBOb0xvY2ssIFBy ZXNlcnZlKQogICAgICAgIHsKICAgICAgICAgICAgVkFSUiwgICA4CiAgICAgICAgfQoKICAgICAg ICBMb2NhbDEgPSBWQVJSIC8qIFxNMDEyLlZBUlIgKi8KICAgICAgICBMb2NhbDIgPSAoQXJnMiAr IEFyZzMpCiAgICAgICAgTG9jYWwyID0gKDB4MDggLSBMb2NhbDIpCiAgICAgICAgTG9jYWwyID0g KCgoMHhGRiA8PCBMb2NhbDIpICYgMHhGRikgPj4gTG9jYWwyKQogICAgICAgIExvY2FsMiA9ICgo TG9jYWwyID4+IEFyZzIpIDw8IEFyZzIpCiAgICAgICAgTG9jYWwzID0gKEFyZzQgPDwgQXJnMikK ICAgICAgICBMb2NhbDQgPSAoKExvY2FsMSAmICgweEZGIF4gTG9jYWwyKSkgfCBMb2NhbDMpCiAg ICAgICAgVkFSUiA9IExvY2FsNAogICAgfQoKICAgIE1ldGhvZCAoTTAxNywgNiwgU2VyaWFsaXpl ZCkKICAgIHsKICAgICAgICBMb2NhbDAgPSBNMDgzIC8qIFxNMDgzICovCiAgICAgICAgTG9jYWwx ID0gKE0wODMgPj4gMHgxNCkKICAgICAgICBMb2NhbDIgPSAoTG9jYWwxICYgMHgwRjAwKQogICAg ICAgIExvY2FsMiArPSAweDAxMDAKICAgICAgICBJZiAoKChMb2NhbDEgKyBBcmcwKSA+PSBMb2Nh bDIpKQogICAgICAgIHsKICAgICAgICAgICAgTG9jYWwzID0gMHg3RkZGRkZGRgogICAgICAgICAg ICBMb2NhbDMgfD0gMHg4MDAwMDAwMAogICAgICAgICAgICBMb2NhbDQgPSAoKExvY2FsMyA+PiBB cmc0KSAmIChMb2NhbDMgPj4gKDB4MjAgLSBBcmc1KQogICAgICAgICAgICAgICAgKSkKICAgICAg ICAgICAgUmV0dXJuIChMb2NhbDQpCiAgICAgICAgfQoKICAgICAgICBMb2NhbDAgKz0gKEFyZzAg PDwgMHgxNCkKICAgICAgICBMb2NhbDAgKz0gKEFyZzEgPDwgMHgwRikKICAgICAgICBMb2NhbDAg Kz0gKEFyZzIgPDwgMHgwQykKICAgICAgICBSZXR1cm4gKE0wMTMgKExvY2FsMCwgQXJnMywgQXJn NCwgQXJnNSkpCiAgICB9CgogICAgTWV0aG9kIChNMDE4LCA3LCBTZXJpYWxpemVkKQogICAgewog ICAgICAgIExvY2FsMCA9IE0wODMgLyogXE0wODMgKi8KICAgICAgICBMb2NhbDEgPSAoTTA4MyA+ PiAweDE0KQogICAgICAgIExvY2FsMiA9IChMb2NhbDEgJiAweDBGMDApCiAgICAgICAgTG9jYWwy ICs9IDB4MDEwMAogICAgICAgIElmICgoKExvY2FsMSArIEFyZzApIDwgTG9jYWwyKSkKICAgICAg ICB7CiAgICAgICAgICAgIExvY2FsMCArPSAoQXJnMCA8PCAweDE0KQogICAgICAgICAgICBMb2Nh bDAgKz0gKEFyZzEgPDwgMHgwRikKICAgICAgICAgICAgTG9jYWwwICs9IChBcmcyIDw8IDB4MEMp CiAgICAgICAgICAgIElmICgoTTAxMyAoTG9jYWwwLCAweDAwLCAweDAwLCAweDIwKSAhPSAweEZG RkZGRkZGKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTTAxNCAoTG9jYWwwLCBBcmcz LCBBcmc0LCBBcmc1LCBBcmc2KQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIE1l dGhvZCAoTTI2NSwgMywgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBMb2NhbDAgPSAweDAwCiAg ICAgICAgTG9jYWwxID0gTTAxNyAoQXJnMCwgQXJnMSwgQXJnMiwgMHgzNCwgMHgwMCwgMHgwOCkK ICAgICAgICBXaGlsZSAoKExvY2FsMSAhPSAweDAwKSkKICAgICAgICB7CiAgICAgICAgICAgIExv Y2FsMiA9IE0wMTcgKEFyZzAsIEFyZzEsIEFyZzIsIExvY2FsMSwgMHgwMCwgMHgwOCkKICAgICAg ICAgICAgSWYgKCgoTG9jYWwyID09IDB4MDApIHx8IChMb2NhbDIgPT0gMHhGRikpKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBCcmVhawogICAgICAgICAgICB9CgogICAgICAgICAgICBJ ZiAoKExvY2FsMiA9PSAweDEwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTG9jYWwz ID0gTTAxNyAoQXJnMCwgQXJnMSwgQXJnMiwgKExvY2FsMSArIDB4MEMpLCAweDEyLCAweDAxKQog ICAgICAgICAgICAgICAgTG9jYWw0ID0gTTAxNyAoQXJnMCwgQXJnMSwgQXJnMiwgKExvY2FsMSAr IDB4MTApLCAweDA4LCAweDAxKQogICAgICAgICAgICAgICAgSWYgKCgoTG9jYWwzID09IDB4MDEp ICYmIChMb2NhbDQgPT0gMHgwMSkpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIExvY2FsMCA9IDB4MDEKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBCcmVh awogICAgICAgICAgICB9CgogICAgICAgICAgICBMb2NhbDEgPSBNMDE3IChBcmcwLCBBcmcxLCBB cmcyLCAoTG9jYWwxICsgMHgwMSksIDB4MDAsIDB4MDgpCiAgICAgICAgfQoKICAgICAgICBSZXR1 cm4gKExvY2FsMCkKICAgIH0KCiAgICBNZXRob2QgKE0wMzMsIDMsIFNlcmlhbGl6ZWQpCiAgICB7 CiAgICAgICAgTG9jYWwwID0gMHgwMAogICAgICAgIExvY2FsMSA9IE0wMTcgKEFyZzAsIEFyZzEs IEFyZzIsIDB4MzQsIDB4MDAsIDB4MDgpCiAgICAgICAgV2hpbGUgKChMb2NhbDEgIT0gMHgwMCkp CiAgICAgICAgewogICAgICAgICAgICBMb2NhbDIgPSBNMDE3IChBcmcwLCBBcmcxLCBBcmcyLCBM b2NhbDEsIDB4MDAsIDB4MDgpCiAgICAgICAgICAgIElmICgoKExvY2FsMiA9PSAweDAwKSB8fCAo TG9jYWwyID09IDB4RkYpKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQnJlYWsKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChMb2NhbDIgPT0gMHgxMCkpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIExvY2FsMCA9IE0wMTcgKEFyZzAsIEFyZzEsIEFyZzIsIChMb2Nh bDEgKyAweDBDKSwgMHgwQSwgMHgwMikKICAgICAgICAgICAgICAgIEJyZWFrCiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIExvY2FsMSA9IE0wMTcgKEFyZzAsIEFyZzEsIEFyZzIsIChMb2NhbDEg KyAweDAxKSwgMHgwMCwgMHgwOCkKICAgICAgICB9CgogICAgICAgIFJldHVybiAoTG9jYWwwKQog ICAgfQoKICAgIE1ldGhvZCAoTTAyNywgMywgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBMb2Nh bDAgPSAweDAwCiAgICAgICAgTG9jYWwxID0gTTAxNyAoQXJnMCwgQXJnMSwgQXJnMiwgMHgzNCwg MHgwMCwgMHgwOCkKICAgICAgICBXaGlsZSAoKExvY2FsMSAhPSAweDAwKSkKICAgICAgICB7CiAg ICAgICAgICAgIExvY2FsMiA9IE0wMTcgKEFyZzAsIEFyZzEsIEFyZzIsIExvY2FsMSwgMHgwMCwg MHgwOCkKICAgICAgICAgICAgSWYgKCgoTG9jYWwyID09IDB4MDApIHx8IChMb2NhbDIgPT0gMHhG RikpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBCcmVhawogICAgICAgICAgICB9Cgog ICAgICAgICAgICBJZiAoKExvY2FsMiA9PSAweDEwKSkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgTG9jYWwwID0gTTAxNyAoQXJnMCwgQXJnMSwgQXJnMiwgKExvY2FsMSArIDB4MTApLCAw eDAwLCAweDAyKQogICAgICAgICAgICAgICAgQnJlYWsKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgTG9jYWwxID0gTTAxNyAoQXJnMCwgQXJnMSwgQXJnMiwgKExvY2FsMSArIDB4MDEpLCAweDAw LCAweDA4KQogICAgICAgIH0KCiAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICB9CgogICAgTWV0 aG9kIChNMDI4LCA0LCBTZXJpYWxpemVkKQogICAgewogICAgICAgIExvY2FsMSA9IE0wMTcgKEFy ZzAsIEFyZzEsIEFyZzIsIDB4MzQsIDB4MDAsIDB4MDgpCiAgICAgICAgV2hpbGUgKCgoTG9jYWwx ICE9IDB4MDApICYmIChMb2NhbDEgPCAweEZGKSkpCiAgICAgICAgewogICAgICAgICAgICBMb2Nh bDIgPSBNMDE3IChBcmcwLCBBcmcxLCBBcmcyLCBMb2NhbDEsIDB4MDAsIDB4MDgpCiAgICAgICAg ICAgIElmICgoKExvY2FsMiA9PSAweDAwKSB8fCAoTG9jYWwyID09IDB4RkYpKSkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgQnJlYWsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYg KChMb2NhbDIgPT0gMHgxMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE0wMTggKEFy ZzAsIEFyZzEsIEFyZzIsIChMb2NhbDEgKyAweDEwKSwgMHgwMCwgMHgwMiwgQXJnMykKICAgICAg ICAgICAgICAgIEJyZWFrCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIExvY2FsMSA9IE0wMTcg KEFyZzAsIEFyZzEsIEFyZzIsIChMb2NhbDEgKyAweDAxKSwgMHgwMCwgMHgwOCkKICAgICAgICB9 CiAgICB9CgogICAgTWV0aG9kIChNMDM0LCAxLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIFJl dHVybiAoTTAxMSAoKE0wODQgKyAweDA3MDApLCBBcmcwLCAweDAwLCAweDA4KSkKICAgIH0KCiAg ICBNZXRob2QgKE0wMTUsIDEsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgUmV0dXJuIChNMDEx ICgoTTA4NCArIDB4MDQwMCksIEFyZzAsIDB4MDAsIDB4MDgpKQogICAgfQoKICAgIE1ldGhvZCAo TTAxNiwgMiwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBNMDEyICgoTTA4NCArIDB4MDQwMCks IEFyZzAsIDB4MDAsIDB4MDgsIEFyZzEpCiAgICB9CgogICAgTWV0aG9kIChNMDM1LCAxLCBTZXJp YWxpemVkKQogICAgewogICAgICAgIFJldHVybiAoTTAxMSAoTTA4NCwgQXJnMCwgMHgwMCwgMHgw OCkpCiAgICB9CgogICAgTWV0aG9kIChNMDM2LCAyLCBTZXJpYWxpemVkKQogICAgewogICAgICAg IE0wMTIgKE0wODQsIEFyZzAsIDB4MDAsIDB4MDgsIEFyZzEpCiAgICB9CgogICAgTWV0aG9kIChN MDAxLCAyLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIExvY2FsMCA9IDB4MDAKICAgICAgICBJ ZiAoKEFyZzAgPT0gMHgxNSkpCiAgICAgICAgewogICAgICAgICAgICBMb2NhbDAgPSAweDAxCiAg ICAgICAgfQoKICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgIH0KCiAgICBNZXRob2QgKE0wMDMs IDMsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgTG9jYWwwID0gKEFyZzAgPDwgMHgwNSkKICAg ICAgICBMb2NhbDEgPSAoTG9jYWwwICsgQXJnMSkKICAgICAgICBMb2NhbDIgPSAoTG9jYWwxIDw8 IDB4MTgpCiAgICAgICAgTG9jYWwzID0gKExvY2FsMiArIEFyZzIpCiAgICAgICAgUmV0dXJuIChM b2NhbDMpCiAgICB9CgogICAgTWV0aG9kIChNMDA0LCAxLCBTZXJpYWxpemVkKQogICAgewogICAg ICAgIE9wZXJhdGlvblJlZ2lvbiAoVkFSTSwgU3lzdGVtSU8sIDB4MENEOCwgMHgwOCkKICAgICAg ICBGaWVsZCAoVkFSTSwgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAg ICAgICAgICBWQVIxLCAgIDMyCiAgICAgICAgfQoKICAgICAgICBCYW5rRmllbGQgKFZBUk0sIFZB UjEsIEFyZzAsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgIHsKICAgICAgICAg ICAgT2Zmc2V0ICgweDA0KSwgCiAgICAgICAgICAgIFZBUjIsICAgMzIKICAgICAgICB9CgogICAg ICAgIExvY2FsMCA9IFZBUjIgLyogXE0wMDQuVkFSMiAqLwogICAgICAgIFJldHVybiAoTG9jYWww KQogICAgfQoKICAgIE1ldGhvZCAoTTAwNSwgMiwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBP cGVyYXRpb25SZWdpb24gKFZBUk0sIFN5c3RlbUlPLCAweDBDRDgsIDB4MDgpCiAgICAgICAgRmll bGQgKFZBUk0sIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgIHsKICAgICAgICAg ICAgVkFSMSwgICAzMgogICAgICAgIH0KCiAgICAgICAgQmFua0ZpZWxkIChWQVJNLCBWQVIxLCBB cmcwLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICB7CiAgICAgICAgICAgIE9m ZnNldCAoMHgwNCksIAogICAgICAgICAgICBWQVIyLCAgIDMyCiAgICAgICAgfQoKICAgICAgICBW QVIyID0gQXJnMQogICAgfQoKICAgIE1ldGhvZCAoTTAwNiwgMywgU2VyaWFsaXplZCkKICAgIHsK ICAgICAgICBMb2NhbDAgPSAoTTAwNCAoQXJnMCkgJiBBcmcxKQogICAgICAgIExvY2FsMSA9IChM b2NhbDAgfCBBcmcyKQogICAgICAgIE0wMDUgKEFyZzAsIExvY2FsMSkKICAgIH0KCiAgICBNZXRo b2QgKE0wMDIsIDIsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKChBcmcwID09IDB4MDAp KQogICAgICAgIHsKICAgICAgICAgICAgSWYgKChBcmcxID09IDB4MDApKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBNMDA2IChNMDAzICgweDA2LCAweDAwLCAweEMwKSwgMHhGRkZGRUZG RiwgMHgwMCkKICAgICAgICAgICAgICAgIE0wMDYgKE0wMDMgKDB4MDEsIDB4MDAsIDB4NjUpLCAw eEZGRkZGRUZFLCAweDAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoKEFyZzEgPT0g MHgwMSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE0wMDYgKE0wMDMgKDB4MDYsIDB4 MDAsIDB4QzApLCAweEZGRkZERkZGLCAweDAwKQogICAgICAgICAgICAgICAgTTAwNiAoTTAwMyAo MHgwMSwgMHgwMCwgMHg2NSksIDB4RkZGRkZERkQsIDB4MDApCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIElmICgoQXJnMSA9PSAweDAyKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg TTAwNiAoTTAwMyAoMHgwNiwgMHgwMCwgMHhDMCksIDB4RkZGRkJGRkYsIDB4MDApCiAgICAgICAg ICAgICAgICBNMDA2IChNMDAzICgweDAxLCAweDAwLCAweDY1KSwgMHhGRkZGRkJGQiwgMHgwMCkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKChBcmcxID09IDB4MDMpKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBNMDA2IChNMDAzICgweDA2LCAweDAwLCAweEMwKSwgMHhGRkZG N0ZGRiwgMHgwMCkKICAgICAgICAgICAgICAgIE0wMDYgKE0wMDMgKDB4MDEsIDB4MDAsIDB4NjUp LCAweEZGRkZGN0Y3LCAweDAwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBTbGVlcCAoMHgw MSkKICAgICAgICB9CgogICAgICAgIElmICgoQXJnMCA9PSAweDAxKSkKICAgICAgICB7CiAgICAg ICAgICAgIElmICgoQXJnMSA9PSAweDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg TTAwNiAoTTAwMyAoMHgwNiwgMHgwMCwgMHhDMCksIDB4RkZGRkVGRkYsIDB4MTAwMCkKICAgICAg ICAgICAgICAgIE0wMDYgKE0wMDMgKDB4MDEsIDB4MDAsIDB4NjUpLCAweEZGRkZGRUZFLCAweDAx MDEpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMSA9PSAweDAxKSkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgTTAwNiAoTTAwMyAoMHgwNiwgMHgwMCwgMHhDMCksIDB4 RkZGRkRGRkYsIDB4MjAwMCkKICAgICAgICAgICAgICAgIE0wMDYgKE0wMDMgKDB4MDEsIDB4MDAs IDB4NjUpLCAweEZGRkZGREZELCAweDAyMDIpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElm ICgoQXJnMSA9PSAweDAyKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTTAwNiAoTTAw MyAoMHgwNiwgMHgwMCwgMHhDMCksIDB4RkZGRkJGRkYsIDB4NDAwMCkKICAgICAgICAgICAgICAg IE0wMDYgKE0wMDMgKDB4MDEsIDB4MDAsIDB4NjUpLCAweEZGRkZGQkZCLCAweDA0MDQpCiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIElmICgoQXJnMSA9PSAweDAzKSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTTAwNiAoTTAwMyAoMHgwNiwgMHgwMCwgMHhDMCksIDB4RkZGRjdGRkYs IDB4ODAwMCkKICAgICAgICAgICAgICAgIE0wMDYgKE0wMDMgKDB4MDEsIDB4MDAsIDB4NjUpLCAw eEZGRkZGN0Y3LCAweDA4MDgpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFNsZWVwICgweDAx KQogICAgICAgIH0KCiAgICAgICAgSWYgKChBcmcwID09IDB4MDApKQogICAgICAgIHsKICAgICAg ICAgICAgTTAwOCAoQXJnMSkKICAgICAgICAgICAgTG9jYWwwID0gTTAwNCAoTTAwMyAoMHgwMywg QXJnMSwgMHhBNSkpCiAgICAgICAgICAgIExvY2FsMCAmPSAweEZGCiAgICAgICAgICAgIExvY2Fs MSA9IDB4MDFGNAogICAgICAgICAgICBXaGlsZSAoKChMb2NhbDEgPiAweDAwKSAmJiAoTG9jYWww ICE9IDB4MTApKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTG9jYWwwID0gTTAwNCAo TTAwMyAoMHgwMywgQXJnMSwgMHhBNSkpCiAgICAgICAgICAgICAgICBMb2NhbDAgJj0gMHhGRgog ICAgICAgICAgICAgICAgTG9jYWwxLS0KICAgICAgICAgICAgICAgIFNsZWVwICgweDAxKQogICAg ICAgICAgICB9CgogICAgICAgICAgICBJZiAoKExvY2FsMCAhPSAweDEwKSkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgTTAwNyAoQXJnMSkKICAgICAgICAgICAgfQogICAgICAgIH0KICAg IH0KCiAgICBNZXRob2QgKE0wMDgsIDEsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgTG9jYWww ID0gTTAxOSAoMHgwMCwgMHgxNSwgQXJnMCwgMHg4OCkKICAgICAgICBMb2NhbDEgPSAoKExvY2Fs MCAmIDB4RkZGRkZGRjApIHwgMHgwMikKICAgICAgICBNMDIwICgweDAwLCAweDE1LCBBcmcwLCAw eDg4LCBMb2NhbDEpCiAgICAgICAgTTAwNiAoTTAwMyAoMHgwMywgQXJnMCwgMHhBNCksIDB4RkZG RkZGRkUsIDB4MDEpCiAgICAgICAgTTAwNiAoTTAwMyAoMHgwMywgQXJnMCwgMHhBMiksIDB4RkZG RkRGRkYsIDB4MjAwMCkKICAgICAgICBNMDA2IChNMDAzICgweDAzLCBBcmcwLCAweEMwKSwgMHhG RkZGN0ZGRiwgMHg4MDAwKQogICAgICAgIE0wMDYgKE0wMDMgKDB4MDMsIEFyZzAsIDB4QTQpLCAw eERGRkZGRkZGLCAweDIwMDAwMDAwKQogICAgICAgIFNsZWVwICgweDAxKQogICAgfQoKICAgIE1l dGhvZCAoTTAwNywgMSwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBMb2NhbDAgPSBNMDE5ICgw eDAwLCAweDE1LCBBcmcwLCAweDg4KQogICAgICAgIExvY2FsMSA9ICgoTG9jYWwwICYgMHhGRkZG RkZGMCkgfCAweDAxKQogICAgICAgIE0wMjAgKDB4MDAsIDB4MTUsIEFyZzAsIDB4ODgsIExvY2Fs MSkKICAgICAgICBNMDA2IChNMDAzICgweDAzLCBBcmcwLCAweEE0KSwgMHhGRkZGRkZGRSwgMHgw MCkKICAgICAgICBNMDA2IChNMDAzICgweDAzLCBBcmcwLCAweEEyKSwgMHhGRkZGREZGRiwgMHgy MDAwKQogICAgICAgIFNsZWVwICgweDAxKQogICAgfQoKICAgIE1ldGhvZCAoTTExMSwgMiwgU2Vy aWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoKEFyZzAgIT0gMHgwMCkpCiAgICAgICAgewogICAg ICAgICAgICBMb2NhbDAgPSBNMTEwIC8qIFxNMTEwICovCiAgICAgICAgICAgIElmIChMb2NhbDAp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCArPSAweDEwCiAgICAgICAgICAg ICAgICBMb2NhbDEgPSAweDAwCiAgICAgICAgICAgICAgICBMb2NhbDIgPSBNMDEzICgoTG9jYWww ICsgTG9jYWwxKSwgMHgwMCwgMHgwMCwgMHgwOCkKICAgICAgICAgICAgICAgIFdoaWxlICgoKExv Y2FsMiAhPSAweEZGKSAmJiAoTG9jYWwyICE9IDB4MDApKSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBMb2NhbDMgPSBNMDEzICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwMSwg MHgwMCwgMHgwOCkKICAgICAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDIgPT0gQXJnMCkgJiYg KExvY2FsMyA9PSBBcmcxKSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDMgPSBNMDEzICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwNywgMHgwMCwgMHgw OCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDMgIT0gMHgwMCkpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNCA9IE0w MTMgKChMb2NhbDAgKyBMb2NhbDEpLCAweDAyLCAweDAwLCAweDA4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKChMb2NhbDQgPT0gMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw1ID0gTTAxMyAoKExv Y2FsMCArIExvY2FsMSksIDB4MDMsIDB4MDAsIDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTG9jYWw2ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MDMsIDB4MTAsIDB4 MDgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTTAxMCAoTG9jYWw1LCBMb2NhbDYp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKChMb2NhbDQgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw1ID0gTTAxMyAoKExvY2FsMCArIExv Y2FsMSksIDB4MDMsIDB4MDAsIDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWw2ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MDMsIDB4MTAsIDB4MDgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKChNMDA5IChMb2NhbDUpICE9IExvY2Fs Nikpe30KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoKExvY2FsNCA9PSAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDUgPSBNMDEzICgoTG9jYWww ICsgTG9jYWwxKSwgMHgwMywgMHgwMCwgMHgyMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTbGVlcCAoKChMb2NhbDUgKyAweDAzRTcpIC8gMHgwM0U4KSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTG9jYWwxICs9IDB4MDgKICAgICAgICAgICAgICAg ICAgICBMb2NhbDIgPSBNMDEzICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwMCwgMHgwMCwgMHgwOCkK ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBNZXRo b2QgKE0yMjgsIDEsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKChBcmcwID4gMHgwMykp CiAgICAgICAgewogICAgICAgICAgICBMb2NhbDAgPSBNMTEwIC8qIFxNMTEwICovCiAgICAgICAg ICAgIElmIChMb2NhbDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCArPSAw eDEwCiAgICAgICAgICAgICAgICBMb2NhbDEgPSAweDAwCiAgICAgICAgICAgICAgICBMb2NhbDIg PSBNMDEzICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwMCwgMHgwMCwgMHgwOCkKICAgICAgICAgICAg ICAgIFdoaWxlICgoKExvY2FsMiAhPSAweEZGKSAmJiAoTG9jYWwyICE9IDB4MDApKSkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBMb2NhbDMgPSBNMDEzICgoTG9jYWwwICsg TG9jYWwxKSwgMHgwNywgMHgwMCwgMHgwOCkKICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2Fs MyA9PSBBcmcwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsNCA9IE0wMTMgKChMb2NhbDAgKyBMb2NhbDEpLCAweDAyLCAweDAwLCAweDA4KQogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsNCA9PSAweDAwKSkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw1ID0gTTAxMyAoKExv Y2FsMCArIExvY2FsMSksIDB4MDMsIDB4MDAsIDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMb2NhbDYgPSBNMDEzICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwMywgMHgxMCwgMHgwOCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE0wMTAgKExvY2FsNSwgTG9jYWw2KQogICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsNCA9 PSAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgTG9jYWw1ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MDMsIDB4MDAsIDB4MTAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDYgPSBNMDEzICgoTG9jYWwwICsgTG9j YWwxKSwgMHgwMywgMHgxMCwgMHgwOCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxl ICgoTTAwOSAoTG9jYWw1KSAhPSBMb2NhbDYpKXt9CiAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWw0ID09IDB4MDIpKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDUgPSBNMDEz ICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwMywgMHgwMCwgMHgyMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNsZWVwICgoKExvY2FsNSArIDB4MDNFNykgLyAweDAzRTgpKQogICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBMb2NhbDEgKz0gMHgwOAogICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IE0wMTMgKChMb2Nh bDAgKyBMb2NhbDEpLCAweDAwLCAweDAwLCAweDA4KQogICAgICAgICAgICAgICAgfQogICAgICAg ICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIE1ldGhvZCAoTTIxOSwgMiwgU2VyaWFsaXplZCkK ICAgIHsKICAgICAgICBJZiAoKEFyZzAgIT0gMHgwMCkpCiAgICAgICAgewogICAgICAgICAgICBM b2NhbDAgPSBNMjIxIC8qIFxNMjIxICovCiAgICAgICAgICAgIElmICgoTG9jYWwwICYgMHgwMikp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCA9IE0yMjAgLyogXE0yMjAgKi8K ICAgICAgICAgICAgICAgIElmIChMb2NhbDApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgTG9jYWwwICs9IDB4MTAKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgPSAweDAw CiAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gMHgwMQogICAgICAgICAgICAgICAgICAgIFdo aWxlICgoTG9jYWwyICE9IDB4RkYpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgTG9jYWwyID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MDAsIDB4MDAs IDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMyA9IE0wMTMgKChMb2NhbDAgKyBM b2NhbDEpLCAweDAxLCAweDAwLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDQg PSBNMDEzICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwNCwgMHgwMCwgMHgwOCkKICAgICAgICAgICAg ICAgICAgICAgICAgTG9jYWw1ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MDcsIDB4MDAs IDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWw0ID09IEFyZzApKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKChM b2NhbDIgPCAweDBBKSAmJiAoTG9jYWw1ICYgMHg4MCkpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmICgoQXJnMSA9PSAweDAw KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmICgoTTA4NSA+PSAweDA0KSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TTAxMiAoKE0wODQgKyAweDBFMDApLCAweDAwLCAoTG9jYWwyICogMHgwMiksIDB4MDIsIDB4MDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNMDEyICgoTTA4NCAr IDB4MEUwMCksIChMb2NhbDIgLyAweDAyKSwgKChMb2NhbDIgJiAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxKSAqIDB4MDQpLCAweDA0LCAweDAwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2VJZiAoKExvY2Fs NSAmIDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChBcmcxID09IDB4MDEpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoKE0wODUgPj0gMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TTAxMiAoKE0wODQgKyAweDBFMDApLCAweDAwLCAoTG9jYWwyICogMHgwMiksIDB4MDIsIDB4MDMp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTTAxMiAoKE0wODQgKyAweDBFMDApLCAoTG9jYWwyIC8gMHgwMiksICgoTG9jYWwyICYgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEpICogMHgw NCksIDB4MDQsIDB4MEYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmICgoQXJnMSA9PSAweDAyKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWw2ID0gTTAxNyAoMHgwMCwgTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MDUsIDB4 MDAsIDB4MDgpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBN MDEzICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwNiwgMHgwMCwgMHgwOCksIDB4MTksIDB4MDAsIDB4 MDgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoKE0yNjUgKExv Y2FsNiwgMHgwMCwgMHgwMCkgPT0gMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKChNMDg1ID49IDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TTAxMiAoKE0wODQgKyAweDBFMDApLCAweDAwLCAoTG9jYWwyICogMHgwMiksIDB4MDIsIDB4MDEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE0wMTIgKChNMDg0ICsgMHgwRTAwKSwgKExvY2FsMiAvIDB4MDIp LCAoKExvY2FsMiAmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSkgKiAweDA0KSwgMHgwNCwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlSWYgKChNMDg1ID49IDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTTAxMiAoKE0wODQgKyAweDBF MDApLCAweDAwLCAoTG9jYWwyICogMHgwMiksIDB4MDIsIDB4MDMpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE0wMTIgKChNMDg0ICsgMHgwRTAwKSwgKExvY2FsMiAvIDB4MDIpLCAoKExvY2Fs MiAmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSkgKiAweDA0 KSwgMHgwNCwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gMHhGRgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgICAgICBMb2NhbDEgKz0gMHgwQwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKE0xMTIsIDIs IFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKChBcmcwICE9IDB4MDApKQogICAgICAgIHsK ICAgICAgICAgICAgTG9jYWwwID0gTTEwOSAvKiBcTTEwOSAqLwogICAgICAgICAgICBJZiAoTG9j YWwwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDAgKz0gMHgxMAogICAgICAg ICAgICAgICAgTG9jYWwxID0gMHgwMAogICAgICAgICAgICAgICAgTG9jYWwyID0gMHgwMQogICAg ICAgICAgICAgICAgV2hpbGUgKCgoTG9jYWwyICE9IDB4RkYpICYmIChMb2NhbDIgIT0gMHgwMCkp KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IE0wMTMgKChM b2NhbDAgKyBMb2NhbDEpLCAweDAwLCAweDAwLCAweDA4KQogICAgICAgICAgICAgICAgICAgIExv Y2FsMyA9IE0wMTMgKChMb2NhbDAgKyBMb2NhbDEpLCAweDAxLCAweDAwLCAweDA4KQogICAgICAg ICAgICAgICAgICAgIElmICgoKExvY2FsMiA9PSBBcmcwKSAmJiAoTG9jYWwzID09IEFyZzEpKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwz IDwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExvY2FsNCA9IE0wMTMgKChMb2NhbDAgKyBMb2NhbDEpLCAweDAyLCAweDAwLCAweDA4 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDQgPT0gMHgwMCkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWw1ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MDMsIDB4MDAsIDB4MTApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw2ID0gTTAxMyAoKExvY2FsMCArIExvY2Fs MSksIDB4MDMsIDB4MTAsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTTAx MCAoTG9jYWw1LCBMb2NhbDYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmICgoTG9jYWwzID09 IDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMb2NhbDUgPSBNMDEzICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwMywgMHgwMCwgMHgyMCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgoKExvY2FsNSArIDB4MDNFNykgLyAw eDAzRTgpKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBMb2NhbDEgKz0gMHgwOAogICAgICAgICAgICAgICAgfQogICAg ICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIE1ldGhvZCAoTTI3NSwgMiwgU2VyaWFsaXpl ZCkKICAgIHsKICAgICAgICBMb2NhbDcgPSAweDAwCiAgICAgICAgSWYgKChBcmcwICE9IDB4MDAp KQogICAgICAgIHsKICAgICAgICAgICAgTG9jYWwwID0gTTEwOSAvKiBcTTEwOSAqLwogICAgICAg ICAgICBJZiAoTG9jYWwwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBMb2NhbDAgKz0g MHgxMAogICAgICAgICAgICAgICAgTG9jYWwxID0gMHgwMAogICAgICAgICAgICAgICAgTG9jYWwy ID0gMHgwMQogICAgICAgICAgICAgICAgV2hpbGUgKCgoTG9jYWwyICE9IDB4RkYpICYmIChMb2Nh bDIgIT0gMHgwMCkpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2Fs MiA9IE0wMTMgKChMb2NhbDAgKyBMb2NhbDEpLCAweDAwLCAweDAwLCAweDA4KQogICAgICAgICAg ICAgICAgICAgIExvY2FsMyA9IE0wMTMgKChMb2NhbDAgKyBMb2NhbDEpLCAweDAxLCAweDAwLCAw eDA4KQogICAgICAgICAgICAgICAgICAgIElmICgoKExvY2FsMiA9PSBBcmcwKSAmJiAoTG9jYWwz ID09IEFyZzEpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IElmICgoTG9jYWwzIDwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExvY2FsNCA9IE0wMTMgKChMb2NhbDAgKyBMb2NhbDEpLCAweDAy LCAweDAwLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDQgPT0g MHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTG9jYWw1ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MDMsIDB4MDAs IDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw2ID0gTTAxMyAoKExv Y2FsMCArIExvY2FsMSksIDB4MDMsIDB4MTAsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKChNMDA5IChMb2NhbDUpID09IExvY2FsNikpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2Nh bDcgPSAweDAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBMb2NhbDEgKz0gMHgwOAogICAgICAgICAgICAg ICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBSZXR1cm4gKExvY2FsNykKICAg IH0KCiAgICBNZXRob2QgKE0xMTMsIDEsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKChB cmcwICE9IDB4MDApKQogICAgICAgIHsKICAgICAgICAgICAgTG9jYWwwID0gTTEwOCAvKiBcTTEw OCAqLwogICAgICAgICAgICBMb2NhbDcgPSAweDAxCiAgICAgICAgICAgIElmIChMb2NhbDApCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIExvY2FsMCArPSAweDEwCiAgICAgICAgICAgICAg ICBMb2NhbDEgPSAweDAwCiAgICAgICAgICAgICAgICBMb2NhbDIgPSAweDAxCiAgICAgICAgICAg ICAgICBXaGlsZSAoKChMb2NhbDIgIT0gMHhGRikgJiYgKExvY2FsMiAhPSAweDAwKSkpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTG9jYWwyID0gTTAxMyAoKExvY2FsMCAr IExvY2FsMSksIDB4MDAsIDB4MDAsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgSWYgKChMb2Nh bDIgPT0gQXJnMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBMb2NhbDIgPSAweEZGCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsMyA9IE0wMTMgKChM b2NhbDAgKyBMb2NhbDEpLCAweDAxLCAweDAwLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoKExvY2FsMyA9PSAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgTG9jYWw1ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4 MDIsIDB4MDAsIDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDYgPSBNMDEz ICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwNCwgMHgwMCwgMHgwOCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExvY2FsNyA9IChNMDA5IChMb2NhbDUpID09IExvY2FsNikKICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKChMb2NhbDMgPT0gMHgw MSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsNSA9IE0wMTMgKChMb2NhbDAgKyBMb2NhbDEpLCAweDAyLCAweDAwLCAweDEwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw2ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSks IDB4MDQsIDB4MDAsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDcgPSAo TTAwOSAoTG9jYWw1KSA9PSBMb2NhbDYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2Nh bDUgPSBNMDEzICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwNSwgMHgwMCwgMHgxMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExvY2FsNiA9IE0wMTMgKChMb2NhbDAgKyBMb2NhbDEpLCAweDA3 LCAweDAwLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw3ICY9IChNMDA5 IChMb2NhbDUpID09IExvY2FsNikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKChMb2NhbDMgPT0gMHgwMikpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNSA9IE0wMTMgKChMb2NhbDAg KyBMb2NhbDEpLCAweDAyLCAweDAwLCAweDEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWw2ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MDQsIDB4MDAsIDB4MDgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDcgPSAoTTAwOSAoTG9jYWw1KSA9PSBMb2NhbDYp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDUgPSBNMDEzICgoTG9jYWwwICsgTG9j YWwxKSwgMHgwNSwgMHgwMCwgMHgxMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2Fs NiA9IE0wMTMgKChMb2NhbDAgKyBMb2NhbDEpLCAweDA3LCAweDAwLCAweDA4KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgTG9jYWw3ICY9IChNMDA5IChMb2NhbDUpID09IExvY2FsNikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNSA9IE0wMTMgKChMb2NhbDAgKyBMb2NhbDEp LCAweDA4LCAweDAwLCAweDEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw2ID0g TTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MEEsIDB4MDAsIDB4MDgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMb2NhbDcgJj0gKE0wMDkgKExvY2FsNSkgPT0gTG9jYWw2KQogICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMyA9 PSAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgTG9jYWw1ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MDIsIDB4MDAsIDB4MTAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDYgPSBNMDEzICgoTG9jYWwwICsgTG9j YWwxKSwgMHgwNCwgMHgwMCwgMHgwOCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2Fs NyA9IChNMDA5IChMb2NhbDUpID09IExvY2FsNikKICAgICAgICAgICAgICAgICAgICAgICAgICAg IExvY2FsNSA9IE0wMTMgKChMb2NhbDAgKyBMb2NhbDEpLCAweDA1LCAweDAwLCAweDEwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw2ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSks IDB4MDcsIDB4MDAsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDcgfD0g KE0wMDkgKExvY2FsNSkgPT0gTG9jYWw2KQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoKExvY2FsMyA9PSAweDA0KSkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw1ID0gTTAxMyAoKExv Y2FsMCArIExvY2FsMSksIDB4MDIsIDB4MDAsIDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMb2NhbDYgPSBNMDEzICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwNCwgMHgwMCwgMHgwOCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNyA9IChNMDA5IChMb2NhbDUpID09IExv Y2FsNikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2FsNSA9IE0wMTMgKChMb2NhbDAg KyBMb2NhbDEpLCAweDA1LCAweDAwLCAweDEwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg TG9jYWw2ID0gTTAxMyAoKExvY2FsMCArIExvY2FsMSksIDB4MDcsIDB4MDAsIDB4MDgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMb2NhbDcgfD0gKE0wMDkgKExvY2FsNSkgPT0gTG9jYWw2 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWw1ID0gTTAxMyAoKExvY2FsMCArIExv Y2FsMSksIDB4MDgsIDB4MDAsIDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2Nh bDYgPSBNMDEzICgoTG9jYWwwICsgTG9jYWwxKSwgMHgwQSwgMHgwMCwgMHgwOCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExvY2FsNyB8PSAoTTAwOSAoTG9jYWw1KSA9PSBMb2NhbDYpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgTG9jYWwxICs9IDB4MEIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgRWxzZQogICAgICAgIHsKICAgICAgICAg ICAgTG9jYWw3ID0gMHgwMAogICAgICAgIH0KCiAgICAgICAgSWYgKExvY2FsNykKICAgICAgICB7 CiAgICAgICAgICAgIExvY2FsNyA9IDB4MDEKICAgICAgICB9CgogICAgICAgIFJldHVybiAoTG9j YWw3KQogICAgfQoKICAgIE1ldGhvZCAoTTExNCwgNCwgU2VyaWFsaXplZCkKICAgIHsKICAgICAg ICBMb2NhbDcgPSAweDAwCiAgICAgICAgSWYgKCFNMDAxIChBcmcwLCBBcmcxKSkKICAgICAgICB7 CiAgICAgICAgICAgIE5hbWUgKE0xMTUsIEJ1ZmZlciAoMHgwNSl7fSkKICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChNMTE1LCAweDAwLCBNMTE2KQogICAgICAgICAgICBDcmVhdGVGaWVsZCAo TTExNSwgMHgxMCwgMHgwMywgTTExNykKICAgICAgICAgICAgQ3JlYXRlRmllbGQgKE0xMTUsIDB4 MTMsIDB4MDUsIE0xMTgpCiAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoTTExNSwgMHgwMywg TTExOSkKICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChNMTE1LCAweDA0LCBNMTIwKQogICAg ICAgICAgICBNMTE2ID0gMHgwNQogICAgICAgICAgICBNMTE5ID0gMHgwMAogICAgICAgICAgICBN MTE4ID0gQXJnMAogICAgICAgICAgICBNMTE3ID0gQXJnMQogICAgICAgICAgICBJZiAoKEFyZzIg PT0gMHgwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmICgoQXJnMyAhPSAweDAx KSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBNMTIwID0gMHgwMAogICAg ICAgICAgICAgICAgICAgIFxfU0IuQUxJQiAoMHgwNiwgTTExNSkKICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfQogICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIElmICgoQXJnMyAhPSAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBNMTIwID0gMHgwMQogICAgICAgICAgICAgICAgICAgIFxfU0IuQUxJQiAoMHgwNiwgTTEx NSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBMb2NhbDAgPSBNMDE3ICgweDAw LCBBcmcwLCBBcmcxLCAweDE5LCAweDAwLCAweDA4KQogICAgICAgICAgICAgICAgSWYgKCgoTG9j YWwwICE9IDB4MDApICYmIChMb2NhbDAgIT0gMHhGRikpKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIExvY2FsMSA9IE0wMTkgKExvY2FsMCwgMHgwMCwgMHgwMCwgMHgwMCkK ICAgICAgICAgICAgICAgICAgICBMb2NhbDIgPSAweDdGRkZGRkZGCiAgICAgICAgICAgICAgICAg ICAgTG9jYWwyIHw9IDB4ODAwMDAwMDAKICAgICAgICAgICAgICAgICAgICBJZiAoKChMb2NhbDEg IT0gMHgwMCkgJiYgKExvY2FsMSAhPSBMb2NhbDIpKSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIExvY2FsNyA9IDB4MDEKICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgRWxzZUlm ICgoQXJnMiA9PSAweDAwKSkKICAgICAgICB7CiAgICAgICAgICAgIE0wMDIgKDB4MDEsIEFyZzEp CiAgICAgICAgfQogICAgICAgIEVsc2UKICAgICAgICB7CiAgICAgICAgICAgIE0wMDIgKDB4MDAs IEFyZzEpCiAgICAgICAgICAgIExvY2FsMCA9IE0wMTcgKDB4MDAsIEFyZzAsIEFyZzEsIDB4MTks IDB4MDAsIDB4MDgpCiAgICAgICAgICAgIElmICgoKExvY2FsMCAhPSAweDAwKSAmJiAoTG9jYWww ICE9IDB4RkYpKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTG9jYWwxID0gTTAxOSAo TG9jYWwwLCAweDAwLCAweDAwLCAweDAwKQogICAgICAgICAgICAgICAgTG9jYWwyID0gMHg3RkZG RkZGRgogICAgICAgICAgICAgICAgTG9jYWwyIHw9IDB4ODAwMDAwMDAKICAgICAgICAgICAgICAg IElmICgoKExvY2FsMSAhPSAweDAwKSAmJiAoTG9jYWwxICE9IExvY2FsMikpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsNyA9IDB4MDEKICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgUmV0dXJuIChMb2NhbDcpCiAgICB9 CgogICAgTWV0aG9kIChNMjUyLCAyLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIElmICgoTTA4 NSA+PSAweDA4KSkKICAgICAgICB7CiAgICAgICAgICAgIExvY2FsMCA9IE0yNTEgLyogXE0yNTEg Ki8KICAgICAgICAgICAgSWYgKExvY2FsMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg TG9jYWwwICs9IDB4MTAKICAgICAgICAgICAgICAgIExvY2FsMSA9IDB4MDAKICAgICAgICAgICAg ICAgIExvY2FsMiA9IDB4MDAKICAgICAgICAgICAgICAgIFdoaWxlICgoTG9jYWwyICE9IDB4RkYp KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIExvY2FsMiA9IE0wMTEgKChM b2NhbDAgKyBMb2NhbDEpLCAweDAwLCAweDAwLCAweDA4KQogICAgICAgICAgICAgICAgICAgIExv Y2FsMyA9IE0wMTEgKChMb2NhbDAgKyBMb2NhbDEpLCAweDAxLCAweDAwLCAweDA4KQogICAgICAg ICAgICAgICAgICAgIExvY2FsNCA9IE0wMTEgKChMb2NhbDAgKyBMb2NhbDEpLCAweDAyLCAweDAw LCAweDA4KQogICAgICAgICAgICAgICAgICAgIElmICgoKExvY2FsMiA9PSBBcmcwKSAmJiAoTG9j YWwzID09IEFyZzEpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoTG9jYWw0KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTG9jYWwxICs9IDB4MDMKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAg ICAgIH0KCiAgICAgICAgUmV0dXJuICgweEZGRkZGRkZGKQogICAgfQoKICAgIE5hbWUgKE0wNDYs IFplcm8pCiAgICBOYW1lIChNMDQ3LCBPbmVzKQogICAgTWV0aG9kIChNMDQ1LCAwLCBTZXJpYWxp emVkKQogICAgewogICAgICAgIExvY2FsMCA9IDB4MDAKICAgICAgICBJZiAoKE0wNDcgPT0gT25l cykpCiAgICAgICAgewogICAgICAgICAgICBNMDQ3ID0gMHgwMAogICAgICAgICAgICBNMDQ2ID0g MHgwMAogICAgICAgICAgICBJZiAoQ29uZFJlZk9mIChcX09TSSkpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIElmIChcX09TSSAoIldpbmRvd3MgMjAxMiIpKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIE0wNDYgPSAweDAxCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgSWYgKFxfT1NJICgiV2luZG93cyAyMDEzIikpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgTTA0NiA9IDB4MDEKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBJZiAoXF9PU0kgKCJXaW5kb3dzIDIwMTUiKSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBNMDQ2ID0gMHgwMQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIElmIChcX09TSSAoIldpbmRvd3MgMjAxNiIpKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIE0wNDYgPSAweDAxCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgSWYgKFxfT1NJICgiV2luZG93cyAyMDE3IikpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgTTA0NiA9IDB4MDEKICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgfQogICAgICAgIH0KCiAgICAgICAgSWYgKChNMDQ2ID09IDB4MDEpKQogICAgICAgIHsKICAg ICAgICAgICAgTG9jYWwwID0gMHgwMQogICAgICAgIH0KCiAgICAgICAgUmV0dXJuIChMb2NhbDAp CiAgICB9CgogICAgTWV0aG9kIChNMDQ5LCAyLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIExv Y2FsMCA9IDB4MDAKICAgICAgICBJZiAoKEFyZzAgIT0gMHgwMCkpCiAgICAgICAgewogICAgICAg ICAgICBMb2NhbDAgPSBNMDExIChBcmcwLCBBcmcxLCAweDAwLCAweDA4KQogICAgICAgIH0KCiAg ICAgICAgUmV0dXJuIChMb2NhbDApCiAgICB9CgogICAgTXV0ZXggKE0yMzAsIDB4MDApCiAgICBN ZXRob2QgKE0yMzIsIDMsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgTG9jYWwwID0gQXJnMAog ICAgICAgIExvY2FsMSA9IEFyZzEKICAgICAgICBMb2NhbDIgPSBBcmcyCiAgICAgICAgQWNxdWly ZSAoTTIzMCwgMHhGRkZGKQogICAgICAgIExvY2FsMCA9IEFyZzAKICAgICAgICBPcGVyYXRpb25S ZWdpb24gKFZBUk0sIFN5c3RlbUlPLCBNMjMxLCAweDAyKQogICAgICAgIEZpZWxkIChWQVJNLCBC eXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgIHsKICAgICAgICAgICAgVkFSMSwgICA4 LCAKICAgICAgICAgICAgVkFSMiwgICA4CiAgICAgICAgfQoKICAgICAgICBWQVIyID0gTG9jYWwx CiAgICAgICAgVkFSMSA9IExvY2FsMAogICAgICAgIFNsZWVwIChMb2NhbDIpCiAgICAgICAgUmVs ZWFzZSAoTTIzMCkKICAgIH0KCiAgICBNZXRob2QgKE0wNDMsIDMsIFNlcmlhbGl6ZWQpCiAgICB7 CiAgICAgICAgSWYgKENvbmRSZWZPZiAoTU9FTSkpCiAgICAgICAgewogICAgICAgICAgICBSZXR1 cm4gKE1PRU0pIC8qIEV4dGVybmFsIHJlZmVyZW5jZSAqLwogICAgICAgICAgICBBcmcwCiAgICAg ICAgICAgIEFyZzEKICAgICAgICAgICAgQXJnMgogICAgICAgIH0KICAgICAgICBFbHNlCiAgICAg ICAgewogICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgfQogICAgfQoKICAgIE1ldGhv ZCAoTUxJQiwgMiwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBTd2l0Y2ggKFRvSW50ZWdlciAo QXJnMCkpCiAgICAgICAgewogICAgICAgICAgICBDYXNlICgweDAwKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBMb2NhbDAgPSBEZXJlZk9mIChBcmcxIFsweDAyXSkKICAgICAgICAgICAg ICAgIFN3aXRjaCAoVG9JbnRlZ2VyIChMb2NhbDApKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIENhc2UgKDB4MDMpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBNMjI4ICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICBNMjI4ICgw eDA1KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBDYXNlICgweDA0 KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTTIyOCAoMHgw NCkKICAgICAgICAgICAgICAgICAgICAgICAgTTIyOCAoMHgwNikKICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgQ2FzZSAoMHgwMykKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIE0yMjggKDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ICAgIE0yMjggKDB4MDcpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfQoKICAgICAgICB9CiAgICB9CgogICAgTWV0aG9kIChNMjQ4LCAxLCBTZXJp YWxpemVkKQogICAgewogICAgICAgIElmICgoTTA4NSA9PSAweDA4KSkKICAgICAgICB7CiAgICAg ICAgICAgIElmICgoQXJnMCA9PSAweDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg UmV0dXJuIChNMDE3ICgweDAwLCAweDA3LCAweDAxLCAweDE5LCAweDAwLCAweDA4KSkKICAgICAg ICAgICAgfQogICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJl dHVybiAoTTAxNyAoMHgwMCwgMHgwOCwgMHgwMSwgMHgxOSwgMHgwMCwgMHgwOCkpCiAgICAgICAg ICAgIH0KICAgICAgICB9CiAgICAgICAgRWxzZUlmICgoTTA4NSA+PSAweDBCKSkKICAgICAgICB7 CiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAwKSkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgUmV0dXJuIChNMDE3ICgweDAwLCAweDA3LCAweDAxLCAweDE5LCAweDAwLCAweDA4KSkK ICAgICAgICAgICAgfQogICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIFJldHVybiAoTTAxNyAoMHgwMCwgMHgwOCwgQXJnMCwgMHgxOSwgMHgwMCwgMHgwOCkpCiAg ICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgRWxzZUlmICgoTTA4NSA+PSAweDA5KSkKICAg ICAgICB7CiAgICAgICAgICAgIElmICgoQXJnMCA9PSAweDAwKSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgUmV0dXJuIChNMDE3ICgweDAwLCAweDA4LCAweDAxLCAweDE5LCAweDAwLCAw eDA4KSkKICAgICAgICAgICAgfQogICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIFJldHVybiAoTTAxNyAoMHgwMCwgMHgwOCwgMHgwMiwgMHgxOSwgMHgwMCwgMHgw OCkpCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgRWxzZQogICAgICAgIHsKICAgICAg ICAgICAgUmV0dXJuICgweDAwKQogICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKE1QVFMsIDEs IE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgTG9jYWwwID0gTTA0OSAoTTEyOCwgMHg2NykK ICAgICAgICBJZiAoKChMb2NhbDAgJiAweDAzKSA9PSAweDAzKSkKICAgICAgICB7CiAgICAgICAg ICAgIElmICgoTTA4NSA+PSAweDA4KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9T Qi5QQ0kwLkdQMTguU0FUQS5UUFRTIChBcmcwKQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5QQ0kwLlNBVEEuVFBUUyAoQXJn MCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgSWYgKChNMjI2ICE9IDB4MDApKQog ICAgICAgIHsKICAgICAgICAgICAgXF9TQi5NMjYzIChBcmcwKQogICAgICAgIH0KICAgIH0KCiAg ICBNZXRob2QgKE1XQUssIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgTG9jYWwwID0g TTA0OSAoTTEyOCwgMHg2NykKICAgICAgICBJZiAoKChMb2NhbDAgJiAweDAzKSA9PSAweDAzKSkK ICAgICAgICB7CiAgICAgICAgICAgIElmICgoTTA4NSA+PSAweDA4KSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkdQMTguU0FUQS5UV0FLIChBcmcwKQogICAgICAgICAg ICB9CiAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5Q Q0kwLlNBVEEuVFdBSyAoQXJnMCkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgSWYg KChNMjI2ICE9IDB4MDApKQogICAgICAgIHsKICAgICAgICAgICAgXF9TQi5NMjY0IChBcmcwKQog ICAgICAgIH0KCiAgICAgICAgSWYgKChNMjgwICE9IDB4MDApKQogICAgICAgIHsKICAgICAgICAg ICAgXF9TQi5NMjg0IChBcmcwKQogICAgICAgIH0KICAgIH0KfQoK --MP_/1Di51aL/Xn5O5pqkjIqKZjN--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210424060226.25e2d945>