From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id AE11E1391DB for ; Sun, 23 Mar 2014 10:54:00 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3B68FE0D50; Sun, 23 Mar 2014 10:53:25 +0000 (UTC) Received: from mail-yk0-f173.google.com (mail-yk0-f173.google.com [209.85.160.173]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 5F68BE0D31 for ; Sun, 23 Mar 2014 10:53:23 +0000 (UTC) Received: by mail-yk0-f173.google.com with SMTP id 10so11495374ykt.4 for ; Sun, 23 Mar 2014 03:53:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=DJNjnSZKtz40QAYfdJ4BTlJMQ7EVdTpnYgrDrPwtX54=; b=UvN5YzyBcUTWqVwc21qcP+HXpDE65uY5cWKJpaOky+CnF7QZNDw0aE0/QTup9OyO4w Gsveof1emgoDtCfFAUZ9fNf3u3hBWIDDvxEm4Ko4jlazYK7UTr10QmYv0kcLCxt5zxKj PN803x4M6yi/4kKUpOPXGBgP7K4pfG8QtsFP2B8Smn8fa3iGUVapSOv+6BfN9FQPGD9w /aTjzxxhrVJo67BsmmbOpX804fx6dofQlsjLa8Q8JdqNlwlifAgyDcF+1fl5siKwpwZ7 tgf66NrfdKPD8oKU2z3dTlg4P1wm52jPHCwJgZBXA7yQQ3BADIhKDM9XQ9Wq/rZ+hVzx UsbQ== Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 X-Received: by 10.236.60.68 with SMTP id t44mr56391878yhc.47.1395572002436; Sun, 23 Mar 2014 03:53:22 -0700 (PDT) Received: by 10.170.40.80 with HTTP; Sun, 23 Mar 2014 03:53:22 -0700 (PDT) Date: Sun, 23 Mar 2014 07:53:22 -0300 Message-ID: Subject: [gentoo-user] Making XEN functional From: Facundo Curti To: gentoo-user@lists.gentoo.org Content-Type: multipart/mixed; boundary=bcaec508238c781d2004f543ed72 X-Archives-Salt: 2984abd4-07e1-4199-a2b7-01c9804ca443 X-Archives-Hash: 372602b9557d282d43c34cfd89ff081c --bcaec508238c781d2004f543ed72 Content-Type: text/plain; charset=UTF-8 Hi list! :) First at all, I apologize if my english is not perfect, I know i'm not the only non-english speak on list, but I apologize any way jeje :P I'm trying to install XEN for first time on my gentoo desktop machine. my hardware specs to take into consideration are: i7 proccessor - 4GB ram SDD disk parted using GPT EFI mother. But also supports boot like BIOS. I'm following the guide from wiki for firsts steeps [1], but having in consideration the xen doc [2] and arch wiki [3]. The question is that I'm having 2 problems :/ First: I installed xen, and xen-tools. But I don't know why now I cant recompile xen-tools ._. The output is [tmp1]. I just can see a "econf failed", but I cant find how to fix it. My emerge --info '=app-emulation/xen-tools-4.3.1-r5::gentoo' is [tmp2] emerge -pqv '=app-emulation/xen-tools-4.3.1-r5::gentoo' is [tmp3] /var/tmp/portage/app-emulation/xen-tools-4.3.1-r5/temp/build.log [tmp4] /var/tmp/portage/app-emulation/xen-tools-4.3.1-r5/temp/environment[tmp5] But really, this is my minor problem :/ XEN does not work at all :P I re-emerged all my system with emerge -e world, compiled my kernel, and configured grub. The system looks like starts with XEN. (When I boot the system, shows something about XEN that I cant read, and next starts loading the kernel). Once in the system, I try to make a xm list, xm show and also I try to execute xend from a console. But every one says: Traceback (most recent call last): File "/usr/sbin/xend", line 36, in from xen.xend.server import SrvDaemon ImportError: No module named xen.xend.server Looks like XEN can't find the modules, but I cant find where XEN stores it :/ I made a find / xen.xend and this give me 0 results. maybe this wasn't installed? My .config from kernel is [configKernel] and my [grub.cfg] I don't know what more info I can post, anything you need, ask me ;) I hope somebody could help me please. Thank you for read! :) [1] https://wiki.gentoo.org/wiki/Xen [2] http://wiki.xenproject.org/wiki/Xen_Beginners_Guide [3] https://wiki.archlinux.org/index.php/xen --bcaec508238c781d2004f543ed72 Content-Type: application/octet-stream; name=tmp Content-Disposition: attachment; filename=tmp Content-Transfer-Encoding: base64 X-Attachment-Id: f_ht47fy2z0 Q2FsY3VsYXRpbmcgZGVwZW5kZW5jaWVzICAuLi4gZG9uZSEKCj4+PiBWZXJpZnlpbmcgZWJ1aWxk IG1hbmlmZXN0cwoKPj4+IEVtZXJnaW5nICgxIG9mIDEpIGFwcC1lbXVsYXRpb24veGVuLXRvb2xz LTQuMy4xLXI1CiAqIHhlbi00LjMuMS50YXIuZ3ogU0hBMjU2IFNIQTUxMiBXSElSTFBPT0wgc2l6 ZSA7LSkgLi4uICAgICAgICAgICAgICAgICBbIG9rIF0KICogaXB4ZS50YXIuZ3ogU0hBMjU2IFNI QTUxMiBXSElSTFBPT0wgc2l6ZSA7LSkgLi4uICAgICAgICAgICAgICAgICAgICAgIFsgb2sgXQog KiBzZWFiaW9zLWRpci1yZW1vdGUtMjAxMzA3MjAudGFyLmd6IFNIQTI1NiBTSEE1MTIgV0hJUkxQ T09MIHNpemUgOy0pIC4uLiBbIG9rIF0KPj4+IFVucGFja2luZyBzb3VyY2UuLi4KPj4+IFVucGFj a2luZyB4ZW4tNC4zLjEudGFyLmd6IHRvIC92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtdWxhdGlvbi94 ZW4tdG9vbHMtNC4zLjEtcjUvd29yawo+Pj4gVW5wYWNraW5nIGlweGUudGFyLmd6IHRvIC92YXIv dG1wL3BvcnRhZ2UvYXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMtNC4zLjEtcjUvd29yawo+Pj4gVW5w YWNraW5nIHNlYWJpb3MtZGlyLXJlbW90ZS0yMDEzMDcyMC50YXIuZ3ogdG8gL3Zhci90bXAvcG9y dGFnZS9hcHAtZW11bGF0aW9uL3hlbi10b29scy00LjMuMS1yNS93b3JrCj4+PiBTb3VyY2UgdW5w YWNrZWQgaW4gL3Zhci90bXAvcG9ydGFnZS9hcHAtZW11bGF0aW9uL3hlbi10b29scy00LjMuMS1y NS93b3JrCj4+PiBQcmVwYXJpbmcgc291cmNlIGluIC92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtdWxh dGlvbi94ZW4tdG9vbHMtNC4zLjEtcjUvd29yay94ZW4tNC4zLjEgLi4uCiAqIEFwcGx5aW5nIHhl bi00LjMtZml4X2RvdGNvbmZpZy1nY2MucGF0Y2ggLi4uCiBbIG9rIF0KICogQXBwbHlpbmcgeGVu LXRvb2xzLTQtZG9jZml4LnBhdGNoIC4uLgogWyBvayBdCiAqIEFwcGx5aW5nIHhlbi10b29scy00 LXFlbXUteGVuLWRvYy5wYXRjaCAuLi4KIFsgb2sgXQogKiBBcHBseWluZyB4ZW4tdG9vbHMtMy40 LjAtbmV0d29yay1icmlkZ2UtYnJvYWRjYXN0LnBhdGNoIC4uLgogWyBvayBdCiAqIEFwcGx5aW5n IHhlbi00LjMtYW50aS1kb3dubG9hZC5wYXRjaCAuLi4KIFsgb2sgXQogKiBBcHBseWluZyB4ZW4t dG9vbHMtNC4xLjEtYnJpZGdlLnBhdGNoIC4uLgogWyBvayBdCiAqIEFwcGx5aW5nIHhlbi00LjIu MC1ub3N0cmlwLnBhdGNoIC4uLgogWyBvayBdCiAqIEFwcGx5aW5nIHhlbi00LjMtanNlcnZlci5w YXRjaCAuLi4KIFsgb2sgXQogKiBBcHBseWluZyB4ZW4tNC11bG9uZy5wYXRjaCAuLi4KIFsgb2sg XQogKiBBcHBseWluZyB4ZW4tNC4yLWNvbmZpZ3N4cC5wYXRjaCAuLi4KIFsgb2sgXQogKiBBcHBs eWluZyB4ZW4tNC1DVkUtMjAxMi02MDc1LVhTQS00MS5wYXRjaCAuLi4KIFsgb2sgXQogKiBBcHBs eWluZyB4ZW4tNC1DVkUtWFNBLTg2LnBhdGNoIC4uLgogWyBvayBdCiAqIEFwcGx5aW5nIHhlbi10 b29scy00LUNWRS0yMDE0LTE5NTAtWFNBLTg4LnBhdGNoIC4uLgogWyBvayBdCiAqIEFwcGx5aW5n IHhlbi10b29scy00LjMtYXItY2MucGF0Y2ggLi4uCiBbIG9rIF0KICogQXBwbHlpbmcgcWVtdS1i cmlkZ2UucGF0Y2ggLi4uCiBbIG9rIF0KICogQXBwbHlpbmcgZml4LWdvbGQtbGQucGF0Y2ggLi4u CiBbIG9rIF0KPj4+IFNvdXJjZSBwcmVwYXJlZC4KPj4+IENvbmZpZ3VyaW5nIHNvdXJjZSBpbiAv dmFyL3RtcC9wb3J0YWdlL2FwcC1lbXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1L3dvcmsveGVu LTQuMy4xIC4uLgogKiBlY29uZjogdXBkYXRpbmcgeGVuLTQuMy4xL2NvbmZpZy5zdWIgd2l0aCAv dXNyL3NoYXJlL2dudWNvbmZpZy9jb25maWcuc3ViCiAqIGVjb25mOiB1cGRhdGluZyB4ZW4tNC4z LjEvY29uZmlnLmd1ZXNzIHdpdGggL3Vzci9zaGFyZS9nbnVjb25maWcvY29uZmlnLmd1ZXNzCi4v Y29uZmlndXJlIC0tcHJlZml4PS91c3IgLS1idWlsZD14ODZfNjQtcGMtbGludXgtZ251IC0taG9z dD14ODZfNjQtcGMtbGludXgtZ251IC0tbWFuZGlyPS91c3Ivc2hhcmUvbWFuIC0taW5mb2Rpcj0v dXNyL3NoYXJlL2luZm8gLS1kYXRhZGlyPS91c3Ivc2hhcmUgLS1zeXNjb25mZGlyPS9ldGMgLS1s b2NhbHN0YXRlZGlyPS92YXIvbGliIC0tbGliZGlyPS91c3IvbGliNjQgLS1wcmVmaXg9L3VzciAt LWRpc2FibGUtd2Vycm9yIC0tZGlzYWJsZS1vY2FtbHRvb2xzCmNoZWNraW5nIGJ1aWxkIHN5c3Rl bSB0eXBlLi4uIHg4Nl82NC1wYy1saW51eC1nbnUKY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4u LiB4ODZfNjQtcGMtbGludXgtZ251CldpbGwgYnVpbGQgdGhlIGZvbGxvd2luZyBzdWJzeXN0ZW1z OgogIHhlbgogIGtlcm5lbHMKICB0b29scwogIHN0dWJkb20KICBkb2NzCmNvbmZpZ3VyZTogY3Jl YXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIC4vY29uZmlnL1Rv cGxldmVsLm1rCj09PSBjb25maWd1cmluZyBpbiB0b29scyAoL3Zhci90bXAvcG9ydGFnZS9hcHAt ZW11bGF0aW9uL3hlbi10b29scy00LjMuMS1yNS93b3JrL3hlbi00LjMuMS90b29scykKY29uZmln dXJlOiBydW5uaW5nIC9iaW4vc2ggLi9jb25maWd1cmUgLS1kaXNhYmxlLW9wdGlvbi1jaGVja2lu ZyAnLS1wcmVmaXg9L3VzcicgICctLWJ1aWxkPXg4Nl82NC1wYy1saW51eC1nbnUnICctLWhvc3Q9 eDg2XzY0LXBjLWxpbnV4LWdudScgJy0tbWFuZGlyPS91c3Ivc2hhcmUvbWFuJyAnLS1pbmZvZGly PS91c3Ivc2hhcmUvaW5mbycgJy0tZGF0YWRpcj0vdXNyL3NoYXJlJyAnLS1zeXNjb25mZGlyPS9l dGMnICctLWxvY2Fsc3RhdGVkaXI9L3Zhci9saWInICctLWxpYmRpcj0vdXNyL2xpYjY0JyAnLS1k aXNhYmxlLXdlcnJvcicgJy0tZGlzYWJsZS1vY2FtbHRvb2xzJyAnYnVpbGRfYWxpYXM9eDg2XzY0 LXBjLWxpbnV4LWdudScgJ2hvc3RfYWxpYXM9eDg2XzY0LXBjLWxpbnV4LWdudScgLS1jYWNoZS1m aWxlPS9kZXYvbnVsbCAtLXNyY2Rpcj0uCmNvbmZpZ3VyZTogV0FSTklORzogU2V0dGluZyBDQywg Q0ZMQUdTLCBMREZMQUdTLCBMSUJTLCBDUFBGTEFHUyBvciBDUFAgaXMgbm90IHJlY29tbWVuZGVk LCB1c2UgUFJFUEVORF9JTkNMVURFUywgUFJFUEVORF9MSUIsIEFQUEVORF9JTkNMVURFUyBhbmQg QVBQRU5EX0xJQiBpbnN0ZWFkIHdoZW4gcG9zc2libGUuCmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0 eXBlLi4uIHg4Nl82NC1wYy1saW51eC1nbnUKY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiB4 ODZfNjQtcGMtbGludXgtZ251CmNoZWNraW5nIGZvciB4ODZfNjQtcGMtbGludXgtZ251LWdjYy4u LiB4ODZfNjQtcGMtbGludXgtZ251LWdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy IHdvcmtzLi4uIG5vCmNvbmZpZ3VyZTogZXJyb3I6IGluIGAvdmFyL3RtcC9wb3J0YWdlL2FwcC1l bXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1L3dvcmsveGVuLTQuMy4xL3Rvb2xzJzoKY29uZmln dXJlOiBlcnJvcjogQyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzClNlZSBgY29u ZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscwpjb25maWd1cmU6IGVycm9yOiAuL2NvbmZpZ3VyZSBm YWlsZWQgZm9yIHRvb2xzCgohISEgUGxlYXNlIGF0dGFjaCB0aGUgZm9sbG93aW5nIGZpbGUgd2hl biBzZWVraW5nIHN1cHBvcnQ6CiEhISAvdmFyL3RtcC9wb3J0YWdlL2FwcC1lbXVsYXRpb24veGVu LXRvb2xzLTQuMy4xLXI1L3dvcmsveGVuLTQuMy4xL2NvbmZpZy5sb2cKICogRVJST1I6IGFwcC1l bXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1OjpnZW50b28gZmFpbGVkIChjb25maWd1cmUgcGhh c2UpOgogKiAgIGVjb25mIGZhaWxlZAogKiAKICogQ2FsbCBzdGFjazoKICogICAgICAgICAgZWJ1 aWxkLnNoLCBsaW5lICAgOTM6ICBDYWxsZWQgc3JjX2NvbmZpZ3VyZQogKiAgICAgICAgZW52aXJv bm1lbnQsIGxpbmUgMzAyOTogIENhbGxlZCBlY29uZiAnLS1wcmVmaXg9L3VzcicgJy0tZGlzYWJs ZS13ZXJyb3InICctLWRpc2FibGUtb2NhbWx0b29scycKICogICBwaGFzZS1oZWxwZXJzLnNoLCBs aW5lICA1ODQ6ICBDYWxsZWQgZGllCiAqIFRoZSBzcGVjaWZpYyBzbmlwcGV0IG9mIGNvZGU6CiAq ICAgCQkJZGllICJlY29uZiBmYWlsZWQiCiAqIAogKiBJZiB5b3UgbmVlZCBzdXBwb3J0LCBwb3N0 IHRoZSBvdXRwdXQgb2YgYGVtZXJnZSAtLWluZm8gJz1hcHAtZW11bGF0aW9uL3hlbi10b29scy00 LjMuMS1yNTo6Z2VudG9vJ2AsCiAqIHRoZSBjb21wbGV0ZSBidWlsZCBsb2cgYW5kIHRoZSBvdXRw dXQgb2YgYGVtZXJnZSAtcHF2ICc9YXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMtNC4zLjEtcjU6Omdl bnRvbydgLgogKiBUaGUgY29tcGxldGUgYnVpbGQgbG9nIGlzIGxvY2F0ZWQgYXQgJy92YXIvdG1w L3BvcnRhZ2UvYXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMtNC4zLjEtcjUvdGVtcC9idWlsZC5sb2cn LgogKiBUaGUgZWJ1aWxkIGVudmlyb25tZW50IGZpbGUgaXMgbG9jYXRlZCBhdCAnL3Zhci90bXAv cG9ydGFnZS9hcHAtZW11bGF0aW9uL3hlbi10b29scy00LjMuMS1yNS90ZW1wL2Vudmlyb25tZW50 Jy4KICogV29ya2luZyBkaXJlY3Rvcnk6ICcvdmFyL3RtcC9wb3J0YWdlL2FwcC1lbXVsYXRpb24v eGVuLXRvb2xzLTQuMy4xLXI1L3dvcmsveGVuLTQuMy4xJwogKiBTOiAnL3Zhci90bXAvcG9ydGFn ZS9hcHAtZW11bGF0aW9uL3hlbi10b29scy00LjMuMS1yNS93b3JrL3hlbi00LjMuMScKCj4+PiBG YWlsZWQgdG8gZW1lcmdlIGFwcC1lbXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1LCBMb2cgZmls ZToKCj4+PiAgJy92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMtNC4zLjEt cjUvdGVtcC9idWlsZC5sb2cnCiAqIE1lc3NhZ2VzIGZvciBwYWNrYWdlIGFwcC1lbXVsYXRpb24v eGVuLXRvb2xzLTQuMy4xLXI1OgogKiBFUlJPUjogYXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMtNC4z LjEtcjU6OmdlbnRvbyBmYWlsZWQgKGNvbmZpZ3VyZSBwaGFzZSk6CiAqICAgZWNvbmYgZmFpbGVk CiAqIAogKiBDYWxsIHN0YWNrOgogKiAgICAgICAgICBlYnVpbGQuc2gsIGxpbmUgICA5MzogIENh bGxlZCBzcmNfY29uZmlndXJlCiAqICAgICAgICBlbnZpcm9ubWVudCwgbGluZSAzMDI5OiAgQ2Fs bGVkIGVjb25mICctLXByZWZpeD0vdXNyJyAnLS1kaXNhYmxlLXdlcnJvcicgJy0tZGlzYWJsZS1v Y2FtbHRvb2xzJwogKiAgIHBoYXNlLWhlbHBlcnMuc2gsIGxpbmUgIDU4NDogIENhbGxlZCBkaWUK ICogVGhlIHNwZWNpZmljIHNuaXBwZXQgb2YgY29kZToKICogICAJCQlkaWUgImVjb25mIGZhaWxl ZCIKICogCiAqIElmIHlvdSBuZWVkIHN1cHBvcnQsIHBvc3QgdGhlIG91dHB1dCBvZiBgZW1lcmdl IC0taW5mbyAnPWFwcC1lbXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1OjpnZW50b28nYCwKICog dGhlIGNvbXBsZXRlIGJ1aWxkIGxvZyBhbmQgdGhlIG91dHB1dCBvZiBgZW1lcmdlIC1wcXYgJz1h cHAtZW11bGF0aW9uL3hlbi10b29scy00LjMuMS1yNTo6Z2VudG9vJ2AuCiAqIFRoZSBjb21wbGV0 ZSBidWlsZCBsb2cgaXMgbG9jYXRlZCBhdCAnL3Zhci90bXAvcG9ydGFnZS9hcHAtZW11bGF0aW9u L3hlbi10b29scy00LjMuMS1yNS90ZW1wL2J1aWxkLmxvZycuCiAqIFRoZSBlYnVpbGQgZW52aXJv bm1lbnQgZmlsZSBpcyBsb2NhdGVkIGF0ICcvdmFyL3RtcC9wb3J0YWdlL2FwcC1lbXVsYXRpb24v eGVuLXRvb2xzLTQuMy4xLXI1L3RlbXAvZW52aXJvbm1lbnQnLgogKiBXb3JraW5nIGRpcmVjdG9y eTogJy92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMtNC4zLjEtcjUvd29y ay94ZW4tNC4zLjEnCiAqIFM6ICcvdmFyL3RtcC9wb3J0YWdlL2FwcC1lbXVsYXRpb24veGVuLXRv b2xzLTQuMy4xLXI1L3dvcmsveGVuLTQuMy4xJwoKCg== --bcaec508238c781d2004f543ed72 Content-Type: application/octet-stream; name=tmp2 Content-Disposition: attachment; filename=tmp2 Content-Transfer-Encoding: base64 X-Attachment-Id: f_ht47g6zd1 UG9ydGFnZSAyLjIuOC1yMSAoZGVmYXVsdC9saW51eC9hbWQ2NC8xMy4wLCBnY2MtNC43LjMsIGds aWJjLTIuMTcsIDMuMTIuMTMtZ2VudG9vIHg4Nl82NCkKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAg ICAgICAgICAgIFN5c3RlbSBTZXR0aW5ncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpTeXN0ZW0gdW5hbWU6IExpbnV4LTMu MTIuMTMtZ2VudG9vLXg4Nl82NC1JbnRlbC1SLV9Db3JlLVRNLV9pNy00NzcwX0NQVV9AXzMuNDBH SHotd2l0aC1nZW50b28tMi4yCktpQiBNZW06ICAgICAzNTAxNTk2IHRvdGFsLCAgICA4NDEyODAg ZnJlZQpLaUIgU3dhcDogICAgMzkwNTUzMiB0b3RhbCwgICAzODk4ODAwIGZyZWUKVGltZXN0YW1w IG9mIHRyZWU6IFNhdCwgMjIgTWFyIDIwMTQgMDQ6MDU6MDEgKzAwMDAKbGQgR05VIGxkIChHTlUg QmludXRpbHMpIDIuMjMuMgphcHAtc2hlbGxzL2Jhc2g6ICAgICAgICAgIDQuMl9wNDUKZGV2LWph dmEvamF2YS1jb25maWc6ICAgICAyLjIuMApkZXYtbGFuZy9weXRob246ICAgICAgICAgIDIuNy41 LXIzLCAzLjMuMwpkZXYtdXRpbC9jbWFrZTogICAgICAgICAgIDIuOC4xMS4yCmRldi11dGlsL3Br Z2NvbmZpZzogICAgICAgMC4yOApzeXMtYXBwcy9iYXNlbGF5b3V0OiAgICAgIDIuMgpzeXMtYXBw cy9vcGVucmM6ICAgICAgICAgIDAuMTIuNApzeXMtYXBwcy9zYW5kYm94OiAgICAgICAgIDIuNi1y MQpzeXMtZGV2ZWwvYXV0b2NvbmY6ICAgICAgIDIuMTMsIDIuNjkKc3lzLWRldmVsL2F1dG9tYWtl OiAgICAgICAxLjEyLjYsIDEuMTMuNApzeXMtZGV2ZWwvYmludXRpbHM6ICAgICAgIDIuMjMuMgpz eXMtZGV2ZWwvZ2NjOiAgICAgICAgICAgIDQuNy4zLXIxCnN5cy1kZXZlbC9nY2MtY29uZmlnOiAg ICAgMS43LjMKc3lzLWRldmVsL2xpYnRvb2w6ICAgICAgICAyLjQuMgpzeXMtZGV2ZWwvbWFrZTog ICAgICAgICAgIDMuODItcjQKc3lzLWtlcm5lbC9saW51eC1oZWFkZXJzOiAzLjkgKHZpcnR1YWwv b3MtaGVhZGVycykKc3lzLWxpYnMvZ2xpYmM6ICAgICAgICAgICAyLjE3ClJlcG9zaXRvcmllczog Z2VudG9vCkFDQ0VQVF9LRVlXT1JEUz0iYW1kNjQiCkFDQ0VQVF9MSUNFTlNFPSIqIgpDQlVJTEQ9 Ing4Nl82NC1wYy1saW51eC1nbnUiCkNGTEFHUz0iLW1hcmNoPW5hdGl2ZSAtZm9taXQtZnJhbWUt cG9pbnRlciAtbXNzZSAtbXNzZTIgLW1zc2UzIC1tbW14IC1PMiAtcGlwZSAtbWVsZl94ODZfNjQi CkNIT1NUPSJ4ODZfNjQtcGMtbGludXgtZ251IgpDT05GSUdfUFJPVEVDVD0iL2V0YyAvdXNyL3No YXJlL2dudXBnL3F1YWxpZmllZC50eHQiCkNPTkZJR19QUk9URUNUX01BU0s9Ii9ldGMvY2EtY2Vy dGlmaWNhdGVzLmNvbmYgL2V0Yy9kY29uZiAvZXRjL2Vudi5kIC9ldGMvZm9udHMvZm9udHMuY29u ZiAvZXRjL2djb25mIC9ldGMvZ2VudG9vLXJlbGVhc2UgL2V0Yy9yZXZkZXAtcmVidWlsZCAvZXRj L3NhbmRib3guZCAvZXRjL3Rlcm1pbmZvIgpDWFhGTEFHUz0iLW1hcmNoPW5hdGl2ZSAtZm9taXQt ZnJhbWUtcG9pbnRlciAtbXNzZSAtbXNzZTIgLW1zc2UzIC1tbW14IC1PMiAtcGlwZSAtbWVsZl94 ODZfNjQiCkRJU1RESVI9Ii91c3IvcG9ydGFnZS9kaXN0ZmlsZXMiCkZDRkxBR1M9Ii1PMiAtcGlw ZSIKRkVBVFVSRVM9ImFzc3VtZS1kaWdlc3RzIGJpbnBrZy1sb2dzIGNvbmZpZy1wcm90ZWN0LWlm LW1vZGlmaWVkIGRpc3Rsb2NrcyBlYnVpbGQtbG9ja3MgZml4bGFmaWxlcyBtZXJnZS1zeW5jIG5l d3MgcGFyYWxsZWwtZmV0Y2ggcHJlc2VydmUtbGlicyBwcm90ZWN0LW93bmVkIHNhbmRib3ggc2Zw ZXJtcyBzdHJpY3QgdW5rbm93bi1mZWF0dXJlcy13YXJuIHVubWVyZ2UtbG9ncyB1bm1lcmdlLW9y cGhhbnMgdXNlcmZldGNoIHVzZXJwcml2IHVzZXJzYW5kYm94IHVzZXJzeW5jIgpGRkxBR1M9Ii1P MiAtcGlwZSIKR0VOVE9PX01JUlJPUlM9Imh0dHA6Ly9nZW50b28ubG9jYWxob3N0Lm5ldC5hci8g cnN5bmM6Ly9nZW50b28uYzNzbC51ZnByLmJyL2dlbnRvby8gaHR0cDovL2dlbnRvby5jM3NsLnVm cHIuYnIvIGh0dHA6Ly93d3cubGFzLmljLnVuaWNhbXAuYnIvcHViL2dlbnRvby8iCkxBTkc9ImVz X0FSLnV0ZjgiCkxERkxBR1M9Ii1XbCwtTzEgLVdsLC0tYXMtbmVlZGVkIgpNQUtFT1BUUz0iLWox MiIKUEtHRElSPSIvdXNyL3BvcnRhZ2UvcGFja2FnZXMiClBPUlRBR0VfQ09ORklHUk9PVD0iLyIK UE9SVEFHRV9SU1lOQ19PUFRTPSItLXJlY3Vyc2l2ZSAtLWxpbmtzIC0tc2FmZS1saW5rcyAtLXBl cm1zIC0tdGltZXMgLS1vbWl0LWRpci10aW1lcyAtLWNvbXByZXNzIC0tZm9yY2UgLS13aG9sZS1m aWxlIC0tZGVsZXRlIC0tc3RhdHMgLS1odW1hbi1yZWFkYWJsZSAtLXRpbWVvdXQ9MTgwIC0tZXhj bHVkZT0vZGlzdGZpbGVzIC0tZXhjbHVkZT0vbG9jYWwgLS1leGNsdWRlPS9wYWNrYWdlcyIKUE9S VEFHRV9UTVBESVI9Ii92YXIvdG1wIgpQT1JURElSPSIvdXNyL3BvcnRhZ2UiClBPUlRESVJfT1ZF UkxBWT0iIgpVU0U9IlggYTUyIGFhYyBhY2wgYWNwaSBhbHNhIGFsc2Fzb3VuZCBhbWQ2NCBhc2Yg YXZ4IGF2eDIgYmFzaC1jb21wbGV0aW9uIGJlcmtkYiBiaW5kaXN0IGJyYW5kaW5nIGJ6aXAyIGNs aSBjcmFja2xpYiBjcnlwdCBjdXJsIGN4eCBkcmkgZWZpIGV4aWYgZmF0IGZmbXBlZyBmb250Y29u ZmlnIGZvcnRyYW4gZnRwIGdkYm0gZ2lmIGdpbXAgZ3BtIGd6aXAgaGRkdGVtcCBpY29udiBpbWFw IGphY2sganBlZyBqcGVnMmsgbWF0cm9za2EgbW14IG1vZHVsZXMgbXAzIG1wNCBtcGVnIG11bHRp bGliIG5jdXJzZXMgbmxzIG5tYXAgbnB0bCBudGZzIG9wZW5nbCBvcGVubXAgcGFtIHBjcmUgcGRm IHBuZyBwb3AgcG9zaXggcHVsc2VhdWRpbyByZWFkbGluZSByc3Mgc2FzbCBzZXNzaW9uIHNtdHAg c3BlbGwgc3NlIHNzZTIgc3NlMyBzc2U0XzEgc3NoIHNzbCBzdmcgc3lzdGVtZCB0Y3BkIHRocmVh ZHMgdGlmZiB0cnVldHlwZSB1bmljb2RlIHgyNjQgeGNvbXBvc2l0ZSB4b3JnIHh2IHpsaWIiIEFC SV9YODY9IjY0IiBBTFNBX0NBUkRTPSJhbGk1NDUxIGFsczQwMDAgYXRpaXhwIGF0aWl4cC1tb2Rl bSBidDg3eCBjYTAxMDYgY21pcGNpIGVtdTEwazF4IGVuczEzNzAgZW5zMTM3MSBlczE5MzggZXMx OTY4IGZtODAxIGhkYS1pbnRlbCBpbnRlbDh4MCBpbnRlbDh4MG0gbWFlc3RybzMgdHJpZGVudCB1 c2ItYXVkaW8gdmlhODJ4eCB2aWE4Mnh4LW1vZGVtIHltZnBjaSIgQVBBQ0hFMl9NT0RVTEVTPSJh dXRobl9jb3JlIGF1dGh6X2NvcmUgc29jYWNoZV9zaG1jYiB1bml4ZCBhY3Rpb25zIGFsaWFzIGF1 dGhfYmFzaWMgYXV0aG5fYWxpYXMgYXV0aG5fYW5vbiBhdXRobl9kYm0gYXV0aG5fZGVmYXVsdCBh dXRobl9maWxlIGF1dGh6X2RibSBhdXRoel9kZWZhdWx0IGF1dGh6X2dyb3VwZmlsZSBhdXRoel9o b3N0IGF1dGh6X293bmVyIGF1dGh6X3VzZXIgYXV0b2luZGV4IGNhY2hlIGNnaSBjZ2lkIGRhdiBk YXZfZnMgZGF2X2xvY2sgZGVmbGF0ZSBkaXIgZGlza19jYWNoZSBlbnYgZXhwaXJlcyBleHRfZmls dGVyIGZpbGVfY2FjaGUgZmlsdGVyIGhlYWRlcnMgaW5jbHVkZSBpbmZvIGxvZ19jb25maWcgbG9n aW8gbWVtX2NhY2hlIG1pbWUgbWltZV9tYWdpYyBuZWdvdGlhdGlvbiByZXdyaXRlIHNldGVudmlm IHNwZWxpbmcgc3RhdHVzIHVuaXF1ZV9pZCB1c2VyZGlyIHVzZXJ0cmFjayB2aG9zdF9hbGlhcyIg Q0FMTElHUkFfRkVBVFVSRVM9ImtleGkgd29yZHMgZmxvdyBwbGFuIHNoZWV0cyBzdGFnZSB0YWJs ZXMga3JpdGEga2FyYm9uIGJyYWluZHVtcCBhdXRob3IiIENBTUVSQVM9InB0cDIiIENPTExFQ1RE X1BMVUdJTlM9ImRmIGludGVyZmFjZSBpcnEgbG9hZCBtZW1vcnkgcnJkdG9vbCBzd2FwIHN5c2xv ZyIgRUxJQkM9ImdsaWJjIiBHUFNEX1BST1RPQ09MUz0iYXNodGVjaCBhaXZkbSBlYXJ0aG1hdGUg ZXZlcm1vcmUgZnYxOCBnYXJtaW4gZ2FybWludHh0IGdwc2Nsb2NrIGl0cmF4IG10azMzMDEgbm1l YSBudHJpcCBuYXZjb20gb2NlYW5zZXJ2ZXIgb2xkc3R5bGUgb25jb3JlIHJ0Y20xMDR2MiBydGNt MTA0djMgc2lyZiBzdXBlcnN0YXIyIHRpbWluZyB0c2lwIHRyaXBtYXRlIHRudCB1YmxveCB1Yngi IEdSVUJfUExBVEZPUk1TPSJlZmktNjQiIElOUFVUX0RFVklDRVM9ImV2ZGV2IiBLRVJORUw9Imxp bnV4IiBMQ0RfREVWSUNFUz0iYmF5cmFkIGNmb250eiBjZm9udHo2MzMgZ2xrIGhkNDQ3ODAgbGIy MTYgbGNkbTAwMSBtdHhvcmIgbmN1cnNlcyB0ZXh0IiBMSUJSRU9GRklDRV9FWFRFTlNJT05TPSJw cmVzZW50ZXItY29uc29sZSBwcmVzZW50ZXItbWluaW1pemVyIiBMSU5HVUFTPSJlc19BUiBlc19F UyBlcyBlc19MQSBlbiIgT0ZGSUNFX0lNUExFTUVOVEFUSU9OPSJsaWJyZW9mZmljZSIgUEhQX1RB UkdFVFM9InBocDUtNSIgUFlUSE9OX1NJTkdMRV9UQVJHRVQ9InB5dGhvbjJfNyIgUFlUSE9OX1RB UkdFVFM9InB5dGhvbjJfNyBweXRob24zXzMiIFJVQllfVEFSR0VUUz0icnVieTE5IHJ1YnkyMCIg VVNFUkxBTkQ9IkdOVSIgVklERU9fQ0FSRFM9ImludGVsIiBYVEFCTEVTX0FERE9OUz0icXVvdGEy IHBzZCBwa25vY2sgbHNjYW4gbGVuZ3RoMiBpcHY0b3B0aW9ucyBpcHNldCBpcHAycCBpZmFjZSBn ZW9pcCBmdXp6eSBjb25kaXRpb24gdGVlIHRhcnBpdCBzeXNycSBzdGVhbCByYXduYXQgbG9nbWFy ayBpcG1hcmsgZGhjcG1hYyBkZWx1ZGUgY2hhb3MgYWNjb3VudCIKVW5zZXQ6ICBDUFBGTEFHUywg Q1RBUkdFVCwgRU1FUkdFX0RFRkFVTFRfT1BUUywgSU5TVEFMTF9NQVNLLCBMQ19BTEwsIFBPUlRB R0VfQlVOWklQMl9DT01NQU5ELCBQT1JUQUdFX0NPTVBSRVNTLCBQT1JUQUdFX0NPTVBSRVNTX0ZM QUdTLCBQT1JUQUdFX1JTWU5DX0VYVFJBX09QVFMsIFNZTkMsIFVTRV9QWVRIT04KCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgU2V0dGluZ3MKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCmFwcC1l bXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1IHdhcyBidWlsdCB3aXRoIHRoZSBmb2xsb3dpbmc6 ClVTRT0iYXBpIHBhbSBxZW11IHhlbmQgLWN1c3RvbS1jZmxhZ3MgLWRlYnVnIC1kb2MgLWZsYXNr IC1odm0gKC1vY2FtbCkgLXB5Z3J1YiAtcHl0aG9uIC1zY3JlZW4gLXN0YXRpYy1saWJzIiBQWVRI T05fU0lOR0xFX1RBUkdFVD0icHl0aG9uMl83IC1weXRob24yXzYiIFBZVEhPTl9UQVJHRVRTPSJw eXRob24yXzcgLXB5dGhvbjJfNiIKQ0ZMQUdTPSIiCkNYWEZMQUdTPSItbWFyY2g9bmF0aXZlIC1m b21pdC1mcmFtZS1wb2ludGVyIC1tc3NlIC1tc3NlMiAtbXNzZTMgLW1tbXggLU8yIC1waXBlIC1m bm8tc3RyaWN0LW92ZXJmbG93IgpMREZMQUdTPSIiCgo= --bcaec508238c781d2004f543ed72 Content-Type: application/octet-stream; name=tmp3 Content-Disposition: attachment; filename=tmp3 Content-Transfer-Encoding: base64 X-Attachment-Id: f_ht47g8nk2 W2VidWlsZCAgIFIgICBdIGFwcC1lbXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1ICBVU0U9ImFw aSBwYW0gcWVtdSB4ZW5kIC1jdXN0b20tY2ZsYWdzIC1kZWJ1ZyAtZG9jIC1mbGFzayAtaHZtICgt b2NhbWwpIC1weWdydWIgLXB5dGhvbiAtc2NyZWVuIC1zdGF0aWMtbGlicyIgUFlUSE9OX1NJTkdM RV9UQVJHRVQ9InB5dGhvbjJfNyAtcHl0aG9uMl82IiBQWVRIT05fVEFSR0VUUz0icHl0aG9uMl83 IC1weXRob24yXzYiIAo= --bcaec508238c781d2004f543ed72 Content-Type: application/octet-stream; name=tmp4 Content-Disposition: attachment; filename=tmp4 Content-Transfer-Encoding: base64 X-Attachment-Id: f_ht47gaan3 ICogUGFja2FnZTogICAgYXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMtNC4zLjEtcjUKICogUmVwb3Np dG9yeTogZ2VudG9vCiAqIE1haW50YWluZXI6IHhlbkBnZW50b28ub3JnCiAqIFVTRTogICAgICAg IGFtZDY0IGFwaSBlbGliY19nbGliYyBrZXJuZWxfbGludXggcGFtIHB5dGhvbl9zaW5nbGVfdGFy Z2V0X3B5dGhvbjJfNyBweXRob25fdGFyZ2V0c19weXRob24yXzcgcWVtdSB1c2VybGFuZF9HTlUg eGVuZAogKiBGRUFUVVJFUzogICBwcmVzZXJ2ZS1saWJzIHNhbmRib3ggdXNlcnByaXYgdXNlcnNh bmRib3gKPj4+IFVucGFja2luZyBzb3VyY2UuLi4KPj4+IFVucGFja2luZyB4ZW4tNC4zLjEudGFy Lmd6IHRvIC92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMtNC4zLjEtcjUv d29yawo+Pj4gVW5wYWNraW5nIGlweGUudGFyLmd6IHRvIC92YXIvdG1wL3BvcnRhZ2UvYXBwLWVt dWxhdGlvbi94ZW4tdG9vbHMtNC4zLjEtcjUvd29yawo+Pj4gVW5wYWNraW5nIHNlYWJpb3MtZGly LXJlbW90ZS0yMDEzMDcyMC50YXIuZ3ogdG8gL3Zhci90bXAvcG9ydGFnZS9hcHAtZW11bGF0aW9u L3hlbi10b29scy00LjMuMS1yNS93b3JrCj4+PiBTb3VyY2UgdW5wYWNrZWQgaW4gL3Zhci90bXAv cG9ydGFnZS9hcHAtZW11bGF0aW9uL3hlbi10b29scy00LjMuMS1yNS93b3JrCj4+PiBQcmVwYXJp bmcgc291cmNlIGluIC92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMtNC4z LjEtcjUvd29yay94ZW4tNC4zLjEgLi4uCiAqIEFwcGx5aW5nIHhlbi00LjMtZml4X2RvdGNvbmZp Zy1nY2MucGF0Y2ggLi4uCiBbIG9rIF0KICogQXBwbHlpbmcgeGVuLXRvb2xzLTQtZG9jZml4LnBh dGNoIC4uLgogWyBvayBdCiAqIEFwcGx5aW5nIHhlbi10b29scy00LXFlbXUteGVuLWRvYy5wYXRj aCAuLi4KIFsgb2sgXQogKiBBcHBseWluZyB4ZW4tdG9vbHMtMy40LjAtbmV0d29yay1icmlkZ2Ut YnJvYWRjYXN0LnBhdGNoIC4uLgogWyBvayBdCiAqIEFwcGx5aW5nIHhlbi00LjMtYW50aS1kb3du bG9hZC5wYXRjaCAuLi4KIFsgb2sgXQogKiBBcHBseWluZyB4ZW4tdG9vbHMtNC4xLjEtYnJpZGdl LnBhdGNoIC4uLgogWyBvayBdCiAqIEFwcGx5aW5nIHhlbi00LjIuMC1ub3N0cmlwLnBhdGNoIC4u LgogWyBvayBdCiAqIEFwcGx5aW5nIHhlbi00LjMtanNlcnZlci5wYXRjaCAuLi4KIFsgb2sgXQog KiBBcHBseWluZyB4ZW4tNC11bG9uZy5wYXRjaCAuLi4KIFsgb2sgXQogKiBBcHBseWluZyB4ZW4t NC4yLWNvbmZpZ3N4cC5wYXRjaCAuLi4KIFsgb2sgXQogKiBBcHBseWluZyB4ZW4tNC1DVkUtMjAx Mi02MDc1LVhTQS00MS5wYXRjaCAuLi4KIFsgb2sgXQogKiBBcHBseWluZyB4ZW4tNC1DVkUtWFNB LTg2LnBhdGNoIC4uLgogWyBvayBdCiAqIEFwcGx5aW5nIHhlbi10b29scy00LUNWRS0yMDE0LTE5 NTAtWFNBLTg4LnBhdGNoIC4uLgogWyBvayBdCiAqIEFwcGx5aW5nIHhlbi10b29scy00LjMtYXIt Y2MucGF0Y2ggLi4uCiBbIG9rIF0KICogQXBwbHlpbmcgcWVtdS1icmlkZ2UucGF0Y2ggLi4uCiBb IG9rIF0KICogQXBwbHlpbmcgZml4LWdvbGQtbGQucGF0Y2ggLi4uCiBbIG9rIF0KPj4+IFNvdXJj ZSBwcmVwYXJlZC4KPj4+IENvbmZpZ3VyaW5nIHNvdXJjZSBpbiAvdmFyL3RtcC9wb3J0YWdlL2Fw cC1lbXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1L3dvcmsveGVuLTQuMy4xIC4uLgogKiBlY29u ZjogdXBkYXRpbmcgeGVuLTQuMy4xL2NvbmZpZy5zdWIgd2l0aCAvdXNyL3NoYXJlL2dudWNvbmZp Zy9jb25maWcuc3ViCiAqIGVjb25mOiB1cGRhdGluZyB4ZW4tNC4zLjEvY29uZmlnLmd1ZXNzIHdp dGggL3Vzci9zaGFyZS9nbnVjb25maWcvY29uZmlnLmd1ZXNzCi4vY29uZmlndXJlIC0tcHJlZml4 PS91c3IgLS1idWlsZD14ODZfNjQtcGMtbGludXgtZ251IC0taG9zdD14ODZfNjQtcGMtbGludXgt Z251IC0tbWFuZGlyPS91c3Ivc2hhcmUvbWFuIC0taW5mb2Rpcj0vdXNyL3NoYXJlL2luZm8gLS1k YXRhZGlyPS91c3Ivc2hhcmUgLS1zeXNjb25mZGlyPS9ldGMgLS1sb2NhbHN0YXRlZGlyPS92YXIv bGliIC0tbGliZGlyPS91c3IvbGliNjQgLS1wcmVmaXg9L3VzciAtLWRpc2FibGUtd2Vycm9yIC0t ZGlzYWJsZS1vY2FtbHRvb2xzCmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIHg4Nl82NC1w Yy1saW51eC1nbnUKY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiB4ODZfNjQtcGMtbGludXgt Z251CldpbGwgYnVpbGQgdGhlIGZvbGxvd2luZyBzdWJzeXN0ZW1zOgogIHhlbgogIGtlcm5lbHMK ICB0b29scwogIHN0dWJkb20KICBkb2NzCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3Rh dHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIC4vY29uZmlnL1RvcGxldmVsLm1rCj09PSBjb25m aWd1cmluZyBpbiB0b29scyAoL3Zhci90bXAvcG9ydGFnZS9hcHAtZW11bGF0aW9uL3hlbi10b29s cy00LjMuMS1yNS93b3JrL3hlbi00LjMuMS90b29scykKY29uZmlndXJlOiBydW5uaW5nIC9iaW4v c2ggLi9jb25maWd1cmUgLS1kaXNhYmxlLW9wdGlvbi1jaGVja2luZyAnLS1wcmVmaXg9L3Vzcicg ICctLWJ1aWxkPXg4Nl82NC1wYy1saW51eC1nbnUnICctLWhvc3Q9eDg2XzY0LXBjLWxpbnV4LWdu dScgJy0tbWFuZGlyPS91c3Ivc2hhcmUvbWFuJyAnLS1pbmZvZGlyPS91c3Ivc2hhcmUvaW5mbycg Jy0tZGF0YWRpcj0vdXNyL3NoYXJlJyAnLS1zeXNjb25mZGlyPS9ldGMnICctLWxvY2Fsc3RhdGVk aXI9L3Zhci9saWInICctLWxpYmRpcj0vdXNyL2xpYjY0JyAnLS1kaXNhYmxlLXdlcnJvcicgJy0t ZGlzYWJsZS1vY2FtbHRvb2xzJyAnYnVpbGRfYWxpYXM9eDg2XzY0LXBjLWxpbnV4LWdudScgJ2hv c3RfYWxpYXM9eDg2XzY0LXBjLWxpbnV4LWdudScgLS1jYWNoZS1maWxlPS9kZXYvbnVsbCAtLXNy Y2Rpcj0uCmNvbmZpZ3VyZTogV0FSTklORzogU2V0dGluZyBDQywgQ0ZMQUdTLCBMREZMQUdTLCBM SUJTLCBDUFBGTEFHUyBvciBDUFAgaXMgbm90IHJlY29tbWVuZGVkLCB1c2UgUFJFUEVORF9JTkNM VURFUywgUFJFUEVORF9MSUIsIEFQUEVORF9JTkNMVURFUyBhbmQgQVBQRU5EX0xJQiBpbnN0ZWFk IHdoZW4gcG9zc2libGUuCmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIHg4Nl82NC1wYy1s aW51eC1nbnUKY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiB4ODZfNjQtcGMtbGludXgtZ251 CmNoZWNraW5nIGZvciB4ODZfNjQtcGMtbGludXgtZ251LWdjYy4uLiB4ODZfNjQtcGMtbGludXgt Z251LWdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIG5vCmNvbmZp Z3VyZTogZXJyb3I6IGluIGAvdmFyL3RtcC9wb3J0YWdlL2FwcC1lbXVsYXRpb24veGVuLXRvb2xz LTQuMy4xLXI1L3dvcmsveGVuLTQuMy4xL3Rvb2xzJzoKY29uZmlndXJlOiBlcnJvcjogQyBjb21w aWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzClNlZSBgY29uZmlnLmxvZycgZm9yIG1vcmUg ZGV0YWlscwpjb25maWd1cmU6IGVycm9yOiAuL2NvbmZpZ3VyZSBmYWlsZWQgZm9yIHRvb2xzCgoh ISEgUGxlYXNlIGF0dGFjaCB0aGUgZm9sbG93aW5nIGZpbGUgd2hlbiBzZWVraW5nIHN1cHBvcnQ6 CiEhISAvdmFyL3RtcC9wb3J0YWdlL2FwcC1lbXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1L3dv cmsveGVuLTQuMy4xL2NvbmZpZy5sb2cKICogRVJST1I6IGFwcC1lbXVsYXRpb24veGVuLXRvb2xz LTQuMy4xLXI1OjpnZW50b28gZmFpbGVkIChjb25maWd1cmUgcGhhc2UpOgogKiAgIGVjb25mIGZh aWxlZAogKiAKICogQ2FsbCBzdGFjazoKICogICAgICAgICAgZWJ1aWxkLnNoLCBsaW5lICAgOTM6 ICBDYWxsZWQgc3JjX2NvbmZpZ3VyZQogKiAgICAgICAgZW52aXJvbm1lbnQsIGxpbmUgMzAyOTog IENhbGxlZCBlY29uZiAnLS1wcmVmaXg9L3VzcicgJy0tZGlzYWJsZS13ZXJyb3InICctLWRpc2Fi bGUtb2NhbWx0b29scycKICogICBwaGFzZS1oZWxwZXJzLnNoLCBsaW5lICA1ODQ6ICBDYWxsZWQg ZGllCiAqIFRoZSBzcGVjaWZpYyBzbmlwcGV0IG9mIGNvZGU6CiAqICAgCQkJZGllICJlY29uZiBm YWlsZWQiCiAqIAogKiBJZiB5b3UgbmVlZCBzdXBwb3J0LCBwb3N0IHRoZSBvdXRwdXQgb2YgYGVt ZXJnZSAtLWluZm8gJz1hcHAtZW11bGF0aW9uL3hlbi10b29scy00LjMuMS1yNTo6Z2VudG9vJ2As CiAqIHRoZSBjb21wbGV0ZSBidWlsZCBsb2cgYW5kIHRoZSBvdXRwdXQgb2YgYGVtZXJnZSAtcHF2 ICc9YXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMtNC4zLjEtcjU6OmdlbnRvbydgLgogKiBUaGUgY29t cGxldGUgYnVpbGQgbG9nIGlzIGxvY2F0ZWQgYXQgJy92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtdWxh dGlvbi94ZW4tdG9vbHMtNC4zLjEtcjUvdGVtcC9idWlsZC5sb2cnLgogKiBUaGUgZWJ1aWxkIGVu dmlyb25tZW50IGZpbGUgaXMgbG9jYXRlZCBhdCAnL3Zhci90bXAvcG9ydGFnZS9hcHAtZW11bGF0 aW9uL3hlbi10b29scy00LjMuMS1yNS90ZW1wL2Vudmlyb25tZW50Jy4KICogV29ya2luZyBkaXJl Y3Rvcnk6ICcvdmFyL3RtcC9wb3J0YWdlL2FwcC1lbXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1 L3dvcmsveGVuLTQuMy4xJwogKiBTOiAnL3Zhci90bXAvcG9ydGFnZS9hcHAtZW11bGF0aW9uL3hl bi10b29scy00LjMuMS1yNS93b3JrL3hlbi00LjMuMScK --bcaec508238c781d2004f543ed72 Content-Type: application/octet-stream; name=tmp5 Content-Disposition: attachment; filename=tmp5 Content-Transfer-Encoding: base64 X-Attachment-Id: f_ht47gbzv4 ZGVjbGFyZSAteCBBQkk9ImFtZDY0IgpkZWNsYXJlIC14IEFCSV9YODY9IjY0IgpkZWNsYXJlIC14 IEFMU0FfQ0FSRFM9ImFsaTU0NTEgYWxzNDAwMCBhdGlpeHAgYXRpaXhwLW1vZGVtIGJ0ODd4IGNh MDEwNiBjbWlwY2kgZW11MTBrMXggZW5zMTM3MCBlbnMxMzcxIGVzMTkzOCBlczE5NjggZm04MDEg aGRhLWludGVsIGludGVsOHgwIGludGVsOHgwbSBtYWVzdHJvMyB0cmlkZW50IHVzYi1hdWRpbyB2 aWE4Mnh4IHZpYTgyeHgtbW9kZW0geW1mcGNpIgpkZWNsYXJlIC14IEFQQUNIRTJfTU9EVUxFUz0i YXV0aG5fY29yZSBhdXRoel9jb3JlIHNvY2FjaGVfc2htY2IgdW5peGQgYWN0aW9ucyBhbGlhcyBh dXRoX2Jhc2ljIGF1dGhuX2FsaWFzIGF1dGhuX2Fub24gYXV0aG5fZGJtIGF1dGhuX2RlZmF1bHQg YXV0aG5fZmlsZSBhdXRoel9kYm0gYXV0aHpfZGVmYXVsdCBhdXRoel9ncm91cGZpbGUgYXV0aHpf aG9zdCBhdXRoel9vd25lciBhdXRoel91c2VyIGF1dG9pbmRleCBjYWNoZSBjZ2kgY2dpZCBkYXYg ZGF2X2ZzIGRhdl9sb2NrIGRlZmxhdGUgZGlyIGRpc2tfY2FjaGUgZW52IGV4cGlyZXMgZXh0X2Zp bHRlciBmaWxlX2NhY2hlIGZpbHRlciBoZWFkZXJzIGluY2x1ZGUgaW5mbyBsb2dfY29uZmlnIGxv Z2lvIG1lbV9jYWNoZSBtaW1lIG1pbWVfbWFnaWMgbmVnb3RpYXRpb24gcmV3cml0ZSBzZXRlbnZp ZiBzcGVsaW5nIHN0YXR1cyB1bmlxdWVfaWQgdXNlcmRpciB1c2VydHJhY2sgdmhvc3RfYWxpYXMi CmRlY2xhcmUgLXggQVJDSD0iYW1kNjQiCmRlY2xhcmUgLXggQk9PVFNUUkFQX1VTRT0iY3h4IHVu aWNvZGUgcHl0aG9uX3RhcmdldHNfcHl0aG9uM18zIHB5dGhvbl90YXJnZXRzX3B5dGhvbjJfNyBt dWx0aWxpYiIKZGVjbGFyZSAteCBDQUxMSUdSQV9GRUFUVVJFUz0ia2V4aSB3b3JkcyBmbG93IHBs YW4gc2hlZXRzIHN0YWdlIHRhYmxlcyBrcml0YSBrYXJib24gYnJhaW5kdW1wIGF1dGhvciIKZGVj bGFyZSAteCBDQU1FUkFTPSJwdHAyIgpkZWNsYXJlIC14IENCVUlMRD0ieDg2XzY0LXBjLWxpbnV4 LWdudSIKZGVjbGFyZSAteCBDRkxBR1M9Ii1tYXJjaD1uYXRpdmUgLWZvbWl0LWZyYW1lLXBvaW50 ZXIgLW1zc2UgLW1zc2UyIC1tc3NlMyAtbW1teCAtTzIgLXBpcGUgLW1lbGZfeDg2XzY0IgpkZWNs YXJlIC14IENGTEFHU19hbWQ2ND0iLW02NCIKZGVjbGFyZSAteCBDRkxBR1NfZGVmYXVsdApkZWNs YXJlIC14IENGTEFHU194MzI9Ii1teDMyIgpkZWNsYXJlIC14IENGTEFHU194ODY9Ii1tMzIiCmRl Y2xhcmUgLXggQ0hPU1Q9Ing4Nl82NC1wYy1saW51eC1nbnUiCmRlY2xhcmUgLXggQ0hPU1RfYW1k NjQ9Ing4Nl82NC1wYy1saW51eC1nbnUiCmRlY2xhcmUgLXggQ0hPU1RfZGVmYXVsdD0ieDg2XzY0 LXBjLWxpbnV4LWdudSIKZGVjbGFyZSAteCBDSE9TVF94MzI9Ing4Nl82NC1wYy1saW51eC1nbnV4 MzIiCmRlY2xhcmUgLXggQ0hPU1RfeDg2PSJpNjg2LXBjLWxpbnV4LWdudSIKZGVjbGFyZSAteCBD T0xMRUNURF9QTFVHSU5TPSJkZiBpbnRlcmZhY2UgaXJxIGxvYWQgbWVtb3J5IHJyZHRvb2wgc3dh cCBzeXNsb2ciCmRlY2xhcmUgLXggQ09ORklHX0dDUllQVD0ieSIKZGVjbGFyZSAteCBDT05GSUdf SU9FTVU9InkiCmRlY2xhcmUgLXggQ09ORklHX0xPTU9VTlQ9InkiCmRlY2xhcmUgLXggQ1RBUkdF VF9kZWZhdWx0PSJ4ODZfNjQtcGMtbGludXgtZ251IgpkZWNsYXJlIC14IENYWEZMQUdTPSItbWFy Y2g9bmF0aXZlIC1mb21pdC1mcmFtZS1wb2ludGVyIC1tc3NlIC1tc3NlMiAtbXNzZTMgLW1tbXgg LU8yIC1waXBlIC1tZWxmX3g4Nl82NCIKZGVjbGFyZSAteCBERUZBVUxUX0FCST0iYW1kNjQiCmRl Y2xhcmUgLXggREVGSU5FRF9QSEFTRVM9IiBjb21waWxlIGNvbmZpZ3VyZSBpbnN0YWxsIHBvc3Rp bnN0IHByZXBhcmUgc2V0dXAiCmRlY2xhcmUgREVQRU5EPSJkZXYtbGlicy9sem86MgoJZGV2LWxp YnMvZ2xpYjoyCglkZXYtbGlicy95YWpsCglkZXYtbGlicy9saWJnY3J5cHQ6MAoJZGV2LXB5dGhv bi9seG1sW3B5dGhvbl90YXJnZXRzX3B5dGhvbjJfNigtKT8scHl0aG9uX3RhcmdldHNfcHl0aG9u Ml83KC0pPyxweXRob25fc2luZ2xlX3RhcmdldF9weXRob24yXzYoKyk/LHB5dGhvbl9zaW5nbGVf dGFyZ2V0X3B5dGhvbjJfNygrKT9dCglwYW0/ICggZGV2LXB5dGhvbi9weXBhbVtweXRob25fdGFy Z2V0c19weXRob24yXzYoLSk/LHB5dGhvbl90YXJnZXRzX3B5dGhvbjJfNygtKT8scHl0aG9uX3Np bmdsZV90YXJnZXRfcHl0aG9uMl82KCspPyxweXRob25fc2luZ2xlX3RhcmdldF9weXRob24yXzco Kyk/XSApCglzeXMtbGlicy96bGliCglzeXMtcG93ZXIvaWFzbAoJaHZtPyAoIG1lZGlhLWxpYnMv bGlic2RsICkKCXB5dGhvbl9zaW5nbGVfdGFyZ2V0X3B5dGhvbjJfNj8gKCA+PWRldi1sYW5nL3B5 dGhvbi0yLjYuOC1yMzoyLjZbeG1sLHRocmVhZHNdICkgcHl0aG9uX3NpbmdsZV90YXJnZXRfcHl0 aG9uMl83PyAoID49ZGV2LWxhbmcvcHl0aG9uLTIuNy41LXIyOjIuN1t4bWwsdGhyZWFkc10gKSBk ZXYtbGFuZy9weXRob24tZXhlYzo9W3B5dGhvbl90YXJnZXRzX3B5dGhvbjJfNigtKT8scHl0aG9u X3RhcmdldHNfcHl0aG9uMl83KC0pPyxweXRob25fc2luZ2xlX3RhcmdldF9weXRob24yXzYoKyk/ LHB5dGhvbl9zaW5nbGVfdGFyZ2V0X3B5dGhvbjJfNygrKT9dCglhcGk/ICggZGV2LWxpYnMvbGli eG1sMgoJCW5ldC1taXNjL2N1cmwgKQoJcHlncnViPyAoIHB5dGhvbl9zaW5nbGVfdGFyZ2V0X3B5 dGhvbjJfNj8gKCA+PWRldi1sYW5nL3B5dGhvbi0yLjYuOC1yMzoyLjZbbmN1cnNlc10gKSBweXRo b25fc2luZ2xlX3RhcmdldF9weXRob24yXzc/ICggPj1kZXYtbGFuZy9weXRob24tMi43LjUtcjI6 Mi43W25jdXJzZXNdICkgZGV2LWxhbmcvcHl0aG9uLWV4ZWM6PVtweXRob25fdGFyZ2V0c19weXRo b24yXzYoLSk/LHB5dGhvbl90YXJnZXRzX3B5dGhvbjJfNygtKT8scHl0aG9uX3NpbmdsZV90YXJn ZXRfcHl0aG9uMl82KCspPyxweXRob25fc2luZ2xlX3RhcmdldF9weXRob24yXzcoKyk/XSApCglz eXMtZGV2ZWwvYmluODYKCXN5cy1kZXZlbC9kZXY4NgoJZGV2LWxhbmcvcGVybAoJYXBwLW1pc2Mv cGF4LXV0aWxzCglkZXYtcHl0aG9uL21hcmtkb3duCglkb2M/ICgKCQlhcHAtZG9jL2RveHlnZW4K CQlkZXYtdGV4L2xhdGV4Mmh0bWxbcG5nLGdpZl0KCQltZWRpYS1nZngvZ3JhcGh2aXoKCQlkZXYt dGV4L3hjb2xvcgoJCW1lZGlhLWdmeC90cmFuc2ZpZwoJCWRldi10ZXhsaXZlL3RleGxpdmUtbGF0 ZXhleHRyYQoJCXZpcnR1YWwvbGF0ZXgtYmFzZQoJCWRldi10ZXgvbGF0ZXhtawoJCWRldi10ZXhs aXZlL3RleGxpdmUtbGF0ZXgKCQlkZXYtdGV4bGl2ZS90ZXhsaXZlLXBpY3R1cmVzCgkJZGV2LXRl eGxpdmUvdGV4bGl2ZS1sYXRleHJlY29tbWVuZGVkCgkpCglodm0/ICggeDExLXByb3RvL3hwcm90 bwoJCSFuZXQtbGlicy9saWJpc2NzaSApCglxZW11PyAoIHgxMS1saWJzL3BpeG1hbiApCglvY2Ft bD8gKCBkZXYtbWwvZmluZGxpYgoJCT49ZGV2LWxhbmcvb2NhbWwtNCApIHZpcnR1YWwvcGtnY29u ZmlnIgpkZWNsYXJlIERFU0NSSVBUSU9OPSJYZW5kIGRhZW1vbiBhbmQgdG9vbHMiCmRlY2xhcmUg LXggREVTVFRSRUU9Ii91c3IiCmRlY2xhcmUgLXggRElST1BUSU9OUz0iLW0wNzU1IgpkZWNsYXJl IC1hIERPQ1M9JyhbMF09IlJFQURNRSIgWzFdPSJkb2NzL1JFQURNRS54ZW4tYnVndG9vbCIpJwpk ZWNsYXJlIC14IEVBUEk9IjUiCmRlY2xhcmUgLXggRUxJQkM9ImdsaWJjIgpkZWNsYXJlIC0tIEVQ QVRDSF9DT01NT05fT1BUUz0iLWcwIC1FIC0tbm8tYmFja3VwLWlmLW1pc21hdGNoIgpkZWNsYXJl IC0tIEVQQVRDSF9FWENMVURFPSIiCmRlY2xhcmUgLS0gRVBBVENIX0ZPUkNFPSJubyIKZGVjbGFy ZSAtLSBFUEFUQ0hfTVVMVElfTVNHPSJBcHBseWluZyB2YXJpb3VzIHBhdGNoZXMgKGJ1Z2ZpeGVz L3VwZGF0ZXMpIC4uLiIKZGVjbGFyZSAtLSBFUEFUQ0hfT1BUUz0iIgpkZWNsYXJlIC0tIEVQQVRD SF9TSU5HTEVfTVNHPSIiCmRlY2xhcmUgLS0gRVBBVENIX1NPVVJDRT0iL3Zhci90bXAvcG9ydGFn ZS9hcHAtZW11bGF0aW9uL3hlbi10b29scy00LjMuMS1yNS93b3JrL3BhdGNoIgpkZWNsYXJlIC0t IEVQQVRDSF9TVUZGSVg9InBhdGNoLmJ6MiIKZGVjbGFyZSAteCBFUFlUSE9OPSJweXRob24yLjci CmRlY2xhcmUgLXggRVhFT1BUSU9OUz0iLW0wNzU1IgpkZWNsYXJlIC14IEZDRkxBR1M9Ii1PMiAt cGlwZSIKZGVjbGFyZSAteCBGRVRDSENPTU1BTkRfU1NIPSJiYXNoIC1jIFwieD1cXFwkezIjc3No Oi8vfSA7IGhvc3Q9XFxcJHt4JSUvKn0gOyBwb3J0PVxcXCR7aG9zdCMjKjp9IDsgaG9zdD1cXFwk e2hvc3QlOip9IDsgW1sgXFxcJHtob3N0fSA9IFxcXCR7cG9ydH0gXV0gJiYgcG9ydD0yMiA7IGV4 ZWMgcnN5bmMgLS1yc2g9XFxcInNzaCAtcFxcXCR7cG9ydH0gXFxcJHszfVxcXCIgLWF2UCBcXFwi XFxcJHtob3N0fTovXFxcJHt4IyovfVxcXCIgXFxcIlxcXCQxXFxcIlwiIHJzeW5jIFwiXCR7RElT VERJUn0vXCR7RklMRX1cIiBcIlwke1VSSX1cIiBcIlwke1BPUlRBR0VfU1NIX09QVFN9XCIiCmRl Y2xhcmUgLXggRkZMQUdTPSItTzIgLXBpcGUiCmRlY2xhcmUgLXggR0NDX1NQRUNTPSIiCmRlY2xh cmUgLXggR1BTRF9QUk9UT0NPTFM9ImFzaHRlY2ggYWl2ZG0gZWFydGhtYXRlIGV2ZXJtb3JlIGZ2 MTggZ2FybWluIGdhcm1pbnR4dCBncHNjbG9jayBpdHJheCBtdGszMzAxIG5tZWEgbnRyaXAgbmF2 Y29tIG9jZWFuc2VydmVyIG9sZHN0eWxlIG9uY29yZSBydGNtMTA0djIgcnRjbTEwNHYzIHNpcmYg c3VwZXJzdGFyMiB0aW1pbmcgdHNpcCB0cmlwbWF0ZSB0bnQgdWJsb3ggdWJ4IgpkZWNsYXJlIC14 IEdSVUJfUExBVEZPUk1TPSJlZmktNjQiCmRlY2xhcmUgLXggR1NFVFRJTkdTX0JBQ0tFTkQ9ImRj b25mIgpkZWNsYXJlIEhERVBFTkQ9IiIKZGVjbGFyZSBIT01FUEFHRT0iaHR0cDovL3hlbi5vcmcv IgpkZWNsYXJlIC14IEhVU0hMT0dJTj0iRkFMU0UiCmRlY2xhcmUgLXggSU5IRVJJVEVEPSIgdG9v bGNoYWluLWZ1bmNzIG11bHRpbGliIGJhc2gtY29tcGxldGlvbi1yMSBldXRpbHMgZmxhZy1vLW1h dGljIHB5dGhvbi11dGlscy1yMSBweXRob24tc2luZ2xlLXIxIHVkZXYiCmRlY2xhcmUgLXggSU5Q VVRfREVWSUNFUz0iZXZkZXYiCmRlY2xhcmUgLXggSU5TREVTVFRSRUU9IiIKZGVjbGFyZSAteCBJ TlNPUFRJT05TPSItbTA2NDQiCmRlY2xhcmUgLS0gSVBYRV9UQVJCQUxMX1VSTD0iaHR0cDovL2Rl di5nZW50b28ub3JnL35pZGVsbGE0L3RhcmJhbGxzL2lweGUudGFyLmd6IgpkZWNsYXJlIElVU0U9 ImFwaSBjdXN0b20tY2ZsYWdzIGRlYnVnIGRvYyBmbGFzayBodm0gcWVtdSBvY2FtbCArcGFtIHB5 dGhvbiBweWdydWIgc2NyZWVuIHN0YXRpYy1saWJzIHhlbmQgcHl0aG9uX3RhcmdldHNfcHl0aG9u Ml82IHB5dGhvbl90YXJnZXRzX3B5dGhvbjJfNyBweXRob25fc2luZ2xlX3RhcmdldF9weXRob24y XzYgcHl0aG9uX3NpbmdsZV90YXJnZXRfcHl0aG9uMl83IgpkZWNsYXJlIC14IElVU0VfRUZGRUNU SVZFPSJhbHBoYSBhbWQ2NCBhbWQ2NC1mYnNkIGFtZDY0LWxpbnV4IGFwaSBhcm0gYXJtLWxpbnV4 IGFybTY0IGN1c3RvbS1jZmxhZ3MgZGVidWcgZG9jIGVsaWJjX0FJWCBlbGliY19DeWd3aW4gZWxp YmNfRGFyd2luIGVsaWJjX0ZyZWVCU0QgZWxpYmNfSFBVWCBlbGliY19JbnRlcml4IGVsaWJjX05l dEJTRCBlbGliY19PcGVuQlNEIGVsaWJjX1N1bk9TIGVsaWJjX1dpbm50IGVsaWJjX2dsaWJjIGVs aWJjX21pbnRsaWIgZWxpYmNfbXVzbCBlbGliY191Y2xpYmMgZmxhc2sgaHBwYSBocHBhLWhwdXgg aHZtIGlhNjQgaWE2NC1ocHV4IGlhNjQtbGludXgga2VybmVsX0FJWCBrZXJuZWxfQ3lnd2luIGtl cm5lbF9EYXJ3aW4ga2VybmVsX0ZyZWVCU0Qga2VybmVsX0hQVVgga2VybmVsX0ludGVyaXgga2Vy bmVsX05ldEJTRCBrZXJuZWxfT3BlbkJTRCBrZXJuZWxfU3VuT1Mga2VybmVsX1dpbm50IGtlcm5l bF9mcmVlbWludCBrZXJuZWxfbGludXggbTY4ayBtNjhrLW1pbnQgbWlwcyBvY2FtbCBwYW0gcHBj IHBwYy1haXggcHBjLW1hY29zIHBwYy1vcGVuYnNkIHBwYzY0IHBwYzY0LWxpbnV4IHByZWZpeCBw eWdydWIgcHl0aG9uIHB5dGhvbl9zaW5nbGVfdGFyZ2V0X3B5dGhvbjJfNiBweXRob25fc2luZ2xl X3RhcmdldF9weXRob24yXzcgcHl0aG9uX3RhcmdldHNfcHl0aG9uMl82IHB5dGhvbl90YXJnZXRz X3B5dGhvbjJfNyBxZW11IHMzOTAgc2NyZWVuIHNoIHNwYXJjIHNwYXJjLWZic2Qgc3BhcmMtc29s YXJpcyBzcGFyYzY0LWZyZWVic2Qgc3BhcmM2NC1zb2xhcmlzIHN0YXRpYy1saWJzIHVzZXJsYW5k X0JTRCB1c2VybGFuZF9HTlUgeDY0LWZyZWVic2QgeDY0LW1hY29zIHg2NC1vcGVuYnNkIHg2NC1z b2xhcmlzIHg4NiB4ODYtY3lnd2luIHg4Ni1mYnNkIHg4Ni1mcmVlYnNkIHg4Ni1pbnRlcml4IHg4 Ni1saW51eCB4ODYtbWFjb3MgeDg2LW5ldGJzZCB4ODYtb3BlbmJzZCB4ODYtc29sYXJpcyB4ODYt d2lubnQgeGVuZCIKZGVjbGFyZSAteCBJVVNFX0lNUExJQ0lUPSJwcmVmaXgiCmRlY2xhcmUgLXgg SkFWQUM9Ii9ldGMvamF2YS1jb25maWctMi9jdXJyZW50LXN5c3RlbS12bS9iaW4vamF2YWMiCmRl Y2xhcmUgLXggSkFWQV9IT01FPSIvZXRjL2phdmEtY29uZmlnLTIvY3VycmVudC1zeXN0ZW0tdm0i CmRlY2xhcmUgLXggSkRLX0hPTUU9Ii9ldGMvamF2YS1jb25maWctMi9jdXJyZW50LXN5c3RlbS12 bSIKZGVjbGFyZSAteCBLRVJORUw9ImxpbnV4IgpkZWNsYXJlIC14IEtFUk5FTF9BQkk9ImFtZDY0 IgpkZWNsYXJlIC14IEtFWVdPUkRTPSJhbWQ2NCAteDg2IgpkZWNsYXJlIC14IExBTkc9ImVzX0FS LnV0ZjgiCmRlY2xhcmUgLXggTENEX0RFVklDRVM9ImJheXJhZCBjZm9udHogY2ZvbnR6NjMzIGds ayBoZDQ0NzgwIGxiMjE2IGxjZG0wMDEgbXR4b3JiIG5jdXJzZXMgdGV4dCIKZGVjbGFyZSAteCBM Q19NRVNTQUdFUz0iQyIKZGVjbGFyZSAteCBMREZMQUdTPSItV2wsLU8xIC1XbCwtLWFzLW5lZWRl ZCIKZGVjbGFyZSAteCBMREZMQUdTX2FtZDY0PSItbSBlbGZfeDg2XzY0IgpkZWNsYXJlIC14IExE RkxBR1NfZGVmYXVsdApkZWNsYXJlIC14IExERkxBR1NfeDMyPSItbSBlbGYzMl94ODZfNjQiCmRl Y2xhcmUgLXggTERGTEFHU194ODY9Ii1tIGVsZl9pMzg2IgpkZWNsYXJlIC14IExJQkRJUl9hbWQ2 ND0ibGliNjQiCmRlY2xhcmUgLXggTElCRElSX2FtZDY0X2Zic2Q9ImxpYjY0IgpkZWNsYXJlIC14 IExJQkRJUl9hcm09ImxpYiIKZGVjbGFyZSAteCBMSUJESVJfYXJtNjQ9ImxpYjY0IgpkZWNsYXJl IC14IExJQkRJUl9kZWZhdWx0PSJsaWIiCmRlY2xhcmUgLXggTElCRElSX24zMj0ibGliMzIiCmRl Y2xhcmUgLXggTElCRElSX242ND0ibGliNjQiCmRlY2xhcmUgLXggTElCRElSX28zMj0ibGliIgpk ZWNsYXJlIC14IExJQkRJUl9wcGM9ImxpYjMyIgpkZWNsYXJlIC14IExJQkRJUl9wcGM2ND0ibGli NjQiCmRlY2xhcmUgLXggTElCRElSX3MzOTA9ImxpYjMyIgpkZWNsYXJlIC14IExJQkRJUl9zMzkw eD0ibGliNjQiCmRlY2xhcmUgLXggTElCRElSX3NwYXJjMzI9ImxpYjMyIgpkZWNsYXJlIC14IExJ QkRJUl9zcGFyYzY0PSJsaWI2NCIKZGVjbGFyZSAteCBMSUJESVJfeDMyPSJsaWJ4MzIiCmRlY2xh cmUgLXggTElCRElSX3g4Nj0ibGliMzIiCmRlY2xhcmUgLXggTElCRElSX3g4Nl9mYnNkPSJsaWIz MiIKZGVjbGFyZSAteCBMSUJPUFRJT05TPSItbTA2NDQiCmRlY2xhcmUgLXggTElCUkVPRkZJQ0Vf RVhURU5TSU9OUz0icHJlc2VudGVyLWNvbnNvbGUgcHJlc2VudGVyLW1pbmltaXplciIKZGVjbGFy ZSAteCBMSUNFTlNFPSJHUEwtMiIKZGVjbGFyZSAteCBMSU5HVUFTPSJlc19BUiBlc19FUyBlcyBl c19MQSBlbiIKZGVjbGFyZSAteCBNQUlMPSIvdmFyL21haWwvZmFjdSIKZGVjbGFyZSAteCBNQUtF T1BUUz0iLWoxMiIKZGVjbGFyZSAteCBNVUxUSUxJQl9BQklTPSJhbWQ2NCB4ODYiCmRlY2xhcmUg LXggTVVMVElMSUJfU1RSSUNUX0RFTlk9IjY0LWJpdC4qc2hhcmVkIG9iamVjdCIKZGVjbGFyZSAt eCBNVUxUSUxJQl9TVFJJQ1RfRElSUz0iL2xpYjMyIC9saWIgL3Vzci9saWIzMiAvdXNyL2xpYiAv dXNyL2tkZS8qL2xpYjMyIC91c3Iva2RlLyovbGliIC91c3IvcXQvKi9saWIzMiAvdXNyL3F0Lyov bGliIC91c3IvWDExUjYvbGliMzIgL3Vzci9YMTFSNi9saWIiCmRlY2xhcmUgLXggTVVMVElMSUJf U1RSSUNUX0VYRU1QVD0iKHBlcmw1fGdjY3xnY2MtbGlifGJpbnV0aWxzfGVjbGlwc2UtM3xkZWJ1 Z3xwb3J0YWdlfHVkZXZ8c3lzdGVtZHxjbGFuZ3xweXRob24tZXhlYykiCmRlY2xhcmUgLXggTVVM VElPU0RJUlM9Ii4uL2xpYjY0Oi4uL2xpYjMyIgpkZWNsYXJlIC14IE5FVEJFQU5TPSJhcGlzdXBw b3J0IGNuZCBncm9vdnkgZ3NmIGhhcm5lc3MgaWRlIGlkZW50aXR5IGoyZWUgamF2YSBtb2JpbGl0 eSBuYiBwaHAgcHJvZmlsZXIgc29hIHZpc3VhbHdlYiB3ZWJjb21tb24gd2Vic3ZjY29tbW9uIHht bCIKZGVjbGFyZSAteCBPRkZJQ0VfSU1QTEVNRU5UQVRJT049ImxpYnJlb2ZmaWNlIgpkZWNsYXJl IC14IE9QRU5HTF9QUk9GSUxFPSJ4b3JnLXgxMSIKZGVjbGFyZSAteCBQQVRIPSIvdmFyL3RtcC9w b3J0YWdlL2FwcC1lbXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1L3RlbXAvcHl0aG9uMi43L2Jp bjovdXNyL2xpYjY0L3BvcnRhZ2UvYmluL2VidWlsZC1oZWxwZXJzOi91c3IvbG9jYWwvc2Jpbjov dXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2Jpbjovb3B0L2JpbjovdXNy L3g4Nl82NC1wYy1saW51eC1nbnUvZ2NjLWJpbi80LjcuMyIKZGVjbGFyZSBQREVQRU5EPSIiCmRl Y2xhcmUgLXggUEhQX1RBUkdFVFM9InBocDUtNSIKZGVjbGFyZSAteCBQS0dfQ09ORklHX1BBVEg9 Ii92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMtNC4zLjEtcjUvdGVtcC9w eXRob24yLjcvcGtnY29uZmlnIgpkZWNsYXJlIC1hIFBPUlRBR0VfRE9DT01QUkVTUz0nKFswXT0i L3Vzci9zaGFyZS9kb2MiIFsxXT0iL3Vzci9zaGFyZS9pbmZvIiBbMl09Ii91c3Ivc2hhcmUvbWFu IiknCmRlY2xhcmUgLXggUE9SVEFHRV9ET0NPTVBSRVNTX1NJWkVfTElNSVQ9IjEyOCIKZGVjbGFy ZSAtYSBQT1JUQUdFX0RPQ09NUFJFU1NfU0tJUD0nKFswXT0iL3Vzci9zaGFyZS9kb2MveGVuLXRv b2xzLTQuMy4xLXI1L2h0bWwiKScKZGVjbGFyZSAteCBQUkVMSU5LX1BBVEhfTUFTSz0iL3Vzci9s aWI2NC9saWJmcmVlYmwzLnNvOi91c3IvbGliNjQvbGlibnNzZGJtMy5zbzovdXNyL2xpYjY0L2xp YnNvZnRva24zLnNvIgpkZWNsYXJlIC14IFBST0ZJTEVfT05MWV9WQVJJQUJMRVM9IkFSQ0ggRUxJ QkMgSVVTRV9JTVBMSUNJVCBLRVJORUwgVVNFUkxBTkQgVVNFX0VYUEFORF9JTVBMSUNJVCBVU0Vf RVhQQU5EX1VOUFJFRklYRUQgVVNFX0VYUEFORF9WQUxVRVNfQVJDSCBVU0VfRVhQQU5EX1ZBTFVF U19FTElCQyBVU0VfRVhQQU5EX1ZBTFVFU19LRVJORUwgVVNFX0VYUEFORF9WQUxVRVNfVVNFUkxB TkQiCmRlY2xhcmUgLXggUFJPUEVSVElFUz0iIgpkZWNsYXJlIC14IFBST1ZJREU9IiIKZGVjbGFy ZSAteCBQWVRIT049Ii91c3IvYmluL3B5dGhvbjIuNyIKZGVjbGFyZSAteCBQWVRIT05ET05UV1JJ VEVCWVRFQ09ERT0iMSIKZGVjbGFyZSAtYSBQWVRIT05fQ09NUEFUPScoWzBdPSJweXRob24yXzYi IFsxXT0icHl0aG9uMl83IiknCmRlY2xhcmUgLS0gUFlUSE9OX0RFUFM9InB5dGhvbl9zaW5nbGVf dGFyZ2V0X3B5dGhvbjJfNj8gKCA+PWRldi1sYW5nL3B5dGhvbi0yLjYuOC1yMzoyLjZbeG1sLHRo cmVhZHNdICkgcHl0aG9uX3NpbmdsZV90YXJnZXRfcHl0aG9uMl83PyAoID49ZGV2LWxhbmcvcHl0 aG9uLTIuNy41LXIyOjIuN1t4bWwsdGhyZWFkc10gKSBkZXYtbGFuZy9weXRob24tZXhlYzo9W3B5 dGhvbl90YXJnZXRzX3B5dGhvbjJfNigtKT8scHl0aG9uX3RhcmdldHNfcHl0aG9uMl83KC0pPyxw eXRob25fc2luZ2xlX3RhcmdldF9weXRob24yXzYoKyk/LHB5dGhvbl9zaW5nbGVfdGFyZ2V0X3B5 dGhvbjJfNygrKT9dIgpkZWNsYXJlIC0tIFBZVEhPTl9SRVFVSVJFRF9VU0U9IiBweXRob25fc2lu Z2xlX3RhcmdldF9weXRob24yXzY/ICggcHl0aG9uX3RhcmdldHNfcHl0aG9uMl82ICkgcHl0aG9u X3NpbmdsZV90YXJnZXRfcHl0aG9uMl83PyAoIHB5dGhvbl90YXJnZXRzX3B5dGhvbjJfNyApIF5e ICggcHl0aG9uX3NpbmdsZV90YXJnZXRfcHl0aG9uMl82IHB5dGhvbl9zaW5nbGVfdGFyZ2V0X3B5 dGhvbjJfNyApIgpkZWNsYXJlIC0tIFBZVEhPTl9SRVFfVVNFPSJ4bWwsdGhyZWFkcyIKZGVjbGFy ZSAteCBQWVRIT05fU0lOR0xFX1RBUkdFVD0icHl0aG9uMl83IgpkZWNsYXJlIC14IFBZVEhPTl9U QVJHRVRTPSJweXRob24yXzciCmRlY2xhcmUgLS0gUFlUSE9OX1VTRURFUD0icHl0aG9uX3Rhcmdl dHNfcHl0aG9uMl82KC0pPyxweXRob25fdGFyZ2V0c19weXRob24yXzcoLSk/LHB5dGhvbl9zaW5n bGVfdGFyZ2V0X3B5dGhvbjJfNigrKT8scHl0aG9uX3NpbmdsZV90YXJnZXRfcHl0aG9uMl83KCsp PyIKZGVjbGFyZSAtLSBRQV9XWF9MT0FEPSJ1c3IvbGliL3hlbi9ib290L2h2bWxvYWRlciIKZGVj bGFyZSAteCBRVF9HUkFQSElDU1NZU1RFTT0icmFzdGVyIgpkZWNsYXJlIFJERVBFTkQ9InN5cy1h cHBzL2lwcm91dGUyCgluZXQtbWlzYy9icmlkZ2UtdXRpbHMKCXNjcmVlbj8gKAoJCWFwcC1taXNj L3NjcmVlbgoJCWFwcC1hZG1pbi9sb2dyb3RhdGUKCSkKCXZpcnR1YWwvdWRldiAiCmRlY2xhcmUg UkVQT1NJVE9SWQpkZWNsYXJlIFJFUVVJUkVEX1VTRT0iaHZtPyAoIHFlbXUgKQoJIHB5dGhvbl9z aW5nbGVfdGFyZ2V0X3B5dGhvbjJfNj8gKCBweXRob25fdGFyZ2V0c19weXRob24yXzYgKSBweXRo b25fc2luZ2xlX3RhcmdldF9weXRob24yXzc/ICggcHl0aG9uX3RhcmdldHNfcHl0aG9uMl83ICkg Xl4gKCBweXRob25fc2luZ2xlX3RhcmdldF9weXRob24yXzYgcHl0aG9uX3NpbmdsZV90YXJnZXRf cHl0aG9uMl83ICkKCXB5Z3J1Yj8gKCBweXRob24gKSAiCmRlY2xhcmUgLXggUkVTVFJJQ1Q9InRl c3QiCmRlY2xhcmUgLXggUkVTVU1FQ09NTUFORF9TU0g9ImJhc2ggLWMgXCJ4PVxcXCR7MiNzc2g6 Ly99IDsgaG9zdD1cXFwke3glJS8qfSA7IHBvcnQ9XFxcJHtob3N0IyMqOn0gOyBob3N0PVxcXCR7 aG9zdCU6Kn0gOyBbWyBcXFwke2hvc3R9ID0gXFxcJHtwb3J0fSBdXSAmJiBwb3J0PTIyIDsgZXhl YyByc3luYyAtLXJzaD1cXFwic3NoIC1wXFxcJHtwb3J0fSBcXFwkezN9XFxcIiAtYXZQIFxcXCJc XFwke2hvc3R9Oi9cXFwke3gjKi99XFxcIiBcXFwiXFxcJDFcXFwiXCIgcnN5bmMgXCJcJHtESVNU RElSfS9cJHtGSUxFfVwiIFwiXCR7VVJJfVwiIFwiXCR7UE9SVEFHRV9TU0hfT1BUU31cIiIKZGVj bGFyZSAteCBSVUJZX1RBUkdFVFM9InJ1YnkxOSBydWJ5MjAiCmRlY2xhcmUgLXggUz0iL3Zhci90 bXAvcG9ydGFnZS9hcHAtZW11bGF0aW9uL3hlbi10b29scy00LjMuMS1yNS93b3JrL3hlbi00LjMu MSIKZGVjbGFyZSAteCBTQU5EQk9YX0RFQlVHPSIwIgpkZWNsYXJlIC14IFNBTkRCT1hfREVOWT0i IgpkZWNsYXJlIC14IFNBTkRCT1hfUElEPSI5MDAwIgpkZWNsYXJlIC14IFNBTkRCT1hfUFJFRElD VD0iL3Zhci90bXAvcG9ydGFnZS9hcHAtZW11bGF0aW9uL3hlbi10b29scy00LjMuMS1yNS9ob21l ZGlyOi9kZXYvY3J5cHRvOi92YXIvY2FjaGUvZm9udGNvbmZpZyIKZGVjbGFyZSAteCBTQU5EQk9Y X1JFQUQ9Ii86L3Zhci90bXAiCmRlY2xhcmUgLXggU0FOREJPWF9WRVJCT1NFPSIxIgpkZWNsYXJl IC14IFNBTkRCT1hfV1JJVEU9IjovZGV2L2NvbnNvbGU6L2Rldi9mZDovZGV2L2Z1bGw6L2Rldi9u dWxsOi9kZXYvcHRzLzovZGV2L3B0eTovZGV2L3NobTovZGV2L3R0czovZGV2L3R0eTovZGV2L3Zj LzovZGV2L3plcm86L3Byb2Mvc2VsZi9mZDovdG1wLzovdXNyL2xpYjMyL2NmOi91c3IvbGliMzIv Y29uZnRlc3Q6L3Vzci9saWI2NC9jZjovdXNyL2xpYjY0L2NvbmZ0ZXN0Oi91c3IvbGliL2NmOi91 c3IvbGliL2NvbmZ0ZXN0Oi91c3IvdG1wL2NmOi91c3IvdG1wL2NvbmZ0ZXN0Oi92YXIvdG1wOi92 YXIvdG1wLzovdmFyL3RtcC9wb3J0YWdlL2FwcC1lbXVsYXRpb24veGVuLXRvb2xzLTQuMy4xLXI1 L2hvbWVkaXIvLmJhc2hfaGlzdG9yeSIKZGVjbGFyZSAteCBTSEVMTD0iL2Jpbi9iYXNoIgpkZWNs YXJlIC14IFNMT1Q9IjAiCmRlY2xhcmUgU1JDX1VSST0iaHR0cDovL2JpdHMueGVuc291cmNlLmNv bS9vc3MteGVuL3JlbGVhc2UvNC4zLjEveGVuLTQuMy4xLnRhci5negoJaHR0cDovL2Rldi5nZW50 b28ub3JnL35pZGVsbGE0L3RhcmJhbGxzL2lweGUudGFyLmd6CglodHRwOi8vZGV2LmdlbnRvby5v cmcvfmlkZWxsYTQvdGFyYmFsbHMvc2VhYmlvcy1kaXItcmVtb3RlLTIwMTMwNzIwLnRhci5neiIK ZGVjbGFyZSAteCBTWU1MSU5LX0xJQj0ieWVzIgpkZWNsYXJlIC14IFNZU1RFTURfTEVTUz0iRlJT TSAtLXNoaWZ0IDUiCmRlY2xhcmUgLXggVVNFPSJhbWQ2NCBhcGkgZWxpYmNfZ2xpYmMga2VybmVs X2xpbnV4IHBhbSBweXRob25fc2luZ2xlX3RhcmdldF9weXRob24yXzcgcHl0aG9uX3RhcmdldHNf cHl0aG9uMl83IHFlbXUgdXNlcmxhbmRfR05VIHhlbmQiCmRlY2xhcmUgLXggVVNFUkxBTkQ9IkdO VSIKZGVjbGFyZSAteCBVU0VfRVhQQU5EX0lNUExJQ0lUPSJBUkNIIEVMSUJDIEtFUk5FTCBVU0VS TEFORCIKZGVjbGFyZSAteCBVU0VfRVhQQU5EX1VOUFJFRklYRUQ9IkFSQ0giCmRlY2xhcmUgLXgg VVNFX0VYUEFORF9WQUxVRVNfQVJDSD0iYWxwaGEgYW1kNjQgYW1kNjQtZmJzZCBhbWQ2NC1saW51 eCBhcm0gYXJtLWxpbnV4IGFybTY0IGhwcGEgaHBwYS1ocHV4IGlhNjQgaWE2NC1ocHV4IGlhNjQt bGludXggbTY4ayBtNjhrLW1pbnQgbWlwcyBwcGMgcHBjNjQgcHBjNjQtbGludXggcHBjLWFpeCBw cGMtbWFjb3MgcHBjLW9wZW5ic2QgczM5MCBzaCBzcGFyYyBzcGFyYzY0LWZyZWVic2Qgc3BhcmM2 NC1zb2xhcmlzIHNwYXJjLWZic2Qgc3BhcmMtc29sYXJpcyB4NjQtZnJlZWJzZCB4NjQtbWFjb3Mg eDY0LW9wZW5ic2QgeDY0LXNvbGFyaXMgeDg2IHg4Ni1jeWd3aW4geDg2LWZic2QgeDg2LWZyZWVi c2QgeDg2LWludGVyaXggeDg2LWxpbnV4IHg4Ni1tYWNvcyB4ODYtbmV0YnNkIHg4Ni1vcGVuYnNk IHg4Ni1zb2xhcmlzIHg4Ni13aW5udCIKZGVjbGFyZSAteCBVU0VfRVhQQU5EX1ZBTFVFU19FTElC Qz0iQUlYIEN5Z3dpbiBEYXJ3aW4gRnJlZUJTRCBnbGliYyBIUFVYIEludGVyaXggbWludGxpYiBt dXNsIE5ldEJTRCBPcGVuQlNEIFN1bk9TIHVjbGliYyBXaW5udCIKZGVjbGFyZSAteCBVU0VfRVhQ QU5EX1ZBTFVFU19LRVJORUw9IkFJWCBDeWd3aW4gRGFyd2luIEZyZWVCU0QgZnJlZW1pbnQgSFBV WCBJbnRlcml4IGxpbnV4IE5ldEJTRCBPcGVuQlNEIFN1bk9TIFdpbm50IgpkZWNsYXJlIC14IFVT RV9FWFBBTkRfVkFMVUVTX1VTRVJMQU5EPSJCU0QgR05VIgpkZWNsYXJlIC14IFZJREVPX0NBUkRT PSJpbnRlbCIKZGVjbGFyZSAteCBXSU5ET1dJRD0iODM4ODYyMSIKZGVjbGFyZSAteCBXSU5ET1dQ QVRIPSI0IgpkZWNsYXJlIC14IFhER19DT05GSUdfRElSUz0iL2V0Yy94ZGciCmRlY2xhcmUgLXgg WERHX0RBVEFfRElSUz0iL3Vzci9sb2NhbC9zaGFyZTovdXNyL3NoYXJlIgpkZWNsYXJlIC14IFhE R19SVU5USU1FX0RJUj0iL3J1bi91c2VyLzEwMDAiCmRlY2xhcmUgLXggWERHX1NFQVQ9InNlYXQw IgpkZWNsYXJlIC14IFhER19TRVNTSU9OX0lEPSJjMSIKZGVjbGFyZSAteCBYREdfVlROUj0iMSIK ZGVjbGFyZSAtLSBYRU5fU0VBQklPU19VUkw9Imh0dHA6Ly9kZXYuZ2VudG9vLm9yZy9+aWRlbGxh NC90YXJiYWxscy9zZWFiaW9zLWRpci1yZW1vdGUtMjAxMzA3MjAudGFyLmd6IgpkZWNsYXJlIC14 IFhFTl9UQVJHRVRfQVJDSD0ieDg2XzY0IgpkZWNsYXJlIC1hIFhTQV9QQVRDSEVTPScoWzBdPSIv dXNyL3BvcnRhZ2UvYXBwLWVtdWxhdGlvbi94ZW4tdG9vbHMvZmlsZXMveGVuLTQtQ1ZFLTIwMTIt NjA3NS1YU0EtNDEucGF0Y2giIFsxXT0iL3Vzci9wb3J0YWdlL2FwcC1lbXVsYXRpb24veGVuLXRv b2xzL2ZpbGVzL3hlbi00LUNWRS1YU0EtODYucGF0Y2giIFsyXT0iL3Vzci9wb3J0YWdlL2FwcC1l bXVsYXRpb24veGVuLXRvb2xzL2ZpbGVzL3hlbi10b29scy00LUNWRS0yMDE0LTE5NTAtWFNBLTg4 LnBhdGNoIiknCmRlY2xhcmUgLXggWFRBQkxFU19BRERPTlM9InF1b3RhMiBwc2QgcGtub2NrIGxz Y2FuIGxlbmd0aDIgaXB2NG9wdGlvbnMgaXBzZXQgaXBwMnAgaWZhY2UgZ2VvaXAgZnV6enkgY29u ZGl0aW9uIHRlZSB0YXJwaXQgc3lzcnEgc3RlYWwgcmF3bmF0IGxvZ21hcmsgaXBtYXJrIGRoY3Bt YWMgZGVsdWRlIGNoYW9zIGFjY291bnQiCmRlY2xhcmUgLXggWFRFUk1fTE9DQUxFPSJlc19BUi51 dGY4IgpkZWNsYXJlIC14IFhURVJNX1NIRUxMPSIvYmluL2Jhc2giCmRlY2xhcmUgLXggWFRFUk1f VkVSU0lPTj0iWFRlcm0oMjk3KSIKZGVjbGFyZSAteCBfRV9ET0NERVNUVFJFRV89IiIKZGVjbGFy ZSAteCBfRV9FWEVERVNUVFJFRV89IiIKZGVjbGFyZSAtYSBfUFlUSE9OX0FMTF9JTVBMUz0nKFsw XT0ianl0aG9uMl81IiBbMV09Imp5dGhvbjJfNyIgWzJdPSJweXB5Ml8wIiBbM109InB5cHkiIFs0 XT0icHl0aG9uM18yIiBbNV09InB5dGhvbjNfMyIgWzZdPSJweXRob24zXzQiIFs3XT0icHl0aG9u Ml82IiBbOF09InB5dGhvbjJfNyIpJwpkZWNsYXJlIC0tIF9QWVRIT05fU0lOR0xFX1IxPSIxIgpk ZWNsYXJlIC0tIF9QWVRIT05fVVRJTFNfUjE9IjEiCmRlY2xhcmUgLS0gX19fRUNMQVNTX09OQ0Vf RVVUSUxTPSJyZWN1ciAtXyteK18tIHNwYW5rIgpkZWNsYXJlIC0tIF9fX0VDTEFTU19PTkNFX0ZM QUdfT19NQVRJQz0icmVjdXIgLV8rXitfLSBzcGFuayIKZGVjbGFyZSAtLSBfX19FQ0xBU1NfT05D RV9NVUxUSUxJQj0icmVjdXIgLV8rXitfLSBzcGFuayIKZGVjbGFyZSAtLSBfX19FQ0xBU1NfT05D RV9UT09MQ0hBSU5fRlVOQ1M9InJlY3VyIC1fK14rXy0gc3BhbmsiCmRlY2xhcmUgLS0gcGhhc2Vf ZnVuYwpfX2Jhc2hwaWQgKCkgCnsgCiAgICBzaCAtYyAnZWNobyAke1BQSUR9Jwp9Cl9iYXNoLWNv bXBsZXRpb24tcjFfZ2V0X2Jhc2hjb21wZGlyICgpIAp7IAogICAgZGVidWctcHJpbnQtZnVuY3Rp b24gJHtGVU5DTkFNRX0gIiR7QH0iOwogICAgX2Jhc2gtY29tcGxldGlvbi1yMV9nZXRfYmFzaGRp ciBjb21wbGV0aW9uc2RpciAvdXNyL3NoYXJlL2Jhc2gtY29tcGxldGlvbgp9Cl9iYXNoLWNvbXBs ZXRpb24tcjFfZ2V0X2Jhc2hkaXIgKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZV TkNOQU1FfSAiJHtAfSI7CiAgICBpZiAkKHRjLWdldFBLR19DT05GSUcpIC0tZXhpc3RzIGJhc2gt Y29tcGxldGlvbiAmPi9kZXYvbnVsbDsgdGhlbgogICAgICAgIGxvY2FsIHBhdGg9IiQoJCh0Yy1n ZXRQS0dfQ09ORklHKSAtLXZhcmlhYmxlPSQxIGJhc2gtY29tcGxldGlvbikiOwogICAgICAgIGVj aG8gIiR7cGF0aCMke0VQUkVGSVh9fSI7CiAgICBlbHNlCiAgICAgICAgZWNobyAkMjsKICAgIGZp Cn0KX2Jhc2gtY29tcGxldGlvbi1yMV9nZXRfYmFzaGhlbHBlcnNkaXIgKCkgCnsgCiAgICBkZWJ1 Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBfYmFzaC1jb21wbGV0aW9u LXIxX2dldF9iYXNoZGlyIGhlbHBlcnNkaXIgL3Vzci9zaGFyZS9iYXNoLWNvbXBsZXRpb24vaGVs cGVycwp9Cl9lcGF0Y2hfZHJhd19saW5lICgpIAp7IAogICAgW1sgLXogJDEgXV0gJiYgc2V0ICIk KHByaW50ZiAiJTY1cyIgJycpIjsKICAgIGVjaG8gIiR7MS8vPy89fSIKfQpfZXV0aWxzX2VwcmVm aXhfaW5pdCAoKSAKeyAKICAgIGhhcyAiJHtFQVBJOi0wfSIgMCAxIDIgJiYgOiAke0VEOj0ke0R9 fSAke0VQUkVGSVg6PX0gJHtFUk9PVDo9JHtST09UfX0KfQpfZmlsdGVyLWhhcmRlbmVkICgpIAp7 IAogICAgbG9jYWwgZjsKICAgIGZvciBmIGluICIkQCI7CiAgICBkbwogICAgICAgIGNhc2UgIiR7 Zn0iIGluIAogICAgICAgICAgICAtZlBJQyB8IC1mcGljIHwgLWZQSUUgfCAtZnBpZSB8IC1XbCxw aWUgfCAtcGllKQogICAgICAgICAgICAgICAgZ2NjLXNwZWNzLXBpZSB8fCBjb250aW51ZTsKICAg ICAgICAgICAgICAgIGlzLWZsYWdxIC1ub3BpZSB8fCBhcHBlbmQtZmxhZ3MgLW5vcGllCiAgICAg ICAgICAgIDs7CiAgICAgICAgICAgIC1mc3RhY2stcHJvdGVjdG9yKQogICAgICAgICAgICAgICAg Z2NjLXNwZWNzLXNzcCB8fCBjb250aW51ZTsKICAgICAgICAgICAgICAgIGlzLWZsYWdxIC1mbm8t c3RhY2stcHJvdGVjdG9yIHx8IGFwcGVuZC1mbGFncyAkKHRlc3QtZmxhZ3MgLWZuby1zdGFjay1w cm90ZWN0b3IpCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIC1mc3RhY2stcHJvdGVjdG9yLWFs bCkKICAgICAgICAgICAgICAgIGdjYy1zcGVjcy1zc3AtdG8tYWxsIHx8IGNvbnRpbnVlOwogICAg ICAgICAgICAgICAgaXMtZmxhZ3EgLWZuby1zdGFjay1wcm90ZWN0b3ItYWxsIHx8IGFwcGVuZC1m bGFncyAkKHRlc3QtZmxhZ3MgLWZuby1zdGFjay1wcm90ZWN0b3ItYWxsKQogICAgICAgICAgICA7 OwogICAgICAgICAgICAtZm5vLXN0cmljdC1vdmVyZmxvdykKICAgICAgICAgICAgICAgIGdjYy1z cGVjcy1ub3N0cmljdCB8fCBjb250aW51ZTsKICAgICAgICAgICAgICAgIGlzLWZsYWdxIC1mc3Ry aWN0LW92ZXJmbG93IHx8IGFwcGVuZC1mbGFncyAkKHRlc3QtZmxhZ3MgLWZzdHJpY3Qtb3ZlcmZs b3cpCiAgICAgICAgICAgIDs7CiAgICAgICAgZXNhYzsKICAgIGRvbmUKfQpfZmlsdGVyLXZhciAo KSAKeyAKICAgIGxvY2FsIGYgeCB2YXI9JDEgbmV3PSgpOwogICAgc2hpZnQ7CiAgICBmb3IgZiBp biAkeyF2YXJ9OwogICAgZG8KICAgICAgICBmb3IgeCBpbiAiJEAiOwogICAgICAgIGRvCiAgICAg ICAgICAgIFtbICR7Zn0gPT0gJHt4fSBdXSAmJiBjb250aW51ZSAyOwogICAgICAgIGRvbmU7CiAg ICAgICAgbmV3Kz0oIiR7Zn0iKTsKICAgIGRvbmU7CiAgICBldmFsIGV4cG9ydCAke3Zhcn09XCIi JHtuZXdbKl19IlwiCn0KX2djYy1pbnN0YWxsLWRpciAoKSAKeyAKICAgIGVjaG8gIiQoTENfQUxM PUMgJCh0Yy1nZXRDQykgLXByaW50LXNlYXJjaC1kaXJzIDI+IC9kZXYvbnVsbCB8CQlhd2sgJyQx PT0iaW5zdGFsbDoiIHtwcmludCAkMn0nKSIKfQpfZ2NjLXNwZWNzLWRpcmVjdGl2ZV9yYXcgKCkg CnsgCiAgICBsb2NhbCBjYz0kKHRjLWdldENDKTsKICAgIGxvY2FsIHNwZWNmaWxlcz0kKExDX0FM TD1DICR7Y2N9IC12IDI+JjEgfCBhd2sgJyQxPT0iUmVhZGluZyIge3ByaW50ICRORn0nKTsKICAg ICR7Y2N9IC1kdW1wc3BlY3MgMj4gL2Rldi9udWxsIHwgY2F0IC0gJHtzcGVjZmlsZXN9IHwgYXdr IC12IGRpcmVjdGl2ZT0kMSAnQkVHSU4JeyBwc3BlYz0iIjsgc3BlYz0iIjsgb3V0c2lkZT0xIH0K JDE9PSIqImRpcmVjdGl2ZSI6IiAgeyBwc3BlYz1zcGVjOyBzcGVjPSIiOyBvdXRzaWRlPTA7IG5l eHQgfQoJb3V0c2lkZSB8fCBORj09MCB8fCAoIHN1YnN0cigkMSwxLDEpPT0iKiIgJiYgc3Vic3Ry KCQxLGxlbmd0aCgkMSksMSk9PSI6IiApIHsgb3V0c2lkZT0xOyBuZXh0IH0KCXNwZWM9PSIiICYm IHN1YnN0cigkMCwxLDEpPT0iKyIgeyBzcGVjPXBzcGVjICIgIiBzdWJzdHIoJDAsMik7IG5leHQg fQoJeyBzcGVjPXNwZWMgJDAgfQpFTkQJeyBwcmludCBzcGVjIH0nOwogICAgcmV0dXJuIDAKfQpf Z2NjLXNwZWNzLWV4aXN0cyAoKSAKeyAKICAgIFtbIC1mICQoX2djYy1pbnN0YWxsLWRpcikvJDEg XV0KfQpfZ2NjX2Z1bGx2ZXJzaW9uICgpIAp7IAogICAgbG9jYWwgdmVyPSIkMSI7CiAgICBzaGlm dDsKICAgIHNldCAtLSBgJCh0Yy1nZXRDUFAgIiRAIikgLUUgLVAgLSA8PDwiX19HTlVDX18gX19H TlVDX01JTk9SX18gX19HTlVDX1BBVENITEVWRUxfXyJgOwogICAgZXZhbCBlY2hvICIkdmVyIgp9 Cl9pY29uaW5zICgpIAp7IAogICAgKCBsb2NhbCBmdW5jbmFtZT0kMTsKICAgIHNoaWZ0OwogICAg bG9jYWwgc2l6ZSBkaXI7CiAgICBsb2NhbCBjb250ZXh0PWFwcHM7CiAgICBsb2NhbCB0aGVtZT1o aWNvbG9yOwogICAgd2hpbGUgW1sgJCMgLWd0IDAgXV07IGRvCiAgICAgICAgY2FzZSAkMSBpbiAK ICAgICAgICAgICAgLXMgfCAtLXNpemUpCiAgICAgICAgICAgICAgICBpZiBbWyAkezIlJXgqfXgk ezIlJXgqfSA9PSAiJDIiIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgc2l6ZT0kezIlJXgq fTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBzaXplPSR7Mn07CiAg ICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGNhc2UgJHtzaXplfSBpbiAKICAgICAg ICAgICAgICAgICAgICAxNiB8IDIyIHwgMjQgfCAzMiB8IDM2IHwgNDggfCA2NCB8IDcyIHwgOTYg fCAxMjggfCAxOTIgfCAyNTYpCiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9JHtzaXplfXgk e3NpemV9CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBzY2FsYWJs ZSkKCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICAqKQogICAgICAg ICAgICAgICAgICAgICAgICBlZXJyb3IgIiR7c2l6ZX0gaXMgYW4gdW5zdXBwb3J0ZWQgaWNvbiBz aXplISI7CiAgICAgICAgICAgICAgICAgICAgICAgIGV4aXQgMQogICAgICAgICAgICAgICAgICAg IDs7CiAgICAgICAgICAgICAgICBlc2FjOwogICAgICAgICAgICAgICAgc2hpZnQgMgogICAgICAg ICAgICA7OwogICAgICAgICAgICAtdCB8IC0tdGhlbWUpCiAgICAgICAgICAgICAgICB0aGVtZT0k ezJ9OwogICAgICAgICAgICAgICAgc2hpZnQgMgogICAgICAgICAgICA7OwogICAgICAgICAgICAt YyB8IC0tY29udGV4dCkKICAgICAgICAgICAgICAgIGNvbnRleHQ9JHsyfTsKICAgICAgICAgICAg ICAgIHNoaWZ0IDIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgKikKICAgICAgICAgICAgICAg IGlmIFtbIC16ICR7c2l6ZX0gXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICBpbnNpbnRvIC91 c3Ivc2hhcmUvcGl4bWFwczsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAg ICBpbnNpbnRvIC91c3Ivc2hhcmUvaWNvbnMvJHt0aGVtZX0vJHtzaXplfS8ke2NvbnRleHR9Owog ICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBpZiBbWyAke2Z1bmNuYW1lfSA9PSBk b2ljb24gXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICBpZiBbWyAtZiAkMSBdXTsgdGhlbgog ICAgICAgICAgICAgICAgICAgICAgICBkb2lucyAiJHsxfSI7CiAgICAgICAgICAgICAgICAgICAg ZWxzZQogICAgICAgICAgICAgICAgICAgICAgICBpZiBbWyAtZCAkMSBdXTsgdGhlbgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2hvcHQgLXMgbnVsbGdsb2I7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkb2lucyAiJHsxfSIvKi57cG5nLHN2Z307CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzaG9wdCAtdSBudWxsZ2xvYjsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWVycm9yICIkezF9IGlzIG5vdCBhIHZhbGlkIGZp bGUvZGlyZWN0b3J5ISI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGl0IDE7CiAgICAg ICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAg ICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgZmk7 CiAgICAgICAgICAgICAgICBzaGlmdCAxCiAgICAgICAgICAgIDs7CiAgICAgICAgZXNhYzsKICAg IGRvbmU7CiAgICBpZiBbWyAke2Z1bmNuYW1lfSA9PSBuZXdpY29uIF1dOyB0aGVuCiAgICAgICAg bmV3aW5zICIkQCI7CiAgICBmaSApIHx8IGRpZQp9Cl9pc19mbGFncSAoKSAKeyAKICAgIGxvY2Fs IHggdmFyOwogICAgZXZhbCB2YXI9XCIiXCR7JDFbKl19IlwiOwogICAgZm9yIHggaW4gJHt2YXJ9 OwogICAgZG8KICAgICAgICBbWyAke3h9ID09ICQyIF1dICYmIHJldHVybiAwOwogICAgZG9uZTsK ICAgIHJldHVybiAxCn0KX3B5dGhvbl9nZXRfd3JhcHBlcl9wYXRoICgpIAp7IAogICAgZGVidWct cHJpbnQtZnVuY3Rpb24gJHtGVU5DTkFNRX0gIiR7QH0iOwogICAgaWYgX3B5dGhvbl93YW50X3B5 dGhvbl9leGVjMjsgdGhlbgogICAgICAgIGVjaG8gL3Vzci9saWIvcHl0aG9uLWV4ZWMvcHl0aG9u LWV4ZWMyOwogICAgZWxzZQogICAgICAgIGVjaG8gL3Vzci9iaW4vcHl0aG9uLWV4ZWM7CiAgICBm aQp9Cl9weXRob25faW1wbF9zdXBwb3J0ZWQgKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlv biAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBbWyAkeyN9IC1lcSAxIF1dIHx8IGRpZSAiJHtGVU5D TkFNRX06IHRha2VzIGV4YWN0bHkgMSBhcmd1bWVudCAoaW1wbCkuIjsKICAgIGxvY2FsIGltcGw9 JHsxfTsKICAgIGNhc2UgIiR7aW1wbH0iIGluIAogICAgICAgIHB5dGhvbjJfWzY3XSB8IHB5dGhv bjNfWzIzNF0gfCBweXB5Ml8wIHwganl0aG9uMl9bNTddKQogICAgICAgICAgICByZXR1cm4gMAog ICAgICAgIDs7CiAgICAgICAgcHlweTFfWzg5XSB8IHB5dGhvbjJfNSB8IHB5dGhvbjNfMSkKICAg ICAgICAgICAgcmV0dXJuIDEKICAgICAgICA7OwogICAgICAgIHB5cHkpCiAgICAgICAgICAgIGlm IFtbICR7RUFQSTotMH0gPT0gWzAxMjM0XSBdXTsgdGhlbgogICAgICAgICAgICAgICAgZGllICJQ eVB5IGlzIHN1cHBvcnRlZCBpbiBFQVBJIDUgYW5kIG5ld2VyIG9ubHkuIjsKICAgICAgICAgICAg ZmkKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGRpZSAiSW52YWxpZCBpbXBsZW1l bnRhdGlvbiBpbiBQWVRIT05fQ09NUEFUOiAke2ltcGx9IgogICAgICAgIDs7CiAgICBlc2FjCn0K X3B5dGhvbl9sbl9yZWwgKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1F fSAiJHtAfSI7CiAgICBsb2NhbCB0YXJnZXQ9JHsxfTsKICAgIGxvY2FsIHN5bW5hbWU9JHsyfTsK ICAgIGxvY2FsIHRncGF0aD0ke3RhcmdldCUvKn0vOwogICAgbG9jYWwgc3ltcGF0aD0ke3N5bW5h bWUlLyp9LzsKICAgIGxvY2FsIHJlbF90YXJnZXQ9OwogICAgd2hpbGUgW1sgLW4gJHtzeW1wYXRo fSBdXTsgZG8KICAgICAgICBsb2NhbCB0Z3NlZz0gc3ltc2VnPTsKICAgICAgICB3aGlsZSBbWyAh IC1uICR7dGdzZWd9ICYmIC1uICR7dGdwYXRofSBdXTsgZG8KICAgICAgICAgICAgdGdzZWc9JHt0 Z3BhdGglJS8qfTsKICAgICAgICAgICAgdGdwYXRoPSR7dGdwYXRoIyR7dGdzZWd9L307CiAgICAg ICAgZG9uZTsKICAgICAgICB3aGlsZSBbWyAhIC1uICR7c3ltc2VnfSAmJiAtbiAke3N5bXBhdGh9 IF1dOyBkbwogICAgICAgICAgICBzeW1zZWc9JHtzeW1wYXRoJSUvKn07CiAgICAgICAgICAgIHN5 bXBhdGg9JHtzeW1wYXRoIyR7c3ltc2VnfS99OwogICAgICAgIGRvbmU7CiAgICAgICAgaWYgW1sg JHt0Z3NlZ30gIT0gJHtzeW1zZWd9IF1dOyB0aGVuCiAgICAgICAgICAgIHJlbF90YXJnZXQ9Li4v JHtyZWxfdGFyZ2V0fSR7dGdzZWc6KyR7dGdzZWd9L307CiAgICAgICAgZmk7CiAgICBkb25lOwog ICAgcmVsX3RhcmdldCs9JHt0Z3BhdGh9JHt0YXJnZXQjIyovfTsKICAgIGRlYnVnLXByaW50ICIk e0ZVTkNOQU1FfTogJHtzeW1uYW1lfSAtPiAke3RhcmdldH0iOwogICAgZGVidWctcHJpbnQgIiR7 RlVOQ05BTUV9OiByZWxfdGFyZ2V0ID0gJHtyZWxfdGFyZ2V0fSI7CiAgICBsbiAtZnMgIiR7cmVs X3RhcmdldH0iICIke3N5bW5hbWV9Igp9Cl9weXRob25fcmV3cml0ZV9zaGViYW5nICgpIAp7IAog ICAgZGVidWctcHJpbnQtZnVuY3Rpb24gJHtGVU5DTkFNRX0gIiR7QH0iOwogICAgbG9jYWwgaW1w bDsKICAgIGNhc2UgIiR7MX0iIGluIAogICAgICAgIHB5dGhvbiogfCBqeXRob24qIHwgcHlweS1j KikKICAgICAgICAgICAgaW1wbD0kezF9OwogICAgICAgICAgICBzaGlmdAogICAgICAgIDs7CiAg ICAgICAgKikKICAgICAgICAgICAgaW1wbD0ke0VQWVRIT059OwogICAgICAgICAgICBbWyAtbiAk e2ltcGx9IF1dIHx8IGRpZSAiJHtGVU5DTkFNRX06IG5vIGltcGwgbm9yIEVQWVRIT04iCiAgICAg ICAgOzsKICAgIGVzYWM7CiAgICBkZWJ1Zy1wcmludCAiJHtGVU5DTkFNRX06IGltcGxlbWVudGF0 aW9uOiAke2ltcGx9IjsKICAgIGxvY2FsIGY7CiAgICBmb3IgZiBpbiAiJEAiOwogICAgZG8KICAg ICAgICBsb2NhbCBmcm9tIHNoZWJhbmc7CiAgICAgICAgcmVhZCAtciBzaGViYW5nIDwgIiR7Zn0i OwogICAgICAgIHNoZWJhbmc9JHtzaGViYW5nJScNJ307CiAgICAgICAgZGVidWctcHJpbnQgIiR7 RlVOQ05BTUV9OiBwYXRoID0gJHtmfSI7CiAgICAgICAgZGVidWctcHJpbnQgIiR7RlVOQ05BTUV9 OiBzaGViYW5nID0gJHtzaGViYW5nfSI7CiAgICAgICAgaWYgW1sgIiR7c2hlYmFuZ30gIiA9PSAq J3B5dGhvbiAnKiBdXTsgdGhlbgogICAgICAgICAgICBmcm9tPXB5dGhvbjsKICAgICAgICBlbHNl CiAgICAgICAgICAgIGlmIFtbICIke3NoZWJhbmd9ICIgPT0gKidweXRob24yICcqIF1dOyB0aGVu CiAgICAgICAgICAgICAgICBmcm9tPXB5dGhvbjI7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAg ICAgICAgIGlmIFtbICIke3NoZWJhbmd9ICIgPT0gKidweXRob24zICcqIF1dOyB0aGVuCiAgICAg ICAgICAgICAgICAgICAgZnJvbT1weXRob24zOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAg ICAgICAgICAgICAgIGVlcnJvciAiQSBmaWxlIGRvZXMgbm90IHNlZW0gdG8gaGF2ZSBhIHN1cHBv cnRlZCBzaGViYW5nOiI7CiAgICAgICAgICAgICAgICAgICAgZWVycm9yICIgIGZpbGU6ICR7Zn0i OwogICAgICAgICAgICAgICAgICAgIGVlcnJvciAiICBzaGViYW5nOiAke3NoZWJhbmd9IjsKICAg ICAgICAgICAgICAgICAgICBkaWUgIiR7RlVOQ05BTUV9OiAke2Z9IGRvZXMgbm90IHNlZW0gdG8g aGF2ZSBhIHZhbGlkIHNoZWJhbmciOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGZp OwogICAgICAgIGZpOwogICAgICAgIGlmIHsgCiAgICAgICAgICAgIFtbICR7ZnJvbX0gPT0gcHl0 aG9uMiBdXSAmJiBweXRob25faXNfcHl0aG9uMyAiJHtpbXBsfSIKICAgICAgICB9IHx8IHsgCiAg ICAgICAgICAgIFtbICR7ZnJvbX0gPT0gcHl0aG9uMyBdXSAmJiAhIHB5dGhvbl9pc19weXRob24z ICIke2ltcGx9IgogICAgICAgIH07IHRoZW4KICAgICAgICAgICAgZWVycm9yICJBIGZpbGUgZG9l cyBoYXZlIHNoZWJhbmcgbm90IHN1cHBvcnRpbmcgcmVxdWVzdGVkIGltcGw6IjsKICAgICAgICAg ICAgZWVycm9yICIgIGZpbGU6ICR7Zn0iOwogICAgICAgICAgICBlZXJyb3IgIiAgc2hlYmFuZzog JHtzaGViYW5nfSI7CiAgICAgICAgICAgIGVlcnJvciAiICBpbXBsOiAke2ltcGx9IjsKICAgICAg ICAgICAgZGllICIke0ZVTkNOQU1FfTogJHtmfSBkb2VzIGhhdmUgc2hlYmFuZyBub3Qgc3VwcG9y dGluZyAke0VQWVRIT059IjsKICAgICAgICBmaTsKICAgICAgICBzZWQgLWkgLWUgIjFzOiR7ZnJv bX06JHtpbXBsfToiICIke2Z9IiB8fCBkaWU7CiAgICBkb25lCn0KX3B5dGhvbl9zaW5nbGVfc2V0 X2dsb2JhbHMgKCkgCnsgCiAgICBsb2NhbCBpbXBscz0oKTsKICAgIFBZVEhPTl9ERVBTPTsKICAg IGxvY2FsIGkgUFlUSE9OX1BLR19ERVA7CiAgICBmb3IgaSBpbiAiJHtQWVRIT05fQ09NUEFUW0Bd fSI7CiAgICBkbwogICAgICAgIF9weXRob25faW1wbF9zdXBwb3J0ZWQgIiR7aX0iIHx8IGNvbnRp bnVlOwogICAgICAgIFBZVEhPTl9SRVFVSVJFRF9VU0UrPSIgcHl0aG9uX3NpbmdsZV90YXJnZXRf JHtpfT8gKCBweXRob25fdGFyZ2V0c18ke2l9ICkiOwogICAgICAgIHB5dGhvbl9leHBvcnQgIiR7 aX0iIFBZVEhPTl9QS0dfREVQOwogICAgICAgIFBZVEhPTl9ERVBTKz0icHl0aG9uX3NpbmdsZV90 YXJnZXRfJHtpfT8gKCAke1BZVEhPTl9QS0dfREVQfSApICI7CiAgICAgICAgaW1wbHMrPSgiJHtp fSIpOwogICAgZG9uZTsKICAgIGlmIFtbICR7I2ltcGxzW0BdfSAtZXEgMCBdXTsgdGhlbgogICAg ICAgIGRpZSAiTm8gc3VwcG9ydGVkIGltcGxlbWVudGF0aW9uIGluIFBZVEhPTl9DT01QQVQuIjsK ICAgIGZpOwogICAgbG9jYWwgZmxhZ3NfbXQ9KCIke2ltcGxzW0BdLyMvcHl0aG9uX3RhcmdldHNf fSIpOwogICAgbG9jYWwgZmxhZ3M9KCIke2ltcGxzW0BdLyMvcHl0aG9uX3NpbmdsZV90YXJnZXRf fSIpOwogICAgbG9jYWwgb3B0ZmxhZ3M9JHtmbGFnc19tdFtAXS8lLygtKT99OwogICAgb3B0Zmxh Z3MrPSwke2ZsYWdzW0BdLyUvKCspP307CiAgICBJVVNFPSIke2ZsYWdzX210WypdfSAke2ZsYWdz WypdfSI7CiAgICBQWVRIT05fUkVRVUlSRURfVVNFKz0iIF5eICggJHtmbGFnc1sqXX0gKSI7CiAg ICBQWVRIT05fVVNFREVQPSR7b3B0ZmxhZ3MvLyAvLH07CiAgICBpZiBbWyAke19QWVRIT05fV0FO VF9QWVRIT05fRVhFQzJ9ID09IDAgXV07IHRoZW4KICAgICAgICBQWVRIT05fREVQUys9ImRldi1s YW5nL3B5dGhvbi1leGVjOjBbJHtQWVRIT05fVVNFREVQfV0iOwogICAgZWxzZQogICAgICAgIGlm IFtbICR7RUFQSX0gIT0gNCBdXTsgdGhlbgogICAgICAgICAgICBQWVRIT05fREVQUys9ImRldi1s YW5nL3B5dGhvbi1leGVjOj1bJHtQWVRIT05fVVNFREVQfV0iOwogICAgICAgIGVsc2UKICAgICAg ICAgICAgUFlUSE9OX0RFUFMrPSJkZXYtbGFuZy9weXRob24tZXhlYzoyWyR7UFlUSE9OX1VTRURF UH1dIjsKICAgICAgICBmaTsKICAgIGZpCn0KX3B5dGhvbl93YW50X3B5dGhvbl9leGVjMiAoKSAK eyAKICAgIGRlYnVnLXByaW50LWZ1bmN0aW9uICR7RlVOQ05BTUV9ICIke0B9IjsKICAgIFtbICR7 RUFQSX0gPT0gNCBdXSAmJiByZXR1cm4gMDsKICAgIGlmIFtbICEgLW4gJHtfUFlUSE9OX1dBTlRf UFlUSE9OX0VYRUMyKzF9IF1dOyB0aGVuCiAgICAgICAgaGFzX3ZlcnNpb24gJ2Rldi1sYW5nL3B5 dGhvbi1leGVjOjInOwogICAgICAgIF9QWVRIT05fV0FOVF9QWVRIT05fRVhFQzI9JCgoICEgJHs/ fSApKTsKICAgIGZpOwogICAgW1sgJHtfUFlUSE9OX1dBTlRfUFlUSE9OX0VYRUMyfSAhPSAwIF1d Cn0KX3RjLWdldFBST0cgKCkgCnsgCiAgICBsb2NhbCB0dXBsZT0kMTsKICAgIGxvY2FsIHYgdmFy IHZhcnM9JDI7CiAgICBsb2NhbCBwcm9nPSQzOwogICAgdmFyPSR7dmFycyUlICp9OwogICAgZm9y IHYgaW4gJHt2YXJzfTsKICAgIGRvCiAgICAgICAgaWYgW1sgLW4gJHshdn0gXV07IHRoZW4KICAg ICAgICAgICAgZXhwb3J0ICR7dmFyfT0iJHshdn0iOwogICAgICAgICAgICBlY2hvICIkeyF2fSI7 CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIGxvY2FsIHNl YXJjaD07CiAgICBbWyAtbiAkNCBdXSAmJiBzZWFyY2g9JCh0eXBlIC1wICIkNC0ke3Byb2d9Iik7 CiAgICBbWyAteiAke3NlYXJjaH0gJiYgLW4gJHshdHVwbGV9IF1dICYmIHNlYXJjaD0kKHR5cGUg LXAgIiR7IXR1cGxlfS0ke3Byb2d9Iik7CiAgICBbWyAtbiAke3NlYXJjaH0gXV0gJiYgcHJvZz0k e3NlYXJjaCMjKi99OwogICAgZXhwb3J0ICR7dmFyfT0ke3Byb2d9OwogICAgZWNobyAiJHshdmFy fSIKfQpfdWRldl9nZXRfdWRldmRpciAoKSAKeyAKICAgIGlmICQoJCh0Yy1nZXRQS0dfQ09ORklH KSAtLWV4aXN0cyB1ZGV2KTsgdGhlbgogICAgICAgIGVjaG8gIiQoJCh0Yy1nZXRQS0dfQ09ORklH KSAtLXZhcmlhYmxlPXVkZXZkaXIgdWRldikiOwogICAgZWxzZQogICAgICAgIGVjaG8gL2xpYi91 ZGV2OwogICAgZmkKfQphbGwtZmxhZy12YXJzICgpIAp7IAogICAgZWNobyB7QyxDUFAsQ1hYLEND QVMsRixGQyxMRH1GTEFHUwp9CmFwcGVuZC1jZmxhZ3MgKCkgCnsgCiAgICBbWyAkIyAtZXEgMCBd XSAmJiByZXR1cm4gMDsKICAgIGV4cG9ydCBDRkxBR1MrPSIgJCoiOwogICAgcmV0dXJuIDAKfQph cHBlbmQtY3BwZmxhZ3MgKCkgCnsgCiAgICBbWyAkIyAtZXEgMCBdXSAmJiByZXR1cm4gMDsKICAg IGV4cG9ydCBDUFBGTEFHUys9IiAkKiI7CiAgICByZXR1cm4gMAp9CmFwcGVuZC1jeHhmbGFncyAo KSAKeyAKICAgIFtbICQjIC1lcSAwIF1dICYmIHJldHVybiAwOwogICAgZXhwb3J0IENYWEZMQUdT Kz0iICQqIjsKICAgIHJldHVybiAwCn0KYXBwZW5kLWZmbGFncyAoKSAKeyAKICAgIFtbICQjIC1l cSAwIF1dICYmIHJldHVybiAwOwogICAgZXhwb3J0IEZGTEFHUys9IiAkKiI7CiAgICBleHBvcnQg RkNGTEFHUys9IiAkKiI7CiAgICByZXR1cm4gMAp9CmFwcGVuZC1mbGFncyAoKSAKeyAKICAgIFtb ICQjIC1lcSAwIF1dICYmIHJldHVybiAwOwogICAgY2FzZSAiICQqICIgaW4gCiAgICAgICAgKicg Jy1bRElVXSopCiAgICAgICAgICAgIGVxYXdhcm4gJ3BsZWFzZSB1c2UgYXBwZW5kLWNwcGZsYWdz IGZvciBwcmVwcm9jZXNzb3IgZmxhZ3MnCiAgICAgICAgOzsKICAgICAgICAqJyAnLUwqIHwgKicg Jy1XbCwqKQogICAgICAgICAgICBlcWF3YXJuICdwbGVhc2UgdXNlIGFwcGVuZC1sZGZsYWdzIGZv ciBsaW5rZXIgZmxhZ3MnCiAgICAgICAgOzsKICAgIGVzYWM7CiAgICBhcHBlbmQtY2ZsYWdzICIk QCI7CiAgICBhcHBlbmQtY3h4ZmxhZ3MgIiRAIjsKICAgIGFwcGVuZC1mZmxhZ3MgIiRAIjsKICAg IHJldHVybiAwCn0KYXBwZW5kLWxkZmxhZ3MgKCkgCnsgCiAgICBbWyAkIyAtZXEgMCBdXSAmJiBy ZXR1cm4gMDsKICAgIGxvY2FsIGZsYWc7CiAgICBmb3IgZmxhZyBpbiAiJEAiOwogICAgZG8KICAg ICAgICBbWyAke2ZsYWd9ID09IC1sKiBdXSAmJiBlcWF3YXJuICJBcHBlbmRpbmcgYSBsaWJyYXJ5 IGxpbmsgaW5zdHJ1Y3Rpb24gKCR7ZmxhZ30pOyBsaWJyYXJpZXMgdG8gbGluayB0byBzaG91bGQg bm90IGJlIHBhc3NlZCB0aHJvdWdoIExERkxBR1MiOwogICAgZG9uZTsKICAgIGV4cG9ydCBMREZM QUdTPSIke0xERkxBR1N9ICQqIjsKICAgIHJldHVybiAwCn0KYXBwZW5kLWxmcy1mbGFncyAoKSAK eyAKICAgIFtbICQjIC1uZSAwIF1dICYmIGRpZSAiYXBwZW5kLWxmcy1mbGFncyB0YWtlcyBubyBh cmd1bWVudHMiOwogICAgYXBwZW5kLWNwcGZsYWdzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURf TEFSR0VGSUxFX1NPVVJDRSAtRF9MQVJHRUZJTEU2NF9TT1VSQ0UKfQphcHBlbmQtbGlicyAoKSAK eyAKICAgIFtbICQjIC1lcSAwIF1dICYmIHJldHVybiAwOwogICAgbG9jYWwgZmxhZzsKICAgIGZv ciBmbGFnIGluICIkQCI7CiAgICBkbwogICAgICAgIGNhc2UgJGZsYWcgaW4gCiAgICAgICAgICAg IC1bbExdKikKICAgICAgICAgICAgICAgIGV4cG9ydCBMSUJTPSIke0xJQlN9ICR7ZmxhZ30iCiAg ICAgICAgICAgIDs7CiAgICAgICAgICAgIC0qKQogICAgICAgICAgICAgICAgZXFhd2FybiAiQXBw ZW5kaW5nIG5vbi1saWJyYXJ5IHRvIExJQlMgKCR7ZmxhZ30pOyBPdGhlciBsaW5rZXIgZmxhZ3Mg c2hvdWxkIGJlIHBhc3NlZCB2aWEgTERGTEFHUyI7CiAgICAgICAgICAgICAgICBleHBvcnQgTElC Uz0iJHtMSUJTfSAke2ZsYWd9IgogICAgICAgICAgICA7OwogICAgICAgICAgICAqKQogICAgICAg ICAgICAgICAgZXhwb3J0IExJQlM9IiR7TElCU30gLWwke2ZsYWd9IgogICAgICAgICAgICA7Owog ICAgICAgIGVzYWM7CiAgICBkb25lOwogICAgcmV0dXJuIDAKfQpidWlsdF93aXRoX3VzZSAoKSAK eyAKICAgIF9ldXRpbHNfZXByZWZpeF9pbml0OwogICAgbG9jYWwgaGlkZGVuPSJubyI7CiAgICBp ZiBbWyAkMSA9PSAiLS1oaWRkZW4iIF1dOyB0aGVuCiAgICAgICAgaGlkZGVuPSJ5ZXMiOwogICAg ICAgIHNoaWZ0OwogICAgZmk7CiAgICBsb2NhbCBtaXNzaW5nX2FjdGlvbj0iZGllIjsKICAgIGlm IFtbICQxID09ICItLW1pc3NpbmciIF1dOyB0aGVuCiAgICAgICAgbWlzc2luZ19hY3Rpb249JDI7 CiAgICAgICAgc2hpZnQ7CiAgICAgICAgc2hpZnQ7CiAgICAgICAgY2FzZSAke21pc3NpbmdfYWN0 aW9ufSBpbiAKICAgICAgICAgICAgdHJ1ZSB8IGZhbHNlIHwgZGllKQoKICAgICAgICAgICAgOzsK ICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgIGRpZSAidW5rbm93biBhY3Rpb24gJyR7bWlz c2luZ19hY3Rpb259JyIKICAgICAgICAgICAgOzsKICAgICAgICBlc2FjOwogICAgZmk7CiAgICBs b2NhbCBvcHQ9JDE7CiAgICBbWyAke29wdDowOjF9ID0gIi0iIF1dICYmIHNoaWZ0IHx8IG9wdD0i LWEiOwogICAgbG9jYWwgUEtHPSQoYmVzdF92ZXJzaW9uICQxKTsKICAgIFtbIC16ICR7UEtHfSBd XSAmJiBkaWUgIlVuYWJsZSB0byByZXNvbHZlICQxIHRvIGFuIGluc3RhbGxlZCBwYWNrYWdlIjsK ICAgIHNoaWZ0OwogICAgbG9jYWwgVVNFRklMRT0ke0VST09UfS92YXIvZGIvcGtnLyR7UEtHfS9V U0U7CiAgICBsb2NhbCBJVVNFRklMRT0ke0VST09UfS92YXIvZGIvcGtnLyR7UEtHfS9JVVNFOwog ICAgaWYgW1sgISAtZSAke1VTRUZJTEV9IF1dIHx8IFtbICEgLWUgJHtJVVNFRklMRX0gJiYgJHto aWRkZW59ID09ICJubyIgXV07IHRoZW4KICAgICAgICBjYXNlICR7bWlzc2luZ19hY3Rpb259IGlu IAogICAgICAgICAgICB0cnVlKQogICAgICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICAgICAg OzsKICAgICAgICAgICAgZmFsc2UpCiAgICAgICAgICAgICAgICByZXR1cm4gMQogICAgICAgICAg ICA7OwogICAgICAgICAgICBkaWUpCiAgICAgICAgICAgICAgICBkaWUgIlVuYWJsZSB0byBkZXRl cm1pbmUgd2hhdCBVU0UgZmxhZ3MgJFBLRyB3YXMgYnVpbHQgd2l0aCIKICAgICAgICAgICAgOzsK ICAgICAgICBlc2FjOwogICAgZmk7CiAgICBpZiBbWyAke2hpZGRlbn0gPT0gIm5vIiBdXTsgdGhl bgogICAgICAgIGxvY2FsIElVU0VfQlVJTFQ9KCQoPCIke0lVU0VGSUxFfSIpKTsKICAgICAgICBs b2NhbCBleHBhbmQ7CiAgICAgICAgZm9yIGV4cGFuZCBpbiAkKGVjaG8gJHtVU0VfRVhQQU5EfSB8 IHRyICdbOnVwcGVyOl0nICdbOmxvd2VyOl0nKTsKICAgICAgICBkbwogICAgICAgICAgICBpZiBb WyAkMSA9PSAke2V4cGFuZH1fKiBdXTsgdGhlbgogICAgICAgICAgICAgICAgZXhwYW5kPSIiOwog ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICAg ICAgaWYgW1sgLW4gJHtleHBhbmR9IF1dOyB0aGVuCiAgICAgICAgICAgIGlmICEgaGFzICQxICR7 SVVTRV9CVUlMVFtAXSNbLStdfTsgdGhlbgogICAgICAgICAgICAgICAgY2FzZSAke21pc3Npbmdf YWN0aW9ufSBpbiAKICAgICAgICAgICAgICAgICAgICB0cnVlKQogICAgICAgICAgICAgICAgICAg ICAgICByZXR1cm4gMAogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAg ZmFsc2UpCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgICAgICAg ICAgOzsKICAgICAgICAgICAgICAgICAgICBkaWUpCiAgICAgICAgICAgICAgICAgICAgICAgIGRp ZSAiJFBLRyBkb2VzIG5vdCBhY3R1YWxseSBzdXBwb3J0IHRoZSAkMSBVU0UgZmxhZyEiCiAgICAg ICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgIGZpOwog ICAgICAgIGZpOwogICAgZmk7CiAgICBsb2NhbCBVU0VfQlVJTFQ9JCg8JHtVU0VGSUxFfSk7CiAg ICB3aGlsZSBbWyAkIyAtZ3QgMCBdXTsgZG8KICAgICAgICBpZiBbWyAke29wdH0gPSAiLW8iIF1d OyB0aGVuCiAgICAgICAgICAgIGhhcyAkMSAke1VTRV9CVUlMVH0gJiYgcmV0dXJuIDA7CiAgICAg ICAgZWxzZQogICAgICAgICAgICBoYXMgJDEgJHtVU0VfQlVJTFR9IHx8IHJldHVybiAxOwogICAg ICAgIGZpOwogICAgICAgIHNoaWZ0OwogICAgZG9uZTsKICAgIFtbICR7b3B0fSA9ICItYSIgXV0K fQpjaGVja19saWNlbnNlICgpIAp7IAogICAgZGllICJ5b3Ugbm8gbG9uZ2VyIG5lZWQgdGhpcyBh cyBwb3J0YWdlIHN1cHBvcnRzIEFDQ0VQVF9MSUNFTlNFIGl0c2VsZiIKfQpkb2Jhc2hjb21wICgp IAp7IAogICAgZGVidWctcHJpbnQtZnVuY3Rpb24gJHtGVU5DTkFNRX0gIiR7QH0iOwogICAgKCBp bnNpbnRvICIkKF9iYXNoLWNvbXBsZXRpb24tcjFfZ2V0X2Jhc2hjb21wZGlyKSI7CiAgICBkb2lu cyAiJHtAfSIgKQp9CmRvaWNvbiAoKSAKeyAKICAgIF9pY29uaW5zICR7RlVOQ05BTUV9ICIkQCIK fQpkb21lbnUgKCkgCnsgCiAgICAoIGxvY2FsIGkgaiByZXQ9MDsKICAgIGluc2ludG8gL3Vzci9z aGFyZS9hcHBsaWNhdGlvbnM7CiAgICBmb3IgaSBpbiAiJEAiOwogICAgZG8KICAgICAgICBpZiBb WyAtZiAke2l9IF1dOyB0aGVuCiAgICAgICAgICAgIGRvaW5zICIke2l9IjsKICAgICAgICAgICAg KChyZXQrPSQ/KSk7CiAgICAgICAgZWxzZQogICAgICAgICAgICBpZiBbWyAtZCAke2l9IF1dOyB0 aGVuCiAgICAgICAgICAgICAgICBmb3IgaiBpbiAiJHtpfSIvKi5kZXNrdG9wOwogICAgICAgICAg ICAgICAgZG8KICAgICAgICAgICAgICAgICAgICBkb2lucyAiJHtqfSI7CiAgICAgICAgICAgICAg ICAgICAgKChyZXQrPSQ/KSk7CiAgICAgICAgICAgICAgICBkb25lOwogICAgICAgICAgICBlbHNl CiAgICAgICAgICAgICAgICAoKCsrcmV0KSk7CiAgICAgICAgICAgIGZpOwogICAgICAgIGZpOwog ICAgZG9uZTsKICAgIGV4aXQgJHtyZXR9ICkKfQplYmVlcCAoKSAKeyAKICAgIGV3YXJuICJRQSBO b3RpY2U6IGViZWVwIGlzIG5vdCBkZWZpbmVkIGluIEVBUEk9JHtFQVBJfSwgcGxlYXNlIGZpbGUg YSBidWcgYXQgaHR0cDovL2J1Z3MuZ2VudG9vLm9yZyIKfQplY29uZl9idWlsZCAoKSAKeyAKICAg IHRjLWVudl9idWlsZCBlY29uZiAtLWJ1aWxkPSR7Q0JVSUxEOi0ke0NIT1NUfX0gIiRAIgp9CmVj dnNfY2xlYW4gKCkgCnsgCiAgICBbWyAteiAkKiBdXSAmJiBzZXQgLS0gLjsKICAgIGZpbmQgIiRA IiAtdHlwZSBkIC1uYW1lICdDVlMnIC1wcnVuZSAtcHJpbnQwIHwgeGFyZ3MgLTAgcm0gLXJmOwog ICAgZmluZCAiJEAiIC10eXBlIGYgLW5hbWUgJy5jdnMqJyAtcHJpbnQwIHwgeGFyZ3MgLTAgcm0g LXJmCn0KZWRvczJ1bml4ICgpIAp7IAogICAgW1sgJCMgLWVxIDAgXV0gJiYgcmV0dXJuIDA7CiAg ICBzZWQgLWkgJ3MvXHIkLy8nIC0tICIkQCIgfHwgZGllCn0KZWluc3RhbGxkb2NzICgpIAp7IAog ICAgZGVidWctcHJpbnQtZnVuY3Rpb24gJHtGVU5DTkFNRX0gIiR7QH0iOwogICAgbG9jYWwgZG9k b2Nfb3B0cz0tcjsKICAgIGhhcyAke0VBUEl9IDAgMSAyIDMgJiYgZG9kb2Nfb3B0cz07CiAgICBp ZiAhIGRlY2xhcmUgLXAgRE9DUyAmPi9kZXYvbnVsbDsgdGhlbgogICAgICAgIGxvY2FsIGQ7CiAg ICAgICAgZm9yIGQgaW4gUkVBRE1FKiBDaGFuZ2VMb2cgQVVUSE9SUyBORVdTIFRPRE8gQ0hBTkdF UyBUSEFOS1MgQlVHUyBGQVEgQ1JFRElUUyBDSEFOR0VMT0c7CiAgICAgICAgZG8KICAgICAgICAg ICAgaWYgW1sgLXMgJHtkfSBdXTsgdGhlbgogICAgICAgICAgICAgICAgZG9kb2MgIiR7ZH0iIHx8 IGRpZTsKICAgICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgIGVsc2UKICAgICAgICBpZiBb WyAkKGRlY2xhcmUgLXAgRE9DUykgPT0gImRlY2xhcmUgLWEiKiBdXTsgdGhlbgogICAgICAgICAg ICBpZiBbWyAtbiAke0RPQ1NbQF19IF1dOyB0aGVuCiAgICAgICAgICAgICAgICBkb2RvYyAke2Rv ZG9jX29wdHN9ICIke0RPQ1NbQF19IiB8fCBkaWU7CiAgICAgICAgICAgIGZpOwogICAgICAgIGVs c2UKICAgICAgICAgICAgaWYgW1sgLW4gJHtET0NTfSBdXTsgdGhlbgogICAgICAgICAgICAgICAg ZG9kb2MgJHtkb2RvY19vcHRzfSAke0RPQ1N9IHx8IGRpZTsKICAgICAgICAgICAgZmk7CiAgICAg ICAgZmk7CiAgICBmaTsKICAgIGlmIFtbICQoZGVjbGFyZSAtcCBIVE1MX0RPQ1MgMj4vZGV2L251 bGwpID09ICJkZWNsYXJlIC1hIiogXV07IHRoZW4KICAgICAgICBpZiBbWyAtbiAke0hUTUxfRE9D U1tAXX0gXV07IHRoZW4KICAgICAgICAgICAgZG9odG1sIC1yICIke0hUTUxfRE9DU1tAXX0iIHx8 IGRpZTsKICAgICAgICBmaTsKICAgIGVsc2UKICAgICAgICBpZiBbWyAtbiAke0hUTUxfRE9DU30g XV07IHRoZW4KICAgICAgICAgICAgZG9odG1sIC1yICR7SFRNTF9ET0NTfSB8fCBkaWU7CiAgICAg ICAgZmk7CiAgICBmaTsKICAgIHJldHVybiAwCn0KZW1rdGVtcCAoKSAKeyAKICAgIGxvY2FsIGV4 ZT0idG91Y2giOwogICAgW1sgJDEgPT0gLWQgXV0gJiYgZXhlPSJta2RpciIgJiYgc2hpZnQ7CiAg ICBsb2NhbCB0b3BkaXI9JDE7CiAgICBpZiBbWyAteiAke3RvcGRpcn0gXV07IHRoZW4KICAgICAg ICBbWyAteiAke1R9IF1dICYmIHRvcGRpcj0iL3RtcCIgfHwgdG9wZGlyPSR7VH07CiAgICBmaTsK ICAgIGlmICEgdHlwZSAtUCBta3RlbXAgPiAvZGV2L251bGw7IHRoZW4KICAgICAgICBsb2NhbCB0 bXA9LzsKICAgICAgICB3aGlsZSBbWyAtZSAke3RtcH0gXV07IGRvCiAgICAgICAgICAgIHRtcD0k e3RvcGRpcn0vdG1wLiR7UkFORE9NfS4ke1JBTkRPTX0uJHtSQU5ET019OwogICAgICAgIGRvbmU7 CiAgICAgICAgJHtleGV9ICIke3RtcH0iIHx8ICR7ZXhlfSAtcCAiJHt0bXB9IjsKICAgICAgICBl Y2hvICIke3RtcH0iOwogICAgZWxzZQogICAgICAgIGlmIFtbICR7ZXhlfSA9PSAidG91Y2giIF1d OyB0aGVuCiAgICAgICAgICAgIFRNUERJUj0iJHt0b3BkaXJ9IiBta3RlbXAgLXQgdG1wLlhYWFhY WFhYWFg7CiAgICAgICAgZWxzZQogICAgICAgICAgICBUTVBESVI9IiR7dG9wZGlyfSIgbWt0ZW1w IC1kdCB0bXAuWFhYWFhYWFhYWDsKICAgICAgICBmaTsKICAgIGZpCn0KZXBhdGNoICgpIAp7IAog ICAgZnVuY3Rpb24gX2VwYXRjaF9kcmF3X2xpbmUgKCkgCiAgICB7IAogICAgICAgIFtbIC16ICQx IF1dICYmIHNldCAiJChwcmludGYgIiU2NXMiICcnKSI7CiAgICAgICAgZWNobyAiJHsxLy8/Lz19 IgogICAgfTsKICAgIHVuc2V0IFA0Q09ORklHIFA0UE9SVCBQNFVTRVI7CiAgICBsb2NhbCBFUEFU Q0hfT1BUUz0oJHtFUEFUQ0hfT1BUU1sqXX0pOwogICAgd2hpbGUgW1sgJCMgLWd0IDAgXV07IGRv CiAgICAgICAgY2FzZSAkMSBpbiAKICAgICAgICAgICAgLSopCiAgICAgICAgICAgICAgICBFUEFU Q0hfT1BUUys9KCIkMSIpCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICopCiAgICAgICAgICAg ICAgICBicmVhawogICAgICAgICAgICA7OwogICAgICAgIGVzYWM7CiAgICAgICAgc2hpZnQ7CiAg ICBkb25lOwogICAgaWYgW1sgJCMgLWd0IDEgXV07IHRoZW4KICAgICAgICBsb2NhbCBtOwogICAg ICAgIGZvciBtIGluICIkQCI7CiAgICAgICAgZG8KICAgICAgICAgICAgZXBhdGNoICIke219IjsK ICAgICAgICBkb25lOwogICAgICAgIHJldHVybiAwOwogICAgZmk7CiAgICBsb2NhbCBTSU5HTEVf UEFUQ0g9Im5vIjsKICAgIFtbICQjIC1lcSAwIF1dICYmIHNldCAtLSAiJHtFUEFUQ0hfU09VUkNF fSI7CiAgICBpZiBbWyAtZiAkMSBdXTsgdGhlbgogICAgICAgIFNJTkdMRV9QQVRDSD0ieWVzIjsK ICAgICAgICBzZXQgLS0gIiQxIjsKICAgICAgICBsb2NhbCBFUEFUQ0hfU1VGRklYPSQxOwogICAg ZWxzZQogICAgICAgIGlmIFtbIC1kICQxIF1dOyB0aGVuCiAgICAgICAgICAgIGV2YXJfcHVzaF9z ZXQgTENfQ09MTEFURSBDOwogICAgICAgICAgICBzZXQgLS0gIiQxIi8qJHtFUEFUQ0hfU1VGRklY OisuIiR7RVBBVENIX1NVRkZJWH0ifTsKICAgICAgICAgICAgZXZhcl9wb3A7CiAgICAgICAgZWxz ZQogICAgICAgICAgICBpZiBbWyAtZiAke0VQQVRDSF9TT1VSQ0V9LyQxIF1dOyB0aGVuCiAgICAg ICAgICAgICAgICBlcGF0Y2ggIiR7RVBBVENIX1NPVVJDRX0vJDEiOwogICAgICAgICAgICAgICAg cmV0dXJuICQ/OwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBbWyAkIyAtbmUgMCBd XSAmJiBFUEFUQ0hfU09VUkNFPSQxOwogICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAg ICAgIGVlcnJvciAiQ2Fubm90IGZpbmQgXCRFUEFUQ0hfU09VUkNFISAgVmFsdWUgZm9yIFwkRVBB VENIX1NPVVJDRSBpczoiOwogICAgICAgICAgICAgICAgZWVycm9yOwogICAgICAgICAgICAgICAg ZWVycm9yICIgICR7RVBBVENIX1NPVVJDRX0iOwogICAgICAgICAgICAgICAgZWVycm9yICIgICgg JHtFUEFUQ0hfU09VUkNFIyMqL30gKSI7CiAgICAgICAgICAgICAgICBlY2hvOwogICAgICAgICAg ICAgICAgZGllICJDYW5ub3QgZmluZCBcJEVQQVRDSF9TT1VSQ0UhIjsKICAgICAgICAgICAgZmk7 CiAgICAgICAgZmk7CiAgICBmaTsKICAgIEVQQVRDSF9PUFRTPSIke0VQQVRDSF9DT01NT05fT1BU U30gJHtFUEFUQ0hfT1BUU1sqXX0iOwogICAgbG9jYWwgUElQRV9DTUQ7CiAgICBjYXNlICR7RVBB VENIX1NVRkZJWCMjKlwufSBpbiAKICAgICAgICB4eikKICAgICAgICAgICAgUElQRV9DTUQ9Inh6 IC1kYyIKICAgICAgICA7OwogICAgICAgIGx6bWEpCiAgICAgICAgICAgIFBJUEVfQ01EPSJsem1h IC1kYyIKICAgICAgICA7OwogICAgICAgIGJ6MikKICAgICAgICAgICAgUElQRV9DTUQ9ImJ6aXAy IC1kYyIKICAgICAgICA7OwogICAgICAgIGd6IHwgWiB8IHopCiAgICAgICAgICAgIFBJUEVfQ01E PSJnemlwIC1kYyIKICAgICAgICA7OwogICAgICAgIFpJUCB8IHppcCkKICAgICAgICAgICAgUElQ RV9DTUQ9InVuemlwIC1wIgogICAgICAgIDs7CiAgICAgICAgKikKCiAgICAgICAgOzsKICAgIGVz YWM7CiAgICBbWyAke1NJTkdMRV9QQVRDSH0gPT0gIm5vIiBdXSAmJiBlaW5mbyAiJHtFUEFUQ0hf TVVMVElfTVNHfSI7CiAgICBsb2NhbCB4OwogICAgZm9yIHggaW4gIiRAIjsKICAgIGRvCiAgICAg ICAgW1sgISAtZiAke3h9IF1dICYmIGNvbnRpbnVlOwogICAgICAgIGxvY2FsIHBhdGNobmFtZT0k e3gjIyovfTsKICAgICAgICBsb2NhbCBhPSR7cGF0Y2huYW1lIypffTsKICAgICAgICBhPSR7YSUl Xyp9OwogICAgICAgIGlmICEgW1sgJHtTSU5HTEVfUEFUQ0h9ID09ICJ5ZXMiIHx8ICR7RVBBVENI X0ZPUkNFfSA9PSAieWVzIiB8fCAke2F9ID09IGFsbCB8fCAke2F9ID09ICR7QVJDSH0gXV07IHRo ZW4KICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgZmk7CiAgICAgICAgaWYgW1sgLW4gJHtF UEFUQ0hfRVhDTFVERX0gXV07IHRoZW4KICAgICAgICAgICAgZXNob3B0c19wdXNoIC1vIG5vZ2xv YjsKICAgICAgICAgICAgbG9jYWwgZXg7CiAgICAgICAgICAgIGZvciBleCBpbiAke0VQQVRDSF9F WENMVURFfTsKICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgIGlmIFtbICR7cGF0Y2huYW1l fSA9PSAke2V4fSBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIGVpbmZvICIgIFNraXBwaW5n ICR7cGF0Y2huYW1lfSBkdWUgdG8gRVBBVENIX0VYQ0xVREUgLi4uIjsKICAgICAgICAgICAgICAg ICAgICBlc2hvcHRzX3BvcDsKICAgICAgICAgICAgICAgICAgICBjb250aW51ZSAyOwogICAgICAg ICAgICAgICAgZmk7CiAgICAgICAgICAgIGRvbmU7CiAgICAgICAgICAgIGZvciBleCBpbiAke0VQ QVRDSF9VU0VSX0VYQ0xVREV9OwogICAgICAgICAgICBkbwogICAgICAgICAgICAgICAgaWYgW1sg JHtwYXRjaG5hbWV9ID09ICR7ZXh9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgZWluZm8g IiAgU2tpcHBpbmcgJHtwYXRjaG5hbWV9IGR1ZSB0byBFUEFUQ0hfVVNFUl9FWENMVURFIC4uLiI7 CiAgICAgICAgICAgICAgICAgICAgZXNob3B0c19wb3A7CiAgICAgICAgICAgICAgICAgICAgY29u dGludWUgMjsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBkb25lOwogICAgICAgICAg ICBlc2hvcHRzX3BvcDsKICAgICAgICBmaTsKICAgICAgICBpZiBbWyAke1NJTkdMRV9QQVRDSH0g PT0gInllcyIgXV07IHRoZW4KICAgICAgICAgICAgaWYgW1sgLW4gJHtFUEFUQ0hfU0lOR0xFX01T R30gXV07IHRoZW4KICAgICAgICAgICAgICAgIGVpbmZvICIke0VQQVRDSF9TSU5HTEVfTVNHfSI7 CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGVpbmZvICJBcHBseWluZyAke3BhdGNo bmFtZX0gLi4uIjsKICAgICAgICAgICAgZmk7CiAgICAgICAgZWxzZQogICAgICAgICAgICBlaW5m byAiICAke3BhdGNobmFtZX0gLi4uIjsKICAgICAgICBmaTsKICAgICAgICBsb2NhbCBTVERFUlJf VEFSR0VUPSIke1R9LyR7cGF0Y2huYW1lfS5vdXQiOwogICAgICAgIGlmIFtbIC1lICR7U1RERVJS X1RBUkdFVH0gXV07IHRoZW4KICAgICAgICAgICAgU1RERVJSX1RBUkdFVD0iJHtUfS8ke3BhdGNo bmFtZX0tJCQub3V0IjsKICAgICAgICBmaTsKICAgICAgICBwcmludGYgIioqKioqICVzICoqKioq XG5QV0Q6ICVzXG5cbiIgIiR7cGF0Y2huYW1lfSIgIiR7UFdEfSIgPiAiJHtTVERFUlJfVEFSR0VU fSI7CiAgICAgICAgbG9jYWwgY291bnQ9MDsKICAgICAgICBsb2NhbCBQQVRDSF9UQVJHRVQ7CiAg ICAgICAgaWYgW1sgLW4gJHtQSVBFX0NNRH0gXV07IHRoZW4KICAgICAgICAgICAgUEFUQ0hfVEFS R0VUPSIke1R9LyQkLnBhdGNoIjsKICAgICAgICAgICAgZWNobyAiUElQRV9DT01NQU5EOiAgJHtQ SVBFX0NNRH0gJHt4fSA+ICR7UEFUQ0hfVEFSR0VUfSIgPj4gIiR7U1RERVJSX1RBUkdFVH0iOwog ICAgICAgICAgICBpZiAhICggJHtQSVBFX0NNRH0gIiR7eH0iID4gIiR7UEFUQ0hfVEFSR0VUfSIg KSA+PiAiJHtTVERFUlJfVEFSR0VUfSIgMj4mMTsgdGhlbgogICAgICAgICAgICAgICAgZWNobzsK ICAgICAgICAgICAgICAgIGVlcnJvciAiQ291bGQgbm90IGV4dHJhY3QgcGF0Y2ghIjsKICAgICAg ICAgICAgICAgIGNvdW50PTU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZmk7 CiAgICAgICAgZWxzZQogICAgICAgICAgICBQQVRDSF9UQVJHRVQ9JHt4fTsKICAgICAgICBmaTsK ICAgICAgICBsb2NhbCBhYnNfcGF0aHM9JChlZ3JlcCAtbiAnXlstK117M30gLycgIiR7UEFUQ0hf VEFSR0VUfSIgfCBhd2sgJyQyICE9ICIvZGV2L251bGwiIHsgcHJpbnQgfScpOwogICAgICAgIGlm IFtbIC1uICR7YWJzX3BhdGhzfSBdXTsgdGhlbgogICAgICAgICAgICBjb3VudD0xOwogICAgICAg ICAgICBwcmludGYgIk5PVEU6IHNraXBwaW5nIC1wMCBkdWUgdG8gYWJzb2x1dGUgcGF0aHMgaW4g cGF0Y2g6XG4lc1xuIiAiJHthYnNfcGF0aHN9IiA+PiAiJHtTVERFUlJfVEFSR0VUfSI7CiAgICAg ICAgZmk7CiAgICAgICAgbG9jYWwgcmVsX3BhdGhzPSQoZWdyZXAgLW4gJ15bLStdezN9IFteCV0q Wy5dWy5dLycgIiR7UEFUQ0hfVEFSR0VUfSIpOwogICAgICAgIGlmIFtbIC1uICR7cmVsX3BhdGhz fSBdXTsgdGhlbgogICAgICAgICAgICBlY2hvOwogICAgICAgICAgICBlZXJyb3IgIlJlamVjdGVk IFBhdGNoOiAke3BhdGNobmFtZX0gISI7CiAgICAgICAgICAgIGVlcnJvciAiICggJHtQQVRDSF9U QVJHRVR9ICkiOwogICAgICAgICAgICBlZXJyb3I7CiAgICAgICAgICAgIGVlcnJvciAiWW91ciBw YXRjaCB1c2VzIHJlbGF0aXZlIHBhdGhzICcuLi8nOiI7CiAgICAgICAgICAgIGVlcnJvciAiJHty ZWxfcGF0aHN9IjsKICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgZGllICJ5b3UgbmVlZCB0 byBmaXggdGhlIHJlbGF0aXZlIHBhdGhzIGluIHBhdGNoIjsKICAgICAgICBmaTsKICAgICAgICBs b2NhbCBwYXRjaF9jbWQ7CiAgICAgICAgbG9jYWwgcGF0Y2g9InBhdGNoIjsKICAgICAgICBldmFs ICQoYWxpYXMgcGF0Y2ggMj4vZGV2L251bGwgfCBzZWQgJ3M6XmFsaWFzIDo6Jyk7CiAgICAgICAg d2hpbGUgW1sgJHtjb3VudH0gLWx0IDUgXV07IGRvCiAgICAgICAgICAgIHBhdGNoX2NtZD0iJHtw YXRjaH0gLXAke2NvdW50fSAke0VQQVRDSF9PUFRTfSI7CiAgICAgICAgICAgICggX2VwYXRjaF9k cmF3X2xpbmUgIioqKioqICR7cGF0Y2huYW1lfSAqKioqKiI7CiAgICAgICAgICAgIGVjaG87CiAg ICAgICAgICAgIGVjaG8gIlBBVENIIENPTU1BTkQ6ICAke3BhdGNoX2NtZH0gPCAnJHtQQVRDSF9U QVJHRVR9JyI7CiAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgIF9lcGF0Y2hfZHJhd19saW5l ICIqKioqKiAke3BhdGNobmFtZX0gKioqKioiOwogICAgICAgICAgICAke3BhdGNoX2NtZH0gLS1k cnktcnVuIC1mIDwgIiR7UEFUQ0hfVEFSR0VUfSIgMj4mMTsKICAgICAgICAgICAgcmV0PSQ/Owog ICAgICAgICAgICBlY2hvOwogICAgICAgICAgICBlY2hvICJwYXRjaCBwcm9ncmFtIGV4aXRlZCB3 aXRoIHN0YXR1cyAke3JldH0iOwogICAgICAgICAgICBleGl0ICR7cmV0fSApID4+ICIke1NUREVS Ul9UQVJHRVR9IjsKICAgICAgICAgICAgaWYgWyAkPyAtZXEgMCBdOyB0aGVuCiAgICAgICAgICAg ICAgICAoIF9lcGF0Y2hfZHJhd19saW5lICIqKioqKiAke3BhdGNobmFtZX0gKioqKioiOwogICAg ICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAgIGVjaG8gIkFDVFVBTExZIEFQUExZSU5H ICR7cGF0Y2huYW1lfSAuLi4iOwogICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAg IF9lcGF0Y2hfZHJhd19saW5lICIqKioqKiAke3BhdGNobmFtZX0gKioqKioiOwogICAgICAgICAg ICAgICAgJHtwYXRjaF9jbWR9IDwgIiR7UEFUQ0hfVEFSR0VUfSIgMj4mMTsKICAgICAgICAgICAg ICAgIHJldD0kPzsKICAgICAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgICAgICBlY2hvICJw YXRjaCBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAke3JldH0iOwogICAgICAgICAgICAgICAg ZXhpdCAke3JldH0gKSA+PiAiJHtTVERFUlJfVEFSR0VUfSI7CiAgICAgICAgICAgICAgICBpZiBb ICQ/IC1uZSAwIF07IHRoZW4KICAgICAgICAgICAgICAgICAgICBlY2hvOwogICAgICAgICAgICAg ICAgICAgIGVlcnJvciAiQSBkcnktcnVuIG9mIHBhdGNoIGNvbW1hbmQgc3VjY2VlZGVkLCBidXQg YWN0dWFsbHkiOwogICAgICAgICAgICAgICAgICAgIGVlcnJvciAiYXBwbHlpbmcgdGhlIHBhdGNo IGZhaWxlZCEiOwogICAgICAgICAgICAgICAgICAgIGNvdW50PTU7CiAgICAgICAgICAgICAgICBm aTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgOiAk KCggY291bnQrKyApKTsKICAgICAgICBkb25lOwogICAgICAgIGlmIFtbIC1uICR7UElQRV9DTUR9 IF1dOyB0aGVuCiAgICAgICAgICAgIHJtIC1mICIke1BBVENIX1RBUkdFVH0iOwogICAgICAgIGZp OwogICAgICAgIGlmIFtbICR7Y291bnR9IC1nZSA1IF1dOyB0aGVuCiAgICAgICAgICAgIGVjaG87 CiAgICAgICAgICAgIGVlcnJvciAiRmFpbGVkIFBhdGNoOiAke3BhdGNobmFtZX0gISI7CiAgICAg ICAgICAgIGVlcnJvciAiICggJHtQQVRDSF9UQVJHRVR9ICkiOwogICAgICAgICAgICBlZXJyb3I7 CiAgICAgICAgICAgIGVlcnJvciAiSW5jbHVkZSBpbiB5b3VyIGJ1Z3JlcG9ydCB0aGUgY29udGVu dHMgb2Y6IjsKICAgICAgICAgICAgZWVycm9yOwogICAgICAgICAgICBlZXJyb3IgIiAgJHtTVERF UlJfVEFSR0VUfSI7CiAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgIGRpZSAiRmFpbGVkIFBh dGNoOiAke3BhdGNobmFtZX0hIjsKICAgICAgICBmaTsKICAgICAgICBybSAtZiAiJHtTVERFUlJf VEFSR0VUfSI7CiAgICAgICAgY2F0ID4+ICIke1R9L2VwYXRjaC5sb2ciICA8PC1FT0YKUEFUQ0g6 ICR7eH0KQ01EOiAke3BhdGNoX2NtZH0KUFdEOiAke1BXRH0KCkVPRgoKICAgICAgICBlZW5kIDA7 CiAgICBkb25lOwogICAgW1sgJHtTSU5HTEVfUEFUQ0h9ID09ICJubyIgXV0gJiYgZWluZm8gIkRv bmUgd2l0aCBwYXRjaGluZyI7CiAgICA6Cn0KZXBhdGNoX3VzZXIgKCkgCnsgCiAgICBbWyAkIyAt bmUgMCBdXSAmJiBkaWUgImVwYXRjaF91c2VyIHRha2VzIG5vIG9wdGlvbnMiOwogICAgbG9jYWwg YXBwbGllZD0iJHtUfS9lcGF0Y2hfdXNlci5sb2ciOwogICAgW1sgLWUgJHthcHBsaWVkfSBdXSAm JiByZXR1cm4gMjsKICAgIGxvY2FsIEVQQVRDSF9TT1VSQ0UgY2hlY2sgYmFzZT0ke1BPUlRBR0Vf Q09ORklHUk9PVCUvfS9ldGMvcG9ydGFnZS9wYXRjaGVzOwogICAgZm9yIGNoZWNrIGluICR7Q0FU RUdPUll9L3ske1B9LSR7UFJ9LCR7UH0sJHtQTn19eyw6JHtTTE9UfX07CiAgICBkbwogICAgICAg IEVQQVRDSF9TT1VSQ0U9JHtiYXNlfS8ke0NUQVJHRVR9LyR7Y2hlY2t9OwogICAgICAgIFtbIC1y ICR7RVBBVENIX1NPVVJDRX0gXV0gfHwgRVBBVENIX1NPVVJDRT0ke2Jhc2V9LyR7Q0hPU1R9LyR7 Y2hlY2t9OwogICAgICAgIFtbIC1yICR7RVBBVENIX1NPVVJDRX0gXV0gfHwgRVBBVENIX1NPVVJD RT0ke2Jhc2V9LyR7Y2hlY2t9OwogICAgICAgIGlmIFtbIC1kICR7RVBBVENIX1NPVVJDRX0gXV07 IHRoZW4KICAgICAgICAgICAgRVBBVENIX1NPVVJDRT0ke0VQQVRDSF9TT1VSQ0V9IEVQQVRDSF9T VUZGSVg9InBhdGNoIiBFUEFUQ0hfRk9SQ0U9InllcyIgRVBBVENIX01VTFRJX01TRz0iQXBwbHlp bmcgdXNlciBwYXRjaGVzIGZyb20gJHtFUEFUQ0hfU09VUkNFfSAuLi4iIGVwYXRjaDsKICAgICAg ICAgICAgZWNobyAiJHtFUEFUQ0hfU09VUkNFfSIgPiAiJHthcHBsaWVkfSI7CiAgICAgICAgICAg IHJldHVybiAwOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIGVjaG8gIm5vbmUiID4gIiR7YXBw bGllZH0iOwogICAgcmV0dXJuIDEKfQplcGF1c2UgKCkgCnsgCiAgICBld2FybiAiUUEgTm90aWNl OiBlcGF1c2UgaXMgbm90IGRlZmluZWQgaW4gRUFQST0ke0VBUEl9LCBwbGVhc2UgZmlsZSBhIGJ1 ZyBhdCBodHRwOi8vYnVncy5nZW50b28ub3JnIgp9CmVwdW50X2N4eCAoKSAKeyAKICAgIGxvY2Fs IGRpcj0kMTsKICAgIFtbIC16ICR7ZGlyfSBdXSAmJiBkaXI9JHtTfTsKICAgIGViZWdpbiAiUmVt b3ZpbmcgdXNlbGVzcyBDKysgY2hlY2tzIjsKICAgIGxvY2FsIGYgcCBhbnlfZm91bmQ7CiAgICB3 aGlsZSBJRlM9IHJlYWQgLXIgLWQgJycgZjsgZG8KICAgICAgICBmb3IgcCBpbiAiJHtQT1JURElS fSIvZWNsYXNzL0VMVC1wYXRjaGVzL25vY3h4LyoucGF0Y2g7CiAgICAgICAgZG8KICAgICAgICAg ICAgaWYgcGF0Y2ggLS1uby1iYWNrdXAtaWYtbWlzbWF0Y2ggLXAxICIke2Z9IiAiJHtwfSIgPiAv ZGV2L251bGw7IHRoZW4KICAgICAgICAgICAgICAgIGFueV9mb3VuZD0xOwogICAgICAgICAgICAg ICAgYnJlYWs7CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICBkb25lIDwgPChmaW5k ICIke2Rpcn0iIC1uYW1lIGNvbmZpZ3VyZSAtcHJpbnQwKTsKICAgIGlmIFtbIC16ICR7YW55X2Zv dW5kfSBdXTsgdGhlbgogICAgICAgIGVxYXdhcm4gImVwdW50X2N4eCBjYWxsZWQgdW5uZWNlc3Nh cmlseSAobm8gQysrIGNoZWNrcyB0byBwdW50KS4iOwogICAgZmk7CiAgICBlZW5kIDAKfQplc2hv cHRzX3BvcCAoKSAKeyAKICAgIGxvY2FsIHM7CiAgICBlc3RhY2tfcG9wIGVzaG9wdHMgcyB8fCBk aWUgIiR7RlVOQ05BTUV9OiB1bmJhbGFuY2VkIHB1c2giOwogICAgaWYgW1sgJHtzfSA9PSAic2hv cHQgLSIqIF1dOyB0aGVuCiAgICAgICAgZXZhbCAiJHtzfSIgfHwgZGllICIke0ZVTkNOQU1FfTog c2FuaXR5OiBpbnZhbGlkIHNob3B0IG9wdGlvbnM6ICR7c30iOwogICAgZWxzZQogICAgICAgIHNl dCArJC0gfHwgZGllICIke0ZVTkNOQU1FfTogc2FuaXR5OiBpbnZhbGlkIHNoZWxsIHNldHRpbmdz OiAkLSI7CiAgICAgICAgc2V0IC0ke3N9IHx8IGRpZSAiJHtGVU5DTkFNRX06IHNhbml0eTogdW5h YmxlIHRvIHJlc3RvcmUgc2F2ZWQgc2hlbGwgc2V0dGluZ3M6ICR7c30iOwogICAgZmkKfQplc2hv cHRzX3B1c2ggKCkgCnsgCiAgICBpZiBbWyAkMSA9PSAtW3N1XSBdXTsgdGhlbgogICAgICAgIGVz dGFja19wdXNoIGVzaG9wdHMgIiQoc2hvcHQgLXApIjsKICAgICAgICBbWyAkIyAtZXEgMCBdXSAm JiByZXR1cm4gMDsKICAgICAgICBzaG9wdCAiJEAiIHx8IGRpZSAiJHtGVU5DTkFNRX06IGJhZCBv cHRpb25zIHRvIHNob3B0OiAkKiI7CiAgICBlbHNlCiAgICAgICAgZXN0YWNrX3B1c2ggZXNob3B0 cyAkLTsKICAgICAgICBbWyAkIyAtZXEgMCBdXSAmJiByZXR1cm4gMDsKICAgICAgICBzZXQgIiRA IiB8fCBkaWUgIiR7RlVOQ05BTUV9OiBiYWQgb3B0aW9ucyB0byBzZXQ6ICQqIjsKICAgIGZpCn0K ZXN0YWNrX3BvcCAoKSAKeyAKICAgIFtbICQjIC1lcSAwIHx8ICQjIC1ndCAyIF1dICYmIGRpZSAi ZXN0YWNrX3BvcDogaW5jb3JyZWN0ICMgb2YgYXJndW1lbnRzIjsKICAgIGxvY2FsIF9fZXN0YWNr X25hbWU9Il9fRVNUQUNLXyQxX18iOwogICAgc2hpZnQ7CiAgICBsb2NhbCBfX2VzdGFja19yZXR2 YXI9JDE7CiAgICBzaGlmdDsKICAgIGV2YWwgbG9jYWwgX19lc3RhY2tfaT1cJHsjJHtfX2VzdGFj a19uYW1lfVxbQFxdfTsKICAgIFtbICQoKCAtLV9fZXN0YWNrX2kgKSkgLWVxIC0xIF1dICYmIHJl dHVybiAxOwogICAgaWYgW1sgLW4gJHtfX2VzdGFja19yZXR2YXJ9IF1dOyB0aGVuCiAgICAgICAg ZXZhbCAke19fZXN0YWNrX3JldHZhcn09XCJcJHske19fZXN0YWNrX25hbWV9XFske19fZXN0YWNr X2l9XF19XCI7CiAgICBmaTsKICAgIGV2YWwgdW5zZXQgJHtfX2VzdGFja19uYW1lfVxbJHtfX2Vz dGFja19pfVxdCn0KZXN0YWNrX3B1c2ggKCkgCnsgCiAgICBbWyAkIyAtZXEgMCBdXSAmJiBkaWUg ImVzdGFja19wdXNoOiBpbmNvcnJlY3QgIyBvZiBhcmd1bWVudHMiOwogICAgbG9jYWwgc3RhY2tf bmFtZT0iX19FU1RBQ0tfJDFfXyI7CiAgICBzaGlmdDsKICAgIGV2YWwgJHtzdGFja19uYW1lfSs9 XCggXCJcJEBcIiBcKQp9CmVzdm5fY2xlYW4gKCkgCnsgCiAgICBbWyAteiAkKiBdXSAmJiBzZXQg LS0gLjsKICAgIGZpbmQgIiRAIiAtdHlwZSBkIC1uYW1lICcuc3ZuJyAtcHJ1bmUgLXByaW50MCB8 IHhhcmdzIC0wIHJtIC1yZgp9CmV1bWFza19wb3AgKCkgCnsgCiAgICBbWyAkIyAtZXEgMCBdXSB8 fCBkaWUgIiR7RlVOQ05BTUV9OiB3ZSB0YWtlIG5vIG9wdGlvbnMiOwogICAgbG9jYWwgczsKICAg IGVzdGFja19wb3AgZXVtYXNrIHMgfHwgZGllICIke0ZVTkNOQU1FfTogdW5iYWxhbmNlZCBwdXNo IjsKICAgIHVtYXNrICR7c30gfHwgZGllICIke0ZVTkNOQU1FfTogc2FuaXR5OiBjb3VsZCBub3Qg cmVzdG9yZSB1bWFzazogJHtzfSIKfQpldW1hc2tfcHVzaCAoKSAKeyAKICAgIGVzdGFja19wdXNo IGV1bWFzayAiJCh1bWFzaykiOwogICAgdW1hc2sgIiRAIiB8fCBkaWUgIiR7RlVOQ05BTUV9OiBi YWQgb3B0aW9ucyB0byB1bWFzazogJCoiCn0KZXZhcl9wb3AgKCkgCnsgCiAgICBsb2NhbCBjbnQ9 JHsxOi1iYWR9OwogICAgY2FzZSAkIyBpbiAKICAgICAgICAwKQogICAgICAgICAgICBjbnQ9MQog ICAgICAgIDs7CiAgICAgICAgMSkKICAgICAgICAgICAgaXNkaWdpdCAiJHtjbnR9IiB8fCBkaWUg IiR7RlVOQ05BTUV9OiBmaXJzdCBhcmcgbXVzdCBiZSBhIG51bWJlcjogJCoiCiAgICAgICAgOzsK ICAgICAgICAqKQogICAgICAgICAgICBkaWUgIiR7RlVOQ05BTUV9OiBvbmx5IGFjY2VwdHMgb25l IGFyZzogJCoiCiAgICAgICAgOzsKICAgIGVzYWM7CiAgICBsb2NhbCB2YXIgdmFsOwogICAgd2hp bGUgKCggY250LS0gKSk7IGRvCiAgICAgICAgZXN0YWNrX3BvcCBldmFyIHZhbCB8fCBkaWUgIiR7 RlVOQ05BTUV9OiB1bmJhbGFuY2VkIHB1c2giOwogICAgICAgIGVzdGFja19wb3AgZXZhciB2YXIg fHwgZGllICIke0ZVTkNOQU1FfTogdW5iYWxhbmNlZCBwdXNoIjsKICAgICAgICBbWyAke3ZhbH0g PT0gIiR7X19fRUNMQVNTX09OQ0VfRVVUSUxTfSIgXV0gJiYgdW5zZXQgJHt2YXJ9IHx8IHByaW50 ZiAtdiAiJHt2YXJ9IiAnJXMnICIke3ZhbH0iOwogICAgZG9uZQp9CmV2YXJfcHVzaCAoKSAKeyAK ICAgIGxvY2FsIHZhciB2YWw7CiAgICBmb3IgdmFyIGluICIkQCI7CiAgICBkbwogICAgICAgIFtb ICR7IXZhcitzZXR9ID09ICJzZXQiIF1dICYmIHZhbD0keyF2YXJ9IHx8IHZhbD0iJHtfX19FQ0xB U1NfT05DRV9FVVRJTFN9IjsKICAgICAgICBlc3RhY2tfcHVzaCBldmFyICIke3Zhcn0iICIke3Zh bH0iOwogICAgZG9uZQp9CmV2YXJfcHVzaF9zZXQgKCkgCnsgCiAgICBsb2NhbCB2YXI9JDE7CiAg ICBldmFyX3B1c2ggJHt2YXJ9OwogICAgY2FzZSAkIyBpbiAKICAgICAgICAxKQogICAgICAgICAg ICB1bnNldCAke3Zhcn0KICAgICAgICA7OwogICAgICAgIDIpCiAgICAgICAgICAgIHByaW50ZiAt diAiJHt2YXJ9IiAnJXMnICIkMiIKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGRp ZSAiJHtGVU5DTkFNRX06IGluY29ycmVjdCAjIG9mIGFyZ3M6ICQqIgogICAgICAgIDs7CiAgICBl c2FjCn0KZmlsdGVyLWZsYWdzICgpIAp7IAogICAgX2ZpbHRlci1oYXJkZW5lZCAiJEAiOwogICAg bG9jYWwgdjsKICAgIGZvciB2IGluICQoYWxsLWZsYWctdmFycyk7CiAgICBkbwogICAgICAgIF9m aWx0ZXItdmFyICR7dn0gIiRAIjsKICAgIGRvbmU7CiAgICByZXR1cm4gMAp9CmZpbHRlci1sZGZs YWdzICgpIAp7IAogICAgX2ZpbHRlci12YXIgTERGTEFHUyAiJEAiOwogICAgcmV0dXJuIDAKfQpm aWx0ZXItbGZzLWZsYWdzICgpIAp7IAogICAgW1sgJCMgLW5lIDAgXV0gJiYgZGllICJmaWx0ZXIt bGZzLWZsYWdzIHRha2VzIG5vIGFyZ3VtZW50cyI7CiAgICBmaWx0ZXItZmxhZ3MgLURfRklMRV9P RkZTRVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIC1EX0xBUkdFRklMRTY0X1NPVVJDRQp9 CmZpbHRlci1tZnBtYXRoICgpIAp7IAogICAgbG9jYWwgb3JpZ19tZnBtYXRoIG5ld19tYXRoIHBy dW5lX21hdGg7CiAgICBvcmlnX21mcG1hdGg9JChnZXQtZmxhZyAtbWZwbWF0aCk7CiAgICBuZXdf bWF0aD0kKGdldC1mbGFnIG1mcG1hdGgpOwogICAgbmV3X21hdGg9JHtuZXdfbWF0aC9ib3RoLzM4 Nyxzc2V9OwogICAgbmV3X21hdGg9IiAke25ld19tYXRoLy9bLCtdLyB9ICI7CiAgICBwcnVuZV9t YXRoPSIiOwogICAgZm9yIHBydW5lX21hdGggaW4gIiRAIjsKICAgIGRvCiAgICAgICAgbmV3X21h dGg9JHtuZXdfbWF0aC8gJHtwcnVuZV9tYXRofSAvIH07CiAgICBkb25lOwogICAgbmV3X21hdGg9 JChlY2hvICR7bmV3X21hdGh9KTsKICAgIG5ld19tYXRoPSR7bmV3X21hdGgvLyAvLH07CiAgICBp ZiBbWyAteiAke25ld19tYXRofSBdXTsgdGhlbgogICAgICAgIGZpbHRlci1mbGFncyAke29yaWdf bWZwbWF0aH07CiAgICBlbHNlCiAgICAgICAgcmVwbGFjZS1mbGFncyAke29yaWdfbWZwbWF0aH0g LW1mcG1hdGg9JHtuZXdfbWF0aH07CiAgICBmaTsKICAgIHJldHVybiAwCn0KZ2NjLWZ1bGx2ZXJz aW9uICgpIAp7IAogICAgX2djY19mdWxsdmVyc2lvbiAnJDEuJDIuJDMnICIkQCIKfQpnY2MtbWFq b3ItdmVyc2lvbiAoKSAKeyAKICAgIF9nY2NfZnVsbHZlcnNpb24gJyQxJyAiJEAiCn0KZ2NjLW1p Y3JvLXZlcnNpb24gKCkgCnsgCiAgICBfZ2NjX2Z1bGx2ZXJzaW9uICckMycgIiRAIgp9CmdjYy1t aW5vci12ZXJzaW9uICgpIAp7IAogICAgX2djY19mdWxsdmVyc2lvbiAnJDInICIkQCIKfQpnY2Mt c3BlY3MtZGlyZWN0aXZlICgpIAp7IAogICAgbG9jYWwgZGlyZWN0aXZlIHN1YmRuYW1lIHN1YmRp cmVjdGl2ZTsKICAgIGRpcmVjdGl2ZT0iJChfZ2NjLXNwZWNzLWRpcmVjdGl2ZV9yYXcgJDEpIjsK ICAgIHdoaWxlIFtbICR7ZGlyZWN0aXZlfSA9PSAqJVwoKlwpKiBdXTsgZG8KICAgICAgICBzdWJk bmFtZT0ke2RpcmVjdGl2ZS8qJVwofTsKICAgICAgICBzdWJkbmFtZT0ke3N1YmRuYW1lL1wpKn07 CiAgICAgICAgc3ViZGlyZWN0aXZlPSIkKF9nY2Mtc3BlY3MtZGlyZWN0aXZlX3JhdyAke3N1YmRu YW1lfSkiOwogICAgICAgIGRpcmVjdGl2ZT0iJHtkaXJlY3RpdmUvL1wlKCR7c3ViZG5hbWV9KS8k e3N1YmRpcmVjdGl2ZX19IjsKICAgIGRvbmU7CiAgICBlY2hvICIke2RpcmVjdGl2ZX0iOwogICAg cmV0dXJuIDAKfQpnY2Mtc3BlY3Mtbm9zdHJpY3QgKCkgCnsgCiAgICBsb2NhbCBkaXJlY3RpdmU7 CiAgICBkaXJlY3RpdmU9JChnY2Mtc3BlY3MtZGlyZWN0aXZlIGNjMSk7CiAgICByZXR1cm4gJChb WyAiJHtkaXJlY3RpdmUvXHshZnN0cmljdC1vdmVyZmxvdzp9IiAhPSAiJHtkaXJlY3RpdmV9IiBd XSkKfQpnY2Mtc3BlY3Mtbm93ICgpIAp7IAogICAgbG9jYWwgZGlyZWN0aXZlOwogICAgZGlyZWN0 aXZlPSQoZ2NjLXNwZWNzLWRpcmVjdGl2ZSBsaW5rX2NvbW1hbmQpOwogICAgcmV0dXJuICQoW1sg IiR7ZGlyZWN0aXZlL1x7IW5vbm93On0iICE9ICIke2RpcmVjdGl2ZX0iIF1dKQp9CmdjYy1zcGVj cy1waWUgKCkgCnsgCiAgICBsb2NhbCBkaXJlY3RpdmU7CiAgICBkaXJlY3RpdmU9JChnY2Mtc3Bl Y3MtZGlyZWN0aXZlIGNjMSk7CiAgICByZXR1cm4gJChbWyAiJHtkaXJlY3RpdmUvXHshbm9waWU6 fSIgIT0gIiR7ZGlyZWN0aXZlfSIgXV0pCn0KZ2NjLXNwZWNzLXJlbHJvICgpIAp7IAogICAgbG9j YWwgZGlyZWN0aXZlOwogICAgZGlyZWN0aXZlPSQoZ2NjLXNwZWNzLWRpcmVjdGl2ZSBsaW5rX2Nv bW1hbmQpOwogICAgcmV0dXJuICQoW1sgIiR7ZGlyZWN0aXZlL1x7IW5vcmVscm86fSIgIT0gIiR7 ZGlyZWN0aXZlfSIgXV0pCn0KZ2NjLXNwZWNzLXNzcCAoKSAKeyAKICAgIGxvY2FsIGRpcmVjdGl2 ZTsKICAgIGRpcmVjdGl2ZT0kKGdjYy1zcGVjcy1kaXJlY3RpdmUgY2MxKTsKICAgIHJldHVybiAk KFtbICIke2RpcmVjdGl2ZS9ceyFmbm8tc3RhY2stcHJvdGVjdG9yOn0iICE9ICIke2RpcmVjdGl2 ZX0iIF1dKQp9CmdjYy1zcGVjcy1zc3AtdG8tYWxsICgpIAp7IAogICAgbG9jYWwgZGlyZWN0aXZl OwogICAgZGlyZWN0aXZlPSQoZ2NjLXNwZWNzLWRpcmVjdGl2ZSBjYzEpOwogICAgcmV0dXJuICQo W1sgIiR7ZGlyZWN0aXZlL1x7IWZuby1zdGFjay1wcm90ZWN0b3ItYWxsOn0iICE9ICIke2RpcmVj dGl2ZX0iIF1dKQp9CmdjYy12ZXJzaW9uICgpIAp7IAogICAgX2djY19mdWxsdmVyc2lvbiAnJDEu JDInICIkQCIKfQpnZW5fdXNyX2xkc2NyaXB0ICgpIAp7IAogICAgbG9jYWwgbGliIGxpYmRpcj0k KGdldF9saWJkaXIpIG91dHB1dF9mb3JtYXQ9IiIgYXV0bz1mYWxzZSBzdWZmaXg9JChnZXRfbGli bmFtZSk7CiAgICBbWyAteiAke0VEK3NldH0gXV0gJiYgbG9jYWwgRUQ9JHtEJS99JHtFUFJFRklY fS87CiAgICB0Yy1pcy1zdGF0aWMtb25seSAmJiByZXR1cm47CiAgICBjYXNlICR7Q1RBUkdFVDot JHtDSE9TVH19IGluIAogICAgICAgICotZGFyd2luKikKCiAgICAgICAgOzsKICAgICAgICAqbGlu dXgqIHwgKi1mcmVlYnNkKiB8ICotb3BlbmJzZCogfCAqLW5ldGJzZCopCiAgICAgICAgICAgIHVz ZSBwcmVmaXggJiYgcmV0dXJuIDAKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIHJl dHVybiAwCiAgICAgICAgOzsKICAgIGVzYWM7CiAgICBkb2RpciAvdXNyLyR7bGliZGlyfTsKICAg IGlmIFtbICQxID09ICItYSIgXV07IHRoZW4KICAgICAgICBhdXRvPXRydWU7CiAgICAgICAgc2hp ZnQ7CiAgICAgICAgZG9kaXIgLyR7bGliZGlyfTsKICAgIGZpOwogICAgbG9jYWwgZmxhZ3M9KCR7 Q0ZMQUdTfSAke0xERkxBR1N9IC1XbCwtLXZlcmJvc2UpOwogICAgaWYgJCh0Yy1nZXRMRCkgLS12 ZXJzaW9uIHwgZ3JlcCAtcSAnR05VIGdvbGQnOyB0aGVuCiAgICAgICAgbG9jYWwgZD0iJHtUfS9i ZmQtbGlua2VyIjsKICAgICAgICBta2RpciAtcCAiJHtkfSI7CiAgICAgICAgbG4gLXNmICQod2hp Y2ggJHtDSE9TVH0tbGQuYmZkKSAiJHtkfSIvbGQ7CiAgICAgICAgZmxhZ3MrPSgtQiIke2R9Iik7 CiAgICBmaTsKICAgIG91dHB1dF9mb3JtYXQ9JCgkKHRjLWdldENDKSAiJHtmbGFnc1tAXX0iIDI+ JjEgfCBzZWQgLW4gJ3MvXk9VVFBVVF9GT1JNQVQoIlwoW14iXSpcKSIsLiovXDEvcCcpOwogICAg W1sgLW4gJHtvdXRwdXRfZm9ybWF0fSBdXSAmJiBvdXRwdXRfZm9ybWF0PSJPVVRQVVRfRk9STUFU ICggJHtvdXRwdXRfZm9ybWF0fSApIjsKICAgIGZvciBsaWIgaW4gIiRAIjsKICAgIGRvCiAgICAg ICAgbG9jYWwgdGxpYjsKICAgICAgICBpZiAke2F1dG99OyB0aGVuCiAgICAgICAgICAgIGxpYj0i bGliJHtsaWJ9JHtzdWZmaXh9IjsKICAgICAgICBlbHNlCiAgICAgICAgICAgIFtbIC1yICR7RUR9 LyR7bGliZGlyfS8ke2xpYn0gXV0gfHwgY29udGludWU7CiAgICAgICAgZmk7CiAgICAgICAgY2Fz ZSAke0NUQVJHRVQ6LSR7Q0hPU1R9fSBpbiAKICAgICAgICAgICAgKi1kYXJ3aW4qKQogICAgICAg ICAgICAgICAgaWYgJHthdXRvfTsgdGhlbgogICAgICAgICAgICAgICAgICAgIHRsaWI9JChzY2Fu bWFjaG8gLXFGJyVTI0YnICIke0VEfSIvdXNyLyR7bGliZGlyfS8ke2xpYn0pOwogICAgICAgICAg ICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHRsaWI9JChzY2FubWFjaG8gLXFGJyVTI0Yn ICIke0VEfSIvJHtsaWJkaXJ9LyR7bGlifSk7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAg ICAgICAgIFtbIC16ICR7dGxpYn0gXV0gJiYgZGllICJ1bmFibGUgdG8gcmVhZCBpbnN0YWxsX25h bWUgZnJvbSAke2xpYn0iOwogICAgICAgICAgICAgICAgdGxpYj0ke3RsaWIjIyovfTsKICAgICAg ICAgICAgICAgIGlmICR7YXV0b307IHRoZW4KICAgICAgICAgICAgICAgICAgICBtdiAiJHtFRH0i L3Vzci8ke2xpYmRpcn0vJHtsaWIlJHtzdWZmaXh9fS4qJHtzdWZmaXgjLn0gIiR7RUR9Ii8ke2xp YmRpcn0vIHx8IGRpZTsKICAgICAgICAgICAgICAgICAgICBpZiBbWyAke3RsaWJ9ICE9ICR7bGli JSR7c3VmZml4fX0uKiR7c3VmZml4Iy59IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAg IG12ICIke0VEfSIvdXNyLyR7bGliZGlyfS8ke3RsaWIlJHtzdWZmaXh9fS4qJHtzdWZmaXgjLn0g IiR7RUR9Ii8ke2xpYmRpcn0vIHx8IGRpZTsKICAgICAgICAgICAgICAgICAgICBmaTsKICAgICAg ICAgICAgICAgICAgICBybSAtZiAiJHtFRH0iLyR7bGliZGlyfS8ke2xpYn07CiAgICAgICAgICAg ICAgICBmaTsKICAgICAgICAgICAgICAgIGlmIFtbICEgLXcgIiR7RUR9LyR7bGliZGlyfS8ke3Rs aWJ9IiBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIGNobW9kIHUrdyAiJHtFRH0ke2xpYmRp cn0vJHt0bGlifSI7CiAgICAgICAgICAgICAgICAgICAgbG9jYWwgbm93cml0ZT15ZXM7CiAgICAg ICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGluc3RhbGxfbmFtZV90b29sIC1pZCAiJHtF UFJFRklYfSIvJHtsaWJkaXJ9LyR7dGxpYn0gIiR7RUR9Ii8ke2xpYmRpcn0vJHt0bGlifSB8fCBk aWUgImluc3RhbGxfbmFtZV90b29sIGZhaWxlZCI7CiAgICAgICAgICAgICAgICBbWyAtbiAke25v d3JpdGV9IF1dICYmIGNobW9kIHUtdyAiJHtFRH0ke2xpYmRpcn0vJHt0bGlifSI7CiAgICAgICAg ICAgICAgICBwdXNoZCAiJHtFRH0vdXNyLyR7bGliZGlyfSIgPiAvZGV2L251bGw7CiAgICAgICAg ICAgICAgICBsbiAtc25mICIuLi8uLi8ke2xpYmRpcn0vJHt0bGlifSIgIiR7bGlifSI7CiAgICAg ICAgICAgICAgICBwb3BkID4gL2Rldi9udWxsCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICop CiAgICAgICAgICAgICAgICBpZiAke2F1dG99OyB0aGVuCiAgICAgICAgICAgICAgICAgICAgdGxp Yj0kKHNjYW5lbGYgLXFGJyVTI0YnICIke0VEfSIvdXNyLyR7bGliZGlyfS8ke2xpYn0pOwogICAg ICAgICAgICAgICAgICAgIFtbIC16ICR7dGxpYn0gXV0gJiYgZGllICJ1bmFibGUgdG8gcmVhZCBT T05BTUUgZnJvbSAke2xpYn0iOwogICAgICAgICAgICAgICAgICAgIG12ICIke0VEfSIvdXNyLyR7 bGliZGlyfS8ke2xpYn0qICIke0VEfSIvJHtsaWJkaXJ9LyB8fCBkaWU7CiAgICAgICAgICAgICAg ICAgICAgaWYgW1sgJHt0bGlifSAhPSAke2xpYn0qIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAg ICAgICAgIG12ICIke0VEfSIvdXNyLyR7bGliZGlyfS8ke3RsaWJ9KiAiJHtFRH0iLyR7bGliZGly fS8gfHwgZGllOwogICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgICAgIHJt IC1mICIke0VEfSIvJHtsaWJkaXJ9LyR7bGlifTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAg ICAgICAgICAgICAgICB0bGliPSR7bGlifTsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAg ICAgICAgY2F0ID4gIiR7RUR9L3Vzci8ke2xpYmRpcn0vJHtsaWJ9IiAgPDwtRU5EX0xEU0NSSVBU Ci8qIEdOVSBsZCBzY3JpcHQKICAgU2luY2UgR2VudG9vIGhhcyBjcml0aWNhbCBkeW5hbWljIGxp YnJhcmllcyBpbiAvbGliLCBhbmQgdGhlIHN0YXRpYyB2ZXJzaW9ucwogICBpbiAvdXNyL2xpYiwg d2UgbmVlZCB0byBoYXZlIGEgImZha2UiIGR5bmFtaWMgbGliIGluIC91c3IvbGliLCBvdGhlcndp c2Ugd2UKICAgcnVuIGludG8gbGlua2luZyBwcm9ibGVtcy4gIFRoaXMgImZha2UiIGR5bmFtaWMg bGliIGlzIGEgbGlua2VyIHNjcmlwdCB0aGF0CiAgIHJlZGlyZWN0cyB0aGUgbGlua2VyIHRvIHRo ZSByZWFsIGxpYi4gIEFuZCB5ZXMsIHRoaXMgd29ya3MgaW4gdGhlIGNyb3NzLQogICBjb21waWxp bmcgc2NlbmFyaW8gYXMgdGhlIHN5c3Jvb3QtZWQgbGlua2VyIHdpbGwgcHJlcGVuZCB0aGUgcmVh bCBwYXRoLgoKICAgU2VlIGJ1ZyBodHRwOi8vYnVncy5nZW50b28ub3JnLzQ0MTEgZm9yIG1vcmUg aW5mby4KICovCiR7b3V0cHV0X2Zvcm1hdH0KR1JPVVAgKCAke0VQUkVGSVh9LyR7bGliZGlyfS8k e3RsaWJ9ICkKRU5EX0xEU0NSSVBUCgogICAgICAgICAgICA7OwogICAgICAgIGVzYWMKICAgICAg ICBmcGVybXMgYSt4ICIvdXNyLyR7bGliZGlyfS8ke2xpYn0iIHx8IGRpZSAiY291bGQgbm90IGNo YW5nZSBwZXJtcyBvbiAke2xpYn0iOwogICAgZG9uZQp9CmdldC1mbGFnICgpIAp7IAogICAgbG9j YWwgZiB2YXIgZmluZGZsYWc9IiQxIjsKICAgIGZvciB2YXIgaW4gJChhbGwtZmxhZy12YXJzKTsK ICAgIGRvCiAgICAgICAgZm9yIGYgaW4gJHshdmFyfTsKICAgICAgICBkbwogICAgICAgICAgICBp ZiBbICIke2YvJHtmaW5kZmxhZ319IiAhPSAiJHtmfSIgXTsgdGhlbgogICAgICAgICAgICAgICAg cHJpbnRmICIlc1xuIiAiJHtmLy0ke2ZpbmRmbGFnfT19IjsKICAgICAgICAgICAgICAgIHJldHVy biAwOwogICAgICAgICAgICBmaTsKICAgICAgICBkb25lOwogICAgZG9uZTsKICAgIHJldHVybiAx Cn0KZ2V0X2FiaV9DRkxBR1MgKCkgCnsgCiAgICBnZXRfYWJpX3ZhciBDRkxBR1MgIiRAIgp9Cmdl dF9hYmlfQ0hPU1QgKCkgCnsgCiAgICBnZXRfYWJpX3ZhciBDSE9TVCAiJEAiCn0KZ2V0X2FiaV9D VEFSR0VUICgpIAp7IAogICAgZ2V0X2FiaV92YXIgQ1RBUkdFVCAiJEAiCn0KZ2V0X2FiaV9GQUtF X1RBUkdFVFMgKCkgCnsgCiAgICBnZXRfYWJpX3ZhciBGQUtFX1RBUkdFVFMgIiRAIgp9CmdldF9h YmlfTERGTEFHUyAoKSAKeyAKICAgIGdldF9hYmlfdmFyIExERkxBR1MgIiRAIgp9CmdldF9hYmlf TElCRElSICgpIAp7IAogICAgZ2V0X2FiaV92YXIgTElCRElSICIkQCIKfQpnZXRfYWJpX3ZhciAo KSAKeyAKICAgIGxvY2FsIGZsYWc9JDE7CiAgICBsb2NhbCBhYmk9JHsyOi0ke0FCSTotJHtERUZB VUxUX0FCSTotZGVmYXVsdH19fTsKICAgIGxvY2FsIHZhcj0iJHtmbGFnfV8ke2FiaX0iOwogICAg ZWNobyAkeyF2YXJ9Cn0KZ2V0X2FsbF9hYmlzICgpIAp7IAogICAgbG9jYWwgeCBvcmRlcj0iIiBt dmFyIGR2YXI7CiAgICBtdmFyPSJNVUxUSUxJQl9BQklTIjsKICAgIGR2YXI9IkRFRkFVTFRfQUJJ IjsKICAgIGlmIFtbIC1uICQxIF1dOyB0aGVuCiAgICAgICAgbXZhcj0iJDFfJHttdmFyfSI7CiAg ICAgICAgZHZhcj0iJDFfJHtkdmFyfSI7CiAgICBmaTsKICAgIGlmIFtbIC16ICR7IW12YXJ9IF1d OyB0aGVuCiAgICAgICAgZWNobyAiZGVmYXVsdCI7CiAgICAgICAgcmV0dXJuIDA7CiAgICBmaTsK ICAgIGZvciB4IGluICR7IW12YXJ9OwogICAgZG8KICAgICAgICBpZiBbWyAke3h9ICE9ICR7IWR2 YXJ9IF1dOyB0aGVuCiAgICAgICAgICAgIG9yZGVyPSIke29yZGVyOiske29yZGVyfSB9JHt4fSI7 CiAgICAgICAgZmk7CiAgICBkb25lOwogICAgb3JkZXI9IiR7b3JkZXI6KyR7b3JkZXJ9IH0keyFk dmFyfSI7CiAgICBlY2hvICR7b3JkZXJ9OwogICAgcmV0dXJuIDAKfQpnZXRfYWxsX2xpYmRpcnMg KCkgCnsgCiAgICBsb2NhbCBsaWJkaXJzIGFiaTsKICAgIGZvciBhYmkgaW4gJHtNVUxUSUxJQl9B QklTfTsKICAgIGRvCiAgICAgICAgbGliZGlycys9IiAkKGdldF9hYmlfTElCRElSICR7YWJpfSki OwogICAgZG9uZTsKICAgIFtbICIgJHtsaWJkaXJzfSAiICE9ICoiIGxpYiAiKiBdXSAmJiBsaWJk aXJzKz0iIGxpYiI7CiAgICBlY2hvICIke2xpYmRpcnN9Igp9CmdldF9iYXNoY29tcGRpciAoKSAK eyAKICAgIGRlYnVnLXByaW50LWZ1bmN0aW9uICR7RlVOQ05BTUV9ICIke0B9IjsKICAgIGVjaG8g IiR7RVBSRUZJWH0kKF9iYXNoLWNvbXBsZXRpb24tcjFfZ2V0X2Jhc2hjb21wZGlyKSIKfQpnZXRf YmFzaGhlbHBlcnNkaXIgKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1F fSAiJHtAfSI7CiAgICBlY2hvICIke0VQUkVGSVh9JChfYmFzaC1jb21wbGV0aW9uLXIxX2dldF9i YXNoaGVscGVyc2RpcikiCn0KZ2V0X2luc3RhbGxfYWJpcyAoKSAKeyAKICAgIGxvY2FsIHggb3Jk ZXI9IiI7CiAgICBpZiBbWyAteiAke01VTFRJTElCX0FCSVN9IF1dOyB0aGVuCiAgICAgICAgZWNo byAiZGVmYXVsdCI7CiAgICAgICAgcmV0dXJuIDA7CiAgICBmaTsKICAgIGlmIFtbICR7RU1VTFRJ TElCX1BLR30gPT0gInRydWUiIF1dOyB0aGVuCiAgICAgICAgZm9yIHggaW4gJHtNVUxUSUxJQl9B QklTfTsKICAgICAgICBkbwogICAgICAgICAgICBpZiBbWyAke3h9ICE9ICIke0RFRkFVTFRfQUJJ fSIgXV07IHRoZW4KICAgICAgICAgICAgICAgIGhhcyAke3h9ICR7QUJJX0RFTll9IHx8IG9yZGVy PSIke29yZGVyfSAke3h9IjsKICAgICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgICAgICBo YXMgJHtERUZBVUxUX0FCSX0gJHtBQklfREVOWX0gfHwgb3JkZXI9IiR7b3JkZXJ9ICR7REVGQVVM VF9BQkl9IjsKICAgICAgICBpZiBbWyAtbiAke0FCSV9BTExPV30gXV07IHRoZW4KICAgICAgICAg ICAgbG9jYWwgb3JkZXJhPSIiOwogICAgICAgICAgICBmb3IgeCBpbiAke29yZGVyfTsKICAgICAg ICAgICAgZG8KICAgICAgICAgICAgICAgIGlmIGhhcyAke3h9ICR7QUJJX0FMTE9XfTsgdGhlbgog ICAgICAgICAgICAgICAgICAgIG9yZGVyYT0iJHtvcmRlcmF9ICR7eH0iOwogICAgICAgICAgICAg ICAgZmk7CiAgICAgICAgICAgIGRvbmU7CiAgICAgICAgICAgIG9yZGVyPSR7b3JkZXJhfTsKICAg ICAgICBmaTsKICAgIGVsc2UKICAgICAgICBvcmRlcj0ke0RFRkFVTFRfQUJJfTsKICAgIGZpOwog ICAgaWYgW1sgLXogJHtvcmRlcn0gXV07IHRoZW4KICAgICAgICBkaWUgIlRoZSBBQkkgbGlzdCBp cyBlbXB0eS4gIEFyZSB5b3UgdXNpbmcgYSBwcm9wZXIgbXVsdGlsaWIgcHJvZmlsZT8gIFBlcmhh cHMgeW91ciBVU0UgZmxhZ3Mgb3IgTVVMVElMSUJfQUJJUyBhcmUgdG9vIHJlc3RyaWN0aXZlIGZv ciB0aGlzIHBhY2thZ2UuIjsKICAgIGZpOwogICAgZWNobyAke29yZGVyfTsKICAgIHJldHVybiAw Cn0KZ2V0X2xpYmRpciAoKSAKeyAKICAgIGxvY2FsIENPTkZfTElCRElSOwogICAgaWYgWyAtbiAi JHtDT05GX0xJQkRJUl9PVkVSUklERX0iIF07IHRoZW4KICAgICAgICBlY2hvICR7Q09ORl9MSUJE SVJfT1ZFUlJJREV9OwogICAgZWxzZQogICAgICAgIGdldF9hYmlfTElCRElSOwogICAgZmkKfQpn ZXRfbGlibmFtZSAoKSAKeyAKICAgIGxvY2FsIGxpYm5hbWU7CiAgICBsb2NhbCB2ZXI9JDE7CiAg ICBjYXNlICR7Q0hPU1R9IGluIAogICAgICAgICotY3lnd2luIHwgbWluZ3cqIHwgKi1taW5ndyop CiAgICAgICAgICAgIGxpYm5hbWU9ImRsbCIKICAgICAgICA7OwogICAgICAgICotZGFyd2luKikK ICAgICAgICAgICAgbGlibmFtZT0iZHlsaWIiCiAgICAgICAgOzsKICAgICAgICAqLW1pbnQqKQog ICAgICAgICAgICBsaWJuYW1lPSJpcnJlbGV2YW50IgogICAgICAgIDs7CiAgICAgICAgaHBwYSot aHB1eCopCiAgICAgICAgICAgIGxpYm5hbWU9InNsIgogICAgICAgIDs7CiAgICAgICAgKikKICAg ICAgICAgICAgbGlibmFtZT0ic28iCiAgICAgICAgOzsKICAgIGVzYWM7CiAgICBpZiBbWyAteiAk KiBdXTsgdGhlbgogICAgICAgIGVjaG8gIi4ke2xpYm5hbWV9IjsKICAgIGVsc2UKICAgICAgICBm b3IgdmVyIGluICIkQCI7CiAgICAgICAgZG8KICAgICAgICAgICAgY2FzZSAke0NIT1NUfSBpbiAK ICAgICAgICAgICAgICAgICotZGFyd2luKikKICAgICAgICAgICAgICAgICAgICBlY2hvICIuJHt2 ZXJ9LiR7bGlibmFtZX0iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgKi1taW50 KikKICAgICAgICAgICAgICAgICAgICBlY2hvICIuJHtsaWJuYW1lfSIKICAgICAgICAgICAgICAg IDs7CiAgICAgICAgICAgICAgICAqKQogICAgICAgICAgICAgICAgICAgIGVjaG8gIi4ke2xpYm5h bWV9LiR7dmVyfSIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAg ZG9uZTsKICAgIGZpCn0KZ2V0X21vZG5hbWUgKCkgCnsgCiAgICBsb2NhbCBtb2RuYW1lOwogICAg bG9jYWwgdmVyPSQxOwogICAgY2FzZSAke0NIT1NUfSBpbiAKICAgICAgICAqLWRhcndpbiopCiAg ICAgICAgICAgIG1vZG5hbWU9ImJ1bmRsZSIKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAg ICAgIG1vZG5hbWU9InNvIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgZWNobyAiLiR7bW9kbmFt ZX0iCn0KZ2V0X3VkZXZkaXIgKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNO QU1FfSAiJHtAfSI7CiAgICBlY2hvICIkKF91ZGV2X2dldF91ZGV2ZGlyKSIKfQpoYXNfbTMyICgp IAp7IAogICAgZGllICIke0ZVTkNOQU1FfTogZG9uJ3QgdXNlIHRoaXMgYW55bW9yZSIKfQpoYXNf bTY0ICgpIAp7IAogICAgZXFhd2FybiAiJHtGVU5DTkFNRX06IGRvbid0IHVzZSB0aGlzIGFueW1v cmUiOwogICAgbG9jYWwgdGVtcD0iJChlbWt0ZW1wKSI7CiAgICBlY2hvICJpbnQgbWFpbigpIHsg cmV0dXJuKDApOyB9IiA+ICIke3RlbXB9Ii5jOwogICAgTVlfQ0M9JCh0Yy1nZXRDQyk7CiAgICAk e01ZX0NDLyAuKi99IC1tNjQgLW8gIiQoZW1rdGVtcCkiICIke3RlbXB9Ii5jID4gL2Rldi9udWxs IDI+JjE7CiAgICBsb2NhbCByZXQ9JD87CiAgICBybSAtZiAiJHt0ZW1wfSIuYzsKICAgIFtbICR7 cmV0fSAhPSAxIF1dICYmIHJldHVybiAwOwogICAgcmV0dXJuIDEKfQpoYXNfbXVsdGlsaWJfcHJv ZmlsZSAoKSAKeyAKICAgIFsgLW4gIiR7TVVMVElMSUJfQUJJU30iIC1hICIke01VTFRJTElCX0FC SVN9IiAhPSAiJHtNVUxUSUxJQl9BQklTLyAvfSIgXQp9CmluX2l1c2UgKCkgCnsgCiAgICBkZWJ1 Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBbWyAkeyN9IC1lcSAxIF1d IHx8IGRpZSAiSW52YWxpZCBhcmdzIHRvICR7RlVOQ05BTUV9KCkiOwogICAgbG9jYWwgZmxhZz0k ezF9OwogICAgbG9jYWwgbGl1c2U9KCR7SVVTRX0pOwogICAgaGFzICIke2ZsYWd9IiAiJHtsaXVz ZVtAXSNbKy1dfSIKfQppcy1mbGFnICgpIAp7IAogICAgaXMtZmxhZ3EgIiRAIiAmJiBlY2hvIHRy dWUKfQppcy1mbGFncSAoKSAKeyAKICAgIFtbIC1uICQyIF1dICYmIGRpZSAiVXNhZ2U6IGlzLWZs YWcgPGZsYWc+IjsKICAgIGxvY2FsIHZhcjsKICAgIGZvciB2YXIgaW4gJChhbGwtZmxhZy12YXJz KTsKICAgIGRvCiAgICAgICAgX2lzX2ZsYWdxICR7dmFyfSAiJDEiICYmIHJldHVybiAwOwogICAg ZG9uZTsKICAgIHJldHVybiAxCn0KaXMtbGRmbGFnICgpIAp7IAogICAgaXMtbGRmbGFncSAiJEAi ICYmIGVjaG8gdHJ1ZQp9CmlzLWxkZmxhZ3EgKCkgCnsgCiAgICBbWyAtbiAkMiBdXSAmJiBkaWUg IlVzYWdlOiBpcy1sZGZsYWcgPGZsYWc+IjsKICAgIF9pc19mbGFncSBMREZMQUdTICQxCn0KaXNf ZmluYWxfYWJpICgpIAp7IAogICAgaGFzX211bHRpbGliX3Byb2ZpbGUgfHwgcmV0dXJuIDA7CiAg ICBzZXQgLS0gJChnZXRfaW5zdGFsbF9hYmlzKTsKICAgIGxvY2FsIExBU1RfQUJJPSQjOwogICAg W1sgJHshTEFTVF9BQkl9ID09ICR7QUJJfSBdXQp9CmlzZGlnaXQgKCkgCnsgCiAgICBsb2NhbCBk OwogICAgZm9yIGQgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgW1sgJHtkOi1iYWR9ID09ICpbITAt OV0qIF1dICYmIHJldHVybiAxOwogICAgZG9uZTsKICAgIHJldHVybiAwCn0KbWFrZV9kZXNrdG9w X2VudHJ5ICgpIAp7IAogICAgW1sgLXogJDEgXV0gJiYgZGllICJtYWtlX2Rlc2t0b3BfZW50cnk6 IFlvdSBtdXN0IHNwZWNpZnkgdGhlIGV4ZWN1dGFibGUiOwogICAgbG9jYWwgZXhlYz0kezF9Owog ICAgbG9jYWwgbmFtZT0kezI6LSR7UE59fTsKICAgIGxvY2FsIGljb249JHszOi0ke1BOfX07CiAg ICBsb2NhbCB0eXBlPSR7NH07CiAgICBsb2NhbCBmaWVsZHM9JHs1fTsKICAgIGlmIFtbIC16ICR7 dHlwZX0gXV07IHRoZW4KICAgICAgICBsb2NhbCBjYXRtYWo9JHtDQVRFR09SWSUlLSp9OwogICAg ICAgIGxvY2FsIGNhdG1pbj0ke0NBVEVHT1JZIyMqLX07CiAgICAgICAgY2FzZSAke2NhdG1han0g aW4gCiAgICAgICAgICAgIGFwcCkKICAgICAgICAgICAgICAgIGNhc2UgJHtjYXRtaW59IGluIAog ICAgICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkpCiAgICAgICAgICAgICAgICAgICAgICAg IHR5cGU9IlV0aWxpdHk7QWNjZXNzaWJpbGl0eSIKICAgICAgICAgICAgICAgICAgICA7OwogICAg ICAgICAgICAgICAgICAgIGFkbWluKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVN5c3Rl bQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgYW50aXZpcnVzKQog ICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVN5c3RlbQogICAgICAgICAgICAgICAgICAgIDs7 CiAgICAgICAgICAgICAgICAgICAgYXJjaCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0i VXRpbGl0eTtBcmNoaXZpbmciCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAg ICAgICBiYWNrdXApCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9IlV0aWxpdHk7QXJjaGl2 aW5nIgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgY2RyKQogICAg ICAgICAgICAgICAgICAgICAgICB0eXBlPSJBdWRpb1ZpZGVvO0Rpc2NCdXJuaW5nIgogICAgICAg ICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgZGljdHMpCiAgICAgICAgICAgICAg ICAgICAgICAgIHR5cGU9Ik9mZmljZTtEaWN0aW9uYXJ5IgogICAgICAgICAgICAgICAgICAgIDs7 CiAgICAgICAgICAgICAgICAgICAgZG9jKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPURv Y3VtZW50YXRpb24KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGVk aXRvcnMpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9IlV0aWxpdHk7VGV4dEVkaXRvciIK ICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGVtYWNzKQogICAgICAg ICAgICAgICAgICAgICAgICB0eXBlPSJEZXZlbG9wbWVudDtUZXh0RWRpdG9yIgogICAgICAgICAg ICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgZW11bGF0aW9uKQogICAgICAgICAgICAg ICAgICAgICAgICB0eXBlPSJTeXN0ZW07RW11bGF0b3IiCiAgICAgICAgICAgICAgICAgICAgOzsK ICAgICAgICAgICAgICAgICAgICBsYXB0b3ApCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9 IlNldHRpbmdzO0hhcmR3YXJlU2V0dGluZ3MiCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg ICAgICAgICAgICAgICBvZmZpY2UpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9T2ZmaWNl CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBwZGEpCiAgICAgICAg ICAgICAgICAgICAgICAgIHR5cGU9Ik9mZmljZTtQREEiCiAgICAgICAgICAgICAgICAgICAgOzsK ICAgICAgICAgICAgICAgICAgICB2aW0pCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9IkRl dmVsb3BtZW50O1RleHRFZGl0b3IiCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg ICAgICAgICB4ZW1hY3MpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9IkRldmVsb3BtZW50 O1RleHRFZGl0b3IiCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgIGVzYWMK ICAgICAgICAgICAgOzsKICAgICAgICAgICAgZGV2KQogICAgICAgICAgICAgICAgdHlwZT0iRGV2 ZWxvcG1lbnQiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGdhbWVzKQogICAgICAgICAgICAg ICAgY2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAgICAgICAgICAgICAgYWN0aW9uIHwgZnBzKQog ICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUFjdGlvbkdhbWUKICAgICAgICAgICAgICAgICAg ICA7OwogICAgICAgICAgICAgICAgICAgIGFyY2FkZSkKICAgICAgICAgICAgICAgICAgICAgICAg dHlwZT1BcmNhZGVHYW1lCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAg ICBib2FyZCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1Cb2FyZEdhbWUKICAgICAgICAg ICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGVtdWxhdGlvbikKICAgICAgICAgICAg ICAgICAgICAgICAgdHlwZT1FbXVsYXRvcgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAg ICAgICAgICAgICAga2lkcykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1LaWRzR2FtZQog ICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgcHV6emxlKQogICAgICAg ICAgICAgICAgICAgICAgICB0eXBlPUxvZ2ljR2FtZQogICAgICAgICAgICAgICAgICAgIDs7CiAg ICAgICAgICAgICAgICAgICAgcm9ndWVsaWtlKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBl PVJvbGVQbGF5aW5nCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBy cGcpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Um9sZVBsYXlpbmcKICAgICAgICAgICAg ICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHNpbXVsYXRpb24pCiAgICAgICAgICAgICAg ICAgICAgICAgIHR5cGU9U2ltdWxhdGlvbgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAg ICAgICAgICAgICAgc3BvcnRzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVNwb3J0c0dh bWUKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHN0cmF0ZWd5KQog ICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVN0cmF0ZWd5R2FtZQogICAgICAgICAgICAgICAg ICAgIDs7CiAgICAgICAgICAgICAgICBlc2FjOwogICAgICAgICAgICAgICAgdHlwZT0iR2FtZTsk e3R5cGV9IgogICAgICAgICAgICA7OwogICAgICAgICAgICBnbm9tZSkKICAgICAgICAgICAgICAg IHR5cGU9Ikdub21lO0dUSyIKICAgICAgICAgICAgOzsKICAgICAgICAgICAga2RlKQogICAgICAg ICAgICAgICAgdHlwZT0iS0RFO1F0IgogICAgICAgICAgICA7OwogICAgICAgICAgICBtYWlsKQog ICAgICAgICAgICAgICAgdHlwZT0iTmV0d29yaztFbWFpbCIKICAgICAgICAgICAgOzsKICAgICAg ICAgICAgbWVkaWEpCiAgICAgICAgICAgICAgICBjYXNlICR7Y2F0bWlufSBpbiAKICAgICAgICAg ICAgICAgICAgICBnZngpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9R3JhcGhpY3MKICAg ICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAgICAgICAgICAgICAg ICAgICAgICAgIGNhc2UgJHtjYXRtaW59IGluIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg cmFkaW8pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1UdW5lcgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdW5k KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9QXVkaW8KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVRWCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICA7OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW8pCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdHlwZT1WaWRlbwogICAgICAgICAgICAgICAgICAgICAgICAgICAg OzsKICAgICAgICAgICAgICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgICAgICAgICAgICAg dHlwZT0iQXVkaW9WaWRlbzske3R5cGV9IgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAg ICAgICAgICBlc2FjCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIG5ldCkKICAgICAgICAgICAg ICAgIGNhc2UgJHtjYXRtaW59IGluIAogICAgICAgICAgICAgICAgICAgIGRpYWx1cCkKICAgICAg ICAgICAgICAgICAgICAgICAgdHlwZT1EaWFsdXAKICAgICAgICAgICAgICAgICAgICA7OwogICAg ICAgICAgICAgICAgICAgIGZ0cCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1GaWxlVHJh bnNmZXIKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGltKQogICAg ICAgICAgICAgICAgICAgICAgICB0eXBlPUluc3RhbnRNZXNzYWdpbmcKICAgICAgICAgICAgICAg ICAgICA7OwogICAgICAgICAgICAgICAgICAgIGlyYykKICAgICAgICAgICAgICAgICAgICAgICAg dHlwZT1JUkNDbGllbnQKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAg IG1haWwpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9RW1haWwKICAgICAgICAgICAgICAg ICAgICA7OwogICAgICAgICAgICAgICAgICAgIG5ld3MpCiAgICAgICAgICAgICAgICAgICAgICAg IHR5cGU9TmV3cwogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgbm50 cCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1OZXdzCiAgICAgICAgICAgICAgICAgICAg OzsKICAgICAgICAgICAgICAgICAgICBwMnApCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9 RmlsZVRyYW5zZmVyCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICB2 b2lwKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVRlbGVwaG9ueQogICAgICAgICAgICAg ICAgICAgIDs7CiAgICAgICAgICAgICAgICBlc2FjOwogICAgICAgICAgICAgICAgdHlwZT0iTmV0 d29yazske3R5cGV9IgogICAgICAgICAgICA7OwogICAgICAgICAgICBzY2kpCiAgICAgICAgICAg ICAgICBjYXNlICR7Y2F0bWlufSBpbiAKICAgICAgICAgICAgICAgICAgICBhc3RybyopCiAgICAg ICAgICAgICAgICAgICAgICAgIHR5cGU9QXN0cm9ub215CiAgICAgICAgICAgICAgICAgICAgOzsK ICAgICAgICAgICAgICAgICAgICBiaW8qKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUJp b2xvZ3kKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGNhbGMqKQog ICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUNhbGN1bGF0b3IKICAgICAgICAgICAgICAgICAg ICA7OwogICAgICAgICAgICAgICAgICAgIGNoZW0qKQogICAgICAgICAgICAgICAgICAgICAgICB0 eXBlPUNoZW1pc3RyeQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAg ZWxlYyopCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9RWxlY3Ryb25pY3MKICAgICAgICAg ICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGdlbyopCiAgICAgICAgICAgICAgICAg ICAgICAgIHR5cGU9R2VvbG9neQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAg ICAgICAgbWF0aCopCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9TWF0aAogICAgICAgICAg ICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgcGh5c2ljcykKICAgICAgICAgICAgICAg ICAgICAgICAgdHlwZT1QaHlzaWNzCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg ICAgICAgICB2aXN1YWwqKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPURhdGFWaXN1YWxp emF0aW9uCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgIGVzYWM7CiAgICAg ICAgICAgICAgICB0eXBlPSJFZHVjYXRpb247U2NpZW5jZTske3R5cGV9IgogICAgICAgICAgICA7 OwogICAgICAgICAgICBzeXMpCiAgICAgICAgICAgICAgICB0eXBlPSJTeXN0ZW0iCiAgICAgICAg ICAgIDs7CiAgICAgICAgICAgIHd3dykKICAgICAgICAgICAgICAgIGNhc2UgJHtjYXRtaW59IGlu IAogICAgICAgICAgICAgICAgICAgIGNsaWVudCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlw ZT1XZWJCcm93c2VyCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgIGVzYWM7 CiAgICAgICAgICAgICAgICB0eXBlPSJOZXR3b3JrOyR7dHlwZX0iCiAgICAgICAgICAgIDs7CiAg ICAgICAgICAgICopCiAgICAgICAgICAgICAgICB0eXBlPQogICAgICAgICAgICA7OwogICAgICAg IGVzYWM7CiAgICBmaTsKICAgIGlmIFsgIiR7U0xPVH0iID09ICIwIiBdOyB0aGVuCiAgICAgICAg bG9jYWwgZGVza3RvcF9uYW1lPSIke1BOfSI7CiAgICBlbHNlCiAgICAgICAgbG9jYWwgZGVza3Rv cF9uYW1lPSIke1BOfS0ke1NMT1R9IjsKICAgIGZpOwogICAgbG9jYWwgZGVza3RvcD0iJHtUfS8k KGVjaG8gJHtleGVjfSB8IHNlZCAnczpbWzpzcGFjZTpdLzpdOl86ZycpLSR7ZGVza3RvcF9uYW1l fS5kZXNrdG9wIjsKICAgIHR5cGU9JHt0eXBlJTt9JHt0eXBlOis7fTsKICAgIGVzaG9wdHNfcHVz aCAtcyBleHRnbG9iOwogICAgaWYgW1sgLW4gJHtpY29ufSAmJiAke2ljb259ICE9IC8qIF1dICYm IFtbICR7aWNvbn0gPT0gKi54cG0gfHwgJHtpY29ufSA9PSAqLnBuZyB8fCAke2ljb259ID09ICou c3ZnIF1dOyB0aGVuCiAgICAgICAgZXdhcm4gIkFzIGRlc2NyaWJlZCBpbiB0aGUgSWNvbiBUaGVt ZSBTcGVjaWZpY2F0aW9uLCBpY29uIGZpbGUgZXh0ZW5zaW9ucyBhcmUgbm90IjsKICAgICAgICBl d2FybiAiYWxsb3dlZCBpbiAuZGVza3RvcCBmaWxlcyBpZiB0aGUgdmFsdWUgaXMgbm90IGFuIGFi c29sdXRlIHBhdGguIjsKICAgICAgICBpY29uPSR7aWNvbiUuQCh4cG18cG5nfHN2Zyl9OwogICAg Zmk7CiAgICBlc2hvcHRzX3BvcDsKICAgIGNhdCA+ICIke2Rlc2t0b3B9IiAgPDwtRU9GCltEZXNr dG9wIEVudHJ5XQpOYW1lPSR7bmFtZX0KVHlwZT1BcHBsaWNhdGlvbgpDb21tZW50PSR7REVTQ1JJ UFRJT059CkV4ZWM9JHtleGVjfQpUcnlFeGVjPSR7ZXhlYyUlICp9Ckljb249JHtpY29ufQpDYXRl Z29yaWVzPSR7dHlwZX0KRU9GCgogICAgaWYgW1sgJHtmaWVsZHM6LT19ICE9ICo9KiBdXTsgdGhl bgogICAgICAgIGV3YXJuICJtYWtlX2Rlc2t0b3BfZW50cnk6IHVwZGF0ZSB5b3VyIDV0aCBhcmcg dG8gcmVhZCBQYXRoPSR7ZmllbGRzfSI7CiAgICAgICAgZmllbGRzPSJQYXRoPSR7ZmllbGRzfSI7 CiAgICBmaTsKICAgIFtbIC1uICR7ZmllbGRzfSBdXSAmJiBwcmludGYgJyViXG4nICIke2ZpZWxk c30iID4+ICIke2Rlc2t0b3B9IjsKICAgICggaW5zaW50byAvdXNyL3NoYXJlL2FwcGxpY2F0aW9u czsKICAgIGRvaW5zICIke2Rlc2t0b3B9IiApIHx8IGRpZSAiaW5zdGFsbGluZyBkZXNrdG9wIGZp bGUgZmFpbGVkIgp9Cm1ha2Vfc2Vzc2lvbl9kZXNrdG9wICgpIAp7IAogICAgW1sgLXogJDEgXV0g JiYgZWVycm9yICIkMDogWW91IG11c3Qgc3BlY2lmeSB0aGUgdGl0bGUiICYmIHJldHVybiAxOwog ICAgW1sgLXogJDIgXV0gJiYgZWVycm9yICIkMDogWW91IG11c3Qgc3BlY2lmeSB0aGUgY29tbWFu ZCIgJiYgcmV0dXJuIDE7CiAgICBsb2NhbCB0aXRsZT0kMTsKICAgIGxvY2FsIGNvbW1hbmQ9JDI7 CiAgICBsb2NhbCBkZXNrdG9wPSR7VH0vJHt3bTotJHtQTn19LmRlc2t0b3A7CiAgICBzaGlmdCAy OwogICAgY2F0ID4gIiR7ZGVza3RvcH0iICA8PC1FT0YKW0Rlc2t0b3AgRW50cnldCk5hbWU9JHt0 aXRsZX0KQ29tbWVudD1UaGlzIHNlc3Npb24gbG9ncyB5b3UgaW50byAke3RpdGxlfQpFeGVjPSR7 Y29tbWFuZH0gJCoKVHJ5RXhlYz0ke2NvbW1hbmR9ClR5cGU9WFNlc3Npb24KRU9GCgogICAgKCBp bnNpbnRvIC91c3Ivc2hhcmUveHNlc3Npb25zOwogICAgZG9pbnMgIiR7ZGVza3RvcH0iICkKfQpt YWtlX3dyYXBwZXIgKCkgCnsgCiAgICBfZXV0aWxzX2VwcmVmaXhfaW5pdDsKICAgIGxvY2FsIHdy YXBwZXI9JDEgYmluPSQyIGNoZGlyPSQzIGxpYmRpcj0kNCBwYXRoPSQ1OwogICAgbG9jYWwgdG1w d3JhcHBlcj0kKGVta3RlbXApOwogICAgKCBlY2hvICcjIS9iaW4vc2gnOwogICAgW1sgLW4gJHtj aGRpcn0gXV0gJiYgcHJpbnRmICdjZCAiJXMiXG4nICIke0VQUkVGSVh9JHtjaGRpcn0iOwogICAg aWYgW1sgLW4gJHtsaWJkaXJ9IF1dOyB0aGVuCiAgICAgICAgbG9jYWwgdmFyOwogICAgICAgIGlm IFtbICR7Q0hPU1R9ID09ICotZGFyd2luKiBdXTsgdGhlbgogICAgICAgICAgICB2YXI9RFlMRF9M SUJSQVJZX1BBVEg7CiAgICAgICAgZWxzZQogICAgICAgICAgICB2YXI9TERfTElCUkFSWV9QQVRI OwogICAgICAgIGZpOwogICAgICAgIGNhdCAgPDwtRU9GCmlmIFsgIlwkeyR7dmFyfStzZXR9IiA9 ICJzZXQiIF0gOyB0aGVuCmV4cG9ydCAke3Zhcn09IlwkeyR7dmFyfX06JHtFUFJFRklYfSR7bGli ZGlyfSIKZWxzZQpleHBvcnQgJHt2YXJ9PSIke0VQUkVGSVh9JHtsaWJkaXJ9IgpmaQpFT0YKCiAg ICBmaQogICAgcHJpbnRmICdleGVjICVzICIkQCJcbicgIiR7YmluLyNcLy8ke0VQUkVGSVh9XC99 IiApID4gIiR7dG1wd3JhcHBlcn0iOwogICAgY2htb2QgZ28rcnggIiR7dG1wd3JhcHBlcn0iOwog ICAgaWYgW1sgLW4gJHtwYXRofSBdXTsgdGhlbgogICAgICAgICggZXhlaW50byAiJHtwYXRofSI7 CiAgICAgICAgbmV3ZXhlICIke3RtcHdyYXBwZXJ9IiAiJHt3cmFwcGVyfSIgKSB8fCBkaWU7CiAg ICBlbHNlCiAgICAgICAgbmV3YmluICIke3RtcHdyYXBwZXJ9IiAiJHt3cmFwcGVyfSIgfHwgZGll OwogICAgZmkKfQptdWx0aWxpYl9lbnYgKCkgCnsgCiAgICBsb2NhbCBDVEFSR0VUPSR7MTotJHtD VEFSR0VUfX07CiAgICBsb2NhbCBjcHU9JHtDVEFSR0VUJSUqLX07CiAgICBjYXNlICR7Y3B1fSBp biAKICAgICAgICBhYXJjaDY0KikKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19hcm09JHtDRkxB R1NfYXJtLX07CiAgICAgICAgICAgIGNhc2UgJHtjcHV9IGluIAogICAgICAgICAgICAgICAgYWFy Y2g2NCpiZSkKICAgICAgICAgICAgICAgICAgICBleHBvcnQgQ0hPU1RfYXJtPSJhcm12OGItJHtD VEFSR0VUIyotfSIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAqKQogICAgICAg ICAgICAgICAgICAgIGV4cG9ydCBDSE9TVF9hcm09ImFybXY4bC0ke0NUQVJHRVQjKi19IgogICAg ICAgICAgICAgICAgOzsKICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgQ0hPU1RfYXJtPSR7 Q0hPU1RfYXJtLyUtZ251Ly1nbnVlYWJpfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfYXJt PSR7Q0hPU1RfYXJtfTsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl9hcm09ImxpYiI7CiAgICAg ICAgICAgIGV4cG9ydCBDRkxBR1NfYXJtNjQ9JHtDRkxBR1NfYXJtNjQtfTsKICAgICAgICAgICAg ZXhwb3J0IENIT1NUX2FybTY0PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VU X2FybTY0PSR7Q0hPU1RfYXJtNjR9OwogICAgICAgICAgICBleHBvcnQgTElCRElSX2FybTY0PSJs aWI2NCI7CiAgICAgICAgICAgIDogJHtNVUxUSUxJQl9BQklTPWFybTY0fTsKICAgICAgICAgICAg OiAke0RFRkFVTFRfQUJJPWFybTY0fQogICAgICAgIDs7CiAgICAgICAgeDg2XzY0KikKICAgICAg ICAgICAgZXhwb3J0IENGTEFHU194ODY9JHtDRkxBR1NfeDg2LS1tMzJ9OwogICAgICAgICAgICBl eHBvcnQgQ0hPU1RfeDg2PSR7Q1RBUkdFVC94ODZfNjQvaTY4Nn07CiAgICAgICAgICAgIENIT1NU X3g4Nj0ke0NIT1NUX3g4Ni8lLWdudXgzMi8tZ251fTsKICAgICAgICAgICAgZXhwb3J0IENUQVJH RVRfeDg2PSR7Q0hPU1RfeDg2fTsKICAgICAgICAgICAgaWYgW1sgJHtTWU1MSU5LX0xJQn0gPT0g InllcyIgXV07IHRoZW4KICAgICAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfeDg2PSJsaWIzMiI7 CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfeDg2PSJsaWIi OwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19hbWQ2ND0ke0NGTEFH U19hbWQ2NC0tbTY0fTsKICAgICAgICAgICAgZXhwb3J0IENIT1NUX2FtZDY0PSR7Q1RBUkdFVC8l LWdudXgzMi8tZ251fTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfYW1kNjQ9JHtDSE9TVF9h bWQ2NH07CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfYW1kNjQ9ImxpYjY0IjsKICAgICAgICAg ICAgZXhwb3J0IENGTEFHU194MzI9JHtDRkxBR1NfeDMyLS1teDMyfTsKICAgICAgICAgICAgZXhw b3J0IENIT1NUX3gzMj0ke0NUQVJHRVQvJS1nbnUvLWdudXgzMn07CiAgICAgICAgICAgIGV4cG9y dCBDVEFSR0VUX3gzMj0ke0NIT1NUX3gzMn07CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfeDMy PSJsaWJ4MzIiOwogICAgICAgICAgICBjYXNlICR7Q1RBUkdFVH0gaW4gCiAgICAgICAgICAgICAg ICAqLWdudXgzMikKICAgICAgICAgICAgICAgICAgICA6ICR7TVVMVElMSUJfQUJJUz14MzIgYW1k NjQgeDg2fTsKICAgICAgICAgICAgICAgICAgICA6ICR7REVGQVVMVF9BQkk9eDMyfQogICAgICAg ICAgICAgICAgOzsKICAgICAgICAgICAgICAgICopCiAgICAgICAgICAgICAgICAgICAgOiAke01V TFRJTElCX0FCSVM9YW1kNjQgeDg2fTsKICAgICAgICAgICAgICAgICAgICA6ICR7REVGQVVMVF9B Qkk9YW1kNjR9CiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICBlc2FjCiAgICAgICAgOzsK ICAgICAgICBtaXBzNjQqKQogICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX28zMj0ke0NGTEFHU19v MzItLW1hYmk9MzJ9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1RfbzMyPSR7Q1RBUkdFVC9taXBz NjQvbWlwc307CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX28zMj0ke0NIT1NUX28zMn07CiAg ICAgICAgICAgIGV4cG9ydCBMSUJESVJfbzMyPSJsaWIiOwogICAgICAgICAgICBleHBvcnQgQ0ZM QUdTX24zMj0ke0NGTEFHU19uMzItLW1hYmk9bjMyfTsKICAgICAgICAgICAgZXhwb3J0IENIT1NU X24zMj0ke0NUQVJHRVR9OwogICAgICAgICAgICBleHBvcnQgQ1RBUkdFVF9uMzI9JHtDSE9TVF9u MzJ9OwogICAgICAgICAgICBleHBvcnQgTElCRElSX24zMj0ibGliMzIiOwogICAgICAgICAgICBl eHBvcnQgQ0ZMQUdTX242ND0ke0NGTEFHU19uNjQtLW1hYmk9NjR9OwogICAgICAgICAgICBleHBv cnQgQ0hPU1RfbjY0PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX242ND0k e0NIT1NUX242NH07CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfbjY0PSJsaWI2NCI7CiAgICAg ICAgICAgIDogJHtNVUxUSUxJQl9BQklTPW42NCBuMzIgbzMyfTsKICAgICAgICAgICAgOiAke0RF RkFVTFRfQUJJPW4zMn0KICAgICAgICA7OwogICAgICAgIHBvd2VycGM2NCopCiAgICAgICAgICAg IGV4cG9ydCBDRkxBR1NfcHBjPSR7Q0ZMQUdTX3BwYy0tbTMyfTsKICAgICAgICAgICAgZXhwb3J0 IENIT1NUX3BwYz0ke0NUQVJHRVQvcG93ZXJwYzY0L3Bvd2VycGN9OwogICAgICAgICAgICBleHBv cnQgQ1RBUkdFVF9wcGM9JHtDSE9TVF9wcGN9OwogICAgICAgICAgICBleHBvcnQgTElCRElSX3Bw Yz0ibGliIjsKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19wcGM2ND0ke0NGTEFHU19wcGM2NC0t bTY0fTsKICAgICAgICAgICAgZXhwb3J0IENIT1NUX3BwYzY0PSR7Q1RBUkdFVH07CiAgICAgICAg ICAgIGV4cG9ydCBDVEFSR0VUX3BwYzY0PSR7Q0hPU1RfcHBjNjR9OwogICAgICAgICAgICBleHBv cnQgTElCRElSX3BwYzY0PSJsaWI2NCI7CiAgICAgICAgICAgIDogJHtNVUxUSUxJQl9BQklTPXBw YzY0IHBwY307CiAgICAgICAgICAgIDogJHtERUZBVUxUX0FCST1wcGM2NH0KICAgICAgICA7Owog ICAgICAgIHMzOTB4KikKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19zMzkwPSR7Q0ZMQUdTX3Mz OTAtLW0zMX07CiAgICAgICAgICAgIGV4cG9ydCBDSE9TVF9zMzkwPSR7Q1RBUkdFVC9zMzkweC9z MzkwfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfczM5MD0ke0NIT1NUX3MzOTB9OwogICAg ICAgICAgICBleHBvcnQgTElCRElSX3MzOTA9ImxpYiI7CiAgICAgICAgICAgIGV4cG9ydCBDRkxB R1NfczM5MHg9JHtDRkxBR1NfczM5MHgtLW02NH07CiAgICAgICAgICAgIGV4cG9ydCBDSE9TVF9z MzkweD0ke0NUQVJHRVR9OwogICAgICAgICAgICBleHBvcnQgQ1RBUkdFVF9zMzkweD0ke0NIT1NU X3MzOTB4fTsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl9zMzkweD0ibGliNjQiOwogICAgICAg ICAgICA6ICR7TVVMVElMSUJfQUJJUz1zMzkweCBzMzkwfTsKICAgICAgICAgICAgOiAke0RFRkFV TFRfQUJJPXMzOTB4fQogICAgICAgIDs7CiAgICAgICAgc3BhcmM2NCopCiAgICAgICAgICAgIGV4 cG9ydCBDRkxBR1Nfc3BhcmMzMj0ke0NGTEFHU19zcGFyYzMyLS1tMzJ9OwogICAgICAgICAgICBl eHBvcnQgQ0hPU1Rfc3BhcmMzMj0ke0NUQVJHRVQvc3BhcmM2NC9zcGFyY307CiAgICAgICAgICAg IGV4cG9ydCBDVEFSR0VUX3NwYXJjMzI9JHtDSE9TVF9zcGFyYzMyfTsKICAgICAgICAgICAgZXhw b3J0IExJQkRJUl9zcGFyYzMyPSJsaWIiOwogICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX3NwYXJj NjQ9JHtDRkxBR1Nfc3BhcmM2NC0tbTY0fTsKICAgICAgICAgICAgZXhwb3J0IENIT1NUX3NwYXJj NjQ9JHtDVEFSR0VUfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfc3BhcmM2ND0ke0NIT1NU X3NwYXJjNjR9OwogICAgICAgICAgICBleHBvcnQgTElCRElSX3NwYXJjNjQ9ImxpYjY0IjsKICAg ICAgICAgICAgOiAke01VTFRJTElCX0FCSVM9c3BhcmM2NCBzcGFyYzMyfTsKICAgICAgICAgICAg OiAke0RFRkFVTFRfQUJJPXNwYXJjNjR9CiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAg ICA6ICR7TVVMVElMSUJfQUJJUz1kZWZhdWx0fTsKICAgICAgICAgICAgOiAke0RFRkFVTFRfQUJJ PWRlZmF1bHR9CiAgICAgICAgOzsKICAgIGVzYWM7CiAgICBleHBvcnQgTVVMVElMSUJfQUJJUyBE RUZBVUxUX0FCSQp9Cm11bHRpbGliX3Rvb2xjaGFpbl9zZXR1cCAoKSAKeyAKICAgIGxvY2FsIHYg dnY7CiAgICBleHBvcnQgQUJJPSQxOwogICAgaWYgW1sgJHtfX0RFRkFVTFRfQUJJX1NBVkVEfSA9 PSAidHJ1ZSIgXV07IHRoZW4KICAgICAgICBmb3IgdiBpbiBDSE9TVCBDQlVJTEQgQVMgQ0MgQ1hY IExEIFBLR19DT05GSUdfe0xJQkRJUixQQVRIfTsKICAgICAgICBkbwogICAgICAgICAgICB2dj0i X19hYmlfc2F2ZWRfJHt2fSI7CiAgICAgICAgICAgIFtbICR7IXZ2K3NldH0gPT0gInNldCIgXV0g JiYgZXhwb3J0ICR7dn09IiR7IXZ2fSIgfHwgdW5zZXQgJHt2fTsKICAgICAgICAgICAgdW5zZXQg JHt2dn07CiAgICAgICAgZG9uZTsKICAgICAgICB1bnNldCBfX0RFRkFVTFRfQUJJX1NBVkVEOwog ICAgZmk7CiAgICBpZiBbWyAke0FCSX0gIT0gJHtERUZBVUxUX0FCSX0gXV07IHRoZW4KICAgICAg ICBmb3IgdiBpbiBDSE9TVCBDQlVJTEQgQVMgQ0MgQ1hYIExEIFBLR19DT05GSUdfe0xJQkRJUixQ QVRIfTsKICAgICAgICBkbwogICAgICAgICAgICB2dj0iX19hYmlfc2F2ZWRfJHt2fSI7CiAgICAg ICAgICAgIFtbICR7IXYrc2V0fSA9PSAic2V0IiBdXSAmJiBleHBvcnQgJHt2dn09IiR7IXZ9IiB8 fCB1bnNldCAke3Z2fTsKICAgICAgICBkb25lOwogICAgICAgIGV4cG9ydCBfX0RFRkFVTFRfQUJJ X1NBVkVEPSJ0cnVlIjsKICAgICAgICBleHBvcnQgQ0hPU1Q9JChnZXRfYWJpX0NIT1NUICR7REVG QVVMVF9BQkl9KTsKICAgICAgICBleHBvcnQgQ0M9IiQodGMtZ2V0Q0MpICQoZ2V0X2FiaV9DRkxB R1MpIjsKICAgICAgICBleHBvcnQgQ1hYPSIkKHRjLWdldENYWCkgJChnZXRfYWJpX0NGTEFHUyki OwogICAgICAgIGV4cG9ydCBMRD0iJCh0Yy1nZXRMRCkgJChnZXRfYWJpX0xERkxBR1MpIjsKICAg ICAgICBleHBvcnQgQ0hPU1Q9JChnZXRfYWJpX0NIT1NUICQxKTsKICAgICAgICBleHBvcnQgQ0JV SUxEPSQoZ2V0X2FiaV9DSE9TVCAkMSk7CiAgICAgICAgZXhwb3J0IFBLR19DT05GSUdfTElCRElS PSR7RVBSRUZJWH0vdXNyLyQoZ2V0X2xpYmRpcikvcGtnY29uZmlnOwogICAgICAgIGV4cG9ydCBQ S0dfQ09ORklHX1BBVEg9JHtFUFJFRklYfS91c3Ivc2hhcmUvcGtnY29uZmlnOwogICAgZmkKfQpu ZXdiYXNoY29tcCAoKSAKeyAKICAgIGRlYnVnLXByaW50LWZ1bmN0aW9uICR7RlVOQ05BTUV9ICIk e0B9IjsKICAgICggaW5zaW50byAiJChfYmFzaC1jb21wbGV0aW9uLXIxX2dldF9iYXNoY29tcGRp cikiOwogICAgbmV3aW5zICIke0B9IiApCn0KbmV3aWNvbiAoKSAKeyAKICAgIF9pY29uaW5zICR7 RlVOQ05BTUV9ICIkQCIKfQpuZXdtZW51ICgpIAp7IAogICAgKCBpbnNpbnRvIC91c3Ivc2hhcmUv YXBwbGljYXRpb25zOwogICAgbmV3aW5zICIkQCIgKQp9Cm5vLWFzLW5lZWRlZCAoKSAKeyAKICAg IGNhc2UgJCgkKHRjLWdldExEKSAtdiAyPiYxIDwvZGV2L251bGwpIGluIAogICAgICAgICpHTlUq KQogICAgICAgICAgICBlY2hvICItV2wsLS1uby1hcy1uZWVkZWQiCiAgICAgICAgOzsKICAgIGVz YWMKfQpudW1iZXJfYWJpcyAoKSAKeyAKICAgIHNldCAtLSBgZ2V0X2luc3RhbGxfYWJpc2A7CiAg ICBlY2hvICQjCn0Kb3B0ZmVhdHVyZSAoKSAKeyAKICAgIGRlYnVnLXByaW50LWZ1bmN0aW9uICR7 RlVOQ05BTUV9ICIkQCI7CiAgICBsb2NhbCBpIGogbXNnOwogICAgbG9jYWwgZGVzYz0kMTsKICAg IGxvY2FsIGZsYWc9MDsKICAgIHNoaWZ0OwogICAgZm9yIGkgaW4gIiRAIjsKICAgIGRvCiAgICAg ICAgZm9yIGogaW4gJGk7CiAgICAgICAgZG8KICAgICAgICAgICAgaWYgaGFzX3ZlcnNpb24gIiRq IjsgdGhlbgogICAgICAgICAgICAgICAgZmxhZz0xOwogICAgICAgICAgICBlbHNlCiAgICAgICAg ICAgICAgICBmbGFnPTA7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZmk7CiAg ICAgICAgZG9uZTsKICAgICAgICBpZiBbWyAkZmxhZyAtZXEgMSBdXTsgdGhlbgogICAgICAgICAg ICBicmVhazsKICAgICAgICBmaTsKICAgIGRvbmU7CiAgICBpZiBbWyAkZmxhZyAtZXEgMCBdXTsg dGhlbgogICAgICAgIGZvciBpIGluICIkQCI7CiAgICAgICAgZG8KICAgICAgICAgICAgbXNnPSIg IjsKICAgICAgICAgICAgZm9yIGogaW4gJGk7CiAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAg ICBtc2c9IiR7bXNnfSAke2p9IGFuZCI7CiAgICAgICAgICAgIGRvbmU7CiAgICAgICAgICAgIG1z Zz0iJHttc2c6MDogLTR9IGZvciAke2Rlc2N9IjsKICAgICAgICAgICAgZWxvZyAiJHttc2d9IjsK ICAgICAgICBkb25lOwogICAgZmkKfQpwYXRoX2V4aXN0cyAoKSAKeyAKICAgIGxvY2FsIG9wdD0k MTsKICAgIFtbICR7b3B0fSA9PSAtW2FvXSBdXSAmJiBzaGlmdCB8fCBvcHQ9Ii1hIjsKICAgIFtb ICQjIC1lcSAwIF1dICYmIHJldHVybiAxOwogICAgbG9jYWwgcCByPTA7CiAgICBmb3IgcCBpbiAi JEAiOwogICAgZG8KICAgICAgICBbWyAtZSAke3B9IF1dOwogICAgICAgIDogJCgoIHIgKz0gJD8g KSk7CiAgICBkb25lOwogICAgY2FzZSAke29wdH0gaW4gCiAgICAgICAgLWEpCiAgICAgICAgICAg IHJldHVybiAkKCggciAhPSAwICkpCiAgICAgICAgOzsKICAgICAgICAtbykKICAgICAgICAgICAg cmV0dXJuICQoKCByID09ICQjICkpCiAgICAgICAgOzsKICAgIGVzYWMKfQpwa2dfbm9mZXRjaCAo KSAKeyAKICAgIF9fZWFwaTBfcGtnX25vZmV0Y2ggIiRAIgp9CnBrZ19wb3N0aW5zdCAoKSAKeyAK ICAgIGVsb2cgIk9mZmljaWFsIFhlbiBHdWlkZSBhbmQgdGhlIG9mZmljYWwgd2lraSBwYWdlOiI7 CiAgICBlbG9nICJodHRwczovL3dpa2kuZ2VudG9vLm9yZy93aWtpL1hlbiI7CiAgICBlbG9nICJo dHRwOi8vd2lraS54ZW4ub3JnL3dpa2kvTWFpbl9QYWdlIjsKICAgIGVsb2cgIiI7CiAgICBlbG9n ICJSZWNvbW1lbmRlZCB0byB1dGlsaXNlIHRoZSB4ZW5jb21tb25zIHNjcmlwdCB0byBjb25maWcg c3l0ZW0gQXQgYm9vdCI7CiAgICBlbG9nICJBZGQgYnkgdXNlIG9mIHJjLXVwZGF0ZSBvbiBjb21w bGV0aW9uIG9mIHRoZSBpbnN0YWxsIjsKICAgIGlmIFtbIC1uICIkKHNjYW5lbGYgLXMgX19ndWFy ZCAtcSAiJHtQWVRIT059IikiIF1dOyB0aGVuCiAgICAgICAgZWNobzsKICAgICAgICBld2FybiAi eGVuZCBtYXkgbm90IHdvcmsgd2hlbiBweXRob24gaXMgYnVpbHQgd2l0aCBzdGFjayBzbWFzaGlu ZyBwcm90ZWN0aW9uIChzc3ApLiI7CiAgICAgICAgZXdhcm4gIklmICd4bSBjcmVhdGUnIGZhaWxz IHdpdGggJzxQcm90b2NvbEVycm9yIGZvciAvUlBDMjogLTEgPicsIHNlZSBidWcgIzE0MTg2NiI7 CiAgICAgICAgZXdhcm4gIlRoaXMgcHJvYmxlbSBtYXkgYmUgcmVzb2x2ZWQgYXMgb2YgWGVuIDMu MC40LCBpZiBub3QgcG9zdCBpbiB0aGUgYnVnLiI7CiAgICBmaTsKICAgIGlmICEgaGFzX3ZlcnNp b24gImRldi1sYW5nL3B5dGhvbltuY3Vyc2VzXSI7IHRoZW4KICAgICAgICBlY2hvOwogICAgICAg IGV3YXJuICJOQjogWW91ciBkZXYtbGFuZy9weXRob24gaXMgYnVpbHQgd2l0aG91dCBVU0U9bmN1 cnNlcy4iOwogICAgICAgIGV3YXJuICJQbGVhc2UgcmVidWlsZCBweXRob24gd2l0aCBVU0U9bmN1 cnNlcyB0byBtYWtlIHVzZSBvZiB4ZW5tb24ucHkuIjsKICAgIGZpOwogICAgaWYgaGFzX3ZlcnNp b24gInN5cy1hcHBzL2lwcm91dGUyW21pbmltYWxdIjsgdGhlbgogICAgICAgIGVjaG87CiAgICAg ICAgZXdhcm4gIllvdXIgc3lzLWFwcHMvaXByb3V0ZTIgaXMgYnVpbHQgd2l0aCBVU0U9bWluaW1h bC4gTmV0d29ya2luZyI7CiAgICAgICAgZXdhcm4gIndpbGwgbm90IHdvcmsgdW50aWwgeW91IHJl YnVpbGQgaXByb3V0ZTIgd2l0aG91dCBVU0U9bWluaW1hbC4iOwogICAgZmk7CiAgICBpZiAhIHVz ZSBodm07IHRoZW4KICAgICAgICBlY2hvOwogICAgICAgIGVsb2cgIkhWTSAoVlQteCBhbmQgQU1E LVYpIHN1cHBvcnQgaGFzIGJlZW4gZGlzYWJsZWQuIElmIHlvdSBuZWVkIGh2bSI7CiAgICAgICAg ZWxvZyAic3VwcG9ydCBlbmFibGUgdGhlIGh2bSB1c2UgZmxhZy4iOwogICAgICAgIGVsb2cgIkFu IHg4NiBvciBhbWQ2NCBtdWx0aWxpYiBzeXN0ZW0gaXMgcmVxdWlyZWQgdG8gYnVpbGQgSFZNIHN1 cHBvcnQuIjsKICAgIGZpOwogICAgaWYgdXNlIHhlbmQ7IHRoZW4KICAgICAgICBlbG9nIiI7CiAg ICAgICAgZWxvZyAieGVuZCBjYXBhYmlsaXR5IGhhcyBiZWVuIGVuYWJsZWQgYW5kIGluc3RhbGxl ZCI7CiAgICBmaTsKICAgIGlmIHVzZSBxZW11OyB0aGVuCiAgICAgICAgZWxvZyAiVGhlIHFlbXUt YnJpZGdlLWhlbHBlciBpcyByZW5hbWVkIHRvIHRoZSB4ZW4tYnJpZGdlLWhlbHBlciBpbiB0aGUg aW4gc291cmNlIjsKICAgICAgICBlbG9nICJidWlsZCBvZiBxZW11LiAgVGhpcyBhbGxvd3MgZm9y IGFwcC1lbXVsYXRpb24vcWVtdSB0byBiZSBlbWVyZ2VkIGNvbmN1cnJlbnRseSI7CiAgICAgICAg ZWxvZyAid2l0aCB0aGUgcWVtdSBjYXBhYmxlIHhlbi4gIEl0IGlzIHVwIHRvIHRoZSB1c2VyIHRv IGRpc3Rpbmd1aXNoIGJldHdlZW4gYW5kIHV0aWxpc2UiOwogICAgICAgIGVsb2cgInRoZSBxZW11 LWJyaWRnZS1oZWxwZXIgYW5kIHRoZSB4ZW4tYnJpZGdlLWhlbHBlci4gIEZpbGUgYnVncyBvZiBh bnkgaXNzdWVzIHRoYXQgYXJpc2UiOwogICAgZmk7CiAgICBpZiBncmVwIC1xc0YgWEVOU1Y9ICIk e1JPT1R9L2V0Yy9jb25mLmQveGVuZCI7IHRoZW4KICAgICAgICBlY2hvOwogICAgICAgIGVsb2cg InhlbnN2IGlzIGJyb2tlbiB1cHN0cmVhbSAoR2VudG9vIGJ1ZyAjMTQyMDExKS4iOwogICAgICAg IGVsb2cgIlBsZWFzZSByZW1vdmUgJyR7Uk9PVCUvfS9ldGMvY29uZi5kL3hlbmQnLCBhcyBpdCBp cyBubyBsb25nZXIgbmVlZGVkLiI7CiAgICBmaQp9CnBrZ19zZXR1cCAoKSAKeyAKICAgIHB5dGhv bi1zaW5nbGUtcjFfcGtnX3NldHVwOwogICAgZXhwb3J0ICJDT05GSUdfTE9NT1VOVD15IjsKICAg IGlmIGhhc192ZXJzaW9uIGRldi1saWJzL2xpYmdjcnlwdDowOyB0aGVuCiAgICAgICAgZXhwb3J0 ICJDT05GSUdfR0NSWVBUPXkiOwogICAgZmk7CiAgICBpZiB1c2UgcWVtdTsgdGhlbgogICAgICAg IGV4cG9ydCAiQ09ORklHX0lPRU1VPXkiOwogICAgZWxzZQogICAgICAgIGV4cG9ydCAiQ09ORklH X0lPRU1VPW4iOwogICAgZmk7CiAgICBpZiAhIHVzZSB4ODYgJiYgISBoYXMgeDg2ICQoZ2V0X2Fs bF9hYmlzKSAmJiB1c2UgaHZtOyB0aGVuCiAgICAgICAgZWVycm9yICJIVk0gKFZULXggYW5kIEFN RC12KSBjYW5ub3QgYmUgYnVpbHQgb24gdGhpcyBzeXN0ZW0uIEFuIHg4NiBvciI7CiAgICAgICAg ZWVycm9yICJhbiBhbWQ2NCBtdWx0aWxpYiBwcm9maWxlIGlzIHJlcXVpcmVkLiBSZW1vdmUgdGhl IGh2bSB1c2UgZmxhZyI7CiAgICAgICAgZWVycm9yICJ0byBidWlsZCB4ZW4tdG9vbHMgb24geW91 ciBjdXJyZW50IHByb2ZpbGUuIjsKICAgICAgICBkaWUgIlVTRT1odm0gaXMgdW5zdXBwb3J0ZWQg b24gdGhpcyBzeXN0ZW0uIjsKICAgIGZpOwogICAgaWYgW1sgLXogJHtYRU5fVEFSR0VUX0FSQ0h9 IF1dOyB0aGVuCiAgICAgICAgaWYgdXNlIHg4NiAmJiB1c2UgYW1kNjQ7IHRoZW4KICAgICAgICAg ICAgZGllICJDb25mdXNpb24hIEJvdGggeDg2IGFuZCBhbWQ2NCBhcmUgc2V0IGluIHlvdXIgdXNl IGZsYWdzISI7CiAgICAgICAgZWxzZQogICAgICAgICAgICBpZiB1c2UgeDg2OyB0aGVuCiAgICAg ICAgICAgICAgICBleHBvcnQgWEVOX1RBUkdFVF9BUkNIPSJ4ODZfMzIiOwogICAgICAgICAgICBl bHNlCiAgICAgICAgICAgICAgICBpZiB1c2UgYW1kNjQ7IHRoZW4KICAgICAgICAgICAgICAgICAg ICBleHBvcnQgWEVOX1RBUkdFVF9BUkNIPSJ4ODZfNjQiOwogICAgICAgICAgICAgICAgZWxzZQog ICAgICAgICAgICAgICAgICAgIGRpZSAiVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlISI7CiAgICAg ICAgICAgICAgICBmaTsKICAgICAgICAgICAgZmk7CiAgICAgICAgZmk7CiAgICBmaQp9CnByZXNl cnZlX29sZF9saWIgKCkgCnsgCiAgICBfZXV0aWxzX2VwcmVmaXhfaW5pdDsKICAgIGlmIFtbICR7 RUJVSUxEX1BIQVNFfSAhPSAicHJlaW5zdCIgXV07IHRoZW4KICAgICAgICBlZXJyb3IgInByZXNl cnZlX29sZF9saWIoKSBtdXN0IGJlIGNhbGxlZCBmcm9tIHBrZ19wcmVpbnN0KCkgb25seSI7CiAg ICAgICAgZGllICJJbnZhbGlkIHByZXNlcnZlX29sZF9saWIoKSB1c2FnZSI7CiAgICBmaTsKICAg IFtbIC16ICQxIF1dICYmIGRpZSAiVXNhZ2U6IHByZXNlcnZlX29sZF9saWIgPGxpYnJhcnkgdG8g cHJlc2VydmU+IFttb3JlIGxpYnJhcmllcyB0byBwcmVzZXJ2ZV0iOwogICAgaGFzIHByZXNlcnZl LWxpYnMgJHtGRUFUVVJFU30gJiYgcmV0dXJuIDA7CiAgICBsb2NhbCBsaWIgZGlyOwogICAgZm9y IGxpYiBpbiAiJEAiOwogICAgZG8KICAgICAgICBbWyAtZSAke0VST09UfS8ke2xpYn0gXV0gfHwg Y29udGludWU7CiAgICAgICAgZGlyPSR7bGliJS8qfTsKICAgICAgICBkb2RpciAke2Rpcn0gfHwg ZGllICJkb2RpciAke2Rpcn0gZmFpbGVkIjsKICAgICAgICBjcCAiJHtFUk9PVH0iLyR7bGlifSAi JHtFRH0iLyR7bGlifSB8fCBkaWUgImNwICR7bGlifSBmYWlsZWQiOwogICAgICAgIHRvdWNoICIk e0VEfSIvJHtsaWJ9OwogICAgZG9uZQp9CnByZXNlcnZlX29sZF9saWJfbm90aWZ5ICgpIAp7IAog ICAgaWYgW1sgJHtFQlVJTERfUEhBU0V9ICE9ICJwb3N0aW5zdCIgXV07IHRoZW4KICAgICAgICBl ZXJyb3IgInByZXNlcnZlX29sZF9saWJfbm90aWZ5KCkgbXVzdCBiZSBjYWxsZWQgZnJvbSBwa2df cG9zdGluc3QoKSBvbmx5IjsKICAgICAgICBkaWUgIkludmFsaWQgcHJlc2VydmVfb2xkX2xpYl9u b3RpZnkoKSB1c2FnZSI7CiAgICBmaTsKICAgIGhhcyBwcmVzZXJ2ZS1saWJzICR7RkVBVFVSRVN9 ICYmIHJldHVybiAwOwogICAgX2V1dGlsc19lcHJlZml4X2luaXQ7CiAgICBsb2NhbCBsaWIgbm90 aWNlPTA7CiAgICBmb3IgbGliIGluICIkQCI7CiAgICBkbwogICAgICAgIFtbIC1lICR7RVJPT1R9 LyR7bGlifSBdXSB8fCBjb250aW51ZTsKICAgICAgICBpZiBbWyAke25vdGljZX0gLWVxIDAgXV07 IHRoZW4KICAgICAgICAgICAgbm90aWNlPTE7CiAgICAgICAgICAgIGV3YXJuICJPbGQgdmVyc2lv bnMgb2YgaW5zdGFsbGVkIGxpYnJhcmllcyB3ZXJlIGRldGVjdGVkIG9uIHlvdXIgc3lzdGVtLiI7 CiAgICAgICAgICAgIGV3YXJuICJJbiBvcmRlciB0byBhdm9pZCBicmVha2luZyBwYWNrYWdlcyB0 aGF0IGRlcGVuZCBvbiB0aGVzZSBvbGQgbGlicywiOwogICAgICAgICAgICBld2FybiAidGhlIGxp YnJhcmllcyBhcmUgbm90IGJlaW5nIHJlbW92ZWQuICBZb3UgbmVlZCB0byBydW4gcmV2ZGVwLXJl YnVpbGQiOwogICAgICAgICAgICBld2FybiAiaW4gb3JkZXIgdG8gcmVtb3ZlIHRoZXNlIG9sZCBk ZXBlbmRlbmNpZXMuICBJZiB5b3UgZG8gbm90IGhhdmUgdGhpcyI7CiAgICAgICAgICAgIGV3YXJu ICJoZWxwZXIgcHJvZ3JhbSwgc2ltcGx5IGVtZXJnZSB0aGUgJ2dlbnRvb2xraXQnIHBhY2thZ2Uu IjsKICAgICAgICAgICAgZXdhcm47CiAgICAgICAgZmk7CiAgICAgICAgZXdhcm4gIiAgIyByZXZk ZXAtcmVidWlsZCAtLWxpYnJhcnkgJyR7bGlifScgJiYgcm0gJyR7bGlifSciOwogICAgZG9uZQp9 CnBydW5lX2xpYnRvb2xfZmlsZXMgKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZV TkNOQU1FfSAiJEAiOwogICAgbG9jYWwgcmVtb3ZpbmdfYWxsIHJlbW92aW5nX21vZHVsZXMgb3B0 OwogICAgX2V1dGlsc19lcHJlZml4X2luaXQ7CiAgICBmb3Igb3B0IGluICIkQCI7CiAgICBkbwog ICAgICAgIGNhc2UgIiR7b3B0fSIgaW4gCiAgICAgICAgICAgIC0tYWxsKQogICAgICAgICAgICAg ICAgcmVtb3ZpbmdfYWxsPTE7CiAgICAgICAgICAgICAgICByZW1vdmluZ19tb2R1bGVzPTEKICAg ICAgICAgICAgOzsKICAgICAgICAgICAgLS1tb2R1bGVzKQogICAgICAgICAgICAgICAgcmVtb3Zp bmdfbW9kdWxlcz0xCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICopCiAgICAgICAgICAgICAg ICBkaWUgIkludmFsaWQgYXJndW1lbnQgdG8gJHtGVU5DTkFNRX0oKTogJHtvcHR9IgogICAgICAg ICAgICA7OwogICAgICAgIGVzYWM7CiAgICBkb25lOwogICAgbG9jYWwgZjsKICAgIGxvY2FsIHF1 ZXVlPSgpOwogICAgd2hpbGUgSUZTPSByZWFkIC1yIC1kICcnIGY7IGRvCiAgICAgICAgbG9jYWwg YXJjaGl2ZWZpbGU9JHtmLyUubGEvLmF9OwogICAgICAgIGlmICEgc2VkIC1uIC1lICcvXiMgR2Vu ZXJhdGVkIGJ5IC4qbGlidG9vbC9xMDs0cTEnICIke2Z9IjsgdGhlbgogICAgICAgICAgICBjb250 aW51ZTsKICAgICAgICBmaTsKICAgICAgICBbWyAke2Z9ICE9ICR7YXJjaGl2ZWZpbGV9IF1dIHx8 IGRpZSAncmVnZXggc2FuaXR5IGNoZWNrIGZhaWxlZCc7CiAgICAgICAgbG9jYWwgcmVhc29uIHBr Z2NvbmZpZ19zY2FubmVkOwogICAgICAgIGxvY2FsIHNub3RsaW5rPSQoc2VkIC1uIC1lICdzOl5z aG91bGRub3RsaW5rPTo6cCcgIiR7Zn0iKTsKICAgICAgICBpZiBbWyAke3Nub3RsaW5rfSA9PSB5 ZXMgXV07IHRoZW4KICAgICAgICAgICAgaWYgW1sgLWYgJHthcmNoaXZlZmlsZX0gXV07IHRoZW4K ICAgICAgICAgICAgICAgIGVpbmZvICJSZW1vdmluZyB1bm5lY2Vzc2FyeSAke2FyY2hpdmVmaWxl IyR7RCUvfX0gKHN0YXRpYyBwbHVnaW4pIjsKICAgICAgICAgICAgICAgIHF1ZXVlKz0oIiR7YXJj aGl2ZWZpbGV9Iik7CiAgICAgICAgICAgIGZpOwogICAgICAgICAgICBpZiBbWyAtbiAke3JlbW92 aW5nX21vZHVsZXN9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICByZWFzb249J21vZHVsZSc7CiAg ICAgICAgICAgIGZpOwogICAgICAgIGVsc2UKICAgICAgICAgICAgaWYgW1sgLW4gJHtyZW1vdmlu Z19hbGx9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICByZWFzb249J3JlcXVlc3RlZCc7CiAgICAg ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGlmIFtbICEgLWYgJHthcmNoaXZlZmlsZX0gXV07 IHRoZW4KICAgICAgICAgICAgICAgICAgICByZWFzb249J25vIHN0YXRpYyBhcmNoaXZlJzsKICAg ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBpZiBbWyAhIC1uICQoc2VkIC1u cmUgCQkJCQkicy9eKGRlcGVuZGVuY3lfbGlic3xpbmhlcml0ZWRfbGlua2VyX2ZsYWdzKT0nKC4q KSckL1wyL3AiIAkJCQkJIiR7Zn0iKSBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBy ZWFzb249J25vIGxpYnMgJiBmbGFncyc7CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAg ICAgICAgICAgICAgICAgICBpZiBbWyAhIC1uICR7cGtnY29uZmlnX3NjYW5uZWR9IF1dOyB0aGVu CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbCBwY19saWJzPSgpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgaWYgW1sgISAtbiAke3JlbW92aW5nX2FsbH0gXV07IHRoZW4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbCBwYzsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsb2NhbCB0Zj0ke1R9L3BydW5lLWx0LWZpbGVzLnBjOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxvY2FsIHBrZ2NvbmY9JCh0Yy1nZXRQS0dfQ09ORklHKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBJRlM9IHJlYWQgLXIgLWQgJycg cGM7IGRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsIGFyZyBsaWJz OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAke3BrZ2NvbmZ9IC0tZXhp c3RzICIke3BjfSIgJj4vZGV2L251bGw7IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlZCAtZSAnL15SZXF1aXJlczovZCcgIiR7cGN9IiA+ICIke3RmfSI7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJzPSQoJHtwa2djb25mfSAt LWxpYnMgIiR7dGZ9Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnM9JChzZWQgLW5lICdz L15MaWJzOi8vcCcgIiR7cGN9Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYXJnIGluICR7bGli c307CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBbWyAke2FyZ30gPT0gLWwqIF1dOyB0aGVuCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgW1sgJHthcmd9ID09 ICcqJConIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVxYXdhcm4gIiR7RlVOQ05BTUV9OiB2YXJpYWJsZSBzdWJzdGl0dXRpb24gbGlrZWx5 IGZhaWxlZCBpbiAke3BjfSI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGVxYXdhcm4gIihhcmc6ICR7YXJnfSkiOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBlcWF3YXJuICJNb3N0IGxpa2VseSwgeW91IG5lZWQg dG8gYWRkIHZpcnR1YWwvcGtnY29uZmlnIHRvIERFUEVORC4iOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBjX2xpYnMrPShsaWIke2FyZyMtbH0ubGEpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRvbmU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSA8IDwo ZmluZCAiJHtEfSIgLXR5cGUgZiAtbmFtZSAnKi5wYycgLXByaW50MCk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcm0gLWYgIiR7dGZ9IjsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtnY29uZmlnX3NjYW5uZWQ9MTsK ICAgICAgICAgICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICAgICAgICAgIGhhcyAi JHtmIyMqL30iICIke3BjX2xpYnNbQF19IiAmJiByZWFzb249J2NvdmVyZWQgYnkgLnBjJzsKICAg ICAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmaTsK ICAgICAgICBmaTsKICAgICAgICBpZiBbWyAtbiAke3JlYXNvbn0gXV07IHRoZW4KICAgICAgICAg ICAgZWluZm8gIlJlbW92aW5nIHVubmVjZXNzYXJ5ICR7ZiMke0QlL319ICgke3JlYXNvbn0pIjsK ICAgICAgICAgICAgcXVldWUrPSgiJHtmfSIpOwogICAgICAgIGZpOwogICAgZG9uZSA8IDwoZmlu ZCAiJHtFRH0iIC14dHlwZSBmIC1uYW1lICcqLmxhJyAtcHJpbnQwKTsKICAgIGlmIFtbIC1uICR7 cXVldWVbQF19IF1dOyB0aGVuCiAgICAgICAgcm0gLWYgIiR7cXVldWVbQF19IjsKICAgIGZpCn0K cHl0aG9uLXNpbmdsZS1yMV9wa2dfc2V0dXAgKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlv biAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBweXRob25fc2V0dXAKfQpweXRob25fZG9leGUgKCkg CnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBsb2Nh bCBmOwogICAgZm9yIGYgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgcHl0aG9uX25ld2V4ZSAiJHtm fSIgIiR7ZiMjKi99IjsKICAgIGRvbmUKfQpweXRob25fZG9oZWFkZXIgKCkgCnsgCiAgICBkZWJ1 Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBbWyAtbiAke0VQWVRIT059 IF1dIHx8IGRpZSAnTm8gUHl0aG9uIGltcGxlbWVudGF0aW9uIHNldCAoRVBZVEhPTiBpcyBudWxs KS4nOwogICAgbG9jYWwgZCBQWVRIT05fSU5DTFVERURJUj0ke1BZVEhPTl9JTkNMVURFRElSfTsK ICAgIFtbIC1uICR7UFlUSE9OX0lOQ0xVREVESVJ9IF1dIHx8IHB5dGhvbl9leHBvcnQgUFlUSE9O X0lOQ0xVREVESVI7CiAgICBkPSR7UFlUSE9OX0lOQ0xVREVESVIjJHtFUFJFRklYfX07CiAgICBs b2NhbCBJTlNERVNUVFJFRTsKICAgIGluc2ludG8gIiR7ZH0iOwogICAgZG9pbnMgLXIgIiR7QH0i IHx8IGRpZQp9CnB5dGhvbl9kb21vZHVsZSAoKSAKeyAKICAgIGRlYnVnLXByaW50LWZ1bmN0aW9u ICR7RlVOQ05BTUV9ICIke0B9IjsKICAgIFtbIC1uICR7RVBZVEhPTn0gXV0gfHwgZGllICdObyBQ eXRob24gaW1wbGVtZW50YXRpb24gc2V0IChFUFlUSE9OIGlzIG51bGwpLic7CiAgICBsb2NhbCBk OwogICAgaWYgW1sgJHtweXRob25fbW9kdWxlcm9vdH0gPT0gLyogXV07IHRoZW4KICAgICAgICBk PSR7cHl0aG9uX21vZHVsZXJvb3R9OwogICAgZWxzZQogICAgICAgIGxvY2FsIFBZVEhPTl9TSVRF RElSPSR7UFlUSE9OX1NJVEVESVJ9OwogICAgICAgIFtbIC1uICR7UFlUSE9OX1NJVEVESVJ9IF1d IHx8IHB5dGhvbl9leHBvcnQgUFlUSE9OX1NJVEVESVI7CiAgICAgICAgZD0ke1BZVEhPTl9TSVRF RElSIyR7RVBSRUZJWH19LyR7cHl0aG9uX21vZHVsZXJvb3R9OwogICAgZmk7CiAgICBsb2NhbCBJ TlNERVNUVFJFRTsKICAgIGluc2ludG8gIiR7ZH0iOwogICAgZG9pbnMgLXIgIiR7QH0iIHx8IGRp ZTsKICAgIHB5dGhvbl9vcHRpbWl6ZSAiJHtFRH0vJHtkfSIKfQpweXRob25fZG9zY3JpcHQgKCkg CnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBsb2Nh bCBfUFlUSE9OX1JFV1JJVEVfU0hFQkFORz0xOwogICAgcHl0aG9uX2RvZXhlICIke0B9Igp9CnB5 dGhvbl9leHBvcnQgKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAi JHtAfSI7CiAgICBsb2NhbCBpbXBsIHZhcjsKICAgIGNhc2UgIiR7MX0iIGluIAogICAgICAgIHB5 dGhvbiogfCBqeXRob24qKQogICAgICAgICAgICBpbXBsPSR7MS9fLy59OwogICAgICAgICAgICBz aGlmdAogICAgICAgIDs7CiAgICAgICAgcHlweSkKICAgICAgICAgICAgaW1wbD0kezF9OwogICAg ICAgICAgICBzaGlmdAogICAgICAgIDs7CiAgICAgICAgcHlweS1jKikKICAgICAgICAgICAgaW1w bD0kezF9OwogICAgICAgICAgICBzaGlmdAogICAgICAgIDs7CiAgICAgICAgcHlweSopCiAgICAg ICAgICAgIGxvY2FsIHY9JHsxI3B5cHl9OwogICAgICAgICAgICBpbXBsPXB5cHktYyR7di9fLy59 OwogICAgICAgICAgICBzaGlmdAogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgaW1w bD0ke0VQWVRIT059OwogICAgICAgICAgICBbWyAtbiAke2ltcGx9IF1dIHx8IGRpZSAicHl0aG9u X2V4cG9ydDogbm8gaW1wbCBub3IgRVBZVEhPTiIKICAgICAgICA7OwogICAgZXNhYzsKICAgIGRl YnVnLXByaW50ICIke0ZVTkNOQU1FfTogaW1wbGVtZW50YXRpb246ICR7aW1wbH0iOwogICAgZm9y IHZhciBpbiAiJEAiOwogICAgZG8KICAgICAgICBjYXNlICIke3Zhcn0iIGluIAogICAgICAgICAg ICBFUFlUSE9OKQogICAgICAgICAgICAgICAgZXhwb3J0IEVQWVRIT049JHtpbXBsfTsKICAgICAg ICAgICAgICAgIGRlYnVnLXByaW50ICIke0ZVTkNOQU1FfTogRVBZVEhPTiA9ICR7RVBZVEhPTn0i CiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIFBZVEhPTikKICAgICAgICAgICAgICAgIGV4cG9y dCBQWVRIT049JHtFUFJFRklYfS91c3IvYmluLyR7aW1wbH07CiAgICAgICAgICAgICAgICBkZWJ1 Zy1wcmludCAiJHtGVU5DTkFNRX06IFBZVEhPTiA9ICR7UFlUSE9OfSIKICAgICAgICAgICAgOzsK ICAgICAgICAgICAgUFlUSE9OX1NJVEVESVIpCiAgICAgICAgICAgICAgICBsb2NhbCBkaXI7CiAg ICAgICAgICAgICAgICBjYXNlICIke2ltcGx9IiBpbiAKICAgICAgICAgICAgICAgICAgICBweXRo b24qKQogICAgICAgICAgICAgICAgICAgICAgICBkaXI9L3Vzci8kKGdldF9saWJkaXIpLyR7aW1w bH0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGp5dGhvbiopCiAg ICAgICAgICAgICAgICAgICAgICAgIGRpcj0vdXNyL3NoYXJlLyR7aW1wbC9uL24tfS9MaWIKICAg ICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHB5cHkqKQogICAgICAgICAg ICAgICAgICAgICAgICBkaXI9L3Vzci8kKGdldF9saWJkaXIpLyR7aW1wbC8tYy99CiAgICAgICAg ICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgICAgICBleHBv cnQgUFlUSE9OX1NJVEVESVI9JHtFUFJFRklYfSR7ZGlyfS9zaXRlLXBhY2thZ2VzOwogICAgICAg ICAgICAgICAgZGVidWctcHJpbnQgIiR7RlVOQ05BTUV9OiBQWVRIT05fU0lURURJUiA9ICR7UFlU SE9OX1NJVEVESVJ9IgogICAgICAgICAgICA7OwogICAgICAgICAgICBQWVRIT05fSU5DTFVERURJ UikKICAgICAgICAgICAgICAgIGxvY2FsIGRpcjsKICAgICAgICAgICAgICAgIGNhc2UgIiR7aW1w bH0iIGluIAogICAgICAgICAgICAgICAgICAgIHB5dGhvbiopCiAgICAgICAgICAgICAgICAgICAg ICAgIGRpcj0vdXNyL2luY2x1ZGUvJHtpbXBsfQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAg ICAgICAgICAgICAgICAgcHlweSopCiAgICAgICAgICAgICAgICAgICAgICAgIGRpcj0vdXNyLyQo Z2V0X2xpYmRpcikvJHtpbXBsLy1jL30vaW5jbHVkZQogICAgICAgICAgICAgICAgICAgIDs7CiAg ICAgICAgICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgICAgICAgICAgZGllICIke2ltcGx9 IGxhY2tzIGhlYWRlciBmaWxlcyIKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAg ICAgZXNhYzsKICAgICAgICAgICAgICAgIGV4cG9ydCBQWVRIT05fSU5DTFVERURJUj0ke0VQUkVG SVh9JHtkaXJ9OwogICAgICAgICAgICAgICAgZGVidWctcHJpbnQgIiR7RlVOQ05BTUV9OiBQWVRI T05fSU5DTFVERURJUiA9ICR7UFlUSE9OX0lOQ0xVREVESVJ9IgogICAgICAgICAgICA7OwogICAg ICAgICAgICBQWVRIT05fTElCUEFUSCkKICAgICAgICAgICAgICAgIGxvY2FsIGxpYm5hbWU7CiAg ICAgICAgICAgICAgICBjYXNlICIke2ltcGx9IiBpbiAKICAgICAgICAgICAgICAgICAgICBweXRo b24qKQogICAgICAgICAgICAgICAgICAgICAgICBsaWJuYW1lPWxpYiR7aW1wbH0KICAgICAgICAg ICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAgICAgICAgICAgICAgICAgICAg ICAgIGRpZSAiJHtpbXBsfSBsYWNrcyBhIGR5bmFtaWMgbGlicmFyeSIKICAgICAgICAgICAgICAg ICAgICA7OwogICAgICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgICAgIGxvY2FsIHBhdGg9 JHtFUFJFRklYfS91c3IvJChnZXRfbGliZGlyKTsKICAgICAgICAgICAgICAgIGV4cG9ydCBQWVRI T05fTElCUEFUSD0ke3BhdGh9LyR7bGlibmFtZX0kKGdldF9saWJuYW1lKTsKICAgICAgICAgICAg ICAgIGRlYnVnLXByaW50ICIke0ZVTkNOQU1FfTogUFlUSE9OX0xJQlBBVEggPSAke1BZVEhPTl9M SUJQQVRIfSIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgUFlUSE9OX0NGTEFHUykKICAgICAg ICAgICAgICAgIGxvY2FsIHZhbDsKICAgICAgICAgICAgICAgIGNhc2UgIiR7aW1wbH0iIGluIAog ICAgICAgICAgICAgICAgICAgIHB5dGhvbjIuNSB8IHB5dGhvbjIuNikKICAgICAgICAgICAgICAg ICAgICAgICAgdmFsPSQoIiR7aW1wbH0tY29uZmlnIiAtLWluY2x1ZGVzKQogICAgICAgICAgICAg ICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgcHl0aG9uKikKICAgICAgICAgICAgICAgICAg ICAgICAgdmFsPSQoJCh0Yy1nZXRQS0dfQ09ORklHKSAtLWNmbGFncyAke2ltcGwvbi9uLX0pCiAg ICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICAqKQogICAgICAgICAgICAg ICAgICAgICAgICBkaWUgIiR7aW1wbH06IG9idGFpbmluZyAke3Zhcn0gbm90IHN1cHBvcnRlZCIK ICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAg ICAgIGV4cG9ydCBQWVRIT05fQ0ZMQUdTPSR7dmFsfTsKICAgICAgICAgICAgICAgIGRlYnVnLXBy aW50ICIke0ZVTkNOQU1FfTogUFlUSE9OX0NGTEFHUyA9ICR7UFlUSE9OX0NGTEFHU30iCiAgICAg ICAgICAgIDs7CiAgICAgICAgICAgIFBZVEhPTl9MSUJTKQogICAgICAgICAgICAgICAgbG9jYWwg dmFsOwogICAgICAgICAgICAgICAgY2FzZSAiJHtpbXBsfSIgaW4gCiAgICAgICAgICAgICAgICAg ICAgcHl0aG9uMi41IHwgcHl0aG9uMi42KQogICAgICAgICAgICAgICAgICAgICAgICB2YWw9JCgi JHtpbXBsfS1jb25maWciIC0tbGlicykKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAg ICAgICAgICAgIHB5dGhvbiopCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbD0kKCQodGMtZ2V0 UEtHX0NPTkZJRykgLS1saWJzICR7aW1wbC9uL24tfSkKICAgICAgICAgICAgICAgICAgICA7Owog ICAgICAgICAgICAgICAgICAgICopCiAgICAgICAgICAgICAgICAgICAgICAgIGRpZSAiJHtpbXBs fTogb2J0YWluaW5nICR7dmFyfSBub3Qgc3VwcG9ydGVkIgogICAgICAgICAgICAgICAgICAgIDs7 CiAgICAgICAgICAgICAgICBlc2FjOwogICAgICAgICAgICAgICAgZXhwb3J0IFBZVEhPTl9MSUJT PSR7dmFsfTsKICAgICAgICAgICAgICAgIGRlYnVnLXByaW50ICIke0ZVTkNOQU1FfTogUFlUSE9O X0xJQlMgPSAke1BZVEhPTl9MSUJTfSIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgUFlUSE9O X1BLR19ERVApCiAgICAgICAgICAgICAgICBsb2NhbCBkOwogICAgICAgICAgICAgICAgY2FzZSAk e2ltcGx9IGluIAogICAgICAgICAgICAgICAgICAgIHB5dGhvbjIuNikKICAgICAgICAgICAgICAg ICAgICAgICAgUFlUSE9OX1BLR19ERVA9Jz49ZGV2LWxhbmcvcHl0aG9uLTIuNi44LXIzOjIuNicK ICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHB5dGhvbjIuNykKICAg ICAgICAgICAgICAgICAgICAgICAgUFlUSE9OX1BLR19ERVA9Jz49ZGV2LWxhbmcvcHl0aG9uLTIu Ny41LXIyOjIuNycKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHB5 dGhvbjMuMikKICAgICAgICAgICAgICAgICAgICAgICAgUFlUSE9OX1BLR19ERVA9Jz49ZGV2LWxh bmcvcHl0aG9uLTMuMi41LXIyOjMuMicKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAg ICAgICAgICAgIHB5dGhvbjMuMykKICAgICAgICAgICAgICAgICAgICAgICAgUFlUSE9OX1BLR19E RVA9Jz49ZGV2LWxhbmcvcHl0aG9uLTMuMy4yLXIyOjMuMycKICAgICAgICAgICAgICAgICAgICA7 OwogICAgICAgICAgICAgICAgICAgIHB5dGhvbiopCiAgICAgICAgICAgICAgICAgICAgICAgIFBZ VEhPTl9QS0dfREVQPSJkZXYtbGFuZy9weXRob246JHtpbXBsI3B5dGhvbn0iCiAgICAgICAgICAg ICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBweXB5LWMyLjApCiAgICAgICAgICAgICAg ICAgICAgICAgIFBZVEhPTl9QS0dfREVQPSc+PXZpcnR1YWwvcHlweS0yLjAuMjoyLjAnCiAgICAg ICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBweXB5KQogICAgICAgICAgICAg ICAgICAgICAgICBQWVRIT05fUEtHX0RFUD0ndmlydHVhbC9weXB5OjA9JwogICAgICAgICAgICAg ICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAganl0aG9uMi41KQogICAgICAgICAgICAgICAg ICAgICAgICBQWVRIT05fUEtHX0RFUD0nPj1kZXYtamF2YS9qeXRob24tMi41LjMtcjI6Mi41Jwog ICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAganl0aG9uMi43KQogICAg ICAgICAgICAgICAgICAgICAgICBQWVRIT05fUEtHX0RFUD0nZGV2LWphdmEvanl0aG9uOjIuNycK ICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAgICAgICAgICAg ICAgICAgICAgICAgIGRpZSAiSW52YWxpZCBpbXBsZW1lbnRhdGlvbjogJHtpbXBsfSIKICAgICAg ICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgICAgIGlm IFtbIC1uICR7UFlUSE9OX1JFUV9VU0V9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgUFlU SE9OX1BLR19ERVArPVske1BZVEhPTl9SRVFfVVNFfV07CiAgICAgICAgICAgICAgICBmaTsKICAg ICAgICAgICAgICAgIGV4cG9ydCBQWVRIT05fUEtHX0RFUDsKICAgICAgICAgICAgICAgIGRlYnVn LXByaW50ICIke0ZVTkNOQU1FfTogUFlUSE9OX1BLR19ERVAgPSAke1BZVEhPTl9QS0dfREVQfSIK ICAgICAgICAgICAgOzsKICAgICAgICAgICAgUFlUSE9OX1NDUklQVERJUikKICAgICAgICAgICAg ICAgIGxvY2FsIGRpcjsKICAgICAgICAgICAgICAgIGV4cG9ydCBQWVRIT05fU0NSSVBURElSPSR7 RVBSRUZJWH0vdXNyL2xpYi9weXRob24tZXhlYy8ke2ltcGx9OwogICAgICAgICAgICAgICAgZGVi dWctcHJpbnQgIiR7RlVOQ05BTUV9OiBQWVRIT05fU0NSSVBURElSID0gJHtQWVRIT05fU0NSSVBU RElSfSIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgIGRpZSAi cHl0aG9uX2V4cG9ydDogdW5rbm93biB2YXJpYWJsZSAke3Zhcn0iCiAgICAgICAgICAgIDs7CiAg ICAgICAgZXNhYzsKICAgIGRvbmUKfQpweXRob25fZml4X3NoZWJhbmcgKCkgCnsgCiAgICBkZWJ1 Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBbWyAtbiAkezF9IF1dIHx8 IGRpZSAiJHtGVU5DTkFNRX06IG5vIHBhdGhzIGdpdmVuIjsKICAgIFtbIC1uICR7RVBZVEhPTn0g XV0gfHwgZGllICIke0ZVTkNOQU1FfTogRVBZVEhPTiB1bnNldCAocGtnX3NldHVwIG5vdCBjYWxs ZWQ/KSI7CiAgICBsb2NhbCBwYXRoIGY7CiAgICBmb3IgcGF0aCBpbiAiJEAiOwogICAgZG8KICAg ICAgICB3aGlsZSBJRlM9IHJlYWQgLXIgLWQgJycgZjsgZG8KICAgICAgICAgICAgbG9jYWwgc2hl YmFuZz0kKGhlYWQgLW4gMSAiJHtmfSIpOwogICAgICAgICAgICBjYXNlICIke3NoZWJhbmd9IiBp biAKICAgICAgICAgICAgICAgICcjIScqJHtFUFlUSE9OfSopCiAgICAgICAgICAgICAgICAgICAg ZGVidWctcHJpbnQgIiR7RlVOQ05BTUV9OiBpbiBmaWxlICR7ZiMke0R9fSI7CiAgICAgICAgICAg ICAgICAgICAgZGVidWctcHJpbnQgIiR7RlVOQ05BTUV9OiBzaGViYW5nIG1hdGNoZXMgRVBZVEhP TjogJHtzaGViYW5nfSIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAnIyEnKnB5 dGhvblsyM10uWzAxMjM0NTY3ODldKiB8ICcjIScqcHlweS1jKiB8ICcjIScqanl0aG9uKikKICAg ICAgICAgICAgICAgICAgICBkZWJ1Zy1wcmludCAiJHtGVU5DTkFNRX06IGluIGZpbGUgJHtmIyR7 RH19IjsKICAgICAgICAgICAgICAgICAgICBkZWJ1Zy1wcmludCAiJHtGVU5DTkFNRX06IGluY29y cmVjdCBzcGVjaWZpYyBzaGViYW5nOiAke3NoZWJhbmd9IjsKICAgICAgICAgICAgICAgICAgICBk aWUgIiR7ZiMke0R9fSBoYXMgYSBzcGVjaWZpYyBQeXRob24gc2hlYmFuZyBub3QgbWF0Y2hpbmcg RVBZVEhPTiIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAnIyEnKnB5dGhvbiop CiAgICAgICAgICAgICAgICAgICAgZGVidWctcHJpbnQgIiR7RlVOQ05BTUV9OiBpbiBmaWxlICR7 ZiMke0R9fSI7CiAgICAgICAgICAgICAgICAgICAgZGVidWctcHJpbnQgIiR7RlVOQ05BTUV9OiBy ZXdyaXRpbmcgc2hlYmFuZzogJHtzaGViYW5nfSI7CiAgICAgICAgICAgICAgICAgICAgZWluZm8g IkZpeGluZyBzaGViYW5nIGluICR7ZiMke0R9fSI7CiAgICAgICAgICAgICAgICAgICAgX3B5dGhv bl9yZXdyaXRlX3NoZWJhbmcgIiR7Zn0iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICBl c2FjOwogICAgICAgIGRvbmUgPCA8KGZpbmQgIiR7cGF0aH0iIC10eXBlIGYgLXByaW50MCk7CiAg ICBkb25lCn0KcHl0aG9uX2dldF9DRkxBR1MgKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlv biAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBweXRob25fZXhwb3J0ICIke0B9IiBQWVRIT05fQ0ZM QUdTOwogICAgZWNobyAiJHtQWVRIT05fQ0ZMQUdTfSIKfQpweXRob25fZ2V0X0xJQlMgKCkgCnsg CiAgICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBweXRob25f ZXhwb3J0ICIke0B9IiBQWVRIT05fTElCUzsKICAgIGVjaG8gIiR7UFlUSE9OX0xJQlN9Igp9CnB5 dGhvbl9nZXRfaW5jbHVkZWRpciAoKSAKeyAKICAgIGRlYnVnLXByaW50LWZ1bmN0aW9uICR7RlVO Q05BTUV9ICIke0B9IjsKICAgIHB5dGhvbl9leHBvcnQgIiR7QH0iIFBZVEhPTl9JTkNMVURFRElS OwogICAgZWNobyAiJHtQWVRIT05fSU5DTFVERURJUn0iCn0KcHl0aG9uX2dldF9saWJyYXJ5X3Bh dGggKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSI7CiAg ICBweXRob25fZXhwb3J0ICIke0B9IiBQWVRIT05fTElCUEFUSDsKICAgIGVjaG8gIiR7UFlUSE9O X0xJQlBBVEh9Igp9CnB5dGhvbl9nZXRfc2NyaXB0ZGlyICgpIAp7IAogICAgZGVidWctcHJpbnQt ZnVuY3Rpb24gJHtGVU5DTkFNRX0gIiR7QH0iOwogICAgcHl0aG9uX2V4cG9ydCAiJHtAfSIgUFlU SE9OX1NDUklQVERJUjsKICAgIGVjaG8gIiR7UFlUSE9OX1NDUklQVERJUn0iCn0KcHl0aG9uX2dl dF9zaXRlZGlyICgpIAp7IAogICAgZGVidWctcHJpbnQtZnVuY3Rpb24gJHtGVU5DTkFNRX0gIiR7 QH0iOwogICAgcHl0aG9uX2V4cG9ydCAiJHtAfSIgUFlUSE9OX1NJVEVESVI7CiAgICBlY2hvICIk e1BZVEhPTl9TSVRFRElSfSIKfQpweXRob25faXNfcHl0aG9uMyAoKSAKeyAKICAgIGxvY2FsIGlt cGw9JHsxOi0ke0VQWVRIT059fTsKICAgIFtbIC1uICR7aW1wbH0gXV0gfHwgZGllICJweXRob25f aXNfcHl0aG9uMzogbm8gaW1wbCBub3IgRVBZVEhPTiI7CiAgICBbWyAke2ltcGx9ID09IHB5dGhv bjMqIF1dCn0KcHl0aG9uX21vZHVsZWludG8gKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlv biAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBweXRob25fbW9kdWxlcm9vdD0kezF9Cn0KcHl0aG9u X25ld2V4ZSAoKSAKeyAKICAgIGRlYnVnLXByaW50LWZ1bmN0aW9uICR7RlVOQ05BTUV9ICIke0B9 IjsKICAgIFtbIC1uICR7RVBZVEhPTn0gXV0gfHwgZGllICdObyBQeXRob24gaW1wbGVtZW50YXRp b24gc2V0IChFUFlUSE9OIGlzIG51bGwpLic7CiAgICBbWyAkeyN9IC1lcSAyIF1dIHx8IGRpZSAi VXNhZ2U6ICR7RlVOQ05BTUV9IDxwYXRoPiA8bmV3LW5hbWU+IjsKICAgIGxvY2FsIGQ9JHtweXRo b25fc2NyaXB0cm9vdDotJHtERVNUVFJFRX0vYmlufTsKICAgIGxvY2FsIHdyYXBkPSR7ZH07CiAg ICBsb2NhbCBmPSR7MX07CiAgICBsb2NhbCBiYXJlZm49JHsyfTsKICAgIGxvY2FsIG5ld2ZuOwog ICAgaWYgX3B5dGhvbl93YW50X3B5dGhvbl9leGVjMjsgdGhlbgogICAgICAgIGxvY2FsIFBZVEhP Tl9TQ1JJUFRESVI7CiAgICAgICAgcHl0aG9uX2V4cG9ydCBQWVRIT05fU0NSSVBURElSOwogICAg ICAgIGQ9JHtQWVRIT05fU0NSSVBURElSIyR7RVBSRUZJWH19OwogICAgICAgIG5ld2ZuPSR7YmFy ZWZufTsKICAgIGVsc2UKICAgICAgICBuZXdmbj0ke2JhcmVmbn0tJHtFUFlUSE9OfTsKICAgIGZp OwogICAgKCBkb2RpciAiJHt3cmFwZH0iOwogICAgZXhlaW50byAiJHtkfSI7CiAgICBuZXdleGUg IiR7Zn0iICIke25ld2ZufSIgfHwgZGllICk7CiAgICBfcHl0aG9uX2xuX3JlbCAiJHtFRCUvfSIk KF9weXRob25fZ2V0X3dyYXBwZXJfcGF0aCkgIiR7RUQlL30vJHt3cmFwZH0vJHtiYXJlZm59IiB8 fCBkaWU7CiAgICBpZiBbWyAtbiAke19QWVRIT05fUkVXUklURV9TSEVCQU5HfSBdXTsgdGhlbgog ICAgICAgIF9weXRob25fcmV3cml0ZV9zaGViYW5nICIke0VEJS99LyR7ZH0vJHtuZXdmbn0iOwog ICAgZmkKfQpweXRob25fbmV3c2NyaXB0ICgpIAp7IAogICAgZGVidWctcHJpbnQtZnVuY3Rpb24g JHtGVU5DTkFNRX0gIiR7QH0iOwogICAgbG9jYWwgX1BZVEhPTl9SRVdSSVRFX1NIRUJBTkc9MTsK ICAgIHB5dGhvbl9uZXdleGUgIiR7QH0iCn0KcHl0aG9uX29wdGltaXplICgpIAp7IAogICAgZGVi dWctcHJpbnQtZnVuY3Rpb24gJHtGVU5DTkFNRX0gIiR7QH0iOwogICAgaWYgW1sgJHtFQlVJTERf UEhBU0V9ID09IHByZSogfHwgJHtFQlVJTERfUEhBU0V9ID09IHBvc3QqIF1dOyB0aGVuCiAgICAg ICAgZWVycm9yICJUaGUgbmV3IFB5dGhvbiBlY2xhc3NlcyBleHBlY3QgdGhlIGNvbXBpbGVkIFB5 dGhvbiBmaWxlcyB0byI7CiAgICAgICAgZWVycm9yICJiZSBjb250cm9sbGVkIGJ5IHRoZSBQYWNr YWdlIE1hbmFnZXIuIEZvciB0aGlzIHJlYXNvbiwiOwogICAgICAgIGVlcnJvciAidGhlIHB5dGhv bl9vcHRpbWl6ZSBmdW5jdGlvbiBjYW4gYmUgdXNlZCBvbmx5IGR1cmluZyBzcmNfKiBwaGFzZXMi OwogICAgICAgIGVlcnJvciAiKHNyY19pbnN0YWxsIG1vc3QgY29tbW9ubHkpIGFuZCBub3QgZHVy aW5nIHBrZ18qIHBoYXNlcy4iOwogICAgICAgIGVjaG87CiAgICAgICAgZGllICJweXRob25fb3B0 aW1pemUgaXMgbm90IHRvIGJlIHVzZWQgaW4gcHJlL3Bvc3QqIHBoYXNlcyI7CiAgICBmaTsKICAg IFtbIC1uICR7RVBZVEhPTn0gXV0gfHwgZGllICdObyBQeXRob24gaW1wbGVtZW50YXRpb24gc2V0 IChFUFlUSE9OIGlzIG51bGwpLic7CiAgICBsb2NhbCBQWVRIT049JHtQWVRIT059OwogICAgW1sg LW4gJHtQWVRIT059IF1dIHx8IHB5dGhvbl9leHBvcnQgUFlUSE9OOwogICAgaWYgW1sgJHsjfSAt ZXEgMCBdXTsgdGhlbgogICAgICAgIGxvY2FsIGY7CiAgICAgICAgd2hpbGUgSUZTPSByZWFkIC1y IC1kICcnIGY7IGRvCiAgICAgICAgICAgIGlmIFtbICR7Zn0gPT0gLyogJiYgLWQgJHtEfSR7Zn0g XV07IHRoZW4KICAgICAgICAgICAgICAgIHNldCAtLSAiJHtEfSR7Zn0iICIke0B9IjsKICAgICAg ICAgICAgZmk7CiAgICAgICAgZG9uZSA8IDwoIiR7UFlUSE9OfSIgLWMgJ2ltcG9ydCBzeXM7IHBy aW50KCJcMCIuam9pbihzeXMucGF0aCkpJyk7CiAgICAgICAgZGVidWctcHJpbnQgIiR7RlVOQ05B TUV9OiB1c2luZyBzeXMucGF0aDogJHsqLyUvO30iOwogICAgZmk7CiAgICBsb2NhbCBkOwogICAg Zm9yIGQgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgbG9jYWwgaW5zdHBhdGg9JHtkIyR7RH19Owog ICAgICAgIGluc3RwYXRoPS8ke2luc3RwYXRoIyMvfTsKICAgICAgICBjYXNlICIke0VQWVRIT059 IiBpbiAKICAgICAgICAgICAgcHl0aG9uKikKICAgICAgICAgICAgICAgICIke1BZVEhPTn0iIC1t IGNvbXBpbGVhbGwgLXEgLWYgLWQgIiR7aW5zdHBhdGh9IiAiJHtkfSI7CiAgICAgICAgICAgICAg ICAiJHtQWVRIT059IiAtT08gLW0gY29tcGlsZWFsbCAtcSAtZiAtZCAiJHtpbnN0cGF0aH0iICIk e2R9IgogICAgICAgICAgICA7OwogICAgICAgICAgICAqKQogICAgICAgICAgICAgICAgIiR7UFlU SE9OfSIgLW0gY29tcGlsZWFsbCAtcSAtZiAtZCAiJHtpbnN0cGF0aH0iICIke2R9IgogICAgICAg ICAgICA7OwogICAgICAgIGVzYWM7CiAgICBkb25lCn0KcHl0aG9uX3NjcmlwdGludG8gKCkgCnsg CiAgICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBweXRob25f c2NyaXB0cm9vdD0kezF9Cn0KcHl0aG9uX3NldHVwICgpIAp7IAogICAgZGVidWctcHJpbnQtZnVu Y3Rpb24gJHtGVU5DTkFNRX0gIiR7QH0iOwogICAgdW5zZXQgRVBZVEhPTjsKICAgIGxvY2FsIGlt cGw7CiAgICBmb3IgaW1wbCBpbiAiJHtfUFlUSE9OX0FMTF9JTVBMU1tAXX0iOwogICAgZG8KICAg ICAgICBpZiBoYXMgIiR7aW1wbH0iICIke1BZVEhPTl9DT01QQVRbQF19IiAmJiB1c2UgInB5dGhv bl9zaW5nbGVfdGFyZ2V0XyR7aW1wbH0iOyB0aGVuCiAgICAgICAgICAgIGlmIFtbIC1uICR7RVBZ VEhPTn0gXV07IHRoZW4KICAgICAgICAgICAgICAgIGVlcnJvciAiWW91ciBQWVRIT05fU0lOR0xF X1RBUkdFVCBzZXR0aW5nIGxpc3RzIG1vcmUgdGhhbiBhIHNpbmdsZSBQeXRob24iOwogICAgICAg ICAgICAgICAgZWVycm9yICJpbXBsZW1lbnRhdGlvbi4gUGxlYXNlIHNldCBpdCB0byBqdXN0IG9u ZSB2YWx1ZS4gSWYgeW91IG5lZWQiOwogICAgICAgICAgICAgICAgZWVycm9yICJ0byBvdmVycmlk ZSB0aGUgdmFsdWUgZm9yIGEgc2luZ2xlIHBhY2thZ2UsIHBsZWFzZSB1c2UgcGFja2FnZS5lbnYi OwogICAgICAgICAgICAgICAgZWVycm9yICJvciBhbiBlcXVpdmFsZW50IHNvbHV0aW9uIChtYW4g NSBwb3J0YWdlKS4iOwogICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAgIGRpZSAi TW9yZSB0aGFuIG9uZSBpbXBsZW1lbnRhdGlvbiBpbiBQWVRIT05fU0lOR0xFX1RBUkdFVC4iOwog ICAgICAgICAgICBmaTsKICAgICAgICAgICAgaWYgISB1c2UgInB5dGhvbl90YXJnZXRzXyR7aW1w bH0iOyB0aGVuCiAgICAgICAgICAgICAgICBlZXJyb3IgIlRoZSBpbXBsZW1lbnRhdGlvbiBjaG9z ZW4gYXMgUFlUSE9OX1NJTkdMRV9UQVJHRVQgbXVzdCBiZSBhZGRlZCI7CiAgICAgICAgICAgICAg ICBlZXJyb3IgInRvIFBZVEhPTl9UQVJHRVRTIGFzIHdlbGwuIFRoaXMgaXMgaW4gb3JkZXIgdG8g ZW5zdXJlIHRoYXQiOwogICAgICAgICAgICAgICAgZWVycm9yICJkZXBlbmRlbmNpZXMgYXJlIHNh dGlzZmllZCBjb3JyZWN0bHkuIFdlJ3JlIHNvcnJ5IjsKICAgICAgICAgICAgICAgIGVlcnJvciAi Zm9yIHRoZSBpbmNvbnZlbmllbmNlLiI7CiAgICAgICAgICAgICAgICBlY2hvOwogICAgICAgICAg ICAgICAgZGllICJCdWlsZCB0YXJnZXQgKCR7aW1wbH0pIG5vdCBpbiBQWVRIT05fVEFSR0VUUy4i OwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgcHl0aG9uX2V4cG9ydCAiJHtpbXBsfSIgRVBZ VEhPTiBQWVRIT047CiAgICAgICAgICAgIHB5dGhvbl93cmFwcGVyX3NldHVwOwogICAgICAgIGZp OwogICAgZG9uZTsKICAgIGlmIFtbICEgLW4gJHtFUFlUSE9OfSBdXTsgdGhlbgogICAgICAgIGVl cnJvciAiTm8gUHl0aG9uIGltcGxlbWVudGF0aW9uIHNlbGVjdGVkIGZvciB0aGUgYnVpbGQuIFBs ZWFzZSBzZXQiOwogICAgICAgIGVlcnJvciAidGhlIFBZVEhPTl9TSU5HTEVfVEFSR0VUIHZhcmlh YmxlIGluIHlvdXIgbWFrZS5jb25mIHRvIG9uZSI7CiAgICAgICAgZWVycm9yICJvZiB0aGUgZm9s bG93aW5nIHZhbHVlczoiOwogICAgICAgIGVlcnJvcjsKICAgICAgICBlZXJyb3IgIiR7UFlUSE9O X0NPTVBBVFtAXX0iOwogICAgICAgIGVjaG87CiAgICAgICAgZGllICJObyBzdXBwb3J0ZWQgUHl0 aG9uIGltcGxlbWVudGF0aW9uIGluIFBZVEhPTl9TSU5HTEVfVEFSR0VULiI7CiAgICBmaQp9CnB5 dGhvbl93cmFwcGVyX3NldHVwICgpIAp7IAogICAgZGVidWctcHJpbnQtZnVuY3Rpb24gJHtGVU5D TkFNRX0gIiR7QH0iOwogICAgbG9jYWwgd29ya2Rpcj0kezE6LSR7VH0vJHtFUFlUSE9OfX07CiAg ICBsb2NhbCBpbXBsPSR7MjotJHtFUFlUSE9OfX07CiAgICBbWyAtbiAke3dvcmtkaXJ9IF1dIHx8 IGRpZSAiJHtGVU5DTkFNRX06IG5vIHdvcmtkaXIgc3BlY2lmaWVkLiI7CiAgICBbWyAtbiAke2lt cGx9IF1dIHx8IGRpZSAiJHtGVU5DTkFNRX06IG5vIGltcGwgbm9yIEVQWVRIT04gc3BlY2lmaWVk LiI7CiAgICBpZiBbWyAhIC14ICR7d29ya2Rpcn0vYmluL3B5dGhvbiBdXTsgdGhlbgogICAgICAg IG1rZGlyIC1wICIke3dvcmtkaXJ9Ii97YmluLHBrZ2NvbmZpZ30gfHwgZGllOwogICAgICAgIHJt IC1mICIke3dvcmtkaXJ9Ii9iaW4vcHl0aG9ueywyLDMsLWNvbmZpZ307CiAgICAgICAgcm0gLWYg IiR7d29ya2Rpcn0iL2Jpbi8ydG8zOwogICAgICAgIHJtIC1mICIke3dvcmtkaXJ9Ii9wa2djb25m aWcvcHl0aG9ueywyLDN9LnBjOwogICAgICAgIGxvY2FsIEVQWVRIT04gUFlUSE9OOwogICAgICAg IHB5dGhvbl9leHBvcnQgIiR7aW1wbH0iIEVQWVRIT04gUFlUSE9OOwogICAgICAgIGxvY2FsIHB5 dmVyOwogICAgICAgIGlmIHB5dGhvbl9pc19weXRob24zOyB0aGVuCiAgICAgICAgICAgIHB5dmVy PTM7CiAgICAgICAgZWxzZQogICAgICAgICAgICBweXZlcj0yOwogICAgICAgIGZpOwogICAgICAg IGxuIC1zICIke1BZVEhPTn0iICIke3dvcmtkaXJ9Ii9iaW4vcHl0aG9uIHx8IGRpZTsKICAgICAg ICBsbiAtcyBweXRob24gIiR7d29ya2Rpcn0iL2Jpbi9weXRob24ke3B5dmVyfSB8fCBkaWU7CiAg ICAgICAgbG9jYWwgbm9uc3VwcD0oKTsKICAgICAgICBpZiBbWyAke0VQWVRIT059ID09IHB5dGhv biogXV07IHRoZW4KICAgICAgICAgICAgbG4gLXMgIiR7UFlUSE9OfS1jb25maWciICIke3dvcmtk aXJ9Ii9iaW4vcHl0aG9uLWNvbmZpZyB8fCBkaWU7CiAgICAgICAgICAgIGlmIFtbICR7RVBZVEhP Tn0gIT0gcHl0aG9uMi41IF1dOyB0aGVuCiAgICAgICAgICAgICAgICBsbiAtcyAiJHtQWVRIT04v cHl0aG9uLzJ0bzMtfSIgIiR7d29ya2Rpcn0iL2Jpbi8ydG8zIHx8IGRpZTsKICAgICAgICAgICAg ZWxzZQogICAgICAgICAgICAgICAgbm9uc3VwcCs9KDJ0bzMpOwogICAgICAgICAgICBmaTsKICAg ICAgICAgICAgaWYgW1sgJHtFUFlUSE9OfSAhPSBweXRob24yLls1Nl0gXV07IHRoZW4KICAgICAg ICAgICAgICAgIGxuIC1zICIke0VQUkVGSVh9Ii91c3IvJChnZXRfbGliZGlyKS9wa2djb25maWcv JHtFUFlUSE9OL24vbi19LnBjICIke3dvcmtkaXJ9Ii9wa2djb25maWcvcHl0aG9uLnBjIHx8IGRp ZTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgbG4gLXMgL2Rldi9udWxsICIke3dv cmtkaXJ9Ii9wa2djb25maWcvcHl0aG9uLnBjIHx8IGRpZTsKICAgICAgICAgICAgZmk7CiAgICAg ICAgICAgIGxuIC1zIHB5dGhvbi5wYyAiJHt3b3JrZGlyfSIvcGtnY29uZmlnL3B5dGhvbiR7cHl2 ZXJ9LnBjIHx8IGRpZTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIG5vbnN1cHArPSgydG8zIHB5 dGhvbi1jb25maWcpOwogICAgICAgIGZpOwogICAgICAgIGxvY2FsIHg7CiAgICAgICAgZm9yIHgg aW4gIiR7bm9uc3VwcFtAXX0iOwogICAgICAgIGRvCiAgICAgICAgICAgIGNhdCA+ICIke3dvcmtk aXJ9Ii9iaW4vJHt4fSAgPDxfX0VPRl9fCiMhL2Jpbi9zaAplY2hvICIke3h9IGlzIG5vdCBzdXBw b3J0ZWQgYnkgJHtFUFlUSE9OfSIgPiYyCmV4aXQgMQpfX0VPRl9fCgogICAgICAgICAgICBjaG1v ZCAreCAiJHt3b3JrZGlyfSIvYmluLyR7eH0gfHwgZGllOwogICAgICAgIGRvbmUKICAgICAgICBp ZiBbWyAke1BBVEgjIzoqfSAhPSAke3dvcmtkaXJ9L2JpbiBdXTsgdGhlbgogICAgICAgICAgICBQ QVRIPSR7d29ya2Rpcn0vYmluJHtQQVRIOis6JHtQQVRIfX07CiAgICAgICAgZmk7CiAgICAgICAg aWYgW1sgJHtQS0dfQ09ORklHX1BBVEgjIzoqfSAhPSAke3dvcmtkaXJ9L3BrZ2NvbmZpZyBdXTsg dGhlbgogICAgICAgICAgICBQS0dfQ09ORklHX1BBVEg9JHt3b3JrZGlyfS9wa2djb25maWcke1BL R19DT05GSUdfUEFUSDorOiR7UEtHX0NPTkZJR19QQVRIfX07CiAgICAgICAgZmk7CiAgICAgICAg ZXhwb3J0IFBBVEggUEtHX0NPTkZJR19QQVRIOwogICAgZmkKfQpyYXctbGRmbGFncyAoKSAKeyAK ICAgIGxvY2FsIHggaW5wdXQ9IiRAIjsKICAgIFtbIC16ICR7aW5wdXR9IF1dICYmIGlucHV0PSR7 TERGTEFHU307CiAgICBzZXQgLS07CiAgICBmb3IgeCBpbiAke2lucHV0fTsKICAgIGRvCiAgICAg ICAgY2FzZSAke3h9IGluIAogICAgICAgICAgICAtV2wsKikKICAgICAgICAgICAgICAgIHg9JHt4 Iy1XbCx9OwogICAgICAgICAgICAgICAgc2V0IC0tICIkQCIgJHt4Ly8sLyB9CiAgICAgICAgICAg IDs7CiAgICAgICAgICAgICopCgogICAgICAgICAgICA7OwogICAgICAgIGVzYWM7CiAgICBkb25l OwogICAgZWNobyAiJEAiCn0KcmVwbGFjZS1jcHUtZmxhZ3MgKCkgCnsgCiAgICBsb2NhbCBuZXdj cHU9IiQjIjsKICAgIG5ld2NwdT0iJHshbmV3Y3B1fSI7CiAgICB3aGlsZSBbICQjIC1ndCAxIF07 IGRvCiAgICAgICAgcmVwbGFjZS1mbGFncyAiLW1hcmNoPSR7MX0iICItbWFyY2g9JHtuZXdjcHV9 IjsKICAgICAgICByZXBsYWNlLWZsYWdzICItbWNwdT0kezF9IiAiLW1jcHU9JHtuZXdjcHV9IjsK ICAgICAgICByZXBsYWNlLWZsYWdzICItbXR1bmU9JHsxfSIgIi1tdHVuZT0ke25ld2NwdX0iOwog ICAgICAgIHNoaWZ0OwogICAgZG9uZTsKICAgIHJldHVybiAwCn0KcmVwbGFjZS1mbGFncyAoKSAK eyAKICAgIFtbICQjICE9IDIgXV0gJiYgZGllICJVc2FnZTogcmVwbGFjZS1mbGFncyA8b2xkIGZs YWc+IDxuZXcgZmxhZz4iOwogICAgbG9jYWwgZiB2YXIgbmV3OwogICAgZm9yIHZhciBpbiAkKGFs bC1mbGFnLXZhcnMpOwogICAgZG8KICAgICAgICBuZXc9KCk7CiAgICAgICAgZm9yIGYgaW4gJHsh dmFyfTsKICAgICAgICBkbwogICAgICAgICAgICBbWyAke2Z9ID09ICR7MX0gXV0gJiYgZj0kezJ9 OwogICAgICAgICAgICBuZXcrPSgiJHtmfSIpOwogICAgICAgIGRvbmU7CiAgICAgICAgZXZhbCBl eHBvcnQgJHt2YXJ9PVwiIiR7bmV3WypdfSJcIjsKICAgIGRvbmU7CiAgICByZXR1cm4gMAp9CnJl cGxhY2Utc3BhcmM2NC1mbGFncyAoKSAKeyAKICAgIGxvY2FsIFNQQVJDNjRfQ1BVUz0idWx0cmFz cGFyYzMgdWx0cmFzcGFyYyB2OSI7CiAgICBpZiBbICIke0NGTEFHUy9tdHVuZX0iICE9ICIke0NG TEFHU30iIF07IHRoZW4KICAgICAgICBmb3IgeCBpbiAke1NQQVJDNjRfQ1BVU307CiAgICAgICAg ZG8KICAgICAgICAgICAgQ0ZMQUdTPSIke0NGTEFHUy8tbWNwdT0ke3h9Ly1tY3B1PXY4fSI7CiAg ICAgICAgZG9uZTsKICAgIGVsc2UKICAgICAgICBmb3IgeCBpbiAke1NQQVJDNjRfQ1BVU307CiAg ICAgICAgZG8KICAgICAgICAgICAgQ0ZMQUdTPSIke0NGTEFHUy8tbWNwdT0ke3h9Ly1tY3B1PXY4 IC1tdHVuZT0ke3h9fSI7CiAgICAgICAgZG9uZTsKICAgIGZpOwogICAgaWYgWyAiJHtDWFhGTEFH Uy9tdHVuZX0iICE9ICIke0NYWEZMQUdTfSIgXTsgdGhlbgogICAgICAgIGZvciB4IGluICR7U1BB UkM2NF9DUFVTfTsKICAgICAgICBkbwogICAgICAgICAgICBDWFhGTEFHUz0iJHtDWFhGTEFHUy8t bWNwdT0ke3h9Ly1tY3B1PXY4fSI7CiAgICAgICAgZG9uZTsKICAgIGVsc2UKICAgICAgICBmb3Ig eCBpbiAke1NQQVJDNjRfQ1BVU307CiAgICAgICAgZG8KICAgICAgICAgICAgQ1hYRkxBR1M9IiR7 Q1hYRkxBR1MvLW1jcHU9JHt4fS8tbWNwdT12OCAtbXR1bmU9JHt4fX0iOwogICAgICAgIGRvbmU7 CiAgICBmaTsKICAgIGV4cG9ydCBDRkxBR1MgQ1hYRkxBR1MKfQpzZXR1cC1hbGxvd2VkLWZsYWdz ICgpIAp7IAogICAgQUxMT1dFRF9GTEFHUz0iLXBpcGUiOwogICAgQUxMT1dFRF9GTEFHUys9IiAt TyAtTzEgLU8yIC1PcyAtbWNwdSAtbWFyY2ggLW10dW5lIjsKICAgIEFMTE9XRURfRkxBR1MrPSIg LWZzdGFjay1wcm90ZWN0b3IgLWZzdGFjay1wcm90ZWN0b3ItYWxsIjsKICAgIEFMTE9XRURfRkxB R1MrPSIgLWZib3VuZHMtY2hlY2tpbmcgLWZuby1zdHJpY3Qtb3ZlcmZsb3ciOwogICAgQUxMT1dF RF9GTEFHUys9IiAtZm5vLVBJRSAtZm5vLXBpZSAtZm5vLXVuaXQtYXQtYS10aW1lIjsKICAgIEFM TE9XRURfRkxBR1MrPSIgLWcgLWdbMC05XSAtZ2dkYiAtZ2dkYlswLTldIC1nc3RhYnMgLWdzdGFi cysiOwogICAgQUxMT1dFRF9GTEFHUys9IiAtZm5vLWlkZW50IC1mcGVybWlzc2l2ZSAtZnJlY29y ZC1nY2Mtc3dpdGNoZXMiOwogICAgQUxMT1dFRF9GTEFHUys9IiAtZmRpYWdub3N0aWNzKiI7CiAg ICBBTExPV0VEX0ZMQUdTKz0iIC1XKiAtdyI7CiAgICBBTExPV0VEX0ZMQUdTKz0iIC1mbm8tc3Rh Y2stcHJvdGVjdG9yIC1mbm8tc3RhY2stcHJvdGVjdG9yLWFsbCAJCS1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tYm91bmRzLWNoZWNraW5nIC1mc3RyaWN0LW92ZXJmbG93IAkJLWZuby1vbWl0LWZy YW1lLXBvaW50ZXIgLWZuby1idWlsdGluKiI7CiAgICBBTExPV0VEX0ZMQUdTKz0iIC1tcmVncGFy bSAtbW5vLWFwcC1yZWdzIC1tYXBwLXJlZ3MgLW1uby1tbXggLW1uby1zc2UgCQktbW5vLXNzZTIg LW1uby1zc2UzIC1tbm8tc3NzZTMgLW1uby1zc2U0IC1tbm8tc3NlNC4xIC1tbm8tc3NlNC4yIAkJ LW1uby1hdnggLW1uby1hZXMgLW1uby1wY2xtdWwgLW1uby1zc2U0YSAtbW5vLTNkbm93IC1tbm8t cG9wY250IAkJLW1uby1hYm0gLW1pcHMxIC1taXBzMiAtbWlwczMgLW1pcHM0IC1taXBzMzIgLW1p cHM2NCAtbWlwczE2IC1tcGx0IAkJLW1zb2Z0LWZsb2F0IC1tbm8tc29mdC1mbG9hdCAtbWhhcmQt ZmxvYXQgLW1uby1oYXJkLWZsb2F0IC1tZnB1IAkJLW1pZWVlIC1taWVlZS13aXRoLWluZXhhY3Qg LW1zY2hlZHVsZSAtbWZsb2F0LWdwcnMgLW1zcGUgLW1uby1zcGUgCQktbXRscy1kaXJlY3Qtc2Vn LXJlZnMgLW1uby10bHMtZGlyZWN0LXNlZy1yZWZzIC1tZmxhdCAtbW5vLWZsYXQgCQktbW5vLWZh c3Rlci1zdHJ1Y3RzIC1tZmFzdGVyLXN0cnVjdHMgLW0zMiAtbTY0IC1teDMyIC1tYWJpIAkJLW1s aXR0bGUtZW5kaWFuIC1tYmlnLWVuZGlhbiAtRUwgLUVCIC1mUElDIC1tbGl2ZS1nMCAtbWNtb2Rl bCAJCS1tc3RhY2stYmlhcyAtbW5vLXN0YWNrLWJpYXMgLW1zZWN1cmUtcGx0IC1tKi10b2MgLW1m bG9hdC1hYmkgCQktRCogLVUqIjsKICAgIEFMTE9XRURfRkxBR1MrPSIgLW1uby1mbWE0IC1tbm8t bW92YmUgLW1uby14b3AgLW1uby1sd3AiOwogICAgQUxMT1dFRF9GTEFHUys9IiAtbW5vLWZzZ3Ni YXNlIC1tbm8tcmRybmQgLW1uby1mMTZjIC1tbm8tYm1pIC1tbm8tdGJtIjsKICAgIEFMTE9XRURf RkxBR1MrPSIgLW1uby1hdngyIC1tbm8tYm1pMiAtbW5vLWZtYSAtbW5vLWx6Y250IjsKICAgIEFM TE9XRURfRkxBR1MrPSIgLW1uby1meHNyIC1tbm8tcnRtIC1tbm8teHNhdmUgLW1uby14c2F2ZW9w dCI7CiAgICBBTExPV0VEX0ZMQUdTKz0iIC1tbm8tYXZ4NTEyY2QgLW1uby1hdng1MTJlciAtbW5v LWF2eDUxMmYgLW1uby1hdng1MTJwZiAtbW5vLXNoYSI7CiAgICBBTExPV0VEX0ZMQUdTKz0iIC1J KiAtTCogLVIqIC1XbCwqIjsKICAgIGV4cG9ydCBBTExPV0VEX0ZMQUdTOwogICAgcmV0dXJuIDAK fQpzcmNfY29tcGlsZSAoKSAKeyAKICAgIGV4cG9ydCBWQVJURVhGT05UUz0iJHtUfS9mb250cyI7 CiAgICBsb2NhbCBteW9wdDsKICAgIHVzZSBkZWJ1ZyAmJiBteW9wdD0iJHtteW9wdH0gZGVidWc9 eSI7CiAgICB1c2UgY3VzdG9tLWNmbGFncyB8fCB1bnNldCBDRkxBR1M7CiAgICBpZiB0ZXN0LWZs YWctQ0MgLWZuby1zdHJpY3Qtb3ZlcmZsb3c7IHRoZW4KICAgICAgICBhcHBlbmQtZmxhZ3MgLWZu by1zdHJpY3Qtb3ZlcmZsb3c7CiAgICBmaTsKICAgIHVuc2V0IExERkxBR1M7CiAgICB1bnNldCBD RkxBR1M7CiAgICBlbWFrZSBWPTEgQ0M9IiQodGMtZ2V0Q0MpIiBMRD0iJCh0Yy1nZXRMRCkiIEFS PSIkKHRjLWdldEFSKSIgUkFOTElCPSIkKHRjLWdldFJBTkxJQikiIC1DIHRvb2xzICR7bXlvcHR9 OwogICAgdXNlIGRvYyAmJiBlbWFrZSAtQyBkb2NzIHR4dCBodG1sOwogICAgZW1ha2UgLUMgZG9j cyBtYW4tcGFnZXMKfQpzcmNfY29uZmlndXJlICgpIAp7IAogICAgbG9jYWwgbXljb25mPSItLXBy ZWZpeD0vdXNyIC0tZGlzYWJsZS13ZXJyb3IiOwogICAgaWYgdXNlIG9jYW1sOyB0aGVuCiAgICAg ICAgbXljb25mPSIke215Y29uZn0gJCh1c2VfZW5hYmxlIG9jYW1sIG9jYW1sdG9vbHMpIjsKICAg IGVsc2UKICAgICAgICBteWNvbmY9IiR7bXljb25mfSAtLWRpc2FibGUtb2NhbWx0b29scyI7CiAg ICBmaTsKICAgIGlmICEgdXNlIHBhbTsgdGhlbgogICAgICAgIG15Y29uZj0iJHtteWNvbmZ9IC0t ZGlzYWJsZS1wYW0iOwogICAgZmk7CiAgICBlY29uZiAke215Y29uZn0KfQpzcmNfaW5zdGFsbCAo KSAKeyAKICAgIGV4cG9ydCBJTklURF9ESVI9L3RtcC9pbml0LmQ7CiAgICBleHBvcnQgQ09ORklH X0xFQUZfRElSPS4uL3RtcC9kZWZhdWx0OwogICAgbG9jYWwgUFlUSE9ORE9OVFdSSVRFQllURUNP REU7CiAgICBleHBvcnQgUFlUSE9ORE9OVFdSSVRFQllURUNPREU7CiAgICBlbWFrZSBERVNURElS PSIke0VEfSIgRE9DRElSPSIvdXNyL3NoYXJlL2RvYy8ke1BGfSIgWEVOX1BZVEhPTl9OQVRJVkVf SU5TVEFMTD15IGluc3RhbGwtdG9vbHM7CiAgICBweXRob25fZml4X3NoZWJhbmcgIiR7RH0iOwog ICAgcm0gLXJmICIke0R9InRtcCB8fCBkaWU7CiAgICBzZWQgLWUgJ3M6XiNhdXRvYmFsbG9vbj0x OmF1dG9iYWxsb29uPTE6JyAtZSAnczpeI2xvY2tmaWxlPSIvdmFyL2xvY2sveGwiOmxvY2tmaWxl PSIvdmFyL2xvY2sveGwiOicgLWUgJ3M6XiN2aWZzY3JpcHQ9InZpZi1icmlkZ2UiOnZpZnNjcmlw dD0idmlmLWJyaWRnZSI6JyAtaSB0b29scy9leGFtcGxlcy94bC5jb25mIHx8IGRpZTsKICAgIG12 ICIke0R9ImJhc2gtY29tcGxldGlvbiAiJHtEfSJ1c3Ivc2hhcmUvIHx8IGRpZTsKICAgIGlmIHVz ZSBkb2M7IHRoZW4KICAgICAgICBlbWFrZSBERVNURElSPSIke0R9IiBET0NESVI9Ii91c3Ivc2hh cmUvZG9jLyR7UEZ9IiBpbnN0YWxsLWRvY3M7CiAgICAgICAgZG9odG1sIC1yIGRvY3MvOwogICAg ICAgIGRvY2ludG8gcGRmOwogICAgICAgIGRvZG9jICR7RE9DU1tAXX07CiAgICAgICAgWyAtZCAi JHtEfSIvdXNyL3NoYXJlL2RvYy94ZW4gXSAmJiBtdiAiJHtEfSIvdXNyL3NoYXJlL2RvYy94ZW4v KiAiJHtEfSIvdXNyL3NoYXJlL2RvYy8ke1BGfS9odG1sOwogICAgZmk7CiAgICBybSAtcmYgIiR7 RH0iL3Vzci9zaGFyZS9kb2MveGVuLzsKICAgIGRvbWFuIGRvY3MvbWFuPy8qOwogICAgaWYgdXNl IHhlbmQ7IHRoZW4KICAgICAgICBuZXdpbml0ZCAiJHtGSUxFU0RJUn0iL3hlbmQuaW5pdGQtcjIg eGVuZCB8fCBkaWUgIkNvdWxkbid0IGluc3RhbGwgeGVuLmluaXRkIjsKICAgIGZpOwogICAgbmV3 Y29uZmQgIiR7RklMRVNESVJ9Ii94ZW5kb21haW5zLmNvbmZkIHhlbmRvbWFpbnM7CiAgICBuZXdj b25mZCAiJHtGSUxFU0RJUn0iL3hlbnN0b3JlZC5jb25mZCB4ZW5zdG9yZWQ7CiAgICBuZXdjb25m ZCAiJHtGSUxFU0RJUn0iL3hlbmNvbnNvbGVkLmNvbmZkIHhlbmNvbnNvbGVkOwogICAgbmV3aW5p dGQgIiR7RklMRVNESVJ9Ii94ZW5kb21haW5zLmluaXRkLXIyIHhlbmRvbWFpbnM7CiAgICBuZXdp bml0ZCAiJHtGSUxFU0RJUn0iL3hlbnN0b3JlZC5pbml0ZCB4ZW5zdG9yZWQ7CiAgICBuZXdpbml0 ZCAiJHtGSUxFU0RJUn0iL3hlbmNvbnNvbGVkLmluaXRkIHhlbmNvbnNvbGVkOwogICAgbmV3aW5p dGQgIiR7RklMRVNESVJ9Ii94ZW5jb21tb25zLmluaXRkIHhlbmNvbW1vbnM7CiAgICBuZXdjb25m ZCAiJHtGSUxFU0RJUn0iL3hlbmNvbW1vbnMuY29uZmQgeGVuY29tbW9uczsKICAgIG5ld2luaXRk ICIke0ZJTEVTRElSfSIveGVucWVtdWRldi5pbml0ZCB4ZW5xZW11ZGV2OwogICAgbmV3Y29uZmQg IiR7RklMRVNESVJ9Ii94ZW5xZW11ZGV2LmNvbmZkIHhlbnFlbXVkZXY7CiAgICBpZiB1c2Ugc2Ny ZWVuOyB0aGVuCiAgICAgICAgY2F0ICIke0ZJTEVTRElSfSIveGVuZG9tYWlucy1zY3JlZW4uY29u ZmQgPj4gIiR7RH0iL2V0Yy9jb25mLmQveGVuZG9tYWlucyB8fCBkaWU7CiAgICAgICAgY3AgIiR7 RklMRVNESVJ9Ii94ZW4tY29uc29sZXMubG9ncm90YXRlICIke0R9Ii9ldGMveGVuLyB8fCBkaWU7 CiAgICAgICAga2VlcGRpciAvdmFyL2xvZy94ZW4tY29uc29sZXM7CiAgICBmaTsKICAgIGlmIFtb ICIke0FSQ0h9IiA9PSAnYW1kNjQnIF1dICYmIHVzZSBxZW11OyB0aGVuCiAgICAgICAgbWtkaXIg LXAgIiR7RH0idXNyLyQoZ2V0X2xpYmRpcikveGVuL2JpbiB8fCBkaWU7CiAgICAgICAgbXYgIiR7 RH0idXNyL2xpYi94ZW4vYmluLyogIiR7RH0idXNyLyQoZ2V0X2xpYmRpcikveGVuL2Jpbi8gfHwg ZGllOwogICAgZmk7CiAgICBpZiAhIHVzZSBzdGF0aWMtbGliczsgdGhlbgogICAgICAgIHJtIC1m ICIke0R9InVzci8kKGdldF9saWJkaXIpLyouYSAiJHtEfSJ1c3IvJChnZXRfbGliZGlyKS9vY2Ft bC8qLyouYTsKICAgIGZpOwogICAga2VlcGRpciAvdmFyL2xpYi94ZW5zdG9yZWQgL3Zhci94ZW4v ZHVtcCAvdmFyL2xpYi94ZW4gL3Zhci9sb2cveGVuOwogICAga2VlcGRpciAvZXRjL3hlbi9hdXRv OwogICAgZG9kaXIgIiQodWRldl9nZXRfdWRldmRpcikiOwogICAgbXYgIiR7RH0iL2V0Yy91ZGV2 LyogIiR7RH0vJCh1ZGV2X2dldF91ZGV2ZGlyKSI7CiAgICBybSAtcmYgIiR7RH0iL2V0Yy91ZGV2 OwogICAgZmluZCAiJHtEfSIgXCggLW5hbWUgb3BlbmJpb3Mtc3BhcmMzMiAtbyAtbmFtZSBvcGVu Ymlvcy1zcGFyYzY0IC1vIC1uYW1lIG9wZW5iaW9zLXBwYyAtbyAtbmFtZSBwYWxjb2RlLWNsaXBw ZXIgXCkgLWRlbGV0ZSB8fCBkaWUKfQpzcmNfcHJlcGFyZSAoKSAKeyAKICAgIGVwYXRjaCAiJHtG SUxFU0RJUn0iLyR7UE4vLXRvb2xzL30tNC4zLWZpeF9kb3Rjb25maWctZ2NjLnBhdGNoOwogICAg aWYgISB1c2UgeGVuZDsgdGhlbgogICAgICAgIHNlZCAtZSAnczp4bSB4ZW4tYnVndG9vbCB4ZW4t cHl0aG9uLXBhdGggeGVuZDp4ZW4tYnVndG9vbCB4ZW4tcHl0aG9uLXBhdGg6JyAtaSB0b29scy9t aXNjL01ha2VmaWxlIHx8IGRpZSAiRGlzYWJsaW5nIHhlbmQgZmFpbGVkIjsKICAgICAgICBzZWQg LWUgJ3M6XlhFTkRfSU5JVEQ6I1hFTkRfSU5JVEQ6JyAtaSB0b29scy9leGFtcGxlcy9NYWtlZmls ZSB8fCBkaWUgIkRpc2FibGluZyB4ZW5kIGZhaWxlZCI7CiAgICBmaTsKICAgIGlmIHVzZSBjdXN0 b20tY2ZsYWdzOyB0aGVuCiAgICAgICAgZWluZm8gIlVzZXIgd2FudHMgdGhlaXIgb3duIENGTEFH UyAtIHJlbW92aW5nIGRlZmF1bHRzIjsKICAgICAgICBmaW5kICIke1N9IiBcKCAtbmFtZSBNYWtl ZmlsZSAtbyAtbmFtZSBSdWxlcy5tayAtbyAtbmFtZSBDb25maWcubWsgXCkgLWV4ZWMgc2VkIC1l ICdzL0NGTEFHU1woLipcKT1cKC4qXCktTzNcKC4qXCkvQ0ZMQUdTXDE9XDJcMy8nIC1lICdzL0NG TEFHU1woLipcKT1cKC4qXCktbWFyY2g9aTY4NlwoLipcKS9DRkxBR1NcMT1cMlwzLycgLWUgJ3Mv Q0ZMQUdTXCguKlwpPVwoLipcKS1mb21pdC1mcmFtZS1wb2ludGVyXCguKlwpL0NGTEFHU1wxPVwy XDMvJyAtZSAncy9DRkxBR1NcKC4qXCk9XCguKlwpLWczKlxzXCguKlwpL0NGTEFHU1wxPVwyIFwz LycgLWUgJ3MvQ0ZMQUdTXCguKlwpPVwoLipcKS1PMlwoLipcKS9DRkxBR1NcMT1cMlwzLycgLWkg e30gKyB8fCBkaWUgImZhaWxlZCB0byByZS1zZXQgY3VzdG9tLWNmbGFncyI7CiAgICBmaTsKICAg IGlmICEgdXNlIHB5Z3J1YjsgdGhlbgogICAgICAgIHNlZCAtZSAnL15TVUJESVJTLXkgKz0gcHln cnViL2QnIC1pIHRvb2xzL01ha2VmaWxlIHx8IGRpZTsKICAgIGZpOwogICAgaWYgISB1c2UgcHl0 aG9uOyB0aGVuCiAgICAgICAgc2VkIC1lICcvXlNVQkRJUlMteSArPSBweXRob24kL2QnIC1pIHRv b2xzL01ha2VmaWxlIHx8IGRpZTsKICAgIGZpOwogICAgaWYgISB1c2UgaHZtOyB0aGVuCiAgICAg ICAgc2VkIC1lICcvXkNPTkZJR19JT0VNVSA6PSB5JC9kJyAtaSBjb25maWcvKi5tayB8fCBkaWU7 CiAgICAgICAgc2VkIC1lICcvU1VCRElSUy0kKENPTkZJR19YODYpICs9IGZpcm13YXJlL2QnIC1p IHRvb2xzL01ha2VmaWxlIHx8IGRpZTsKICAgIGZpOwogICAgaWYgISB1c2UgcWVtdTsgdGhlbgog ICAgICAgIHNlZCAtZSAiL15DT05GSUdfSU9FTVUgOj0geSQvZCIgLWkgY29uZmlnLyoubWsgfHwg ZGllOwogICAgICAgIHNlZCAtZSAiczppbnN0YWxsLXRvb2xzXDogdG9vbHMvaW9lbXUtZGlyOmlu c3RhbGwtdG9vbHNcOiA6ZyIgLWkgTWFrZWZpbGUgfHwgZGllOwogICAgZmk7CiAgICBlcGF0Y2gg IiR7RklMRVNESVJ9Ii8ke1BOfS00LWRvY2ZpeC5wYXRjaCAiJHtGSUxFU0RJUn0iLyR7UE59LTQt cWVtdS14ZW4tZG9jLnBhdGNoOwogICAgZXBhdGNoICIke0ZJTEVTRElSfS8ke1BOfS0zLjQuMC1u ZXR3b3JrLWJyaWRnZS1icm9hZGNhc3QucGF0Y2giOwogICAgZXBhdGNoICIke0ZJTEVTRElSfSIv JHtQTi8tdG9vbHMvfS00LjMtYW50aS1kb3dubG9hZC5wYXRjaDsKICAgIGNwICIke0RJU1RESVJ9 Ii9pcHhlLnRhci5neiB0b29scy9maXJtd2FyZS9ldGhlcmJvb3QvIHx8IGRpZTsKICAgIG12IC4u L3NlYWJpb3MtZGlyLXJlbW90ZSB0b29scy9maXJtd2FyZS8gfHwgZGllOwogICAgcHVzaGQgdG9v bHMvZmlybXdhcmUvID4gL2Rldi9udWxsOwogICAgbG4gLXMgc2VhYmlvcy1kaXItcmVtb3RlIHNl YWJpb3MtZGlyIHx8IGRpZTsKICAgIHBvcGQgPiAvZGV2L251bGw7CiAgICBlcGF0Y2ggIiR7RklM RVNESVJ9LyR7UE59LTQuMS4xLWJyaWRnZS5wYXRjaCI7CiAgICBpZiBnY2Mtc3BlY3MtcGllOyB0 aGVuCiAgICAgICAgZXBhdGNoICIke0ZJTEVTRElSfSIvaXB4ZS1ub3BpZS5wYXRjaDsKICAgIGZp OwogICAgZXBhdGNoICIke0ZJTEVTRElSfSIvJHtQTi8tdG9vbHMvfS00LjIuMC1ub3N0cmlwLnBh dGNoOwogICAgZXBhdGNoICIke0ZJTEVTRElSfSIvJHtQTi8tdG9vbHMvfS00LjMtanNlcnZlci5w YXRjaDsKICAgIGVwYXRjaCAiJHtGSUxFU0RJUn0iL3hlbi00LXVsb25nLnBhdGNoOwogICAgZXBh dGNoICIke0ZJTEVTRElSfSIvJHtQTi8tdG9vbHMvfS00LjItY29uZmlnc3hwLnBhdGNoOwogICAg W1sgLW4gJHtYU0FfUEFUQ0hFU1tAXX0gXV0gJiYgZXBhdGNoICIke1hTQV9QQVRDSEVTW0BdfSI7 CiAgICBzZWQgLWUgJ3M6XkJBU0hfQ09NUExFVElPTl9ESVIgPz0gJChDT05GSUdfRElSKS9iYXNo X2NvbXBsZXRpb24uZDpCQVNIX0NPTVBMRVRJT05fRElSID89ICQoU0hBUkVfRElSKS9iYXNoLWNv bXBsZXRpb246JyAtaSBDb25maWcubWsgfHwgZGllOwogICAgZXBhdGNoICIke0ZJTEVTRElSfSIv JHtQTn0tNC4zLWFyLWNjLnBhdGNoOwogICAgaWYgdXNlIHFlbXU7IHRoZW4KICAgICAgICBlcGF0 Y2ggIiR7RklMRVNESVJ9Ii9xZW11LWJyaWRnZS5wYXRjaDsKICAgICAgICBtdiB0b29scy9xZW11 LXhlbi9xZW11LWJyaWRnZS1oZWxwZXIuYyB0b29scy9xZW11LXhlbi94ZW4tYnJpZGdlLWhlbHBl ci5jIHx8IGRpZTsKICAgIGZpOwogICAgdXNlIGZsYXNrIHx8IHNlZCAtZSAiL1NVQkRJUlMteSAr PSBmbGFzay9kIiAtaSB0b29scy9NYWtlZmlsZSB8fCBkaWU7CiAgICB1c2UgYXBpIHx8IHNlZCAt ZSAiL1NVQkRJUlMtXCQoTElCWEVOQVBJX0JJTkRJTkdTKSArPSBsaWJ4ZW4vZCIgLWkgdG9vbHMv TWFrZWZpbGUgfHwgZGllOwogICAgc2VkIC1lICdzOiQoTUFLRSkgUFlUSE9OPSQoUFlUSE9OKSBz dWJkaXJzLSRAOkxDX0FMTD1DICIkKE1BS0UpIiBQWVRIT049JChQWVRIT04pIHN1YmRpcnMtJEA6 JyAtaSB0b29scy9maXJtd2FyZS9NYWtlZmlsZSB8fCBkaWU7CiAgICBlcGF0Y2ggIiR7RklMRVNE SVJ9Ii9maXgtZ29sZC1sZC5wYXRjaDsKICAgIHNlZCAtZSAnczpcJFFFTVVfWEVOIC14ZW4tZG9t aWQ6dGVzdCAtZSAiXCRRRU1VX1hFTiIgXCZcJiAmOicgLWkgdG9vbHMvaG90cGx1Zy9MaW51eC9p bml0LmQveGVuY29tbW9ucyB8fCBkaWU7CiAgICBzZWQgLWUgJ3M6YmwtPmFyZ3NzcGFjZSA9IDcg KyA6YmwtPmFyZ3NzcGFjZSA9IDkgKyA6JyAtaSB0b29scy9saWJ4bC9saWJ4bF9ib290bG9hZGVy LmMgfHwgZGllOwogICAgc2VkIC1pIC1lICIvXCQoSU5TVEFMTF9ESVIpIFwkKERFU1RESVIpXCQo WEVOX1JVTl9ESVIpL2QiIHRvb2xzL2xpYnhsL01ha2VmaWxlIHx8IGRpZTsKICAgIHNlZCAtaSAt ZSAiL1wvdmFyXC9ydW5cLy9kIiB0b29scy94ZW5zdG9yZS9NYWtlZmlsZSB0b29scy9weWdydWIv TWFrZWZpbGUgfHwgZGllOwogICAgc2VkIC1pIC1lICIvXC92YXJcL2xvY2tcL3N1YnN5cy9kIiB0 b29scy9NYWtlZmlsZSB8fCBkaWU7CiAgICBlcGF0Y2hfdXNlcgp9CnNyY190ZXN0ICgpIAp7IAog ICAgX19lYXBpMF9zcmNfdGVzdCAiJEAiCn0Kc3JjX3VucGFjayAoKSAKeyAKICAgIF9fZWFwaTBf c3JjX3VucGFjayAiJEAiCn0Kc3RyaXAtZmxhZ3MgKCkgCnsgCiAgICBsb2NhbCB4IHkgdmFyOwog ICAgc2V0dXAtYWxsb3dlZC1mbGFnczsKICAgIHNldCAtZjsKICAgIGZvciB2YXIgaW4gJChhbGwt ZmxhZy12YXJzKTsKICAgIGRvCiAgICAgICAgbG9jYWwgbmV3PSgpOwogICAgICAgIGZvciB4IGlu ICR7IXZhcn07CiAgICAgICAgZG8KICAgICAgICAgICAgbG9jYWwgZmxhZz0ke3glJT0qfTsKICAg ICAgICAgICAgZm9yIHkgaW4gJHtBTExPV0VEX0ZMQUdTfTsKICAgICAgICAgICAgZG8KICAgICAg ICAgICAgICAgIGlmIFtbIC16ICR7ZmxhZyUlJHt5fX0gXV07IHRoZW4KICAgICAgICAgICAgICAg ICAgICBuZXcrPSgiJHt4fSIpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg ICAgICAgZmk7CiAgICAgICAgICAgIGRvbmU7CiAgICAgICAgZG9uZTsKICAgICAgICBpZiBfaXNf ZmxhZ3EgJHt2YXJ9ICItTyoiICYmICEgX2lzX2ZsYWdxIG5ldyAiLU8qIjsgdGhlbgogICAgICAg ICAgICBuZXcrPSgtTzIpOwogICAgICAgIGZpOwogICAgICAgIGlmIFtbICR7IXZhcn0gIT0gIiR7 bmV3WypdfSIgXV07IHRoZW4KICAgICAgICAgICAgZWluZm8gInN0cmlwLWZsYWdzOiAke3Zhcn06 IGNoYW5nZWQgJyR7IXZhcn0nIHRvICcke25ld1sqXX0nIjsKICAgICAgICBmaTsKICAgICAgICBl dmFsIGV4cG9ydCAke3Zhcn09XCIiJHtuZXdbKl19IlwiOwogICAgZG9uZTsKICAgIHNldCArZjsK ICAgIHJldHVybiAwCn0Kc3RyaXAtbGluZ3VhcyAoKSAKeyAKICAgIGxvY2FsIGxzIG5ld2xzIG5v bHM7CiAgICBpZiBbWyAkMSA9PSAiLWkiIF1dIHx8IFtbICQxID09ICItdSIgXV07IHRoZW4KICAg ICAgICBsb2NhbCBvcD0kMTsKICAgICAgICBzaGlmdDsKICAgICAgICBscz0kKGZpbmQgIiQxIiAt bmFtZSAnKi5wbycgLWV4ZWMgYmFzZW5hbWUge30gLnBvICc7Jyk7CiAgICAgICAgc2hpZnQ7CiAg ICAgICAgbG9jYWwgZCBmOwogICAgICAgIGZvciBkIGluICIkQCI7CiAgICAgICAgZG8KICAgICAg ICAgICAgaWYgW1sgJHtvcH0gPT0gIi11IiBdXTsgdGhlbgogICAgICAgICAgICAgICAgbmV3bHM9 JHtsc307CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIG5ld2xzPSIiOwogICAgICAg ICAgICBmaTsKICAgICAgICAgICAgZm9yIGYgaW4gJChmaW5kICIkZCIgLW5hbWUgJyoucG8nIC1l eGVjIGJhc2VuYW1lIHt9IC5wbyAnOycpOwogICAgICAgICAgICBkbwogICAgICAgICAgICAgICAg aWYgW1sgJHtvcH0gPT0gIi1pIiBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIGhhcyAke2Z9 ICR7bHN9ICYmIG5ld2xzPSIke25ld2xzfSAke2Z9IjsKICAgICAgICAgICAgICAgIGVsc2UKICAg ICAgICAgICAgICAgICAgICBoYXMgJHtmfSAke2xzfSB8fCBuZXdscz0iJHtuZXdsc30gJHtmfSI7 CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZG9uZTsKICAgICAgICAgICAgbHM9JHtu ZXdsc307CiAgICAgICAgZG9uZTsKICAgIGVsc2UKICAgICAgICBscz0iJEAiOwogICAgZmk7CiAg ICBub2xzPSIiOwogICAgbmV3bHM9IiI7CiAgICBmb3IgZiBpbiAke0xJTkdVQVN9OwogICAgZG8K ICAgICAgICBpZiBoYXMgJHtmfSAke2xzfTsgdGhlbgogICAgICAgICAgICBuZXdscz0iJHtuZXds c30gJHtmfSI7CiAgICAgICAgZWxzZQogICAgICAgICAgICBub2xzPSIke25vbHN9ICR7Zn0iOwog ICAgICAgIGZpOwogICAgZG9uZTsKICAgIFtbIC1uICR7bm9sc30gXV0gJiYgZWluZm8gIlNvcnJ5 LCBidXQgJHtQTn0gZG9lcyBub3Qgc3VwcG9ydCB0aGUgTElOR1VBUzoiICR7bm9sc307CiAgICBl eHBvcnQgTElOR1VBUz0ke25ld2xzOjF9Cn0Kc3RyaXAtdW5zdXBwb3J0ZWQtZmxhZ3MgKCkgCnsg CiAgICBleHBvcnQgQ0ZMQUdTPSQodGVzdC1mbGFncy1DQyAke0NGTEFHU30pOwogICAgZXhwb3J0 IENYWEZMQUdTPSQodGVzdC1mbGFncy1DWFggJHtDWFhGTEFHU30pOwogICAgZXhwb3J0IEZGTEFH Uz0kKHRlc3QtZmxhZ3MtRjc3ICR7RkZMQUdTfSk7CiAgICBleHBvcnQgRkNGTEFHUz0kKHRlc3Qt ZmxhZ3MtRkMgJHtGQ0ZMQUdTfSkKfQp0Yy1hcmNoICgpIAp7IAogICAgdGMtbmluamFfbWFnaWNf dG9fYXJjaCBwb3J0YWdlICIkQCIKfQp0Yy1hcmNoLWtlcm5lbCAoKSAKeyAKICAgIHRjLW5pbmph X21hZ2ljX3RvX2FyY2gga2VybiAiJEAiCn0KdGMtZW5kaWFuICgpIAp7IAogICAgbG9jYWwgaG9z dD0kMTsKICAgIFtbIC16ICR7aG9zdH0gXV0gJiYgaG9zdD0ke0NUQVJHRVQ6LSR7Q0hPU1R9fTsK ICAgIGhvc3Q9JHtob3N0JSUtKn07CiAgICBjYXNlICR7aG9zdH0gaW4gCiAgICAgICAgYWFyY2g2 NCpiZSkKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAgICAgIGFhcmNoNjQpCiAg ICAgICAgICAgIGVjaG8gbGl0dGxlCiAgICAgICAgOzsKICAgICAgICBhbHBoYSopCiAgICAgICAg ICAgIGVjaG8gYmlnCiAgICAgICAgOzsKICAgICAgICBhcm0qYiopCiAgICAgICAgICAgIGVjaG8g YmlnCiAgICAgICAgOzsKICAgICAgICBhcm0qKQogICAgICAgICAgICBlY2hvIGxpdHRsZQogICAg ICAgIDs7CiAgICAgICAgY3JpcyopCiAgICAgICAgICAgIGVjaG8gbGl0dGxlCiAgICAgICAgOzsK ICAgICAgICBocHBhKikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAgICAgIGk/ ODYqKQogICAgICAgICAgICBlY2hvIGxpdHRsZQogICAgICAgIDs7CiAgICAgICAgaWE2NCopCiAg ICAgICAgICAgIGVjaG8gbGl0dGxlCiAgICAgICAgOzsKICAgICAgICBtNjgqKQogICAgICAgICAg ICBlY2hvIGJpZwogICAgICAgIDs7CiAgICAgICAgbWlwcypsKikKICAgICAgICAgICAgZWNobyBs aXR0bGUKICAgICAgICA7OwogICAgICAgIG1pcHMqKQogICAgICAgICAgICBlY2hvIGJpZwogICAg ICAgIDs7CiAgICAgICAgcG93ZXJwYypsZSkKICAgICAgICAgICAgZWNobyBsaXR0bGUKICAgICAg ICA7OwogICAgICAgIHBvd2VycGMqKQogICAgICAgICAgICBlY2hvIGJpZwogICAgICAgIDs7CiAg ICAgICAgczM5MCopCiAgICAgICAgICAgIGVjaG8gYmlnCiAgICAgICAgOzsKICAgICAgICBzaCpi KikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAgICAgIHNoKikKICAgICAgICAg ICAgZWNobyBsaXR0bGUKICAgICAgICA7OwogICAgICAgIHNwYXJjKikKICAgICAgICAgICAgZWNo byBiaWcKICAgICAgICA7OwogICAgICAgIHg4Nl82NCopCiAgICAgICAgICAgIGVjaG8gbGl0dGxl CiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBlY2hvIHd0ZgogICAgICAgIDs7CiAg ICBlc2FjCn0KdGMtZW52X2J1aWxkICgpIAp7IAogICAgdGMtZXhwb3J0X2J1aWxkX2VudjsKICAg IENGTEFHUz0ke0JVSUxEX0NGTEFHU30gQ1hYRkxBR1M9JHtCVUlMRF9DWFhGTEFHU30gQ1BQRkxB R1M9JHtCVUlMRF9DUFBGTEFHU30gTERGTEFHUz0ke0JVSUxEX0xERkxBR1N9IEFSPSQodGMtZ2V0 QlVJTERfQVIpIEFTPSQodGMtZ2V0QlVJTERfQVMpIENDPSQodGMtZ2V0QlVJTERfQ0MpIENQUD0k KHRjLWdldEJVSUxEX0NQUCkgQ1hYPSQodGMtZ2V0QlVJTERfQ1hYKSBMRD0kKHRjLWdldEJVSUxE X0xEKSBOTT0kKHRjLWdldEJVSUxEX05NKSBQS0dfQ09ORklHPSQodGMtZ2V0QlVJTERfUEtHX0NP TkZJRykgUkFOTElCPSQodGMtZ2V0QlVJTERfUkFOTElCKSAiJEAiCn0KdGMtZXhwb3J0ICgpIAp7 IAogICAgbG9jYWwgdmFyOwogICAgZm9yIHZhciBpbiAiJEAiOwogICAgZG8KICAgICAgICBbWyAk KHR5cGUgLXQgdGMtZ2V0JHt2YXJ9KSAhPSAiZnVuY3Rpb24iIF1dICYmIGRpZSAidGMtZXhwb3J0 OiBpbnZhbGlkIGV4cG9ydCB2YXJpYWJsZSAnJHt2YXJ9JyI7CiAgICAgICAgZXZhbCB0Yy1nZXQk e3Zhcn0gPiAvZGV2L251bGw7CiAgICBkb25lCn0KdGMtZXhwb3J0X2J1aWxkX2VudiAoKSAKeyAK ICAgIHRjLWV4cG9ydCAiJEAiOwogICAgOiAke0JVSUxEX0NGTEFHUzo9LU8xIC1waXBlfTsKICAg IDogJHtCVUlMRF9DWFhGTEFHUzo9LU8xIC1waXBlfTsKICAgIDogJHtCVUlMRF9DUFBGTEFHUzo9 fTsKICAgIDogJHtCVUlMRF9MREZMQUdTOj19OwogICAgZXhwb3J0IEJVSUxEX3tDLENYWCxDUFAs TER9RkxBR1M7CiAgICBsb2NhbCB2OwogICAgZm9yIHYgaW4gQlVJTERfe0MsQ1hYLENQUCxMRH1G TEFHUzsKICAgIGRvCiAgICAgICAgZXhwb3J0ICR7diNCVUlMRF99X0ZPUl9CVUlMRD0iJHshdn0i OwogICAgZG9uZQp9CnRjLWdldEFSICgpIAp7IAogICAgdGMtZ2V0UFJPRyBBUiBhciAiJEAiCn0K dGMtZ2V0QVMgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIEFTIGFzICIkQCIKfQp0Yy1nZXRCVUlMRF9B UiAoKSAKeyAKICAgIHRjLWdldEJVSUxEX1BST0cgQVIgYXIgIiRAIgp9CnRjLWdldEJVSUxEX0FT ICgpIAp7IAogICAgdGMtZ2V0QlVJTERfUFJPRyBBUyBhcyAiJEAiCn0KdGMtZ2V0QlVJTERfQ0Mg KCkgCnsgCiAgICB0Yy1nZXRCVUlMRF9QUk9HIENDIGdjYyAiJEAiCn0KdGMtZ2V0QlVJTERfQ1BQ ICgpIAp7IAogICAgdGMtZ2V0QlVJTERfUFJPRyBDUFAgY3BwICIkQCIKfQp0Yy1nZXRCVUlMRF9D WFggKCkgCnsgCiAgICB0Yy1nZXRCVUlMRF9QUk9HIENYWCBnKysgIiRAIgp9CnRjLWdldEJVSUxE X0xEICgpIAp7IAogICAgdGMtZ2V0QlVJTERfUFJPRyBMRCBsZCAiJEAiCn0KdGMtZ2V0QlVJTERf Tk0gKCkgCnsgCiAgICB0Yy1nZXRCVUlMRF9QUk9HIE5NIG5tICIkQCIKfQp0Yy1nZXRCVUlMRF9P QkpDT1BZICgpIAp7IAogICAgdGMtZ2V0QlVJTERfUFJPRyBPQkpDT1BZIG9iamNvcHkgIiRAIgp9 CnRjLWdldEJVSUxEX1BLR19DT05GSUcgKCkgCnsgCiAgICB0Yy1nZXRCVUlMRF9QUk9HIFBLR19D T05GSUcgcGtnLWNvbmZpZyAiJEAiCn0KdGMtZ2V0QlVJTERfUFJPRyAoKSAKeyAKICAgIF90Yy1n ZXRQUk9HIENCVUlMRCAiQlVJTERfJDEgJDFfRk9SX0JVSUxEIEhPU1QkMSIgIiR7QDoyfSIKfQp0 Yy1nZXRCVUlMRF9SQU5MSUIgKCkgCnsgCiAgICB0Yy1nZXRCVUlMRF9QUk9HIFJBTkxJQiByYW5s aWIgIiRAIgp9CnRjLWdldEJVSUxEX1NUUklQICgpIAp7IAogICAgdGMtZ2V0QlVJTERfUFJPRyBT VFJJUCBzdHJpcCAiJEAiCn0KdGMtZ2V0Q0MgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIENDIGdjYyAi JEAiCn0KdGMtZ2V0Q1BQICgpIAp7IAogICAgdGMtZ2V0UFJPRyBDUFAgY3BwICIkQCIKfQp0Yy1n ZXRDWFggKCkgCnsgCiAgICB0Yy1nZXRQUk9HIENYWCBnKysgIiRAIgp9CnRjLWdldERMTFdSQVAg KCkgCnsgCiAgICB0Yy1nZXRQUk9HIERMTFdSQVAgZGxsd3JhcCAiJEAiCn0KdGMtZ2V0Rjc3ICgp IAp7IAogICAgdGMtZ2V0UFJPRyBGNzcgZ2ZvcnRyYW4gIiRAIgp9CnRjLWdldEZDICgpIAp7IAog ICAgdGMtZ2V0UFJPRyBGQyBnZm9ydHJhbiAiJEAiCn0KdGMtZ2V0R0NKICgpIAp7IAogICAgdGMt Z2V0UFJPRyBHQ0ogZ2NqICIkQCIKfQp0Yy1nZXRMRCAoKSAKeyAKICAgIHRjLWdldFBST0cgTEQg bGQgIiRAIgp9CnRjLWdldE5NICgpIAp7IAogICAgdGMtZ2V0UFJPRyBOTSBubSAiJEAiCn0KdGMt Z2V0T0JKQ09QWSAoKSAKeyAKICAgIHRjLWdldFBST0cgT0JKQ09QWSBvYmpjb3B5ICIkQCIKfQp0 Yy1nZXRQS0dfQ09ORklHICgpIAp7IAogICAgdGMtZ2V0UFJPRyBQS0dfQ09ORklHIHBrZy1jb25m aWcgIiRAIgp9CnRjLWdldFBST0cgKCkgCnsgCiAgICBfdGMtZ2V0UFJPRyBDSE9TVCAiJEAiCn0K dGMtZ2V0UkFOTElCICgpIAp7IAogICAgdGMtZ2V0UFJPRyBSQU5MSUIgcmFubGliICIkQCIKfQp0 Yy1nZXRSQyAoKSAKeyAKICAgIHRjLWdldFBST0cgUkMgd2luZHJlcyAiJEAiCn0KdGMtZ2V0U1RS SVAgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIFNUUklQIHN0cmlwICIkQCIKfQp0Yy1oYXMtb3Blbm1w ICgpIAp7IAogICAgbG9jYWwgYmFzZT0iJHtUfS90ZXN0LXRjLW9wZW5tcCI7CiAgICBjYXQgPiAi JHtiYXNlfS5jIiAgPDwtRU9GCiNpbmNsdWRlIDxvbXAuaD4KaW50IG1haW4oKSB7CmludCBudGhy ZWFkcywgdGlkLCByZXQgPSAwOwojcHJhZ21hIG9tcCBwYXJhbGxlbCBwcml2YXRlKG50aHJlYWRz LCB0aWQpCnsKdGlkID0gb21wX2dldF90aHJlYWRfbnVtKCk7Cm50aHJlYWRzID0gb21wX2dldF9u dW1fdGhyZWFkcygpOyByZXQgKz0gdGlkICsgbnRocmVhZHM7Cn0KcmV0dXJuIHJldDsKfQpFT0YK CiAgICAkKHRjLWdldENDICIkQCIpIC1mb3Blbm1wICIke2Jhc2V9LmMiIC1vICIke2Jhc2V9IiAm Pi9kZXYvbnVsbDsKICAgIGxvY2FsIHJldD0kPzsKICAgIHJtIC1mICIke2Jhc2V9Iio7CiAgICBy ZXR1cm4gJHtyZXR9Cn0KdGMtaGFzLXRscyAoKSAKeyAKICAgIGxvY2FsIGJhc2U9IiR7VH0vdGVz dC10Yy10bHMiOwogICAgY2F0ID4gIiR7YmFzZX0uYyIgIDw8LUVPRgppbnQgZm9vKGludCAqaSkg ewpzdGF0aWMgX190aHJlYWQgaW50IGogPSAwOwpyZXR1cm4gKmkgPyBqIDogKmk7Cn0KRU9GCgog ICAgbG9jYWwgZmxhZ3M7CiAgICBjYXNlICQxIGluIAogICAgICAgIC1zKQogICAgICAgICAgICBm bGFncz0iLVMiCiAgICAgICAgOzsKICAgICAgICAtYykKICAgICAgICAgICAgZmxhZ3M9Ii1jIgog ICAgICAgIDs7CiAgICAgICAgLWwpCgogICAgICAgIDs7CiAgICAgICAgLSopCiAgICAgICAgICAg IGRpZSAiVXNhZ2U6IHRjLWhhcy10bHMgWy1jfC1sXSBbdG9vbGNoYWluIHByZWZpeF0iCiAgICAg ICAgOzsKICAgIGVzYWM7CiAgICA6ICR7ZmxhZ3M6PS1mUElDIC1zaGFyZWQgLVdsLC16LGRlZnN9 OwogICAgW1sgJDEgPT0gLSogXV0gJiYgc2hpZnQ7CiAgICAkKHRjLWdldENDICIkQCIpICR7Zmxh Z3N9ICIke2Jhc2V9LmMiIC1vICIke2Jhc2V9IiAmPi9kZXYvbnVsbDsKICAgIGxvY2FsIHJldD0k PzsKICAgIHJtIC1mICIke2Jhc2V9Iio7CiAgICByZXR1cm4gJHtyZXR9Cn0KdGMtaXMtY3Jvc3Mt Y29tcGlsZXIgKCkgCnsgCiAgICByZXR1cm4gJChbWyAke0NCVUlMRDotJHtDSE9TVH19ICE9ICR7 Q0hPU1R9IF1dKQp9CnRjLWlzLXNvZnRmbG9hdCAoKSAKeyAKICAgIGxvY2FsIENUQVJHRVQ9JHtD VEFSR0VUOi0ke0NIT1NUfX07CiAgICBjYXNlICR7Q1RBUkdFVH0gaW4gCiAgICAgICAgYmZpbiog fCBoODMwMCopCiAgICAgICAgICAgIGVjaG8gIm9ubHkiCiAgICAgICAgOzsKICAgICAgICAqKQog ICAgICAgICAgICBpZiBbWyAke0NUQVJHRVQvL18vLX0gPT0gKi1zb2Z0ZmxvYXQtKiBdXTsgdGhl bgogICAgICAgICAgICAgICAgZWNobyAieWVzIjsKICAgICAgICAgICAgZWxzZQogICAgICAgICAg ICAgICAgaWYgW1sgJHtDVEFSR0VULy9fLy19ID09ICotc29mdGZwLSogXV07IHRoZW4KICAgICAg ICAgICAgICAgICAgICBlY2hvICJzb2Z0ZnAiOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAg ICAgICAgICAgICAgIGVjaG8gIm5vIjsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBm aQogICAgICAgIDs7CiAgICBlc2FjCn0KdGMtaXMtc3RhdGljLW9ubHkgKCkgCnsgCiAgICBsb2Nh bCBob3N0PSR7Q1RBUkdFVDotJHtDSE9TVH19OwogICAgcmV0dXJuICQoW1sgJHtob3N0fSA9PSAq LW1pbnQqIF1dKQp9CnRjLW5pbmphX21hZ2ljX3RvX2FyY2ggKCkgCnsgCiAgICBmdW5jdGlvbiBu aW5qICgpIAogICAgeyAKICAgICAgICBbWyAke3R5cGV9ID09ICJrZXJuIiBdXSAmJiBlY2hvICQx IHx8IGVjaG8gJDIKICAgIH07CiAgICBsb2NhbCB0eXBlPSQxOwogICAgbG9jYWwgaG9zdD0kMjsK ICAgIFtbIC16ICR7aG9zdH0gXV0gJiYgaG9zdD0ke0NUQVJHRVQ6LSR7Q0hPU1R9fTsKICAgIGxv Y2FsIEtWPSR7S1Y6LSR7S1ZfRlVMTH19OwogICAgW1sgJHt0eXBlfSA9PSAia2VybiIgXV0gJiYg W1sgLXogJHtLVn0gXV0gJiYgZXdhcm4gIlFBOiBLZXJuZWwgdmVyc2lvbiBjb3VsZCBub3QgYmUg ZGV0ZXJtaW5lZCwgcGxlYXNlIGluaGVyaXQga2VybmVsLTIgb3IgbGludXgtaW5mbyI7CiAgICBj YXNlICR7aG9zdH0gaW4gCiAgICAgICAgYWFyY2g2NCopCiAgICAgICAgICAgIGVjaG8gYXJtNjQK ICAgICAgICA7OwogICAgICAgIGFscGhhKikKICAgICAgICAgICAgZWNobyBhbHBoYQogICAgICAg IDs7CiAgICAgICAgYXJtKikKICAgICAgICAgICAgZWNobyBhcm0KICAgICAgICA7OwogICAgICAg IGF2ciopCiAgICAgICAgICAgIG5pbmogYXZyMzIgYXZyCiAgICAgICAgOzsKICAgICAgICBiZmlu KikKICAgICAgICAgICAgbmluaiBibGFja2ZpbiBiZmluCiAgICAgICAgOzsKICAgICAgICBjNngp CiAgICAgICAgICAgIGVjaG8gYzZ4CiAgICAgICAgOzsKICAgICAgICBjcmlzKikKICAgICAgICAg ICAgZWNobyBjcmlzCiAgICAgICAgOzsKICAgICAgICBmcnYpCiAgICAgICAgICAgIGVjaG8gZnJ2 CiAgICAgICAgOzsKICAgICAgICBoZXhhZ29uKQogICAgICAgICAgICBlY2hvIGhleGFnb24KICAg ICAgICA7OwogICAgICAgIGhwcGEqKQogICAgICAgICAgICBuaW5qIHBhcmlzYyBocHBhCiAgICAg ICAgOzsKICAgICAgICBpPzg2KikKICAgICAgICAgICAgaWYgW1sgJHt0eXBlfSA9PSAia2VybiIg XV0gJiYgW1sgJChLVl90b19pbnQgJHtLVn0pIC1sdCAkKEtWX3RvX2ludCAyLjYuMjQpIHx8ICR7 aG9zdH0gPT0gKmZyZWVic2QqIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBlY2hvIGkzODY7CiAg ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGVjaG8geDg2OwogICAgICAgICAgICBmaQog ICAgICAgIDs7CiAgICAgICAgaWE2NCopCiAgICAgICAgICAgIGVjaG8gaWE2NAogICAgICAgIDs7 CiAgICAgICAgbTY4KikKICAgICAgICAgICAgZWNobyBtNjhrCiAgICAgICAgOzsKICAgICAgICBt ZXRhZykKICAgICAgICAgICAgZWNobyBtZXRhZwogICAgICAgIDs7CiAgICAgICAgbWlwcyopCiAg ICAgICAgICAgIGVjaG8gbWlwcwogICAgICAgIDs7CiAgICAgICAgbmlvczIqKQogICAgICAgICAg ICBlY2hvIG5pb3MyCiAgICAgICAgOzsKICAgICAgICBuaW9zKikKICAgICAgICAgICAgZWNobyBu aW9zCiAgICAgICAgOzsKICAgICAgICBvcjMyKQogICAgICAgICAgICBlY2hvIG9wZW5yaXNjCiAg ICAgICAgOzsKICAgICAgICBwb3dlcnBjKikKICAgICAgICAgICAgaWYgW1sgJHt0eXBlfSA9PSAi a2VybiIgXV0gJiYgW1sgJChLVl90b19pbnQgJHtLVn0pIC1nZSAkKEtWX3RvX2ludCAyLjYuMTYp IF1dOyB0aGVuCiAgICAgICAgICAgICAgICBlY2hvIHBvd2VycGM7CiAgICAgICAgICAgIGVsc2UK ICAgICAgICAgICAgICAgIGlmIFtbICR7dHlwZX0gPT0gImtlcm4iIF1dICYmIFtbICQoS1ZfdG9f aW50ICR7S1Z9KSAtZXEgJChLVl90b19pbnQgMi42LjE1KSBdXTsgdGhlbgogICAgICAgICAgICAg ICAgICAgIGlmIFtbICR7aG9zdH0gPT0gcG93ZXJwYzY0KiBdXSB8fCBbWyAke1BST0ZJTEVfQVJD SH0gPT0gInBwYzY0IiBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBlY2hvIHBvd2Vy cGM7CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICBlY2hv IHBwYzsKICAgICAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAg ICAgICAgICAgICAgICBpZiBbWyAke2hvc3R9ID09IHBvd2VycGM2NCogXV07IHRoZW4KICAgICAg ICAgICAgICAgICAgICAgICAgZWNobyBwcGM2NDsKICAgICAgICAgICAgICAgICAgICBlbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgIGlmIFtbICR7UFJPRklMRV9BUkNIfSA9PSAicHBjNjQiIF1d OyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuaW5qIHBwYzY0IHBwYzsKICAgICAg ICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyBw cGM7CiAgICAgICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgICAgIGZpOwog ICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGZpCiAgICAgICAgOzsKICAgICAgICBzMzkw KikKICAgICAgICAgICAgZWNobyBzMzkwCiAgICAgICAgOzsKICAgICAgICBzY29yZSkKICAgICAg ICAgICAgZWNobyBzY29yZQogICAgICAgIDs7CiAgICAgICAgc2g2NCopCiAgICAgICAgICAgIG5p bmogc2g2NCBzaAogICAgICAgIDs7CiAgICAgICAgc2gqKQogICAgICAgICAgICBlY2hvIHNoCiAg ICAgICAgOzsKICAgICAgICBzcGFyYzY0KikKICAgICAgICAgICAgbmluaiBzcGFyYzY0IHNwYXJj CiAgICAgICAgOzsKICAgICAgICBzcGFyYyopCiAgICAgICAgICAgIFtbICR7UFJPRklMRV9BUkNI fSA9PSAic3BhcmM2NCIgXV0gJiYgbmluaiBzcGFyYzY0IHNwYXJjIHx8IGVjaG8gc3BhcmMKICAg ICAgICA7OwogICAgICAgIHRpbGUqKQogICAgICAgICAgICBlY2hvIHRpbGUKICAgICAgICA7Owog ICAgICAgIHZheCopCiAgICAgICAgICAgIGVjaG8gdmF4CiAgICAgICAgOzsKICAgICAgICB4ODZf NjQqZnJlZWJzZCopCiAgICAgICAgICAgIGVjaG8gYW1kNjQKICAgICAgICA7OwogICAgICAgIHg4 Nl82NCopCiAgICAgICAgICAgIGlmIFtbICR7dHlwZX0gPT0gImtlcm4iIF1dICYmIFtbICQoS1Zf dG9faW50ICR7S1Z9KSAtZ2UgJChLVl90b19pbnQgMi42LjI0KSBdXTsgdGhlbgogICAgICAgICAg ICAgICAgZWNobyB4ODY7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIG5pbmogeDg2 XzY0IGFtZDY0OwogICAgICAgICAgICBmaQogICAgICAgIDs7CiAgICAgICAgeHRlbnNhKikKICAg ICAgICAgICAgZWNobyB4dGVuc2EKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGVj aG8gdW5rbm93bgogICAgICAgIDs7CiAgICBlc2FjCn0KdGVzdC1mbGFnLUNDICgpIAp7IAogICAg dGVzdC1mbGFnLVBST0cgIkNDIiBjICIkMSIKfQp0ZXN0LWZsYWctQ1hYICgpIAp7IAogICAgdGVz dC1mbGFnLVBST0cgIkNYWCIgYysrICIkMSIKfQp0ZXN0LWZsYWctRjc3ICgpIAp7IAogICAgdGVz dC1mbGFnLVBST0cgIkY3NyIgZjc3ICIkMSIKfQp0ZXN0LWZsYWctRkMgKCkgCnsgCiAgICB0ZXN0 LWZsYWctUFJPRyAiRkMiIGY5NSAiJDEiCn0KdGVzdC1mbGFnLVBST0cgKCkgCnsgCiAgICBsb2Nh bCBjb21wPSQxOwogICAgbG9jYWwgbGFuZz0kMjsKICAgIGxvY2FsIGZsYWc9JDM7CiAgICBbWyAt eiAke2NvbXB9IHx8IC16ICR7ZmxhZ30gXV0gJiYgcmV0dXJuIDE7CiAgICBsb2NhbCBQUk9HPSQo dGMtZ2V0JHtjb21wfSk7CiAgICBpZiAke1BST0d9IC1jIC1vIC9kZXYvbnVsbCAteCR7bGFuZ30g LSA8IC9kZXYvbnVsbCA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgICAgICAgJHtQUk9HfSAiJHtm bGFnfSIgLWMgLW8gL2Rldi9udWxsIC14JHtsYW5nfSAtIDwgL2Rldi9udWxsID4gL2Rldi9udWxs IDI+JjE7CiAgICBlbHNlCiAgICAgICAgJHtQUk9HfSAiJHtmbGFnfSIgLWMgLW8gL2Rldi9udWxs IC9kZXYvbnVsbCA+IC9kZXYvbnVsbCAyPiYxOwogICAgZmkKfQp0ZXN0LWZsYWdzICgpIAp7IAog ICAgdGVzdC1mbGFncy1DQyAiJEAiCn0KdGVzdC1mbGFncy1DQyAoKSAKeyAKICAgIHRlc3QtZmxh Z3MtUFJPRyAiQ0MiICIkQCIKfQp0ZXN0LWZsYWdzLUNYWCAoKSAKeyAKICAgIHRlc3QtZmxhZ3Mt UFJPRyAiQ1hYIiAiJEAiCn0KdGVzdC1mbGFncy1GNzcgKCkgCnsgCiAgICB0ZXN0LWZsYWdzLVBS T0cgIkY3NyIgIiRAIgp9CnRlc3QtZmxhZ3MtRkMgKCkgCnsgCiAgICB0ZXN0LWZsYWdzLVBST0cg IkZDIiAiJEAiCn0KdGVzdC1mbGFncy1QUk9HICgpIAp7IAogICAgbG9jYWwgY29tcD0kMTsKICAg IGxvY2FsIGZsYWdzPSgpOwogICAgbG9jYWwgeDsKICAgIHNoaWZ0OwogICAgW1sgLXogJHtjb21w fSBdXSAmJiByZXR1cm4gMTsKICAgIGZvciB4IGluICIkQCI7CiAgICBkbwogICAgICAgIHRlc3Qt ZmxhZy0ke2NvbXB9ICIke3h9IiAmJiBmbGFncys9KCIke3h9Iik7CiAgICBkb25lOwogICAgZWNo byAiJHtmbGFnc1sqXX0iOwogICAgW1sgJHsjZmxhZ3NbQF19IC1ndCAwIF1dCn0KdGVzdF92ZXJz aW9uX2luZm8gKCkgCnsgCiAgICBpZiBbWyAkKCQodGMtZ2V0Q0MpIC0tdmVyc2lvbiAyPiYxKSA9 PSAqJDEqIF1dOyB0aGVuCiAgICAgICAgcmV0dXJuIDA7CiAgICBlbHNlCiAgICAgICAgcmV0dXJu IDE7CiAgICBmaQp9CnVkZXZfZG9ydWxlcyAoKSAKeyAKICAgIGRlYnVnLXByaW50LWZ1bmN0aW9u ICR7RlVOQ05BTUV9ICIke0B9IjsKICAgICggaW5zaW50byAiJChfdWRldl9nZXRfdWRldmRpciki L3J1bGVzLmQ7CiAgICBkb2lucyAiJHtAfSIgKQp9CnVkZXZfZ2V0X3VkZXZkaXIgKCkgCnsgCiAg ICBkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSI7CiAgICBlY2hvICIkKF91 ZGV2X2dldF91ZGV2ZGlyKSIKfQp1ZGV2X25ld3J1bGVzICgpIAp7IAogICAgZGVidWctcHJpbnQt ZnVuY3Rpb24gJHtGVU5DTkFNRX0gIiR7QH0iOwogICAgKCBpbnNpbnRvICIkKF91ZGV2X2dldF91 ZGV2ZGlyKSIvcnVsZXMuZDsKICAgIG5ld2lucyAiJHtAfSIgKQp9CnVkZXZfcmVsb2FkICgpIAp7 IAogICAgaWYgW1sgJHtST09UfSAhPSAiIiBdXSAmJiBbWyAke1JPT1R9ICE9ICIvIiBdXTsgdGhl bgogICAgICAgIHJldHVybiAwOwogICAgZmk7CiAgICBpZiBbWyAtZCAke1JPT1R9L3J1bi91ZGV2 IF1dOyB0aGVuCiAgICAgICAgZWJlZ2luICJSdW5uaW5nIHVkZXYgY29udHJvbCAtLXJlbG9hZCBm b3IgcmVsb2FkaW5nIHJ1bGVzIGFuZCBkYXRhYmFzZXMiOwogICAgICAgIHVkZXZhZG0gY29udHJv bCAtLXJlbG9hZDsKICAgICAgICBlZW5kICQ/OwogICAgZmkKfQp1c2VfaWZfaXVzZSAoKSAKeyAK ICAgIGluX2l1c2UgJDEgfHwgcmV0dXJuIDE7CiAgICB1c2UgJDEKfQp2YWxpZGF0ZV9kZXNrdG9w X2VudHJpZXMgKCkgCnsgCiAgICBfZXV0aWxzX2VwcmVmaXhfaW5pdDsKICAgIGlmIFtbIC14ICIk e0VQUkVGSVh9Ii91c3IvYmluL2Rlc2t0b3AtZmlsZS12YWxpZGF0ZSBdXTsgdGhlbgogICAgICAg IGVpbmZvICJDaGVja2luZyBkZXNrdG9wIGVudHJ5IHZhbGlkaXR5IjsKICAgICAgICBsb2NhbCBk aXJlY3Rvcmllcz0iIjsKICAgICAgICBmb3IgZCBpbiAvdXNyL3NoYXJlL2FwcGxpY2F0aW9ucyAk QDsKICAgICAgICBkbwogICAgICAgICAgICBbWyAtZCAke0VEfSR7ZH0gXV0gJiYgZGlyZWN0b3Jp ZXM9IiR7ZGlyZWN0b3JpZXN9ICR7RUR9JHtkfSI7CiAgICAgICAgZG9uZTsKICAgICAgICBpZiBb WyAtbiAke2RpcmVjdG9yaWVzfSBdXTsgdGhlbgogICAgICAgICAgICBmb3IgRklMRSBpbiAkKGZp bmQgJHtkaXJlY3Rvcmllc30gLW5hbWUgIipcLmRlc2t0b3AiIAkJCQkJCQktbm90IC1wYXRoICcq LmhpZGRlbionIHwgc29ydCAtdSAyPi9kZXYvbnVsbCk7CiAgICAgICAgICAgIGRvCiAgICAgICAg ICAgICAgICBsb2NhbCB0ZW1wPSQoZGVza3RvcC1maWxlLXZhbGlkYXRlICR7RklMRX0gfCBncmVw IC12ICJ3YXJuaW5nOiIgfCAJCQkJCQkJCXNlZCAtZSAic3xlcnJvcjogfHwiIC1lICJzfCR7RklM RX06fC0tfGciICk7CiAgICAgICAgICAgICAgICBbWyAtbiAkdGVtcCBdXSAmJiBlbG9nICR7dGVt cC8tLS8ke0ZJTEUvJHtFRH0vfTp9OwogICAgICAgICAgICBkb25lOwogICAgICAgIGZpOwogICAg ICAgIGVjaG8gIiI7CiAgICBlbHNlCiAgICAgICAgZWluZm8gIlBhc3NpbmcgZGVza3RvcCBlbnRy eSB2YWxpZGl0eSBjaGVjay4gSW5zdGFsbCBkZXYtdXRpbC9kZXNrdG9wLWZpbGUtdXRpbHMsIGlm IHlvdSB3YW50IHRvIGhlbHAgdG8gaW1wcm92ZSBHZW50b28uIjsKICAgIGZpCn0K --bcaec508238c781d2004f543ed72 Content-Type: application/octet-stream; name="grub.cfg" Content-Disposition: attachment; filename="grub.cfg" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ht47h7kr5 IwojIERPIE5PVCBFRElUIFRISVMgRklMRQojCiMgSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0 ZWQgYnkgZ3J1YjItbWtjb25maWcgdXNpbmcgdGVtcGxhdGVzCiMgZnJvbSAvZXRjL2dydWIuZCBh bmQgc2V0dGluZ3MgZnJvbSAvZXRjL2RlZmF1bHQvZ3J1YgojCgojIyMgQkVHSU4gL2V0Yy9ncnVi LmQvMDBfaGVhZGVyICMjIwppZiBbIC1zICRwcmVmaXgvZ3J1YmVudiBdOyB0aGVuCiAgbG9hZF9l bnYKZmkKaWYgWyAiJHtuZXh0X2VudHJ5fSIgXSA7IHRoZW4KICAgc2V0IGRlZmF1bHQ9IiR7bmV4 dF9lbnRyeX0iCiAgIHNldCBuZXh0X2VudHJ5PQogICBzYXZlX2VudiBuZXh0X2VudHJ5CiAgIHNl dCBib290X29uY2U9dHJ1ZQplbHNlCiAgIHNldCBkZWZhdWx0PSIwIgpmaQoKaWYgWyB4IiR7ZmVh dHVyZV9tZW51ZW50cnlfaWR9IiA9IHh5IF07IHRoZW4KICBtZW51ZW50cnlfaWRfb3B0aW9uPSIt LWlkIgplbHNlCiAgbWVudWVudHJ5X2lkX29wdGlvbj0iIgpmaQoKZXhwb3J0IG1lbnVlbnRyeV9p ZF9vcHRpb24KCmlmIFsgIiR7cHJldl9zYXZlZF9lbnRyeX0iIF07IHRoZW4KICBzZXQgc2F2ZWRf ZW50cnk9IiR7cHJldl9zYXZlZF9lbnRyeX0iCiAgc2F2ZV9lbnYgc2F2ZWRfZW50cnkKICBzZXQg cHJldl9zYXZlZF9lbnRyeT0KICBzYXZlX2VudiBwcmV2X3NhdmVkX2VudHJ5CiAgc2V0IGJvb3Rf b25jZT10cnVlCmZpCgpmdW5jdGlvbiBzYXZlZGVmYXVsdCB7CiAgaWYgWyAteiAiJHtib290X29u Y2V9IiBdOyB0aGVuCiAgICBzYXZlZF9lbnRyeT0iJHtjaG9zZW59IgogICAgc2F2ZV9lbnYgc2F2 ZWRfZW50cnkKICBmaQp9CgpmdW5jdGlvbiBsb2FkX3ZpZGVvIHsKICBpZiBbIHgkZmVhdHVyZV9h bGxfdmlkZW9fbW9kdWxlID0geHkgXTsgdGhlbgogICAgaW5zbW9kIGFsbF92aWRlbwogIGVsc2UK ICAgIGluc21vZCBlZmlfZ29wCiAgICBpbnNtb2QgZWZpX3VnYQogICAgaW5zbW9kIGllZWUxMjc1 X2ZiCiAgICBpbnNtb2QgdmJlCiAgICBpbnNtb2QgdmdhCiAgICBpbnNtb2QgdmlkZW9fYm9jaHMK ICAgIGluc21vZCB2aWRlb19jaXJydXMKICBmaQp9CgppZiBbIHgkZmVhdHVyZV9kZWZhdWx0X2Zv bnRfcGF0aCA9IHh5IF0gOyB0aGVuCiAgIGZvbnQ9dW5pY29kZQplbHNlCmluc21vZCBwYXJ0X2dw dAppbnNtb2QgZXh0MgpzZXQgcm9vdD0naGQxLGdwdDInCmlmIFsgeCRmZWF0dXJlX3BsYXRmb3Jt X3NlYXJjaF9oaW50ID0geHkgXTsgdGhlbgogIHNlYXJjaCAtLW5vLWZsb3BweSAtLWZzLXV1aWQg LS1zZXQ9cm9vdCAtLWhpbnQtYmlvcz1oZDEsZ3B0MiAtLWhpbnQtZWZpPWhkMSxncHQyIC0taGlu dC1iYXJlbWV0YWw9YWhjaTEsZ3B0MiAgZjQ1M2Y4OGQtYTM1OS00ZTBkLTg1ODYtZTBjMjYwMGMz YjJkCmVsc2UKICBzZWFyY2ggLS1uby1mbG9wcHkgLS1mcy11dWlkIC0tc2V0PXJvb3QgZjQ1M2Y4 OGQtYTM1OS00ZTBkLTg1ODYtZTBjMjYwMGMzYjJkCmZpCiAgICBmb250PSIvdXNyL3NoYXJlL2dy dWIvdW5pY29kZS5wZjIiCmZpCgppZiBsb2FkZm9udCAkZm9udCA7IHRoZW4KICBzZXQgZ2Z4bW9k ZT1hdXRvCiAgbG9hZF92aWRlbwogIGluc21vZCBnZnh0ZXJtCiAgc2V0IGxvY2FsZV9kaXI9JHBy ZWZpeC9sb2NhbGUKICBzZXQgbGFuZz1lc19BUgogIGluc21vZCBnZXR0ZXh0CmZpCnRlcm1pbmFs X291dHB1dCBnZnh0ZXJtCmlmIHNsZWVwIC0taW50ZXJydXB0aWJsZSAwIDsgdGhlbgogIHNldCB0 aW1lb3V0PTEKZmkKIyMjIEVORCAvZXRjL2dydWIuZC8wMF9oZWFkZXIgIyMjCgojIyMgQkVHSU4g L2V0Yy9ncnViLmQvMjBfbGludXhfeGVuICMjIwptZW51ZW50cnkgJ0dlbnRvbyBHTlUvTGludXgs IGNvbiBlbCBoaXBlcnZpc29yIFhlbicgLS1jbGFzcyBnZW50b28gLS1jbGFzcyBnbnUtbGludXgg LS1jbGFzcyBnbnUgLS1jbGFzcyBvcyAtLWNsYXNzIHhlbiAkbWVudWVudHJ5X2lkX29wdGlvbiAn eGVuLWdudWxpbnV4LXNpbXBsZS1mNDUzZjg4ZC1hMzU5LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQn IHsKCWluc21vZCBwYXJ0X2dwdAoJaW5zbW9kIGV4dDIKCXNldCByb290PSdoZDEsZ3B0MicKCWlm IFsgeCRmZWF0dXJlX3BsYXRmb3JtX3NlYXJjaF9oaW50ID0geHkgXTsgdGhlbgoJICBzZWFyY2gg LS1uby1mbG9wcHkgLS1mcy11dWlkIC0tc2V0PXJvb3QgLS1oaW50LWJpb3M9aGQxLGdwdDIgLS1o aW50LWVmaT1oZDEsZ3B0MiAtLWhpbnQtYmFyZW1ldGFsPWFoY2kxLGdwdDIgIGY0NTNmODhkLWEz NTktNGUwZC04NTg2LWUwYzI2MDBjM2IyZAoJZWxzZQoJICBzZWFyY2ggLS1uby1mbG9wcHkgLS1m cy11dWlkIC0tc2V0PXJvb3QgZjQ1M2Y4OGQtYTM1OS00ZTBkLTg1ODYtZTBjMjYwMGMzYjJkCglm aQoJZWNobwknQ2FyZ2FuZG8gWGVuIHhlbi4uLicKICAgICAgICBpZiBbICIkZ3J1Yl9wbGF0Zm9y bSIgPSAicGMiIC1vICIkZ3J1Yl9wbGF0Zm9ybSIgPSAiIiBdOyB0aGVuCiAgICAgICAgICAgIHhl bl9ybV9vcHRzPQogICAgICAgIGVsc2UKICAgICAgICAgICAgeGVuX3JtX29wdHM9Im5vLXJlYWwt bW9kZSBlZGQ9b2ZmIgogICAgICAgIGZpCgltdWx0aWJvb3QJL2Jvb3QveGVuLmd6IHBsYWNlaG9s ZGVyICAgJHt4ZW5fcm1fb3B0c30KCWVjaG8JJ0NhcmdhbmRvIExpbnV4IGRvbTAtMy4xMi4xMy4u LicKCW1vZHVsZQkvYm9vdC9rZXJuZWwtZG9tMC0zLjEyLjEzIHBsYWNlaG9sZGVyIHJvb3Q9L2Rl di9zZGIyIHJvIGluaXQ9L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kIC9kZXYvZGlzay9ieS11dWlk L2EyZThiYWEyLTk2NmMtNDAyYy05NzQ0LTkzM2NhZTliNWQyMwp9CnN1Ym1lbnUgJ09wY2lvbmVz IGF2YW56YWRhcyBwYXJhIEdlbnRvbyBHTlUvTGludXggKGNvbiBlbCBoaXBlcnZpc29yIFhlbikn ICRtZW51ZW50cnlfaWRfb3B0aW9uICdnbnVsaW51eC1hZHZhbmNlZC1mNDUzZjg4ZC1hMzU5LTRl MGQtODU4Ni1lMGMyNjAwYzNiMmQnIHsKCXN1Ym1lbnUgJ0hpcGVydmlzb3IgWGVuLCB2ZXJzacOz biB4ZW4nICRtZW51ZW50cnlfaWRfb3B0aW9uICd4ZW4taHlwZXJ2aXNvci14ZW4tZjQ1M2Y4OGQt YTM1OS00ZTBkLTg1ODYtZTBjMjYwMGMzYjJkJyB7CgkJbWVudWVudHJ5ICdHZW50b28gR05VL0xp bnV4LCBjb24gWGVuIHhlbiB5IExpbnV4IGRvbTAtMy4xMi4xMycgLS1jbGFzcyBnZW50b28gLS1j bGFzcyBnbnUtbGludXggLS1jbGFzcyBnbnUgLS1jbGFzcyBvcyAtLWNsYXNzIHhlbiAkbWVudWVu dHJ5X2lkX29wdGlvbiAneGVuLWdudWxpbnV4LWRvbTAtMy4xMi4xMy1hZHZhbmNlZC1mNDUzZjg4 ZC1hMzU5LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQnIHsKCQkJaW5zbW9kIHBhcnRfZ3B0CgkJCWlu c21vZCBleHQyCgkJCXNldCByb290PSdoZDEsZ3B0MicKCQkJaWYgWyB4JGZlYXR1cmVfcGxhdGZv cm1fc2VhcmNoX2hpbnQgPSB4eSBdOyB0aGVuCgkJCSAgc2VhcmNoIC0tbm8tZmxvcHB5IC0tZnMt dXVpZCAtLXNldD1yb290IC0taGludC1iaW9zPWhkMSxncHQyIC0taGludC1lZmk9aGQxLGdwdDIg LS1oaW50LWJhcmVtZXRhbD1haGNpMSxncHQyICBmNDUzZjg4ZC1hMzU5LTRlMGQtODU4Ni1lMGMy NjAwYzNiMmQKCQkJZWxzZQoJCQkgIHNlYXJjaCAtLW5vLWZsb3BweSAtLWZzLXV1aWQgLS1zZXQ9 cm9vdCBmNDUzZjg4ZC1hMzU5LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQKCQkJZmkKCQkJZWNobwkn Q2FyZ2FuZG8gWGVuIHhlbi4uLicKCQkgICAgICAgIGlmIFsgIiRncnViX3BsYXRmb3JtIiA9ICJw YyIgLW8gIiRncnViX3BsYXRmb3JtIiA9ICIiIF07IHRoZW4KCQkgICAgICAgICAgICB4ZW5fcm1f b3B0cz0KCQkgICAgICAgIGVsc2UKCQkgICAgICAgICAgICB4ZW5fcm1fb3B0cz0ibm8tcmVhbC1t b2RlIGVkZD1vZmYiCgkJICAgICAgICBmaQoJCQltdWx0aWJvb3QJL2Jvb3QveGVuLmd6IHBsYWNl aG9sZGVyICAgJHt4ZW5fcm1fb3B0c30KCQkJZWNobwknQ2FyZ2FuZG8gTGludXggZG9tMC0zLjEy LjEzLi4uJwoJCQltb2R1bGUJL2Jvb3Qva2VybmVsLWRvbTAtMy4xMi4xMyBwbGFjZWhvbGRlciBy b290PS9kZXYvc2RiMiBybyBpbml0PS91c3IvbGliL3N5c3RlbWQvc3lzdGVtZCAvZGV2L2Rpc2sv YnktdXVpZC9hMmU4YmFhMi05NjZjLTQwMmMtOTc0NC05MzNjYWU5YjVkMjMKCQl9CgkJbWVudWVu dHJ5ICdHZW50b28gR05VL0xpbnV4LCBjb24gWGVuIHhlbiB5IExpbnV4IGRvbTAtMy4xMi4xMyAo bW9kbyBkZSByZWN1cGVyYWNpw7NuKScgLS1jbGFzcyBnZW50b28gLS1jbGFzcyBnbnUtbGludXgg LS1jbGFzcyBnbnUgLS1jbGFzcyBvcyAtLWNsYXNzIHhlbiAkbWVudWVudHJ5X2lkX29wdGlvbiAn eGVuLWdudWxpbnV4LWRvbTAtMy4xMi4xMy1yZWNvdmVyeS1mNDUzZjg4ZC1hMzU5LTRlMGQtODU4 Ni1lMGMyNjAwYzNiMmQnIHsKCQkJaW5zbW9kIHBhcnRfZ3B0CgkJCWluc21vZCBleHQyCgkJCXNl dCByb290PSdoZDEsZ3B0MicKCQkJaWYgWyB4JGZlYXR1cmVfcGxhdGZvcm1fc2VhcmNoX2hpbnQg PSB4eSBdOyB0aGVuCgkJCSAgc2VhcmNoIC0tbm8tZmxvcHB5IC0tZnMtdXVpZCAtLXNldD1yb290 IC0taGludC1iaW9zPWhkMSxncHQyIC0taGludC1lZmk9aGQxLGdwdDIgLS1oaW50LWJhcmVtZXRh bD1haGNpMSxncHQyICBmNDUzZjg4ZC1hMzU5LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQKCQkJZWxz ZQoJCQkgIHNlYXJjaCAtLW5vLWZsb3BweSAtLWZzLXV1aWQgLS1zZXQ9cm9vdCBmNDUzZjg4ZC1h MzU5LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQKCQkJZmkKCQkJZWNobwknQ2FyZ2FuZG8gWGVuIHhl bi4uLicKCQkgICAgICAgIGlmIFsgIiRncnViX3BsYXRmb3JtIiA9ICJwYyIgLW8gIiRncnViX3Bs YXRmb3JtIiA9ICIiIF07IHRoZW4KCQkgICAgICAgICAgICB4ZW5fcm1fb3B0cz0KCQkgICAgICAg IGVsc2UKCQkgICAgICAgICAgICB4ZW5fcm1fb3B0cz0ibm8tcmVhbC1tb2RlIGVkZD1vZmYiCgkJ ICAgICAgICBmaQoJCQltdWx0aWJvb3QJL2Jvb3QveGVuLmd6IHBsYWNlaG9sZGVyICAke3hlbl9y bV9vcHRzfQoJCQllY2hvCSdDYXJnYW5kbyBMaW51eCBkb20wLTMuMTIuMTMuLi4nCgkJCW1vZHVs ZQkvYm9vdC9rZXJuZWwtZG9tMC0zLjEyLjEzIHBsYWNlaG9sZGVyIHJvb3Q9L2Rldi9zZGIyIHJv IHNpbmdsZSBpbml0PS91c3IvbGliL3N5c3RlbWQvc3lzdGVtZAoJCX0KCX0KCXN1Ym1lbnUgJ0hp cGVydmlzb3IgWGVuLCB2ZXJzacOzbiA0LjMuMScgJG1lbnVlbnRyeV9pZF9vcHRpb24gJ3hlbi1o eXBlcnZpc29yLTQuMy4xLWY0NTNmODhkLWEzNTktNGUwZC04NTg2LWUwYzI2MDBjM2IyZCcgewoJ CW1lbnVlbnRyeSAnR2VudG9vIEdOVS9MaW51eCwgY29uIFhlbiA0LjMuMSB5IExpbnV4IGRvbTAt My4xMi4xMycgLS1jbGFzcyBnZW50b28gLS1jbGFzcyBnbnUtbGludXggLS1jbGFzcyBnbnUgLS1j bGFzcyBvcyAtLWNsYXNzIHhlbiAkbWVudWVudHJ5X2lkX29wdGlvbiAneGVuLWdudWxpbnV4LWRv bTAtMy4xMi4xMy1hZHZhbmNlZC1mNDUzZjg4ZC1hMzU5LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQn IHsKCQkJaW5zbW9kIHBhcnRfZ3B0CgkJCWluc21vZCBleHQyCgkJCXNldCByb290PSdoZDEsZ3B0 MicKCQkJaWYgWyB4JGZlYXR1cmVfcGxhdGZvcm1fc2VhcmNoX2hpbnQgPSB4eSBdOyB0aGVuCgkJ CSAgc2VhcmNoIC0tbm8tZmxvcHB5IC0tZnMtdXVpZCAtLXNldD1yb290IC0taGludC1iaW9zPWhk MSxncHQyIC0taGludC1lZmk9aGQxLGdwdDIgLS1oaW50LWJhcmVtZXRhbD1haGNpMSxncHQyICBm NDUzZjg4ZC1hMzU5LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQKCQkJZWxzZQoJCQkgIHNlYXJjaCAt LW5vLWZsb3BweSAtLWZzLXV1aWQgLS1zZXQ9cm9vdCBmNDUzZjg4ZC1hMzU5LTRlMGQtODU4Ni1l MGMyNjAwYzNiMmQKCQkJZmkKCQkJZWNobwknQ2FyZ2FuZG8gWGVuIDQuMy4xLi4uJwoJCSAgICAg ICAgaWYgWyAiJGdydWJfcGxhdGZvcm0iID0gInBjIiAtbyAiJGdydWJfcGxhdGZvcm0iID0gIiIg XTsgdGhlbgoJCSAgICAgICAgICAgIHhlbl9ybV9vcHRzPQoJCSAgICAgICAgZWxzZQoJCSAgICAg ICAgICAgIHhlbl9ybV9vcHRzPSJuby1yZWFsLW1vZGUgZWRkPW9mZiIKCQkgICAgICAgIGZpCgkJ CW11bHRpYm9vdAkvYm9vdC94ZW4tNC4zLjEuZ3ogcGxhY2Vob2xkZXIgICAke3hlbl9ybV9vcHRz fQoJCQllY2hvCSdDYXJnYW5kbyBMaW51eCBkb20wLTMuMTIuMTMuLi4nCgkJCW1vZHVsZQkvYm9v dC9rZXJuZWwtZG9tMC0zLjEyLjEzIHBsYWNlaG9sZGVyIHJvb3Q9L2Rldi9zZGIyIHJvIGluaXQ9 L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kIC9kZXYvZGlzay9ieS11dWlkL2EyZThiYWEyLTk2NmMt NDAyYy05NzQ0LTkzM2NhZTliNWQyMwoJCX0KCQltZW51ZW50cnkgJ0dlbnRvbyBHTlUvTGludXgs IGNvbiBYZW4gNC4zLjEgeSBMaW51eCBkb20wLTMuMTIuMTMgKG1vZG8gZGUgcmVjdXBlcmFjacOz biknIC0tY2xhc3MgZ2VudG9vIC0tY2xhc3MgZ251LWxpbnV4IC0tY2xhc3MgZ251IC0tY2xhc3Mg b3MgLS1jbGFzcyB4ZW4gJG1lbnVlbnRyeV9pZF9vcHRpb24gJ3hlbi1nbnVsaW51eC1kb20wLTMu MTIuMTMtcmVjb3ZlcnktZjQ1M2Y4OGQtYTM1OS00ZTBkLTg1ODYtZTBjMjYwMGMzYjJkJyB7CgkJ CWluc21vZCBwYXJ0X2dwdAoJCQlpbnNtb2QgZXh0MgoJCQlzZXQgcm9vdD0naGQxLGdwdDInCgkJ CWlmIFsgeCRmZWF0dXJlX3BsYXRmb3JtX3NlYXJjaF9oaW50ID0geHkgXTsgdGhlbgoJCQkgIHNl YXJjaCAtLW5vLWZsb3BweSAtLWZzLXV1aWQgLS1zZXQ9cm9vdCAtLWhpbnQtYmlvcz1oZDEsZ3B0 MiAtLWhpbnQtZWZpPWhkMSxncHQyIC0taGludC1iYXJlbWV0YWw9YWhjaTEsZ3B0MiAgZjQ1M2Y4 OGQtYTM1OS00ZTBkLTg1ODYtZTBjMjYwMGMzYjJkCgkJCWVsc2UKCQkJICBzZWFyY2ggLS1uby1m bG9wcHkgLS1mcy11dWlkIC0tc2V0PXJvb3QgZjQ1M2Y4OGQtYTM1OS00ZTBkLTg1ODYtZTBjMjYw MGMzYjJkCgkJCWZpCgkJCWVjaG8JJ0NhcmdhbmRvIFhlbiA0LjMuMS4uLicKCQkgICAgICAgIGlm IFsgIiRncnViX3BsYXRmb3JtIiA9ICJwYyIgLW8gIiRncnViX3BsYXRmb3JtIiA9ICIiIF07IHRo ZW4KCQkgICAgICAgICAgICB4ZW5fcm1fb3B0cz0KCQkgICAgICAgIGVsc2UKCQkgICAgICAgICAg ICB4ZW5fcm1fb3B0cz0ibm8tcmVhbC1tb2RlIGVkZD1vZmYiCgkJICAgICAgICBmaQoJCQltdWx0 aWJvb3QJL2Jvb3QveGVuLTQuMy4xLmd6IHBsYWNlaG9sZGVyICAke3hlbl9ybV9vcHRzfQoJCQll Y2hvCSdDYXJnYW5kbyBMaW51eCBkb20wLTMuMTIuMTMuLi4nCgkJCW1vZHVsZQkvYm9vdC9rZXJu ZWwtZG9tMC0zLjEyLjEzIHBsYWNlaG9sZGVyIHJvb3Q9L2Rldi9zZGIyIHJvIHNpbmdsZSBpbml0 PS91c3IvbGliL3N5c3RlbWQvc3lzdGVtZAoJCX0KCX0KCXN1Ym1lbnUgJ0hpcGVydmlzb3IgWGVu LCB2ZXJzacOzbiA0LjMnICRtZW51ZW50cnlfaWRfb3B0aW9uICd4ZW4taHlwZXJ2aXNvci00LjMt ZjQ1M2Y4OGQtYTM1OS00ZTBkLTg1ODYtZTBjMjYwMGMzYjJkJyB7CgkJbWVudWVudHJ5ICdHZW50 b28gR05VL0xpbnV4LCBjb24gWGVuIDQuMyB5IExpbnV4IGRvbTAtMy4xMi4xMycgLS1jbGFzcyBn ZW50b28gLS1jbGFzcyBnbnUtbGludXggLS1jbGFzcyBnbnUgLS1jbGFzcyBvcyAtLWNsYXNzIHhl biAkbWVudWVudHJ5X2lkX29wdGlvbiAneGVuLWdudWxpbnV4LWRvbTAtMy4xMi4xMy1hZHZhbmNl ZC1mNDUzZjg4ZC1hMzU5LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQnIHsKCQkJaW5zbW9kIHBhcnRf Z3B0CgkJCWluc21vZCBleHQyCgkJCXNldCByb290PSdoZDEsZ3B0MicKCQkJaWYgWyB4JGZlYXR1 cmVfcGxhdGZvcm1fc2VhcmNoX2hpbnQgPSB4eSBdOyB0aGVuCgkJCSAgc2VhcmNoIC0tbm8tZmxv cHB5IC0tZnMtdXVpZCAtLXNldD1yb290IC0taGludC1iaW9zPWhkMSxncHQyIC0taGludC1lZmk9 aGQxLGdwdDIgLS1oaW50LWJhcmVtZXRhbD1haGNpMSxncHQyICBmNDUzZjg4ZC1hMzU5LTRlMGQt ODU4Ni1lMGMyNjAwYzNiMmQKCQkJZWxzZQoJCQkgIHNlYXJjaCAtLW5vLWZsb3BweSAtLWZzLXV1 aWQgLS1zZXQ9cm9vdCBmNDUzZjg4ZC1hMzU5LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQKCQkJZmkK CQkJZWNobwknQ2FyZ2FuZG8gWGVuIDQuMy4uLicKCQkgICAgICAgIGlmIFsgIiRncnViX3BsYXRm b3JtIiA9ICJwYyIgLW8gIiRncnViX3BsYXRmb3JtIiA9ICIiIF07IHRoZW4KCQkgICAgICAgICAg ICB4ZW5fcm1fb3B0cz0KCQkgICAgICAgIGVsc2UKCQkgICAgICAgICAgICB4ZW5fcm1fb3B0cz0i bm8tcmVhbC1tb2RlIGVkZD1vZmYiCgkJICAgICAgICBmaQoJCQltdWx0aWJvb3QJL2Jvb3QveGVu LTQuMy5neiBwbGFjZWhvbGRlciAgICR7eGVuX3JtX29wdHN9CgkJCWVjaG8JJ0NhcmdhbmRvIExp bnV4IGRvbTAtMy4xMi4xMy4uLicKCQkJbW9kdWxlCS9ib290L2tlcm5lbC1kb20wLTMuMTIuMTMg cGxhY2Vob2xkZXIgcm9vdD0vZGV2L3NkYjIgcm8gaW5pdD0vdXNyL2xpYi9zeXN0ZW1kL3N5c3Rl bWQgL2Rldi9kaXNrL2J5LXV1aWQvYTJlOGJhYTItOTY2Yy00MDJjLTk3NDQtOTMzY2FlOWI1ZDIz CgkJfQoJCW1lbnVlbnRyeSAnR2VudG9vIEdOVS9MaW51eCwgY29uIFhlbiA0LjMgeSBMaW51eCBk b20wLTMuMTIuMTMgKG1vZG8gZGUgcmVjdXBlcmFjacOzbiknIC0tY2xhc3MgZ2VudG9vIC0tY2xh c3MgZ251LWxpbnV4IC0tY2xhc3MgZ251IC0tY2xhc3Mgb3MgLS1jbGFzcyB4ZW4gJG1lbnVlbnRy eV9pZF9vcHRpb24gJ3hlbi1nbnVsaW51eC1kb20wLTMuMTIuMTMtcmVjb3ZlcnktZjQ1M2Y4OGQt YTM1OS00ZTBkLTg1ODYtZTBjMjYwMGMzYjJkJyB7CgkJCWluc21vZCBwYXJ0X2dwdAoJCQlpbnNt b2QgZXh0MgoJCQlzZXQgcm9vdD0naGQxLGdwdDInCgkJCWlmIFsgeCRmZWF0dXJlX3BsYXRmb3Jt X3NlYXJjaF9oaW50ID0geHkgXTsgdGhlbgoJCQkgIHNlYXJjaCAtLW5vLWZsb3BweSAtLWZzLXV1 aWQgLS1zZXQ9cm9vdCAtLWhpbnQtYmlvcz1oZDEsZ3B0MiAtLWhpbnQtZWZpPWhkMSxncHQyIC0t aGludC1iYXJlbWV0YWw9YWhjaTEsZ3B0MiAgZjQ1M2Y4OGQtYTM1OS00ZTBkLTg1ODYtZTBjMjYw MGMzYjJkCgkJCWVsc2UKCQkJICBzZWFyY2ggLS1uby1mbG9wcHkgLS1mcy11dWlkIC0tc2V0PXJv b3QgZjQ1M2Y4OGQtYTM1OS00ZTBkLTg1ODYtZTBjMjYwMGMzYjJkCgkJCWZpCgkJCWVjaG8JJ0Nh cmdhbmRvIFhlbiA0LjMuLi4nCgkJICAgICAgICBpZiBbICIkZ3J1Yl9wbGF0Zm9ybSIgPSAicGMi IC1vICIkZ3J1Yl9wbGF0Zm9ybSIgPSAiIiBdOyB0aGVuCgkJICAgICAgICAgICAgeGVuX3JtX29w dHM9CgkJICAgICAgICBlbHNlCgkJICAgICAgICAgICAgeGVuX3JtX29wdHM9Im5vLXJlYWwtbW9k ZSBlZGQ9b2ZmIgoJCSAgICAgICAgZmkKCQkJbXVsdGlib290CS9ib290L3hlbi00LjMuZ3ogcGxh Y2Vob2xkZXIgICR7eGVuX3JtX29wdHN9CgkJCWVjaG8JJ0NhcmdhbmRvIExpbnV4IGRvbTAtMy4x Mi4xMy4uLicKCQkJbW9kdWxlCS9ib290L2tlcm5lbC1kb20wLTMuMTIuMTMgcGxhY2Vob2xkZXIg cm9vdD0vZGV2L3NkYjIgcm8gc2luZ2xlIGluaXQ9L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kCgkJ fQoJfQoJc3VibWVudSAnSGlwZXJ2aXNvciBYZW4sIHZlcnNpw7NuIDQnICRtZW51ZW50cnlfaWRf b3B0aW9uICd4ZW4taHlwZXJ2aXNvci00LWY0NTNmODhkLWEzNTktNGUwZC04NTg2LWUwYzI2MDBj M2IyZCcgewoJCW1lbnVlbnRyeSAnR2VudG9vIEdOVS9MaW51eCwgY29uIFhlbiA0IHkgTGludXgg ZG9tMC0zLjEyLjEzJyAtLWNsYXNzIGdlbnRvbyAtLWNsYXNzIGdudS1saW51eCAtLWNsYXNzIGdu dSAtLWNsYXNzIG9zIC0tY2xhc3MgeGVuICRtZW51ZW50cnlfaWRfb3B0aW9uICd4ZW4tZ251bGlu dXgtZG9tMC0zLjEyLjEzLWFkdmFuY2VkLWY0NTNmODhkLWEzNTktNGUwZC04NTg2LWUwYzI2MDBj M2IyZCcgewoJCQlpbnNtb2QgcGFydF9ncHQKCQkJaW5zbW9kIGV4dDIKCQkJc2V0IHJvb3Q9J2hk MSxncHQyJwoJCQlpZiBbIHgkZmVhdHVyZV9wbGF0Zm9ybV9zZWFyY2hfaGludCA9IHh5IF07IHRo ZW4KCQkJICBzZWFyY2ggLS1uby1mbG9wcHkgLS1mcy11dWlkIC0tc2V0PXJvb3QgLS1oaW50LWJp b3M9aGQxLGdwdDIgLS1oaW50LWVmaT1oZDEsZ3B0MiAtLWhpbnQtYmFyZW1ldGFsPWFoY2kxLGdw dDIgIGY0NTNmODhkLWEzNTktNGUwZC04NTg2LWUwYzI2MDBjM2IyZAoJCQllbHNlCgkJCSAgc2Vh cmNoIC0tbm8tZmxvcHB5IC0tZnMtdXVpZCAtLXNldD1yb290IGY0NTNmODhkLWEzNTktNGUwZC04 NTg2LWUwYzI2MDBjM2IyZAoJCQlmaQoJCQllY2hvCSdDYXJnYW5kbyBYZW4gNC4uLicKCQkgICAg ICAgIGlmIFsgIiRncnViX3BsYXRmb3JtIiA9ICJwYyIgLW8gIiRncnViX3BsYXRmb3JtIiA9ICIi IF07IHRoZW4KCQkgICAgICAgICAgICB4ZW5fcm1fb3B0cz0KCQkgICAgICAgIGVsc2UKCQkgICAg ICAgICAgICB4ZW5fcm1fb3B0cz0ibm8tcmVhbC1tb2RlIGVkZD1vZmYiCgkJICAgICAgICBmaQoJ CQltdWx0aWJvb3QJL2Jvb3QveGVuLTQuZ3ogcGxhY2Vob2xkZXIgICAke3hlbl9ybV9vcHRzfQoJ CQllY2hvCSdDYXJnYW5kbyBMaW51eCBkb20wLTMuMTIuMTMuLi4nCgkJCW1vZHVsZQkvYm9vdC9r ZXJuZWwtZG9tMC0zLjEyLjEzIHBsYWNlaG9sZGVyIHJvb3Q9L2Rldi9zZGIyIHJvIGluaXQ9L3Vz ci9saWIvc3lzdGVtZC9zeXN0ZW1kIC9kZXYvZGlzay9ieS11dWlkL2EyZThiYWEyLTk2NmMtNDAy Yy05NzQ0LTkzM2NhZTliNWQyMwoJCX0KCQltZW51ZW50cnkgJ0dlbnRvbyBHTlUvTGludXgsIGNv biBYZW4gNCB5IExpbnV4IGRvbTAtMy4xMi4xMyAobW9kbyBkZSByZWN1cGVyYWNpw7NuKScgLS1j bGFzcyBnZW50b28gLS1jbGFzcyBnbnUtbGludXggLS1jbGFzcyBnbnUgLS1jbGFzcyBvcyAtLWNs YXNzIHhlbiAkbWVudWVudHJ5X2lkX29wdGlvbiAneGVuLWdudWxpbnV4LWRvbTAtMy4xMi4xMy1y ZWNvdmVyeS1mNDUzZjg4ZC1hMzU5LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQnIHsKCQkJaW5zbW9k IHBhcnRfZ3B0CgkJCWluc21vZCBleHQyCgkJCXNldCByb290PSdoZDEsZ3B0MicKCQkJaWYgWyB4 JGZlYXR1cmVfcGxhdGZvcm1fc2VhcmNoX2hpbnQgPSB4eSBdOyB0aGVuCgkJCSAgc2VhcmNoIC0t bm8tZmxvcHB5IC0tZnMtdXVpZCAtLXNldD1yb290IC0taGludC1iaW9zPWhkMSxncHQyIC0taGlu dC1lZmk9aGQxLGdwdDIgLS1oaW50LWJhcmVtZXRhbD1haGNpMSxncHQyICBmNDUzZjg4ZC1hMzU5 LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQKCQkJZWxzZQoJCQkgIHNlYXJjaCAtLW5vLWZsb3BweSAt LWZzLXV1aWQgLS1zZXQ9cm9vdCBmNDUzZjg4ZC1hMzU5LTRlMGQtODU4Ni1lMGMyNjAwYzNiMmQK CQkJZmkKCQkJZWNobwknQ2FyZ2FuZG8gWGVuIDQuLi4nCgkJICAgICAgICBpZiBbICIkZ3J1Yl9w bGF0Zm9ybSIgPSAicGMiIC1vICIkZ3J1Yl9wbGF0Zm9ybSIgPSAiIiBdOyB0aGVuCgkJICAgICAg ICAgICAgeGVuX3JtX29wdHM9CgkJICAgICAgICBlbHNlCgkJICAgICAgICAgICAgeGVuX3JtX29w dHM9Im5vLXJlYWwtbW9kZSBlZGQ9b2ZmIgoJCSAgICAgICAgZmkKCQkJbXVsdGlib290CS9ib290 L3hlbi00Lmd6IHBsYWNlaG9sZGVyICAke3hlbl9ybV9vcHRzfQoJCQllY2hvCSdDYXJnYW5kbyBM aW51eCBkb20wLTMuMTIuMTMuLi4nCgkJCW1vZHVsZQkvYm9vdC9rZXJuZWwtZG9tMC0zLjEyLjEz IHBsYWNlaG9sZGVyIHJvb3Q9L2Rldi9zZGIyIHJvIHNpbmdsZSBpbml0PS91c3IvbGliL3N5c3Rl bWQvc3lzdGVtZAoJCX0KCX0KfQoKIyMjIEVORCAvZXRjL2dydWIuZC8yMF9saW51eF94ZW4gIyMj CgojIyMgQkVHSU4gL2V0Yy9ncnViLmQvMzBfb3MtcHJvYmVyICMjIwojIyMgRU5EIC9ldGMvZ3J1 Yi5kLzMwX29zLXByb2JlciAjIyMKCiMjIyBCRUdJTiAvZXRjL2dydWIuZC80MF9jdXN0b20gIyMj CiMgVGhpcyBmaWxlIHByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGFkZCBjdXN0b20gbWVudSBlbnRy aWVzLiAgU2ltcGx5IHR5cGUgdGhlCiMgbWVudSBlbnRyaWVzIHlvdSB3YW50IHRvIGFkZCBhZnRl ciB0aGlzIGNvbW1lbnQuICBCZSBjYXJlZnVsIG5vdCB0byBjaGFuZ2UKIyB0aGUgJ2V4ZWMgdGFp bCcgbGluZSBhYm92ZS4KIyMjIEVORCAvZXRjL2dydWIuZC80MF9jdXN0b20gIyMjCgojIyMgQkVH SU4gL2V0Yy9ncnViLmQvNDFfY3VzdG9tICMjIwppZiBbIC1mICAke2NvbmZpZ19kaXJlY3Rvcnl9 L2N1c3RvbS5jZmcgXTsgdGhlbgogIHNvdXJjZSAke2NvbmZpZ19kaXJlY3Rvcnl9L2N1c3RvbS5j ZmcKZWxpZiBbIC16ICIke2NvbmZpZ19kaXJlY3Rvcnl9IiAtYSAtZiAgJHByZWZpeC9jdXN0b20u Y2ZnIF07IHRoZW4KICBzb3VyY2UgJHByZWZpeC9jdXN0b20uY2ZnOwpmaQojIyMgRU5EIC9ldGMv Z3J1Yi5kLzQxX2N1c3RvbSAjIyMK --bcaec508238c781d2004f543ed72 Content-Type: application/octet-stream; name=configKernel Content-Disposition: attachment; filename=configKernel Content-Transfer-Encoding: base64 X-Attachment-Id: f_ht47hjdb6 IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGU7IERPIE5PVCBFRElULgojIExpbnV4L3g4 NiAzLjEyLjEzLWdlbnRvbyBLZXJuZWwgQ29uZmlndXJhdGlvbgojCgojCiMgR2VudG9vIExpbnV4 CiMKQ09ORklHX0dFTlRPT19MSU5VWD15CkNPTkZJR19HRU5UT09fTElOVVhfVURFVj15CgojCiMg U3VwcG9ydCBmb3IgaW5pdCBzeXN0ZW1zLCBzeXN0ZW0gYW5kIHNlcnZpY2UgbWFuYWdlcnMKIwoj IENPTkZJR19HRU5UT09fTElOVVhfSU5JVF9TQ1JJUFQgaXMgbm90IHNldApDT05GSUdfR0VOVE9P X0xJTlVYX0lOSVRfU1lTVEVNRD15CkNPTkZJR182NEJJVD15CkNPTkZJR19YODZfNjQ9eQpDT05G SUdfWDg2PXkKQ09ORklHX0lOU1RSVUNUSU9OX0RFQ09ERVI9eQpDT05GSUdfT1VUUFVUX0ZPUk1B VD0iZWxmNjQteDg2LTY0IgpDT05GSUdfQVJDSF9ERUZDT05GSUc9ImFyY2gveDg2L2NvbmZpZ3Mv eDg2XzY0X2RlZmNvbmZpZyIKQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CkNPTkZJR19TVEFDS1RS QUNFX1NVUFBPUlQ9eQpDT05GSUdfSEFWRV9MQVRFTkNZVE9QX1NVUFBPUlQ9eQpDT05GSUdfTU1V PXkKQ09ORklHX05FRURfRE1BX01BUF9TVEFURT15CkNPTkZJR19ORUVEX1NHX0RNQV9MRU5HVEg9 eQpDT05GSUdfR0VORVJJQ19JU0FfRE1BPXkKQ09ORklHX0dFTkVSSUNfQlVHPXkKQ09ORklHX0dF TkVSSUNfQlVHX1JFTEFUSVZFX1BPSU5URVJTPXkKQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CkNP TkZJR19BUkNIX01BWV9IQVZFX1BDX0ZEQz15CkNPTkZJR19SV1NFTV9YQ0hHQUREX0FMR09SSVRI TT15CkNPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CkNPTkZJR19BUkNIX0hBU19DUFVf UkVMQVg9eQpDT05GSUdfQVJDSF9IQVNfQ0FDSEVfTElORV9TSVpFPXkKQ09ORklHX0FSQ0hfSEFT X0NQVV9BVVRPUFJPQkU9eQpDT05GSUdfSEFWRV9TRVRVUF9QRVJfQ1BVX0FSRUE9eQpDT05GSUdf TkVFRF9QRVJfQ1BVX0VNQkVEX0ZJUlNUX0NIVU5LPXkKQ09ORklHX05FRURfUEVSX0NQVV9QQUdF X0ZJUlNUX0NIVU5LPXkKQ09ORklHX0FSQ0hfSElCRVJOQVRJT05fUE9TU0lCTEU9eQpDT05GSUdf QVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKQ09ORklHX0FSQ0hfV0FOVF9IVUdFX1BNRF9TSEFSRT15 CkNPTkZJR19BUkNIX1dBTlRfR0VORVJBTF9IVUdFVExCPXkKQ09ORklHX1pPTkVfRE1BMzI9eQpD T05GSUdfQVVESVRfQVJDSD15CkNPTkZJR19BUkNIX1NVUFBPUlRTX09QVElNSVpFRF9JTkxJTklO Rz15CkNPTkZJR19BUkNIX1NVUFBPUlRTX0RFQlVHX1BBR0VBTExPQz15CkNPTkZJR19YODZfNjRf U01QPXkKQ09ORklHX1g4Nl9IVD15CkNPTkZJR19BUkNIX0hXRUlHSFRfQ0ZMQUdTPSItZmNhbGwt c2F2ZWQtcmRpIC1mY2FsbC1zYXZlZC1yc2kgLWZjYWxsLXNhdmVkLXJkeCAtZmNhbGwtc2F2ZWQt cmN4IC1mY2FsbC1zYXZlZC1yOCAtZmNhbGwtc2F2ZWQtcjkgLWZjYWxsLXNhdmVkLXIxMCAtZmNh bGwtc2F2ZWQtcjExIgpDT05GSUdfQVJDSF9DUFVfUFJPQkVfUkVMRUFTRT15CkNPTkZJR19BUkNI X1NVUFBPUlRTX1VQUk9CRVM9eQpDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8k VU5BTUVfUkVMRUFTRS8uY29uZmlnIgpDT05GSUdfSVJRX1dPUks9eQpDT05GSUdfQlVJTERUSU1F X0VYVEFCTEVfU09SVD15CgojCiMgR2VuZXJhbCBzZXR1cAojCkNPTkZJR19JTklUX0VOVl9BUkdf TElNSVQ9MzIKQ09ORklHX0NST1NTX0NPTVBJTEU9IiIKIyBDT05GSUdfQ09NUElMRV9URVNUIGlz IG5vdCBzZXQKQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgojIENPTkZJR19MT0NBTFZFUlNJT05fQVVU TyBpcyBub3Qgc2V0CkNPTkZJR19IQVZFX0tFUk5FTF9HWklQPXkKQ09ORklHX0hBVkVfS0VSTkVM X0JaSVAyPXkKQ09ORklHX0hBVkVfS0VSTkVMX0xaTUE9eQpDT05GSUdfSEFWRV9LRVJORUxfWFo9 eQpDT05GSUdfSEFWRV9LRVJORUxfTFpPPXkKQ09ORklHX0hBVkVfS0VSTkVMX0xaND15CiMgQ09O RklHX0tFUk5FTF9HWklQIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VSTkVMX0JaSVAyIGlzIG5vdCBz ZXQKIyBDT05GSUdfS0VSTkVMX0xaTUEgaXMgbm90IHNldAojIENPTkZJR19LRVJORUxfWFogaXMg bm90IHNldAojIENPTkZJR19LRVJORUxfTFpPIGlzIG5vdCBzZXQKQ09ORklHX0tFUk5FTF9MWjQ9 eQpDT05GSUdfREVGQVVMVF9IT1NUTkFNRT0iKG5vbmUpIgpDT05GSUdfU1dBUD15CkNPTkZJR19T WVNWSVBDPXkKQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKQ09ORklHX1BPU0lYX01RVUVVRT15CkNP TkZJR19QT1NJWF9NUVVFVUVfU1lTQ1RMPXkKQ09ORklHX0ZIQU5ETEU9eQojIENPTkZJR19BVURJ VCBpcyBub3Qgc2V0CgojCiMgSVJRIHN1YnN5c3RlbQojCkNPTkZJR19HRU5FUklDX0lSUV9QUk9C RT15CkNPTkZJR19HRU5FUklDX0lSUV9TSE9XPXkKQ09ORklHX0dFTkVSSUNfUEVORElOR19JUlE9 eQpDT05GSUdfSVJRX0ZPUkNFRF9USFJFQURJTkc9eQpDT05GSUdfU1BBUlNFX0lSUT15CkNPTkZJ R19DTE9DS1NPVVJDRV9XQVRDSERPRz15CkNPTkZJR19BUkNIX0NMT0NLU09VUkNFX0RBVEE9eQpD T05GSUdfR0VORVJJQ19USU1FX1ZTWVNDQUxMPXkKQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9 eQpDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CkNPTkZJR19HRU5FUklDX0NMT0NL RVZFTlRTX0JST0FEQ0FTVD15CkNPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX01JTl9BREpVU1Q9 eQpDT05GSUdfR0VORVJJQ19DTU9TX1VQREFURT15CgojCiMgVGltZXJzIHN1YnN5c3RlbQojCkNP TkZJR19USUNLX09ORVNIT1Q9eQpDT05GSUdfSFpfUEVSSU9ESUM9eQojIENPTkZJR19OT19IWl9J RExFIGlzIG5vdCBzZXQKIyBDT05GSUdfTk9fSFpfRlVMTCBpcyBub3Qgc2V0CkNPTkZJR19OT19I Wj15CkNPTkZJR19ISUdIX1JFU19USU1FUlM9eQoKIwojIENQVS9UYXNrIHRpbWUgYW5kIHN0YXRz IGFjY291bnRpbmcKIwpDT05GSUdfVElDS19DUFVfQUNDT1VOVElORz15CiMgQ09ORklHX1ZJUlRf Q1BVX0FDQ09VTlRJTkdfR0VOIGlzIG5vdCBzZXQKIyBDT05GSUdfSVJRX1RJTUVfQUNDT1VOVElO RyBpcyBub3Qgc2V0CkNPTkZJR19CU0RfUFJPQ0VTU19BQ0NUPXkKQ09ORklHX0JTRF9QUk9DRVNT X0FDQ1RfVjM9eQpDT05GSUdfVEFTS1NUQVRTPXkKQ09ORklHX1RBU0tfREVMQVlfQUNDVD15CiMg Q09ORklHX1RBU0tfWEFDQ1QgaXMgbm90IHNldAoKIwojIFJDVSBTdWJzeXN0ZW0KIwpDT05GSUdf VFJFRV9QUkVFTVBUX1JDVT15CkNPTkZJR19QUkVFTVBUX1JDVT15CkNPTkZJR19SQ1VfU1RBTExf Q09NTU9OPXkKIyBDT05GSUdfUkNVX1VTRVJfUVMgaXMgbm90IHNldApDT05GSUdfUkNVX0ZBTk9V VD02NApDT05GSUdfUkNVX0ZBTk9VVF9MRUFGPTE2CiMgQ09ORklHX1JDVV9GQU5PVVRfRVhBQ1Qg aXMgbm90IHNldAojIENPTkZJR19UUkVFX1JDVV9UUkFDRSBpcyBub3Qgc2V0CiMgQ09ORklHX1JD VV9CT09TVCBpcyBub3Qgc2V0CiMgQ09ORklHX1JDVV9OT0NCX0NQVSBpcyBub3Qgc2V0CkNPTkZJ R19JS0NPTkZJRz1tCkNPTkZJR19JS0NPTkZJR19QUk9DPXkKQ09ORklHX0xPR19CVUZfU0hJRlQ9 MTMKQ09ORklHX0hBVkVfVU5TVEFCTEVfU0NIRURfQ0xPQ0s9eQpDT05GSUdfQVJDSF9TVVBQT1JU U19OVU1BX0JBTEFOQ0lORz15CkNPTkZJR19BUkNIX1dBTlRTX1BST1RfTlVNQV9QUk9UX05PTkU9 eQpDT05GSUdfQ0dST1VQUz15CiMgQ09ORklHX0NHUk9VUF9ERUJVRyBpcyBub3Qgc2V0CiMgQ09O RklHX0NHUk9VUF9GUkVFWkVSIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0dST1VQX0RFVklDRSBpcyBu b3Qgc2V0CkNPTkZJR19DUFVTRVRTPXkKQ09ORklHX1BST0NfUElEX0NQVVNFVD15CkNPTkZJR19D R1JPVVBfQ1BVQUNDVD15CiMgQ09ORklHX1JFU09VUkNFX0NPVU5URVJTIGlzIG5vdCBzZXQKIyBD T05GSUdfQ0dST1VQX1BFUkYgaXMgbm90IHNldAojIENPTkZJR19DR1JPVVBfU0NIRUQgaXMgbm90 IHNldAojIENPTkZJR19CTEtfQ0dST1VQIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hFQ0tQT0lOVF9S RVNUT1JFIGlzIG5vdCBzZXQKQ09ORklHX05BTUVTUEFDRVM9eQpDT05GSUdfVVRTX05TPXkKQ09O RklHX0lQQ19OUz15CiMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldApDT05GSUdfUElEX05TPXkK Q09ORklHX05FVF9OUz15CiMgQ09ORklHX1VJREdJRF9TVFJJQ1RfVFlQRV9DSEVDS1MgaXMgbm90 IHNldAojIENPTkZJR19TQ0hFRF9BVVRPR1JPVVAgaXMgbm90IHNldAojIENPTkZJR19TWVNGU19E RVBSRUNBVEVEIGlzIG5vdCBzZXQKIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldApDT05GSUdfQkxL X0RFVl9JTklUUkQ9eQpDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgpDT05GSUdfUkRfR1pJUD15 CkNPTkZJR19SRF9CWklQMj15CkNPTkZJR19SRF9MWk1BPXkKQ09ORklHX1JEX1haPXkKQ09ORklH X1JEX0xaTz15CkNPTkZJR19SRF9MWjQ9eQpDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQpD T05GSUdfU1lTQ1RMPXkKQ09ORklHX0FOT05fSU5PREVTPXkKQ09ORklHX0hBVkVfVUlEMTY9eQpD T05GSUdfU1lTQ1RMX0VYQ0VQVElPTl9UUkFDRT15CkNPTkZJR19IQVZFX1BDU1BLUl9QTEFURk9S TT15CiMgQ09ORklHX0VYUEVSVCBpcyBub3Qgc2V0CkNPTkZJR19VSUQxNj15CiMgQ09ORklHX1NZ U0NUTF9TWVNDQUxMIGlzIG5vdCBzZXQKQ09ORklHX0tBTExTWU1TPXkKIyBDT05GSUdfS0FMTFNZ TVNfQUxMIGlzIG5vdCBzZXQKQ09ORklHX1BSSU5USz15CkNPTkZJR19CVUc9eQpDT05GSUdfRUxG X0NPUkU9eQpDT05GSUdfUENTUEtSX1BMQVRGT1JNPXkKQ09ORklHX0JBU0VfRlVMTD15CkNPTkZJ R19GVVRFWD15CkNPTkZJR19FUE9MTD15CkNPTkZJR19TSUdOQUxGRD15CkNPTkZJR19USU1FUkZE PXkKQ09ORklHX0VWRU5URkQ9eQpDT05GSUdfU0hNRU09eQpDT05GSUdfQUlPPXkKQ09ORklHX1BD SV9RVUlSS1M9eQojIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CkNPTkZJR19IQVZFX1BFUkZf RVZFTlRTPXkKCiMKIyBLZXJuZWwgUGVyZm9ybWFuY2UgRXZlbnRzIEFuZCBDb3VudGVycwojCkNP TkZJR19QRVJGX0VWRU5UUz15CiMgQ09ORklHX0RFQlVHX1BFUkZfVVNFX1ZNQUxMT0MgaXMgbm90 IHNldApDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQpDT05GSUdfQ09NUEFUX0JSSz15CkNPTkZJ R19TTEFCPXkKIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CkNPTkZJR19QUk9GSUxJTkc9eQojIENP TkZJR19PUFJPRklMRSBpcyBub3Qgc2V0CkNPTkZJR19IQVZFX09QUk9GSUxFPXkKQ09ORklHX09Q Uk9GSUxFX05NSV9USU1FUj15CiMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldApDT05GSUdfSlVN UF9MQUJFTD15CiMgQ09ORklHX0hBVkVfNjRCSVRfQUxJR05FRF9BQ0NFU1MgaXMgbm90IHNldApD T05GSUdfSEFWRV9FRkZJQ0lFTlRfVU5BTElHTkVEX0FDQ0VTUz15CkNPTkZJR19BUkNIX1VTRV9C VUlMVElOX0JTV0FQPXkKQ09ORklHX0hBVkVfSU9SRU1BUF9QUk9UPXkKQ09ORklHX0hBVkVfS1BS T0JFUz15CkNPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQpDT05GSUdfSEFWRV9PUFRQUk9CRVM9eQpD T05GSUdfSEFWRV9LUFJPQkVTX09OX0ZUUkFDRT15CkNPTkZJR19IQVZFX0FSQ0hfVFJBQ0VIT09L PXkKQ09ORklHX0hBVkVfRE1BX0FUVFJTPXkKQ09ORklHX1VTRV9HRU5FUklDX1NNUF9IRUxQRVJT PXkKQ09ORklHX0dFTkVSSUNfU01QX0lETEVfVEhSRUFEPXkKQ09ORklHX0hBVkVfUkVHU19BTkRf U1RBQ0tfQUNDRVNTX0FQST15CkNPTkZJR19IQVZFX0NMSz15CkNPTkZJR19IQVZFX0RNQV9BUElf REVCVUc9eQpDT05GSUdfSEFWRV9IV19CUkVBS1BPSU5UPXkKQ09ORklHX0hBVkVfTUlYRURfQlJF QUtQT0lOVFNfUkVHUz15CkNPTkZJR19IQVZFX1VTRVJfUkVUVVJOX05PVElGSUVSPXkKQ09ORklH X0hBVkVfUEVSRl9FVkVOVFNfTk1JPXkKQ09ORklHX0hBVkVfUEVSRl9SRUdTPXkKQ09ORklHX0hB VkVfUEVSRl9VU0VSX1NUQUNLX0RVTVA9eQpDT05GSUdfSEFWRV9BUkNIX0pVTVBfTEFCRUw9eQpD T05GSUdfQVJDSF9IQVZFX05NSV9TQUZFX0NNUFhDSEc9eQpDT05GSUdfSEFWRV9DTVBYQ0hHX0xP Q0FMPXkKQ09ORklHX0hBVkVfQ01QWENIR19ET1VCTEU9eQpDT05GSUdfQVJDSF9XQU5UX0NPTVBB VF9JUENfUEFSU0VfVkVSU0lPTj15CkNPTkZJR19BUkNIX1dBTlRfT0xEX0NPTVBBVF9JUEM9eQpD T05GSUdfSEFWRV9BUkNIX1NFQ0NPTVBfRklMVEVSPXkKQ09ORklHX1NFQ0NPTVBfRklMVEVSPXkK Q09ORklHX0hBVkVfQ09OVEVYVF9UUkFDS0lORz15CkNPTkZJR19IQVZFX0lSUV9USU1FX0FDQ09V TlRJTkc9eQpDT05GSUdfSEFWRV9BUkNIX1RSQU5TUEFSRU5UX0hVR0VQQUdFPXkKQ09ORklHX0hB VkVfQVJDSF9TT0ZUX0RJUlRZPXkKQ09ORklHX01PRFVMRVNfVVNFX0VMRl9SRUxBPXkKQ09ORklH X09MRF9TSUdTVVNQRU5EMz15CkNPTkZJR19DT01QQVRfT0xEX1NJR0FDVElPTj15CgojCiMgR0NP Vi1iYXNlZCBrZXJuZWwgcHJvZmlsaW5nCiMKIyBDT05GSUdfSEFWRV9HRU5FUklDX0RNQV9DT0hF UkVOVCBpcyBub3Qgc2V0CkNPTkZJR19TTEFCSU5GTz15CkNPTkZJR19SVF9NVVRFWEVTPXkKQ09O RklHX0JBU0VfU01BTEw9MApDT05GSUdfTU9EVUxFUz15CiMgQ09ORklHX01PRFVMRV9GT1JDRV9M T0FEIGlzIG5vdCBzZXQKQ09ORklHX01PRFVMRV9VTkxPQUQ9eQpDT05GSUdfTU9EVUxFX0ZPUkNF X1VOTE9BRD15CkNPTkZJR19NT0RWRVJTSU9OUz15CiMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9O X0FMTCBpcyBub3Qgc2V0CiMgQ09ORklHX01PRFVMRV9TSUcgaXMgbm90IHNldApDT05GSUdfU1RP UF9NQUNISU5FPXkKQ09ORklHX0JMT0NLPXkKQ09ORklHX0JMS19ERVZfQlNHPXkKQ09ORklHX0JM S19ERVZfQlNHTElCPXkKIyBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgaXMgbm90IHNldAojIENP TkZJR19CTEtfQ01ETElORV9QQVJTRVIgaXMgbm90IHNldAoKIwojIFBhcnRpdGlvbiBUeXBlcwoj CkNPTkZJR19QQVJUSVRJT05fQURWQU5DRUQ9eQojIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMg bm90IHNldAojIENPTkZJR19BSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfT1NGX1BB UlRJVElPTiBpcyBub3Qgc2V0CiMgQ09ORklHX0FNSUdBX1BBUlRJVElPTiBpcyBub3Qgc2V0CiMg Q09ORklHX0FUQVJJX1BBUlRJVElPTiBpcyBub3Qgc2V0CiMgQ09ORklHX01BQ19QQVJUSVRJT04g aXMgbm90IHNldApDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKIyBDT05GSUdfQlNEX0RJU0tMQUJF TCBpcyBub3Qgc2V0CiMgQ09ORklHX01JTklYX1NVQlBBUlRJVElPTiBpcyBub3Qgc2V0CiMgQ09O RklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTiBpcyBub3Qgc2V0CiMgQ09ORklHX1VOSVhXQVJFX0RJ U0tMQUJFTCBpcyBub3Qgc2V0CkNPTkZJR19MRE1fUEFSVElUSU9OPXkKIyBDT05GSUdfTERNX0RF QlVHIGlzIG5vdCBzZXQKQ09ORklHX1NHSV9QQVJUSVRJT049eQojIENPTkZJR19VTFRSSVhfUEFS VElUSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfU1VOX1BBUlRJVElPTiBpcyBub3Qgc2V0CiMgQ09O RklHX0tBUk1BX1BBUlRJVElPTiBpcyBub3Qgc2V0CkNPTkZJR19FRklfUEFSVElUSU9OPXkKIyBD T05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CiMgQ09ORklHX0NNRExJTkVfUEFSVElU SU9OIGlzIG5vdCBzZXQKQ09ORklHX0JMT0NLX0NPTVBBVD15CgojCiMgSU8gU2NoZWR1bGVycwoj CkNPTkZJR19JT1NDSEVEX05PT1A9eQpDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CkNPTkZJR19J T1NDSEVEX0NGUT15CiMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldApDT05GSUdf REVGQVVMVF9DRlE9eQojIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldApDT05GSUdfREVG QVVMVF9JT1NDSEVEPSJjZnEiCkNPTkZJR19VTklOTElORV9TUElOX1VOTE9DSz15CkNPTkZJR19N VVRFWF9TUElOX09OX09XTkVSPXkKQ09ORklHX0ZSRUVaRVI9eQoKIwojIFByb2Nlc3NvciB0eXBl IGFuZCBmZWF0dXJlcwojCkNPTkZJR19aT05FX0RNQT15CkNPTkZJR19TTVA9eQojIENPTkZJR19Y ODZfTVBQQVJTRSBpcyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9FWFRFTkRFRF9QTEFURk9STSBpcyBu b3Qgc2V0CkNPTkZJR19YODZfSU5URUxfTFBTUz15CkNPTkZJR19YODZfU1VQUE9SVFNfTUVNT1JZ X0ZBSUxVUkU9eQpDT05GSUdfU0NIRURfT01JVF9GUkFNRV9QT0lOVEVSPXkKIyBDT05GSUdfSFlQ RVJWSVNPUl9HVUVTVCBpcyBub3Qgc2V0CkNPTkZJR19OT19CT09UTUVNPXkKIyBDT05GSUdfTUVN VEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX01LOCBpcyBub3Qgc2V0CiMgQ09ORklHX01QU0MgaXMg bm90IHNldApDT05GSUdfTUNPUkUyPXkKIyBDT05GSUdfTUFUT00gaXMgbm90IHNldAojIENPTkZJ R19HRU5FUklDX0NQVSBpcyBub3Qgc2V0CkNPTkZJR19YODZfSU5URVJOT0RFX0NBQ0hFX1NISUZU PTYKQ09ORklHX1g4Nl9MMV9DQUNIRV9TSElGVD02CkNPTkZJR19YODZfSU5URUxfVVNFUkNPUFk9 eQpDT05GSUdfWDg2X1VTRV9QUFJPX0NIRUNLU1VNPXkKQ09ORklHX1g4Nl9QNl9OT1A9eQpDT05G SUdfWDg2X1RTQz15CkNPTkZJR19YODZfQ01QWENIRzY0PXkKQ09ORklHX1g4Nl9DTU9WPXkKQ09O RklHX1g4Nl9NSU5JTVVNX0NQVV9GQU1JTFk9NjQKQ09ORklHX1g4Nl9ERUJVR0NUTE1TUj15CkNP TkZJR19DUFVfU1VQX0lOVEVMPXkKQ09ORklHX0NQVV9TVVBfQU1EPXkKQ09ORklHX0NQVV9TVVBf Q0VOVEFVUj15CkNPTkZJR19IUEVUX1RJTUVSPXkKQ09ORklHX0hQRVRfRU1VTEFURV9SVEM9eQpD T05GSUdfRE1JPXkKQ09ORklHX0dBUlRfSU9NTVU9eQpDT05GSUdfQ0FMR0FSWV9JT01NVT15CkNP TkZJR19DQUxHQVJZX0lPTU1VX0VOQUJMRURfQllfREVGQVVMVD15CkNPTkZJR19TV0lPVExCPXkK Q09ORklHX0lPTU1VX0hFTFBFUj15CkNPTkZJR19NQVhTTVA9eQpDT05GSUdfTlJfQ1BVUz00MDk2 CkNPTkZJR19TQ0hFRF9TTVQ9eQpDT05GSUdfU0NIRURfTUM9eQojIENPTkZJR19QUkVFTVBUX05P TkUgaXMgbm90IHNldAojIENPTkZJR19QUkVFTVBUX1ZPTFVOVEFSWSBpcyBub3Qgc2V0CkNPTkZJ R19QUkVFTVBUPXkKQ09ORklHX1BSRUVNUFRfQ09VTlQ9eQpDT05GSUdfWDg2X0xPQ0FMX0FQSUM9 eQpDT05GSUdfWDg2X0lPX0FQSUM9eQojIENPTkZJR19YODZfUkVST1VURV9GT1JfQlJPS0VOX0JP T1RfSVJRUyBpcyBub3Qgc2V0CkNPTkZJR19YODZfTUNFPXkKQ09ORklHX1g4Nl9NQ0VfSU5URUw9 eQojIENPTkZJR19YODZfTUNFX0FNRCBpcyBub3Qgc2V0CkNPTkZJR19YODZfTUNFX1RIUkVTSE9M RD15CiMgQ09ORklHX1g4Nl9NQ0VfSU5KRUNUIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9USEVSTUFM X1ZFQ1RPUj15CiMgQ09ORklHX0k4SyBpcyBub3Qgc2V0CkNPTkZJR19NSUNST0NPREU9eQpDT05G SUdfTUlDUk9DT0RFX0lOVEVMPXkKIyBDT05GSUdfTUlDUk9DT0RFX0FNRCBpcyBub3Qgc2V0CkNP TkZJR19NSUNST0NPREVfT0xEX0lOVEVSRkFDRT15CkNPTkZJR19NSUNST0NPREVfSU5URUxfTElC PXkKQ09ORklHX01JQ1JPQ09ERV9JTlRFTF9FQVJMWT15CiMgQ09ORklHX01JQ1JPQ09ERV9BTURf RUFSTFkgaXMgbm90IHNldApDT05GSUdfTUlDUk9DT0RFX0VBUkxZPXkKQ09ORklHX1g4Nl9NU1I9 eQpDT05GSUdfWDg2X0NQVUlEPXkKQ09ORklHX0FSQ0hfUEhZU19BRERSX1RfNjRCSVQ9eQpDT05G SUdfQVJDSF9ETUFfQUREUl9UXzY0QklUPXkKQ09ORklHX0RJUkVDVF9HQlBBR0VTPXkKIyBDT05G SUdfTlVNQSBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX1NQQVJTRU1FTV9FTkFCTEU9eQpDT05GSUdf QVJDSF9TUEFSU0VNRU1fREVGQVVMVD15CkNPTkZJR19BUkNIX1NFTEVDVF9NRU1PUllfTU9ERUw9 eQpDT05GSUdfQVJDSF9QUk9DX0tDT1JFX1RFWFQ9eQpDT05GSUdfSUxMRUdBTF9QT0lOVEVSX1ZB TFVFPTB4ZGVhZDAwMDAwMDAwMDAwMApDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CkNPTkZJ R19TUEFSU0VNRU1fTUFOVUFMPXkKQ09ORklHX1NQQVJTRU1FTT15CkNPTkZJR19IQVZFX01FTU9S WV9QUkVTRU5UPXkKQ09ORklHX1NQQVJTRU1FTV9FWFRSRU1FPXkKQ09ORklHX1NQQVJTRU1FTV9W TUVNTUFQX0VOQUJMRT15CkNPTkZJR19TUEFSU0VNRU1fQUxMT0NfTUVNX01BUF9UT0dFVEhFUj15 CkNPTkZJR19TUEFSU0VNRU1fVk1FTU1BUD15CkNPTkZJR19IQVZFX01FTUJMT0NLPXkKQ09ORklH X0hBVkVfTUVNQkxPQ0tfTk9ERV9NQVA9eQpDT05GSUdfQVJDSF9ESVNDQVJEX01FTUJMT0NLPXkK IyBDT05GSUdfSEFWRV9CT09UTUVNX0lORk9fTk9ERSBpcyBub3Qgc2V0CiMgQ09ORklHX01FTU9S WV9IT1RQTFVHIGlzIG5vdCBzZXQKQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CkNPTkZJR19T UExJVF9QVExPQ0tfQ1BVUz00CkNPTkZJR19DT01QQUNUSU9OPXkKQ09ORklHX01JR1JBVElPTj15 CkNPTkZJR19QSFlTX0FERFJfVF82NEJJVD15CkNPTkZJR19aT05FX0RNQV9GTEFHPTEKQ09ORklH X0JPVU5DRT15CkNPTkZJR19WSVJUX1RPX0JVUz15CiMgQ09ORklHX0tTTSBpcyBub3Qgc2V0CkNP TkZJR19ERUZBVUxUX01NQVBfTUlOX0FERFI9NjU1MzYKQ09ORklHX0FSQ0hfU1VQUE9SVFNfTUVN T1JZX0ZBSUxVUkU9eQojIENPTkZJR19NRU1PUllfRkFJTFVSRSBpcyBub3Qgc2V0CiMgQ09ORklH X1RSQU5TUEFSRU5UX0hVR0VQQUdFIGlzIG5vdCBzZXQKQ09ORklHX0NST1NTX01FTU9SWV9BVFRB Q0g9eQpDT05GSUdfQ0xFQU5DQUNIRT15CkNPTkZJR19GUk9OVFNXQVA9eQojIENPTkZJR19DTUEg aXMgbm90IHNldApDT05GSUdfWkJVRD15CkNPTkZJR19aU1dBUD15CiMgQ09ORklHX1g4Nl9DSEVD S19CSU9TX0NPUlJVUFRJT04gaXMgbm90IHNldApDT05GSUdfWDg2X1JFU0VSVkVfTE9XPTY0CkNP TkZJR19NVFJSPXkKIyBDT05GSUdfTVRSUl9TQU5JVElaRVIgaXMgbm90IHNldApDT05GSUdfWDg2 X1BBVD15CkNPTkZJR19BUkNIX1VTRVNfUEdfVU5DQUNIRUQ9eQpDT05GSUdfQVJDSF9SQU5ET009 eQpDT05GSUdfWDg2X1NNQVA9eQpDT05GSUdfRUZJPXkKQ09ORklHX0VGSV9TVFVCPXkKQ09ORklH X1NFQ0NPTVA9eQpDT05GSUdfQ0NfU1RBQ0tQUk9URUNUT1I9eQojIENPTkZJR19IWl8xMDAgaXMg bm90IHNldAojIENPTkZJR19IWl8yNTAgaXMgbm90IHNldAojIENPTkZJR19IWl8zMDAgaXMgbm90 IHNldApDT05GSUdfSFpfMTAwMD15CkNPTkZJR19IWj0xMDAwCkNPTkZJR19TQ0hFRF9IUlRJQ0s9 eQojIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQVNIX0RVTVAgaXMgbm90IHNl dApDT05GSUdfUEhZU0lDQUxfU1RBUlQ9MHgxMDAwMDAwCiMgQ09ORklHX1JFTE9DQVRBQkxFIGlz IG5vdCBzZXQKQ09ORklHX1BIWVNJQ0FMX0FMSUdOPTB4MTAwMDAwMApDT05GSUdfSE9UUExVR19D UFU9eQpDT05GSUdfQk9PVFBBUkFNX0hPVFBMVUdfQ1BVMD15CiMgQ09ORklHX0RFQlVHX0hPVFBM VUdfQ1BVMCBpcyBub3Qgc2V0CkNPTkZJR19DT01QQVRfVkRTTz15CiMgQ09ORklHX0NNRExJTkVf Qk9PTCBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRz15CgojCiMg UG93ZXIgbWFuYWdlbWVudCBhbmQgQUNQSSBvcHRpb25zCiMKQ09ORklHX0FSQ0hfSElCRVJOQVRJ T05fSEVBREVSPXkKQ09ORklHX1NVU1BFTkQ9eQpDT05GSUdfU1VTUEVORF9GUkVFWkVSPXkKQ09O RklHX0hJQkVSTkFURV9DQUxMQkFDS1M9eQpDT05GSUdfSElCRVJOQVRJT049eQpDT05GSUdfUE1f U1REX1BBUlRJVElPTj0iL2Rldi9zZGIzIgpDT05GSUdfUE1fU0xFRVA9eQpDT05GSUdfUE1fU0xF RVBfU01QPXkKIyBDT05GSUdfUE1fQVVUT1NMRUVQIGlzIG5vdCBzZXQKIyBDT05GSUdfUE1fV0FL RUxPQ0tTIGlzIG5vdCBzZXQKQ09ORklHX1BNX1JVTlRJTUU9eQpDT05GSUdfUE09eQojIENPTkZJ R19QTV9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19QTV9DTEs9eQpDT05GSUdfV1FfUE9XRVJfRUZG SUNJRU5UX0RFRkFVTFQ9eQpDT05GSUdfQUNQST15CkNPTkZJR19BQ1BJX1NMRUVQPXkKQ09ORklH X0FDUElfUFJPQ0ZTPXkKQ09ORklHX0FDUElfUFJPQ0ZTX1BPV0VSPXkKIyBDT05GSUdfQUNQSV9F Q19ERUJVR0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQSV9BQyBpcyBub3Qgc2V0CiMgQ09ORklH X0FDUElfQkFUVEVSWSBpcyBub3Qgc2V0CkNPTkZJR19BQ1BJX0JVVFRPTj15CkNPTkZJR19BQ1BJ X1ZJREVPPXkKQ09ORklHX0FDUElfRkFOPW0KIyBDT05GSUdfQUNQSV9ET0NLIGlzIG5vdCBzZXQK Q09ORklHX0FDUElfUFJPQ0VTU09SPXkKQ09ORklHX0FDUElfSE9UUExVR19DUFU9eQojIENPTkZJ R19BQ1BJX1BST0NFU1NPUl9BR0dSRUdBVE9SIGlzIG5vdCBzZXQKQ09ORklHX0FDUElfVEhFUk1B TD15CiMgQ09ORklHX0FDUElfQ1VTVE9NX0RTRFQgaXMgbm90IHNldAojIENPTkZJR19BQ1BJX0lO SVRSRF9UQUJMRV9PVkVSUklERSBpcyBub3Qgc2V0CkNPTkZJR19BQ1BJX0JMQUNLTElTVF9ZRUFS PTAKIyBDT05GSUdfQUNQSV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX0FDUElfUENJX1NMT1Qg aXMgbm90IHNldApDT05GSUdfWDg2X1BNX1RJTUVSPXkKQ09ORklHX0FDUElfQ09OVEFJTkVSPXkK IyBDT05GSUdfQUNQSV9TQlMgaXMgbm90IHNldAojIENPTkZJR19BQ1BJX0hFRCBpcyBub3Qgc2V0 CiMgQ09ORklHX0FDUElfQkdSVCBpcyBub3Qgc2V0CiMgQ09ORklHX0FDUElfQVBFSSBpcyBub3Qg c2V0CkNPTkZJR19TRkk9eQoKIwojIENQVSBGcmVxdWVuY3kgc2NhbGluZwojCkNPTkZJR19DUFVf RlJFUT15CkNPTkZJR19DUFVfRlJFUV9UQUJMRT15CiMgQ09ORklHX0NQVV9GUkVRX1NUQVQgaXMg bm90IHNldApDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfUEVSRk9STUFOQ0U9eQojIENPTkZJ R19DUFVfRlJFUV9ERUZBVUxUX0dPVl9VU0VSU1BBQ0UgaXMgbm90IHNldAojIENPTkZJR19DUFVf RlJFUV9ERUZBVUxUX0dPVl9PTkRFTUFORCBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9GUkVRX0RF RkFVTFRfR09WX0NPTlNFUlZBVElWRSBpcyBub3Qgc2V0CkNPTkZJR19DUFVfRlJFUV9HT1ZfUEVS Rk9STUFOQ0U9eQojIENPTkZJR19DUFVfRlJFUV9HT1ZfUE9XRVJTQVZFIGlzIG5vdCBzZXQKIyBD T05GSUdfQ1BVX0ZSRVFfR09WX1VTRVJTUEFDRSBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9GUkVR X0dPVl9PTkRFTUFORCBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9GUkVRX0dPVl9DT05TRVJWQVRJ VkUgaXMgbm90IHNldAoKIwojIHg4NiBDUFUgZnJlcXVlbmN5IHNjYWxpbmcgZHJpdmVycwojCkNP TkZJR19YODZfSU5URUxfUFNUQVRFPXkKIyBDT05GSUdfWDg2X1BDQ19DUFVGUkVRIGlzIG5vdCBz ZXQKQ09ORklHX1g4Nl9BQ1BJX0NQVUZSRVE9eQojIENPTkZJR19YODZfQUNQSV9DUFVGUkVRX0NQ QiBpcyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9QT1dFUk5PV19LOCBpcyBub3Qgc2V0CiMgQ09ORklH X1g4Nl9TUEVFRFNURVBfQ0VOVFJJTk8gaXMgbm90IHNldAojIENPTkZJR19YODZfUDRfQ0xPQ0tN T0QgaXMgbm90IHNldAoKIwojIHNoYXJlZCBvcHRpb25zCiMKIyBDT05GSUdfWDg2X1NQRUVEU1RF UF9MSUIgaXMgbm90IHNldAoKIwojIENQVSBJZGxlCiMKQ09ORklHX0NQVV9JRExFPXkKIyBDT05G SUdfQ1BVX0lETEVfTVVMVElQTEVfRFJJVkVSUyBpcyBub3Qgc2V0CkNPTkZJR19DUFVfSURMRV9H T1ZfTEFEREVSPXkKQ09ORklHX0NQVV9JRExFX0dPVl9NRU5VPXkKIyBDT05GSUdfQVJDSF9ORUVE U19DUFVfSURMRV9DT1VQTEVEIGlzIG5vdCBzZXQKQ09ORklHX0lOVEVMX0lETEU9eQoKIwojIE1l bW9yeSBwb3dlciBzYXZpbmdzCiMKIyBDT05GSUdfSTczMDBfSURMRSBpcyBub3Qgc2V0CgojCiMg QnVzIG9wdGlvbnMgKFBDSSBldGMuKQojCkNPTkZJR19QQ0k9eQpDT05GSUdfUENJX0RJUkVDVD15 CkNPTkZJR19QQ0lfTU1DT05GSUc9eQpDT05GSUdfUENJX0RPTUFJTlM9eQpDT05GSUdfUENJRVBP UlRCVVM9eQojIENPTkZJR19QQ0lFQUVSIGlzIG5vdCBzZXQKQ09ORklHX1BDSUVBU1BNPXkKIyBD T05GSUdfUENJRUFTUE1fREVCVUcgaXMgbm90IHNldAojIENPTkZJR19QQ0lFQVNQTV9ERUZBVUxU IGlzIG5vdCBzZXQKIyBDT05GSUdfUENJRUFTUE1fUE9XRVJTQVZFIGlzIG5vdCBzZXQKQ09ORklH X1BDSUVBU1BNX1BFUkZPUk1BTkNFPXkKQ09ORklHX1BDSUVfUE1FPXkKQ09ORklHX1BDSV9NU0k9 eQojIENPTkZJR19QQ0lfREVCVUcgaXMgbm90IHNldAojIENPTkZJR19QQ0lfUkVBTExPQ19FTkFC TEVfQVVUTyBpcyBub3Qgc2V0CkNPTkZJR19QQ0lfU1RVQj1tCkNPTkZJR19IVF9JUlE9eQpDT05G SUdfUENJX0FUUz15CkNPTkZJR19QQ0lfSU9WPXkKIyBDT05GSUdfUENJX1BSSSBpcyBub3Qgc2V0 CkNPTkZJR19QQ0lfUEFTSUQ9eQojIENPTkZJR19QQ0lfSU9BUElDIGlzIG5vdCBzZXQKQ09ORklH X1BDSV9MQUJFTD15CgojCiMgUENJIGhvc3QgY29udHJvbGxlciBkcml2ZXJzCiMKQ09ORklHX0lT QV9ETUFfQVBJPXkKQ09ORklHX0FNRF9OQj15CkNPTkZJR19QQ0NBUkQ9bQpDT05GSUdfUENNQ0lB PW0KIyBDT05GSUdfUENNQ0lBX0xPQURfQ0lTIGlzIG5vdCBzZXQKQ09ORklHX0NBUkRCVVM9eQoK IwojIFBDLWNhcmQgYnJpZGdlcwojCkNPTkZJR19ZRU5UQT1tCkNPTkZJR19ZRU5UQV9PMj15CkNP TkZJR19ZRU5UQV9SSUNPSD15CkNPTkZJR19ZRU5UQV9UST15CkNPTkZJR19ZRU5UQV9FTkVfVFVO RT15CkNPTkZJR19ZRU5UQV9UT1NISUJBPXkKQ09ORklHX1BENjcyOT1tCkNPTkZJR19JODIwOTI9 bQpDT05GSUdfUENDQVJEX05PTlNUQVRJQz15CiMgQ09ORklHX0hPVFBMVUdfUENJIGlzIG5vdCBz ZXQKIyBDT05GSUdfUkFQSURJTyBpcyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9TWVNGQiBpcyBub3Qg c2V0CgojCiMgRXhlY3V0YWJsZSBmaWxlIGZvcm1hdHMgLyBFbXVsYXRpb25zCiMKQ09ORklHX0JJ TkZNVF9FTEY9eQpDT05GSUdfQ09NUEFUX0JJTkZNVF9FTEY9eQpDT05GSUdfQVJDSF9CSU5GTVRf RUxGX1JBTkRPTUlaRV9QSUU9eQpDT05GSUdfQ09SRV9EVU1QX0RFRkFVTFRfRUxGX0hFQURFUlM9 eQpDT05GSUdfQklORk1UX1NDUklQVD15CiMgQ09ORklHX0hBVkVfQU9VVCBpcyBub3Qgc2V0CkNP TkZJR19CSU5GTVRfTUlTQz15CkNPTkZJR19DT1JFRFVNUD15CkNPTkZJR19JQTMyX0VNVUxBVElP Tj15CiMgQ09ORklHX0lBMzJfQU9VVCBpcyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9YMzIgaXMgbm90 IHNldApDT05GSUdfQ09NUEFUPXkKQ09ORklHX0NPTVBBVF9GT1JfVTY0X0FMSUdOTUVOVD15CkNP TkZJR19TWVNWSVBDX0NPTVBBVD15CkNPTkZJR19LRVlTX0NPTVBBVD15CkNPTkZJR19YODZfREVW X0RNQV9PUFM9eQpDT05GSUdfTkVUPXkKCiMKIyBOZXR3b3JraW5nIG9wdGlvbnMKIwpDT05GSUdf UEFDS0VUPW0KIyBDT05GSUdfUEFDS0VUX0RJQUcgaXMgbm90IHNldApDT05GSUdfVU5JWD15CiMg Q09ORklHX1VOSVhfRElBRyBpcyBub3Qgc2V0CkNPTkZJR19YRlJNPXkKQ09ORklHX1hGUk1fQUxH Tz15CkNPTkZJR19YRlJNX1VTRVI9eQojIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNl dAojIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAojIENPTkZJR19YRlJNX1NUQVRJU1RJ Q1MgaXMgbm90IHNldAojIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKQ09ORklHX0lORVQ9eQoj IENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAojIENPTkZJR19JUF9BRFZBTkNFRF9ST1VU RVIgaXMgbm90IHNldApDT05GSUdfSVBfUE5QPXkKQ09ORklHX0lQX1BOUF9ESENQPXkKIyBDT05G SUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNl dAojIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9JUEdSRV9ERU1VWCBp cyBub3Qgc2V0CiMgQ09ORklHX05FVF9JUF9UVU5ORUwgaXMgbm90IHNldApDT05GSUdfU1lOX0NP T0tJRVM9eQojIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9FU1AgaXMg bm90IHNldAojIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVRfWEZS TV9UVU5ORUwgaXMgbm90IHNldAojIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0CiMgQ09O RklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVRfWEZS TV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMg bm90IHNldApDT05GSUdfSU5FVF9MUk89eQojIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAoj IENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkNPTkZJR19UQ1BfQ09OR19DVUJJ Qz15CkNPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKQ09ORklHX1RDUF9NRDVTSUc9eQoj IENPTkZJR19JUFY2IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBz ZXQKIyBDT05GSUdfTkVUV09SS19QSFlfVElNRVNUQU1QSU5HIGlzIG5vdCBzZXQKIyBDT05GSUdf TkVURklMVEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CkNPTkZJR19J UF9TQ1RQPW0KIyBDT05GSUdfU0NUUF9EQkdfT0JKQ05UIGlzIG5vdCBzZXQKQ09ORklHX1NDVFBf REVGQVVMVF9DT09LSUVfSE1BQ19NRDU9eQojIENPTkZJR19TQ1RQX0RFRkFVTFRfQ09PS0lFX0hN QUNfU0hBMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NDVFBfREVGQVVMVF9DT09LSUVfSE1BQ19OT05F IGlzIG5vdCBzZXQKQ09ORklHX1NDVFBfQ09PS0lFX0hNQUNfTUQ1PXkKIyBDT05GSUdfU0NUUF9D T09LSUVfSE1BQ19TSEExIGlzIG5vdCBzZXQKIyBDT05GSUdfUkRTIGlzIG5vdCBzZXQKIyBDT05G SUdfVElQQyBpcyBub3Qgc2V0CiMgQ09ORklHX0FUTSBpcyBub3Qgc2V0CiMgQ09ORklHX0wyVFAg aXMgbm90IHNldAojIENPTkZJR19CUklER0UgaXMgbm90IHNldApDT05GSUdfSEFWRV9ORVRfRFNB PXkKIyBDT05GSUdfVkxBTl84MDIxUSBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQ05FVCBpcyBub3Qg c2V0CiMgQ09ORklHX0xMQzIgaXMgbm90IHNldAojIENPTkZJR19JUFggaXMgbm90IHNldAojIENP TkZJR19BVEFMSyBpcyBub3Qgc2V0CiMgQ09ORklHX1gyNSBpcyBub3Qgc2V0CiMgQ09ORklHX0xB UEIgaXMgbm90IHNldAojIENPTkZJR19QSE9ORVQgaXMgbm90IHNldAojIENPTkZJR19JRUVFODAy MTU0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIyBDT05GSUdfRENC IGlzIG5vdCBzZXQKIyBDT05GSUdfRE5TX1JFU09MVkVSIGlzIG5vdCBzZXQKIyBDT05GSUdfQkFU TUFOX0FEViBpcyBub3Qgc2V0CiMgQ09ORklHX09QRU5WU1dJVENIIGlzIG5vdCBzZXQKIyBDT05G SUdfVlNPQ0tFVFMgaXMgbm90IHNldAojIENPTkZJR19ORVRMSU5LX01NQVAgaXMgbm90IHNldAoj IENPTkZJR19ORVRMSU5LX0RJQUcgaXMgbm90IHNldAojIENPTkZJR19ORVRfTVBMU19HU08gaXMg bm90IHNldApDT05GSUdfUlBTPXkKQ09ORklHX1JGU19BQ0NFTD15CkNPTkZJR19YUFM9eQojIENP TkZJR19ORVRQUklPX0NHUk9VUCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfUlhfQlVTWV9QT0xMPXkK Q09ORklHX0JRTD15CiMgQ09ORklHX0JQRl9KSVQgaXMgbm90IHNldApDT05GSUdfTkVUX0ZMT1df TElNSVQ9eQoKIwojIE5ldHdvcmsgdGVzdGluZwojCkNPTkZJR19ORVRfUEtUR0VOPW0KIyBDT05G SUdfSEFNUkFESU8gaXMgbm90IHNldAojIENPTkZJR19DQU4gaXMgbm90IHNldAojIENPTkZJR19J UkRBIGlzIG5vdCBzZXQKIyBDT05GSUdfQlQgaXMgbm90IHNldAojIENPTkZJR19BRl9SWFJQQyBp cyBub3Qgc2V0CiMgQ09ORklHX1dJUkVMRVNTIGlzIG5vdCBzZXQKIyBDT05GSUdfV0lNQVggaXMg bm90IHNldAojIENPTkZJR19SRktJTEwgaXMgbm90IHNldAojIENPTkZJR19ORVRfOVAgaXMgbm90 IHNldAojIENPTkZJR19DQUlGIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0VQSF9MSUIgaXMgbm90IHNl dAojIENPTkZJR19ORkMgaXMgbm90IHNldApDT05GSUdfSEFWRV9CUEZfSklUPXkKCiMKIyBEZXZp Y2UgRHJpdmVycwojCgojCiMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucwojCkNPTkZJR19VRVZFTlRf SEVMUEVSX1BBVEg9Ii9zYmluL3VkZXZhZG0iCkNPTkZJR19ERVZUTVBGUz15CiMgQ09ORklHX0RF VlRNUEZTX01PVU5UIGlzIG5vdCBzZXQKQ09ORklHX1NUQU5EQUxPTkU9eQpDT05GSUdfUFJFVkVO VF9GSVJNV0FSRV9CVUlMRD15CkNPTkZJR19GV19MT0FERVI9eQpDT05GSUdfRklSTVdBUkVfSU5f S0VSTkVMPXkKQ09ORklHX0VYVFJBX0ZJUk1XQVJFPSIiCkNPTkZJR19GV19MT0FERVJfVVNFUl9I RUxQRVI9eQojIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19E RVZSRVMgaXMgbm90IHNldAojIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CiMgQ09O RklHX0dFTkVSSUNfQ1BVX0RFVklDRVMgaXMgbm90IHNldApDT05GSUdfUkVHTUFQPXkKQ09ORklH X1JFR01BUF9JMkM9bQpDT05GSUdfRE1BX1NIQVJFRF9CVUZGRVI9eQoKIwojIEJ1cyBkZXZpY2Vz CiMKQ09ORklHX0NPTk5FQ1RPUj15CkNPTkZJR19QUk9DX0VWRU5UUz15CiMgQ09ORklHX01URCBp cyBub3Qgc2V0CiMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldApDT05GSUdfUE5QPXkKQ09ORklH X1BOUF9ERUJVR19NRVNTQUdFUz15CgojCiMgUHJvdG9jb2xzCiMKQ09ORklHX1BOUEFDUEk9eQpD T05GSUdfQkxLX0RFVj15CiMgQ09ORklHX0JMS19ERVZfRkQgaXMgbm90IHNldApDT05GSUdfQkxL X0RFVl9QQ0lFU1NEX01USVAzMlhYPW0KIyBDT05GSUdfQkxLX0NQUV9EQSBpcyBub3Qgc2V0CiMg Q09ORklHX0JMS19DUFFfQ0lTU19EQSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfREFDOTYw IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9VTUVNIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxL X0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfTE9PUD15CkNPTkZJR19C TEtfREVWX0xPT1BfTUlOX0NPVU5UPTgKIyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5v dCBzZXQKIyBDT05GSUdfQkxLX0RFVl9EUkJEIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfTkJE PW0KIyBDT05GSUdfQkxLX0RFVl9OVk1FIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfU1g4PW0K Q09ORklHX0JMS19ERVZfUkFNPW0KQ09ORklHX0JMS19ERVZfUkFNX0NPVU5UPTE2CkNPTkZJR19C TEtfREVWX1JBTV9TSVpFPTgxOTIKIyBDT05GSUdfQkxLX0RFVl9YSVAgaXMgbm90IHNldAojIENP TkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKQ09ORklHX0FUQV9PVkVSX0VUSD1tCiMgQ09O RklHX0JMS19ERVZfSEQgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1JCRCBpcyBub3Qgc2V0 CiMgQ09ORklHX0JMS19ERVZfUlNYWCBpcyBub3Qgc2V0CgojCiMgTWlzYyBkZXZpY2VzCiMKIyBD T05GSUdfU0VOU09SU19MSVMzTFYwMkQgaXMgbm90IHNldAojIENPTkZJR19BRDUyNVhfRFBPVCBp cyBub3Qgc2V0CiMgQ09ORklHX0FUTUVMX1BXTSBpcyBub3Qgc2V0CiMgQ09ORklHX0RVTU1ZX0lS USBpcyBub3Qgc2V0CiMgQ09ORklHX0lCTV9BU00gaXMgbm90IHNldAojIENPTkZJR19QSEFOVE9N IGlzIG5vdCBzZXQKIyBDT05GSUdfU0dJX0lPQzQgaXMgbm90IHNldApDT05GSUdfVElGTV9DT1JF PW0KIyBDT05GSUdfVElGTV83WFgxIGlzIG5vdCBzZXQKIyBDT05GSUdfSUNTOTMyUzQwMSBpcyBu b3Qgc2V0CiMgQ09ORklHX0FUTUVMX1NTQyBpcyBub3Qgc2V0CiMgQ09ORklHX0VOQ0xPU1VSRV9T RVJWSUNFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0hQX0lMTyBpcyBub3Qgc2V0CiMgQ09ORklHX0FQ RFM5ODAyQUxTIGlzIG5vdCBzZXQKIyBDT05GSUdfSVNMMjkwMDMgaXMgbm90IHNldAojIENPTkZJ R19JU0wyOTAyMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0 CiMgQ09ORklHX1NFTlNPUlNfQkgxNzgwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19CSDE3 NzAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FQRFM5OTBYIGlzIG5vdCBzZXQKIyBDT05G SUdfSE1DNjM1MiBpcyBub3Qgc2V0CiMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CiMgQ09ORklH X0JNUDA4NV9JMkMgaXMgbm90IHNldAojIENPTkZJR19QQ0hfUEhVQiBpcyBub3Qgc2V0CiMgQ09O RklHX1VTQl9TV0lUQ0hfRlNBOTQ4MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NSQU0gaXMgbm90IHNl dAojIENPTkZJR19DMlBPUlQgaXMgbm90IHNldAoKIwojIEVFUFJPTSBzdXBwb3J0CiMKIyBDT05G SUdfRUVQUk9NX0FUMjQgaXMgbm90IHNldAojIENPTkZJR19FRVBST01fTEVHQUNZIGlzIG5vdCBz ZXQKIyBDT05GSUdfRUVQUk9NX01BWDY4NzUgaXMgbm90IHNldApDT05GSUdfRUVQUk9NXzkzQ1g2 PW0KIyBDT05GSUdfQ0I3MTBfQ09SRSBpcyBub3Qgc2V0CgojCiMgVGV4YXMgSW5zdHJ1bWVudHMg c2hhcmVkIHRyYW5zcG9ydCBsaW5lIGRpc2NpcGxpbmUKIwojIENPTkZJR19TRU5TT1JTX0xJUzNf STJDIGlzIG5vdCBzZXQKCiMKIyBBbHRlcmEgRlBHQSBmaXJtd2FyZSBkb3dubG9hZCBtb2R1bGUK IwojIENPTkZJR19BTFRFUkFfU1RBUEwgaXMgbm90IHNldAojIENPTkZJR19WTVdBUkVfVk1DSSBp cyBub3Qgc2V0CkNPTkZJR19IQVZFX0lERT15CiMgQ09ORklHX0lERSBpcyBub3Qgc2V0CgojCiMg U0NTSSBkZXZpY2Ugc3VwcG9ydAojCkNPTkZJR19TQ1NJX01PRD15CkNPTkZJR19SQUlEX0FUVFJT PW0KQ09ORklHX1NDU0k9eQpDT05GSUdfU0NTSV9ETUE9eQpDT05GSUdfU0NTSV9UR1Q9bQpDT05G SUdfU0NTSV9ORVRMSU5LPXkKQ09ORklHX1NDU0lfUFJPQ19GUz15CgojCiMgU0NTSSBzdXBwb3J0 IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKIwpDT05GSUdfQkxLX0RFVl9TRD15CiMgQ09ORklH X0NIUl9ERVZfU1QgaXMgbm90IHNldAojIENPTkZJR19DSFJfREVWX09TU1QgaXMgbm90IHNldApD T05GSUdfQkxLX0RFVl9TUj15CiMgQ09ORklHX0JMS19ERVZfU1JfVkVORE9SIGlzIG5vdCBzZXQK Q09ORklHX0NIUl9ERVZfU0c9eQpDT05GSUdfQ0hSX0RFVl9TQ0g9eQojIENPTkZJR19TQ1NJX01V TFRJX0xVTiBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKIyBD T05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfU0NBTl9BU1lOQz15Cgoj CiMgU0NTSSBUcmFuc3BvcnRzCiMKQ09ORklHX1NDU0lfU1BJX0FUVFJTPW0KQ09ORklHX1NDU0lf RkNfQVRUUlM9bQojIENPTkZJR19TQ1NJX0ZDX1RHVF9BVFRSUyBpcyBub3Qgc2V0CkNPTkZJR19T Q1NJX0lTQ1NJX0FUVFJTPW0KQ09ORklHX1NDU0lfU0FTX0FUVFJTPXkKQ09ORklHX1NDU0lfU0FT X0xJQlNBUz15CiMgQ09ORklHX1NDU0lfU0FTX0FUQSBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lf U0FTX0hPU1RfU01QIGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfU1JQX0FUVFJTPW0KIyBDT05GSUdf U0NTSV9TUlBfVEdUX0FUVFJTIGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfTE9XTEVWRUw9eQojIENP TkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAojIENPTkZJR19JU0NTSV9CT09UX1NZU0ZTIGlzIG5v dCBzZXQKIyBDT05GSUdfU0NTSV9DWEdCM19JU0NTSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lf Q1hHQjRfSVNDU0kgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0JOWDJfSVNDU0kgaXMgbm90IHNl dAojIENPTkZJR19TQ1NJX0JOWDJYX0ZDT0UgaXMgbm90IHNldAojIENPTkZJR19CRTJJU0NTSSBp cyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfM1dfWFhYWF9SQUlEIGlzIG5vdCBzZXQKIyBDT05G SUdfU0NTSV9IUFNBIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQK IyBDT05GSUdfU0NTSV8zV19TQVMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0FDQVJEIGlzIG5v dCBzZXQKIyBDT05GSUdfU0NTSV9BQUNSQUlEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9BSUM3 WFhYIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9BSUM3WFhYX09MRCBpcyBub3Qgc2V0CiMgQ09O RklHX1NDU0lfQUlDNzlYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQUlDOTRYWCBpcyBub3Qg c2V0CiMgQ09ORklHX1NDU0lfTVZTQVMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX01WVU1JIGlz IG5vdCBzZXQKIyBDT05GSUdfU0NTSV9EUFRfSTJPIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9B RFZBTlNZUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKIyBDT05G SUdfU0NTSV9FU0FTMlIgaXMgbm90IHNldAojIENPTkZJR19NRUdBUkFJRF9ORVdHRU4gaXMgbm90 IHNldAojIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldAojIENPTkZJR19NRUdBUkFJ RF9TQVMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX01QVDJTQVMgaXMgbm90IHNldAojIENPTkZJ R19TQ1NJX01QVDNTQVMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX1VGU0hDRCBpcyBub3Qgc2V0 CiMgQ09ORklHX1NDU0lfSFBUSU9QIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9CVVNMT0dJQyBp cyBub3Qgc2V0CiMgQ09ORklHX1ZNV0FSRV9QVlNDU0kgaXMgbm90IHNldAojIENPTkZJR19MSUJG QyBpcyBub3Qgc2V0CiMgQ09ORklHX0xJQkZDT0UgaXMgbm90IHNldAojIENPTkZJR19GQ09FIGlz IG5vdCBzZXQKIyBDT05GSUdfRkNPRV9GTklDIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9ETVgz MTkxRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfRUFUQSBpcyBub3Qgc2V0CiMgQ09ORklHX1ND U0lfRlVUVVJFX0RPTUFJTiBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfR0RUSCBpcyBub3Qgc2V0 CkNPTkZJR19TQ1NJX0lTQ0k9eQojIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0CiMgQ09ORklH X1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQK IyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBp cyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9RTE9H SUNfMTI4MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfUUxBX0ZDIGlzIG5vdCBzZXQKIyBDT05G SUdfU0NTSV9RTEFfSVNDU0kgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0xQRkMgaXMgbm90IHNl dAojIENPTkZJR19TQ1NJX0RDMzk1eCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfREMzOTBUIGlz IG5vdCBzZXQKIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfUE1D UkFJRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfUE04MDAxIGlzIG5vdCBzZXQKIyBDT05GSUdf U0NTSV9TUlAgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0JGQV9GQyBpcyBub3Qgc2V0CiMgQ09O RklHX1NDU0lfQ0hFTFNJT19GQ09FIGlzIG5vdCBzZXQKQ09ORklHX1NDU0lfTE9XTEVWRUxfUENN Q0lBPXkKIyBDT05GSUdfUENNQ0lBX0FIQTE1MlggaXMgbm90IHNldApDT05GSUdfUENNQ0lBX0ZE T01BSU49bQpDT05GSUdfUENNQ0lBX1FMT0dJQz1tCkNPTkZJR19QQ01DSUFfU1lNNTNDNTAwPW0K IyBDT05GSUdfU0NTSV9ESCBpcyBub3Qgc2V0CiMgQ09ORklHX1NDU0lfT1NEX0lOSVRJQVRPUiBp cyBub3Qgc2V0CkNPTkZJR19BVEE9eQojIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNl dAojIENPTkZJR19BVEFfVkVSQk9TRV9FUlJPUiBpcyBub3Qgc2V0CkNPTkZJR19BVEFfQUNQST15 CiMgQ09ORklHX1NBVEFfWlBPREQgaXMgbm90IHNldApDT05GSUdfU0FUQV9QTVA9eQoKIwojIENv bnRyb2xsZXJzIHdpdGggbm9uLVNGRiBuYXRpdmUgaW50ZXJmYWNlCiMKQ09ORklHX1NBVEFfQUhD ST15CiMgQ09ORklHX1NBVEFfQUhDSV9QTEFURk9STSBpcyBub3Qgc2V0CiMgQ09ORklHX1NBVEFf SU5JQzE2MlggaXMgbm90IHNldAojIENPTkZJR19TQVRBX0FDQVJEX0FIQ0kgaXMgbm90IHNldAoj IENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKQ09ORklHX0FUQV9TRkY9eQoKIwojIFNGRiBj b250cm9sbGVycyB3aXRoIGN1c3RvbSBETUEgaW50ZXJmYWNlCiMKIyBDT05GSUdfUERDX0FETUEg aXMgbm90IHNldAojIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9T WDQgaXMgbm90IHNldApDT05GSUdfQVRBX0JNRE1BPXkKCiMKIyBTQVRBIFNGRiBjb250cm9sbGVy cyB3aXRoIEJNRE1BCiMKQ09ORklHX0FUQV9QSUlYPXkKIyBDT05GSUdfU0FUQV9ISUdIQkFOSyBp cyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfTVYgaXMgbm90IHNldAojIENPTkZJR19TQVRBX05WIGlz IG5vdCBzZXQKIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9S Q0FSIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAojIENPTkZJR19TQVRB X1NJUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FU QV9VTEkgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CiMgQ09ORklHX1NB VEFfVklURVNTRSBpcyBub3Qgc2V0CgojCiMgUEFUQSBTRkYgY29udHJvbGxlcnMgd2l0aCBCTURN QQojCiMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKQ09ORklHX1BBVEFfQU1EPXkKIyBDT05G SUdfUEFUQV9BUkFTQU5fQ0YgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBz ZXQKIyBDT05GSUdfUEFUQV9BVElJWFAgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0FUUDg2N1gg aXMgbm90IHNldAojIENPTkZJR19QQVRBX0NNRDY0WCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFf Q1M1NTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9DUzU1MzAgaXMgbm90IHNldAojIENPTkZJ R19QQVRBX0NTNTUzNiBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfQ1lQUkVTUyBpcyBub3Qgc2V0 CiMgQ09ORklHX1BBVEFfRUZBUiBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfSFBUMzY2IGlzIG5v dCBzZXQKIyBDT05GSUdfUEFUQV9IUFQzN1ggaXMgbm90IHNldAojIENPTkZJR19QQVRBX0hQVDNY Mk4gaXMgbm90IHNldAojIENPTkZJR19QQVRBX0hQVDNYMyBpcyBub3Qgc2V0CiMgQ09ORklHX1BB VEFfSVQ4MjEzIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9JVDgyMVggaXMgbm90IHNldAojIENP TkZJR19QQVRBX0pNSUNST04gaXMgbm90IHNldAojIENPTkZJR19QQVRBX01BUlZFTEwgaXMgbm90 IHNldAojIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAojIENPTkZJR19QQVRBX05JTkpB MzIgaXMgbm90IHNldAojIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldApDT05GSUdfUEFU QV9PTERQSUlYPXkKIyBDT05GSUdfUEFUQV9PUFRJRE1BIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFU QV9QREMyMDI3WCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfUERDX09MRCBpcyBub3Qgc2V0CiMg Q09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfUkRDIGlzIG5vdCBz ZXQKIyBDT05GSUdfUEFUQV9TQzEyMDAgaXMgbm90IHNldApDT05GSUdfUEFUQV9TQ0g9eQojIENP TkZJR19QQVRBX1NFUlZFUldPUktTIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9TSUw2ODAgaXMg bm90IHNldAojIENPTkZJR19QQVRBX1NJUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfVE9TSElC QSBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfVFJJRkxFWCBpcyBub3Qgc2V0CiMgQ09ORklHX1BB VEFfVklBIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKCiMKIyBQ SU8tb25seSBTRkYgY29udHJvbGxlcnMKIwojIENPTkZJR19QQVRBX0NNRDY0MF9QQ0kgaXMgbm90 IHNldAojIENPTkZJR19QQVRBX01QSUlYIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9OUzg3NDEw IGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9Q Q01DSUEgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1JaMTAwMCBpcyBub3Qgc2V0CgojCiMgR2Vu ZXJpYyBmYWxsYmFjayAvIGxlZ2FjeSBkcml2ZXJzCiMKIyBDT05GSUdfUEFUQV9BQ1BJIGlzIG5v dCBzZXQKIyBDT05GSUdfQVRBX0dFTkVSSUMgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0xFR0FD WSBpcyBub3Qgc2V0CkNPTkZJR19NRD15CkNPTkZJR19CTEtfREVWX01EPXkKQ09ORklHX01EX0FV VE9ERVRFQ1Q9eQpDT05GSUdfTURfTElORUFSPW0KQ09ORklHX01EX1JBSUQwPW0KQ09ORklHX01E X1JBSUQxPW0KQ09ORklHX01EX1JBSUQxMD1tCiMgQ09ORklHX01EX1JBSUQ0NTYgaXMgbm90IHNl dAojIENPTkZJR19NRF9NVUxUSVBBVEggaXMgbm90IHNldAojIENPTkZJR19NRF9GQVVMVFkgaXMg bm90IHNldAojIENPTkZJR19CQ0FDSEUgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0RNIGlz IG5vdCBzZXQKIyBDT05GSUdfVEFSR0VUX0NPUkUgaXMgbm90IHNldAojIENPTkZJR19GVVNJT04g aXMgbm90IHNldAoKIwojIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKIwpDT05GSUdfRklS RVdJUkU9bQojIENPTkZJR19GSVJFV0lSRV9PSENJIGlzIG5vdCBzZXQKIyBDT05GSUdfRklSRVdJ UkVfU0JQMiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZJUkVXSVJFX05FVCBpcyBub3Qgc2V0CiMgQ09O RklHX0ZJUkVXSVJFX05PU1kgaXMgbm90IHNldAojIENPTkZJR19JMk8gaXMgbm90IHNldAojIENP TkZJR19NQUNJTlRPU0hfRFJJVkVSUyBpcyBub3Qgc2V0CkNPTkZJR19ORVRERVZJQ0VTPXkKQ09O RklHX01JST15CkNPTkZJR19ORVRfQ09SRT15CiMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAoj IENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiMg Q09ORklHX05FVF9GQyBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9URUFNIGlzIG5vdCBzZXQKIyBD T05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiMgQ09ORklHX1ZYTEFOIGlzIG5vdCBzZXQKIyBDT05G SUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAojIENP TkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfVFVOIGlzIG5vdCBz ZXQKIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiMgQ09ORklHX05MTU9OIGlzIG5vdCBzZXQKIyBD T05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKCiMKIyBDQUlGIHRyYW5zcG9ydCBkcml2ZXJzCiMKQ09O RklHX1ZIT1NUX05FVD1tCkNPTkZJR19WSE9TVF9SSU5HPW0KQ09ORklHX1ZIT1NUPW0KCiMKIyBE aXN0cmlidXRlZCBTd2l0Y2ggQXJjaGl0ZWN0dXJlIGRyaXZlcnMKIwojIENPTkZJR19ORVRfRFNB X01WODhFNlhYWCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9EU0FfTVY4OEU2MDYwIGlzIG5vdCBz ZXQKIyBDT05GSUdfTkVUX0RTQV9NVjg4RTZYWFhfTkVFRF9QUFUgaXMgbm90IHNldAojIENPTkZJ R19ORVRfRFNBX01WODhFNjEzMSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9EU0FfTVY4OEU2MTIz XzYxXzY1IGlzIG5vdCBzZXQKQ09ORklHX0VUSEVSTkVUPXkKIyBDT05GSUdfTkVUX1ZFTkRPUl8z Q09NIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1ZFTkRPUl9BREFQVEVDIGlzIG5vdCBzZXQKIyBD T05GSUdfTkVUX1ZFTkRPUl9BTFRFT04gaXMgbm90IHNldAojIENPTkZJR19ORVRfVkVORE9SX0FN RCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfVkVORE9SX0FSQz15CiMgQ09ORklHX05FVF9WRU5ET1Jf QVRIRVJPUyBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9DQURFTkNFIGlzIG5vdCBzZXQKIyBDT05G SUdfTkVUX1ZFTkRPUl9CUk9BRENPTSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9WRU5ET1JfQlJP Q0FERSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9DQUxYRURBX1hHTUFDIGlzIG5vdCBzZXQKIyBD T05GSUdfTkVUX1ZFTkRPUl9DSEVMU0lPIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1ZFTkRPUl9D SVNDTyBpcyBub3Qgc2V0CiMgQ09ORklHX0RORVQgaXMgbm90IHNldAojIENPTkZJR19ORVRfVkVO RE9SX0RFQyBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9WRU5ET1JfRExJTksgaXMgbm90IHNldAoj IENPTkZJR19ORVRfVkVORE9SX0VNVUxFWCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9WRU5ET1Jf RVhBUiBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9WRU5ET1JfRlVKSVRTVSBpcyBub3Qgc2V0CiMg Q09ORklHX05FVF9WRU5ET1JfSFAgaXMgbm90IHNldAojIENPTkZJR19ORVRfVkVORE9SX0lOVEVM IGlzIG5vdCBzZXQKIyBDT05GSUdfSVAxMDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfSk1FIGlzIG5v dCBzZXQKIyBDT05GSUdfTkVUX1ZFTkRPUl9NQVJWRUxMIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVU X1ZFTkRPUl9NRUxMQU5PWCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9WRU5ET1JfTUlDUkVMIGlz IG5vdCBzZXQKIyBDT05GSUdfTkVUX1ZFTkRPUl9NWVJJIGlzIG5vdCBzZXQKIyBDT05GSUdfRkVB TE5YIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1ZFTkRPUl9OQVRTRU1JIGlzIG5vdCBzZXQKIyBD T05GSUdfTkVUX1ZFTkRPUl9OVklESUEgaXMgbm90IHNldAojIENPTkZJR19ORVRfVkVORE9SX09L SSBpcyBub3Qgc2V0CiMgQ09ORklHX0VUSE9DIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1BBQ0tF VF9FTkdJTkUgaXMgbm90IHNldAojIENPTkZJR19ORVRfVkVORE9SX1FMT0dJQyBpcyBub3Qgc2V0 CkNPTkZJR19ORVRfVkVORE9SX1JFQUxURUs9eQojIENPTkZJR184MTM5Q1AgaXMgbm90IHNldAoj IENPTkZJR184MTM5VE9PIGlzIG5vdCBzZXQKQ09ORklHX1I4MTY5PXkKIyBDT05GSUdfU0hfRVRI IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1ZFTkRPUl9SREMgaXMgbm90IHNldAojIENPTkZJR19O RVRfVkVORE9SX1NFRVEgaXMgbm90IHNldAojIENPTkZJR19ORVRfVkVORE9SX1NJTEFOIGlzIG5v dCBzZXQKIyBDT05GSUdfTkVUX1ZFTkRPUl9TSVMgaXMgbm90IHNldAojIENPTkZJR19TRkMgaXMg bm90IHNldAojIENPTkZJR19ORVRfVkVORE9SX1NNU0MgaXMgbm90IHNldAojIENPTkZJR19ORVRf VkVORE9SX1NUTUlDUk8gaXMgbm90IHNldAojIENPTkZJR19ORVRfVkVORE9SX1NVTiBpcyBub3Qg c2V0CiMgQ09ORklHX05FVF9WRU5ET1JfVEVIVVRJIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1ZF TkRPUl9USSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9WRU5ET1JfVklBIGlzIG5vdCBzZXQKIyBD T05GSUdfTkVUX1ZFTkRPUl9XSVpORVQgaXMgbm90IHNldAojIENPTkZJR19ORVRfVkVORE9SX1hJ UkNPTSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZEREkgaXMgbm90IHNldAojIENPTkZJR19ISVBQSSBp cyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQjEwMDAgaXMgbm90IHNldApDT05GSUdfUEhZTElCPW0K CiMKIyBNSUkgUEhZIGRldmljZSBkcml2ZXJzCiMKIyBDT05GSUdfQVQ4MDNYX1BIWSBpcyBub3Qg c2V0CiMgQ09ORklHX0FNRF9QSFkgaXMgbm90IHNldApDT05GSUdfTUFSVkVMTF9QSFk9bQpDT05G SUdfREFWSUNPTV9QSFk9bQpDT05GSUdfUVNFTUlfUEhZPW0KQ09ORklHX0xYVF9QSFk9bQpDT05G SUdfQ0lDQURBX1BIWT1tCkNPTkZJR19WSVRFU1NFX1BIWT1tCkNPTkZJR19TTVNDX1BIWT1tCkNP TkZJR19CUk9BRENPTV9QSFk9bQojIENPTkZJR19CQ004N1hYX1BIWSBpcyBub3Qgc2V0CkNPTkZJ R19JQ1BMVVNfUEhZPW0KIyBDT05GSUdfUkVBTFRFS19QSFkgaXMgbm90IHNldAojIENPTkZJR19O QVRJT05BTF9QSFkgaXMgbm90IHNldAojIENPTkZJR19TVEUxMFhQIGlzIG5vdCBzZXQKIyBDT05G SUdfTFNJX0VUMTAxMUNfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfTUlDUkVMX1BIWSBpcyBub3Qg c2V0CkNPTkZJR19NRElPX0JJVEJBTkc9bQojIENPTkZJR19QUFAgaXMgbm90IHNldAojIENPTkZJ R19TTElQIGlzIG5vdCBzZXQKCiMKIyBVU0IgTmV0d29yayBBZGFwdGVycwojCkNPTkZJR19VU0Jf Q0FUQz1tCkNPTkZJR19VU0JfS0FXRVRIPW0KQ09ORklHX1VTQl9QRUdBU1VTPW0KQ09ORklHX1VT Ql9SVEw4MTUwPW0KIyBDT05GSUdfVVNCX1JUTDgxNTIgaXMgbm90IHNldApDT05GSUdfVVNCX1VT Qk5FVD1tCkNPTkZJR19VU0JfTkVUX0FYODgxN1g9bQpDT05GSUdfVVNCX05FVF9BWDg4MTc5XzE3 OEE9bQpDT05GSUdfVVNCX05FVF9DRENFVEhFUj1tCiMgQ09ORklHX1VTQl9ORVRfQ0RDX0VFTSBp cyBub3Qgc2V0CkNPTkZJR19VU0JfTkVUX0NEQ19OQ009bQojIENPTkZJR19VU0JfTkVUX0NEQ19N QklNIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9ORVRfRE05NjAxPW0KIyBDT05GSUdfVVNCX05FVF9T Ujk3MDAgaXMgbm90IHNldAojIENPTkZJR19VU0JfTkVUX1NNU0M3NVhYIGlzIG5vdCBzZXQKIyBD T05GSUdfVVNCX05FVF9TTVNDOTVYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9ORVRfR0w2MjBB IGlzIG5vdCBzZXQKQ09ORklHX1VTQl9ORVRfTkVUMTA4MD1tCiMgQ09ORklHX1VTQl9ORVRfUExV U0IgaXMgbm90IHNldApDT05GSUdfVVNCX05FVF9NQ1M3ODMwPW0KIyBDT05GSUdfVVNCX05FVF9S TkRJU19IT1NUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX05FVF9DRENfU1VCU0VUIGlzIG5vdCBz ZXQKQ09ORklHX1VTQl9ORVRfWkFVUlVTPW0KIyBDT05GSUdfVVNCX05FVF9DWDgyMzEwX0VUSCBp cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9ORVRfS0FMTUlBIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC X05FVF9RTUlfV1dBTiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9ORVRfSU5UNTFYMSBpcyBub3Qg c2V0CiMgQ09ORklHX1VTQl9JUEhFVEggaXMgbm90IHNldAojIENPTkZJR19VU0JfU0lFUlJBX05F VCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9WTDYwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1dMQU4g aXMgbm90IHNldAoKIwojIEVuYWJsZSBXaU1BWCAoTmV0d29ya2luZyBvcHRpb25zKSB0byBzZWUg dGhlIFdpTUFYIGRyaXZlcnMKIwojIENPTkZJR19XQU4gaXMgbm90IHNldAojIENPTkZJR19WTVhO RVQzIGlzIG5vdCBzZXQKIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CgojCiMgSW5wdXQgZGV2aWNl IHN1cHBvcnQKIwpDT05GSUdfSU5QVVQ9eQpDT05GSUdfSU5QVVRfRkZfTUVNTEVTUz1tCkNPTkZJ R19JTlBVVF9QT0xMREVWPXkKQ09ORklHX0lOUFVUX1NQQVJTRUtNQVA9bQojIENPTkZJR19JTlBV VF9NQVRSSVhLTUFQIGlzIG5vdCBzZXQKCiMKIyBVc2VybGFuZCBpbnRlcmZhY2VzCiMKQ09ORklH X0lOUFVUX01PVVNFREVWPXkKQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKQ09ORklHX0lO UFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9Z PTc2OApDT05GSUdfSU5QVVRfSk9ZREVWPW0KQ09ORklHX0lOUFVUX0VWREVWPXkKIyBDT05GSUdf SU5QVVRfRVZCVUcgaXMgbm90IHNldAoKIwojIElucHV0IERldmljZSBEcml2ZXJzCiMKQ09ORklH X0lOUFVUX0tFWUJPQVJEPXkKIyBDT05GSUdfS0VZQk9BUkRfQURQNTU4OCBpcyBub3Qgc2V0CiMg Q09ORklHX0tFWUJPQVJEX0FEUDU1ODkgaXMgbm90IHNldApDT05GSUdfS0VZQk9BUkRfQVRLQkQ9 eQojIENPTkZJR19LRVlCT0FSRF9RVDEwNzAgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9R VDIxNjAgaXMgbm90IHNldApDT05GSUdfS0VZQk9BUkRfTEtLQkQ9bQojIENPTkZJR19LRVlCT0FS RF9UQ0E2NDE2IGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfVENBODQxOCBpcyBub3Qgc2V0 CiMgQ09ORklHX0tFWUJPQVJEX0xNODMyMyBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX0xN ODMzMyBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX01BWDczNTkgaXMgbm90IHNldAojIENP TkZJR19LRVlCT0FSRF9NQ1MgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9NUFIxMjEgaXMg bm90IHNldApDT05GSUdfS0VZQk9BUkRfTkVXVE9OPW0KIyBDT05GSUdfS0VZQk9BUkRfT1BFTkNP UkVTIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfU0FNU1VORyBpcyBub3Qgc2V0CkNPTkZJ R19LRVlCT0FSRF9TVE9XQVdBWT1tCkNPTkZJR19LRVlCT0FSRF9TVU5LQkQ9bQpDT05GSUdfS0VZ Qk9BUkRfWFRLQkQ9bQpDT05GSUdfSU5QVVRfTU9VU0U9eQpDT05GSUdfTU9VU0VfUFMyPXkKQ09O RklHX01PVVNFX1BTMl9BTFBTPXkKQ09ORklHX01PVVNFX1BTMl9MT0dJUFMyUFA9eQpDT05GSUdf TU9VU0VfUFMyX1NZTkFQVElDUz15CkNPTkZJR19NT1VTRV9QUzJfQ1lQUkVTUz15CkNPTkZJR19N T1VTRV9QUzJfTElGRUJPT0s9eQpDT05GSUdfTU9VU0VfUFMyX1RSQUNLUE9JTlQ9eQojIENPTkZJ R19NT1VTRV9QUzJfRUxBTlRFQ0ggaXMgbm90IHNldAojIENPTkZJR19NT1VTRV9QUzJfU0VOVEVM SUMgaXMgbm90IHNldAojIENPTkZJR19NT1VTRV9QUzJfVE9VQ0hLSVQgaXMgbm90IHNldApDT05G SUdfTU9VU0VfU0VSSUFMPW0KQ09ORklHX01PVVNFX0FQUExFVE9VQ0g9bQojIENPTkZJR19NT1VT RV9CQ001OTc0IGlzIG5vdCBzZXQKIyBDT05GSUdfTU9VU0VfQ1lBUEEgaXMgbm90IHNldAojIENP TkZJR19NT1VTRV9WU1hYWEFBIGlzIG5vdCBzZXQKIyBDT05GSUdfTU9VU0VfU1lOQVBUSUNTX0ky QyBpcyBub3Qgc2V0CiMgQ09ORklHX01PVVNFX1NZTkFQVElDU19VU0IgaXMgbm90IHNldAojIENP TkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBu b3Qgc2V0CiMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5Q VVRfTUlTQyBpcyBub3Qgc2V0CgojCiMgSGFyZHdhcmUgSS9PIHBvcnRzCiMKQ09ORklHX1NFUklP PXkKQ09ORklHX1NFUklPX0k4MDQyPXkKQ09ORklHX1NFUklPX1NFUlBPUlQ9eQpDT05GSUdfU0VS SU9fQ1Q4MkM3MTA9bQpDT05GSUdfU0VSSU9fUENJUFMyPXkKQ09ORklHX1NFUklPX0xJQlBTMj15 CiMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFUklPX0FMVEVSQV9QUzIg aXMgbm90IHNldAojIENPTkZJR19TRVJJT19QUzJNVUxUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VS SU9fQVJDX1BTMiBpcyBub3Qgc2V0CiMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKCiMKIyBD aGFyYWN0ZXIgZGV2aWNlcwojCkNPTkZJR19UVFk9eQpDT05GSUdfVlQ9eQpDT05GSUdfQ09OU09M RV9UUkFOU0xBVElPTlM9eQpDT05GSUdfVlRfQ09OU09MRT15CkNPTkZJR19WVF9DT05TT0xFX1NM RUVQPXkKQ09ORklHX0hXX0NPTlNPTEU9eQpDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HPXkK Q09ORklHX1VOSVg5OF9QVFlTPXkKIyBDT05GSUdfREVWUFRTX01VTFRJUExFX0lOU1RBTkNFUyBp cyBub3Qgc2V0CiMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFM X05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKIyBDT05GSUdfTk9aT01JIGlzIG5vdCBzZXQKIyBDT05G SUdfTl9HU00gaXMgbm90IHNldAojIENPTkZJR19UUkFDRV9TSU5LIGlzIG5vdCBzZXQKCiMKIyBL Q29weQojCkNPTkZJR19LQ09QWT1tCkNPTkZJR19ERVZLTUVNPXkKCiMKIyBTZXJpYWwgZHJpdmVy cwojCkNPTkZJR19TRVJJQUxfODI1MD15CkNPTkZJR19TRVJJQUxfODI1MF9ERVBSRUNBVEVEX09Q VElPTlM9eQpDT05GSUdfU0VSSUFMXzgyNTBfUE5QPXkKQ09ORklHX1NFUklBTF84MjUwX0NPTlNP TEU9eQpDT05GSUdfRklYX0VBUkxZQ09OX01FTT15CkNPTkZJR19TRVJJQUxfODI1MF9ETUE9eQpD T05GSUdfU0VSSUFMXzgyNTBfUENJPXkKQ09ORklHX1NFUklBTF84MjUwX0NTPW0KQ09ORklHX1NF UklBTF84MjUwX05SX1VBUlRTPTQKQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9NApD T05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQ9eQpDT05GSUdfU0VSSUFMXzgyNTBfTUFOWV9QT1JU Uz15CkNPTkZJR19TRVJJQUxfODI1MF9TSEFSRV9JUlE9eQojIENPTkZJR19TRVJJQUxfODI1MF9E RVRFQ1RfSVJRIGlzIG5vdCBzZXQKQ09ORklHX1NFUklBTF84MjUwX1JTQT15CiMgQ09ORklHX1NF UklBTF84MjUwX0RXIGlzIG5vdCBzZXQKCiMKIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0 CiMKIyBDT05GSUdfU0VSSUFMX01GRF9IU1UgaXMgbm90IHNldApDT05GSUdfU0VSSUFMX0NPUkU9 eQpDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiMgQ09ORklHX1NFUklBTF9KU00gaXMgbm90 IHNldAojIENPTkZJR19TRVJJQUxfU0NDTlhQIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFMX1RJ TUJFUkRBTEUgaXMgbm90IHNldAojIENPTkZJR19TRVJJQUxfQUxURVJBX0pUQUdVQVJUIGlzIG5v dCBzZXQKIyBDT05GSUdfU0VSSUFMX0FMVEVSQV9VQVJUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VS SUFMX1BDSF9VQVJUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFMX0FSQyBpcyBub3Qgc2V0CiMg Q09ORklHX1NFUklBTF9SUDIgaXMgbm90IHNldAojIENPTkZJR19TRVJJQUxfRlNMX0xQVUFSVCBp cyBub3Qgc2V0CiMgQ09ORklHX1NFUklBTF9TVF9BU0MgaXMgbm90IHNldAojIENPTkZJR19JUE1J X0hBTkRMRVIgaXMgbm90IHNldApDT05GSUdfSFdfUkFORE9NPXkKIyBDT05GSUdfSFdfUkFORE9N X1RJTUVSSU9NRU0gaXMgbm90IHNldApDT05GSUdfSFdfUkFORE9NX0lOVEVMPXkKIyBDT05GSUdf SFdfUkFORE9NX0FNRCBpcyBub3Qgc2V0CiMgQ09ORklHX0hXX1JBTkRPTV9BVE1FTCBpcyBub3Qg c2V0CiMgQ09ORklHX0hXX1JBTkRPTV9WSUEgaXMgbm90IHNldAojIENPTkZJR19IV19SQU5ET01f RVhZTk9TIGlzIG5vdCBzZXQKQ09ORklHX05WUkFNPW0KIyBDT05GSUdfUjM5NjQgaXMgbm90IHNl dAojIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0CgojCiMgUENNQ0lBIGNoYXJhY3RlciBkZXZp Y2VzCiMKIyBDT05GSUdfU1lOQ0xJTktfQ1MgaXMgbm90IHNldAojIENPTkZJR19DQVJETUFOXzQw MDAgaXMgbm90IHNldAojIENPTkZJR19DQVJETUFOXzQwNDAgaXMgbm90IHNldAojIENPTkZJR19J UFdJUkVMRVNTIGlzIG5vdCBzZXQKQ09ORklHX01XQVZFPW0KIyBDT05GSUdfUkFXX0RSSVZFUiBp cyBub3Qgc2V0CiMgQ09ORklHX0hQRVQgaXMgbm90IHNldAojIENPTkZJR19IQU5HQ0hFQ0tfVElN RVIgaXMgbm90IHNldAojIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKIyBDT05GSUdfVEVMQ0xP Q0sgaXMgbm90IHNldApDT05GSUdfREVWUE9SVD15CkNPTkZJR19JMkM9eQpDT05GSUdfSTJDX0JP QVJESU5GTz15CiMgQ09ORklHX0kyQ19DT01QQVQgaXMgbm90IHNldApDT05GSUdfSTJDX0NIQVJE RVY9bQojIENPTkZJR19JMkNfTVVYIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0hFTFBFUl9BVVRP IGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1NNQlVTIGlzIG5vdCBzZXQKCiMKIyBJMkMgQWxnb3Jp dGhtcwojCkNPTkZJR19JMkNfQUxHT0JJVD15CiMgQ09ORklHX0kyQ19BTEdPUENGIGlzIG5vdCBz ZXQKIyBDT05GSUdfSTJDX0FMR09QQ0EgaXMgbm90IHNldAoKIwojIEkyQyBIYXJkd2FyZSBCdXMg c3VwcG9ydAojCgojCiMgUEMgU01CdXMgaG9zdCBjb250cm9sbGVyIGRyaXZlcnMKIwpDT05GSUdf STJDX0FMSTE1MzU9bQpDT05GSUdfSTJDX0FMSTE1NjM9bQpDT05GSUdfSTJDX0FMSTE1WDM9bQpD T05GSUdfSTJDX0FNRDc1Nj1tCkNPTkZJR19JMkNfQU1ENzU2X1M0ODgyPW0KQ09ORklHX0kyQ19B TUQ4MTExPW0KQ09ORklHX0kyQ19JODAxPW0KIyBDT05GSUdfSTJDX0lTQ0ggaXMgbm90IHNldAoj IENPTkZJR19JMkNfSVNNVCBpcyBub3Qgc2V0CkNPTkZJR19JMkNfUElJWDQ9bQpDT05GSUdfSTJD X05GT1JDRTI9bQojIENPTkZJR19JMkNfTkZPUkNFMl9TNDk4NSBpcyBub3Qgc2V0CkNPTkZJR19J MkNfU0lTNTU5NT1tCkNPTkZJR19JMkNfU0lTNjMwPW0KQ09ORklHX0kyQ19TSVM5Nlg9bQpDT05G SUdfSTJDX1ZJQT1tCkNPTkZJR19JMkNfVklBUFJPPW0KCiMKIyBBQ1BJIGRyaXZlcnMKIwojIENP TkZJR19JMkNfU0NNSSBpcyBub3Qgc2V0CgojCiMgSTJDIHN5c3RlbSBidXMgZHJpdmVycyAobW9z dGx5IGVtYmVkZGVkIC8gc3lzdGVtLW9uLWNoaXApCiMKIyBDT05GSUdfSTJDX0RFU0lHTldBUkVf UExBVEZPUk0gaXMgbm90IHNldAojIENPTkZJR19JMkNfREVTSUdOV0FSRV9QQ0kgaXMgbm90IHNl dAojIENPTkZJR19JMkNfRUcyMFQgaXMgbm90IHNldApDT05GSUdfSTJDX09DT1JFUz1tCiMgQ09O RklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAojIENPTkZJR19JMkNfUFhBX1BDSSBpcyBu b3Qgc2V0CkNPTkZJR19JMkNfU0lNVEVDPW0KIyBDT05GSUdfSTJDX1hJTElOWCBpcyBub3Qgc2V0 CgojCiMgRXh0ZXJuYWwgSTJDL1NNQnVzIGFkYXB0ZXIgZHJpdmVycwojCiMgQ09ORklHX0kyQ19E SU9MQU5fVTJDIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNl dApDT05GSUdfSTJDX1RBT1NfRVZNPW0KQ09ORklHX0kyQ19USU5ZX1VTQj1tCgojCiMgT3RoZXIg STJDL1NNQnVzIGJ1cyBkcml2ZXJzCiMKIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAojIENP TkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlz IG5vdCBzZXQKIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NQSSBp cyBub3Qgc2V0CiMgQ09ORklHX0hTSSBpcyBub3Qgc2V0CgojCiMgUFBTIHN1cHBvcnQKIwpDT05G SUdfUFBTPW0KIyBDT05GSUdfUFBTX0RFQlVHIGlzIG5vdCBzZXQKCiMKIyBQUFMgY2xpZW50cyBz dXBwb3J0CiMKIyBDT05GSUdfUFBTX0NMSUVOVF9LVElNRVIgaXMgbm90IHNldAojIENPTkZJR19Q UFNfQ0xJRU5UX0xESVNDIGlzIG5vdCBzZXQKIyBDT05GSUdfUFBTX0NMSUVOVF9HUElPIGlzIG5v dCBzZXQKCiMKIyBQUFMgZ2VuZXJhdG9ycyBzdXBwb3J0CiMKCiMKIyBQVFAgY2xvY2sgc3VwcG9y dAojCkNPTkZJR19QVFBfMTU4OF9DTE9DSz1tCgojCiMgRW5hYmxlIFBIWUxJQiBhbmQgTkVUV09S S19QSFlfVElNRVNUQU1QSU5HIHRvIHNlZSB0aGUgYWRkaXRpb25hbCBjbG9ja3MuCiMKIyBDT05G SUdfUFRQXzE1ODhfQ0xPQ0tfUENIIGlzIG5vdCBzZXQKQ09ORklHX1BJTkNUUkw9eQoKIwojIFBp biBjb250cm9sbGVycwojCiMgQ09ORklHX1BJTk1VWCBpcyBub3Qgc2V0CiMgQ09ORklHX1BJTkNP TkYgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19QSU5DVFJMIGlzIG5vdCBzZXQKQ09ORklHX0FS Q0hfV0FOVF9PUFRJT05BTF9HUElPTElCPXkKQ09ORklHX0dQSU9fREVWUkVTPXkKIyBDT05GSUdf R1BJT0xJQiBpcyBub3Qgc2V0CiMgQ09ORklHX1cxIGlzIG5vdCBzZXQKQ09ORklHX1BPV0VSX1NV UFBMWT15CiMgQ09ORklHX1BPV0VSX1NVUFBMWV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX1BE QV9QT1dFUiBpcyBub3Qgc2V0CiMgQ09ORklHX1RFU1RfUE9XRVIgaXMgbm90IHNldAojIENPTkZJ R19CQVRURVJZX0RTMjc4MCBpcyBub3Qgc2V0CiMgQ09ORklHX0JBVFRFUllfRFMyNzgxIGlzIG5v dCBzZXQKIyBDT05GSUdfQkFUVEVSWV9EUzI3ODIgaXMgbm90IHNldAojIENPTkZJR19CQVRURVJZ X1NCUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JBVFRFUllfQlEyN3gwMCBpcyBub3Qgc2V0CiMgQ09O RklHX0JBVFRFUllfTUFYMTcwNDAgaXMgbm90IHNldAojIENPTkZJR19CQVRURVJZX01BWDE3MDQy IGlzIG5vdCBzZXQKIyBDT05GSUdfQ0hBUkdFUl9NQVg4OTAzIGlzIG5vdCBzZXQKIyBDT05GSUdf Q0hBUkdFUl9MUDg3MjcgaXMgbm90IHNldAojIENPTkZJR19DSEFSR0VSX0JRMjQxNVggaXMgbm90 IHNldAojIENPTkZJR19DSEFSR0VSX1NNQjM0NyBpcyBub3Qgc2V0CiMgQ09ORklHX1BPV0VSX1JF U0VUIGlzIG5vdCBzZXQKIyBDT05GSUdfUE9XRVJfQVZTIGlzIG5vdCBzZXQKQ09ORklHX0hXTU9O PXkKQ09ORklHX0hXTU9OX1ZJRD1tCiMgQ09ORklHX0hXTU9OX0RFQlVHX0NISVAgaXMgbm90IHNl dAoKIwojIE5hdGl2ZSBkcml2ZXJzCiMKQ09ORklHX1NFTlNPUlNfQUJJVFVHVVJVPW0KQ09ORklH X1NFTlNPUlNfQUJJVFVHVVJVMz1tCiMgQ09ORklHX1NFTlNPUlNfQUQ3NDE0IGlzIG5vdCBzZXQK Q09ORklHX1NFTlNPUlNfQUQ3NDE4PW0KQ09ORklHX1NFTlNPUlNfQURNMTAyMT1tCkNPTkZJR19T RU5TT1JTX0FETTEwMjU9bQpDT05GSUdfU0VOU09SU19BRE0xMDI2PW0KQ09ORklHX1NFTlNPUlNf QURNMTAyOT1tCkNPTkZJR19TRU5TT1JTX0FETTEwMzE9bQpDT05GSUdfU0VOU09SU19BRE05MjQw PW0KIyBDT05GSUdfU0VOU09SU19BRFQ3NDEwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19B RFQ3NDExIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRFQ3NDYyIGlzIG5vdCBzZXQKQ09O RklHX1NFTlNPUlNfQURUNzQ3MD1tCiMgQ09ORklHX1NFTlNPUlNfQURUNzQ3NSBpcyBub3Qgc2V0 CiMgQ09ORklHX1NFTlNPUlNfQVNDNzYyMSBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX0s4VEVN UD1tCiMgQ09ORklHX1NFTlNPUlNfSzEwVEVNUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNf RkFNMTVIX1BPV0VSIGlzIG5vdCBzZXQKQ09ORklHX1NFTlNPUlNfQVNCMTAwPW0KQ09ORklHX1NF TlNPUlNfQVRYUDE9bQojIENPTkZJR19TRU5TT1JTX0RTNjIwIGlzIG5vdCBzZXQKQ09ORklHX1NF TlNPUlNfRFMxNjIxPW0KQ09ORklHX1NFTlNPUlNfSTVLX0FNQj1tCkNPTkZJR19TRU5TT1JTX0Y3 MTgwNUY9bQpDT05GSUdfU0VOU09SU19GNzE4ODJGRz1tCkNPTkZJR19TRU5TT1JTX0Y3NTM3NVM9 bQpDT05GSUdfU0VOU09SU19GU0NITUQ9bQojIENPTkZJR19TRU5TT1JTX0c3NjBBIGlzIG5vdCBz ZXQKIyBDT05GSUdfU0VOU09SU19HNzYyIGlzIG5vdCBzZXQKQ09ORklHX1NFTlNPUlNfR0w1MThT TT1tCkNPTkZJR19TRU5TT1JTX0dMNTIwU009bQojIENPTkZJR19TRU5TT1JTX0hJSDYxMzAgaXMg bm90IHNldAojIENPTkZJR19TRU5TT1JTX0hUVTIxIGlzIG5vdCBzZXQKQ09ORklHX1NFTlNPUlNf Q09SRVRFTVA9bQpDT05GSUdfU0VOU09SU19JVDg3PW0KIyBDT05GSUdfU0VOU09SU19KQzQyIGlz IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MSU5FQUdFIGlzIG5vdCBzZXQKQ09ORklHX1NFTlNP UlNfTE02Mz1tCiMgQ09ORklHX1NFTlNPUlNfTE03MyBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JT X0xNNzU9bQpDT05GSUdfU0VOU09SU19MTTc3PW0KQ09ORklHX1NFTlNPUlNfTE03OD1tCkNPTkZJ R19TRU5TT1JTX0xNODA9bQpDT05GSUdfU0VOU09SU19MTTgzPW0KQ09ORklHX1NFTlNPUlNfTE04 NT1tCkNPTkZJR19TRU5TT1JTX0xNODc9bQpDT05GSUdfU0VOU09SU19MTTkwPW0KQ09ORklHX1NF TlNPUlNfTE05Mj1tCkNPTkZJR19TRU5TT1JTX0xNOTM9bQojIENPTkZJR19TRU5TT1JTX0xUQzQx NTEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xUQzQyMTUgaXMgbm90IHNldAojIENPTkZJ R19TRU5TT1JTX0xUQzQyNDUgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xUQzQyNjEgaXMg bm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNOTUyMzQgaXMgbm90IHNldAojIENPTkZJR19TRU5T T1JTX0xNOTUyNDEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0xNOTUyNDUgaXMgbm90IHNl dAojIENPTkZJR19TRU5TT1JTX01BWDE2MDY1IGlzIG5vdCBzZXQKQ09ORklHX1NFTlNPUlNfTUFY MTYxOT1tCiMgQ09ORklHX1NFTlNPUlNfTUFYMTY2OCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP UlNfTUFYMTk3IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVg2NjM5IGlzIG5vdCBzZXQK IyBDT05GSUdfU0VOU09SU19NQVg2NjQyIGlzIG5vdCBzZXQKQ09ORklHX1NFTlNPUlNfTUFYNjY1 MD1tCiMgQ09ORklHX1NFTlNPUlNfTUFYNjY5NyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNf TUNQMzAyMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTkNUNjc3NSBpcyBub3Qgc2V0CiMg Q09ORklHX1NFTlNPUlNfTlRDX1RIRVJNSVNUT1IgaXMgbm90IHNldApDT05GSUdfU0VOU09SU19Q Qzg3MzYwPW0KQ09ORklHX1NFTlNPUlNfUEM4NzQyNz1tCkNPTkZJR19TRU5TT1JTX1BDRjg1OTE9 bQojIENPTkZJR19QTUJVUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfU0hUMjEgaXMgbm90 IHNldApDT05GSUdfU0VOU09SU19TSVM1NTk1PW0KIyBDT05GSUdfU0VOU09SU19TTU02NjUgaXMg bm90IHNldApDT05GSUdfU0VOU09SU19ETUUxNzM3PW0KIyBDT05GSUdfU0VOU09SU19FTUMxNDAz IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19FTUMyMTAzIGlzIG5vdCBzZXQKIyBDT05GSUdf U0VOU09SU19FTUM2VzIwMSBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX1NNU0M0N00xPW0KQ09O RklHX1NFTlNPUlNfU01TQzQ3TTE5Mj1tCkNPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTc9bQojIENP TkZJR19TRU5TT1JTX1NDSDU2WFhfQ09NTU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19B RFMxMDE1IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BRFM3ODI4IGlzIG5vdCBzZXQKIyBD T05GSUdfU0VOU09SU19BTUM2ODIxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19JTkEyMDkg aXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0lOQTJYWCBpcyBub3Qgc2V0CkNPTkZJR19TRU5T T1JTX1RITUM1MD1tCiMgQ09ORklHX1NFTlNPUlNfVE1QMTAyIGlzIG5vdCBzZXQKIyBDT05GSUdf U0VOU09SU19UTVA0MDEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1RNUDQyMSBpcyBub3Qg c2V0CiMgQ09ORklHX1NFTlNPUlNfVklBX0NQVVRFTVAgaXMgbm90IHNldApDT05GSUdfU0VOU09S U19WSUE2ODZBPW0KQ09ORklHX1NFTlNPUlNfVlQxMjExPW0KQ09ORklHX1NFTlNPUlNfVlQ4MjMx PW0KQ09ORklHX1NFTlNPUlNfVzgzNzgxRD1tCkNPTkZJR19TRU5TT1JTX1c4Mzc5MUQ9bQpDT05G SUdfU0VOU09SU19XODM3OTJEPW0KQ09ORklHX1NFTlNPUlNfVzgzNzkzPW0KIyBDT05GSUdfU0VO U09SU19XODM3OTUgaXMgbm90IHNldApDT05GSUdfU0VOU09SU19XODNMNzg1VFM9bQojIENPTkZJ R19TRU5TT1JTX1c4M0w3ODZORyBpcyBub3Qgc2V0CkNPTkZJR19TRU5TT1JTX1c4MzYyN0hGPW0K Q09ORklHX1NFTlNPUlNfVzgzNjI3RUhGPW0KQ09ORklHX1NFTlNPUlNfQVBQTEVTTUM9bQoKIwoj IEFDUEkgZHJpdmVycwojCiMgQ09ORklHX1NFTlNPUlNfQUNQSV9QT1dFUiBpcyBub3Qgc2V0CiMg Q09ORklHX1NFTlNPUlNfQVRLMDExMCBpcyBub3Qgc2V0CkNPTkZJR19USEVSTUFMPXkKIyBDT05G SUdfVEhFUk1BTF9IV01PTiBpcyBub3Qgc2V0CkNPTkZJR19USEVSTUFMX0RFRkFVTFRfR09WX1NU RVBfV0lTRT15CiMgQ09ORklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfRkFJUl9TSEFSRSBpcyBub3Qg c2V0CiMgQ09ORklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfVVNFUl9TUEFDRSBpcyBub3Qgc2V0CiMg Q09ORklHX1RIRVJNQUxfR09WX0ZBSVJfU0hBUkUgaXMgbm90IHNldApDT05GSUdfVEhFUk1BTF9H T1ZfU1RFUF9XSVNFPXkKQ09ORklHX1RIRVJNQUxfR09WX1VTRVJfU1BBQ0U9eQojIENPTkZJR19D UFVfVEhFUk1BTCBpcyBub3Qgc2V0CiMgQ09ORklHX1RIRVJNQUxfRU1VTEFUSU9OIGlzIG5vdCBz ZXQKIyBDT05GSUdfSU5URUxfUE9XRVJDTEFNUCBpcyBub3Qgc2V0CkNPTkZJR19YODZfUEtHX1RF TVBfVEhFUk1BTD1tCgojCiMgVGV4YXMgSW5zdHJ1bWVudHMgdGhlcm1hbCBkcml2ZXJzCiMKIyBD T05GSUdfV0FUQ0hET0cgaXMgbm90IHNldApDT05GSUdfU1NCX1BPU1NJQkxFPXkKCiMKIyBTb25p Y3MgU2lsaWNvbiBCYWNrcGxhbmUKIwpDT05GSUdfU1NCPW0KQ09ORklHX1NTQl9TUFJPTT15CkNP TkZJR19TU0JfUENJSE9TVF9QT1NTSUJMRT15CkNPTkZJR19TU0JfUENJSE9TVD15CiMgQ09ORklH X1NTQl9CNDNfUENJX0JSSURHRSBpcyBub3Qgc2V0CkNPTkZJR19TU0JfUENNQ0lBSE9TVF9QT1NT SUJMRT15CkNPTkZJR19TU0JfUENNQ0lBSE9TVD15CkNPTkZJR19TU0JfU0RJT0hPU1RfUE9TU0lC TEU9eQojIENPTkZJR19TU0JfU0RJT0hPU1QgaXMgbm90IHNldAojIENPTkZJR19TU0JfREVCVUcg aXMgbm90IHNldApDT05GSUdfU1NCX0RSSVZFUl9QQ0lDT1JFX1BPU1NJQkxFPXkKQ09ORklHX1NT Ql9EUklWRVJfUENJQ09SRT15CkNPTkZJR19CQ01BX1BPU1NJQkxFPXkKCiMKIyBCcm9hZGNvbSBz cGVjaWZpYyBBTUJBCiMKIyBDT05GSUdfQkNNQSBpcyBub3Qgc2V0CgojCiMgTXVsdGlmdW5jdGlv biBkZXZpY2UgZHJpdmVycwojCiMgQ09ORklHX01GRF9DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdf TUZEX0NTNTUzNSBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9BUzM3MTEgaXMgbm90IHNldAojIENP TkZJR19QTUlDX0FEUDU1MjAgaXMgbm90IHNldAojIENPTkZJR19NRkRfQ1JPU19FQyBpcyBub3Qg c2V0CiMgQ09ORklHX1BNSUNfREE5MDNYIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX0RBOTA1Ml9J MkMgaXMgbm90IHNldAojIENPTkZJR19NRkRfREE5MDU1IGlzIG5vdCBzZXQKIyBDT05GSUdfTUZE X0RBOTA2MyBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9NQzEzWFhYX0kyQyBpcyBub3Qgc2V0CiMg Q09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAojIENPTkZJR19MUENfSUNIIGlzIG5vdCBzZXQK IyBDT05GSUdfTFBDX1NDSCBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9KQU5aX0NNT0RJTyBpcyBu b3Qgc2V0CiMgQ09ORklHX01GRF9LRU1QTEQgaXMgbm90IHNldAojIENPTkZJR19NRkRfODhQTTgw MCBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF84OFBNODA1IGlzIG5vdCBzZXQKIyBDT05GSUdfTUZE Xzg4UE04NjBYIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX01BWDc3Njg2IGlzIG5vdCBzZXQKIyBD T05GSUdfTUZEX01BWDc3NjkzIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX01BWDg5MDcgaXMgbm90 IHNldAojIENPTkZJR19NRkRfTUFYODkyNSBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9NQVg4OTk3 IGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX01BWDg5OTggaXMgbm90IHNldAojIENPTkZJR19NRkRf VklQRVJCT0FSRCBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9SRVRVIGlzIG5vdCBzZXQKIyBDT05G SUdfTUZEX1BDRjUwNjMzIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1JEQzMyMVggaXMgbm90IHNl dAojIENPTkZJR19NRkRfUlRTWF9QQ0kgaXMgbm90IHNldAojIENPTkZJR19NRkRfUkM1VDU4MyBp cyBub3Qgc2V0CiMgQ09ORklHX01GRF9TRUNfQ09SRSBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9T STQ3NlhfQ09SRSBpcyBub3Qgc2V0CkNPTkZJR19NRkRfU001MDE9bQojIENPTkZJR19NRkRfU01T QyBpcyBub3Qgc2V0CiMgQ09ORklHX0FCWDUwMF9DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZE X1NUTVBFIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1NZU0NPTiBpcyBub3Qgc2V0CiMgQ09ORklH X01GRF9USV9BTTMzNVhfVFNDQURDIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX0xQODc4OCBpcyBu b3Qgc2V0CiMgQ09ORklHX01GRF9QQUxNQVMgaXMgbm90IHNldAojIENPTkZJR19UUFM2MTA1WCBp cyBub3Qgc2V0CiMgQ09ORklHX1RQUzY1MDdYIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1RQUzY1 MDkwIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1RQUzY1MjE3IGlzIG5vdCBzZXQKIyBDT05GSUdf TUZEX1RQUzY1ODZYIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZEX1RQUzgwMDMxIGlzIG5vdCBzZXQK IyBDT05GSUdfVFdMNDAzMF9DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfVFdMNjA0MF9DT1JFIGlz IG5vdCBzZXQKIyBDT05GSUdfTUZEX1dMMTI3M19DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfTUZE X0xNMzUzMyBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9UQzM1ODlYIGlzIG5vdCBzZXQKIyBDT05G SUdfTUZEX1RNSU8gaXMgbm90IHNldAojIENPTkZJR19NRkRfVlg4NTUgaXMgbm90IHNldAojIENP TkZJR19NRkRfQVJJWk9OQV9JMkMgaXMgbm90IHNldAojIENPTkZJR19NRkRfV004NDAwIGlzIG5v dCBzZXQKIyBDT05GSUdfTUZEX1dNODMxWF9JMkMgaXMgbm90IHNldAojIENPTkZJR19NRkRfV004 MzUwX0kyQyBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9XTTg5OTQgaXMgbm90IHNldAojIENPTkZJ R19SRUdVTEFUT1IgaXMgbm90IHNldAojIENPTkZJR19NRURJQV9TVVBQT1JUIGlzIG5vdCBzZXQK CiMKIyBHcmFwaGljcyBzdXBwb3J0CiMKQ09ORklHX0FHUD15CkNPTkZJR19BR1BfQU1ENjQ9bQpD T05GSUdfQUdQX0lOVEVMPXkKIyBDT05GSUdfQUdQX1NJUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FH UF9WSUEgaXMgbm90IHNldApDT05GSUdfVkdBX0FSQj15CkNPTkZJR19WR0FfQVJCX01BWF9HUFVT PTE2CiMgQ09ORklHX1ZHQV9TV0lUQ0hFUk9PIGlzIG5vdCBzZXQKQ09ORklHX0RSTT15CkNPTkZJ R19EUk1fS01TX0hFTFBFUj15CkNPTkZJR19EUk1fTE9BRF9FRElEX0ZJUk1XQVJFPXkKCiMKIyBJ MkMgZW5jb2RlciBvciBoZWxwZXIgY2hpcHMKIwojIENPTkZJR19EUk1fSTJDX0NINzAwNiBpcyBu b3Qgc2V0CiMgQ09ORklHX0RSTV9JMkNfU0lMMTY0IGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNX0ky Q19OWFBfVERBOTk4WCBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9UREZYIGlzIG5vdCBzZXQKIyBD T05GSUdfRFJNX1IxMjggaXMgbm90IHNldAojIENPTkZJR19EUk1fUkFERU9OIGlzIG5vdCBzZXQK IyBDT05GSUdfRFJNX05PVVZFQVUgaXMgbm90IHNldApDT05GSUdfRFJNX0k5MTU9eQpDT05GSUdf RFJNX0k5MTVfS01TPXkKQ09ORklHX0RSTV9JOTE1X1BSRUxJTUlOQVJZX0hXX1NVUFBPUlQ9eQoj IENPTkZJR19EUk1fTUdBIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNX1NJUyBpcyBub3Qgc2V0CiMg Q09ORklHX0RSTV9WSUEgaXMgbm90IHNldAojIENPTkZJR19EUk1fU0FWQUdFIGlzIG5vdCBzZXQK IyBDT05GSUdfRFJNX1ZNV0dGWCBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9HTUE1MDAgaXMgbm90 IHNldAojIENPTkZJR19EUk1fVURMIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNX0FTVCBpcyBub3Qg c2V0CiMgQ09ORklHX0RSTV9NR0FHMjAwIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNX0NJUlJVU19R RU1VIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNX1FYTCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZHQVNU QVRFIGlzIG5vdCBzZXQKQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MPXkKQ09ORklHX0hETUk9 eQpDT05GSUdfRkI9eQpDT05GSUdfRklSTVdBUkVfRURJRD15CiMgQ09ORklHX0ZCX0REQyBpcyBu b3Qgc2V0CkNPTkZJR19GQl9CT09UX1ZFU0FfU1VQUE9SVD15CkNPTkZJR19GQl9DRkJfRklMTFJF Q1Q9eQpDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQoj IENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJf U1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBz ZXQKIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0ZPUkVJ R05fRU5ESUFOIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAojIENP TkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNl dAojIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAojIENPTkZJR19GQl9NT0RFX0hFTFBF UlMgaXMgbm90IHNldAojIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAoKIwojIEZy YW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCiMKIyBDT05GSUdfRkJfQ0lSUlVTIGlzIG5vdCBz ZXQKIyBDT05GSUdfRkJfUE0yIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQ1lCRVIyMDAwIGlzIG5v dCBzZXQKIyBDT05GSUdfRkJfQVJDIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQVNJTElBTlQgaXMg bm90IHNldAojIENPTkZJR19GQl9JTVNUVCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1ZHQTE2IGlz IG5vdCBzZXQKIyBDT05GSUdfRkJfVVZFU0EgaXMgbm90IHNldApDT05GSUdfRkJfVkVTQT15CkNP TkZJR19GQl9FRkk9eQojIENPTkZJR19GQl9ONDExIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfSEdB IGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAojIENPTkZJR19GQl9O VklESUEgaXMgbm90IHNldAojIENPTkZJR19GQl9SSVZBIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJf STc0MCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0xFODA1NzggaXMgbm90IHNldAojIENPTkZJR19G Ql9NQVRST1ggaXMgbm90IHNldAojIENPTkZJR19GQl9SQURFT04gaXMgbm90IHNldAojIENPTkZJ R19GQl9BVFkxMjggaXMgbm90IHNldAojIENPTkZJR19GQl9BVFkgaXMgbm90IHNldAojIENPTkZJ R19GQl9TMyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1NBVkFHRSBpcyBub3Qgc2V0CiMgQ09ORklH X0ZCX1NJUyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1ZJQSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZC X05FT01BR0lDIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfS1lSTyBpcyBub3Qgc2V0CiMgQ09ORklH X0ZCXzNERlggaXMgbm90IHNldAojIENPTkZJR19GQl9WT09ET08xIGlzIG5vdCBzZXQKIyBDT05G SUdfRkJfVlQ4NjIzIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfVFJJREVOVCBpcyBub3Qgc2V0CiMg Q09ORklHX0ZCX0FSSyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1BNMyBpcyBub3Qgc2V0CiMgQ09O RklHX0ZCX0NBUk1JTkUgaXMgbm90IHNldAojIENPTkZJR19GQl9TTTUwMSBpcyBub3Qgc2V0CiMg Q09ORklHX0ZCX1NNU0NVRlggaXMgbm90IHNldAojIENPTkZJR19GQl9VREwgaXMgbm90IHNldAoj IENPTkZJR19GQl9HT0xERklTSCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90 IHNldAojIENPTkZJR19GQl9NRVRST05PTUUgaXMgbm90IHNldAojIENPTkZJR19GQl9NQjg2MlhY IGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQlJPQURTSEVFVCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZC X0FVT19LMTkwWCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1NJTVBMRSBpcyBub3Qgc2V0CiMgQ09O RklHX0VYWU5PU19WSURFTyBpcyBub3Qgc2V0CkNPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQ9 eQpDT05GSUdfTENEX0NMQVNTX0RFVklDRT1tCiMgQ09ORklHX0xDRF9QTEFURk9STSBpcyBub3Qg c2V0CkNPTkZJR19CQUNLTElHSFRfQ0xBU1NfREVWSUNFPXkKQ09ORklHX0JBQ0tMSUdIVF9HRU5F UklDPW0KIyBDT05GSUdfQkFDS0xJR0hUX0FQUExFIGlzIG5vdCBzZXQKIyBDT05GSUdfQkFDS0xJ R0hUX1NBSEFSQSBpcyBub3Qgc2V0CiMgQ09ORklHX0JBQ0tMSUdIVF9BRFA4ODYwIGlzIG5vdCBz ZXQKIyBDT05GSUdfQkFDS0xJR0hUX0FEUDg4NzAgaXMgbm90IHNldAojIENPTkZJR19CQUNLTElH SFRfTE0zNjMwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkFDS0xJR0hUX0xNMzYzOSBpcyBub3Qgc2V0 CiMgQ09ORklHX0JBQ0tMSUdIVF9MUDg1NVggaXMgbm90IHNldAojIENPTkZJR19CQUNLTElHSFRf TFY1MjA3TFAgaXMgbm90IHNldAojIENPTkZJR19CQUNLTElHSFRfQkQ2MTA3IGlzIG5vdCBzZXQK CiMKIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKIwpDT05GSUdfVkdBX0NPTlNPTEU9 eQojIENPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLIGlzIG5vdCBzZXQKQ09ORklHX0RVTU1Z X0NPTlNPTEU9eQpDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15CkNPTkZJR19GUkFNRUJVRkZF Ul9DT05TT0xFX0RFVEVDVF9QUklNQVJZPXkKIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9S T1RBVElPTiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0NPTl9ERUNPUiBpcyBub3Qgc2V0CkNPTkZJ R19MT0dPPXkKQ09ORklHX0xPR09fTElOVVhfTU9OTz15CkNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2 PXkKQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CkNPTkZJR19TT1VORD15CkNPTkZJR19TT1VO RF9PU1NfQ09SRT15CkNPTkZJR19TT1VORF9PU1NfQ09SRV9QUkVDTEFJTT15CkNPTkZJR19TTkQ9 bQpDT05GSUdfU05EX1RJTUVSPW0KQ09ORklHX1NORF9QQ009bQpDT05GSUdfU05EX0hXREVQPW0K Q09ORklHX1NORF9SQVdNSURJPW0KQ09ORklHX1NORF9DT01QUkVTU19PRkZMT0FEPW0KQ09ORklH X1NORF9KQUNLPXkKQ09ORklHX1NORF9TRVFVRU5DRVI9bQojIENPTkZJR19TTkRfU0VRX0RVTU1Z IGlzIG5vdCBzZXQKQ09ORklHX1NORF9PU1NFTVVMPXkKQ09ORklHX1NORF9NSVhFUl9PU1M9bQpD T05GSUdfU05EX1BDTV9PU1M9bQpDT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15CkNPTkZJR19T TkRfU0VRVUVOQ0VSX09TUz15CiMgQ09ORklHX1NORF9IUlRJTUVSIGlzIG5vdCBzZXQKQ09ORklH X1NORF9EWU5BTUlDX01JTk9SUz15CkNPTkZJR19TTkRfTUFYX0NBUkRTPTMyCkNPTkZJR19TTkRf U1VQUE9SVF9PTERfQVBJPXkKIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTIGlzIG5vdCBzZXQK IyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0RFQlVH IGlzIG5vdCBzZXQKQ09ORklHX1NORF9WTUFTVEVSPXkKQ09ORklHX1NORF9LQ1RMX0pBQ0s9eQpD T05GSUdfU05EX0RNQV9TR0JVRj15CkNPTkZJR19TTkRfUkFXTUlESV9TRVE9bQpDT05GSUdfU05E X09QTDNfTElCX1NFUT1tCiMgQ09ORklHX1NORF9PUEw0X0xJQl9TRVEgaXMgbm90IHNldAojIENP TkZJR19TTkRfU0JBV0VfU0VRIGlzIG5vdCBzZXQKQ09ORklHX1NORF9FTVUxMEsxX1NFUT1tCkNP TkZJR19TTkRfTVBVNDAxX1VBUlQ9bQpDT05GSUdfU05EX09QTDNfTElCPW0KQ09ORklHX1NORF9W WF9MSUI9bQpDT05GSUdfU05EX0FDOTdfQ09ERUM9bQpDT05GSUdfU05EX0RSSVZFUlM9eQojIENP TkZJR19TTkRfUENTUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0CiMg Q09ORklHX1NORF9BTE9PUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9WSVJNSURJIGlzIG5vdCBz ZXQKIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1NFUklBTF9VMTY1 NTAgaXMgbm90IHNldApDT05GSUdfU05EX01QVTQwMT1tCiMgQ09ORklHX1NORF9BQzk3X1BPV0VS X1NBVkUgaXMgbm90IHNldApDT05GSUdfU05EX1NCX0NPTU1PTj1tCkNPTkZJR19TTkRfU0IxNl9E U1A9bQpDT05GSUdfU05EX1BDST15CkNPTkZJR19TTkRfQUQxODg5PW0KQ09ORklHX1NORF9BTFMz MDA9bQpDT05GSUdfU05EX0FMUzQwMDA9bQpDT05GSUdfU05EX0FMSTU0NTE9bQojIENPTkZJR19T TkRfQVNJSFBJIGlzIG5vdCBzZXQKQ09ORklHX1NORF9BVElJWFA9bQpDT05GSUdfU05EX0FUSUlY UF9NT0RFTT1tCkNPTkZJR19TTkRfQVU4ODEwPW0KQ09ORklHX1NORF9BVTg4MjA9bQpDT05GSUdf U05EX0FVODgzMD1tCiMgQ09ORklHX1NORF9BVzIgaXMgbm90IHNldApDT05GSUdfU05EX0FaVDMz Mjg9bQpDT05GSUdfU05EX0JUODdYPW0KIyBDT05GSUdfU05EX0JUODdYX09WRVJDTE9DSyBpcyBu b3Qgc2V0CkNPTkZJR19TTkRfQ0EwMTA2PW0KQ09ORklHX1NORF9DTUlQQ0k9bQojIENPTkZJR19T TkRfT1hZR0VOIGlzIG5vdCBzZXQKQ09ORklHX1NORF9DUzQyODE9bQpDT05GSUdfU05EX0NTNDZY WD1tCkNPTkZJR19TTkRfQ1M0NlhYX05FV19EU1A9eQpDT05GSUdfU05EX0NTNTUzMD1tCiMgQ09O RklHX1NORF9DUzU1MzVBVURJTyBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9DVFhGSSBpcyBub3Qg c2V0CkNPTkZJR19TTkRfREFSTEEyMD1tCkNPTkZJR19TTkRfR0lOQTIwPW0KQ09ORklHX1NORF9M QVlMQTIwPW0KQ09ORklHX1NORF9EQVJMQTI0PW0KQ09ORklHX1NORF9HSU5BMjQ9bQpDT05GSUdf U05EX0xBWUxBMjQ9bQpDT05GSUdfU05EX01PTkE9bQpDT05GSUdfU05EX01JQT1tCkNPTkZJR19T TkRfRUNITzNHPW0KQ09ORklHX1NORF9JTkRJR089bQpDT05GSUdfU05EX0lORElHT0lPPW0KQ09O RklHX1NORF9JTkRJR09ESj1tCiMgQ09ORklHX1NORF9JTkRJR09JT1ggaXMgbm90IHNldAojIENP TkZJR19TTkRfSU5ESUdPREpYIGlzIG5vdCBzZXQKQ09ORklHX1NORF9FTVUxMEsxPW0KQ09ORklH X1NORF9FTVUxMEsxWD1tCkNPTkZJR19TTkRfRU5TMTM3MD1tCkNPTkZJR19TTkRfRU5TMTM3MT1t CkNPTkZJR19TTkRfRVMxOTM4PW0KQ09ORklHX1NORF9FUzE5Njg9bQojIENPTkZJR19TTkRfRVMx OTY4X0lOUFVUIGlzIG5vdCBzZXQKQ09ORklHX1NORF9GTTgwMT1tCkNPTkZJR19TTkRfSERBX0lO VEVMPW0KQ09ORklHX1NORF9IREFfUFJFQUxMT0NfU0laRT02NApDT05GSUdfU05EX0hEQV9IV0RF UD15CiMgQ09ORklHX1NORF9IREFfUkVDT05GSUcgaXMgbm90IHNldAojIENPTkZJR19TTkRfSERB X0lOUFVUX0JFRVAgaXMgbm90IHNldAojIENPTkZJR19TTkRfSERBX0lOUFVUX0pBQ0sgaXMgbm90 IHNldAojIENPTkZJR19TTkRfSERBX1BBVENIX0xPQURFUiBpcyBub3Qgc2V0CkNPTkZJR19TTkRf SERBX0NPREVDX1JFQUxURUs9eQpDT05GSUdfU05EX0hEQV9DT0RFQ19BTkFMT0c9eQpDT05GSUdf U05EX0hEQV9DT0RFQ19TSUdNQVRFTD15CkNPTkZJR19TTkRfSERBX0NPREVDX1ZJQT15CkNPTkZJ R19TTkRfSERBX0NPREVDX0hETUk9eQpDT05GSUdfU05EX0hEQV9JOTE1PXkKQ09ORklHX1NORF9I REFfQ09ERUNfQ0lSUlVTPXkKQ09ORklHX1NORF9IREFfQ09ERUNfQ09ORVhBTlQ9eQpDT05GSUdf U05EX0hEQV9DT0RFQ19DQTAxMTA9eQpDT05GSUdfU05EX0hEQV9DT0RFQ19DQTAxMzI9eQojIENP TkZJR19TTkRfSERBX0NPREVDX0NBMDEzMl9EU1AgaXMgbm90IHNldApDT05GSUdfU05EX0hEQV9D T0RFQ19DTUVESUE9eQpDT05GSUdfU05EX0hEQV9DT0RFQ19TSTMwNTQ9eQpDT05GSUdfU05EX0hE QV9HRU5FUklDPXkKQ09ORklHX1NORF9IREFfUE9XRVJfU0FWRV9ERUZBVUxUPTAKQ09ORklHX1NO RF9IRFNQPW0KQ09ORklHX1NORF9IRFNQTT1tCkNPTkZJR19TTkRfSUNFMTcxMj1tCkNPTkZJR19T TkRfSUNFMTcyND1tCkNPTkZJR19TTkRfSU5URUw4WDA9bQpDT05GSUdfU05EX0lOVEVMOFgwTT1t CkNPTkZJR19TTkRfS09SRzEyMTI9bQojIENPTkZJR19TTkRfTE9MQSBpcyBub3Qgc2V0CiMgQ09O RklHX1NORF9MWDY0NjRFUyBpcyBub3Qgc2V0CkNPTkZJR19TTkRfTUFFU1RSTzM9bQojIENPTkZJ R19TTkRfTUFFU1RSTzNfSU5QVVQgaXMgbm90IHNldApDT05GSUdfU05EX01JWEFSVD1tCkNPTkZJ R19TTkRfTk0yNTY9bQpDT05GSUdfU05EX1BDWEhSPW0KQ09ORklHX1NORF9SSVBUSURFPW0KQ09O RklHX1NORF9STUUzMj1tCkNPTkZJR19TTkRfUk1FOTY9bQpDT05GSUdfU05EX1JNRTk2NTI9bQpD T05GSUdfU05EX1NPTklDVklCRVM9bQpDT05GSUdfU05EX1RSSURFTlQ9bQpDT05GSUdfU05EX1ZJ QTgyWFg9bQpDT05GSUdfU05EX1ZJQTgyWFhfTU9ERU09bQojIENPTkZJR19TTkRfVklSVFVPU08g aXMgbm90IHNldApDT05GSUdfU05EX1ZYMjIyPW0KQ09ORklHX1NORF9ZTUZQQ0k9bQojIENPTkZJ R19TTkRfVVNCIGlzIG5vdCBzZXQKQ09ORklHX1NORF9GSVJFV0lSRT15CiMgQ09ORklHX1NORF9G SVJFV0lSRV9TUEVBS0VSUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9JU0lHSFQgaXMgbm90IHNl dAojIENPTkZJR19TTkRfU0NTMVggaXMgbm90IHNldApDT05GSUdfU05EX1BDTUNJQT15CkNPTkZJ R19TTkRfVlhQT0NLRVQ9bQpDT05GSUdfU05EX1BEQVVESU9DRj1tCkNPTkZJR19TTkRfU09DPW0K IyBDT05GSUdfU05EX0FUTUVMX1NPQyBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9ERVNJR05XQVJF X0kyUyBpcyBub3Qgc2V0CkNPTkZJR19TTkRfU09DX0kyQ19BTkRfU1BJPW0KIyBDT05GSUdfU05E X1NJTVBMRV9DQVJEIGlzIG5vdCBzZXQKIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldApD T05GSUdfQUM5N19CVVM9bQoKIwojIEhJRCBzdXBwb3J0CiMKQ09ORklHX0hJRD15CiMgQ09ORklH X0hJRF9CQVRURVJZX1NUUkVOR1RIIGlzIG5vdCBzZXQKQ09ORklHX0hJRFJBVz15CiMgQ09ORklH X1VISUQgaXMgbm90IHNldApDT05GSUdfSElEX0dFTkVSSUM9eQoKIwojIFNwZWNpYWwgSElEIGRy aXZlcnMKIwpDT05GSUdfSElEX0E0VEVDSD15CiMgQ09ORklHX0hJRF9BQ1JVWCBpcyBub3Qgc2V0 CkNPTkZJR19ISURfQVBQTEU9eQojIENPTkZJR19ISURfQVBQTEVJUiBpcyBub3Qgc2V0CiMgQ09O RklHX0hJRF9BVVJFQUwgaXMgbm90IHNldApDT05GSUdfSElEX0JFTEtJTj15CkNPTkZJR19ISURf Q0hFUlJZPXkKQ09ORklHX0hJRF9DSElDT05ZPXkKIyBDT05GSUdfSElEX1BST0RJS0VZUyBpcyBu b3Qgc2V0CkNPTkZJR19ISURfQ1lQUkVTUz15CiMgQ09ORklHX0hJRF9EUkFHT05SSVNFIGlzIG5v dCBzZXQKIyBDT05GSUdfSElEX0VNU19GRiBpcyBub3Qgc2V0CiMgQ09ORklHX0hJRF9FTEVDT00g aXMgbm90IHNldAojIENPTkZJR19ISURfRUxPIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9FWktFWT15 CiMgQ09ORklHX0hJRF9IT0xURUsgaXMgbm90IHNldAojIENPTkZJR19ISURfSFVJT04gaXMgbm90 IHNldAojIENPTkZJR19ISURfS0VZVE9VQ0ggaXMgbm90IHNldAojIENPTkZJR19ISURfS1lFIGlz IG5vdCBzZXQKIyBDT05GSUdfSElEX1VDTE9HSUMgaXMgbm90IHNldAojIENPTkZJR19ISURfV0FM VE9QIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9HWVJBVElPTj1tCiMgQ09ORklHX0hJRF9JQ0FERSBp cyBub3Qgc2V0CiMgQ09ORklHX0hJRF9UV0lOSEFOIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9LRU5T SU5HVE9OPXkKIyBDT05GSUdfSElEX0xDUE9XRVIgaXMgbm90IHNldAojIENPTkZJR19ISURfTEVO T1ZPX1RQS0JEIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9MT0dJVEVDSD15CiMgQ09ORklHX0hJRF9M T0dJVEVDSF9ESiBpcyBub3Qgc2V0CiMgQ09ORklHX0xPR0lURUNIX0ZGIGlzIG5vdCBzZXQKIyBD T05GSUdfTE9HSVJVTUJMRVBBRDJfRkYgaXMgbm90IHNldAojIENPTkZJR19MT0dJRzk0MF9GRiBp cyBub3Qgc2V0CiMgQ09ORklHX0xPR0lXSEVFTFNfRkYgaXMgbm90IHNldAojIENPTkZJR19ISURf TUFHSUNNT1VTRSBpcyBub3Qgc2V0CkNPTkZJR19ISURfTUlDUk9TT0ZUPXkKQ09ORklHX0hJRF9N T05URVJFWT15CiMgQ09ORklHX0hJRF9NVUxUSVRPVUNIIGlzIG5vdCBzZXQKIyBDT05GSUdfSElE X05UUklHIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX09SVEVLIGlzIG5vdCBzZXQKQ09ORklHX0hJ RF9QQU5USEVSTE9SRD1tCiMgQ09ORklHX1BBTlRIRVJMT1JEX0ZGIGlzIG5vdCBzZXQKQ09ORklH X0hJRF9QRVRBTFlOWD1tCiMgQ09ORklHX0hJRF9QSUNPTENEIGlzIG5vdCBzZXQKIyBDT05GSUdf SElEX1BSSU1BWCBpcyBub3Qgc2V0CiMgQ09ORklHX0hJRF9ST0NDQVQgaXMgbm90IHNldAojIENP TkZJR19ISURfU0FJVEVLIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9TQU1TVU5HPW0KQ09ORklHX0hJ RF9TT05ZPW0KIyBDT05GSUdfSElEX1NQRUVETElOSyBpcyBub3Qgc2V0CiMgQ09ORklHX0hJRF9T VEVFTFNFUklFUyBpcyBub3Qgc2V0CkNPTkZJR19ISURfU1VOUExVUz1tCiMgQ09ORklHX0hJRF9H UkVFTkFTSUEgaXMgbm90IHNldAojIENPTkZJR19ISURfU01BUlRKT1lQTFVTIGlzIG5vdCBzZXQK IyBDT05GSUdfSElEX1RJVk8gaXMgbm90IHNldAojIENPTkZJR19ISURfVE9QU0VFRCBpcyBub3Qg c2V0CiMgQ09ORklHX0hJRF9USElOR00gaXMgbm90IHNldAojIENPTkZJR19ISURfVEhSVVNUTUFT VEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfSElEX1dBQ09NIGlzIG5vdCBzZXQKIyBDT05GSUdfSElE X1dJSU1PVEUgaXMgbm90IHNldAojIENPTkZJR19ISURfWElOTU8gaXMgbm90IHNldAojIENPTkZJ R19ISURfWkVST1BMVVMgaXMgbm90IHNldAojIENPTkZJR19ISURfWllEQUNST04gaXMgbm90IHNl dAojIENPTkZJR19ISURfU0VOU09SX0hVQiBpcyBub3Qgc2V0CgojCiMgVVNCIEhJRCBzdXBwb3J0 CiMKQ09ORklHX1VTQl9ISUQ9bQojIENPTkZJR19ISURfUElEIGlzIG5vdCBzZXQKQ09ORklHX1VT Ql9ISURERVY9eQoKIwojIEkyQyBISUQgc3VwcG9ydAojCiMgQ09ORklHX0kyQ19ISUQgaXMgbm90 IHNldApDT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CkNPTkZJR19VU0JfU1VQUE9SVD15 CkNPTkZJR19VU0JfQ09NTU9OPXkKQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQpDT05GSUdfVVNC PXkKIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdf REVWSUNFUz15CgojCiMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwojCkNPTkZJR19VU0JfREVG QVVMVF9QRVJTSVNUPXkKIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKIyBD T05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAojIENP TkZJR19VU0JfV1VTQl9DQkFGIGlzIG5vdCBzZXQKCiMKIyBVU0IgSG9zdCBDb250cm9sbGVyIERy aXZlcnMKIwojIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CkNPTkZJR19VU0JfWEhD SV9IQ0Q9eQpDT05GSUdfVVNCX0VIQ0lfSENEPXkKIyBDT05GSUdfVVNCX0VIQ0lfUk9PVF9IVUJf VFQgaXMgbm90IHNldAojIENPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRCBpcyBub3Qgc2V0CkNP TkZJR19VU0JfRUhDSV9QQ0k9eQpDT05GSUdfVVNCX0VIQ0lfSENEX1BMQVRGT1JNPXkKIyBDT05G SUdfVVNCX09YVTIxMEhQX0hDRCBpcyBub3Qgc2V0CkNPTkZJR19VU0JfSVNQMTE2WF9IQ0Q9bQoj IENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAojIENPTkZJR19VU0JfSVNQMTM2Ml9I Q0QgaXMgbm90IHNldAojIENPTkZJR19VU0JfRlVTQkgyMDBfSENEIGlzIG5vdCBzZXQKIyBDT05G SUdfVVNCX0ZPVEcyMTBfSENEIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9PSENJX0hDRD1tCkNPTkZJ R19VU0JfT0hDSV9IQ0RfUENJPW0KQ09ORklHX1VTQl9PSENJX0hDRF9TU0I9eQpDT05GSUdfVVNC X09IQ0lfSENEX1BMQVRGT1JNPW0KQ09ORklHX1VTQl9VSENJX0hDRD1tCiMgQ09ORklHX1VTQl9T TDgxMV9IQ0QgaXMgbm90IHNldAojIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQK Q09ORklHX1VTQl9IQ0RfU1NCPW0KIyBDT05GSUdfVVNCX0hDRF9URVNUX01PREUgaXMgbm90IHNl dAoKIwojIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwojCiMgQ09ORklHX1VTQl9BQ00gaXMgbm90 IHNldAojIENPTkZJR19VU0JfUFJJTlRFUiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9XRE0gaXMg bm90IHNldAojIENPTkZJR19VU0JfVE1DIGlzIG5vdCBzZXQKCiMKIyBOT1RFOiBVU0JfU1RPUkFH RSBkZXBlbmRzIG9uIFNDU0kgYnV0IEJMS19ERVZfU0QgbWF5CiMKCiMKIyBhbHNvIGJlIG5lZWRl ZDsgc2VlIFVTQl9TVE9SQUdFIEhlbHAgZm9yIG1vcmUgaW5mbwojCkNPTkZJR19VU0JfU1RPUkFH RT15CiMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NU T1JBR0VfUkVBTFRFSyBpcyBub3Qgc2V0CkNPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCPW0KQ09O RklHX1VTQl9TVE9SQUdFX0ZSRUVDT009bQpDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwPW0KQ09O RklHX1VTQl9TVE9SQUdFX1VTQkFUPW0KQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOT1tCkNPTkZJ R19VU0JfU1RPUkFHRV9TRERSNTU9bQpDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1Q9bQpDT05G SUdfVVNCX1NUT1JBR0VfQUxBVURBPW0KIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMg bm90IHNldApDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUE9bQojIENPTkZJR19VU0JfU1RPUkFHRV9D WVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfRU5FX1VCNjI1MCBp cyBub3Qgc2V0CgojCiMgVVNCIEltYWdpbmcgZGV2aWNlcwojCiMgQ09ORklHX1VTQl9NREM4MDAg aXMgbm90IHNldAojIENPTkZJR19VU0JfTUlDUk9URUsgaXMgbm90IHNldAojIENPTkZJR19VU0Jf RFdDMyBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9DSElQSURFQSBpcyBub3Qgc2V0CgojCiMgVVNC IHBvcnQgZHJpdmVycwojCkNPTkZJR19VU0JfU0VSSUFMPW0KQ09ORklHX1VTQl9TRVJJQUxfR0VO RVJJQz15CiMgQ09ORklHX1VTQl9TRVJJQUxfU0lNUExFIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9T RVJJQUxfQUlSQ0FCTEU9bQpDT05GSUdfVVNCX1NFUklBTF9BUkszMTE2PW0KIyBDT05GSUdfVVNC X1NFUklBTF9CRUxLSU4gaXMgbm90IHNldApDT05GSUdfVVNCX1NFUklBTF9DSDM0MT1tCkNPTkZJ R19VU0JfU0VSSUFMX1dISVRFSEVBVD1tCiMgQ09ORklHX1VTQl9TRVJJQUxfRElHSV9BQ0NFTEVQ T1JUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9DUDIxMFggaXMgbm90IHNldAojIENP TkZJR19VU0JfU0VSSUFMX0NZUFJFU1NfTTggaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFM X0VNUEVHIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9GVERJX1NJTyBpcyBub3Qgc2V0 CiMgQ09ORklHX1VTQl9TRVJJQUxfVklTT1IgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFM X0lQQVEgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0lSIGlzIG5vdCBzZXQKIyBDT05G SUdfVVNCX1NFUklBTF9FREdFUE9SVCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfRURH RVBPUlRfVEkgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX0Y4MTIzMiBpcyBub3Qgc2V0 CiMgQ09ORklHX1VTQl9TRVJJQUxfR0FSTUlOIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9TRVJJQUxf SVBXPW0KIyBDT05GSUdfVVNCX1NFUklBTF9JVVUgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VS SUFMX0tFWVNQQU5fUERBIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOIGlz IG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9LTFNJIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC X1NFUklBTF9LT0JJTF9TQ1QgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX01DVF9VMjMy IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9NRVRSTyBpcyBub3Qgc2V0CkNPTkZJR19V U0JfU0VSSUFMX01PUzc3MjA9bQpDT05GSUdfVVNCX1NFUklBTF9NT1M3ODQwPW0KQ09ORklHX1VT Ql9TRVJJQUxfTkFWTUFOPW0KIyBDT05GSUdfVVNCX1NFUklBTF9QTDIzMDMgaXMgbm90IHNldApD T05GSUdfVVNCX1NFUklBTF9PVEk2ODU4PW0KIyBDT05GSUdfVVNCX1NFUklBTF9RQ0FVWCBpcyBu b3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfUVVBTENPTU0gaXMgbm90IHNldAojIENPTkZJR19V U0JfU0VSSUFMX1NQQ1A4WDUgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1NBRkUgaXMg bm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1NJRVJSQVdJUkVMRVNTIGlzIG5vdCBzZXQKIyBD T05GSUdfVVNCX1NFUklBTF9TWU1CT0wgaXMgbm90IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1RJ IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9DWUJFUkpBQ0sgaXMgbm90IHNldAojIENP TkZJR19VU0JfU0VSSUFMX1hJUkNPTSBpcyBub3Qgc2V0CkNPTkZJR19VU0JfU0VSSUFMX1dXQU49 bQpDT05GSUdfVVNCX1NFUklBTF9PUFRJT049bQpDT05GSUdfVVNCX1NFUklBTF9PTU5JTkVUPW0K IyBDT05GSUdfVVNCX1NFUklBTF9PUFRJQ09OIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklB TF9YU0VOU19NVCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJQUxfV0lTSEJPTkUgaXMgbm90 IHNldAojIENPTkZJR19VU0JfU0VSSUFMX1pURSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TRVJJ QUxfU1NVMTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NFUklBTF9RVDIgaXMgbm90IHNldAoj IENPTkZJR19VU0JfU0VSSUFMX0RFQlVHIGlzIG5vdCBzZXQKCiMKIyBVU0IgTWlzY2VsbGFuZW91 cyBkcml2ZXJzCiMKIyBDT05GSUdfVVNCX0VNSTYyIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0VN STI2IGlzIG5vdCBzZXQKQ09ORklHX1VTQl9BRFVUVVg9bQojIENPTkZJR19VU0JfU0VWU0VHIGlz IG5vdCBzZXQKIyBDT05GSUdfVVNCX1JJTzUwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9MRUdP VE9XRVIgaXMgbm90IHNldAojIENPTkZJR19VU0JfTENEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNC X0xFRCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9DWVBSRVNTX0NZN0M2MyBpcyBub3Qgc2V0CiMg Q09ORklHX1VTQl9DWVRIRVJNIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0lETU9VU0UgaXMgbm90 IHNldAojIENPTkZJR19VU0JfRlRESV9FTEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0FQUExF RElTUExBWSBpcyBub3Qgc2V0CkNPTkZJR19VU0JfU0lTVVNCVkdBPW0KQ09ORklHX1VTQl9TSVNV U0JWR0FfQ09OPXkKIyBDT05GSUdfVVNCX0xEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1RSQU5D RVZJQlJBVE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0lPV0FSUklPUiBpcyBub3Qgc2V0CiMg Q09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0VIU0VUX1RFU1RfRklYVFVS RSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiMgQ09ORklHX1VT Ql9ZVVJFWCBpcyBub3Qgc2V0CkNPTkZJR19VU0JfRVpVU0JfRlgyPW0KIyBDT05GSUdfVVNCX0hT SUNfVVNCMzUwMyBpcyBub3Qgc2V0CgojCiMgVVNCIFBoeXNpY2FsIExheWVyIGRyaXZlcnMKIwoj IENPTkZJR19VU0JfUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfTk9QX1VTQl9YQ0VJViBpcyBub3Qg c2V0CiMgQ09ORklHX0FNMzM1WF9QSFlfVVNCIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FNU1VOR19V U0IyUEhZIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FNU1VOR19VU0IzUEhZIGlzIG5vdCBzZXQKIyBD T05GSUdfVVNCX0lTUDEzMDEgaXMgbm90IHNldAojIENPTkZJR19VU0JfUkNBUl9QSFkgaXMgbm90 IHNldAojIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVdCIGlzIG5vdCBz ZXQKQ09ORklHX01NQz1tCiMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX01N Q19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKIyBDT05GSUdfTU1DX0NMS0dBVEUgaXMgbm90IHNl dAoKIwojIE1NQy9TRC9TRElPIENhcmQgRHJpdmVycwojCkNPTkZJR19NTUNfQkxPQ0s9bQpDT05G SUdfTU1DX0JMT0NLX01JTk9SUz04CkNPTkZJR19NTUNfQkxPQ0tfQk9VTkNFPXkKQ09ORklHX1NE SU9fVUFSVD1tCiMgQ09ORklHX01NQ19URVNUIGlzIG5vdCBzZXQKCiMKIyBNTUMvU0QvU0RJTyBI b3N0IENvbnRyb2xsZXIgRHJpdmVycwojCkNPTkZJR19NTUNfU0RIQ0k9bQojIENPTkZJR19NTUNf U0RIQ0lfUENJIGlzIG5vdCBzZXQKIyBDT05GSUdfTU1DX1NESENJX0FDUEkgaXMgbm90IHNldAoj IENPTkZJR19NTUNfU0RIQ0lfUExURk0gaXMgbm90IHNldAojIENPTkZJR19NTUNfU0RIQ0lfUFhB VjMgaXMgbm90IHNldAojIENPTkZJR19NTUNfU0RIQ0lfUFhBVjIgaXMgbm90IHNldApDT05GSUdf TU1DX1dCU0Q9bQpDT05GSUdfTU1DX1RJRk1fU0Q9bQojIENPTkZJR19NTUNfU0RSSUNPSF9DUyBp cyBub3Qgc2V0CiMgQ09ORklHX01NQ19DQjcxMCBpcyBub3Qgc2V0CiMgQ09ORklHX01NQ19WSUFf U0RNTUMgaXMgbm90IHNldAojIENPTkZJR19NTUNfVlVCMzAwIGlzIG5vdCBzZXQKIyBDT05GSUdf TU1DX1VTSEMgaXMgbm90IHNldAojIENPTkZJR19NRU1TVElDSyBpcyBub3Qgc2V0CkNPTkZJR19O RVdfTEVEUz15CkNPTkZJR19MRURTX0NMQVNTPW0KCiMKIyBMRUQgZHJpdmVycwojCiMgQ09ORklH X0xFRFNfTE0zNTMwIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19MTTM2NDIgaXMgbm90IHNldAoj IENPTkZJR19MRURTX1BDQTk1MzIgaXMgbm90IHNldAojIENPTkZJR19MRURTX0xQMzk0NCBpcyBu b3Qgc2V0CiMgQ09ORklHX0xFRFNfTFA1NTIxIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19MUDU1 MjMgaXMgbm90IHNldAojIENPTkZJR19MRURTX0xQNTU2MiBpcyBub3Qgc2V0CiMgQ09ORklHX0xF RFNfTFA4NTAxIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19DTEVWT19NQUlMIGlzIG5vdCBzZXQK IyBDT05GSUdfTEVEU19QQ0E5NTVYIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19QQ0E5NjNYIGlz IG5vdCBzZXQKIyBDT05GSUdfTEVEU19CRDI4MDIgaXMgbm90IHNldAojIENPTkZJR19MRURTX0lO VEVMX1NTNDIwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0xFRFNfVENBNjUwNyBpcyBub3Qgc2V0CiMg Q09ORklHX0xFRFNfTE0zNTV4IGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19PVDIwMCBpcyBub3Qg c2V0CiMgQ09ORklHX0xFRFNfQkxJTktNIGlzIG5vdCBzZXQKCiMKIyBMRUQgVHJpZ2dlcnMKIwpD T05GSUdfTEVEU19UUklHR0VSUz15CkNPTkZJR19MRURTX1RSSUdHRVJfVElNRVI9bQojIENPTkZJ R19MRURTX1RSSUdHRVJfT05FU0hPVCBpcyBub3Qgc2V0CkNPTkZJR19MRURTX1RSSUdHRVJfSEVB UlRCRUFUPW0KIyBDT05GSUdfTEVEU19UUklHR0VSX0JBQ0tMSUdIVCBpcyBub3Qgc2V0CiMgQ09O RklHX0xFRFNfVFJJR0dFUl9DUFUgaXMgbm90IHNldAojIENPTkZJR19MRURTX1RSSUdHRVJfREVG QVVMVF9PTiBpcyBub3Qgc2V0CgojCiMgaXB0YWJsZXMgdHJpZ2dlciBpcyB1bmRlciBOZXRmaWx0 ZXIgY29uZmlnIChMRUQgdGFyZ2V0KQojCiMgQ09ORklHX0xFRFNfVFJJR0dFUl9UUkFOU0lFTlQg aXMgbm90IHNldAojIENPTkZJR19MRURTX1RSSUdHRVJfQ0FNRVJBIGlzIG5vdCBzZXQKIyBDT05G SUdfQUNDRVNTSUJJTElUWSBpcyBub3Qgc2V0CiMgQ09ORklHX0lORklOSUJBTkQgaXMgbm90IHNl dAojIENPTkZJR19FREFDIGlzIG5vdCBzZXQKQ09ORklHX1JUQ19MSUI9eQpDT05GSUdfUlRDX0NM QVNTPXkKQ09ORklHX1JUQ19IQ1RPU1lTPXkKQ09ORklHX1JUQ19TWVNUT0hDPXkKQ09ORklHX1JU Q19IQ1RPU1lTX0RFVklDRT0icnRjMCIKIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKCiMK IyBSVEMgaW50ZXJmYWNlcwojCkNPTkZJR19SVENfSU5URl9TWVNGUz15CkNPTkZJR19SVENfSU5U Rl9QUk9DPXkKQ09ORklHX1JUQ19JTlRGX0RFVj15CkNPTkZJR19SVENfSU5URl9ERVZfVUlFX0VN VUw9eQojIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAoKIwojIEkyQyBSVEMgZHJpdmVy cwojCiMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKQ09ORklHX1JUQ19EUlZfRFMx Mzc0PW0KIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJW X0RTMzIzMiBpcyBub3Qgc2V0CkNPTkZJR19SVENfRFJWX01BWDY5MDA9bQojIENPTkZJR19SVENf RFJWX1JTNUMzNzIgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNl dAojIENPTkZJR19SVENfRFJWX0lTTDEyMDIyIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9Y MTIwNSBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfUENGMjEyNyBpcyBub3Qgc2V0CiMgQ09O RklHX1JUQ19EUlZfUENGODUyMyBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBp cyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CkNPTkZJR19SVENf RFJWX000MVQ4MD1tCkNPTkZJR19SVENfRFJWX000MVQ4MF9XRFQ9eQojIENPTkZJR19SVENfRFJW X0JRMzJLIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKIyBD T05GSUdfUlRDX0RSVl9GTTMxMzAgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1JYODU4MSBp cyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfUlg4MDI1IGlzIG5vdCBzZXQKIyBDT05GSUdfUlRD X0RSVl9FTTMwMjcgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1JWMzAyOUMyIGlzIG5vdCBz ZXQKCiMKIyBTUEkgUlRDIGRyaXZlcnMKIwoKIwojIFBsYXRmb3JtIFJUQyBkcml2ZXJzCiMKQ09O RklHX1JUQ19EUlZfQ01PUz1tCiMgQ09ORklHX1JUQ19EUlZfRFMxMjg2IGlzIG5vdCBzZXQKIyBD T05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldApDT05GSUdfUlRDX0RSVl9EUzE1NTM9bQpD T05GSUdfUlRDX0RSVl9EUzE3NDI9bQpDT05GSUdfUlRDX0RSVl9TVEsxN1RBOD1tCkNPTkZJR19S VENfRFJWX000OFQ4Nj1tCiMgQ09ORklHX1JUQ19EUlZfTTQ4VDM1IGlzIG5vdCBzZXQKQ09ORklH X1JUQ19EUlZfTTQ4VDU5PW0KIyBDT05GSUdfUlRDX0RSVl9NU002MjQyIGlzIG5vdCBzZXQKIyBD T05GSUdfUlRDX0RSVl9CUTQ4MDIgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1JQNUMwMSBp cyBub3Qgc2V0CkNPTkZJR19SVENfRFJWX1YzMDIwPW0KIyBDT05GSUdfUlRDX0RSVl9EUzI0MDQg aXMgbm90IHNldAoKIwojIG9uLUNQVSBSVEMgZHJpdmVycwojCiMgQ09ORklHX1JUQ19EUlZfTU9Y QVJUIGlzIG5vdCBzZXQKCiMKIyBISUQgU2Vuc29yIFJUQyBkcml2ZXJzCiMKIyBDT05GSUdfUlRD X0RSVl9ISURfU0VOU09SX1RJTUUgaXMgbm90IHNldApDT05GSUdfRE1BREVWSUNFUz15CiMgQ09O RklHX0RNQURFVklDRVNfREVCVUcgaXMgbm90IHNldAoKIwojIERNQSBEZXZpY2VzCiMKIyBDT05G SUdfSU5URUxfTUlEX0RNQUMgaXMgbm90IHNldApDT05GSUdfSU5URUxfSU9BVERNQT1tCiMgQ09O RklHX0RXX0RNQUNfQ09SRSBpcyBub3Qgc2V0CiMgQ09ORklHX0RXX0RNQUMgaXMgbm90IHNldAoj IENPTkZJR19EV19ETUFDX1BDSSBpcyBub3Qgc2V0CiMgQ09ORklHX1RJTUJfRE1BIGlzIG5vdCBz ZXQKIyBDT05GSUdfUENIX0RNQSBpcyBub3Qgc2V0CkNPTkZJR19ETUFfRU5HSU5FPXkKQ09ORklH X0RNQV9BQ1BJPXkKCiMKIyBETUEgQ2xpZW50cwojCiMgQ09ORklHX0FTWU5DX1RYX0RNQSBpcyBu b3Qgc2V0CiMgQ09ORklHX0RNQVRFU1QgaXMgbm90IHNldApDT05GSUdfRENBPW0KQ09ORklHX0FV WERJU1BMQVk9eQpDT05GSUdfVUlPPW0KQ09ORklHX1VJT19DSUY9bQojIENPTkZJR19VSU9fUERS Vl9HRU5JUlEgaXMgbm90IHNldAojIENPTkZJR19VSU9fRE1FTV9HRU5JUlEgaXMgbm90IHNldAoj IENPTkZJR19VSU9fQUVDIGlzIG5vdCBzZXQKIyBDT05GSUdfVUlPX1NFUkNPUzMgaXMgbm90IHNl dAojIENPTkZJR19VSU9fUENJX0dFTkVSSUMgaXMgbm90IHNldAojIENPTkZJR19VSU9fTkVUWCBp cyBub3Qgc2V0CiMgQ09ORklHX1VJT19NRjYyNCBpcyBub3Qgc2V0CkNPTkZJR19WSVJUX0RSSVZF UlM9eQoKIwojIFZpcnRpbyBkcml2ZXJzCiMKIyBDT05GSUdfVklSVElPX1BDSSBpcyBub3Qgc2V0 CiMgQ09ORklHX1ZJUlRJT19NTUlPIGlzIG5vdCBzZXQKCiMKIyBNaWNyb3NvZnQgSHlwZXItViBn dWVzdCBzdXBwb3J0CiMKIyBDT05GSUdfU1RBR0lORyBpcyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9Q TEFURk9STV9ERVZJQ0VTIGlzIG5vdCBzZXQKQ09ORklHX0NMS0RFVl9MT09LVVA9eQpDT05GSUdf SEFWRV9DTEtfUFJFUEFSRT15CkNPTkZJR19DT01NT05fQ0xLPXkKCiMKIyBDb21tb24gQ2xvY2sg RnJhbWV3b3JrCiMKIyBDT05GSUdfQ09NTU9OX0NMS19ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklH X0NPTU1PTl9DTEtfU0k1MzUxIGlzIG5vdCBzZXQKCiMKIyBIYXJkd2FyZSBTcGlubG9jayBkcml2 ZXJzCiMKQ09ORklHX0NMS0VWVF9JODI1Mz15CkNPTkZJR19JODI1M19MT0NLPXkKQ09ORklHX0NM S0JMRF9JODI1Mz15CiMgQ09ORklHX01BSUxCT1ggaXMgbm90IHNldAojIENPTkZJR19JT01NVV9T VVBQT1JUIGlzIG5vdCBzZXQKCiMKIyBSZW1vdGVwcm9jIGRyaXZlcnMKIwojIENPTkZJR19TVEVf TU9ERU1fUlBST0MgaXMgbm90IHNldAoKIwojIFJwbXNnIGRyaXZlcnMKIwojIENPTkZJR19QTV9E RVZGUkVRIGlzIG5vdCBzZXQKIyBDT05GSUdfRVhUQ09OIGlzIG5vdCBzZXQKIyBDT05GSUdfTUVN T1JZIGlzIG5vdCBzZXQKIyBDT05GSUdfSUlPIGlzIG5vdCBzZXQKIyBDT05GSUdfTlRCIGlzIG5v dCBzZXQKIyBDT05GSUdfVk1FX0JVUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BXTSBpcyBub3Qgc2V0 CiMgQ09ORklHX0lQQUNLX0JVUyBpcyBub3Qgc2V0CiMgQ09ORklHX1JFU0VUX0NPTlRST0xMRVIg aXMgbm90IHNldAojIENPTkZJR19GTUMgaXMgbm90IHNldAoKIwojIEZpcm13YXJlIERyaXZlcnMK IwojIENPTkZJR19FREQgaXMgbm90IHNldApDT05GSUdfRklSTVdBUkVfTUVNTUFQPXkKQ09ORklH X0RFTExfUkJVPW0KQ09ORklHX0RDREJBUz1tCiMgQ09ORklHX0RNSUlEIGlzIG5vdCBzZXQKIyBD T05GSUdfRE1JX1NZU0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSVNDU0lfSUJGVF9GSU5EIGlzIG5v dCBzZXQKIyBDT05GSUdfR09PR0xFX0ZJUk1XQVJFIGlzIG5vdCBzZXQKCiMKIyBFRkkgKEV4dGVu c2libGUgRmlybXdhcmUgSW50ZXJmYWNlKSBTdXBwb3J0CiMKQ09ORklHX0VGSV9WQVJTPXkKCiMK IyBGaWxlIHN5c3RlbXMKIwpDT05GSUdfRENBQ0hFX1dPUkRfQUNDRVNTPXkKQ09ORklHX0VYVDJf RlM9eQojIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKIyBDT05GSUdfRVhUMl9GU19Y SVAgaXMgbm90IHNldApDT05GSUdfRVhUM19GUz1tCiMgQ09ORklHX0VYVDNfREVGQVVMVFNfVE9f T1JERVJFRCBpcyBub3Qgc2V0CkNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKQ09ORklHX0VYVDNfRlNf UE9TSVhfQUNMPXkKQ09ORklHX0VYVDNfRlNfU0VDVVJJVFk9eQpDT05GSUdfRVhUNF9GUz15CkNP TkZJR19FWFQ0X0ZTX1BPU0lYX0FDTD15CkNPTkZJR19FWFQ0X0ZTX1NFQ1VSSVRZPXkKIyBDT05G SUdfRVhUNF9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19KQkQ9bQpDT05GSUdfSkJEMj15CiMgQ09O RklHX0pCRDJfREVCVUcgaXMgbm90IHNldApDT05GSUdfRlNfTUJDQUNIRT15CkNPTkZJR19SRUlT RVJGU19GUz1tCiMgQ09ORklHX1JFSVNFUkZTX0NIRUNLIGlzIG5vdCBzZXQKIyBDT05GSUdfUkVJ U0VSRlNfUFJPQ19JTkZPIGlzIG5vdCBzZXQKQ09ORklHX1JFSVNFUkZTX0ZTX1hBVFRSPXkKQ09O RklHX1JFSVNFUkZTX0ZTX1BPU0lYX0FDTD15CkNPTkZJR19SRUlTRVJGU19GU19TRUNVUklUWT15 CkNPTkZJR19KRlNfRlM9bQpDT05GSUdfSkZTX1BPU0lYX0FDTD15CkNPTkZJR19KRlNfU0VDVVJJ VFk9eQojIENPTkZJR19KRlNfREVCVUcgaXMgbm90IHNldAojIENPTkZJR19KRlNfU1RBVElTVElD UyBpcyBub3Qgc2V0CkNPTkZJR19YRlNfRlM9bQpDT05GSUdfWEZTX1FVT1RBPXkKQ09ORklHX1hG U19QT1NJWF9BQ0w9eQpDT05GSUdfWEZTX1JUPXkKIyBDT05GSUdfWEZTX1dBUk4gaXMgbm90IHNl dAojIENPTkZJR19YRlNfREVCVUcgaXMgbm90IHNldApDT05GSUdfR0ZTMl9GUz1tCiMgQ09ORklH X0dGUzJfRlNfTE9DS0lOR19ETE0gaXMgbm90IHNldApDT05GSUdfT0NGUzJfRlM9bQpDT05GSUdf T0NGUzJfRlNfTzJDQj1tCkNPTkZJR19PQ0ZTMl9GU19VU0VSU1BBQ0VfQ0xVU1RFUj1tCiMgQ09O RklHX09DRlMyX0RFQlVHX01BU0tMT0cgaXMgbm90IHNldAojIENPTkZJR19PQ0ZTMl9ERUJVR19G UyBpcyBub3Qgc2V0CkNPTkZJR19CVFJGU19GUz1tCkNPTkZJR19CVFJGU19GU19QT1NJWF9BQ0w9 eQojIENPTkZJR19CVFJGU19GU19DSEVDS19JTlRFR1JJVFkgaXMgbm90IHNldAojIENPTkZJR19C VFJGU19GU19SVU5fU0FOSVRZX1RFU1RTIGlzIG5vdCBzZXQKIyBDT05GSUdfQlRSRlNfREVCVUcg aXMgbm90IHNldAojIENPTkZJR19CVFJGU19BU1NFUlQgaXMgbm90IHNldAojIENPTkZJR19OSUxG UzJfRlMgaXMgbm90IHNldApDT05GSUdfRlNfUE9TSVhfQUNMPXkKQ09ORklHX0VYUE9SVEZTPXkK Q09ORklHX0ZJTEVfTE9DS0lORz15CkNPTkZJR19GU05PVElGWT15CkNPTkZJR19ETk9USUZZPXkK Q09ORklHX0lOT1RJRllfVVNFUj15CkNPTkZJR19GQU5PVElGWT15CkNPTkZJR19RVU9UQT15CiMg Q09ORklHX1FVT1RBX05FVExJTktfSU5URVJGQUNFIGlzIG5vdCBzZXQKIyBDT05GSUdfUFJJTlRf UVVPVEFfV0FSTklORyBpcyBub3Qgc2V0CiMgQ09ORklHX1FVT1RBX0RFQlVHIGlzIG5vdCBzZXQK Q09ORklHX1FVT1RBX1RSRUU9bQojIENPTkZJR19RRk1UX1YxIGlzIG5vdCBzZXQKIyBDT05GSUdf UUZNVF9WMiBpcyBub3Qgc2V0CkNPTkZJR19RVU9UQUNUTD15CkNPTkZJR19RVU9UQUNUTF9DT01Q QVQ9eQpDT05GSUdfQVVUT0ZTNF9GUz15CkNPTkZJR19GVVNFX0ZTPW0KQ09ORklHX0NVU0U9bQpD T05GSUdfR0VORVJJQ19BQ0w9eQoKIwojIENhY2hlcwojCiMgQ09ORklHX0ZTQ0FDSEUgaXMgbm90 IHNldAoKIwojIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKIwpDT05GSUdfSVNPOTY2MF9GUz15CkNP TkZJR19KT0xJRVQ9eQpDT05GSUdfWklTT0ZTPXkKQ09ORklHX1VERl9GUz15CkNPTkZJR19VREZf TkxTPXkKCiMKIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCiMKQ09ORklHX0ZBVF9GUz15CkNPTkZJ R19NU0RPU19GUz15CkNPTkZJR19WRkFUX0ZTPXkKQ09ORklHX0ZBVF9ERUZBVUxUX0NPREVQQUdF PTQzNwpDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCkNPTkZJR19OVEZT X0ZTPXkKIyBDT05GSUdfTlRGU19ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19OVEZTX1JXPXkKCiMK IyBQc2V1ZG8gZmlsZXN5c3RlbXMKIwpDT05GSUdfUFJPQ19GUz15CkNPTkZJR19QUk9DX0tDT1JF PXkKQ09ORklHX1BST0NfU1lTQ1RMPXkKQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKQ09ORklH X1NZU0ZTPXkKQ09ORklHX1RNUEZTPXkKQ09ORklHX1RNUEZTX1BPU0lYX0FDTD15CkNPTkZJR19U TVBGU19YQVRUUj15CkNPTkZJR19IVUdFVExCRlM9eQpDT05GSUdfSFVHRVRMQl9QQUdFPXkKQ09O RklHX0NPTkZJR0ZTX0ZTPXkKQ09ORklHX01JU0NfRklMRVNZU1RFTVM9eQojIENPTkZJR19BREZT X0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CkNPTkZJR19FQ1JZUFRf RlM9bQojIENPTkZJR19FQ1JZUFRfRlNfTUVTU0FHSU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfSEZT X0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JF RlNfRlMgaXMgbm90IHNldAojIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19FRlNf RlMgaXMgbm90IHNldAojIENPTkZJR19MT0dGUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQU1GUyBp cyBub3Qgc2V0CkNPTkZJR19TUVVBU0hGUz1tCiMgQ09ORklHX1NRVUFTSEZTX1hBVFRSIGlzIG5v dCBzZXQKQ09ORklHX1NRVUFTSEZTX1pMSUI9eQpDT05GSUdfU1FVQVNIRlNfTFpPPXkKQ09ORklH X1NRVUFTSEZTX1haPXkKIyBDT05GSUdfU1FVQVNIRlNfNEtfREVWQkxLX1NJWkUgaXMgbm90IHNl dApDT05GSUdfU1FVQVNIRlNfRU1CRURERUQ9eQpDT05GSUdfU1FVQVNIRlNfRlJBR01FTlRfQ0FD SEVfU0laRT0zCiMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19NSU5JWF9GUyBp cyBub3Qgc2V0CiMgQ09ORklHX09NRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19IUEZTX0ZTIGlz IG5vdCBzZXQKIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfUU5YNkZTX0ZT IGlzIG5vdCBzZXQKIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19QU1RPUkUg aXMgbm90IHNldAojIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfVUZTX0ZTIGlz IG5vdCBzZXQKIyBDT05GSUdfRjJGU19GUyBpcyBub3Qgc2V0CkNPTkZJR19FRklWQVJfRlM9eQoj IENPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TIGlzIG5vdCBzZXQKQ09ORklHX05MUz15CkNPTkZJ R19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgpDT05GSUdfTkxTX0NPREVQQUdFXzQzNz1tCiMgQ09O RklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1 IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CiMgQ09ORklH X05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlz IG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CiMgQ09ORklHX05M U19DT0RFUEFHRV84NjAgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODYxIGlzIG5v dCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19D T0RFUEFHRV84NjMgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODY0IGlzIG5vdCBz ZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RF UEFHRV84NjYgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODY5IGlzIG5vdCBzZXQK IyBDT05GSUdfTkxTX0NPREVQQUdFXzkzNiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFH RV85NTAgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfOTMyIGlzIG5vdCBzZXQKIyBD T05GSUdfTkxTX0NPREVQQUdFXzk0OSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84 NzQgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV84IGlzIG5vdCBzZXQKIyBDT05GSUdf TkxTX0NPREVQQUdFXzEyNTAgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBp cyBub3Qgc2V0CiMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0CkNPTkZJR19OTFNfSVNPODg1 OV8xPXkKIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084 ODU5XzMgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKIyBDT05G SUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzYgaXMgbm90 IHNldAojIENPTkZJR19OTFNfSVNPODg1OV83IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4 NTlfOSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKIyBDT05G SUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBu b3Qgc2V0CiMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAojIENPTkZJR19OTFNfS09JOF9V IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX01BQ19ST01BTiBpcyBub3Qgc2V0CiMgQ09ORklHX05M U19NQUNfQ0VMVElDIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX01BQ19DRU5URVVSTyBpcyBub3Qg c2V0CiMgQ09ORklHX05MU19NQUNfQ1JPQVRJQU4gaXMgbm90IHNldAojIENPTkZJR19OTFNfTUFD X0NZUklMTElDIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX01BQ19HQUVMSUMgaXMgbm90IHNldAoj IENPTkZJR19OTFNfTUFDX0dSRUVLIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX01BQ19JQ0VMQU5E IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX01BQ19JTlVJVCBpcyBub3Qgc2V0CiMgQ09ORklHX05M U19NQUNfUk9NQU5JQU4gaXMgbm90IHNldAojIENPTkZJR19OTFNfTUFDX1RVUktJU0ggaXMgbm90 IHNldApDT05GSUdfTkxTX1VURjg9eQpDT05GSUdfRExNPW0KIyBDT05GSUdfRExNX0RFQlVHIGlz IG5vdCBzZXQKCiMKIyBLZXJuZWwgaGFja2luZwojCkNPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQ T1JUPXkKCiMKIyBwcmludGsgYW5kIGRtZXNnIG9wdGlvbnMKIwojIENPTkZJR19QUklOVEtfVElN RSBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX01FU1NBR0VfTE9HTEVWRUw9NAojIENPTkZJR19C T09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CgojCiMgQ29tcGlsZS10aW1lIGNoZWNrcyBhbmQg Y29tcGlsZXIgb3B0aW9ucwojCiMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldApDT05GSUdf RU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CkNPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CkNPTkZJ R19GUkFNRV9XQVJOPTIwNDgKIyBDT05GSUdfU1RSSVBfQVNNX1NZTVMgaXMgbm90IHNldAojIENP TkZJR19SRUFEQUJMRV9BU00gaXMgbm90IHNldApDT05GSUdfVU5VU0VEX1NZTUJPTFM9eQojIENP TkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNl dAojIENPTkZJR19ERUJVR19TRUNUSU9OX01JU01BVENIIGlzIG5vdCBzZXQKQ09ORklHX0FSQ0hf V0FOVF9GUkFNRV9QT0lOVEVSUz15CkNPTkZJR19GUkFNRV9QT0lOVEVSPXkKIyBDT05GSUdfREVC VUdfRk9SQ0VfV0VBS19QRVJfQ1BVIGlzIG5vdCBzZXQKIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMg bm90IHNldApDT05GSUdfREVCVUdfS0VSTkVMPXkKCiMKIyBNZW1vcnkgRGVidWdnaW5nCiMKIyBD T05GSUdfREVCVUdfUEFHRUFMTE9DIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfT0JKRUNUUyBp cyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldApDT05GSUdfSEFWRV9ERUJV R19LTUVNTEVBSz15CiMgQ09ORklHX0RFQlVHX0tNRU1MRUFLIGlzIG5vdCBzZXQKIyBDT05GSUdf REVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0 CiMgQ09ORklHX0RFQlVHX1ZJUlRVQUwgaXMgbm90IHNldApDT05GSUdfREVCVUdfTUVNT1JZX0lO SVQ9eQojIENPTkZJR19ERUJVR19QRVJfQ1BVX01BUFMgaXMgbm90IHNldApDT05GSUdfSEFWRV9E RUJVR19TVEFDS09WRVJGTE9XPXkKIyBDT05GSUdfREVCVUdfU1RBQ0tPVkVSRkxPVyBpcyBub3Qg c2V0CkNPTkZJR19IQVZFX0FSQ0hfS01FTUNIRUNLPXkKIyBDT05GSUdfREVCVUdfU0hJUlEgaXMg bm90IHNldAoKIwojIERlYnVnIExvY2t1cHMgYW5kIEhhbmdzCiMKIyBDT05GSUdfTE9DS1VQX0RF VEVDVE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfREVURUNUX0hVTkdfVEFTSyBpcyBub3Qgc2V0CiMg Q09ORklHX1BBTklDX09OX09PUFMgaXMgbm90IHNldApDT05GSUdfUEFOSUNfT05fT09QU19WQUxV RT0wCkNPTkZJR19TQ0hFRF9ERUJVRz15CiMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAoj IENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CkNPTkZJR19ERUJVR19QUkVFTVBUPXkKCiMK IyBMb2NrIERlYnVnZ2luZyAoc3BpbmxvY2tzLCBtdXRleGVzLCBldGMuLi4pCiMKIyBDT05GSUdf REVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBu b3Qgc2V0CiMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdf TVVURVhFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1dXX01VVEVYX1NMT1dQQVRIIGlzIG5v dCBzZXQKIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiMgQ09ORklHX1BST1ZF X0xPQ0tJTkcgaXMgbm90IHNldAojIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAojIENPTkZJ R19ERUJVR19BVE9NSUNfU0xFRVAgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19MT0NLSU5HX0FQ SV9TRUxGVEVTVFMgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQK Q09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQojIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5v dCBzZXQKIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX1NHIGlz IG5vdCBzZXQKIyBDT05GSUdfREVCVUdfTk9USUZJRVJTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVC VUdfQ1JFREVOVElBTFMgaXMgbm90IHNldAoKIwojIFJDVSBEZWJ1Z2dpbmcKIwojIENPTkZJR19Q Uk9WRV9SQ1VfREVMQVkgaXMgbm90IHNldAojIENPTkZJR19TUEFSU0VfUkNVX1BPSU5URVIgaXMg bm90IHNldAojIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKQ09ORklHX1JDVV9D UFVfU1RBTExfVElNRU9VVD0yMQpDT05GSUdfUkNVX0NQVV9TVEFMTF9WRVJCT1NFPXkKIyBDT05G SUdfUkNVX0NQVV9TVEFMTF9JTkZPIGlzIG5vdCBzZXQKIyBDT05GSUdfUkNVX1RSQUNFIGlzIG5v dCBzZXQKIyBDT05GSUdfREVCVUdfQkxPQ0tfRVhUX0RFVlQgaXMgbm90IHNldAojIENPTkZJR19O T1RJRklFUl9FUlJPUl9JTkpFQ1RJT04gaXMgbm90IHNldAojIENPTkZJR19GQVVMVF9JTkpFQ1RJ T04gaXMgbm90IHNldAojIENPTkZJR19MQVRFTkNZVE9QIGlzIG5vdCBzZXQKQ09ORklHX0FSQ0hf SEFTX0RFQlVHX1NUUklDVF9VU0VSX0NPUFlfQ0hFQ0tTPXkKIyBDT05GSUdfREVCVUdfU1RSSUNU X1VTRVJfQ09QWV9DSEVDS1MgaXMgbm90IHNldApDT05GSUdfVVNFUl9TVEFDS1RSQUNFX1NVUFBP UlQ9eQpDT05GSUdfSEFWRV9GVU5DVElPTl9UUkFDRVI9eQpDT05GSUdfSEFWRV9GVU5DVElPTl9H UkFQSF9UUkFDRVI9eQpDT05GSUdfSEFWRV9GVU5DVElPTl9HUkFQSF9GUF9URVNUPXkKQ09ORklH X0hBVkVfRlVOQ1RJT05fVFJBQ0VfTUNPVU5UX1RFU1Q9eQpDT05GSUdfSEFWRV9EWU5BTUlDX0ZU UkFDRT15CkNPTkZJR19IQVZFX0RZTkFNSUNfRlRSQUNFX1dJVEhfUkVHUz15CkNPTkZJR19IQVZF X0ZUUkFDRV9NQ09VTlRfUkVDT1JEPXkKQ09ORklHX0hBVkVfU1lTQ0FMTF9UUkFDRVBPSU5UUz15 CkNPTkZJR19IQVZFX0ZFTlRSWT15CkNPTkZJR19IQVZFX0NfUkVDT1JETUNPVU5UPXkKQ09ORklH X1RSQUNJTkdfU1VQUE9SVD15CiMgQ09ORklHX0ZUUkFDRSBpcyBub3Qgc2V0CgojCiMgUnVudGlt ZSBUZXN0aW5nCiMKIyBDT05GSUdfVEVTVF9MSVNUX1NPUlQgaXMgbm90IHNldAojIENPTkZJR19C QUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKIyBDT05GSUdfUkJUUkVFX1RFU1QgaXMgbm90 IHNldAojIENPTkZJR19JTlRFUlZBTF9UUkVFX1RFU1QgaXMgbm90IHNldAojIENPTkZJR19BVE9N SUM2NF9TRUxGVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX1RFU1RfU1RSSU5HX0hFTFBFUlMgaXMg bm90IHNldAojIENPTkZJR19URVNUX0tTVFJUT1ggaXMgbm90IHNldAojIENPTkZJR19QUk9WSURF X09IQ0kxMzk0X0RNQV9JTklUIGlzIG5vdCBzZXQKIyBDT05GSUdfRE1BX0FQSV9ERUJVRyBpcyBu b3Qgc2V0CiMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldApDT05GSUdfSEFWRV9BUkNIX0tHREI9 eQojIENPTkZJR19LR0RCIGlzIG5vdCBzZXQKIyBDT05GSUdfU1RSSUNUX0RFVk1FTSBpcyBub3Qg c2V0CiMgQ09ORklHX1g4Nl9WRVJCT1NFX0JPT1RVUCBpcyBub3Qgc2V0CkNPTkZJR19FQVJMWV9Q UklOVEs9eQojIENPTkZJR19FQVJMWV9QUklOVEtfREJHUCBpcyBub3Qgc2V0CiMgQ09ORklHX1g4 Nl9QVERVTVAgaXMgbm90IHNldApDT05GSUdfREVCVUdfUk9EQVRBPXkKQ09ORklHX0RFQlVHX1JP REFUQV9URVNUPXkKIyBDT05GSUdfREVCVUdfU0VUX01PRFVMRV9ST05YIGlzIG5vdCBzZXQKIyBD T05GSUdfREVCVUdfTlhfVEVTVCBpcyBub3Qgc2V0CkNPTkZJR19ET1VCTEVGQVVMVD15CiMgQ09O RklHX0RFQlVHX1RMQkZMVVNIIGlzIG5vdCBzZXQKIyBDT05GSUdfSU9NTVVfREVCVUcgaXMgbm90 IHNldAojIENPTkZJR19JT01NVV9TVFJFU1MgaXMgbm90IHNldApDT05GSUdfSEFWRV9NTUlPVFJB Q0VfU1VQUE9SVD15CkNPTkZJR19JT19ERUxBWV9UWVBFXzBYODA9MApDT05GSUdfSU9fREVMQVlf VFlQRV8wWEVEPTEKQ09ORklHX0lPX0RFTEFZX1RZUEVfVURFTEFZPTIKQ09ORklHX0lPX0RFTEFZ X1RZUEVfTk9ORT0zCkNPTkZJR19JT19ERUxBWV8wWDgwPXkKIyBDT05GSUdfSU9fREVMQVlfMFhF RCBpcyBub3Qgc2V0CiMgQ09ORklHX0lPX0RFTEFZX1VERUxBWSBpcyBub3Qgc2V0CiMgQ09ORklH X0lPX0RFTEFZX05PTkUgaXMgbm90IHNldApDT05GSUdfREVGQVVMVF9JT19ERUxBWV9UWVBFPTAK IyBDT05GSUdfQ1BBX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfT1BUSU1JWkVfSU5MSU5JTkcg aXMgbm90IHNldAojIENPTkZJR19ERUJVR19OTUlfU0VMRlRFU1QgaXMgbm90IHNldAojIENPTkZJ R19YODZfREVCVUdfU1RBVElDX0NQVV9IQVMgaXMgbm90IHNldAoKIwojIFNlY3VyaXR5IG9wdGlv bnMKIwpDT05GSUdfS0VZUz15CiMgQ09ORklHX0VOQ1JZUFRFRF9LRVlTIGlzIG5vdCBzZXQKQ09O RklHX0tFWVNfREVCVUdfUFJPQ19LRVlTPXkKIyBDT05GSUdfU0VDVVJJVFlfRE1FU0dfUkVTVFJJ Q1QgaXMgbm90IHNldAojIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFQ1VS SVRZRlMgaXMgbm90IHNldApDT05GSUdfREVGQVVMVF9TRUNVUklUWV9EQUM9eQpDT05GSUdfREVG QVVMVF9TRUNVUklUWT0iIgpDT05GSUdfWE9SX0JMT0NLUz1tCkNPTkZJR19DUllQVE89eQoKIwoj IENyeXB0byBjb3JlIG9yIGhlbHBlcgojCiMgQ09ORklHX0NSWVBUT19GSVBTIGlzIG5vdCBzZXQK Q09ORklHX0NSWVBUT19BTEdBUEk9eQpDT05GSUdfQ1JZUFRPX0FMR0FQSTI9eQpDT05GSUdfQ1JZ UFRPX0FFQUQ9bQpDT05GSUdfQ1JZUFRPX0FFQUQyPXkKQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9 eQpDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUjI9eQpDT05GSUdfQ1JZUFRPX0hBU0g9eQpDT05GSUdf Q1JZUFRPX0hBU0gyPXkKQ09ORklHX0NSWVBUT19STkc9bQpDT05GSUdfQ1JZUFRPX1JORzI9eQpD T05GSUdfQ1JZUFRPX1BDT01QMj15CkNPTkZJR19DUllQVE9fTUFOQUdFUj15CkNPTkZJR19DUllQ VE9fTUFOQUdFUjI9eQojIENPTkZJR19DUllQVE9fVVNFUiBpcyBub3Qgc2V0CiMgQ09ORklHX0NS WVBUT19NQU5BR0VSX0RJU0FCTEVfVEVTVFMgaXMgbm90IHNldApDT05GSUdfQ1JZUFRPX0dGMTI4 TVVMPXkKIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fUENS WVBUIGlzIG5vdCBzZXQKQ09ORklHX0NSWVBUT19XT1JLUVVFVUU9eQpDT05GSUdfQ1JZUFRPX0NS WVBURD15CkNPTkZJR19DUllQVE9fQVVUSEVOQz1tCiMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5v dCBzZXQKQ09ORklHX0NSWVBUT19BQkxLX0hFTFBFUl9YODY9eQpDT05GSUdfQ1JZUFRPX0dMVUVf SEVMUEVSX1g4Nj15CgojCiMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRl ZCBEYXRhCiMKIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19H Q00gaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAoKIwojIEJsb2Nr IG1vZGVzCiMKQ09ORklHX0NSWVBUT19DQkM9eQojIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBz ZXQKIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fRUNCPW0KQ09O RklHX0NSWVBUT19MUlc9eQpDT05GSUdfQ1JZUFRPX1BDQkM9bQpDT05GSUdfQ1JZUFRPX1hUUz15 CgojCiMgSGFzaCBtb2RlcwojCkNPTkZJR19DUllQVE9fQ01BQz1tCkNPTkZJR19DUllQVE9fSE1B Qz15CkNPTkZJR19DUllQVE9fWENCQz1tCiMgQ09ORklHX0NSWVBUT19WTUFDIGlzIG5vdCBzZXQK CiMKIyBEaWdlc3QKIwpDT05GSUdfQ1JZUFRPX0NSQzMyQz15CiMgQ09ORklHX0NSWVBUT19DUkMz MkNfSU5URUwgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ1JDMzIgaXMgbm90IHNldAojIENP TkZJR19DUllQVE9fQ1JDMzJfUENMTVVMIGlzIG5vdCBzZXQKQ09ORklHX0NSWVBUT19DUkNUMTBE SUY9bQojIENPTkZJR19DUllQVE9fQ1JDVDEwRElGX1BDTE1VTCBpcyBub3Qgc2V0CiMgQ09ORklH X0NSWVBUT19HSEFTSCBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fTUQ0PW0KQ09ORklHX0NSWVBU T19NRDU9eQpDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDPW0KIyBDT05GSUdfQ1JZUFRPX1JNRDEy OCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19STUQxNjAgaXMgbm90IHNldAojIENPTkZJR19D UllQVE9fUk1EMjU2IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1JNRDMyMCBpcyBub3Qgc2V0 CkNPTkZJR19DUllQVE9fU0hBMT15CkNPTkZJR19DUllQVE9fU0hBMV9TU1NFMz15CkNPTkZJR19D UllQVE9fU0hBMjU2X1NTU0UzPXkKQ09ORklHX0NSWVBUT19TSEE1MTJfU1NTRTM9eQpDT05GSUdf Q1JZUFRPX1NIQTI1Nj15CkNPTkZJR19DUllQVE9fU0hBNTEyPXkKIyBDT05GSUdfQ1JZUFRPX1RH UjE5MiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiMgQ09ORklH X0NSWVBUT19HSEFTSF9DTE1VTF9OSV9JTlRFTCBpcyBub3Qgc2V0CgojCiMgQ2lwaGVycwojCkNP TkZJR19DUllQVE9fQUVTPXkKQ09ORklHX0NSWVBUT19BRVNfWDg2XzY0PW0KQ09ORklHX0NSWVBU T19BRVNfTklfSU5URUw9bQojIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKQ09ORklH X0NSWVBUT19BUkM0PW0KQ09ORklHX0NSWVBUT19CTE9XRklTSD1tCkNPTkZJR19DUllQVE9fQkxP V0ZJU0hfQ09NTU9OPW0KIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIX1g4Nl82NCBpcyBub3Qgc2V0 CkNPTkZJR19DUllQVE9fQ0FNRUxMSUE9bQpDT05GSUdfQ1JZUFRPX0NBTUVMTElBX1g4Nl82ND15 CkNPTkZJR19DUllQVE9fQ0FNRUxMSUFfQUVTTklfQVZYX1g4Nl82ND15CkNPTkZJR19DUllQVE9f Q0FNRUxMSUFfQUVTTklfQVZYMl9YODZfNjQ9eQpDT05GSUdfQ1JZUFRPX0NBU1RfQ09NTU9OPW0K Q09ORklHX0NSWVBUT19DQVNUNT1tCkNPTkZJR19DUllQVE9fQ0FTVDVfQVZYX1g4Nl82ND1tCkNP TkZJR19DUllQVE9fQ0FTVDY9bQpDT05GSUdfQ1JZUFRPX0NBU1Q2X0FWWF9YODZfNjQ9bQpDT05G SUdfQ1JZUFRPX0RFUz15CkNPTkZJR19DUllQVE9fRkNSWVBUPW0KIyBDT05GSUdfQ1JZUFRPX0tI QVpBRCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKIyBDT05G SUdfQ1JZUFRPX1NBTFNBMjBfWDg2XzY0IGlzIG5vdCBzZXQKQ09ORklHX0NSWVBUT19TRUVEPW0K Q09ORklHX0NSWVBUT19TRVJQRU5UPXkKQ09ORklHX0NSWVBUT19TRVJQRU5UX1NTRTJfWDg2XzY0 PXkKQ09ORklHX0NSWVBUT19TRVJQRU5UX0FWWF9YODZfNjQ9eQpDT05GSUdfQ1JZUFRPX1NFUlBF TlRfQVZYMl9YODZfNjQ9eQpDT05GSUdfQ1JZUFRPX1RFQT1tCkNPTkZJR19DUllQVE9fVFdPRklT SD1tCkNPTkZJR19DUllQVE9fVFdPRklTSF9DT01NT049eQpDT05GSUdfQ1JZUFRPX1RXT0ZJU0hf WDg2XzY0PXkKQ09ORklHX0NSWVBUT19UV09GSVNIX1g4Nl82NF8zV0FZPXkKQ09ORklHX0NSWVBU T19UV09GSVNIX0FWWF9YODZfNjQ9eQoKIwojIENvbXByZXNzaW9uCiMKQ09ORklHX0NSWVBUT19E RUZMQVRFPW0KIyBDT05GSUdfQ1JZUFRPX1pMSUIgaXMgbm90IHNldApDT05GSUdfQ1JZUFRPX0xa Tz15CkNPTkZJR19DUllQVE9fTFo0PW0KQ09ORklHX0NSWVBUT19MWjRIQz1tCgojCiMgUmFuZG9t IE51bWJlciBHZW5lcmF0aW9uCiMKQ09ORklHX0NSWVBUT19BTlNJX0NQUk5HPW0KIyBDT05GSUdf Q1JZUFRPX1VTRVJfQVBJX0hBU0ggaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fVVNFUl9BUElf U0tDSVBIRVIgaXMgbm90IHNldApDT05GSUdfQ1JZUFRPX0hXPXkKIyBDT05GSUdfQ1JZUFRPX0RF Vl9QQURMT0NLIGlzIG5vdCBzZXQKIyBDT05GSUdfQVNZTU1FVFJJQ19LRVlfVFlQRSBpcyBub3Qg c2V0CkNPTkZJR19IQVZFX0tWTT15CkNPTkZJR19WSVJUVUFMSVpBVElPTj15CiMgQ09ORklHX0tW TSBpcyBub3Qgc2V0CiMgQ09ORklHX0JJTkFSWV9QUklOVEYgaXMgbm90IHNldAoKIwojIExpYnJh cnkgcm91dGluZXMKIwpDT05GSUdfUkFJRDZfUFE9bQpDT05GSUdfQklUUkVWRVJTRT15CkNPTkZJ R19HRU5FUklDX1NUUk5DUFlfRlJPTV9VU0VSPXkKQ09ORklHX0dFTkVSSUNfU1RSTkxFTl9VU0VS PXkKQ09ORklHX0dFTkVSSUNfTkVUX1VUSUxTPXkKQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9C SVQ9eQpDT05GSUdfR0VORVJJQ19QQ0lfSU9NQVA9eQpDT05GSUdfR0VORVJJQ19JT01BUD15CkNP TkZJR19HRU5FUklDX0lPPXkKQ09ORklHX0FSQ0hfVVNFX0NNUFhDSEdfTE9DS1JFRj15CkNPTkZJ R19DTVBYQ0hHX0xPQ0tSRUY9eQpDT05GSUdfQ1JDX0NDSVRUPW0KQ09ORklHX0NSQzE2PXkKQ09O RklHX0NSQ19UMTBESUY9bQpDT05GSUdfQ1JDX0lUVV9UPXkKQ09ORklHX0NSQzMyPXkKIyBDT05G SUdfQ1JDMzJfU0VMRlRFU1QgaXMgbm90IHNldApDT05GSUdfQ1JDMzJfU0xJQ0VCWTg9eQojIENP TkZJR19DUkMzMl9TTElDRUJZNCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQzMyX1NBUldBVEUgaXMg bm90IHNldAojIENPTkZJR19DUkMzMl9CSVQgaXMgbm90IHNldApDT05GSUdfQ1JDNz1tCkNPTkZJ R19MSUJDUkMzMkM9eQojIENPTkZJR19DUkM4IGlzIG5vdCBzZXQKQ09ORklHX1pMSUJfSU5GTEFU RT15CkNPTkZJR19aTElCX0RFRkxBVEU9bQpDT05GSUdfTFpPX0NPTVBSRVNTPXkKQ09ORklHX0xa T19ERUNPTVBSRVNTPXkKQ09ORklHX0xaNF9DT01QUkVTUz1tCkNPTkZJR19MWjRIQ19DT01QUkVT Uz1tCkNPTkZJR19MWjRfREVDT01QUkVTUz15CkNPTkZJR19YWl9ERUM9eQpDT05GSUdfWFpfREVD X1g4Nj15CiMgQ09ORklHX1haX0RFQ19QT1dFUlBDIGlzIG5vdCBzZXQKIyBDT05GSUdfWFpfREVD X0lBNjQgaXMgbm90IHNldAojIENPTkZJR19YWl9ERUNfQVJNIGlzIG5vdCBzZXQKIyBDT05GSUdf WFpfREVDX0FSTVRIVU1CIGlzIG5vdCBzZXQKIyBDT05GSUdfWFpfREVDX1NQQVJDIGlzIG5vdCBz ZXQKQ09ORklHX1haX0RFQ19CQ0o9eQojIENPTkZJR19YWl9ERUNfVEVTVCBpcyBub3Qgc2V0CkNP TkZJR19ERUNPTVBSRVNTX0daSVA9eQpDT05GSUdfREVDT01QUkVTU19CWklQMj15CkNPTkZJR19E RUNPTVBSRVNTX0xaTUE9eQpDT05GSUdfREVDT01QUkVTU19YWj15CkNPTkZJR19ERUNPTVBSRVNT X0xaTz15CkNPTkZJR19ERUNPTVBSRVNTX0xaND15CkNPTkZJR19IQVNfSU9NRU09eQpDT05GSUdf SEFTX0lPUE9SVD15CkNPTkZJR19IQVNfRE1BPXkKQ09ORklHX0NIRUNLX1NJR05BVFVSRT15CkNP TkZJR19DUFVNQVNLX09GRlNUQUNLPXkKQ09ORklHX0NQVV9STUFQPXkKQ09ORklHX0RRTD15CkNP TkZJR19OTEFUVFI9eQpDT05GSUdfQVJDSF9IQVNfQVRPTUlDNjRfREVDX0lGX1BPU0lUSVZFPXkK Q09ORklHX0FWRVJBR0U9eQojIENPTkZJR19DT1JESUMgaXMgbm90IHNldAojIENPTkZJR19ERFIg aXMgbm90IHNldApDT05GSUdfVUNTMl9TVFJJTkc9eQpDT05GSUdfRk9OVF9TVVBQT1JUPXkKIyBD T05GSUdfRk9OVFMgaXMgbm90IHNldApDT05GSUdfRk9OVF84eDg9eQpDT05GSUdfRk9OVF84eDE2 PXkK --bcaec508238c781d2004f543ed72--