From owner-freebsd-gecko@FreeBSD.ORG Tue Mar 12 14:14:41 2013 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 66882B93; Tue, 12 Mar 2013 14:14:41 +0000 (UTC) (envelope-from awarecons@gmail.com) Received: from mail-ie0-x22f.google.com (mail-ie0-x22f.google.com [IPv6:2607:f8b0:4001:c03::22f]) by mx1.freebsd.org (Postfix) with ESMTP id F0899BDE; Tue, 12 Mar 2013 14:14:40 +0000 (UTC) Received: by mail-ie0-f175.google.com with SMTP id c12so6302158ieb.6 for ; Tue, 12 Mar 2013 07:14:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:date:message-id:subject:from:to :content-type; bh=Z/7GRdXjRe6UTqgg6GW9ZEZkfeklfOEBUqEIyUXVcpo=; b=vm+FPL5QW/8LQLHpCMsqV+GozhUIUcmkhcTTXc2wnx0tg7wvNx+e1nXnIOoDeX7PbX hYvw/s2yN/QtLxTba3KMS1wUPuXvbiUdZ0plYgu9l+9pFZl274uegqN1JXgz5pwKo2ox S4FkiBMcqy6JxbYux2kM17FDvib9Ssw0/MNVNw0f+J/x5qrRGD6A3NToIWpDI0Kt0lZO Qe43Feio6z/oM0GbGz70yzNBXNtiVic7ipiO1I5axRzrgS9rQ1flo58EDY3jW3OFFlq/ jCSSmKUmOJDstTx29R6+1+VmVMXhRJhZYFCT/vhqrTE5zysCYFFVTZ2FSEi/bfvlc9MO s/Pg== MIME-Version: 1.0 X-Received: by 10.42.68.66 with SMTP id w2mr9688924ici.6.1363097680228; Tue, 12 Mar 2013 07:14:40 -0700 (PDT) Received: by 10.64.16.131 with HTTP; Tue, 12 Mar 2013 07:14:39 -0700 (PDT) Date: Tue, 12 Mar 2013 18:14:39 +0400 Message-ID: Subject: www/firefox & seamonkey ISSUES config errors From: awarecons To: ports-bugs@freebsd.org, gecko@FreeBSD.org Content-Type: multipart/mixed; boundary=20cf30334f4b063c6704d7bae9c9 X-Mailman-Approved-At: Tue, 12 Mar 2013 15:26:28 +0000 X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Mar 2013 14:14:41 -0000 --20cf30334f4b063c6704d7bae9c9 Content-Type: text/plain; charset=ISO-8859-1 FreeBSD xxx 9.0-RELEASE-p5 FreeBSD 9.0-RELEASE-p5 #3: Sat Dec 29 20:04:22 MSK 2012 root@xxx:/sys/i386/compile/GENERIC i386 Upgrade firefox-19.0,1 to firefox-19.0.2,1: checking for conic... checking for valid optimization flags... yes checking size of int *... 0 configure: error: Unexpected pointer size ===> Script "../configure" failed unexpectedly. Please report the problem to gecko@FreeBSD.org [maintainer] and attach the "/usr/ports/www/firefox/work/mozilla-release/obj-i386-portbld-freebsd9.0/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a /usr/sbin/pkg_info -Ea). *** Error code 1 Stop in /usr/ports/www/firefox. *** Error code 1 Upgrade seamonkey-2.16 to seamonkey-2.16.1: checking CAIRO_XRENDER_LIBS... -lcairo -pthread -lXrender -L/usr/local/lib -lX11 configure: error: Could not compile basic X program. ===> Script "../configure" failed unexpectedly. Please report the problem to gecko@FreeBSD.org [maintainer] and attach the "/usr/ports/www/seamonkey/work/comm-release/obj-i386-portbld-freebsd9.0/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a /usr/sbin/pkg_info -Ea). *** Error code 1 Stop in /usr/ports/www/seamonkey. *** Error code 1 --- Silently fails, when without USE_GCC/clang directive set, either in Makefile or make.conf, or via ENV. It would be wise to warn via make message and/or ../ports/UPDATING, that both are capable with gcc 4.6+ and clang 3.2+ (as it appears from logs attached world's clang 3.0 fails). Thank you. --20cf30334f4b063c6704d7bae9c9 Content-Type: application/octet-stream; name="config.log" Content-Disposition: attachment; filename="config.log" Content-Transfer-Encoding: base64 X-Attachment-Id: f_he5zxszb0 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCmNvbmZpZ3VyZToxMTEzOiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlCmNv bmZpZ3VyZToxMTM0OiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjExNTI6 IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToxMjI5OiBjaGVja2luZyBmb3Ig bWF3awpjb25maWd1cmU6MTIyOTogY2hlY2tpbmcgZm9yIGdhd2sKY29uZmlndXJlOjEzMDA6IGNo ZWNraW5nIGZvciAvdXNyL2xvY2FsL2Jpbi9weXRob24yLjcKY29uZmlndXJlOjE1NTE6IGNoZWNr aW5nIGZvciAvdXNyL2xvY2FsL2Jpbi9wZXJsCmNvbmZpZ3VyZToyODU2OiBjaGVja2luZyBmb3Ig Z2NjCmNvbmZpZ3VyZToyOTY5OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIChjbGFu ZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1h bGlhc2luZyAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4g LVdsLC1ycGF0aCxcJCRPUklHSU4pIHdvcmtzCmNvbmZpZ3VyZToyOTg1OiBjbGFuZyAtbyBjb25m dGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmlj dC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25v LWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1M L3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVz dC5jICAxPiY1CmNvbmZpZ3VyZTozMDExOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy IChjbGFuZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0 cmljdC1hbGlhc2luZyAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixv cmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4pIGlzIGEgY3Jvc3MtY29tcGlsZXIKY29uZmlndXJl OjMwMTY6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDCmNvbmZpZ3VyZTozMDI1 OiBjbGFuZyAtRSBjb25mdGVzdC5jCmNvbmZpZ3VyZTozMDQ0OiBjaGVja2luZyB3aGV0aGVyIGNs YW5nIGFjY2VwdHMgLWcKY29uZmlndXJlOjMwODU6IGNoZWNraW5nIGZvciBjKysKY29uZmlndXJl OjMxMTc6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciAoY2xhbmcrKyAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAt TzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13ICAt TC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRo LFwkJE9SSUdJTikgd29ya3MKY29uZmlndXJlOjMxMzM6IGNsYW5nKysgLW8gY29uZnRlc3QgLU8y IC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNp bmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAt dyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13 IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2Nh bC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5DICAxPiY1 CmNvbmZpZ3VyZTozMTU5OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgKGNsYW5n KysgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4g LVdsLC1ycGF0aCxcJCRPUklHSU4pIGlzIGEgY3Jvc3MtY29tcGlsZXIKY29uZmlndXJlOjMxNjQ6 IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDKysKY29uZmlndXJlOjMxNzM6IGNs YW5nKysgLUUgY29uZnRlc3QuQwpjb25maWd1cmU6MzE5MjogY2hlY2tpbmcgd2hldGhlciBjbGFu ZysrIGFjY2VwdHMgLWcKY29uZmlndXJlOjMyMjY6IGNoZWNraW5nIGZvciByYW5saWIKY29uZmln dXJlOjMyNTg6IGNoZWNraW5nIGZvciBhcwpjb25maWd1cmU6MzMxMjogY2hlY2tpbmcgZm9yIGFy CmNvbmZpZ3VyZTozMzQ3OiBjaGVja2luZyBmb3IgbGQKY29uZmlndXJlOjMzODI6IGNoZWNraW5n IGZvciBzdHJpcApjb25maWd1cmU6MzQxNzogY2hlY2tpbmcgZm9yIHdpbmRyZXMKY29uZmlndXJl OjQyODI6IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZTo0 MzYyOiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZTo0 MzgwOiBjbGFuZysrIC1FIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyA+L2Rl di9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo0NDY0OiBjaGVja2luZyBmb3IgYSBCU0Qg Y29tcGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3VyZTo0NTE3OiBjaGVja2luZyB3aGV0aGVyIGxuIC1z IHdvcmtzCmNvbmZpZ3VyZTo0NTQwOiBjaGVja2luZyBmb3IgbWluaW11bSByZXF1aXJlZCBwZXJs IHZlcnNpb24gPj0gNS4wMDYKY29uZmlndXJlOjQ1NTE6IGNoZWNraW5nIGZvciBmdWxsIHBlcmwg aW5zdGFsbGF0aW9uCmNvbmZpZ3VyZTo0NTg4OiBjaGVja2luZyBmb3IgZG94eWdlbgpjb25maWd1 cmU6NDYzNzogY2hlY2tpbmcgZm9yIGF1dG9jb25mCmNvbmZpZ3VyZTo0Njg4OiBjaGVja2luZyBm b3IgdW56aXAKY29uZmlndXJlOjQ3NDQ6IGNoZWNraW5nIGZvciB6aXAKY29uZmlndXJlOjQ3OTg6 IGNoZWNraW5nIGZvciB4YXJncwpjb25maWd1cmU6NDg1MDogY2hlY2tpbmcgZm9yIHJwbWJ1aWxk CmNvbmZpZ3VyZTo1MTI5OiBjaGVja2luZyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTo1MjAz OiBjaGVja2luZyBmb3IgZ21ha2UKY29uZmlndXJlOjUyNzA6IGNoZWNraW5nIGZvciBYCmNvbmZp Z3VyZTo1NTg3OiBjaGVja2luZyBmb3IgZG5ldF9udG9hIGluIC1sZG5ldApjb25maWd1cmU6NTYw NjogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwv dXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxc JCRPUklHSU4gY29uZnRlc3QuYyAtbGRuZXQgICAxPiY1Ci91c3IvYmluL2xkOiBjYW5ub3QgZmlu ZCAtbGRuZXQKY2xhbmc6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNv ZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKI2xpbmUgNTU5NSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogT3Zl cnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8K LyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m IGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk IHN0aWxsIGFwcGx5LiAgKi8KY2hhciBkbmV0X250b2EoKTsKCmludCBtYWluKCkgewpkbmV0X250 b2EoKQo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo1NjI4OiBjaGVja2luZyBmb3IgZG5ldF9udG9h IGluIC1sZG5ldF9zdHViCmNvbmZpZ3VyZTo1NjQ3OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAt TzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9s aWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jIC1sZG5ldF9z dHViICAgMT4mNQovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxkbmV0X3N0dWIKY2xhbmc6IGVy cm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNl ZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNTYzNiAi Y29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50 ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVj YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRp biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K Y2hhciBkbmV0X250b2EoKTsKCmludCBtYWluKCkgewpkbmV0X250b2EoKQo7IHJldHVybiAwOyB9 CmNvbmZpZ3VyZTo1Njc2OiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZQpjb25maWd1cmU6NTcw NDogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwv dXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxc JCRPUklHSU4gY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6NTc3NDogY2hlY2tpbmcgZm9yIGNv bm5lY3QKY29uZmlndXJlOjU4MDI6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9 cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAt bWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXos b3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjU4 NjY6IGNoZWNraW5nIGZvciByZW1vdmUKY29uZmlndXJlOjU4OTQ6IGNsYW5nIC1vIGNvbmZ0ZXN0 IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJy b3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNy L2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMg IDE+JjUKY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZvciBzaG1hdApjb25maWd1cmU6NTk4Njog Y2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1 bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNy L2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6NjA1OTogY2hlY2tpbmcgZm9yIEljZUNv bm5lY3Rpb25OdW1iZXIgaW4gLWxJQ0UKY29uZmlndXJlOjYwNzg6IGNsYW5nIC1vIGNvbmZ0ZXN0 IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJy b3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNy L2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1ML3Vzci9sb2Nh bC9saWIgY29uZnRlc3QuYyAtbElDRSAgIDE+JjUKY29uZmlndXJlOjY0ODY6IGNsYW5nIC1jICAt TzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NjQ4Mjox NTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ19fdGh1bWIyX18nCnJldHVy biBzaXplb2YoX190aHVtYjJfXyk7CiAgICAgICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4K Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDY0NzkgImNvbmZpZ3VyZSIKI2lu Y2x1ZGUgImNvbmZkZWZzLmgiCgppbnQgbWFpbigpIHsKcmV0dXJuIHNpemVvZihfX3RodW1iMl9f KTsKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6NjY4MDogY2hlY2tpbmcgdGhhdCBzdGF0aWMgYXNz ZXJ0aW9uIG1hY3JvcyB1c2VkIGluIGF1dG9jb25mIHRlc3RzIHdvcmsKY29uZmlndXJlOjY3MDE6 IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1 CmNvbmZpZ3VyZTo2NzE4OiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVu ZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00 IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl IGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NjcxODoxOiBlcnJvcjogJ3N0YXRpY19hc3NlcnRf bGluZV82NzE4JyBkZWNsYXJlZCBhcyBhbiBhcnJheSB3aXRoIGEgbmVnYXRpdmUgc2l6ZQpDT05G SUdVUkVfU1RBVElDX0FTU0VSVCgwKQpefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjb25maWd1 cmU6NjcxMzo0NDogbm90ZTogZXhwYW5kZWQgZnJvbToKI2RlZmluZSBDT05GSUdVUkVfU1RBVElD X0FTU0VSVChjb25kaXRpb24pIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9u LCBfX0xJTkVfXykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Y29uZmlndXJlOjY3MTQ6NTU6IG5vdGU6IGV4cGFuZGVkIGZyb206CiNkZWZpbmUgQ09ORklHVVJF X1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIGxpbmUpIENPTkZJR1VSRV9TVEFUSUNfQVNT RVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6NjcxNTo5NDogbm90ZTogZXhwYW5k ZWQgZnJvbToKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24s IGxpbmUpIHR5cGVkZWYgaW50IHN0YXRpY19hc3NlcnRfbGluZV8jI2xpbmVbKGNvbmRpdGlvbikg PyAxIDogLTFdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+CjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKI2xpbmUgNjcxMSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNkZWZpbmUg Q09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9uKSBDT05GSUdVUkVfU1RBVElDX0FTU0VS VF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NF UlRfSU1QTChjb25kaXRpb24sIGxpbmUpIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNv bmRpdGlvbiwgbGluZSkKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25k aXRpb24sIGxpbmUpIHR5cGVkZWYgaW50IHN0YXRpY19hc3NlcnRfbGluZV8jI2xpbmVbKGNvbmRp dGlvbikgPyAxIDogLTFdCgppbnQgbWFpbigpIHsKQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoMCkK OyByZXR1cm4gMDsgfQpjb25maWd1cmU6Njc0MTogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNo PXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1PMiAtcGlwZSAt bWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZTo2NzU4OiBjbGFuZysrIC1j IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJy b3IgLXcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJl OjY3NTg6MTogZXJyb3I6ICdzdGF0aWNfYXNzZXJ0X2xpbmVfNjc1OCcgZGVjbGFyZWQgYXMgYW4g YXJyYXkgd2l0aCBhIG5lZ2F0aXZlIHNpemUKQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoMCkKXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjY3NTM6NDQ6IG5vdGU6IGV4cGFuZGVk IGZyb206CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9uKSBDT05GSUdV UkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTo2NzU0OjU1OiBub3RlOiBl eHBhbmRlZCBmcm9tOgojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0 aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Y29uZmlndXJlOjY3NTU6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb206CiNkZWZpbmUgQ09ORklHVVJF X1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0eXBlZGVmIGludCBzdGF0aWNf YXNzZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0xXQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgoxIGVycm9yIGdlbmVyYXRl ZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDY3NTEgImNvbmZpZ3VyZSIK I2luY2x1ZGUgImNvbmZkZWZzLmgiCgojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKGNv bmRpdGlvbikgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIF9fTElORV9f KQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBD T05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpCiNkZWZpbmUgQ09O RklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0eXBlZGVmIGludCBz dGF0aWNfYXNzZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0xXQoKaW50IG1haW4o KSB7CkNPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKDApCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjY5 MTc6IGNoZWNraW5nIGZvciAtLW5vZXhlY3N0YWNrIG9wdGlvbiB0byBhcwpjb25maWd1cmU6Njky ODogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdhLC0tbm9leGVjc3RhY2sg LVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRp dW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAx PiY1CmNvbmZpZ3VyZTo2OTQxOiBjaGVja2luZyBmb3IgLXogbm9leGVjc3RhY2sgb3B0aW9uIHRv IGxkCmNvbmZpZ3VyZTo2OTUyOiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1h bGlhc2luZyAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwv dXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxc JCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjY5 NjY6IGNoZWNraW5nIGlmIHRvb2xjaGFpbiBzdXBwb3J0cyAtbW1teCAtbXNzc2UzIG9wdGlvbgpj b25maWd1cmU6Njk3ODogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLW1tbXgg LW1zc3NlMyAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25m dGVzdC5jIDE+JjUKY29uZmlndXJlOjY5OTQ6IGNoZWNraW5nIGlmIHRvb2xjaGFpbiBzdXBwb3J0 cyAtbW1teCAtbXNzZTQuMSBvcHRpb24KY29uZmlndXJlOjcwMDY6IGNsYW5nIC1jIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1tbW14IC1tc3NlNC4xIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NzAzMjogY2hl Y2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV2Vycm9yPXJldHVybi10eXBl CmNvbmZpZ3VyZTo3MDU1OiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVu ZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vy cm9yIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xv Y2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo3MDgzOiBjaGVja2luZyB3aGV0 aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1XdHlwZS1saW1pdHMKY29uZmlndXJlOjcxMDY6 IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVd0eXBlLWxpbWl0 cyAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5j IDE+JjUKY29uZmlndXJlOjcxMzQ6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3Vw cG9ydHMgLVdlbXB0eS1ib2R5CmNvbmZpZ3VyZTo3MTU3OiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1h cmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtV2Vycm9yIC1XZW1wdHktYm9keSAtUXVudXNlZC1hcmd1bWVudHMgLU8y IC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjcxOTE6IGNo ZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVduby1vdmVybGVuZ3RoLXN0 cmluZ3MKY29uZmlndXJlOjcyMTQ6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1XZXJyb3IgLVdvdmVybGVuZ3RoLXN0cmluZ3MgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo3Mjk4OiBjaGVja2lu ZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVdlcnJvcj1yZXR1cm4tdHlwZQpj b25maWd1cmU6NzMyMTogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVu ZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00 IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtV2Vycm9yIC1XZXJyb3I9cmV0dXJuLXR5cGUgLVF1bnVzZWQtYXJndW1lbnRz IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZTo3MzQ5 OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVd0eXBlLWxpbWl0 cwpjb25maWd1cmU6NzM3MjogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtV2Vycm9yIC1XdHlwZS1saW1pdHMgLVF1bnVzZWQtYXJndW1lbnRzIC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZTo3NDAwOiBj aGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVdlbXB0eS1ib2R5CmNv bmZpZ3VyZTo3NDIzOiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1XZXJyb3IgLVdlbXB0eS1ib2R5IC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6NzQ1OTogY2hlY2tp bmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tb3Zlcmxlbmd0aC1zdHJp bmdzCmNvbmZpZ3VyZTo3NDgyOiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVdvdmVybGVuZ3RoLXN0cmluZ3MgLVF1bnVzZWQtYXJn dW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJy b3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3Vy ZTo3NTEwOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1p bnZhbGlkLW9mZnNldG9mCmNvbmZpZ3VyZTo3NTMzOiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNl cHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVdpbnZhbGlkLW9mZnNldG9mIC1R dW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVt NCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4m NQpjb25maWd1cmU6NzU2MTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBv cnRzIC1Xbm8tdmFyaWFkaWMtbWFjcm9zCmNvbmZpZ3VyZTo3NTg0OiBjbGFuZysrIC1jIC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcg LWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVd2YXJpYWRpYy1t YWNyb3MgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuQyAxPiY1CmNvbmZpZ3VyZTo3NjM2OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGls ZXIgc3VwcG9ydHMgLVduby1leHRlbmRlZC1vZmZzZXRvZgpjb25maWd1cmU6NzY1OTogY2xhbmcr KyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmlj dC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25v LWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1X ZXh0ZW5kZWQtb2Zmc2V0b2YgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZTo3Njk3OiBjaGVja2luZyB3aGV0aGVyIGxk IGhhcyBhcmNoaXZlIGV4dHJhY3Rpb24gZmxhZ3MKY29uZmlndXJlOjc3MjE6IGNsYW5nIC1vIGNv bmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlIC1XbCwtLXdob2xlLWFyY2hpdmUgY29uZnRlc3QuYyAtV2ws LS1uby13aG9sZS1hcmNoaXZlIDE+JjUKY29uZmlndXJlOjc3NTY6IGNoZWNraW5nIGZvciA2NC1i aXQgT1MKY29uZmlndXJlOjc3NjU6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50 aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMg MT4mNQpjb25maWd1cmU6Nzc2NToxOiBlcnJvcjogJ3N0YXRpY19hc3NlcnRfbGluZV83NzY1JyBk ZWNsYXJlZCBhcyBhbiBhcnJheSB3aXRoIGEgbmVnYXRpdmUgc2l6ZQpDT05GSUdVUkVfU1RBVElD X0FTU0VSVChzaXplb2Yodm9pZCopID09IDgpCl5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjc3NjA6NDQ6IG5vdGU6IGV4cGFuZGVkIGZyb206CiNk ZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9uKSBDT05GSUdVUkVfU1RBVElD X0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTo3NzYxOjU1OiBub3RlOiBleHBhbmRlZCBm cm9tOgojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5l KSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJl Ojc3NjI6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb206CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19B U1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0eXBlZGVmIGludCBzdGF0aWNfYXNzZXJ0X2xp bmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0xXQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDc3NTggImNvbmZpZ3VyZSIKI2luY2x1ZGUg ImNvbmZkZWZzLmgiCgojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKGNvbmRpdGlvbikg Q09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIF9fTElORV9fKQojZGVmaW5l IENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBDT05GSUdVUkVf U1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpCiNkZWZpbmUgQ09ORklHVVJFX1NU QVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0eXBlZGVmIGludCBzdGF0aWNfYXNz ZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0xXQoKaW50IG1haW4oKSB7CkNPTkZJ R1VSRV9TVEFUSUNfQVNTRVJUKHNpemVvZih2b2lkKikgPT0gOCkKOyByZXR1cm4gMDsgfQpjb25m aWd1cmU6ODIzMTogY2hlY2tpbmcgZm9yIGN1c3RvbSA8c3RkaW50Lmg+IGltcGxlbWVudGF0aW9u CmNvbmZpZ3VyZTo5NTQzOiBjaGVja2luZyB3aGV0aGVyIHRoZSBsaW5rZXIgc3VwcG9ydHMgSWRl bnRpY2FsIENvZGUgRm9sZGluZwpjb25maWd1cmU6OTU1MjogY2xhbmcgLW8gY29uZnRlc3QgIC1M L3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgs XCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayAtV2wsLS1pY2Y9c2FmZSAtZmZ1bmN0aW9uLXNl Y3Rpb25zIGNvbmZ0ZXN0LmMgIDE+JjIKL3Vzci9iaW4vbGQ6IHVucmVjb2duaXplZCBvcHRpb24g Jy0taWNmPXNhZmUnCi91c3IvYmluL2xkOiB1c2UgdGhlIC0taGVscCBvcHRpb24gZm9yIHVzYWdl IGluZm9ybWF0aW9uCmNsYW5nOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhp dCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOjk2MjM6IGNoZWNr aW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTo5NjM2OiBjbGFuZy1jcHAgLVF1 bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rl di9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo5NzAzOiBjbGFuZyAtbyBjb25mdGVzdCAt TzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlh c2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNy L2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjk3MzA6 IGNoZWNraW5nIGZvciB3b3JraW5nIGNvbnN0CmNvbmZpZ3VyZTo5Nzg0OiBjbGFuZyAtYyAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5j IDE+JjUKY29uZmlndXJlOjk4MDg6IGNoZWNraW5nIGZvciBtb2RlX3QKY29uZmlndXJlOjk4NDQ6 IGNoZWNraW5nIGZvciBvZmZfdApjb25maWd1cmU6OTg4MDogY2hlY2tpbmcgZm9yIHBpZF90CmNv bmZpZ3VyZTo5OTE2OiBjaGVja2luZyBmb3Igc2l6ZV90CmNvbmZpZ3VyZTo5OTU5OiBjaGVja2lu ZyBmb3IgX19zdGRjYWxsCmNvbmZpZ3VyZTo5OTczOiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNl cHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMDAwNTogY2hl Y2tpbmcgZm9yIHNzaXplX3QKY29uZmlndXJlOjEwMDE4OiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1h cmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNl ZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVdu by1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29u ZmlndXJlOjEwMDQzOiBjaGVja2luZyBmb3Igc3RfYmxrc2l6ZSBpbiBzdHJ1Y3Qgc3RhdApjb25m aWd1cmU6MTAwNTY6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBl bnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTAwODA6IGNoZWNraW5n IGZvciBzaWdpbmZvX3QKY29uZmlndXJlOjEwMDkzOiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNo PXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1h cmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKU3RhY2sg ZHVtcDoKMC4JUHJvZ3JhbSBhcmd1bWVudHM6IC91c3IvYmluL2NsYW5nIC1jYzEgLXRyaXBsZSBp Mzg2LXVua25vd24tZnJlZWJzZDkuMCAtZW1pdC1vYmogLWRpc2FibGUtZnJlZSAtbWFpbi1maWxl LW5hbWUgY29uZnRlc3QuYyAtbXJlbG9jYXRpb24tbW9kZWwgc3RhdGljIC1tZGlzYWJsZS1mcC1l bGltIC1yZWxheGVkLWFsaWFzaW5nIC1tYXNtLXZlcmJvc2UgLW1jb25zdHJ1Y3Rvci1hbGlhc2Vz IC10YXJnZXQtY3B1IHBlbnRpdW00IC1tb21pdC1sZWFmLWZyYW1lLXBvaW50ZXIgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWNvdmVyYWdlLWZpbGUgY29uZnRlc3QubyAtcmVz b3VyY2UtZGlyIC91c3IvYmluLy4uL2xpYi9jbGFuZy8zLjAgLWlzeXN0ZW0gL3Vzci9sb2NhbC9p bmNsdWRlIC1mbW9kdWxlLWNhY2hlLXBhdGggL3RtcC9jbGFuZy1tb2R1bGUtY2FjaGUgLU8yIC1X bm8tZXJyb3IgLXcgLWZlcnJvci1saW1pdCAxOSAtZm1lc3NhZ2UtbGVuZ3RoIDAgLWZnbnUtcnVu dGltZSAtZm9iamMtcnVudGltZS1oYXMtYXJjIC1mb2JqYy1ydW50aW1lLWhhcy13ZWFrIC1mb2Jq Yy1mcmFnaWxlLWFiaSAtZmRpYWdub3N0aWNzLXNob3ctb3B0aW9uIC1vIGNvbmZ0ZXN0Lm8gLXgg YyBjb25mdGVzdC5jIAoxLgk8ZW9mPiBwYXJzZXIgYXQgZW5kIG9mIGZpbGUKMi4JY29uZmlndXJl OjEwMDg4OjU6IExMVk0gSVIgZ2VuZXJhdGlvbiBvZiBkZWNsYXJhdGlvbiAnbWFpbicKMy4JY29u ZmlndXJlOjEwMDg4OjU6IEdlbmVyYXRpbmcgY29kZSBmb3IgZGVjbGFyYXRpb24gJ21haW4nCjQu CWNvbmZpZ3VyZToxMDA4ODoxMjogTExWTSBJUiBnZW5lcmF0aW9uIG9mIGNvbXBvdW5kIHN0YXRl bWVudCAoJ3t9JykKY2xhbmc6IGVycm9yOiB1bmFibGUgdG8gZXhlY3V0ZSBjb21tYW5kOiBJbGxl Z2FsIGluc3RydWN0aW9uOiA0IChjb3JlIGR1bXBlZCkKY2xhbmc6IGVycm9yOiBjbGFuZyBmcm9u dGVuZCBjb21tYW5kIGZhaWxlZCBkdWUgdG8gc2lnbmFsIDIgKHVzZSAtdiB0byBzZWUgaW52b2Nh dGlvbikKY2xhbmc6IG5vdGU6IGRpYWdub3N0aWMgbXNnOiBQbGVhc2Ugc3VibWl0IGEgYnVnIHJl cG9ydCB0byBodHRwOi8vbGx2bS5vcmcvYnVncy8gYW5kIGluY2x1ZGUgY29tbWFuZCBsaW5lIGFy Z3VtZW50cyBhbmQgYWxsIGRpYWdub3N0aWMgaW5mb3JtYXRpb24uCmNsYW5nOiBub3RlOiBkaWFn bm9zdGljIG1zZzogUHJlcHJvY2Vzc2VkIHNvdXJjZShzKSBhcmUgbG9jYXRlZCBhdDoKY2xhbmc6 IG5vdGU6IGRpYWdub3N0aWMgbXNnOiAvdG1wL2NvbmZ0ZXN0LTlsN1JHei5pCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMDA4NSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29u ZmRlZnMuaCIKI2RlZmluZSBfUE9TSVhfQ19TT1VSQ0UgMTk5NTA2TAogICAgICAgICAgICAgICAg ICAjaW5jbHVkZSA8c2lnbmFsLmg+CmludCBtYWluKCkgewpzaWdpbmZvX3QqIGluZm87CjsgcmV0 dXJuIDA7IH0KY29uZmlndXJlOjEwMTE5OiBjaGVja2luZyBmb3IgaW50NjQKY29uZmlndXJlOjEw MTMyOiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjEwMTI4OjE6IGVycm9yOiB1c2Ugb2Yg dW5kZWNsYXJlZCBpZGVudGlmaWVyICdpbnQ2NCcKaW50NjQgZm9vID0gMDsKXgoxIGVycm9yIGdl bmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEwMTI0ICJjb25m aWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3RkaW8uaD4KICAgICAgICAg ICAgICAgICAgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgppbnQgbWFpbigpIHsKaW50NjQgZm9vID0g MDsKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTAxNTc6IGNoZWNraW5nIGZvciB1aW50CmNvbmZp Z3VyZToxMDE3MDogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAt bWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMDE5NTogY2hlY2tpbmcg Zm9yIHVpbnRfdApjb25maWd1cmU6MTAyMDg6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3Vt ZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9y IC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6 MTAyMDQ6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50X3QnOyBkaWQgeW91IG1lYW4g J3VpbnQ4X3QnPwp1aW50X3QgZm9vID0gMDsKXn5+fn5+CnVpbnQ4X3QKL3Vzci9pbmNsdWRlL3N5 cy9fc3RkaW50Lmg6NTQ6MjA6IG5vdGU6ICd1aW50OF90JyBkZWNsYXJlZCBoZXJlCnR5cGVkZWYg X191aW50OF90ICAgICAgICAgICAgICAgdWludDhfdDsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKI2xpbmUgMTAyMDAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRl IDxzdGRpby5oPgogICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CmludCBt YWluKCkgewp1aW50X3QgZm9vID0gMDsKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTAyNDI6IGNo ZWNraW5nIGZvciB1bmFtZS5kb21haW5uYW1lCmNvbmZpZ3VyZToxMDI1NTogY2xhbmcrKyAtYyAt TzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlh c2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9y IC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1RdW51c2VkLWFy Z3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVy cm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1 cmU6MTAyNTE6NjI6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ2RvbWFpbm5hbWUnIGluICd1dHNu YW1lJwogICAgICAgICAgICAodm9pZCl1bmFtZShyZXMpOyAgaWYgKHJlcyAhPSAwKSB7IGRvbWFp biA9IHJlcy0+ZG9tYWlubmFtZTsgfSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB+fn4gIF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMDI0NyAiY29uZmlndXJlIgojaW5jbHVkZSAi Y29uZmRlZnMuaCIKI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CmludCBtYWluKCkgewogc3RydWN0 IHV0c25hbWUgKnJlczsgY2hhciAqZG9tYWluOwogICAgICAgICAgICAodm9pZCl1bmFtZShyZXMp OyAgaWYgKHJlcyAhPSAwKSB7IGRvbWFpbiA9IHJlcy0+ZG9tYWlubmFtZTsgfSAKOyByZXR1cm4g MDsgfQpjb25maWd1cmU6MTAyODI6IGNoZWNraW5nIGZvciB1bmFtZS5fX2RvbWFpbm5hbWUKY29u ZmlndXJlOjEwMjk1OiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt Zm5vLWV4Y2VwdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMDI5MTo2MjogZXJyb3I6IG5vIG1lbWJlciBu YW1lZCAnX19kb21haW5uYW1lJyBpbiAndXRzbmFtZScKICAgICAgICAgICAgKHZvaWQpdW5hbWUo cmVzKTsgIGlmIChyZXMgIT0gMCkgeyBkb21haW4gPSByZXMtPl9fZG9tYWlubmFtZTsgfSAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn4g IF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu ZSAxMDI4NyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN5cy91 dHNuYW1lLmg+CmludCBtYWluKCkgewogc3RydWN0IHV0c25hbWUgKnJlczsgY2hhciAqZG9tYWlu OwogICAgICAgICAgICAodm9pZCl1bmFtZShyZXMpOyAgaWYgKHJlcyAhPSAwKSB7IGRvbWFpbiA9 IHJlcy0+X19kb21haW5uYW1lOyB9IAo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMDMzNDogY2hl Y2tpbmcgZm9yIGdjYyBjKysweCBoZWFkZXJzIGJ1ZyB3aXRob3V0IHJ0dGkKY29uZmlndXJlOjEw MzQ2OiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBl bnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2Vw dGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTAzNjY6IGNoZWNraW5nIGZvciB1c2Fi bGUgY2hhcjE2X3QgKDIgYnl0ZXMsIHVuc2lnbmVkKQpjb25maWd1cmU6MTAzODI6IGNsYW5nKysg LWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1m ZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdu dSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuQyAxPiY1CmNvbmZpZ3VyZToxMDQxMDogY2hlY2tpbmcgZm9yIHVzYWJsZSB3Y2hhcl90ICgy IGJ5dGVzLCB1bnNpZ25lZCkKY29uZmlndXJlOjEwNDI0OiBjbGFuZysrIC1jIC1PMiAtcGlwZSAt bWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1l eGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2Vk LWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25v LWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25m aWd1cmU6MTA0MjM6MTogZXJyb3I6ICdzdGF0aWNfYXNzZXJ0X2xpbmVfMTA0MjMnIGRlY2xhcmVk IGFzIGFuIGFycmF5IHdpdGggYSBuZWdhdGl2ZSBzaXplCkNPTkZJR1VSRV9TVEFUSUNfQVNTRVJU KHNpemVvZih3Y2hhcl90KSA9PSAyKTsKXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CmNvbmZpZ3VyZToxMDQxODo0NDogbm90ZTogZXhwYW5kZWQgZnJvbToKI2Rl ZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChjb25kaXRpb24pIENPTkZJR1VSRV9TVEFUSUNf QVNTRVJUX0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjEwNDE5OjU1OiBub3RlOiBleHBhbmRlZCBm cm9tOgojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5l KSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJl OjEwNDIwOjk0OiBub3RlOiBleHBhbmRlZCBmcm9tOgojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNf QVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fzc2VydF9s aW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjEwNDI0OjIyOiBlcnJv cjogJ3N0YXRpY19hc3NlcnRfbGluZV8xMDQyNCcgZGVjbGFyZWQgYXMgYW4gYXJyYXkgd2l0aCBh IG5lZ2F0aXZlIHNpemUKICAgICAgICAgICAgICAgICAgICAgQ09ORklHVVJFX1NUQVRJQ19BU1NF UlQoKHdjaGFyX3QpLTEgPiAod2NoYXJfdCkgMCkKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjEw NDE4OjQ0OiBub3RlOiBleHBhbmRlZCBmcm9tOgojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNT RVJUKGNvbmRpdGlvbikgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIF9f TElORV9fKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25m aWd1cmU6MTA0MTk6NTU6IG5vdGU6IGV4cGFuZGVkIGZyb206CiNkZWZpbmUgQ09ORklHVVJFX1NU QVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIGxpbmUpIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJU X0lNUEwyKGNvbmRpdGlvbiwgbGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6MTA0MjA6OTQ6IG5vdGU6IGV4cGFuZGVk IGZyb206CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBs aW5lKSB0eXBlZGVmIGludCBzdGF0aWNfYXNzZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24pID8g MSA6IC0xXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fgoyIGVycm9ycyBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz OgojbGluZSAxMDQxNSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUg PHN0ZGRlZi5oPgogICAgICAgICAgICAgICAgICAgICAKI2RlZmluZSBDT05GSUdVUkVfU1RBVElD X0FTU0VSVChjb25kaXRpb24pIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9u LCBfX0xJTkVfXykKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlv biwgbGluZSkgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKQoj ZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlw ZWRlZiBpbnQgc3RhdGljX2Fzc2VydF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0K CmludCBtYWluKCkgewpDT05GSUdVUkVfU1RBVElDX0FTU0VSVChzaXplb2Yod2NoYXJfdCkgPT0g Mik7CiAgICAgICAgICAgICAgICAgICAgIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKCh3Y2hhcl90 KS0xID4gKHdjaGFyX3QpIDApCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEwNTEyOiBjaGVja2lu ZyBmb3IgdmlzaWJpbGl0eShoaWRkZW4pIGF0dHJpYnV0ZQpjb25maWd1cmU6MTA1NDA6IGNoZWNr aW5nIGZvciB2aXNpYmlsaXR5KGRlZmF1bHQpIGF0dHJpYnV0ZQpjb25maWd1cmU6MTA1Njg6IGNo ZWNraW5nIGZvciB2aXNpYmlsaXR5IHByYWdtYSBzdXBwb3J0CmNvbmZpZ3VyZToxMDU5MzogY2hl Y2tpbmcgRm9yIGdjYyB2aXNpYmlsaXR5IGJ1ZyB3aXRoIGNsYXNzLWxldmVsIGF0dHJpYnV0ZXMg KEdDQyBidWcgMjY5MDUpCmNvbmZpZ3VyZToxMDYyMTogY2hlY2tpbmcgRm9yIHg4Nl82NCBnY2Mg dmlzaWJpbGl0eSBidWcgd2l0aCBidWlsdGlucyAoR0NDIGJ1ZyAyMDI5NykKY29uZmlndXJlOjEw Njc2OiBjaGVja2luZyBmb3IgZ2NjIFBSNDk5MTEKY29uZmlndXJlOjEwNzM3OiBjbGFuZysrIC1v IGNvbmZ0ZXN0IC1PMiAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1y cGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgIDE+JjUKU3RhY2sg ZHVtcDoKMC4JUHJvZ3JhbSBhcmd1bWVudHM6IC91c3IvYmluL2NsYW5nKysgLWNjMSAtdHJpcGxl IGkzODYtdW5rbm93bi1mcmVlYnNkOS4wIC1lbWl0LW9iaiAtZGlzYWJsZS1mcmVlIC1tYWluLWZp bGUtbmFtZSBjb25mdGVzdC5DIC1tcmVsb2NhdGlvbi1tb2RlbCBzdGF0aWMgLW1kaXNhYmxlLWZw LWVsaW0gLW1hc20tdmVyYm9zZSAtbWNvbnN0cnVjdG9yLWFsaWFzZXMgLXRhcmdldC1jcHUgcGVu dGl1bTQgLW1vbWl0LWxlYWYtZnJhbWUtcG9pbnRlciAtcmVzb3VyY2UtZGlyIC91c3IvYmluLy4u L2xpYi9jbGFuZy8zLjAgLWlzeXN0ZW0gL3Vzci9sb2NhbC9pbmNsdWRlIC1mbW9kdWxlLWNhY2hl LXBhdGggL3RtcC9jbGFuZy1tb2R1bGUtY2FjaGUgLU8yIC1Xbm8tZXJyb3IgLXcgLWZkZXByZWNh dGVkLW1hY3JvIC1mZXJyb3ItbGltaXQgMTkgLWZtZXNzYWdlLWxlbmd0aCAwIC1mZ251LXJ1bnRp bWUgLWZvYmpjLXJ1bnRpbWUtaGFzLWFyYyAtZm9iamMtcnVudGltZS1oYXMtd2VhayAtZm9iamMt ZnJhZ2lsZS1hYmkgLWZjeHgtZXhjZXB0aW9ucyAtZmV4Y2VwdGlvbnMgLWZkaWFnbm9zdGljcy1z aG93LW9wdGlvbiAtbyAvdG1wL2NvbmZ0ZXN0LTIzZkVxci5vIC14IGMrKyBjb25mdGVzdC5DIAox Lgljb25maWd1cmU6MTA3Mjg6MTogY3VycmVudCBwYXJzZXIgdG9rZW4gJ19fYXR0cmlidXRlX18n CjIuCWNvbmZpZ3VyZToxMDcyNzoxMjogTExWTSBJUiBnZW5lcmF0aW9uIG9mIGRlY2xhcmF0aW9u ICd4JwozLgljb25maWd1cmU6MTA3Mjc6MTI6IEdlbmVyYXRpbmcgY29kZSBmb3IgZGVjbGFyYXRp b24gJ3gnCmNsYW5nKys6IGVycm9yOiB1bmFibGUgdG8gZXhlY3V0ZSBjb21tYW5kOiBJbGxlZ2Fs IGluc3RydWN0aW9uOiA0IChjb3JlIGR1bXBlZCkKY2xhbmcrKzogZXJyb3I6IGNsYW5nIGZyb250 ZW5kIGNvbW1hbmQgZmFpbGVkIGR1ZSB0byBzaWduYWwgMiAodXNlIC12IHRvIHNlZSBpbnZvY2F0 aW9uKQpjbGFuZysrOiBub3RlOiBkaWFnbm9zdGljIG1zZzogUGxlYXNlIHN1Ym1pdCBhIGJ1ZyBy ZXBvcnQgdG8gaHR0cDovL2xsdm0ub3JnL2J1Z3MvIGFuZCBpbmNsdWRlIGNvbW1hbmQgbGluZSBh cmd1bWVudHMgYW5kIGFsbCBkaWFnbm9zdGljIGluZm9ybWF0aW9uLgpjbGFuZysrOiBub3RlOiBk aWFnbm9zdGljIG1zZzogUHJlcHJvY2Vzc2VkIHNvdXJjZShzKSBhcmUgbG9jYXRlZCBhdDoKY2xh bmcrKzogbm90ZTogZGlhZ25vc3RpYyBtc2c6IC90bXAvY29uZnRlc3QteHc4dG9iLmlpCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMDY5MyAiY29uZmlndXJlIgojaW5jbHVk ZSAiY29uZmRlZnMuaCIKI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIgdm9pZCBleGl0KGlu dCk7CiNlbmRpZgoKZXh0ZXJuICJDIiB2b2lkIGFib3J0KHZvaWQpOwp0eXBlZGVmIGVudW0gewpl YXgsICAgICAgICAgZWN4LCAgICAgICAgIGVkeCwgICAgICAgICBlYngsICAgICAgICAgZXNwLCAg ICAgICAgIGVicCwKZXNpLCAgICAgICAgIGVkaSAgICAgfQpSZWdpc3RlcklEOwp1bmlvbiBTdGF0 ZVJlbWF0IHsKICBSZWdpc3RlcklEIHJlZ187CiAgaW50IG9mZnNldF87Cn07CnN0YXRpYyBTdGF0 ZVJlbWF0IEZyb21SZWdpc3RlcihSZWdpc3RlcklEIHJlZykgewogIFN0YXRlUmVtYXQgc3I7CiAg c3IucmVnXyA9IHJlZzsKICByZXR1cm4gc3I7Cn0Kc3RhdGljIFN0YXRlUmVtYXQgRnJvbUFkZHJl c3MzKGludCBhZGRyZXNzKSB7CiAgU3RhdGVSZW1hdCBzcjsKICBzci5vZmZzZXRfID0gYWRkcmVz czsKICBpZiAoYWRkcmVzcyA8IDQ2ICYmICAgIGFkZHJlc3MgPj0gMCkgewogICAgYWJvcnQoKTsK ICB9CiAgcmV0dXJuIHNyOwp9CnN0cnVjdCBGcmFtZVN0YXRlIHsKICBTdGF0ZVJlbWF0IGRhdGFS ZW1hdEluZm8yKGJvb2wgeSwgaW50IHopIHsKICAgIGlmICh5KSAgICAgICAgIHJldHVybiBGcm9t UmVnaXN0ZXIoUmVnaXN0ZXJJRCgxKSk7CiAgICByZXR1cm4gRnJvbUFkZHJlc3MzKHopOwogIH0K fTsKRnJhbWVTdGF0ZSBmcmFtZTsKU3RhdGVSZW1hdCB4OwpfX2F0dHJpYnV0ZV9fKChub2lubGlu ZSkpIHZvaWQganNvcF9zZXRlbGVtKGJvb2wgeSwgaW50IHopIHsKICB4ID0gZnJhbWUuZGF0YVJl bWF0SW5mbzIoeSwgeik7Cn0KaW50IG1haW4odm9pZCkgewogIGpzb3Bfc2V0ZWxlbSgwLCA0Nyk7 Cn0KCmNvbmZpZ3VyZToxMDc3MDogY2hlY2tpbmcgZm9yIGdjYyBwcjM5NjA4CmNvbmZpZ3VyZTox MDgwMDogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVt NCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1w ZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNl cHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTA4Mjc6IGNo ZWNraW5nIGZvciBsbHZtIHByODkyNwpjb25maWd1cmU6MTA4Njc6IGNsYW5nIC1vIGNvbmZ0ZXN0 IC1PMiAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNy L2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjEwOTA0 OiBjaGVja2luZyBmb3IgX19mb3JjZV9hbGlnbl9hcmdfcG9pbnRlcl9fIGF0dHJpYnV0ZQpjb25m aWd1cmU6MTA5MTY6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBl bnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVdlcnJvciAtUXVudXNl ZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVdu by1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29u ZmlndXJlOjEwOTQzOiBjaGVja2luZyBmb3IgZGlyZW50LmggdGhhdCBkZWZpbmVzIERJUgpjb25m aWd1cmU6MTA5NTY6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBl bnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1l bnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3Ig LXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTox MDk4NDogY2hlY2tpbmcgZm9yIG9wZW5kaXIgaW4gLWxkaXIKY29uZmlndXJlOjExMDAzOiBjbGFu ZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIg LVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29u ZnRlc3QuYyAtbGRpciAgIDE+JjUKL3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sZGlyCmNsYW5n OiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0 byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEw OTkyICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBPdmVycmlkZSBhbnkgZ2Nj MiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hh ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBi dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku ICAqLwpjaGFyIG9wZW5kaXIoKTsKCmludCBtYWluKCkgewpvcGVuZGlyKCkKOyByZXR1cm4gMDsg fQpjb25maWd1cmU6MTEwNzg6IGNoZWNraW5nIGZvciBzeXMvYnl0ZW9yZGVyLmgKY29uZmlndXJl OjExMDkxOiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVt NCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAt TzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5j IDE+JjUKY29uZmlndXJlOjExMDg1OjEwOiBmYXRhbCBlcnJvcjogJ3N5cy9ieXRlb3JkZXIuaCcg ZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHN5cy9ieXRlb3JkZXIuaD4KICAgICAgICAgXgoxIGVy cm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDExMDgz ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPHN5cy9ieXRlb3Jk ZXIuaD4KaW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMTA3ODogY2hlY2tp bmcgZm9yIGNvbXBhdC5oCmNvbmZpZ3VyZToxMTA5MTogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJj aD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVl LXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTA4NToxMDogZmF0YWwg ZXJyb3I6ICdjb21wYXQuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPGNvbXBhdC5oPgogICAg ICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK I2xpbmUgMTEwODMgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8 Y29tcGF0Lmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTEwNzg6IGNo ZWNraW5nIGZvciBnZXRvcHQuaApjb25maWd1cmU6MTEwOTE6IGNsYW5nIC1jIC1PMiAtcGlwZSAt bWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t dHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10 dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEwNzg6IGNoZWNr aW5nIGZvciBzeXMvYml0eXBlcy5oCmNvbmZpZ3VyZToxMTA5MTogY2xhbmcgLWMgLU8yIC1waXBl IC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTA4NToxMDog ZmF0YWwgZXJyb3I6ICdzeXMvYml0eXBlcy5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8c3lz L2JpdHlwZXMuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDExMDgzICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVm cy5oIgoKI2luY2x1ZGUgPHN5cy9iaXR5cGVzLmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsg fQpjb25maWd1cmU6MTEwNzg6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6MTEwOTE6 IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMg LWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpj b25maWd1cmU6MTEwNzg6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6MTEwOTE6IGNs YW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAt bWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25m aWd1cmU6MTEwNzg6IGNoZWNraW5nIGZvciBnbnUvbGliYy12ZXJzaW9uLmgKY29uZmlndXJlOjEx MDkxOiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+ JjUKY29uZmlndXJlOjExMDg1OjEwOiBmYXRhbCBlcnJvcjogJ2dudS9saWJjLXZlcnNpb24uaCcg ZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPGdudS9saWJjLXZlcnNpb24uaD4KICAgICAgICAgXgox IGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEx MDgzICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPGdudS9saWJj LXZlcnNpb24uaD4KaW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMTA3ODog Y2hlY2tpbmcgZm9yIG5sX3R5cGVzLmgKY29uZmlndXJlOjExMDkxOiBjbGFuZyAtYyAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt Zm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00 IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjExMDc4OiBj aGVja2luZyBmb3IgbWFsbG9jLmgKY29uZmlndXJlOjExMDkxOiBjbGFuZyAtYyAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5v LXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKSW4gZmlsZSBpbmNsdWRlZCBmcm9t IGNvbmZpZ3VyZToxMTA4NToKL3Vzci9pbmNsdWRlL21hbGxvYy5oOjM6MjogZXJyb3I6ICNlcnJv ciAiPG1hbGxvYy5oPiBoYXMgYmVlbiByZXBsYWNlZCBieSA8c3RkbGliLmg+IgojZXJyb3IgIjxt YWxsb2MuaD4gaGFzIGJlZW4gcmVwbGFjZWQgYnkgPHN0ZGxpYi5oPiIKIF4KMSBlcnJvciBnZW5l cmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMTA4MyAiY29uZmln dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxtYWxsb2MuaD4KaW50IG1haW4o KSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMTA3ODogY2hlY2tpbmcgZm9yIFgxMS9YS0Js aWIuaApjb25maWd1cmU6MTEwOTE6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVz ZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1X bm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNs dWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEwNzg6IGNoZWNraW5nIGZvciBpby5oCmNv bmZpZ3VyZToxMTA5MTogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1 bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTA4NToxMDogZmF0YWwgZXJyb3I6ICdpby5oJyBmaWxl IG5vdCBmb3VuZAojaW5jbHVkZSA8aW8uaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4K Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDExMDgzICJjb25maWd1cmUiCiNp bmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPGlvLmg+CmludCBtYWluKCkgewoKOyByZXR1 cm4gMDsgfQpjb25maWd1cmU6MTEwNzg6IGNoZWNraW5nIGZvciBjcHVpZC5oCmNvbmZpZ3VyZTox MTA5MTogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8y IC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAx PiY1CmNvbmZpZ3VyZToxMTA4NToxMDogZmF0YWwgZXJyb3I6ICdjcHVpZC5oJyBmaWxlIG5vdCBm b3VuZAojaW5jbHVkZSA8Y3B1aWQuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDExMDgzICJjb25maWd1cmUiCiNpbmNs dWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPGNwdWlkLmg+CmludCBtYWluKCkgewoKOyByZXR1 cm4gMDsgfQpjb25maWd1cmU6MTExMjY6IGNoZWNraW5nIGZvciBzeXMvc3RhdHZmcy5oCmNvbmZp Z3VyZToxMTEzOTogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVu dHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAt dyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuYyAxPiY1CmNvbmZpZ3VyZToxMTEyNjogY2hlY2tpbmcgZm9yIHN5cy9zdGF0ZnMuaApjb25m aWd1cmU6MTExMzk6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBl bnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1l bnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3Ig LXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgMT4mNQpjb25maWd1cmU6MTExMzM6MTA6IGZhdGFsIGVycm9yOiAnc3lzL3N0YXRmcy5o JyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8c3lzL3N0YXRmcy5oPgogICAgICAgICBeCjEgZXJy b3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTExMzEg ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8c3lzL3N0YXRmcy5o PgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjExMTI2OiBjaGVja2luZyBm b3Igc3lzL3Zmcy5oCmNvbmZpZ3VyZToxMTEzOTogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZy cCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTEzMzoxMDogZmF0YWwgZXJy b3I6ICdzeXMvdmZzLmgnIGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDxzeXMvdmZzLmg+CiAgICAg ICAgIF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgoj bGluZSAxMTEzMSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxz eXMvdmZzLmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTExMjY6IGNo ZWNraW5nIGZvciBzeXMvbW91bnQuaApjb25maWd1cmU6MTExMzk6IGNsYW5nIC1jIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTExNzM6IGNo ZWNraW5nIGZvciBzeXMvcXVvdGEuaApjb25maWd1cmU6MTExODY6IGNsYW5nIC1jIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTExODA6MTA6 IGZhdGFsIGVycm9yOiAnc3lzL3F1b3RhLmgnIGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDxzeXMv cXVvdGEuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CiNsaW5lIDExMTc4ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5o IgoKI2luY2x1ZGUgPHN5cy9xdW90YS5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29u ZmlndXJlOjExMTczOiBjaGVja2luZyBmb3Igc3lzL3N5c21hY3Jvcy5oCmNvbmZpZ3VyZToxMTE4 NjogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1w aXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1 CmNvbmZpZ3VyZToxMTE4MDoxMDogZmF0YWwgZXJyb3I6ICdzeXMvc3lzbWFjcm9zLmgnIGZpbGUg bm90IGZvdW5kCiNpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+CiAgICAgICAgIF4KMSBlcnJvciBn ZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMTE3OCAiY29u ZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+ CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTEyMTk6IGNoZWNraW5nIGZv ciBsaW51eC9xdW90YS5oCmNvbmZpZ3VyZToxMTIzMjogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJj aD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVl LXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTIyNjoxMDogZmF0YWwg ZXJyb3I6ICdsaW51eC9xdW90YS5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8bGludXgvcXVv dGEuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDExMjI0ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoj aW5jbHVkZSA8c3lzL3NvY2tldC5oPgojaW5jbHVkZSA8bGludXgvcXVvdGEuaD4KaW50IG1haW4o KSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMTI2NjogY2hlY2tpbmcgZm9yIGxpbnV4L2lm X2FkZHIuaApjb25maWd1cmU6MTEyNzk6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1 bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEyNzM6MTA6IGZhdGFsIGVycm9yOiAn bGludXgvaWZfYWRkci5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8bGludXgvaWZfYWRkci5o PgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKI2xpbmUgMTEyNzEgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNs dWRlIDxzeXMvc29ja2V0Lmg+CiNpbmNsdWRlIDxsaW51eC9pZl9hZGRyLmg+CmludCBtYWluKCkg ewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTEyNjY6IGNoZWNraW5nIGZvciBsaW51eC9ydG5l dGxpbmsuaApjb25maWd1cmU6MTEyNzk6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1 bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEyNzM6MTA6IGZhdGFsIGVycm9yOiAn bGludXgvcnRuZXRsaW5rLmgnIGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDxsaW51eC9ydG5ldGxp bmsuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDExMjcxICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoj aW5jbHVkZSA8c3lzL3NvY2tldC5oPgojaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+CmludCBt YWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTEzMTM6IGNoZWNraW5nIGZvciBzeXMv dHlwZXMuaApjb25maWd1cmU6MTEzMjY6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1 bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEzMTM6IGNoZWNraW5nIGZvciBuZXRp bmV0L2luLmgKY29uZmlndXJlOjExMzI2OiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlh c2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1R dW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVt NCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwv aW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjExMzEzOiBjaGVja2luZyBmb3IgYnl0 ZXN3YXAuaApjb25maWd1cmU6MTEzMjY6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1 bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTEzMjA6MTA6IGZhdGFsIGVycm9yOiAn Ynl0ZXN3YXAuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPGJ5dGVzd2FwLmg+CiAgICAgICAg IF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu ZSAxMTMxOCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxieXRl c3dhcC5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjExMzU3OiBjaGVj a2luZyBmb3Igc29ja2FkZHJfaW4uc2luX2xlbgpjb25maWd1cmU6MTEzNzQ6IGNsYW5nIC1jIC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTE0 MDU6IGNoZWNraW5nIGZvciBzb2NrYWRkcl9pbjYuc2luNl9sZW4KY29uZmlndXJlOjExNDIyOiBj bGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKU3Rh Y2sgZHVtcDoKMC4JUHJvZ3JhbSBhcmd1bWVudHM6IC91c3IvYmluL2NsYW5nIC1jYzEgLXRyaXBs ZSBpMzg2LXVua25vd24tZnJlZWJzZDkuMCAtZW1pdC1vYmogLWRpc2FibGUtZnJlZSAtbWFpbi1m aWxlLW5hbWUgY29uZnRlc3QuYyAtbXJlbG9jYXRpb24tbW9kZWwgc3RhdGljIC1tZGlzYWJsZS1m cC1lbGltIC1yZWxheGVkLWFsaWFzaW5nIC1tYXNtLXZlcmJvc2UgLW1jb25zdHJ1Y3Rvci1hbGlh c2VzIC10YXJnZXQtY3B1IHBlbnRpdW00IC1tb21pdC1sZWFmLWZyYW1lLXBvaW50ZXIgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWNvdmVyYWdlLWZpbGUgY29uZnRlc3QubyAt cmVzb3VyY2UtZGlyIC91c3IvYmluLy4uL2xpYi9jbGFuZy8zLjAgLWlzeXN0ZW0gL3Vzci9sb2Nh bC9pbmNsdWRlIC1JIC91c3IvbG9jYWwvaW5jbHVkZSAtZm1vZHVsZS1jYWNoZS1wYXRoIC90bXAv Y2xhbmctbW9kdWxlLWNhY2hlIC1PMiAtV25vLWVycm9yIC13IC1mZXJyb3ItbGltaXQgMTkgLWZt ZXNzYWdlLWxlbmd0aCAwIC1mZ251LXJ1bnRpbWUgLWZvYmpjLXJ1bnRpbWUtaGFzLWFyYyAtZm9i amMtcnVudGltZS1oYXMtd2VhayAtZm9iamMtZnJhZ2lsZS1hYmkgLWZkaWFnbm9zdGljcy1zaG93 LW9wdGlvbiAtbyBjb25mdGVzdC5vIC14IGMgY29uZnRlc3QuYyAKMS4JY29uZmlndXJlOjExNDE3 OjE6IGN1cnJlbnQgcGFyc2VyIHRva2VuICdpbnQnCjIuCWNvbmZpZ3VyZToxMTQxNjozOTogTExW TSBJUiBnZW5lcmF0aW9uIG9mIGRlY2xhcmF0aW9uICdmb28nCjMuCWNvbmZpZ3VyZToxMTQxNjoz OTogR2VuZXJhdGluZyBjb2RlIGZvciBkZWNsYXJhdGlvbiAnZm9vJwpjbGFuZzogZXJyb3I6IHVu YWJsZSB0byBleGVjdXRlIGNvbW1hbmQ6IElsbGVnYWwgaW5zdHJ1Y3Rpb246IDQgKGNvcmUgZHVt cGVkKQpjbGFuZzogZXJyb3I6IGNsYW5nIGZyb250ZW5kIGNvbW1hbmQgZmFpbGVkIGR1ZSB0byBz aWduYWwgMiAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjbGFuZzogbm90ZTogZGlhZ25vc3Rp YyBtc2c6IFBsZWFzZSBzdWJtaXQgYSBidWcgcmVwb3J0IHRvIGh0dHA6Ly9sbHZtLm9yZy9idWdz LyBhbmQgaW5jbHVkZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGFuZCBhbGwgZGlhZ25vc3RpYyBp bmZvcm1hdGlvbi4KY2xhbmc6IG5vdGU6IGRpYWdub3N0aWMgbXNnOiBQcmVwcm9jZXNzZWQgc291 cmNlKHMpIGFyZSBsb2NhdGVkIGF0OgpjbGFuZzogbm90ZTogZGlhZ25vc3RpYyBtc2c6IC90bXAv Y29uZnRlc3QtazZnVVB0LmkKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEx NDEwICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzeXMvdHlwZXMu aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZW5kaWYKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9pbjYgeDsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2b2lkICpmb28gPSAodm9pZCopICZ4LnNpbjZfbGVuOwppbnQgbWFpbigp IHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjExNDQ2OiBjaGVja2luZyBmb3Igc29ja2FkZHIu c2FfbGVuCmNvbmZpZ3VyZToxMTQ2MzogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVu dXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTQ5NjogY2hlY2tpbmcgZm9yIG5ldwpj b25maWd1cmU6MTE1MDk6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25z IC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1 bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMTYwODogY2hlY2tpbmcgZm9yIHN5cy9jZGVmcy5oCmNv bmZpZ3VyZToxMTYyMTogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1 bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMTY3MzogY2hlY2tpbmcgZm9yIGxpbnV4L3BlcmZfZXZl bnQuaApjb25maWd1cmU6MTE2ODY6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgIC1RdW51 c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt V25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjExNjgwOjEwOiBmYXRhbCBlcnJvcjogJ2xp bnV4L3BlcmZfZXZlbnQuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPGxpbnV4L3BlcmZfZXZl bnQuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDExNjc4ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoK I2luY2x1ZGUgPGxpbnV4L3BlcmZfZXZlbnQuaD4KaW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9 CmNvbmZpZ3VyZToxMTc0OTogY2hlY2tpbmcgZm9yIGdldGhvc3RieW5hbWVfciBpbiAtbGNfcgpj b25maWd1cmU6MTE3Njg6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1 bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAtbGNfciAg IDE+JjUKL3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sY19yCmNsYW5nOiBlcnJvcjogbGlua2Vy IGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlv bikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDExNzU3ICJjb25maWd1cmUi CiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBt aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVu IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGdldGhv c3RieW5hbWVfcigpOwoKaW50IG1haW4oKSB7CmdldGhvc3RieW5hbWVfcigpCjsgcmV0dXJuIDA7 IH0KY29uZmlndXJlOjExODA5OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGRsb3Bl bgpjb25maWd1cmU6MTE4Mjc6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAg LVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRp dW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdp biAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4m NQpjb25maWd1cmU6MTE4Njc6IGNoZWNraW5nIGZvciBkbGZjbi5oCmNvbmZpZ3VyZToxMTg4MDog Y2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBl IC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNv bmZpZ3VyZToxMTkxNzogY2hlY2tpbmcgZm9yIGRsYWRkcgpjb25maWd1cmU6MTE5NDU6IGNsYW5n IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLURfR05VX1NPVVJDRSAtUXVudXNlZC1h cmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg IC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBh dGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3Vy ZToxMTkxNzogY2hlY2tpbmcgZm9yIG1lbW1lbQpjb25maWd1cmU6MTE5NDU6IGNsYW5nIC1vIGNv bmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLURfR05VX1NPVVJDRSAtUXVudXNlZC1hcmd1bWVu dHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAt dyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vz ci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQk T1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxMjA4 OTogY2hlY2tpbmcgZm9yIHNvY2tldCBpbiAtbHNvY2tldApjb25maWd1cmU6MTIxMDg6IGNsYW5n IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwv bGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAt V2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAtbHNvY2tldCAgIDE+JjUKL3Vzci9iaW4vbGQ6 IGNhbm5vdCBmaW5kIC1sc29ja2V0CmNsYW5nOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVk IHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEyMDk3ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25m ZGVmcy5oIgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg YW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHNvY2tldCgpOwoKaW50IG1haW4o KSB7CnNvY2tldCgpCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEyMTYzOiBjaGVja2luZyBmb3Ig WERyYXdMaW5lcyBpbiAtbFgxMQpjb25maWd1cmU6MTIxODI6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliICAtTC91c3IvbG9j YWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJ TiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAtbFgxMSAtbFgxMSAgIDE+JjUKY29uZmln dXJlOjEyMjA0OiBjaGVja2luZyBmb3IgWGV4dEFkZERpc3BsYXkgaW4gLWxYZXh0CmNvbmZpZ3Vy ZToxMjIyMzogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1h cmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg IC1ML3Vzci9sb2NhbC9saWIgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2ws LXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVz dC5jIC1sWGV4dCAtbFgxMSAgIDE+JjUKY29uZmlndXJlOjEyMjQ2OiBjaGVja2luZyBmb3IgWHRG cmVlIGluIC1sWHQKY29uZmlndXJlOjEyMjY1OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5v LXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAt TC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16 LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWxYdCAgIDE+JjUKY29uZmlndXJlOjEyNDE5OiBjaGVj a2luZyBmb3IgWFNobUNyZWF0ZUltYWdlIGluIC1sWGV4dApjb25maWd1cmU6MTI0Mzg6IGNsYW5n IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwv bGliICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2ws LXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAtbFhleHQgLWxY MTEgIC1sWGV4dCAgMT4mNQpjb25maWd1cmU6MTI0NjE6IGNoZWNraW5nIGZvciBYMTEvZXh0ZW5z aW9ucy9zY3Juc2F2ZXIuaApjb25maWd1cmU6MTI0NzQ6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJl ZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTI0ODk6IGNoZWNraW5n IGZvciBYU2NyZWVuU2F2ZXJRdWVyeUluZm8gaW4gLWxYc3MKY29uZmlndXJlOjEyNTA4OiBjbGFu ZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2Fs L2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVds LC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWxYc3MgLWxY ZXh0IC1sWDExICAgMT4mNQpjb25maWd1cmU6MTI1NTg6IGNoZWNraW5nIGZvciBwdGhyZWFkX2Ny ZWF0ZSBpbiAtbHB0aHJlYWRzCmNsYW5nIC1vIGR1bW15IGR1bW15LmMgLU8yIC1waXBlIC1tYXJj aD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVl LXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLWxwdGhyZWFkcyAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwv bGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNr IAovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxwdGhyZWFkcwpjbGFuZzogZXJyb3I6IGxpbmtl ciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRp b24pCmNvbmZpZ3VyZToxMjU4MTogY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1scHRo cmVhZApjbGFuZyAtbyBkdW1teSBkdW1teS5jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10 dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m ZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQt YXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8t ZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1scHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmln aW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIApjb25maWd1cmU6MTI2 ODY6IGNoZWNraW5nIHdoZXRoZXIgY2xhbmcgYWNjZXB0cyAtcHRocmVhZApjb25maWd1cmU6MTI4 MTQ6IGNoZWNraW5nIHdoZXRoZXIgY2xhbmcgbmVlZHMgLXRyYWRpdGlvbmFsCmNvbmZpZ3VyZTox MjgyMToxMDogZmF0YWwgZXJyb3I6ICdzZ3R0eS5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8 c2d0dHkuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOjEyODM5OjEw OiBmYXRhbCBlcnJvcjogJ3Rlcm1pby5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8dGVybWlv Lmg+CiAgICAgICAgIF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZToxMjg2MDogY2hlY2tp bmcgZm9yIDgtYml0IGNsZWFuIG1lbWNtcApjb25maWd1cmU6MTI4Nzg6IGNsYW5nIC1vIGNvbmZ0 ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRh LXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xv Y2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwv bGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAt V2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTI4OTg6IGNoZWNr aW5nIGZvciByYW5kb20KY29uZmlndXJlOjEyOTI2OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt Zm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00 IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3Iv bG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhl Y3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjEyODk4OiBjaGVja2luZyBmb3Igc3Ry ZXJyb3IKY29uZmlndXJlOjEyOTI2OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNo PXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUt dnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1w ZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGli IC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNv bmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjEyODk4OiBjaGVja2luZyBmb3IgbGNob3duCmNvbmZp Z3VyZToxMjkyNjogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNl ZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVdu by1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3Jp Z2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAx PiY1CmNvbmZpZ3VyZToxMjg5ODogY2hlY2tpbmcgZm9yIGZjaG1vZApjb25maWd1cmU6MTI5MjY6 IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRp dW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24t c2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRz IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFk ICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJw YXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1 cmU6MTI4OTg6IGNoZWNraW5nIGZvciBzbnByaW50Zgpjb25maWd1cmU6MTI5MjY6IGNsYW5nIC1v IGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMg LWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3Iv bG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9S SUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTI4OTg6 IGNoZWNraW5nIGZvciBtZW1tb3ZlCmNvbmZpZ3VyZToxMjkyNjogY2xhbmcgLW8gY29uZnRlc3Qg LU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIg LUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwt eixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxMjg5ODogY2hlY2tpbmcg Zm9yIHJpbnQKY29uZmlndXJlOjEyOTI2OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1h cmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRy ZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVu ZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwv bGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNr IGNvbmZ0ZXN0LmMgIDE+JjUKL3RtcC9jb25mdGVzdC15bWQxN0oubzogSW4gZnVuY3Rpb24gYG1h aW4nOgpjb25mdGVzdC5jOigudGV4dC5tYWluKzB4Nyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YHJpbnQnCmNsYW5nOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2Rl IDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CiNsaW5lIDEyOTAzICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0 ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3Rv dHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHJpbnQoKTsgYmVsb3cuICAq LwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3Rv dHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1p Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4g aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgcmludCgp OwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1 bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0 aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZp bmVkIChfX3N0dWJfcmludCkgfHwgZGVmaW5lZCAoX19zdHViX19fcmludCkKY2hva2UgbWUKI2Vs c2UKcmludCgpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEyODk4OiBjaGVja2lu ZyBmb3Igc3RhdDY0CmNvbmZpZ3VyZToxMjkyNjogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBl IC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xv Y2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNz dGFjayBjb25mdGVzdC5jICAxPiY1Ci90bXAvY29uZnRlc3QtbnZQVnJGLm86IEluIGZ1bmN0aW9u IGBtYWluJzoKY29uZnRlc3QuYzooLnRleHQubWFpbisweDcpOiB1bmRlZmluZWQgcmVmZXJlbmNl IHRvIGBzdGF0NjQnCmNsYW5nOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhp dCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDEyOTAzICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgov KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3 IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHN0YXQ2NCgpOyBi ZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJu YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBh bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hh ciBzdGF0NjQoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwg d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0 aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAq LwojaWYgZGVmaW5lZCAoX19zdHViX3N0YXQ2NCkgfHwgZGVmaW5lZCAoX19zdHViX19fc3RhdDY0 KQpjaG9rZSBtZQojZWxzZQpzdGF0NjQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3Vy ZToxMjg5ODogY2hlY2tpbmcgZm9yIGxzdGF0NjQKY29uZmlndXJlOjEyOTI2OiBjbGFuZyAtbyBj b25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xv Y2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklH SU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUKL3RtcC9jb25mdGVzdC1WRHNL YUkubzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25mdGVzdC5jOigudGV4dC5tYWluKzB4Nyk6IHVu ZGVmaW5lZCByZWZlcmVuY2UgdG8gYGxzdGF0NjQnCmNsYW5nOiBlcnJvcjogbGlua2VyIGNvbW1h bmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEyOTAzICJjb25maWd1cmUiCiNpbmNs dWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9z IGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0 aCBjaGFyIGxzdGF0NjQoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJy aWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8q IFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBh IGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovCmNoYXIgbHN0YXQ2NCgpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05V IEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRz CiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1 YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg bmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfbHN0YXQ2NCkgfHwgZGVm aW5lZCAoX19zdHViX19fbHN0YXQ2NCkKY2hva2UgbWUKI2Vsc2UKbHN0YXQ2NCgpOwojZW5kaWYK CjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEyODk4OiBjaGVja2luZyBmb3IgdHJ1bmNhdGU2NApj b25maWd1cmU6MTI5MjY6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1 bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16 LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3Qu YyAgMT4mNQovdG1wL2NvbmZ0ZXN0LTd4M3hnNi5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0 ZXN0LmM6KC50ZXh0Lm1haW4rMHg3KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgdHJ1bmNhdGU2 NCcKY2xhbmc6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAo dXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK I2xpbmUgMTI5MDMgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBo ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl cywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdHJ1bmNhdGU2NCgpOyBiZWxvdy4g ICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciB0cnVu Y2F0ZTY0KCk7CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdp dGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhp bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8K I2lmIGRlZmluZWQgKF9fc3R1Yl90cnVuY2F0ZTY0KSB8fCBkZWZpbmVkIChfX3N0dWJfX190cnVu Y2F0ZTY0KQpjaG9rZSBtZQojZWxzZQp0cnVuY2F0ZTY0KCk7CiNlbmRpZgoKOyByZXR1cm4gMDsg fQpjb25maWd1cmU6MTI4OTg6IGNoZWNraW5nIGZvciBzZXRidWYKY29uZmlndXJlOjEyOTI2OiBj bGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVt NCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAt TzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAg LUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0 aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJl OjEyODk4OiBjaGVja2luZyBmb3IgaXNhdHR5CmNvbmZpZ3VyZToxMjkyNjogY2xhbmcgLW8gY29u ZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2Nh bC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lO IC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxMjk1NjogY2hl Y2tpbmcgZm9yIHN0YXR2ZnM2NApjb25maWd1cmU6MTI5ODQ6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1M L3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXos bm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQovdG1wL2NvbmZ0ZXN0LU5vQjUwMy5vOiBJbiBm dW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6KC50ZXh0Lm1haW4rMHg3KTogdW5kZWZpbmVkIHJl ZmVyZW5jZSB0byBgc3RhdHZmczY0JwpjbGFuZzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxl ZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMjk2MSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29u ZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9w ZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBz dGF0dmZzNjQoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFu eSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVz ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIK ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh cHBseS4gICovCmNoYXIgc3RhdHZmczY0KCk7CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBs aWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAg IHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5 IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9zdGF0dmZzNjQpIHx8IGRlZmlu ZWQgKF9fc3R1Yl9fX3N0YXR2ZnM2NCkKY2hva2UgbWUKI2Vsc2UKc3RhdHZmczY0KCk7CiNlbmRp ZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTI5NTY6IGNoZWNraW5nIGZvciBzdGF0dmZzCmNv bmZpZ3VyZToxMjk4NDogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVu dXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXos b3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5j ICAxPiY1CmNvbmZpZ3VyZToxMjk1NjogY2hlY2tpbmcgZm9yIHN0YXRmczY0CmNvbmZpZ3VyZTox Mjk4NDogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1 bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0 aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1X bCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1Ci90 bXAvY29uZnRlc3QtRlQzbFo3Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3QuYzooLnRl eHQubWFpbisweDcpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdGF0ZnM2NCcKY2xhbmc6IGVy cm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNl ZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTI5NjEg ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RhdGZzNjQoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8 YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgc3RhdGZzNjQoKTsKCmludCBt YWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMg d2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21l IGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRo IF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19z dHViX3N0YXRmczY0KSB8fCBkZWZpbmVkIChfX3N0dWJfX19zdGF0ZnM2NCkKY2hva2UgbWUKI2Vs c2UKc3RhdGZzNjQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMjk1NjogY2hl Y2tpbmcgZm9yIHN0YXRmcwpjb25maWd1cmU6MTI5ODQ6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25z IC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1ML3Vz ci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9l eGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTMwMTQ6IGNoZWNraW5nIGZvciBm bG9ja2ZpbGUKY29uZmlndXJlOjEzMDQyOiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1h cmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRy ZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVu ZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwv bGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNr IGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjEzMDE0OiBjaGVja2luZyBmb3IgZ2V0cGFnZXNp emUKY29uZmlndXJlOjEzMDQyOiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1h bGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJw IC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50 aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9j YWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1X bCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0 ZXN0LmMgIDE+JjUKY29uZmlndXJlOjEzMDcyOiBjaGVja2luZyBmb3IgbG9jYWx0aW1lX3IKY29u ZmlndXJlOjEzMTAwOiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00 IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1RdW51 c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt V25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixv cmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMg IDE+JjUKY29uZmlndXJlOjEzMDcyOiBjaGVja2luZyBmb3Igc3RydG9rX3IKY29uZmlndXJlOjEz MTAwOiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1w ZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3Vt ZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9y IC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRo cmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVds LC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUKY29u ZmlndXJlOjEzMTI5OiBjaGVja2luZyBmb3IgY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMp CmNvbmZpZ3VyZToxMzE0NTogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAt UXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1 bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2ws LXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVz dC5jICAgMT4mNQpjb25maWd1cmU6MTMxODY6IGNoZWNraW5nIGZvciB3Y3J0b21iCmNvbmZpZ3Vy ZToxMzE5ODogY2xhbmcrKyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFy Z3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVy cm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAt cHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4g LVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgIDE+JjUK U3RhY2sgZHVtcDoKMC4JUHJvZ3JhbSBhcmd1bWVudHM6IC91c3IvYmluL2NsYW5nKysgLWNjMSAt dHJpcGxlIGkzODYtdW5rbm93bi1mcmVlYnNkOS4wIC1lbWl0LW9iaiAtZGlzYWJsZS1mcmVlIC1t YWluLWZpbGUtbmFtZSBjb25mdGVzdC5DIC1tcmVsb2NhdGlvbi1tb2RlbCBzdGF0aWMgLW1kaXNh YmxlLWZwLWVsaW0gLXJlbGF4ZWQtYWxpYXNpbmcgLW1hc20tdmVyYm9zZSAtbWNvbnN0cnVjdG9y LWFsaWFzZXMgLXRhcmdldC1jcHUgcGVudGl1bTQgLW1vbWl0LWxlYWYtZnJhbWUtcG9pbnRlciAt ZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtcmVzb3VyY2UtZGlyIC91c3IvYmlu Ly4uL2xpYi9jbGFuZy8zLjAgLWlzeXN0ZW0gL3Vzci9sb2NhbC9pbmNsdWRlIC1JIC91c3IvbG9j YWwvaW5jbHVkZSAtZm1vZHVsZS1jYWNoZS1wYXRoIC90bXAvY2xhbmctbW9kdWxlLWNhY2hlIC1P MiAtV25vLWVycm9yIC1Xbm8tZXJyb3IgLXcgLXN0ZD1nbnUrKzB4IC1mZGVwcmVjYXRlZC1tYWNy byAtZmVycm9yLWxpbWl0IDE5IC1mbWVzc2FnZS1sZW5ndGggMCAtcHRocmVhZCAtZm5vLXJ0dGkg LWZnbnUtcnVudGltZSAtZm9iamMtcnVudGltZS1oYXMtYXJjIC1mb2JqYy1ydW50aW1lLWhhcy13 ZWFrIC1mb2JqYy1mcmFnaWxlLWFiaSAtZmRpYWdub3N0aWNzLXNob3ctb3B0aW9uIC1vIC90bXAv Y29uZnRlc3QtWFlNaDFOLm8gLXggYysrIGNvbmZ0ZXN0LkMgCjEuCTxlb2Y+IHBhcnNlciBhdCBl bmQgb2YgZmlsZQoyLgljb25maWd1cmU6MTMxOTM6NTogTExWTSBJUiBnZW5lcmF0aW9uIG9mIGRl Y2xhcmF0aW9uICdtYWluJwozLgljb25maWd1cmU6MTMxOTM6NTogR2VuZXJhdGluZyBjb2RlIGZv ciBkZWNsYXJhdGlvbiAnbWFpbicKNC4JY29uZmlndXJlOjEzMTkzOjEyOiBMTFZNIElSIGdlbmVy YXRpb24gb2YgY29tcG91bmQgc3RhdGVtZW50ICgne30nKQpjbGFuZysrOiBlcnJvcjogdW5hYmxl IHRvIGV4ZWN1dGUgY29tbWFuZDogSWxsZWdhbCBpbnN0cnVjdGlvbjogNCAoY29yZSBkdW1wZWQp CmNsYW5nKys6IGVycm9yOiBjbGFuZyBmcm9udGVuZCBjb21tYW5kIGZhaWxlZCBkdWUgdG8gc2ln bmFsIDIgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY2xhbmcrKzogbm90ZTogZGlhZ25vc3Rp YyBtc2c6IFBsZWFzZSBzdWJtaXQgYSBidWcgcmVwb3J0IHRvIGh0dHA6Ly9sbHZtLm9yZy9idWdz LyBhbmQgaW5jbHVkZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGFuZCBhbGwgZGlhZ25vc3RpYyBp bmZvcm1hdGlvbi4KY2xhbmcrKzogbm90ZTogZGlhZ25vc3RpYyBtc2c6IFByZXByb2Nlc3NlZCBz b3VyY2UocykgYXJlIGxvY2F0ZWQgYXQ6CmNsYW5nKys6IG5vdGU6IGRpYWdub3N0aWMgbXNnOiAv dG1wL2NvbmZ0ZXN0LVA2VVdKdS5paQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xp bmUgMTMxOTEgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDx3Y2hh ci5oPgppbnQgbWFpbigpIHsKbWJzdGF0ZV90IHBzPXswfTt3Y3J0b21iKDAsJ2YnLCZwcyk7Cjsg cmV0dXJuIDA7IH0KY29uZmlndXJlOjEzMjIxOiBjaGVja2luZyBmb3IgbWJydG93Ywpjb25maWd1 cmU6MTMyMzM6IGNsYW5nKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby10cmVlLXZycCAtUXVudXNlZC1h cmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2lu IC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5DICAxPiY1 ClN0YWNrIGR1bXA6CjAuCVByb2dyYW0gYXJndW1lbnRzOiAvdXNyL2Jpbi9jbGFuZysrIC1jYzEg LXRyaXBsZSBpMzg2LXVua25vd24tZnJlZWJzZDkuMCAtZW1pdC1vYmogLWRpc2FibGUtZnJlZSAt bWFpbi1maWxlLW5hbWUgY29uZnRlc3QuQyAtbXJlbG9jYXRpb24tbW9kZWwgc3RhdGljIC1tZGlz YWJsZS1mcC1lbGltIC1yZWxheGVkLWFsaWFzaW5nIC1tYXNtLXZlcmJvc2UgLW1jb25zdHJ1Y3Rv ci1hbGlhc2VzIC10YXJnZXQtY3B1IHBlbnRpdW00IC1tb21pdC1sZWFmLWZyYW1lLXBvaW50ZXIg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLXJlc291cmNlLWRpciAvdXNyL2Jp bi8uLi9saWIvY2xhbmcvMy4wIC1pc3lzdGVtIC91c3IvbG9jYWwvaW5jbHVkZSAtSSAvdXNyL2xv Y2FsL2luY2x1ZGUgLWZtb2R1bGUtY2FjaGUtcGF0aCAvdG1wL2NsYW5nLW1vZHVsZS1jYWNoZSAt TzIgLVduby1lcnJvciAtV25vLWVycm9yIC13IC1zdGQ9Z251KysweCAtZmRlcHJlY2F0ZWQtbWFj cm8gLWZlcnJvci1saW1pdCAxOSAtZm1lc3NhZ2UtbGVuZ3RoIDAgLXB0aHJlYWQgLWZuby1ydHRp IC1mZ251LXJ1bnRpbWUgLWZvYmpjLXJ1bnRpbWUtaGFzLWFyYyAtZm9iamMtcnVudGltZS1oYXMt d2VhayAtZm9iamMtZnJhZ2lsZS1hYmkgLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtbyAvdG1w L2NvbmZ0ZXN0LUNaUjViaC5vIC14IGMrKyBjb25mdGVzdC5DIAoxLgk8ZW9mPiBwYXJzZXIgYXQg ZW5kIG9mIGZpbGUKMi4JY29uZmlndXJlOjEzMjI4OjU6IExMVk0gSVIgZ2VuZXJhdGlvbiBvZiBk ZWNsYXJhdGlvbiAnbWFpbicKMy4JY29uZmlndXJlOjEzMjI4OjU6IEdlbmVyYXRpbmcgY29kZSBm b3IgZGVjbGFyYXRpb24gJ21haW4nCjQuCWNvbmZpZ3VyZToxMzIyODoxMjogTExWTSBJUiBnZW5l cmF0aW9uIG9mIGNvbXBvdW5kIHN0YXRlbWVudCAoJ3t9JykKY2xhbmcrKzogZXJyb3I6IHVuYWJs ZSB0byBleGVjdXRlIGNvbW1hbmQ6IElsbGVnYWwgaW5zdHJ1Y3Rpb246IDQgKGNvcmUgZHVtcGVk KQpjbGFuZysrOiBlcnJvcjogY2xhbmcgZnJvbnRlbmQgY29tbWFuZCBmYWlsZWQgZHVlIHRvIHNp Z25hbCAyICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNsYW5nKys6IG5vdGU6IGRpYWdub3N0 aWMgbXNnOiBQbGVhc2Ugc3VibWl0IGEgYnVnIHJlcG9ydCB0byBodHRwOi8vbGx2bS5vcmcvYnVn cy8gYW5kIGluY2x1ZGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBhbmQgYWxsIGRpYWdub3N0aWMg aW5mb3JtYXRpb24uCmNsYW5nKys6IG5vdGU6IGRpYWdub3N0aWMgbXNnOiBQcmVwcm9jZXNzZWQg c291cmNlKHMpIGFyZSBsb2NhdGVkIGF0OgpjbGFuZysrOiBub3RlOiBkaWFnbm9zdGljIG1zZzog L3RtcC9jb25mdGVzdC02MjZqQlguaWkKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNs aW5lIDEzMjI2ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8d2No YXIuaD4KaW50IG1haW4oKSB7Cm1ic3RhdGVfdCBwcz17MH07bWJydG93YygwLDAsMCwmcHMpOwo7 IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMzI2NTogY2hlY2tpbmcgZm9yIHJlc19uaW5pdCgpCmNv bmZpZ3VyZToxMzI4MjogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVu dXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXos b3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5j ICAxPiY1CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MTMyNzU6Ci91c3IvaW5jbHVk ZS9yZXNvbHYuaDoxNTc6MTQ6IGVycm9yOiBhcnJheSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5 cGUgJ3N0cnVjdCBzb2NrYWRkcl9pbicKICAgICAgICAgICAgICAgIG5zYWRkcl9saXN0W01BWE5T XTsgICAgIC8qJTwgYWRkcmVzcyBvZiBuYW1lIHNlcnZlciAqLwogICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi91c3IvaW5jbHVkZS9yZXNvbHYuaDoxNTY6OTogbm90ZTogZm9yd2FyZCBkZWNs YXJhdGlvbiBvZiAnc3RydWN0IHNvY2thZGRyX2luJwogICAgICAgIHN0cnVjdCBzb2NrYWRkcl9p bgogICAgICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9yZXNvbHYuaDoxNzE6MTg6IGVycm9yOiBm aWVsZCBoYXMgaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaW5fYWRkcicKICAgICAgICAgICAgICAg IHN0cnVjdCBpbl9hZGRyICBhZGRyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L3Vzci9pbmNsdWRlL3Jlc29sdi5oOjE3MToxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBv ZiAnc3RydWN0IGluX2FkZHInCiAgICAgICAgICAgICAgICBzdHJ1Y3QgaW5fYWRkciAgYWRkcjsK ICAgICAgICAgICAgICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9yZXNvbHYuaDoxOTU6MjE6IGVy cm9yOiBmaWVsZCBoYXMgaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3Qgc29ja2FkZHJfaW4nCiAgICAg ICAgc3RydWN0IHNvY2thZGRyX2luICAgICAgc2luOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL3Vzci9pbmNsdWRlL3Jlc29sdi5oOjE1Njo5OiBub3RlOiBmb3J3YXJkIGRlY2xh cmF0aW9uIG9mICdzdHJ1Y3Qgc29ja2FkZHJfaW4nCiAgICAgICAgc3RydWN0IHNvY2thZGRyX2lu CiAgICAgICAgICAgICAgIF4KMyBlcnJvcnMgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKI2xpbmUgMTMyNzAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi CgogICAgICAgICNpZmRlZiBsaW51eAogICAgICAgICNkZWZpbmUgX0JTRF9TT1VSQ0UgMQogICAg ICAgICNlbmRpZgogICAgICAgICNpbmNsdWRlIDxyZXNvbHYuaD4KICAgICAgICAKaW50IG1haW4o KSB7CmludCBmb28gPSByZXNfbmluaXQoJl9yZXMpOwo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTox MzMxNTogY2hlY2tpbmcgZm9yIGdudV9nZXRfbGliY192ZXJzaW9uKCkKY29uZmlndXJlOjEzMzMx OiBjbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBl bnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10 dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5v LWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRz IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFk ICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJw YXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuQyAgMT4mNQpjb25maWd1 cmU6MTMzMjc6Mjk6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdnbnVfZ2V0 X2xpYmNfdmVyc2lvbicKY29uc3QgY2hhciAqZ2xpYmNfdmVyc2lvbiA9IGdudV9nZXRfbGliY192 ZXJzaW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVk Lgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTMzMjAgImNvbmZpZ3VyZSIK I2luY2x1ZGUgImNvbmZkZWZzLmgiCgogICAgICAgICNpZmRlZiBIQVZFX0dOVV9MSUJDX1ZFUlNJ T05fSAogICAgICAgICNpbmNsdWRlIDxnbnUvbGliYy12ZXJzaW9uLmg+CiAgICAgICAgI2VuZGlm CiAgICAgICAgCmludCBtYWluKCkgewpjb25zdCBjaGFyICpnbGliY192ZXJzaW9uID0gZ251X2dl dF9saWJjX3ZlcnNpb24oKTsKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTMzNjM6IGNoZWNraW5n IGZvciBpY29udiBpbiAtbGMKY29uZmlndXJlOjEzMzg1OiBjbGFuZysrIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3Ig LXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4 IC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1ML3Vz ci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9l eGVjc3RhY2sgY29uZnRlc3QuQyAtbGMgICAxPiY1Ci90bXAvY29uZnRlc3Qtd0pjMWkzLm86IElu IGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3QuQzooLnRleHQubWFpbisweDcpOiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBpY29udicKY2xhbmcrKzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxl ZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMzM3MSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29u ZmRlZnMuaCIKLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk IGFuIGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlmCi8qIFdl IHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdj YzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls bCBhcHBseS4gICovCmNoYXIgaWNvbnYoKTsKCmludCBtYWluKCkgewppY29udigpCjsgcmV0dXJu IDA7IH0KY29uZmlndXJlOjEzNDA0OiBjaGVja2luZyBmb3IgaWNvbnYgaW4gLWxpY29udgpjb25m aWd1cmU6MTM0MjY6IGNsYW5nKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby10cmVlLXZycCAtUXVudXNl ZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVdu by1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3Jp Z2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5DIC1s aWNvbnYgICAxPiY1CmNvbmZpZ3VyZToxMzQ5NDogY2hlY2tpbmcgZm9yIGljb252KCkKY29uZmln dXJlOjEzNTEzOiBjbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tdHJlZS12cnAgLVF1bnVzZWQt YXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8t ZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdp biAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuQyAgIC1s aWNvbnYgMT4mNQpjb25maWd1cmU6MTM1NDA6IGNoZWNraW5nIGZvciBpY29udigpIHdpdGggY29u c3QgaW5wdXQKY29uZmlndXJlOjEzNTYwOiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0 YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tdHJlZS12cnAgLVF1 bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTM1OTI6IGNoZWNraW5nIGZvciBubF9s YW5naW5mbyBhbmQgQ09ERVNFVApjb25maWd1cmU6MTM2MDQ6IGNsYW5nKysgLW8gY29uZnRlc3Qg LU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxp YXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsr MHggLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwv dXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixu b2V4ZWNzdGFjayBjb25mdGVzdC5DICAxPiY1CmNvbmZpZ3VyZToxMzYzOTogY2hlY2tpbmcgZm9y IGFuIGltcGxlbWVudGF0aW9uIG9mIHZhX2NvcHkoKQpjb25maWd1cmU6MTM2NjM6IGNsYW5nIC1v IGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMg LWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3Iv bG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9S SUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTM2ODA6 IGNoZWNraW5nIGZvciBhbiBpbXBsZW1lbnRhdGlvbiBvZiBfX3ZhX2NvcHkoKQpjb25maWd1cmU6 MTM3MDQ6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJn dW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJy b3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1w dGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQov dG1wL2NvbmZ0ZXN0LVREd2NrSi5vOiBJbiBmdW5jdGlvbiBgZic6CmNvbmZ0ZXN0LmM6KC50ZXh0 LmYrMHgxNyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fdmFfY29weScKY2xhbmc6IGVycm9y OiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBp bnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTM2OTAgImNv bmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgogICAgICAgICNpbmNsdWRlIDxzdGRhcmcu aD4KICAgICAgICB2b2lkIGYgKGludCBpLCAuLi4pIHsKICAgICAgICAgICAgdmFfbGlzdCBhcmdz MSwgYXJnczI7CiAgICAgICAgICAgIHZhX3N0YXJ0IChhcmdzMSwgaSk7CiAgICAgICAgICAgIF9f dmFfY29weSAoYXJnczIsIGFyZ3MxKTsKICAgICAgICAgICAgaWYgKHZhX2FyZyAoYXJnczIsIGlu dCkgIT0gNDIgfHwgdmFfYXJnIChhcmdzMSwgaW50KSAhPSA0MikKICAgICAgICAgICAgICAgIGV4 aXQgKDEpOwogICAgICAgICAgICB2YV9lbmQgKGFyZ3MxKTsgdmFfZW5kIChhcmdzMik7CiAgICAg ICAgfQogICAgICAgIGludCBtYWluKCkgeyBmICgwLCA0Mik7IHJldHVybiAwOyB9CmNvbmZpZ3Vy ZToxMzcyMTogY2hlY2tpbmcgd2hldGhlciB2YV9saXN0cyBjYW4gYmUgY29waWVkIGJ5IHZhbHVl CmNvbmZpZ3VyZToxMzc0NTogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAt UXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1 bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2ws LXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVz dC5jICAxPiY1CmNvbmZpZ3VyZToxMzg1ODogY2hlY2tpbmcgZm9yIG1vZGVybiBDKysgdGVtcGxh dGUgc3BlY2lhbGl6YXRpb24gc3ludGF4IHN1cHBvcnQKY29uZmlndXJlOjEzODczOiBjbGFuZysr IC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8t ZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAt ZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1n bnUrKzB4IC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9 cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6 MTM4OTE6IGNoZWNraW5nIHdoZXRoZXIgcGFydGlhbCB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiB3 b3Jrcwpjb25maWd1cmU6MTM5MDQ6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby10cmVlLXZycCAtUXVudXNl ZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVdu by1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMzkyODogY2hlY2tpbmcgd2hldGhlciB0aGUg QysrICJ1c2luZyIga2V5d29yZCByZXNvbHZlcyBhbWJpZ3VpdHkKY29uZmlndXJlOjEzOTQ5OiBj bGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8t cnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMg LXN0ZD1nbnUrKzB4IC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAt bWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25m aWd1cmU6MTM5NzM6IGNoZWNraW5nIGZvciBDKysgZHluYW1pY19jYXN0IHRvIHZvaWQqCmNvbmZp Z3VyZToxNDAwMDogY2xhbmcrKyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00 IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXRyZWUtdnJwIC1RdW51c2Vk LWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25v LWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmln aW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgIDE+ JjUKY29uZmlndXJlOjE0MDI3OiBjaGVja2luZyB3aGV0aGVyIEMrKyByZXF1aXJlcyBpbXBsZW1l bnRhdGlvbiBvZiB1bnVzZWQgdmlydHVhbCBtZXRob2RzCmNvbmZpZ3VyZToxNDAzOTogY2xhbmcr KyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt Zm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50 aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAt Zm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRp b25zIC1zdGQ9Z251KysweCAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNy L2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgIDE+JjUKY29uZmlndXJlOjE0MDY1 OiBjaGVja2luZyBmb3IgdHJvdWJsZSBjb21wYXJpbmcgdG8gemVybyBuZWFyIHN0ZDo6b3BlcmF0 b3IhPSgpCmNvbmZpZ3VyZToxNDA4MTogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNo PXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEt c2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXRyZWUtdnJwIC1RdW51 c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt V25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjE0MTExOiBjaGVja2luZyBmb3IgX190aHJl YWQga2V5d29yZCBmb3IgVExTIHZhcmlhYmxlcwpjb25maWd1cmU6MTQyMTA6IGNoZWNraW5nIGZv ciBtYWxsb2MuaApjb25maWd1cmU6MTQyMTA6IGNoZWNraW5nIGZvciBtYWxsb2NfbnAuaApjb25m aWd1cmU6MTQyMjM6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVu dHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAt dyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuQyAxPiY1CmNvbmZpZ3VyZToxNDI1OTogY2hlY2tpbmcgZm9yIHN0cm5kdXAKY29uZmlndXJl OjE0MjkwOiBjbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10 dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJn dW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJy b3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1w dGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuQyAgMT4mNQpj b25maWd1cmU6MTQyNTk6IGNoZWNraW5nIGZvciBwb3NpeF9tZW1hbGlnbgpjb25maWd1cmU6MTQy OTA6IGNsYW5nKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVu dHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAt dyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJl YWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwt cnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5DICAxPiY1CmNvbmZp Z3VyZToxNDI1OTogY2hlY2tpbmcgZm9yIG1lbWFsaWduCmNvbmZpZ3VyZToxNDI5MDogY2xhbmcr KyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt Zm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50 aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAt Zm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRp b25zIC1zdGQ9Z251KysweCAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNy L2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgIDE+JjUKL3RtcC9jb25mdGVzdC11 RFJpZXQubzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25mdGVzdC5DOigudGV4dC5tYWluKzB4Nyk6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG1lbWFsaWduJwpjbGFuZysrOiBlcnJvcjogbGlua2Vy IGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlv bikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDE0MjY0ICJjb25maWd1cmUi CiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxp Y3Qgd2l0aCBjaGFyIG1lbWFsaWduKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgov KiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu ICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIg YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVp bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg Ki8KY2hhciBtZW1hbGlnbigpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBk ZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdh eXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAog ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBh bGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfbWVtYWxpZ24pIHx8IGRlZmluZWQgKF9fc3R1 Yl9fX21lbWFsaWduKQpjaG9rZSBtZQojZWxzZQptZW1hbGlnbigpOwojZW5kaWYKCjsgcmV0dXJu IDA7IH0KY29uZmlndXJlOjE0MjU5OiBjaGVja2luZyBmb3IgdmFsbG9jCmNvbmZpZ3VyZToxNDI5 MDogY2xhbmcrKyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1w ZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1h bGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50 cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13 IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVh ZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1y cGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgIDE+JjUKY29uZmln dXJlOjE0MzIxOiBjaGVja2luZyBmb3IgbWFsbG9jX3VzYWJsZV9zaXplCmNvbmZpZ3VyZToxNDM1 MjogY2xhbmcrKyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1w ZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1h bGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50 cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13 IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVh ZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1y cGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgIDE+JjUKY29uZmln dXJlOjE0MzgyOiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpCmNv bmZpZ3VyZToxNDM5NDogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVu ZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00 IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMg LWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3Vt ZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9y IC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25m dGVzdC5DIDE+JjUKY29uZmlndXJlOjE0NDA5OiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygo bWFsbG9jKSkKY29uZmlndXJlOjE0NDIxOiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0 YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tdHJlZS12cnAgLVF1 bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTQ0MzY6IGNoZWNraW5nIGZvciBfX2F0 dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKQpjb25maWd1cmU6MTQ0NDg6IGNsYW5nKysg LWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1m ZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdu dSsrMHggLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZTox NDQ3MjogY2hlY2tpbmcgZm9yIExDX01FU1NBR0VTCmNvbmZpZ3VyZToxNDQ4NDogY2xhbmcgLWMg LU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTox NDUxMDogY2hlY2tpbmcgZm9yIGxvY2FsZWNvbnYKY29uZmlndXJlOjE0NTM4OiBjbGFuZyAtbyBj b25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xv Y2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklH SU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjE0NzI3OiBj aGVja2luZyBmb3IgbnNwci1jb25maWcKY29uZmlndXJlOjE0NzYyOiBjaGVja2luZyBmb3IgTlNQ UiAtIHZlcnNpb24gPj0gNC45LjQKY29uZmlndXJlOjE0ODMwOiBjbGFuZyAtYyAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5v LXRyZWUtdnJwIC1JL3Vzci9sb2NhbC9pbmNsdWRlL25zcHIgLVF1bnVzZWQtYXJndW1lbnRzIC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMg MT4mNQpjb25maWd1cmU6MTQ4NTA6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLUkvdXNy L2xvY2FsL2luY2x1ZGUvbnNwciAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTox NDg5OTogY2hlY2tpbmcgZm9yIHBrZy1jb25maWcKY29uZmlndXJlOjE0OTQzOiBjaGVja2luZyBm b3IgbGliZXZlbnQKY29uZmlndXJlOjE0OTUwOiBjaGVja2luZyBNT1pfTElCRVZFTlRfQ0ZMQUdT CmNvbmZpZ3VyZToxNDk1NTogY2hlY2tpbmcgTU9aX0xJQkVWRU5UX0xJQlMKY29uZmlndXJlOjE1 MTMwOiBjaGVja2luZyBmb3IgbnNzLWNvbmZpZwpjb25maWd1cmU6MTUxNjU6IGNoZWNraW5nIGZv ciBOU1MgLSB2ZXJzaW9uID49IDMuMTQuMQpjb25maWd1cmU6MTUyMzg6IGNoZWNraW5nIGZvciBZ QVNNIGFzc2VtYmxlcgpjb25maWd1cmU6MTUyNDQ6IGNoZWNraW5nIGZvciB5YXNtCmNvbmZpZ3Vy ZToxNTMwMjogY2hlY2tpbmcgZm9yIGpwZWdfZGVzdHJveV9jb21wcmVzcyBpbiAtbGpwZWcKY29u ZmlndXJlOjE1MzIxOiBjbGFuZyAtbyBjb25mdGVzdCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkICAtTC91 c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwk JE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAtbGpwZWcgICAxPiY1CmNvbmZp Z3VyZToxNTM1NzogY2xhbmcgLWMgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLU8yIC1waXBlIC1tYXJj aD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVl LXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxNTQwNDogY2hlY2tpbmcg Zm9yIGd6cmVhZCBpbiAtbHoKY29uZmlndXJlOjE1NDIzOiBjbGFuZyAtbyBjb25mdGVzdCAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtZm5vLXRyZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91 c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5v ZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWx6ICAgMT4mNQpjb25maWd1cmU6MTU0NTg6IGNsYW5nIC1j IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9 cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6 MTU1MDk6IGNoZWNraW5nIGZvciBCWjJfYnpyZWFkIGluIC1sYnoyCmNvbmZpZ3VyZToxNTUyODog Y2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1 bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMg LU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAt aXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQg IC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBh dGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jIC1sYnoyICAgMT4mNQpj b25maWd1cmU6MTU1Nzc6IGNoZWNraW5nIGZvciBwbmdfZ2V0X3ZhbGlkIGluIC1scG5nCmNvbmZp Z3VyZToxNTU5NjogY2xhbmcgLW8gY29uZnRlc3QgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLU8yIC1w aXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMg LWZuby10cmVlLXZycCAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiAtcHRocmVhZCAgLUwvdXNy L2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWxwbmcgICAxPiY1CmNvbmZpZ3Vy ZToxNTYxODogY2hlY2tpbmcgZm9yIHBuZ19nZXRfYWNUTCBpbiAtbHBuZwpjb25maWd1cmU6MTU2 Mzc6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJl ZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9s aWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1X bCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jIC1scG5nICAgMT4mNQpjb25maWd1cmU6MTU2ODU6 IGNsYW5nIC1jIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVz ZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1X bm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNs dWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTU3NzE6IGNoZWNraW5nIGZvciBodW5zcGVs bApjb25maWd1cmU6MTU3Nzg6IGNoZWNraW5nIE1PWl9IVU5TUEVMTF9DRkxBR1MKY29uZmlndXJl OjE1NzgzOiBjaGVja2luZyBNT1pfSFVOU1BFTExfTElCUwpjb25maWd1cmU6MTU5NzU6IGNoZWNr aW5nIGZvciBsaWJmZmkgPj0gMy4wLjkKY29uZmlndXJlOjE1OTgyOiBjaGVja2luZyBNT1pfRkZJ X0NGTEFHUwpjb25maWd1cmU6MTU5ODc6IGNoZWNraW5nIE1PWl9GRklfTElCUwpjb25maWd1cmU6 MTYxNzU6IGNoZWNraW5nIGZvciBhcHBsaWNhdGlvbiB0byBidWlsZApjb25maWd1cmU6MTYyMTg6 IGNoZWNraW5nIGlmIGFwcC1zcGVjaWZpYyBjb25mdmFycy5zaCBleGlzdHMKY29uZmlndXJlOjE2 Njc2OiBjaGVja2luZyBmb3IgZ3RrKy0yLjAgPj0gMi4xMC4wIGd0aystdW5peC1wcmludC0yLjAg Z2xpYi0yLjAgZ29iamVjdC0yLjAgZ2RrLXgxMS0yLjAKY29uZmlndXJlOjE2NjgzOiBjaGVja2lu ZyBNT1pfR1RLMl9DRkxBR1MKY29uZmlndXJlOjE2Njg4OiBjaGVja2luZyBNT1pfR1RLMl9MSUJT CmNvbmZpZ3VyZToxNjgxNDogY2hlY2tpbmcgZm9yIGxpYnN0YXJ0dXAtbm90aWZpY2F0aW9uLTEu MCA+PSAwLjgKY29uZmlndXJlOjE2ODIxOiBjaGVja2luZyBNT1pfU1RBUlRVUF9OT1RJRklDQVRJ T05fQ0ZMQUdTCmNvbmZpZ3VyZToxNjgyNjogY2hlY2tpbmcgTU9aX1NUQVJUVVBfTk9USUZJQ0FU SU9OX0xJQlMKY29uZmlndXJlOjE3NzEzOiBjaGVja2luZyBmb3IgcGFuZ28gPj0gMS4xNC4wCmNv bmZpZ3VyZToxNzcyMDogY2hlY2tpbmcgX1BBTkdPQ0hLX0NGTEFHUwpjb25maWd1cmU6MTc3MjU6 IGNoZWNraW5nIF9QQU5HT0NIS19MSUJTCmNvbmZpZ3VyZToxNzgwNTogY2hlY2tpbmcgZm9yIHBh bmdvID49IDEuMTQuMCBwYW5nb2Z0MiA+PSAxLjE0LjAgcGFuZ29jYWlybyA+PSAxLjE0LjAKY29u ZmlndXJlOjE3ODEyOiBjaGVja2luZyBNT1pfUEFOR09fQ0ZMQUdTCmNvbmZpZ3VyZToxNzgxNzog Y2hlY2tpbmcgTU9aX1BBTkdPX0xJQlMKY29uZmlndXJlOjE4MzczOiBjaGVja2luZyBmb3IgZ2Nv bmYtMi4wID49IDEuMi4xIGdvYmplY3QtMi4wIApjb25maWd1cmU6MTgzODA6IGNoZWNraW5nIE1P Wl9HQ09ORl9DRkxBR1MKY29uZmlndXJlOjE4Mzg1OiBjaGVja2luZyBNT1pfR0NPTkZfTElCUwpj b25maWd1cmU6MTg3NzQ6IGNoZWNraW5nIGZvciBkYnVzLTEgPj0gMC42MApjb25maWd1cmU6MTg3 ODE6IGNoZWNraW5nIE1PWl9EQlVTX0NGTEFHUwpjb25maWd1cmU6MTg3ODY6IGNoZWNraW5nIE1P Wl9EQlVTX0xJQlMKY29uZmlndXJlOjE4ODY1OiBjaGVja2luZyBmb3IgZGJ1cy1nbGliLTEgPj0g MC42MApjb25maWd1cmU6MTg4NzI6IGNoZWNraW5nIE1PWl9EQlVTX0dMSUJfQ0ZMQUdTCmNvbmZp Z3VyZToxODg3NzogY2hlY2tpbmcgTU9aX0RCVVNfR0xJQl9MSUJTCmNvbmZpZ3VyZToxOTM4Mzog Y2hlY2tpbmcgX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKCkpKSBzdXBwb3J0CmNvbmZpZ3VyZTox OTQwMDogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtV2Vycm9yIC1RdW51c2VkLWFyZ3Vt ZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9y IC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25m dGVzdC5jIDE+JjUKY29uZmlndXJlOjE5NjY3OiBjaGVja2luZyBmb3IgdnB4ID49IDEuMC4wCmNv bmZpZ3VyZToxOTY3NDogY2hlY2tpbmcgTU9aX0xJQlZQWF9DRkxBR1MKY29uZmlndXJlOjE5Njc5 OiBjaGVja2luZyBNT1pfTElCVlBYX0xJQlMKY29uZmlndXJlOjE5NzExOiBjaGVja2luZyBmb3Ig dnB4L3ZweF9kZWNvZGVyLmgKY29uZmlndXJlOjE5NzI0OiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1h cmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRy ZWUtdnJwIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVu ZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjE5NzQ3OiBjaGVja2lu ZyBmb3IgdnB4X2NvZGVjX2RlY19pbml0X3ZlciBpbiAtbHZweApjb25maWd1cmU6MTk3NjY6IGNs YW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAt TC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRo LFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAtbHZweCAgIDE+JjUKY29u ZmlndXJlOjIwMzYwOiBjaGVja2luZyBmb3IgZ3N0cmVhbWVyLTAuMTAgPj0gMC4xMC4zMwogICAg ICAgICAgICAgICAgICAgICAgZ3N0cmVhbWVyLWFwcC0wLjEwCiAgICAgICAgICAgICAgICAgICAg ICBnc3RyZWFtZXItcGx1Z2lucy1iYXNlLTAuMTAKY29uZmlndXJlOjIwMzcxOiBjaGVja2luZyBH U1RSRUFNRVJfQ0ZMQUdTCmNvbmZpZ3VyZToyMDM3ODogY2hlY2tpbmcgR1NUUkVBTUVSX0xJQlMK Y29uZmlndXJlOjIwNDI0OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlh c2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLXRyZWUtdnJwIC1R dW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVt NCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwv aW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwt eixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIC1sZ3N0YXBw LTAuMTAgLWxnc3RiYXNlLTAuMTAgLWxnc3RyZWFtZXItMC4xMCAtbGdvYmplY3QtMi4wIC1sZ21v ZHVsZS0yLjAgLWxndGhyZWFkLTIuMCAtcHRocmVhZCAtbGdsaWItMi4wIC1ML3Vzci9sb2NhbC9s aWIgLWx4bWwyICAgLWxnc3R2aWRlby0wLjEwIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjIw NTQ0OiBjaGVja2luZyBmb3IgamF2YQpjb25maWd1cmU6MjA1OTM6IGNoZWNraW5nIGZvciBqYXZh Ywpjb25maWd1cmU6MjA2NDI6IGNoZWNraW5nIGZvciBqYXIKY29uZmlndXJlOjIxNDA1OiBjaGVj a2luZyBmb3IgdGFyIGFyY2hpdmVyCmNvbmZpZ3VyZToyMTQxMTogY2hlY2tpbmcgZm9yIGdudXRh cgpjb25maWd1cmU6MjE0MTE6IGNoZWNraW5nIGZvciBndGFyCmNvbmZpZ3VyZToyMTQ0ODogY2hl Y2tpbmcgZm9yIHdnZXQKY29uZmlndXJlOjIxNDU0OiBjaGVja2luZyBmb3Igd2dldApjb25maWd1 cmU6MjE3NjI6IGNoZWNraW5nIGZvciBzcWxpdGUzID49IDMuNy4xNC4xCmNvbmZpZ3VyZToyMTc2 OTogY2hlY2tpbmcgU1FMSVRFX0NGTEFHUwpjb25maWd1cmU6MjE3NzQ6IGNoZWNraW5nIFNRTElU RV9MSUJTCmNvbmZpZ3VyZToyMTgwNTogY2hlY2tpbmcgZm9yIFNRTElURV9TRUNVUkVfREVMRVRF IHN1cHBvcnQgaW4gc3lzdGVtIFNRTGl0ZQpjb25maWd1cmU6MjE4Mjg6IGNsYW5nIC1vIGNvbmZ0 ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRh LXNlY3Rpb25zIC1mbm8tdHJlZS12cnAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgICAtUXVudXNlZC1h cmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2lu IC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAtTC91 c3IvbG9jYWwvbGliIC1sc3FsaXRlMyAgIDE+JjUKY29uZmlndXJlOjIxODUxOiBjaGVja2luZyBm b3IgU1FMSVRFX1RIUkVBRFNBRkUgc3VwcG9ydCBpbiBzeXN0ZW0gU1FMaXRlCmNvbmZpZ3VyZToy MTg3NDogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtSS91c3IvbG9jYWwv aW5jbHVkZSAgIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9j YWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0 YWNrIGNvbmZ0ZXN0LmMgIC1ML3Vzci9sb2NhbC9saWIgLWxzcWxpdGUzICAgMT4mNQpjb25maWd1 cmU6MjE4OTc6IGNoZWNraW5nIGZvciBTUUxJVEVfRU5BQkxFX0ZUUzMgc3VwcG9ydCBpbiBzeXN0 ZW0gU1FMaXRlCmNvbmZpZ3VyZToyMTkyMDogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10 cmVlLXZycCAtSS91c3IvbG9jYWwvaW5jbHVkZSAgIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNy L2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIC1ML3Vzci9sb2NhbC9saWIgLWxz cWxpdGUzICAgMT4mNQpjb25maWd1cmU6MjE5NDM6IGNoZWNraW5nIGZvciBTUUxJVEVfRU5BQkxF X1VOTE9DS19OT1RJRlkgc3VwcG9ydCBpbiBzeXN0ZW0gU1FMaXRlCmNvbmZpZ3VyZToyMTk2Njog Y2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1 bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby10cmVlLXZycCAtSS91c3IvbG9jYWwvaW5jbHVk ZSAgIC1RdW51c2VkLWFyZ3VtZW50cyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1w ZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGli IC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNv bmZ0ZXN0LmMgIC1ML3Vzci9sb2NhbC9saWIgLWxzcWxpdGUzICAgMT4mNQpjb25maWd1cmU6MjIx NDU6IGNoZWNraW5nIGZvciBjb25pYwpjb25maWd1cmU6MjMzNzU6IGNoZWNraW5nIGZvciB2YWxp ZCBvcHRpbWl6YXRpb24gZmxhZ3MKY29uZmlndXJlOjIzMzg2OiBjbGFuZyAtYyAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5v LXRyZWUtdnJwIC1PMiAtUXVudXNlZC1hcmd1bWVudHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToyMzg0NDog Y2hlY2tpbmcgc2l6ZSBvZiBpbnQgKgpjb25maWd1cmU6MjM4NjM6IGNsYW5nIC1vIGNvbmZ0ZXN0 IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1mbm8tdHJlZS12cnAgLVF1bnVzZWQtYXJndW1lbnRzIC1PMiAtcGlwZSAtbWFyY2g9 cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGli IC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2ws LXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQpTdGFjayBkdW1wOgowLglQcm9ncmFtIGFy Z3VtZW50czogL3Vzci9iaW4vY2xhbmcgLWNjMSAtdHJpcGxlIGkzODYtdW5rbm93bi1mcmVlYnNk OS4wIC1lbWl0LW9iaiAtZGlzYWJsZS1mcmVlIC1tYWluLWZpbGUtbmFtZSBjb25mdGVzdC5jIC1t cmVsb2NhdGlvbi1tb2RlbCBzdGF0aWMgLW1kaXNhYmxlLWZwLWVsaW0gLXJlbGF4ZWQtYWxpYXNp bmcgLW1hc20tdmVyYm9zZSAtbWNvbnN0cnVjdG9yLWFsaWFzZXMgLXRhcmdldC1jcHUgcGVudGl1 bTQgLW1vbWl0LWxlYWYtZnJhbWUtcG9pbnRlciAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1z ZWN0aW9ucyAtcmVzb3VyY2UtZGlyIC91c3IvYmluLy4uL2xpYi9jbGFuZy8zLjAgLWlzeXN0ZW0g L3Vzci9sb2NhbC9pbmNsdWRlIC1JIC91c3IvbG9jYWwvaW5jbHVkZSAtZm1vZHVsZS1jYWNoZS1w YXRoIC90bXAvY2xhbmctbW9kdWxlLWNhY2hlIC1PMiAtV25vLWVycm9yIC13IC1mZXJyb3ItbGlt aXQgMTkgLWZtZXNzYWdlLWxlbmd0aCAwIC1wdGhyZWFkIC1mZ251LXJ1bnRpbWUgLWZvYmpjLXJ1 bnRpbWUtaGFzLWFyYyAtZm9iamMtcnVudGltZS1oYXMtd2VhayAtZm9iamMtZnJhZ2lsZS1hYmkg LWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtbyAvdG1wL2NvbmZ0ZXN0LTc3cWFKaS5vIC14IGMg Y29uZnRlc3QuYyAKMS4JPGVvZj4gcGFyc2VyIGF0IGVuZCBvZiBmaWxlCjIuCWNvbmZpZ3VyZToy Mzg1NDoxOiBMTFZNIElSIGdlbmVyYXRpb24gb2YgZGVjbGFyYXRpb24gJ21haW4nCjMuCWNvbmZp Z3VyZToyMzg1NDoxOiBHZW5lcmF0aW5nIGNvZGUgZm9yIGRlY2xhcmF0aW9uICdtYWluJwo0Lglj b25maWd1cmU6MjM4NTU6MTogTExWTSBJUiBnZW5lcmF0aW9uIG9mIGNvbXBvdW5kIHN0YXRlbWVu dCAoJ3t9JykKY2xhbmc6IGVycm9yOiB1bmFibGUgdG8gZXhlY3V0ZSBjb21tYW5kOiBJbGxlZ2Fs IGluc3RydWN0aW9uOiA0IChjb3JlIGR1bXBlZCkKY2xhbmc6IGVycm9yOiBjbGFuZyBmcm9udGVu ZCBjb21tYW5kIGZhaWxlZCBkdWUgdG8gc2lnbmFsIDIgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlv bikKY2xhbmc6IG5vdGU6IGRpYWdub3N0aWMgbXNnOiBQbGVhc2Ugc3VibWl0IGEgYnVnIHJlcG9y dCB0byBodHRwOi8vbGx2bS5vcmcvYnVncy8gYW5kIGluY2x1ZGUgY29tbWFuZCBsaW5lIGFyZ3Vt ZW50cyBhbmQgYWxsIGRpYWdub3N0aWMgaW5mb3JtYXRpb24uCmNsYW5nOiBub3RlOiBkaWFnbm9z dGljIG1zZzogUHJlcHJvY2Vzc2VkIHNvdXJjZShzKSBhcmUgbG9jYXRlZCBhdDoKY2xhbmc6IG5v dGU6IGRpYWdub3N0aWMgbXNnOiAvdG1wL2NvbmZ0ZXN0LVBEaVR3Zy5pCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgojbGluZSAyMzg1MiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRl ZnMuaCIKI2luY2x1ZGUgPHN0ZGlvLmg+Cm1haW4oKQp7CiAgRklMRSAqZj1mb3BlbigiY29uZnRl c3R2YWwiLCAidyIpOwogIGlmICghZikgZXhpdCgxKTsKICBmcHJpbnRmKGYsICIlZFxuIiwgc2l6 ZW9mKGludCAqKSk7CiAgZXhpdCgwKTsKfQo= --20cf30334f4b063c6704d7bae9c9 Content-Type: application/octet-stream; name="config.log" Content-Disposition: attachment; filename="config.log" Content-Transfer-Encoding: base64 X-Attachment-Id: f_he5zyq0g1 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCmNvbmZpZ3VyZTo4NzI6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUKY29u ZmlndXJlOjg5MzogY2hlY2tpbmcgdGFyZ2V0IHN5c3RlbSB0eXBlCmNvbmZpZ3VyZTo5MTE6IGNo ZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZTo5OTE6IGNoZWNraW5nIGZvciBtYXdr CmNvbmZpZ3VyZTo5OTE6IGNoZWNraW5nIGZvciBnYXdrCmNvbmZpZ3VyZToxMDYyOiBjaGVja2lu ZyBmb3IgL3Vzci9sb2NhbC9iaW4vcHl0aG9uMi43CmNvbmZpZ3VyZToxMzEzOiBjaGVja2luZyBm b3IgL3Vzci9sb2NhbC9iaW4vcGVybApjb25maWd1cmU6MjI3ODogY2hlY2tpbmcgZm9yIGdjYwpj b25maWd1cmU6MjM5MTogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoY2xhbmcgLU8y IC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNp bmcgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwt cnBhdGgsXCQkT1JJR0lOKSB3b3Jrcwpjb25maWd1cmU6MjQwNzogY2xhbmcgLW8gY29uZnRlc3Qg LU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxp YXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3Iv bG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29uZnRlc3QuYyAg MT4mNQpjb25maWd1cmU6MjQzMzogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoY2xh bmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3Qt YWxpYXNpbmcgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2lu IC1XbCwtcnBhdGgsXCQkT1JJR0lOKSBpcyBhIGNyb3NzLWNvbXBpbGVyCmNvbmZpZ3VyZToyNDM4 OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQwpjb25maWd1cmU6MjQ0NzogY2xh bmcgLUUgY29uZnRlc3QuYwpjb25maWd1cmU6MjQ2NjogY2hlY2tpbmcgd2hldGhlciBjbGFuZyBh Y2NlcHRzIC1nCmNvbmZpZ3VyZToyNTA3OiBjaGVja2luZyBmb3IgYysrCmNvbmZpZ3VyZToyNTM5 OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgKGNsYW5nKysgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1w aXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAgLUwvdXNy L2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4pIHdvcmtzCmNvbmZpZ3VyZToyNTU1OiBjbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLU8y IC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGli IC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29uZnRlc3QuQyAgMT4mNQpjb25m aWd1cmU6MjU4MTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIChjbGFuZysrIC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3Ig LXcgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwt cnBhdGgsXCQkT1JJR0lOKSBpcyBhIGNyb3NzLWNvbXBpbGVyCmNvbmZpZ3VyZToyNTg2OiBjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQysrCmNvbmZpZ3VyZToyNTk1OiBjbGFuZysr IC1FIGNvbmZ0ZXN0LkMKY29uZmlndXJlOjI2MTQ6IGNoZWNraW5nIHdoZXRoZXIgY2xhbmcrKyBh Y2NlcHRzIC1nCmNvbmZpZ3VyZToyNjQ4OiBjaGVja2luZyBmb3IgcmFubGliCmNvbmZpZ3VyZToy NjgwOiBjaGVja2luZyBmb3IgYXMKY29uZmlndXJlOjI3MzQ6IGNoZWNraW5nIGZvciBhcgpjb25m aWd1cmU6Mjc2OTogY2hlY2tpbmcgZm9yIGxkCmNvbmZpZ3VyZToyODA0OiBjaGVja2luZyBmb3Ig c3RyaXAKY29uZmlndXJlOjI4Mzk6IGNoZWNraW5nIGZvciB3aW5kcmVzCmNvbmZpZ3VyZTozNjcw OiBjaGVja2luZyB3aGV0aGVyIGNsYW5nIGFuZCBjYyB1bmRlcnN0YW5kIC1jIGFuZCAtbyB0b2dl dGhlcgpjb25maWd1cmU6MzY4NTogY2xhbmcgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdC5vIDE+ JjUKY29uZnRlc3QuYzoxOjE6IHdhcm5pbmc6IHR5cGUgc3BlY2lmaWVyIG1pc3NpbmcsIGRlZmF1 bHRzIHRvICdpbnQnIFstV2ltcGxpY2l0LWludF0KZm9vKCl7fQpefn4KY29uZnRlc3QuYzoxOjc6 IHdhcm5pbmc6IGNvbnRyb2wgcmVhY2hlcyBlbmQgb2Ygbm9uLXZvaWQgZnVuY3Rpb24gWy1XcmV0 dXJuLXR5cGVdCmZvbygpe30KICAgICAgXgoyIHdhcm5pbmdzIGdlbmVyYXRlZC4KY29uZmlndXJl OjM2ODY6IGNsYW5nIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QubyAxPiY1CmNvbmZ0ZXN0LmM6 MToxOiB3YXJuaW5nOiB0eXBlIHNwZWNpZmllciBtaXNzaW5nLCBkZWZhdWx0cyB0byAnaW50JyBb LVdpbXBsaWNpdC1pbnRdCmZvbygpe30KXn5+CmNvbmZ0ZXN0LmM6MTo3OiB3YXJuaW5nOiBjb250 cm9sIHJlYWNoZXMgZW5kIG9mIG5vbi12b2lkIGZ1bmN0aW9uIFstV3JldHVybi10eXBlXQpmb28o KXt9CiAgICAgIF4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTozNjkxOiBjYyAtYyBj b25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjM2OTM6IGNjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRl c3QubyAxPiY1CmNvbmZpZ3VyZTozNjk0OiBjYyAtYyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0Lm8g MT4mNQpjb25maWd1cmU6MzczMzogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNz b3IKY29uZmlndXJlOjM4MTM6IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMrKyBwcmVwcm9jZXNz b3IKY29uZmlndXJlOjM4MzE6IGNsYW5nKysgLUUgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBj b25mdGVzdC5DID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjM5MDI6IGNoZWNr aW5nIGZvciBhIEJTRCBjb21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjM5NTU6IGNoZWNraW5n IHdoZXRoZXIgbG4gLXMgd29ya3MKY29uZmlndXJlOjM5Nzg6IGNoZWNraW5nIGZvciBtaW5pbXVt IHJlcXVpcmVkIHBlcmwgdmVyc2lvbiA+PSA1LjAwNgpjb25maWd1cmU6Mzk4OTogY2hlY2tpbmcg Zm9yIGZ1bGwgcGVybCBpbnN0YWxsYXRpb24KY29uZmlndXJlOjQwMjY6IGNoZWNraW5nIGZvciBk b3h5Z2VuCmNvbmZpZ3VyZTo0MDc1OiBjaGVja2luZyBmb3IgYXV0b2NvbmYKY29uZmlndXJlOjQx MjQ6IGNoZWNraW5nIGZvciB1bnppcApjb25maWd1cmU6NDE3NTogY2hlY2tpbmcgZm9yIHppcApj b25maWd1cmU6NDIyOTogY2hlY2tpbmcgZm9yIHhhcmdzCmNvbmZpZ3VyZTo0NTE0OiBjaGVja2lu ZyBmb3IgWApjb25maWd1cmU6NDgzMTogY2hlY2tpbmcgZm9yIGRuZXRfbnRvYSBpbiAtbGRuZXQK Y29uZmlndXJlOjQ4NTA6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9 cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2lu IC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgLWxkbmV0ICAgMT4mNQovdXNyL2Jpbi9s ZDogY2Fubm90IGZpbmQgLWxkbmV0CmNsYW5nOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVk IHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDQ4MzkgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZk ZWZzLmgiCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgZG5ldF9udG9hKCk7CgppbnQgbWFp bigpIHsKZG5ldF9udG9hKCkKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6NDg3MjogY2hlY2tpbmcg Zm9yIGRuZXRfbnRvYSBpbiAtbGRuZXRfc3R1Ygpjb25maWd1cmU6NDg5MTogY2xhbmcgLW8gY29u ZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVdu by1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAt TC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29uZnRl c3QuYyAtbGRuZXRfc3R1YiAgIDE+JjUKL3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sZG5ldF9z dHViCmNsYW5nOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEg KHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CiNsaW5lIDQ4ODAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIE92ZXJyaWRl IGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdl IHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdj YzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls bCBhcHBseS4gICovCmNoYXIgZG5ldF9udG9hKCk7CgppbnQgbWFpbigpIHsKZG5ldF9udG9hKCkK OyByZXR1cm4gMDsgfQpjb25maWd1cmU6NDkyMDogY2hlY2tpbmcgZm9yIGdldGhvc3RieW5hbWUK Y29uZmlndXJlOjQ5NDg6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9 cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2lu IC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjUwMTg6IGNo ZWNraW5nIGZvciBjb25uZWN0CmNvbmZpZ3VyZTo1MDQ2OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13 IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2Nh bC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jICAxPiY1 CmNvbmZpZ3VyZTo1MTEwOiBjaGVja2luZyBmb3IgcmVtb3ZlCmNvbmZpZ3VyZTo1MTM4OiBjbGFu ZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt Zm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50 aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9j YWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJ TiBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZTo1MjAyOiBjaGVja2luZyBmb3Igc2htYXQKY29u ZmlndXJlOjUyMzA6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1X bCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjUzMDM6IGNoZWNr aW5nIGZvciBJY2VDb25uZWN0aW9uTnVtYmVyIGluIC1sSUNFCmNvbmZpZ3VyZTo1MzIyOiBjbGFu ZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt Zm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50 aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9j YWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJ TiAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxJQ0UgICAxPiY1CmNvbmZpZ3VyZTo1NjIz OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1XZXJyb3I9cmV0dXJu LXR5cGUKY29uZmlndXJlOjU2NDY6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1XZXJyb3IgLVdlcnJvcj1yZXR1cm4tdHlwZSAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNv bmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NTY3NDogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciBzdXBwb3J0cyAtV3R5cGUtbGltaXRzCmNvbmZpZ3VyZTo1Njk3OiBjbGFuZyAtYyAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1XdHlwZS1saW1pdHMgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjU3MjU6IGNoZWNraW5nIHdo ZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVdlbXB0eS1ib2R5CmNvbmZpZ3VyZTo1NzQ4 OiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5v LXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1XZW1wdHktYm9k eSAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13 IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NTc4 MjogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV25vLW92ZXJsZW5n dGgtc3RyaW5ncwpjb25maWd1cmU6NTgwNTogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxp YXNpbmcgLVdlcnJvciAtV292ZXJsZW5ndGgtc3RyaW5ncyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NTg5MDogY2hlY2tpbmcgd2hldGhlciB0aGUg QysrIGNvbXBpbGVyIHN1cHBvcnRzIC1XZXJyb3I9cmV0dXJuLXR5cGUKY29uZmlndXJlOjU5MTM6 IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZu by1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1 bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdl cnJvciAtV2Vycm9yPXJldHVybi10eXBlIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuQyAxPiY1CmNvbmZpZ3VyZTo1OTQxOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGls ZXIgc3VwcG9ydHMgLVd0eXBlLWxpbWl0cwpjb25maWd1cmU6NTk2NDogY2xhbmcrKyAtYyAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13 IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1XdHlwZS1saW1p dHMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAt dyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjU5 OTI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV2VtcHR5LWJv ZHkKY29uZmlndXJlOjYwMTU6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1z dHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV2VtcHR5LWJvZHkgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjYwNDM6IGNoZWNraW5nIHdoZXRoZXIgdGhl IEMrKyBjb21waWxlciBzdXBwb3J0cyAtV2Vycm9yPWNvbnZlcnNpb24tbnVsbApjb25maWd1cmU6 NjA2NjogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVt NCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1w ZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtV2Vycm9yIC1XZXJyb3I9Y29udmVyc2lvbi1udWxsIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZTo2MTAyOiBjaGVja2luZyB3aGV0aGVyIHRoZSBD KysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1vdmVybGVuZ3RoLXN0cmluZ3MKY29uZmlndXJlOjYx MjU6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcg LVdlcnJvciAtV292ZXJsZW5ndGgtc3RyaW5ncyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNv bmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6NjE1MzogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNv bXBpbGVyIHN1cHBvcnRzIC1Xbm8taW52YWxpZC1vZmZzZXRvZgpjb25maWd1cmU6NjE3NjogY2xh bmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0 cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt V25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9y IC1XaW52YWxpZC1vZmZzZXRvZiAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50 aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMg MT4mNQpjb25maWd1cmU6NjIwNDogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1 cHBvcnRzIC1Xbm8tdmFyaWFkaWMtbWFjcm9zCmNvbmZpZ3VyZTo2MjI3OiBjbGFuZysrIC1jIC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3Ig LXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVd2YXJpYWRp Yy1tYWNyb3MgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmln dXJlOjYyNzk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyAtV25v LWV4dGVuZGVkLW9mZnNldG9mCmNvbmZpZ3VyZTo2MzAyOiBjbGFuZysrIC1jIC1PMiAtcGlwZSAt bWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1l eGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVdleHRlbmRlZC1vZmZzZXRv ZiAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13 IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6NjM0 MDogY2hlY2tpbmcgd2hldGhlciBsZCBoYXMgYXJjaGl2ZSBleHRyYWN0aW9uIGZsYWdzCmNvbmZp Z3VyZTo2MzY0OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAt TzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIC1XbCwtLXdob2xlLWFyY2hpdmUgY29uZnRlc3QuYyAt V2wsLS1uby13aG9sZS1hcmNoaXZlIDE+JjUKY29uZmlndXJlOjYzOTc6IGNoZWNraW5nIHRoYXQg c3RhdGljIGFzc2VydGlvbiBtYWNyb3MgdXNlZCBpbiBhdXRvY29uZiB0ZXN0cyB3b3JrCmNvbmZp Z3VyZTo2NDE4OiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50 aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NjQzNTogY2xhbmcgLWMg LU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25m dGVzdC5jIDE+JjUKY29uZmlndXJlOjY0MzU6MTogZXJyb3I6ICdzdGF0aWNfYXNzZXJ0X2xpbmVf NjQzNScgZGVjbGFyZWQgYXMgYW4gYXJyYXkgd2l0aCBhIG5lZ2F0aXZlIHNpemUKQ09ORklHVVJF X1NUQVRJQ19BU1NFUlQoMCkKXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjY0 MzA6NDQ6IG5vdGU6IGV4cGFuZGVkIGZyb206CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NF UlQoY29uZGl0aW9uKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19M SU5FX18pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZp Z3VyZTo2NDMxOjU1OiBub3RlOiBleHBhbmRlZCBmcm9tOgojZGVmaW5lIENPTkZJR1VSRV9TVEFU SUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9J TVBMMihjb25kaXRpb24sIGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjY0MzI6OTQ6IG5vdGU6IGV4cGFuZGVkIGZy b206CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5l KSB0eXBlZGVmIGludCBzdGF0aWNfYXNzZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6 IC0xXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNs aW5lIDY0MjggImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojZGVmaW5lIENPTkZJ R1VSRV9TVEFUSUNfQVNTRVJUKGNvbmRpdGlvbikgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1Q TChjb25kaXRpb24sIF9fTElORV9fKQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lN UEwoY29uZGl0aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRp b24sIGxpbmUpCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9u LCBsaW5lKSB0eXBlZGVmIGludCBzdGF0aWNfYXNzZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24p ID8gMSA6IC0xXQoKaW50IG1haW4oKSB7CkNPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKDApCjsgcmV0 dXJuIDA7IH0KY29uZmlndXJlOjY0NTg6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJj aD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMg LWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5D IDE+JjUKY29uZmlndXJlOjY0NzU6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZu by1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1 bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+ JjUKY29uZmlndXJlOjY0NzU6MTogZXJyb3I6ICdzdGF0aWNfYXNzZXJ0X2xpbmVfNjQ3NScgZGVj bGFyZWQgYXMgYW4gYXJyYXkgd2l0aCBhIG5lZ2F0aXZlIHNpemUKQ09ORklHVVJFX1NUQVRJQ19B U1NFUlQoMCkKXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjY0NzA6NDQ6IG5v dGU6IGV4cGFuZGVkIGZyb206CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0 aW9uKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTo2NDcx OjU1OiBub3RlOiBleHBhbmRlZCBmcm9tOgojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJU X0lNUEwoY29uZGl0aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25k aXRpb24sIGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KY29uZmlndXJlOjY0NzI6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb206CiNkZWZp bmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0eXBlZGVm IGludCBzdGF0aWNfYXNzZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0xXQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgoxIGVy cm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDY0Njgg ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojZGVmaW5lIENPTkZJR1VSRV9TVEFU SUNfQVNTRVJUKGNvbmRpdGlvbikgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRp b24sIF9fTElORV9fKQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0 aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUp CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0 eXBlZGVmIGludCBzdGF0aWNfYXNzZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0x XQoKaW50IG1haW4oKSB7CkNPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKDApCjsgcmV0dXJuIDA7IH0K Y29uZmlndXJlOjY1MDk6IGNoZWNraW5nIGZvciA2NC1iaXQgT1MKY29uZmlndXJlOjY1MTg6IGNs YW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo2NTE4OjE6IGVycm9yOiAnc3RhdGljX2Fzc2Vy dF9saW5lXzY1MTgnIGRlY2xhcmVkIGFzIGFuIGFycmF5IHdpdGggYSBuZWdhdGl2ZSBzaXplCkNP TkZJR1VSRV9TVEFUSUNfQVNTRVJUKHNpemVvZih2b2lkKikgPT0gOCkKXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjb25maWd1cmU6NjUxMzo0NDogbm90ZTogZXhw YW5kZWQgZnJvbToKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVChjb25kaXRpb24pIENP TkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBfX0xJTkVfXykKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjY1MTQ6NTU6IG5v dGU6IGV4cGFuZGVkIGZyb206CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChj b25kaXRpb24sIGxpbmUpIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwg bGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgpjb25maWd1cmU6NjUxNTo5NDogbm90ZTogZXhwYW5kZWQgZnJvbToKI2RlZmluZSBDT05G SUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpIHR5cGVkZWYgaW50IHN0 YXRpY19hc3NlcnRfbGluZV8jI2xpbmVbKGNvbmRpdGlvbikgPyAxIDogLTFdCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CjEgZXJyb3IgZ2Vu ZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjUxMSAiY29uZmln dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NF UlQoY29uZGl0aW9uKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19M SU5FX18pCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIGxp bmUpIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkKI2RlZmlu ZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpIHR5cGVkZWYg aW50IHN0YXRpY19hc3NlcnRfbGluZV8jI2xpbmVbKGNvbmRpdGlvbikgPyAxIDogLTFdCgppbnQg bWFpbigpIHsKQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoc2l6ZW9mKHZvaWQqKSA9PSA4KQo7IHJl dHVybiAwOyB9CmNvbmZpZ3VyZTo2NjM5OiBjaGVja2luZyBmb3IgY3VzdG9tIDxzdGRpbnQuaD4g aW1wbGVtZW50YXRpb24KY29uZmlndXJlOjc4NDc6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGxpbmtl ciBzdXBwb3J0cyBJZGVudGljYWwgQ29kZSBGb2xkaW5nCmNvbmZpZ3VyZTo3ODU2OiBjbGFuZyAt byBjb25mdGVzdCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmln aW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC0taWNmPXNhZmUgLWZmdW5jdGlvbi1zZWN0aW9u cyBjb25mdGVzdC5jICAxPiYyCi91c3IvYmluL2xkOiB1bnJlY29nbml6ZWQgb3B0aW9uICctLWlj Zj1zYWZlJwovdXNyL2Jpbi9sZDogdXNlIHRoZSAtLWhlbHAgb3B0aW9uIGZvciB1c2FnZSBpbmZv cm1hdGlvbgpjbGFuZzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29k ZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTo3OTI3OiBjaGVja2luZyBm b3IgQU5TSSBDIGhlYWRlciBmaWxlcwpjb25maWd1cmU6Nzk0MDogY2xhbmctY3BwIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNv bmZpZ3VyZTo4MDA3OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00 IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZTo4MDM0OiBjaGVj a2luZyBmb3Igd29ya2luZyBjb25zdApjb25maWd1cmU6ODA4ODogY2xhbmcgLWMgLU8yIC1waXBl IC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8y IC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjgxMTI6IGNo ZWNraW5nIGZvciBtb2RlX3QKY29uZmlndXJlOjgxNDg6IGNoZWNraW5nIGZvciBvZmZfdApjb25m aWd1cmU6ODE4NDogY2hlY2tpbmcgZm9yIHBpZF90CmNvbmZpZ3VyZTo4MjIwOiBjaGVja2luZyBm b3Igc2l6ZV90CmNvbmZpZ3VyZTo4MjYzOiBjaGVja2luZyBmb3IgX19zdGRjYWxsCmNvbmZpZ3Vy ZTo4Mjc3OiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRp dW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4 Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmln dXJlOjgzMDk6IGNoZWNraW5nIGZvciBzc2l6ZV90CmNvbmZpZ3VyZTo4MzIyOiBjbGFuZyAtYyAt TzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlh c2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9y IC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6 ODM0NzogY2hlY2tpbmcgZm9yIHN0X2Jsa3NpemUgaW4gc3RydWN0IHN0YXQKY29uZmlndXJlOjgz NjA6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRp dW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAx PiY1CmNvbmZpZ3VyZTo4Mzg0OiBjaGVja2luZyBmb3Igc2lnaW5mb190CmNvbmZpZ3VyZTo4Mzk3 OiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5v LXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVt NCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4m NQpTdGFjayBkdW1wOgowLglQcm9ncmFtIGFyZ3VtZW50czogL3Vzci9iaW4vY2xhbmcgLWNjMSAt dHJpcGxlIGkzODYtdW5rbm93bi1mcmVlYnNkOS4wIC1lbWl0LW9iaiAtZGlzYWJsZS1mcmVlIC1t YWluLWZpbGUtbmFtZSBjb25mdGVzdC5jIC1tcmVsb2NhdGlvbi1tb2RlbCBzdGF0aWMgLW1kaXNh YmxlLWZwLWVsaW0gLXJlbGF4ZWQtYWxpYXNpbmcgLW1hc20tdmVyYm9zZSAtbWNvbnN0cnVjdG9y LWFsaWFzZXMgLXRhcmdldC1jcHUgcGVudGl1bTQgLW1vbWl0LWxlYWYtZnJhbWUtcG9pbnRlciAt ZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtY292ZXJhZ2UtZmlsZSBjb25mdGVz dC5vIC1yZXNvdXJjZS1kaXIgL3Vzci9iaW4vLi4vbGliL2NsYW5nLzMuMCAtaXN5c3RlbSAvdXNy L2xvY2FsL2luY2x1ZGUgLWZtb2R1bGUtY2FjaGUtcGF0aCAvdG1wL2NsYW5nLW1vZHVsZS1jYWNo ZSAtTzIgLVduby1lcnJvciAtdyAtZmVycm9yLWxpbWl0IDE5IC1mbWVzc2FnZS1sZW5ndGggMCAt ZmdudS1ydW50aW1lIC1mb2JqYy1ydW50aW1lLWhhcy1hcmMgLWZvYmpjLXJ1bnRpbWUtaGFzLXdl YWsgLWZvYmpjLWZyYWdpbGUtYWJpIC1mZGlhZ25vc3RpY3Mtc2hvdy1vcHRpb24gLW8gY29uZnRl c3QubyAteCBjIGNvbmZ0ZXN0LmMgCjEuCTxlb2Y+IHBhcnNlciBhdCBlbmQgb2YgZmlsZQoyLglj b25maWd1cmU6ODM5Mjo1OiBMTFZNIElSIGdlbmVyYXRpb24gb2YgZGVjbGFyYXRpb24gJ21haW4n CjMuCWNvbmZpZ3VyZTo4MzkyOjU6IEdlbmVyYXRpbmcgY29kZSBmb3IgZGVjbGFyYXRpb24gJ21h aW4nCjQuCWNvbmZpZ3VyZTo4MzkyOjEyOiBMTFZNIElSIGdlbmVyYXRpb24gb2YgY29tcG91bmQg c3RhdGVtZW50ICgne30nKQpjbGFuZzogZXJyb3I6IHVuYWJsZSB0byBleGVjdXRlIGNvbW1hbmQ6 IElsbGVnYWwgaW5zdHJ1Y3Rpb246IDQgKGNvcmUgZHVtcGVkKQpjbGFuZzogZXJyb3I6IGNsYW5n IGZyb250ZW5kIGNvbW1hbmQgZmFpbGVkIGR1ZSB0byBzaWduYWwgMiAodXNlIC12IHRvIHNlZSBp bnZvY2F0aW9uKQpjbGFuZzogbm90ZTogZGlhZ25vc3RpYyBtc2c6IFBsZWFzZSBzdWJtaXQgYSBi dWcgcmVwb3J0IHRvIGh0dHA6Ly9sbHZtLm9yZy9idWdzLyBhbmQgaW5jbHVkZSBjb21tYW5kIGxp bmUgYXJndW1lbnRzIGFuZCBhbGwgZGlhZ25vc3RpYyBpbmZvcm1hdGlvbi4KY2xhbmc6IG5vdGU6 IGRpYWdub3N0aWMgbXNnOiBQcmVwcm9jZXNzZWQgc291cmNlKHMpIGFyZSBsb2NhdGVkIGF0Ogpj bGFuZzogbm90ZTogZGlhZ25vc3RpYyBtc2c6IC90bXAvY29uZnRlc3QtWFRkTGx3LmkKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDgzODkgImNvbmZpZ3VyZSIKI2luY2x1ZGUg ImNvbmZkZWZzLmgiCiNkZWZpbmUgX1BPU0lYX0NfU09VUkNFIDE5OTUwNkwKICAgICAgICAgICAg ICAgICAgI2luY2x1ZGUgPHNpZ25hbC5oPgppbnQgbWFpbigpIHsKc2lnaW5mb190KiBpbmZvOwo7 IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo4NDIzOiBjaGVja2luZyBmb3IgaW50NjQKY29uZmlndXJl Ojg0MzY6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBl bnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu YyAxPiY1CmNvbmZpZ3VyZTo4NDMyOjE6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlm aWVyICdpbnQ2NCcKaW50NjQgZm9vID0gMDsKXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDg0MjggImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv bmZkZWZzLmgiCiNpbmNsdWRlIDxzdGRpby5oPgogICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CmludCBtYWluKCkgewppbnQ2NCBmb28gPSAwOwo7IHJldHVybiAwOyB9CmNv bmZpZ3VyZTo4NDYxOiBjaGVja2luZyBmb3IgdWludApjb25maWd1cmU6ODQ3NDogY2xhbmcgLWMg LU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJl Ojg0OTk6IGNoZWNraW5nIGZvciB1aW50X3QKY29uZmlndXJlOjg1MTI6IGNsYW5nIC1jIC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25z IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo4NTA4 OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndWludF90JzsgZGlkIHlvdSBtZWFuICd1aW50 OF90Jz8KdWludF90IGZvbyA9IDA7Cl5+fn5+fgp1aW50OF90Ci91c3IvaW5jbHVkZS9zeXMvX3N0 ZGludC5oOjU0OjIwOiBub3RlOiAndWludDhfdCcgZGVjbGFyZWQgaGVyZQp0eXBlZGVmIF9fdWlu dDhfdCAgICAgICAgICAgICAgIHVpbnQ4X3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNs aW5lIDg1MDQgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxzdGRp by5oPgogICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CmludCBtYWluKCkg ewp1aW50X3QgZm9vID0gMDsKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6ODU0NjogY2hlY2tpbmcg Zm9yIHVuYW1lLmRvbWFpbm5hbWUKY29uZmlndXJlOjg1NTk6IGNsYW5nKysgLWMgLU8yIC1waXBl IC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8y IC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5v LWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6ODU1NTo2MjogZXJyb3I6IG5vIG1lbWJl ciBuYW1lZCAnZG9tYWlubmFtZScgaW4gJ3V0c25hbWUnCiAgICAgICAgICAgICh2b2lkKXVuYW1l KHJlcyk7ICBpZiAocmVzICE9IDApIHsgZG9tYWluID0gcmVzLT5kb21haW5uYW1lOyB9IAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fiAg XgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5l IDg1NTEgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxzeXMvdXRz bmFtZS5oPgppbnQgbWFpbigpIHsKIHN0cnVjdCB1dHNuYW1lICpyZXM7IGNoYXIgKmRvbWFpbjsg CiAgICAgICAgICAgICh2b2lkKXVuYW1lKHJlcyk7ICBpZiAocmVzICE9IDApIHsgZG9tYWluID0g cmVzLT5kb21haW5uYW1lOyB9IAo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo4NTg2OiBjaGVja2lu ZyBmb3IgdW5hbWUuX19kb21haW5uYW1lCmNvbmZpZ3VyZTo4NTk5OiBjbGFuZysrIC1jIC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcg LWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJj aD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjg1OTU6NjI6IGVycm9yOiBubyBt ZW1iZXIgbmFtZWQgJ19fZG9tYWlubmFtZScgaW4gJ3V0c25hbWUnCiAgICAgICAgICAgICh2b2lk KXVuYW1lKHJlcyk7ICBpZiAocmVzICE9IDApIHsgZG9tYWluID0gcmVzLT5fX2RvbWFpbm5hbWU7 IH0gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+ICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKI2xpbmUgODU5MSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUg PHN5cy91dHNuYW1lLmg+CmludCBtYWluKCkgewogc3RydWN0IHV0c25hbWUgKnJlczsgY2hhciAq ZG9tYWluOyAKICAgICAgICAgICAgKHZvaWQpdW5hbWUocmVzKTsgIGlmIChyZXMgIT0gMCkgeyBk b21haW4gPSByZXMtPl9fZG9tYWlubmFtZTsgfSAKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6ODYz OTogY2hlY2tpbmcgZm9yIGdjYyBjKysweCBoZWFkZXJzIGJ1ZyB3aXRob3V0IHJ0dGkKY29uZmln dXJlOjg2NTE6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t ZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9 cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz dC5DIDE+JjUKY29uZmlndXJlOjg2NzE6IGNoZWNraW5nIGZvciB1c2FibGUgY2hhcjE2X3QgKDIg Ynl0ZXMsIHVuc2lnbmVkKQpjb25maWd1cmU6ODY4NzogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1h cmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6ODcxNzogY2hlY2tpbmcg Zm9yIHVzYWJsZSB3Y2hhcl90ICgyIGJ5dGVzLCB1bnNpZ25lZCkKY29uZmlndXJlOjg3MzE6IGNs YW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1z dHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1y dHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAt c3RkPWdudSsrMHggLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVdu by1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29u ZmlndXJlOjg3MzA6MTogZXJyb3I6ICdzdGF0aWNfYXNzZXJ0X2xpbmVfODczMCcgZGVjbGFyZWQg YXMgYW4gYXJyYXkgd2l0aCBhIG5lZ2F0aXZlIHNpemUKQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQo c2l6ZW9mKHdjaGFyX3QpID09IDIpOwpefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KY29uZmlndXJlOjg3MjU6NDQ6IG5vdGU6IGV4cGFuZGVkIGZyb206CiNkZWZp bmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9uKSBDT05GSUdVUkVfU1RBVElDX0FT U0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTo4NzI2OjU1OiBub3RlOiBleHBhbmRlZCBmcm9t OgojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBD T05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjg3 Mjc6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb206CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NF UlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0eXBlZGVmIGludCBzdGF0aWNfYXNzZXJ0X2xpbmVf IyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0xXQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgpjb25maWd1cmU6ODczMToyMjogZXJyb3I6ICdz dGF0aWNfYXNzZXJ0X2xpbmVfODczMScgZGVjbGFyZWQgYXMgYW4gYXJyYXkgd2l0aCBhIG5lZ2F0 aXZlIHNpemUKICAgICAgICAgICAgICAgICAgICAgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoKHdj aGFyX3QpLTEgPiAod2NoYXJfdCkgMCkKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjg3MjU6NDQ6 IG5vdGU6IGV4cGFuZGVkIGZyb206CiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29u ZGl0aW9uKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18p CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTo4 NzI2OjU1OiBub3RlOiBleHBhbmRlZCBmcm9tOgojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNT RVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihj b25kaXRpb24sIGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KY29uZmlndXJlOjg3Mjc6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb206CiNk ZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0eXBl ZGVmIGludCBzdGF0aWNfYXNzZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0xXQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgoy IGVycm9ycyBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA4 NzIyICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3RkZGVmLmg+ CiAgICAgICAgICAgICAgICAgICAgIAojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKGNv bmRpdGlvbikgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIF9fTElORV9f KQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBD T05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpCiNkZWZpbmUgQ09O RklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKSB0eXBlZGVmIGludCBz dGF0aWNfYXNzZXJ0X2xpbmVfIyNsaW5lWyhjb25kaXRpb24pID8gMSA6IC0xXQoKaW50IG1haW4o KSB7CkNPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKHNpemVvZih3Y2hhcl90KSA9PSAyKTsKICAgICAg ICAgICAgICAgICAgICAgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoKHdjaGFyX3QpLTEgPiAod2No YXJfdCkgMCkKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6ODgxMTogY2hlY2tpbmcgZm9yIHZpc2li aWxpdHkoaGlkZGVuKSBhdHRyaWJ1dGUKY29uZmlndXJlOjg4Mzk6IGNoZWNraW5nIGZvciB2aXNp YmlsaXR5KGRlZmF1bHQpIGF0dHJpYnV0ZQpjb25maWd1cmU6ODg2NzogY2hlY2tpbmcgZm9yIHZp c2liaWxpdHkgcHJhZ21hIHN1cHBvcnQKY29uZmlndXJlOjg4OTI6IGNoZWNraW5nIEZvciBnY2Mg dmlzaWJpbGl0eSBidWcgd2l0aCBjbGFzcy1sZXZlbCBhdHRyaWJ1dGVzIChHQ0MgYnVnIDI2OTA1 KQpjb25maWd1cmU6ODkyMDogY2hlY2tpbmcgRm9yIHg4Nl82NCBnY2MgdmlzaWJpbGl0eSBidWcg d2l0aCBidWlsdGlucyAoR0NDIGJ1ZyAyMDI5NykKY29uZmlndXJlOjkwMjc6IGNoZWNraW5nIHdo ZXRoZXIgdGhlIGxpbmtlciBzdXBwb3J0cyBJZGVudGljYWwgQ29kZSBGb2xkaW5nCmNvbmZpZ3Vy ZTo5MTExOiBjaGVja2luZyBmb3IgZGlyZW50LmggdGhhdCBkZWZpbmVzIERJUgpjb25maWd1cmU6 OTEyNDogY2xhbmcgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMg LU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAt aXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjkxNTI6 IGNoZWNraW5nIGZvciBvcGVuZGlyIGluIC1sZGlyCmNvbmZpZ3VyZTo5MTcxOiBjbGFuZyAtbyBj b25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVds LC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jIC1sZGlyICAgMT4mNQov dXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxkaXIKY2xhbmc6IGVycm9yOiBsaW5rZXIgY29tbWFu ZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgOTE2MCAiY29uZmlndXJlIgojaW5jbHVk ZSAiY29uZmRlZnMuaCIKLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBvcGVuZGlyKCk7Cgpp bnQgbWFpbigpIHsKb3BlbmRpcigpCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjkyNDQ6IGNoZWNr aW5nIGZvciBzeXMvYnl0ZW9yZGVyLmgKY29uZmlndXJlOjkyNTQ6IGNsYW5nLWNwcCAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2 L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjkyNTA6MTA6IGZhdGFsIGVycm9yOiAnc3lz L2J5dGVvcmRlci5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8c3lzL2J5dGVvcmRlci5oPgog ICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKI2xpbmUgOTI0OSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUg PHN5cy9ieXRlb3JkZXIuaD4KY29uZmlndXJlOjkyNDQ6IGNoZWNraW5nIGZvciBjb21wYXQuaApj b25maWd1cmU6OTI1NDogY2xhbmctY3BwIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25m aWd1cmU6OTI1MDoxMDogZmF0YWwgZXJyb3I6ICdjb21wYXQuaCcgZmlsZSBub3QgZm91bmQKI2lu Y2x1ZGUgPGNvbXBhdC5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgOTI0OSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29u ZmRlZnMuaCIKI2luY2x1ZGUgPGNvbXBhdC5oPgpjb25maWd1cmU6OTI0NDogY2hlY2tpbmcgZm9y IGdldG9wdC5oCmNvbmZpZ3VyZTo5MjU0OiBjbGFuZy1jcHAgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRl c3Qub3V0CmNvbmZpZ3VyZTo5Mjg3OiBjaGVja2luZyBmb3Igc3lzL2JpdHlwZXMuaApjb25maWd1 cmU6OTI5NzogY2xhbmctY3BwIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRp dW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6 OTI5MzoxMDogZmF0YWwgZXJyb3I6ICdzeXMvYml0eXBlcy5oJyBmaWxlIG5vdCBmb3VuZAojaW5j bHVkZSA8c3lzL2JpdHlwZXMuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDkyOTIgImNvbmZpZ3VyZSIKI2luY2x1ZGUg ImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxzeXMvYml0eXBlcy5oPgpjb25maWd1cmU6OTI4NzogY2hl Y2tpbmcgZm9yIG1lbW9yeS5oCmNvbmZpZ3VyZTo5Mjk3OiBjbGFuZy1jcHAgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxs IDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo5Mjg3OiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29u ZmlndXJlOjkyOTc6IGNsYW5nLWNwcCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1w ZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmln dXJlOjkzMzA6IGNoZWNraW5nIGZvciBnbnUvbGliYy12ZXJzaW9uLmgKY29uZmlndXJlOjkzNDA6 IGNsYW5nLWNwcCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25v LWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjkzMzY6MTA6 IGZhdGFsIGVycm9yOiAnZ251L2xpYmMtdmVyc2lvbi5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVk ZSA8Z251L2xpYmMtdmVyc2lvbi5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgOTMzNSAiY29uZmlndXJlIgojaW5jbHVk ZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPGdudS9saWJjLXZlcnNpb24uaD4KY29uZmlndXJlOjkz MzA6IGNoZWNraW5nIGZvciBubF90eXBlcy5oCmNvbmZpZ3VyZTo5MzQwOiBjbGFuZy1jcHAgLU8y IC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+ L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo5MzczOiBjaGVja2luZyBmb3IgbWFs bG9jLmgKY29uZmlndXJlOjkzODM6IGNsYW5nLWNwcCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00 IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5v dXQKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZTo5Mzc5OgovdXNyL2luY2x1ZGUvbWFs bG9jLmg6MzoyOiBlcnJvcjogI2Vycm9yICI8bWFsbG9jLmg+IGhhcyBiZWVuIHJlcGxhY2VkIGJ5 IDxzdGRsaWIuaD4iCiNlcnJvciAiPG1hbGxvYy5oPiBoYXMgYmVlbiByZXBsYWNlZCBieSA8c3Rk bGliLmg+IgogXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CiNsaW5lIDkzNzggImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRl IDxtYWxsb2MuaD4KY29uZmlndXJlOjk0MTY6IGNoZWNraW5nIGZvciBYMTEvWEtCbGliLmgKY29u ZmlndXJlOjk0MjY6IGNsYW5nLWNwcCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1w ZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmln dXJlOjk0NjA6IGNoZWNraW5nIGZvciBzeXMvc3RhdHZmcy5oCmNvbmZpZ3VyZTo5NDcwOiBjbGFu Zy1jcHAgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo5NDYwOiBjaGVja2lu ZyBmb3Igc3lzL3N0YXRmcy5oCmNvbmZpZ3VyZTo5NDcwOiBjbGFuZy1jcHAgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxs IDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo5NDY2OjEwOiBmYXRhbCBlcnJvcjogJ3N5cy9zdGF0 ZnMuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4KICAgICAgICAgXgox IGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDk0 NjUgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxzeXMvc3RhdGZz Lmg+CmNvbmZpZ3VyZTo5NDYwOiBjaGVja2luZyBmb3Igc3lzL3Zmcy5oCmNvbmZpZ3VyZTo5NDcw OiBjbGFuZy1jcHAgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVdu by1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo5NDY2OjEw OiBmYXRhbCBlcnJvcjogJ3N5cy92ZnMuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHN5cy92 ZnMuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDk0NjUgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNp bmNsdWRlIDxzeXMvdmZzLmg+CmNvbmZpZ3VyZTo5NDYwOiBjaGVja2luZyBmb3Igc3lzL21vdW50 LmgKY29uZmlndXJlOjk0NzA6IGNsYW5nLWNwcCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQK Y29uZmlndXJlOjk1MTA6IGNoZWNraW5nIGZvciBuZXcKY29uZmlndXJlOjk1MjA6IGNsYW5nKysg LUUgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAt dyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuQyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo5NjE4OiBjaGVja2luZyBm b3Igc3lzL2NkZWZzLmgKY29uZmlndXJlOjk2Mjg6IGNsYW5nLWNwcCAtTzIgLXBpcGUgLW1hcmNo PXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5j b25mdGVzdC5vdXQKY29uZmlndXJlOjk2NjU6IGNoZWNraW5nIGZvciBnZXRob3N0YnluYW1lX3Ig aW4gLWxjX3IKY29uZmlndXJlOjk2ODQ6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10 dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVds LC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jIC1sY19yICAgMT4mNQov dXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxjX3IKY2xhbmc6IGVycm9yOiBsaW5rZXIgY29tbWFu ZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgOTY3MyAiY29uZmlndXJlIgojaW5jbHVk ZSAiY29uZmRlZnMuaCIKLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBnZXRob3N0YnluYW1l X3IoKTsKCmludCBtYWluKCkgewpnZXRob3N0YnluYW1lX3IoKQo7IHJldHVybiAwOyB9CmNvbmZp Z3VyZTo5NzI0OiBjaGVja2luZyBmb3IgYXRhbiBpbiAtbG0KY29uZmlndXJlOjk3NDM6IGNsYW5n IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9j YWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJ TiBjb25mdGVzdC5jIC1sbSAgIDE+JjUKY29uZmlndXJlOjk3NzQ6IGNoZWNraW5nIGZvciBkbG9w ZW4gaW4gLWxkbApjb25maWd1cmU6OTc5MzogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgLWxkbCAgLWxtICAx PiY1Ci91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbGRsCmNsYW5nOiBlcnJvcjogbGlua2VyIGNv bW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDk3ODIgImNvbmZpZ3VyZSIKI2lu Y2x1ZGUgImNvbmZkZWZzLmgiCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlw ZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0 IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRz IGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgZGxvcGVuKCk7 CgppbnQgbWFpbigpIHsKZGxvcGVuKCkKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6OTg1NDogY2hl Y2tpbmcgZm9yIGRsYWRkcgpjb25maWd1cmU6OTg4MjogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1w aXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLURfR05VX1NPVVJDRSAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xp YiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29u ZnRlc3QuYyAtbG0gIDE+JjUKY29uZmlndXJlOjEwMDI2OiBjaGVja2luZyBmb3Igc29ja2V0IGlu IC1sc29ja2V0CmNvbmZpZ3VyZToxMDA0NTogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgLWxzb2NrZXQgIC1s bSAgMT4mNQovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxzb2NrZXQKY2xhbmc6IGVycm9yOiBs aW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZv Y2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTAwMzQgImNvbmZp Z3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFs IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIg c29ja2V0KCk7CgppbnQgbWFpbigpIHsKc29ja2V0KCkKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6 MTAxMDA6IGNoZWNraW5nIGZvciBYRHJhd0xpbmVzIGluIC1sWDExCmNvbmZpZ3VyZToxMDExOTog Y2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1 bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAt dyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vz ci9sb2NhbC9saWIgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3Jp Z2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgLWxYMTEgLWxYMTEgIC1sbSAgMT4m NQpjb25maWd1cmU6MTAxNDA6IGNoZWNraW5nIGZvciBYZXh0QWRkRGlzcGxheSBpbiAtbFhleHQK Y29uZmlndXJlOjEwMTU5OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlh c2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50 aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9j YWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9j YWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29uZnRlc3QuYyAtbFhl eHQgLWxYMTEgIC1sbSAgMT4mNQpjb25maWd1cmU6MTAxODI6IGNoZWNraW5nIGZvciBYdEZyZWUg aW4gLWxYdApjb25maWd1cmU6MTAyMDE6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10 dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliICAtTC91c3IvbG9jYWwvbGliIC1M L3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVz dC5jIC1sWHQgIC1sbSAgMT4mNQpjb25maWd1cmU6MTAzNjg6IGNoZWNraW5nIGZvciBwdGhyZWFk X2NyZWF0ZSBpbiAtbHB0aHJlYWRzCmNsYW5nIC1vIGR1bW15IGR1bW15LmMgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLWxwdGhyZWFkcyAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3Iv bG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLWxtIAovdXNyL2Jp bi9sZDogY2Fubm90IGZpbmQgLWxwdGhyZWFkcwpjbGFuZzogZXJyb3I6IGxpbmtlciBjb21tYW5k IGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZp Z3VyZToxMDM5MTogY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1scHRocmVhZApjbGFu ZyAtbyBkdW1teSBkdW1teS5jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRp dW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24t c2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3Ig LXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1scHRo cmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVds LC1ycGF0aCxcJCRPUklHSU4gLWxtIApjb25maWd1cmU6MTA0OTY6IGNoZWNraW5nIHdoZXRoZXIg Y2xhbmcgYWNjZXB0cyAtcHRocmVhZApjb25maWd1cmU6MTA2MjQ6IGNoZWNraW5nIHdoZXRoZXIg bW1hcCgpIHNlZXMgd3JpdGUoKXMKY29uZmlndXJlOjEwNjY3OiBjbGFuZyAtbyBjb25mdGVzdCAt TzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlh c2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBpcGUgLW1hcmNo PXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xp YiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29u ZnRlc3QuYyAtbG0gIDE+JjUKY29uZmlndXJlOjEwNjk1OiBjaGVja2luZyB3aGV0aGVyIGNsYW5n IG5lZWRzIC10cmFkaXRpb25hbApjb25maWd1cmU6MTA3MDI6MTA6IGZhdGFsIGVycm9yOiAnc2d0 dHkuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHNndHR5Lmg+CiAgICAgICAgIF4KMSBlcnJv ciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZToxMDcyMDoxMDogZmF0YWwgZXJyb3I6ICd0ZXJtaW8uaCcg ZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHRlcm1pby5oPgogICAgICAgICBeCjEgZXJyb3IgZ2Vu ZXJhdGVkLgpjb25maWd1cmU6MTA3NDE6IGNoZWNraW5nIGZvciA4LWJpdCBjbGVhbiBtZW1jbXAK Y29uZmlndXJlOjEwNzU5OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlh c2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50 aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9j YWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1X bCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29uZnRlc3QuYyAtbG0gIDE+JjUKY29u ZmlndXJlOjEwNzc5OiBjaGVja2luZyBmb3IgcmFuZG9tCmNvbmZpZ3VyZToxMDgwNzogY2xhbmcg LW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8y IC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5 c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1M L3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgs XCQkT1JJR0lOIGNvbmZ0ZXN0LmMgLWxtICAxPiY1CmNvbmZpZ3VyZToxMDc3OTogY2hlY2tpbmcg Zm9yIHN0cmVycm9yCmNvbmZpZ3VyZToxMDgwNzogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBl IC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNy L2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMg LWxtICAxPiY1CmNvbmZpZ3VyZToxMDc3OTogY2hlY2tpbmcgZm9yIGxjaG93bgpjb25maWd1cmU6 MTA4MDc6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRh LXNlY3Rpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8t ZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdp biAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jIC1sbSAgMT4mNQpjb25maWd1cmU6MTA3 Nzk6IGNoZWNraW5nIGZvciBmY2htb2QKY29uZmlndXJlOjEwODA3OiBjbGFuZyAtbyBjb25mdGVz dCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1h bGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1z ZWN0aW9ucyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBpcGUgLW1h cmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2Fs L2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4g Y29uZnRlc3QuYyAtbG0gIDE+JjUKY29uZmlndXJlOjEwNzc5OiBjaGVja2luZyBmb3Igc25wcmlu dGYKY29uZmlndXJlOjEwODA3OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1h bGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1w ZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGli IC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29uZnRlc3QuYyAtbG0gIDE+JjUK Y29uZmlndXJlOjEwNzc5OiBjaGVja2luZyBmb3Igc3RhdHZmcwpjb25maWd1cmU6MTA4MDc6IGNs YW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25z IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFk ICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJw YXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jIC1sbSAgMT4mNQpjb25maWd1cmU6MTA3Nzk6IGNoZWNr aW5nIGZvciBtZW1tb3ZlCmNvbmZpZ3VyZToxMDgwNzogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1w aXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwv dXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0 LmMgLWxtICAxPiY1CmNvbmZpZ3VyZToxMDc3OTogY2hlY2tpbmcgZm9yIHJpbnQKY29uZmlndXJl OjEwODA3OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVu ZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0 YS1zZWN0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25v LWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmln aW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29uZnRlc3QuYyAtbG0gIDE+JjUKY29uZmlndXJlOjEw Nzc5OiBjaGVja2luZyBmb3Igc3RhdDY0CmNvbmZpZ3VyZToxMDgwNzogY2xhbmcgLW8gY29uZnRl c3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEt c2VjdGlvbnMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2Nh bC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lO IGNvbmZ0ZXN0LmMgLWxtICAxPiY1Ci90bXAvY29uZnRlc3QtUkVMUklXLm86IEluIGZ1bmN0aW9u IGBtYWluJzoKY29uZnRlc3QuYzooLnRleHQubWFpbisweDcpOiB1bmRlZmluZWQgcmVmZXJlbmNl IHRvIGBzdGF0NjQnCmNsYW5nOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhp dCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CiNsaW5lIDEwNzg0ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgov KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3 IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHN0YXQ2NCgpOyBi ZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJu YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVz ZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBh bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hh ciBzdGF0NjQoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwg d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0 aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAq LwojaWYgZGVmaW5lZCAoX19zdHViX3N0YXQ2NCkgfHwgZGVmaW5lZCAoX19zdHViX19fc3RhdDY0 KQpjaG9rZSBtZQojZWxzZQpzdGF0NjQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3Vy ZToxMDc3OTogY2hlY2tpbmcgZm9yIGxzdGF0NjQKY29uZmlndXJlOjEwODA3OiBjbGFuZyAtbyBj b25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNy L2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gY29uZnRlc3QuYyAtbG0gIDE+JjUKL3RtcC9jb25mdGVzdC0xWUF0VTIubzogSW4gZnVu Y3Rpb24gYG1haW4nOgpjb25mdGVzdC5jOigudGV4dC5tYWluKzB4Nyk6IHVuZGVmaW5lZCByZWZl cmVuY2UgdG8gYGxzdGF0NjQnCmNsYW5nOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdp dGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEwNzg0ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVm cy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs bHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGxzdGF0 NjQoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2My IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFy IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1 aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g ICovCmNoYXIgbHN0YXQ2NCgpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBk ZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdh eXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAog ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBh bGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfbHN0YXQ2NCkgfHwgZGVmaW5lZCAoX19zdHVi X19fbHN0YXQ2NCkKY2hva2UgbWUKI2Vsc2UKbHN0YXQ2NCgpOwojZW5kaWYKCjsgcmV0dXJuIDA7 IH0KY29uZmlndXJlOjEwNzc5OiBjaGVja2luZyBmb3IgdHJ1bmNhdGU2NApjb25maWd1cmU6MTA4 MDc6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBl bnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rp b24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJy b3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1w dGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jIC1sbSAgMT4mNQovdG1wL2NvbmZ0ZXN0LTBy OW9ZMi5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6KC50ZXh0Lm1haW4rMHg3KTog dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgdHJ1bmNhdGU2NCcKY2xhbmc6IGVycm9yOiBsaW5rZXIg Y29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9u KQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTA3ODQgImNvbmZpZ3VyZSIK I2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBt YWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGlj dCB3aXRoIGNoYXIgdHJ1bmNhdGU2NCgpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4K LyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y LiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0 eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciB0cnVuY2F0ZTY0KCk7CgppbnQgbWFpbigpIHsK Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0 IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlv bnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl90cnVu Y2F0ZTY0KSB8fCBkZWZpbmVkIChfX3N0dWJfX190cnVuY2F0ZTY0KQpjaG9rZSBtZQojZWxzZQp0 cnVuY2F0ZTY0KCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTA3Nzk6IGNoZWNr aW5nIGZvciBzdGF0dmZzNjQKY29uZmlndXJlOjEwODA3OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAt TC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29uZnRl c3QuYyAtbG0gIDE+JjUKL3RtcC9jb25mdGVzdC04cEY2cXgubzogSW4gZnVuY3Rpb24gYG1haW4n Ogpjb25mdGVzdC5jOigudGV4dC5tYWluKzB4Nyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHN0 YXR2ZnM2NCcKY2xhbmc6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNv ZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKI2xpbmUgMTA3ODQgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5 c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJv dG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RhdHZmczY0KCk7IGJl bG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNl IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFu ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFy IHN0YXR2ZnM2NCgpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29t ZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4g ICovCiNpZiBkZWZpbmVkIChfX3N0dWJfc3RhdHZmczY0KSB8fCBkZWZpbmVkIChfX3N0dWJfX19z dGF0dmZzNjQpCmNob2tlIG1lCiNlbHNlCnN0YXR2ZnM2NCgpOwojZW5kaWYKCjsgcmV0dXJuIDA7 IH0KY29uZmlndXJlOjEwODM3OiBjaGVja2luZyBmb3IgZmxvY2tmaWxlCmNvbmZpZ3VyZToxMDg2 NTogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0 aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1X bCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgLWxtICAxPiY1CmNvbmZpZ3VyZToxMDgzNzog Y2hlY2tpbmcgZm9yIGdldHBhZ2VzaXplCmNvbmZpZ3VyZToxMDg2NTogY2xhbmcgLW8gY29uZnRl c3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEt c2VjdGlvbnMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2Nh bC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lO IGNvbmZ0ZXN0LmMgLWxtICAxPiY1CmNvbmZpZ3VyZToxMDg5NTogY2hlY2tpbmcgZm9yIGxvY2Fs dGltZV9yCmNvbmZpZ3VyZToxMDkyMzogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJj aD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2Fs L2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgLWxtICAx PiY1CmNvbmZpZ3VyZToxMDg5NTogY2hlY2tpbmcgZm9yIHN0cnRva19yCmNvbmZpZ3VyZToxMDky MzogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0 aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1X bCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgLWxtICAxPiY1CmNvbmZpZ3VyZToxMDk2MTog Y2hlY2tpbmcgZm9yIHdjcnRvbWIKY29uZmlndXJlOjEwOTczOiBjbGFuZysrIC1vIGNvbmZ0ZXN0 IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJy b3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUr KzB4IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4 Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2lu IC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LkMgLWxtICAxPiY1ClN0YWNrIGR1bXA6CjAu CVByb2dyYW0gYXJndW1lbnRzOiAvdXNyL2Jpbi9jbGFuZysrIC1jYzEgLXRyaXBsZSBpMzg2LXVu a25vd24tZnJlZWJzZDkuMCAtZW1pdC1vYmogLWRpc2FibGUtZnJlZSAtbWFpbi1maWxlLW5hbWUg Y29uZnRlc3QuQyAtbXJlbG9jYXRpb24tbW9kZWwgc3RhdGljIC1tZGlzYWJsZS1mcC1lbGltIC1y ZWxheGVkLWFsaWFzaW5nIC1tYXNtLXZlcmJvc2UgLW1jb25zdHJ1Y3Rvci1hbGlhc2VzIC10YXJn ZXQtY3B1IHBlbnRpdW00IC1tb21pdC1sZWFmLWZyYW1lLXBvaW50ZXIgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMg LXJlc291cmNlLWRpciAvdXNyL2Jpbi8uLi9saWIvY2xhbmcvMy4wIC1pc3lzdGVtIC91c3IvbG9j YWwvaW5jbHVkZSAtSSAvdXNyL2xvY2FsL2luY2x1ZGUgLWZtb2R1bGUtY2FjaGUtcGF0aCAvdG1w L2NsYW5nLW1vZHVsZS1jYWNoZSAtTzIgLVduby1lcnJvciAtV25vLWVycm9yIC13IC1zdGQ9Z251 KysweCAtZmRlcHJlY2F0ZWQtbWFjcm8gLWZlcnJvci1saW1pdCAxOSAtZm1lc3NhZ2UtbGVuZ3Ro IDAgLXB0aHJlYWQgLWZuby1ydHRpIC1mZ251LXJ1bnRpbWUgLWZvYmpjLXJ1bnRpbWUtaGFzLWFy YyAtZm9iamMtcnVudGltZS1oYXMtd2VhayAtZm9iamMtZnJhZ2lsZS1hYmkgLWZkaWFnbm9zdGlj cy1zaG93LW9wdGlvbiAtbyAvdG1wL2NvbmZ0ZXN0LTFWbHhnMC5vIC14IGMrKyBjb25mdGVzdC5D IAoxLgk8ZW9mPiBwYXJzZXIgYXQgZW5kIG9mIGZpbGUKMi4JY29uZmlndXJlOjEwOTY4OjU6IExM Vk0gSVIgZ2VuZXJhdGlvbiBvZiBkZWNsYXJhdGlvbiAnbWFpbicKMy4JY29uZmlndXJlOjEwOTY4 OjU6IEdlbmVyYXRpbmcgY29kZSBmb3IgZGVjbGFyYXRpb24gJ21haW4nCjQuCWNvbmZpZ3VyZTox MDk2ODoxMjogTExWTSBJUiBnZW5lcmF0aW9uIG9mIGNvbXBvdW5kIHN0YXRlbWVudCAoJ3t9JykK Y2xhbmcrKzogZXJyb3I6IHVuYWJsZSB0byBleGVjdXRlIGNvbW1hbmQ6IElsbGVnYWwgaW5zdHJ1 Y3Rpb246IDQgKGNvcmUgZHVtcGVkKQpjbGFuZysrOiBlcnJvcjogY2xhbmcgZnJvbnRlbmQgY29t bWFuZCBmYWlsZWQgZHVlIHRvIHNpZ25hbCAyICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNs YW5nKys6IG5vdGU6IGRpYWdub3N0aWMgbXNnOiBQbGVhc2Ugc3VibWl0IGEgYnVnIHJlcG9ydCB0 byBodHRwOi8vbGx2bS5vcmcvYnVncy8gYW5kIGluY2x1ZGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50 cyBhbmQgYWxsIGRpYWdub3N0aWMgaW5mb3JtYXRpb24uCmNsYW5nKys6IG5vdGU6IGRpYWdub3N0 aWMgbXNnOiBQcmVwcm9jZXNzZWQgc291cmNlKHMpIGFyZSBsb2NhdGVkIGF0OgpjbGFuZysrOiBu b3RlOiBkaWFnbm9zdGljIG1zZzogL3RtcC9jb25mdGVzdC0wQ3RhNXouaWkKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEwOTY2ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25m ZGVmcy5oIgojaW5jbHVkZSA8d2NoYXIuaD4KaW50IG1haW4oKSB7Cm1ic3RhdGVfdCBwcz17MH07 d2NydG9tYigwLCdmJywmcHMpOwo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMDk5NjogY2hlY2tp bmcgZm9yIG1icnRvd2MKY29uZmlndXJlOjExMDA4OiBjbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcg LWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1m bm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlv bnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAt dyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJl YWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwt cnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LkMgLWxtICAxPiY1ClN0YWNrIGR1bXA6CjAuCVByb2dy YW0gYXJndW1lbnRzOiAvdXNyL2Jpbi9jbGFuZysrIC1jYzEgLXRyaXBsZSBpMzg2LXVua25vd24t ZnJlZWJzZDkuMCAtZW1pdC1vYmogLWRpc2FibGUtZnJlZSAtbWFpbi1maWxlLW5hbWUgY29uZnRl c3QuQyAtbXJlbG9jYXRpb24tbW9kZWwgc3RhdGljIC1tZGlzYWJsZS1mcC1lbGltIC1yZWxheGVk LWFsaWFzaW5nIC1tYXNtLXZlcmJvc2UgLW1jb25zdHJ1Y3Rvci1hbGlhc2VzIC10YXJnZXQtY3B1 IHBlbnRpdW00IC1tb21pdC1sZWFmLWZyYW1lLXBvaW50ZXIgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLXJlc291 cmNlLWRpciAvdXNyL2Jpbi8uLi9saWIvY2xhbmcvMy4wIC1pc3lzdGVtIC91c3IvbG9jYWwvaW5j bHVkZSAtSSAvdXNyL2xvY2FsL2luY2x1ZGUgLWZtb2R1bGUtY2FjaGUtcGF0aCAvdG1wL2NsYW5n LW1vZHVsZS1jYWNoZSAtTzIgLVduby1lcnJvciAtV25vLWVycm9yIC13IC1zdGQ9Z251KysweCAt ZmRlcHJlY2F0ZWQtbWFjcm8gLWZlcnJvci1saW1pdCAxOSAtZm1lc3NhZ2UtbGVuZ3RoIDAgLXB0 aHJlYWQgLWZuby1ydHRpIC1mZ251LXJ1bnRpbWUgLWZvYmpjLXJ1bnRpbWUtaGFzLWFyYyAtZm9i amMtcnVudGltZS1oYXMtd2VhayAtZm9iamMtZnJhZ2lsZS1hYmkgLWZkaWFnbm9zdGljcy1zaG93 LW9wdGlvbiAtbyAvdG1wL2NvbmZ0ZXN0LTZWNXlaSy5vIC14IGMrKyBjb25mdGVzdC5DIAoxLgk8 ZW9mPiBwYXJzZXIgYXQgZW5kIG9mIGZpbGUKMi4JY29uZmlndXJlOjExMDAzOjU6IExMVk0gSVIg Z2VuZXJhdGlvbiBvZiBkZWNsYXJhdGlvbiAnbWFpbicKMy4JY29uZmlndXJlOjExMDAzOjU6IEdl bmVyYXRpbmcgY29kZSBmb3IgZGVjbGFyYXRpb24gJ21haW4nCjQuCWNvbmZpZ3VyZToxMTAwMzox MjogTExWTSBJUiBnZW5lcmF0aW9uIG9mIGNvbXBvdW5kIHN0YXRlbWVudCAoJ3t9JykKY2xhbmcr KzogZXJyb3I6IHVuYWJsZSB0byBleGVjdXRlIGNvbW1hbmQ6IElsbGVnYWwgaW5zdHJ1Y3Rpb246 IDQgKGNvcmUgZHVtcGVkKQpjbGFuZysrOiBlcnJvcjogY2xhbmcgZnJvbnRlbmQgY29tbWFuZCBm YWlsZWQgZHVlIHRvIHNpZ25hbCAyICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNsYW5nKys6 IG5vdGU6IGRpYWdub3N0aWMgbXNnOiBQbGVhc2Ugc3VibWl0IGEgYnVnIHJlcG9ydCB0byBodHRw Oi8vbGx2bS5vcmcvYnVncy8gYW5kIGluY2x1ZGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBhbmQg YWxsIGRpYWdub3N0aWMgaW5mb3JtYXRpb24uCmNsYW5nKys6IG5vdGU6IGRpYWdub3N0aWMgbXNn OiBQcmVwcm9jZXNzZWQgc291cmNlKHMpIGFyZSBsb2NhdGVkIGF0OgpjbGFuZysrOiBub3RlOiBk aWFnbm9zdGljIG1zZzogL3RtcC9jb25mdGVzdC12YXJidDYuaWkKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CiNsaW5lIDExMDAxICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5o IgojaW5jbHVkZSA8d2NoYXIuaD4KaW50IG1haW4oKSB7Cm1ic3RhdGVfdCBwcz17MH07bWJydG93 YygwLDAsMCwmcHMpOwo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMTA0MDogY2hlY2tpbmcgZm9y IHJlc19uaW5pdCgpCmNvbmZpZ3VyZToxMTA1NzogY2xhbmcgLW8gY29uZnRlc3QgLU8yIC1waXBl IC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNy L2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMg LWxtICAxPiY1CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MTEwNTA6Ci91c3IvaW5j bHVkZS9yZXNvbHYuaDoxNTc6MTQ6IGVycm9yOiBhcnJheSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50 IHR5cGUgJ3N0cnVjdCBzb2NrYWRkcl9pbicKICAgICAgICAgICAgICAgIG5zYWRkcl9saXN0W01B WE5TXTsgICAgIC8qJTwgYWRkcmVzcyBvZiBuYW1lIHNlcnZlciAqLwogICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9yZXNvbHYuaDoxNTY6OTogbm90ZTogZm9yd2FyZCBk ZWNsYXJhdGlvbiBvZiAnc3RydWN0IHNvY2thZGRyX2luJwogICAgICAgIHN0cnVjdCBzb2NrYWRk cl9pbgogICAgICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9yZXNvbHYuaDoxNzE6MTg6IGVycm9y OiBmaWVsZCBoYXMgaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaW5fYWRkcicKICAgICAgICAgICAg ICAgIHN0cnVjdCBpbl9hZGRyICBhZGRyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL3Vzci9pbmNsdWRlL3Jlc29sdi5oOjE3MToxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IGluX2FkZHInCiAgICAgICAgICAgICAgICBzdHJ1Y3QgaW5fYWRkciAgYWRk cjsKICAgICAgICAgICAgICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9yZXNvbHYuaDoxOTU6MjE6 IGVycm9yOiBmaWVsZCBoYXMgaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3Qgc29ja2FkZHJfaW4nCiAg ICAgICAgc3RydWN0IHNvY2thZGRyX2luICAgICAgc2luOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL3Vzci9pbmNsdWRlL3Jlc29sdi5oOjE1Njo5OiBub3RlOiBmb3J3YXJkIGRl Y2xhcmF0aW9uIG9mICdzdHJ1Y3Qgc29ja2FkZHJfaW4nCiAgICAgICAgc3RydWN0IHNvY2thZGRy X2luCiAgICAgICAgICAgICAgIF4KMyBlcnJvcnMgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKI2xpbmUgMTEwNDUgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZz LmgiCgogICAgICAgICNpZmRlZiBsaW51eAogICAgICAgICNkZWZpbmUgX0JTRF9TT1VSQ0UgMQog ICAgICAgICNlbmRpZgogICAgICAgICNpbmNsdWRlIDxyZXNvbHYuaD4KICAgICAgICAKaW50IG1h aW4oKSB7CmludCBmb28gPSByZXNfbmluaXQoJl9yZXMpOwo7IHJldHVybiAwOyB9CmNvbmZpZ3Vy ZToxMTA5MDogY2hlY2tpbmcgZm9yIGdudV9nZXRfbGliY192ZXJzaW9uKCkKY29uZmlndXJlOjEx MTA2OiBjbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt Zm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNy L2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LkMg LWxtICAxPiY1CmNvbmZpZ3VyZToxMTEwMjoyOTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ2dudV9nZXRfbGliY192ZXJzaW9uJwpjb25zdCBjaGFyICpnbGliY192ZXJzaW9u ID0gZ251X2dldF9saWJjX3ZlcnNpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K MSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAx MTA5NSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiAgICAgICAgI2lmZGVmIEhB VkVfR05VX0xJQkNfVkVSU0lPTl9ICiAgICAgICAgI2luY2x1ZGUgPGdudS9saWJjLXZlcnNpb24u aD4KICAgICAgICAjZW5kaWYKICAgICAgICAKaW50IG1haW4oKSB7CmNvbnN0IGNoYXIgKmdsaWJj X3ZlcnNpb24gPSBnbnVfZ2V0X2xpYmNfdmVyc2lvbigpOwo7IHJldHVybiAwOyB9CmNvbmZpZ3Vy ZToxMTEzODogY2hlY2tpbmcgZm9yIGljb252IGluIC1sYwpjb25maWd1cmU6MTExNjA6IGNsYW5n KysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0 aW9ucyAtc3RkPWdudSsrMHggLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1w ZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGli IC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29uZnRlc3QuQyAtbGMgIC1sbSAg MT4mNQovdG1wL2NvbmZ0ZXN0LWNheTZ2Ni5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0 LkM6KC50ZXh0Lm1haW4rMHg3KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgaWNvbnYnCmNsYW5n Kys6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12 IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg MTExNDYgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIE92ZXJyaWRlIGFueSBn Y2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCiNpZmRlZiBfX2Nw bHVzcGx1cwpleHRlcm4gIkMiCiNlbmRpZgovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGljb252KCk7 CgppbnQgbWFpbigpIHsKaWNvbnYoKQo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMTE3OTogY2hl Y2tpbmcgZm9yIGljb252IGluIC1saWNvbnYKY29uZmlndXJlOjExMjAxOiBjbGFuZysrIC1vIGNv bmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1X bm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0 aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0 ZD1nbnUrKzB4IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt Zm5vLWV4Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXos b3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LkMgLWxpY29udiAgLWxtICAxPiY1 CmNvbmZpZ3VyZToxMTI2OTogY2hlY2tpbmcgZm9yIGljb252KCkKY29uZmlndXJlOjExMjg4OiBj bGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRp dW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4 Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0 YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2Fs L2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LkMgLWxtICAg LWxpY29udiAxPiY1CmNvbmZpZ3VyZToxMTMxNTogY2hlY2tpbmcgZm9yIGljb252KCkgd2l0aCBj b25zdCBpbnB1dApjb25maWd1cmU6MTEzMzU6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlv bnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby1ydHRpIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtTzIgLXBpcGUg LW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29u ZmlndXJlOjExMzY3OiBjaGVja2luZyBmb3IgbmxfbGFuZ2luZm8gYW5kIENPREVTRVQKY29uZmln dXJlOjExMzc5OiBjbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIg LUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0 ZXN0LkMgLWxtICAxPiY1CmNvbmZpZ3VyZToxMTQxNDogY2hlY2tpbmcgZm9yIGFuIGltcGxlbWVu dGF0aW9uIG9mIHZhX2NvcHkoKQpjb25maWd1cmU6MTE0Mzg6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1PMiAtcGlwZSAtbWFyY2g9 cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGli IC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25m dGVzdC5jIC1sbSAgMT4mNQpjb25maWd1cmU6MTE0NTU6IGNoZWNraW5nIGZvciBhbiBpbXBsZW1l bnRhdGlvbiBvZiBfX3ZhX2NvcHkoKQpjb25maWd1cmU6MTE0Nzk6IGNsYW5nIC1vIGNvbmZ0ZXN0 IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xv Y2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwv bGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBj b25mdGVzdC5jIC1sbSAgMT4mNQovdG1wL2NvbmZ0ZXN0LTRHV1RxUC5vOiBJbiBmdW5jdGlvbiBg Zic6CmNvbmZ0ZXN0LmM6KC50ZXh0LmYrMHgxNyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9f dmFfY29weScKY2xhbmc6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNv ZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKI2xpbmUgMTE0NjUgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgogICAg ICAgICNpbmNsdWRlIDxzdGRhcmcuaD4KICAgICAgICB2b2lkIGYgKGludCBpLCAuLi4pIHsKICAg ICAgICAgICAgdmFfbGlzdCBhcmdzMSwgYXJnczI7CiAgICAgICAgICAgIHZhX3N0YXJ0IChhcmdz MSwgaSk7CiAgICAgICAgICAgIF9fdmFfY29weSAoYXJnczIsIGFyZ3MxKTsKICAgICAgICAgICAg aWYgKHZhX2FyZyAoYXJnczIsIGludCkgIT0gNDIgfHwgdmFfYXJnIChhcmdzMSwgaW50KSAhPSA0 MikKICAgICAgICAgICAgICAgIGV4aXQgKDEpOwogICAgICAgICAgICB2YV9lbmQgKGFyZ3MxKTsg dmFfZW5kIChhcmdzMik7CiAgICAgICAgfQogICAgICAgIGludCBtYWluKCkgeyBmICgwLCA0Mik7 IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMTQ5NjogY2hlY2tpbmcgd2hldGhlciB2YV9saXN0cyBj YW4gYmUgY29waWVkIGJ5IHZhbHVlCmNvbmZpZ3VyZToxMTUyMDogY2xhbmcgLW8gY29uZnRlc3Qg LU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1tYXJj aD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9j YWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9s aWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNv bmZ0ZXN0LmMgLWxtICAxPiY1CmNvbmZpZ3VyZToxMTY0MjogY2hlY2tpbmcgZm9yIGdjYyAzLjAg QUJJCmNvbmZpZ3VyZToxMTY2MDogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00 IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1PMiAtcGlwZSAtbWFyY2g9 cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6 MTE2ODQ6IGNoZWNraW5nIGZvciBDKysgImV4cGxpY2l0IiBrZXl3b3JkCmNvbmZpZ3VyZToxMTY5 OTogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt Zm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50 aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAt Zm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRp b25zIC1zdGQ9Z251KysweCAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLWZuby1leGNlcHRpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBl bnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTE3MjM6IGNoZWNraW5nIGZv ciBDKysgInR5cGVuYW1lIiBrZXl3b3JkCmNvbmZpZ3VyZToxMTc0NzogY2xhbmcrKyAtYyAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13 IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAt Zm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRp b25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3Ig LXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0 ZXN0LkMgMT4mNQpjb25maWd1cmU6MTE3NzE6IGNoZWNraW5nIGZvciBtb2Rlcm4gQysrIHRlbXBs YXRlIHNwZWNpYWxpemF0aW9uIHN5bnRheCBzdXBwb3J0CmNvbmZpZ3VyZToxMTc4NjogY2xhbmcr KyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmlj dC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25v LWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9 Z251KysweCAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1leGNlcHRpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1X bm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNs dWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTE4MTE6IGNoZWNraW5nIHdoZXRoZXIgcGFy dGlhbCB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiB3b3Jrcwpjb25maWd1cmU6MTE4MjQ6IGNsYW5n KysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVdu by1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRp IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3Rk PWdudSsrMHggLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1m bm8tZXhjZXB0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt V25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5j bHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjExODQ4OiBjaGVja2luZyB3aGV0aGVyIG9w ZXJhdG9ycyBtdXN0IGJlIHJlLWRlZmluZWQgZm9yIHRlbXBsYXRlcyBkZXJpdmVkIGZyb20gdGVt cGxhdGVzCmNvbmZpZ3VyZToxMTg2NTogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNo PXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEt c2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXJ0dGkgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xv Y2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1 cmU6MTE4OTA6IGNoZWNraW5nIHdoZXRoZXIgd2UgbmVlZCB0byBjYXN0IGEgZGVyaXZlZCB0ZW1w bGF0ZSB0byBwYXNzIGFzIGl0cyBiYXNlIGNsYXNzCmNvbmZpZ3VyZToxMTkwNDogY2xhbmcrKyAt YyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1h bGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVy cm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251 KysweCAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1l eGNlcHRpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8t ZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTE5Mjg6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGNv bXBpbGVyIGNhbiByZXNvbHZlIGNvbnN0IGFtYmlndWl0aWVzIGZvciB0ZW1wbGF0ZXMKY29uZmln dXJlOjExOTU0OiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBl bnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10 dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5v LWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMTk3OTogY2hl Y2tpbmcgd2hldGhlciB0aGUgQysrICJ1c2luZyIga2V5d29yZCBjYW4gY2hhbmdlIGFjY2Vzcwpj b25maWd1cmU6MTE5OTI6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25z IC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRp dW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjEyMDAz OiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRp dW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m bm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlv bnMgLXN0ZD1nbnUrKzB4IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMTk5OToxNTogZXJyb3I6ICdm b28nIGlzIGEgcHJpdmF0ZSBtZW1iZXIgb2YgJ0InCkIgYjsgcmV0dXJuIGIuZm9vKCk7CiAgICAg ICAgICAgICAgXgpjb25maWd1cmU6MTE5OTc6NjM6IG5vdGU6IGRlY2xhcmVkIHByaXZhdGUgaGVy ZQogICAgICAgICAgICAgICAgICAgICAgIGNsYXNzIEIgOiBwdWJsaWMgQSB7IHByaXZhdGU6IHVz aW5nIEE6OmZvbzsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKI2xpbmUgMTE5OTUgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZz LmgiCmNsYXNzIEEgeyBwdWJsaWM6IGludCBmb28oKSB7IHJldHVybiAxOyB9IH07CiAgICAgICAg ICAgICAgICAgICAgICAgY2xhc3MgQiA6IHB1YmxpYyBBIHsgcHJpdmF0ZTogdXNpbmcgQTo6Zm9v OyB9OwppbnQgbWFpbigpIHsKQiBiOyByZXR1cm4gYi5mb28oKTsKOyByZXR1cm4gMDsgfQpjb25m aWd1cmU6MTIwMzQ6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyAidXNpbmciIGtleXdvcmQgcmVz b2x2ZXMgYW1iaWd1aXR5CmNvbmZpZ3VyZToxMjA1NTogY2xhbmcrKyAtYyAtTzIgLXBpcGUgLW1h cmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXJ0dGkg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4m NQpjb25maWd1cmU6MTIwNzk6IGNoZWNraW5nIGZvciAic3RkOjoiIG5hbWVzcGFjZQpjb25maWd1 cmU6MTIwOTE6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1 bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t ZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjEyMTE1OiBjaGVj a2luZyB3aGV0aGVyIHN0YW5kYXJkIHRlbXBsYXRlIG9wZXJhdG9yIT0oKSBpcyBhbWJpZ3VvdXMK Y29uZmlndXJlOjEyMTMwOiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10 dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMjE1 NTogY2hlY2tpbmcgZm9yIEMrKyByZWludGVycHJldF9jYXN0CmNvbmZpZ3VyZToxMjE2ODogY2xh bmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0 cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt V25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0 dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1z dGQ9Z251KysweCAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMg LWZuby1leGNlcHRpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTIxOTI6IGNoZWNraW5nIGZvciBDKysg ZHluYW1pY19jYXN0IHRvIHZvaWQqCmNvbmZpZ3VyZToxMjIxOTogY2xhbmcrKyAtbyBjb25mdGVz dCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1h bGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVy cm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251 KysweCAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1l eGNlcHRpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8t ZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdp biAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5DIC1sbSAgMT4mNQpjb25maWd1cmU6MTIy NDY6IGNoZWNraW5nIHdoZXRoZXIgQysrIHJlcXVpcmVzIGltcGxlbWVudGF0aW9uIG9mIHVudXNl ZCB2aXJ0dWFsIG1ldGhvZHMKY29uZmlndXJlOjEyMjU4OiBjbGFuZysrIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3Ig LXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4 IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2Vw dGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0 aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1X bCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LkMgLWxtICAxPiY1CmNvbmZpZ3VyZToxMjI4NDog Y2hlY2tpbmcgZm9yIHRyb3VibGUgY29tcGFyaW5nIHRvIHplcm8gbmVhciBzdGQ6Om9wZXJhdG9y IT0oKQpjb25maWd1cmU6MTIzMDA6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby1ydHRpIC1mZnVuY3Rpb24t c2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtTzIgLXBpcGUgLW1hcmNo PXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJl OjEyMzMwOiBjaGVja2luZyBmb3IgX190aHJlYWQga2V5d29yZCBmb3IgVExTIHZhcmlhYmxlcwpj b25maWd1cmU6MTIzODQ6IGNoZWNraW5nIGZvciBtYWxsb2MuaApjb25maWd1cmU6MTI0MTg6IGNo ZWNraW5nIGZvciBtYWxsb2MvbWFsbG9jLmgKY29uZmlndXJlOjEyNDI4OiBjbGFuZysrIC1FIC1P MiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMg Pi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6MTI0MjQ6MTA6IGZhdGFsIGVycm9y OiAnbWFsbG9jL21hbGxvYy5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8bWFsbG9jL21hbGxv Yy5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKI2xpbmUgMTI0MjMgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNp bmNsdWRlIDxtYWxsb2MvbWFsbG9jLmg+CmNvbmZpZ3VyZToxMjQ1MjogY2hlY2tpbmcgZm9yIHN5 cy9tYWxsb2MuaApjb25maWd1cmU6MTI0NjI6IGNsYW5nKysgLUUgLU8yIC1waXBlIC1tYXJjaD1w ZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyA+L2Rldi9udWxsIDI+Y29u ZnRlc3Qub3V0CmNvbmZpZ3VyZToxMjQ5OTogY2hlY2tpbmcgZm9yIHN0cm5kdXAKY29uZmlndXJl OjEyNTMwOiBjbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10 dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwv dXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0 LkMgLWxtICAxPiY1CmNvbmZpZ3VyZToxMjQ5OTogY2hlY2tpbmcgZm9yIHBvc2l4X21lbWFsaWdu CmNvbmZpZ3VyZToxMjUzMDogY2xhbmcrKyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1h cmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9u cyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXJ0dGkgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1PMiAtcGlwZSAt bWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9j YWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJ TiBjb25mdGVzdC5DIC1sbSAgMT4mNQpjb25maWd1cmU6MTI0OTk6IGNoZWNraW5nIGZvciBtZW1h bGlnbgpjb25maWd1cmU6MTI1MzA6IGNsYW5nKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1tYXJj aD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBl IC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4Y2Vw dGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMg LWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby1ydHRpIC1m ZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtTzIgLXBp cGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNy L2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gY29uZnRlc3QuQyAtbG0gIDE+JjUKL3RtcC9jb25mdGVzdC16T29jNDEubzogSW4gZnVu Y3Rpb24gYG1haW4nOgpjb25mdGVzdC5DOigudGV4dC5tYWluKzB4Nyk6IHVuZGVmaW5lZCByZWZl cmVuY2UgdG8gYG1lbWFsaWduJwpjbGFuZysrOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVk IHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEyNTA0ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25m ZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl ZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIG1l bWFsaWduKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkg Z2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19j cGx1c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBtZW1hbGln bigpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBk ZWZpbmVkIChfX3N0dWJfbWVtYWxpZ24pIHx8IGRlZmluZWQgKF9fc3R1Yl9fX21lbWFsaWduKQpj aG9rZSBtZQojZWxzZQptZW1hbGlnbigpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJl OjEyNDk5OiBjaGVja2luZyBmb3IgdmFsbG9jCmNvbmZpZ3VyZToxMjUzMDogY2xhbmcrKyAtbyBj b25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0 cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt V25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0 dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1z dGQ9Z251KysweCAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMg LWZuby1leGNlcHRpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16 LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5DIC1sbSAgMT4mNQpjb25maWd1 cmU6MTI1NjA6IGNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkKY29u ZmlndXJlOjEyNTcyOiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQg LW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt Zm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVt NCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMjU4Nzog Y2hlY2tpbmcgZm9yIF9fYXR0cmlidXRlX18oKG1hbGxvYykpCmNvbmZpZ3VyZToxMjU5OTogY2xh bmcrKyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0 cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt V25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0 dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1z dGQ9Z251KysweCAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMg LWZuby1leGNlcHRpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00 IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTI2MTQ6IGNoZWNraW5nIGZvciBfX2F0 dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKQpjb25maWd1cmU6MTI2MjY6IGNsYW5nKysg LWMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1m ZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdu dSsrMHggLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t ZXhjZXB0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25v LWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjEyNjQxOiBjaGVja2luZyBmb3IgX19hdHRyaWJ1 dGVfXygobm9yZXR1cm4pKQpjb25maWd1cmU6MTI2NTM6IGNsYW5nKysgLWMgLU8yIC1waXBlIC1t YXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1w aXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtZm5vLWV4 Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLWZuby1ydHRp IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+ JjUKY29uZmlndXJlOjEyNjc3OiBjaGVja2luZyBmb3IgTENfTUVTU0FHRVMKY29uZmlndXJlOjEy Njg5OiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt TzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1p c3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5j IDE+JjUKY29uZmlndXJlOjEyNzE1OiBjaGVja2luZyBmb3IgbG9jYWxlY29udgpjb25maWd1cmU6 MTI3NDM6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5l PXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRh LXNlY3Rpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8t ZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdp biAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jIC1sbSAgMT4mNQpjb25maWd1cmU6MTI5 Njk6IGNoZWNraW5nIGZvciBuc3ByLWNvbmZpZwpjb25maWd1cmU6MTMwMDQ6IGNoZWNraW5nIGZv ciBOU1BSIC0gdmVyc2lvbiA+PSA0LjkuMwpjb25maWd1cmU6MTMwNzI6IGNsYW5nIC1jIC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25z IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1JL3Vzci9sb2NhbC9pbmNsdWRl L25zcHIgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMzE0ODogY2hlY2tpbmcgZm9yIG5zcy1jb25maWcKY29u ZmlndXJlOjEzMTgzOiBjaGVja2luZyBmb3IgTlNTIC0gdmVyc2lvbiA+PSAzLjE0CmNvbmZpZ3Vy ZToxMzI3MzogY2hlY2tpbmcgZm9yIGpwZWdfZGVzdHJveV9jb21wcmVzcyBpbiAtbGpwZWcKY29u ZmlndXJlOjEzMjkyOiBjbGFuZyAtbyBjb25mdGVzdCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTzIg LXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIC1wdGhyZWFkICAt TC91c3IvbG9jYWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRo LFwkJE9SSUdJTiBjb25mdGVzdC5jIC1sanBlZyAgLWxtICAxPiY1CmNvbmZpZ3VyZToxMzMyODog Y2xhbmcgLWMgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAt bXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMzM3NjogY2hlY2tpbmcgZm9yIGd6cmVh ZCBpbiAtbHoKY29uZmlndXJlOjEzMzk1OiBjbGFuZyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1h cmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1t dHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9j YWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29uZnRlc3QuYyAtbHog IC1sbSAgMT4mNQpjb25maWd1cmU6MTM0MzA6IGNsYW5nIC1jIC1PMiAtcGlwZSAtbWFyY2g9cGVu dGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBl bnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTM0Nzc6IGNoZWNraW5nIGZv ciBCWjJfYnpyZWFkIGluIC1sYnoyCmNvbmZpZ3VyZToxMzQ5NjogY2xhbmcgLW8gY29uZnRlc3Qg LU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLU8yIC1waXBlIC1tYXJj aD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9j YWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9s aWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNv bmZ0ZXN0LmMgLWxiejIgIC1sbSAgMT4mNQpjb25maWd1cmU6MTM1NDU6IGNoZWNraW5nIGZvciBw bmdfZ2V0X3ZhbGlkIGluIC1scG5nCmNvbmZpZ3VyZToxMzU2NDogY2xhbmcgLW8gY29uZnRlc3Qg LUkvdXNyL2xvY2FsL2luY2x1ZGUgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVu dGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwv dXNyL2xvY2FsL2xpYiAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvbG9jYWwvbGli IC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gY29uZnRlc3QuYyAtbHBuZyAgLWxt ICAxPiY1CmNvbmZpZ3VyZToxMzU4NjogY2hlY2tpbmcgZm9yIHBuZ19nZXRfYWNUTCBpbiAtbHBu Zwpjb25maWd1cmU6MTM2MDU6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1PMiAtcGlwZSAtbWFy Y2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xv Y2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgLXB0aHJl YWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwt cnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgLWxwbmcgIC1sbSAgMT4mNQpjb25maWd1cmU6MTM2 NTM6IGNsYW5nIC1jIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1 bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mZnVuY3Rpb24tc2VjdGlv bnMgLWZkYXRhLXNlY3Rpb25zIC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRp dW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTM2OTU6IGNoZWNraW5nIGZvciBw a2ctY29uZmlnCmNvbmZpZ3VyZToxMzczOTogY2hlY2tpbmcgZm9yIGh1bnNwZWxsCmNvbmZpZ3Vy ZToxMzc0NjogY2hlY2tpbmcgTU9aX0hVTlNQRUxMX0NGTEFHUwpjb25maWd1cmU6MTM3NTE6IGNo ZWNraW5nIE1PWl9IVU5TUEVMTF9MSUJTCmNvbmZpZ3VyZToxMzg2MzogY2hlY2tpbmcgZm9yIGFw cGxpY2F0aW9uIHRvIGJ1aWxkCmNvbmZpZ3VyZToxMzg4MjogY2hlY2tpbmcgaWYgYXBwLXNwZWNp ZmljIGNvbmZ2YXJzLnNoIGV4aXN0cwpjb25maWd1cmU6MTQyMjk6IGNoZWNraW5nIGZvciBndGsr LTIuMCA+PSAyLjEwLjAgZ3RrKy11bml4LXByaW50LTIuMCBnbGliLTIuMCBnb2JqZWN0LTIuMCBn ZGsteDExLTIuMApjb25maWd1cmU6MTQyMzY6IGNoZWNraW5nIE1PWl9HVEsyX0NGTEFHUwpjb25m aWd1cmU6MTQyNDE6IGNoZWNraW5nIE1PWl9HVEsyX0xJQlMKY29uZmlndXJlOjE0MzQ1OiBjaGVj a2luZyBmb3IgbGlic3RhcnR1cC1ub3RpZmljYXRpb24tMS4wID49IDAuOApjb25maWd1cmU6MTQz NTI6IGNoZWNraW5nIE1PWl9TVEFSVFVQX05PVElGSUNBVElPTl9DRkxBR1MKY29uZmlndXJlOjE0 MzU3OiBjaGVja2luZyBNT1pfU1RBUlRVUF9OT1RJRklDQVRJT05fTElCUwpjb25maWd1cmU6MTQ2 OTA6IGNoZWNraW5nIGZvciBwYW5nbyA+PSAxLjE0LjAgcGFuZ29mdDIgPj0gMS4xNC4wCmNvbmZp Z3VyZToxNDY5NzogY2hlY2tpbmcgTU9aX1BBTkdPX0NGTEFHUwpjb25maWd1cmU6MTQ3MDI6IGNo ZWNraW5nIE1PWl9QQU5HT19MSUJTCmNvbmZpZ3VyZToxNTE1MzogY2hlY2tpbmcgZm9yIGdjb25m LTIuMCA+PSAxLjIuMSBnb2JqZWN0LTIuMCAKY29uZmlndXJlOjE1MTYwOiBjaGVja2luZyBNT1pf R0NPTkZfQ0ZMQUdTCmNvbmZpZ3VyZToxNTE2NTogY2hlY2tpbmcgTU9aX0dDT05GX0xJQlMKY29u ZmlndXJlOjE1MzAzOiBjaGVja2luZyBmb3IgZGJ1cy1nbGliLTEgPj0gMC42MApjb25maWd1cmU6 MTUzMTA6IGNoZWNraW5nIE1PWl9EQlVTX0dMSUJfQ0ZMQUdTCmNvbmZpZ3VyZToxNTMxNTogY2hl Y2tpbmcgTU9aX0RCVVNfR0xJQl9MSUJTCmNvbmZpZ3VyZToxNTk2ODogY2hlY2tpbmcgZm9yIHRh ciBhcmNoaXZlcgpjb25maWd1cmU6MTU5NzQ6IGNoZWNraW5nIGZvciBnbnV0YXIKY29uZmlndXJl OjE1OTc0OiBjaGVja2luZyBmb3IgZ3Rhcgpjb25maWd1cmU6MTYwMTE6IGNoZWNraW5nIGZvciB3 Z2V0CmNvbmZpZ3VyZToxNjAxNzogY2hlY2tpbmcgZm9yIHdnZXQKY29uZmlndXJlOjE2Mjg5OiBj aGVja2luZyBmb3Igc3FsaXRlMyA+PSAzLjcuMQpjb25maWd1cmU6MTYyOTY6IGNoZWNraW5nIFNR TElURV9DRkxBR1MKY29uZmlndXJlOjE2MzAxOiBjaGVja2luZyBTUUxJVEVfTElCUwpjb25maWd1 cmU6MTY1OTQ6IGNoZWNraW5nIGZvciB2YWxpZCBvcHRpbWl6YXRpb24gZmxhZ3MKY29uZmlndXJl OjE2NjA1OiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVt NCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtTzIgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJv ciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxNzMyNDogY2hlY2tpbmcgZm9yIF9fY3hhX2RlbWFuZ2xl CmNvbmZpZ3VyZToxNzM1NTogY2xhbmcrKyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLW1hcmNoPXBl bnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLW1h cmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1mbm8tZXhjZXB0aW9u cyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtZm5vLXJ0dGkgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1PMiAtcGlwZSAt bWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9j YWwvbGliIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJ TiBjb25mdGVzdC5DIC1sbSAgMT4mNQpjb25maWd1cmU6MTc0MDk6IGNoZWNraW5nIGZvciB1bndp bmQuaApjb25maWd1cmU6MTc0MTk6IGNsYW5nLWNwcCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00 IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9yIC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5v dXQKY29uZmlndXJlOjE3NDE1OjEwOiBmYXRhbCBlcnJvcjogJ3Vud2luZC5oJyBmaWxlIG5vdCBm b3VuZAojaW5jbHVkZSA8dW53aW5kLmg+CiAgICAgICAgIF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxNzQxNCAiY29uZmlndXJlIgojaW5j bHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHVud2luZC5oPgpjb25maWd1cmU6MTc2MTA6IGNo ZWNraW5nIGZvciBnY2MgLXBpcGUgc3VwcG9ydApkdW1teS1oZWxsby5jOjI6Mzk6IHdhcm5pbmc6 IGltcGxpY2l0bHkgZGVjbGFyaW5nIEMgbGlicmFyeSBmdW5jdGlvbiAnZXhpdCcgd2l0aCB0eXBl ICd2b2lkIChpbnQpIF9fYXR0cmlidXRlX18oKG5vcmV0dXJuKSknCmludCBtYWluKCkgeyBwcmlu dGYoIkhlbGxvIFdvcmxkXG4iKTsgZXhpdCgwKTsgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KZHVtbXktaGVsbG8uYzoyOjM5OiBub3RlOiBwbGVhc2UgaW5jbHVkZSB0 aGUgaGVhZGVyIDxzdGRsaWIuaD4gb3IgZXhwbGljaXRseSBwcm92aWRlIGEgZGVjbGFyYXRpb24g Zm9yICdleGl0JwoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpjb25maWd1cmU6MTc2MzI6IGNsYW5nIC1j IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1waXBlIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpj b25maWd1cmU6MTc2NjI6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBzdXBwb3J0cyAtZnBy b2ZpbGUtZ2VuZXJhdGUKY29uZmlndXJlOjE3NjcxOiBjbGFuZyAtYyAtTzIgLXBpcGUgLW1hcmNo PXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtcGlwZSAtZnByb2ZpbGUtZ2VuZXJhdGUgLWZwcm9m aWxlLWNvcnJlY3Rpb24gLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQg LVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNsYW5nOiB3YXJuaW5nOiBhcmd1bWVudCB1bnVzZWQgZHVy aW5nIGNvbXBpbGF0aW9uOiAnLWZwcm9maWxlLWdlbmVyYXRlJwpjbGFuZzogd2FybmluZzogYXJn dW1lbnQgdW51c2VkIGR1cmluZyBjb21waWxhdGlvbjogJy1mcHJvZmlsZS1jb3JyZWN0aW9uJwpj b25maWd1cmU6MTc3Njk6IGNoZWNraW5nIGZvciBjb3JyZWN0IHRlbXBvcmFyeSBvYmplY3QgZGVz dHJ1Y3Rpb24gb3JkZXIKY29uZmlndXJlOjE3Nzk3OiBjbGFuZysrIC1vIGNvbmZ0ZXN0IC1PMiAt cGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1PMiAtcGlwZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcg LWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1m bm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlv bnMgLXBpcGUgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1l cnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg LXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2lu IC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LkMgLWxtICAxPiY1CmNvbmZpZ3VyZToxNzgx ODogY2hlY2tpbmcgZm9yIGNvcnJlY3Qgb3ZlcmxvYWQgcmVzb2x1dGlvbiB3aXRoIGNvbnN0IGFu ZCB0ZW1wbGF0ZXMKY29uZmlndXJlOjE3ODUzOiBjbGFuZysrIC1jIC1PMiAtcGlwZSAtbWFyY2g9 cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAt bWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWZuby1leGNlcHRp b25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1mbm8tcnR0aSAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXBpcGUgIC1X YWxsIC1XcG9pbnRlci1hcml0aCAtV292ZXJsb2FkZWQtdmlydHVhbCAtV2Vycm9yPXJldHVybi10 eXBlIC1XdHlwZS1saW1pdHMgLVdlbXB0eS1ib2R5IC1XZXJyb3I9Y29udmVyc2lvbi1udWxsIC1X bm8tY3Rvci1kdG9yLXByaXZhY3kgLVduby1vdmVybGVuZ3RoLXN0cmluZ3MgLVduby1pbnZhbGlk LW9mZnNldG9mIC1Xbm8tdmFyaWFkaWMtbWFjcm9zIC1Xbm8tYysrMHgtZXh0ZW5zaW9ucyAtV25v LWV4dGVuZGVkLW9mZnNldG9mIC1Xbm8tdW5rbm93bi13YXJuaW5nLW9wdGlvbiAtV25vLXJldHVy bi10eXBlLWMtbGlua2FnZSAtV25vLW1pc21hdGNoZWQtdGFncyAtV25vLXVua25vd24td2Fybmlu Zy1vcHRpb24gLVduby1yZXR1cm4tdHlwZS1jLWxpbmthZ2UgLVduby1taXNtYXRjaGVkLXRhZ3Mg LU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAt aXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3Qu QyAxPiY1CmNvbmZpZ3VyZToxODAyNjogY2hlY2tpbmcgZm9yIGdsaWItMi4wID49IDEuMy43IGdv YmplY3QtMi4wCmNvbmZpZ3VyZToxODAzMzogY2hlY2tpbmcgR0xJQl9DRkxBR1MKY29uZmlndXJl OjE4MDM4OiBjaGVja2luZyBHTElCX0xJQlMKY29uZmlndXJlOjE4MDk5OiBjaGVja2luZyBmb3Ig c3RkaW50LmgKY29uZmlndXJlOjE4MTA5OiBjbGFuZy1jcHAgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRl c3Qub3V0CmNvbmZpZ3VyZToxODA5OTogY2hlY2tpbmcgZm9yIGludHR5cGVzLmgKY29uZmlndXJl OjE4MTA5OiBjbGFuZy1jcHAgLU8yIC1waXBlIC1tYXJjaD1wZW50aXVtNCAtbXR1bmU9cGVudGl1 bTQgLVduby1lcnJvciAtdyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTox ODA5OTogY2hlY2tpbmcgZm9yIHN5cy9pbnRfdHlwZXMuaApjb25maWd1cmU6MTgxMDk6IGNsYW5n LWNwcCAtTzIgLXBpcGUgLW1hcmNoPXBlbnRpdW00IC1tdHVuZT1wZW50aXVtNCAtV25vLWVycm9y IC13IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25m dGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjE4MTA1OjEwOiBmYXRh bCBlcnJvcjogJ3N5cy9pbnRfdHlwZXMuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHN5cy9p bnRfdHlwZXMuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDE4MTA0ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVm cy5oIgojaW5jbHVkZSA8c3lzL2ludF90eXBlcy5oPgpjb25maWd1cmU6MTgxOTk6IGNoZWNraW5n IGZvciBjYWlybyA+PSAxLjEwIHBpeG1hbi0xIGZyZWV0eXBlMiBmb250Y29uZmlnCmNvbmZpZ3Vy ZToxODIwNjogY2hlY2tpbmcgQ0FJUk9fQ0ZMQUdTCmNvbmZpZ3VyZToxODIxMTogY2hlY2tpbmcg Q0FJUk9fTElCUwpjb25maWd1cmU6MTgyOTI6IGNoZWNraW5nIGZvciBjYWlyby14bGliLXhyZW5k ZXIgPj0gMS4xMApjb25maWd1cmU6MTgyOTk6IGNoZWNraW5nIENBSVJPX1hSRU5ERVJfQ0ZMQUdT CmNvbmZpZ3VyZToxODMwNDogY2hlY2tpbmcgQ0FJUk9fWFJFTkRFUl9MSUJTCmNvbmZpZ3VyZTox ODkxMjogY2xhbmcgLWMgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1XZGVjbGFyYXRpb24tYWZ0ZXIt c3RhdGVtZW50IC1XZXJyb3I9cmV0dXJuLXR5cGUgLVd0eXBlLWxpbWl0cyAtV2VtcHR5LWJvZHkg LVduby11bnVzZWQgLVduby1vdmVybGVuZ3RoLXN0cmluZ3MgLU8yIC1waXBlIC1tYXJjaD1wZW50 aXVtNCAtbXR1bmU9cGVudGl1bTQgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1PMiAtcGlw ZSAtbWFyY2g9cGVudGl1bTQgLW10dW5lPXBlbnRpdW00IC1Xbm8tZXJyb3IgLXcgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpT dGFjayBkdW1wOgowLglQcm9ncmFtIGFyZ3VtZW50czogL3Vzci9iaW4vY2xhbmcgLWNjMSAtdHJp cGxlIGkzODYtdW5rbm93bi1mcmVlYnNkOS4wIC1lbWl0LW9iaiAtZGlzYWJsZS1mcmVlIC1tYWlu LWZpbGUtbmFtZSBjb25mdGVzdC5jIC1tcmVsb2NhdGlvbi1tb2RlbCBzdGF0aWMgLW1kaXNhYmxl LWZwLWVsaW0gLXJlbGF4ZWQtYWxpYXNpbmcgLW1hc20tdmVyYm9zZSAtbWNvbnN0cnVjdG9yLWFs aWFzZXMgLXRhcmdldC1jcHUgcGVudGl1bTQgLW1vbWl0LWxlYWYtZnJhbWUtcG9pbnRlciAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mZGF0 YS1zZWN0aW9ucyAtY292ZXJhZ2UtZmlsZSBjb25mdGVzdC5vIC1yZXNvdXJjZS1kaXIgL3Vzci9i aW4vLi4vbGliL2NsYW5nLzMuMCAtaXN5c3RlbSAvdXNyL2xvY2FsL2luY2x1ZGUgLUkgL3Vzci9s b2NhbC9pbmNsdWRlIC1JIC91c3IvbG9jYWwvaW5jbHVkZSAtZm1vZHVsZS1jYWNoZS1wYXRoIC90 bXAvY2xhbmctbW9kdWxlLWNhY2hlIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVdkZWNsYXJh dGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlcnJvcj1yZXR1cm4tdHlwZSAtV3R5cGUtbGltaXRzIC1X ZW1wdHktYm9keSAtV25vLXVudXNlZCAtV25vLW92ZXJsZW5ndGgtc3RyaW5ncyAtV25vLWVycm9y IC13IC1mZXJyb3ItbGltaXQgMTkgLWZtZXNzYWdlLWxlbmd0aCAwIC1mZ251LXJ1bnRpbWUgLWZv YmpjLXJ1bnRpbWUtaGFzLWFyYyAtZm9iamMtcnVudGltZS1oYXMtd2VhayAtZm9iamMtZnJhZ2ls ZS1hYmkgLWZkaWFnbm9zdGljcy1zaG93LW9wdGlvbiAtbyBjb25mdGVzdC5vIC14IGMgY29uZnRl c3QuYyAKMS4JPGVvZj4gcGFyc2VyIGF0IGVuZCBvZiBmaWxlCjIuCWNvbmZpZ3VyZToxODkwMTo1 OiBMTFZNIElSIGdlbmVyYXRpb24gb2YgZGVjbGFyYXRpb24gJ21haW4nCjMuCWNvbmZpZ3VyZTox ODkwMTo1OiBHZW5lcmF0aW5nIGNvZGUgZm9yIGRlY2xhcmF0aW9uICdtYWluJwo0Lgljb25maWd1 cmU6MTg5MDE6MTI6IExMVk0gSVIgZ2VuZXJhdGlvbiBvZiBjb21wb3VuZCBzdGF0ZW1lbnQgKCd7 fScpCjUuCWNvbmZpZ3VyZToxODkwNDo0OTogTExWTSBJUiBnZW5lcmF0aW9uIG9mIGNvbXBvdW5k IHN0YXRlbWVudCAoJ3t9JykKY2xhbmc6IGVycm9yOiB1bmFibGUgdG8gZXhlY3V0ZSBjb21tYW5k OiBJbGxlZ2FsIGluc3RydWN0aW9uOiA0IChjb3JlIGR1bXBlZCkKY2xhbmc6IGVycm9yOiBjbGFu ZyBmcm9udGVuZCBjb21tYW5kIGZhaWxlZCBkdWUgdG8gc2lnbmFsIDIgKHVzZSAtdiB0byBzZWUg aW52b2NhdGlvbikKY2xhbmc6IG5vdGU6IGRpYWdub3N0aWMgbXNnOiBQbGVhc2Ugc3VibWl0IGEg YnVnIHJlcG9ydCB0byBodHRwOi8vbGx2bS5vcmcvYnVncy8gYW5kIGluY2x1ZGUgY29tbWFuZCBs aW5lIGFyZ3VtZW50cyBhbmQgYWxsIGRpYWdub3N0aWMgaW5mb3JtYXRpb24uCmNsYW5nOiBub3Rl OiBkaWFnbm9zdGljIG1zZzogUHJlcHJvY2Vzc2VkIHNvdXJjZShzKSBhcmUgbG9jYXRlZCBhdDoK Y2xhbmc6IG5vdGU6IGRpYWdub3N0aWMgbXNnOiAvdG1wL2NvbmZ0ZXN0LTNIODB1Wi5pCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxODg5NCAiY29uZmlndXJlIgojaW5jbHVk ZSAiY29uZmRlZnMuaCIKCiAgICAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+CiAgICAgICAgI2luY2x1 ZGUgPHN0ZGxpYi5oPgogICAgICAgICNpbmNsdWRlIDxYMTEvWGxpYi5oPgogICAgICAgICNpbmNs dWRlIDxYMTEvSW50cmluc2ljLmg+CiAgICAKaW50IG1haW4oKSB7CgogICAgICAgIERpc3BsYXkg KmRweSA9IDA7CiAgICAgICAgaWYgKChkcHkgPSBYT3BlbkRpc3BsYXkoTlVMTCkpID09IE5VTEwp IHsKICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICI6IGNhbid0IG9wZW4gJXNcbiIsIFhEaXNw bGF5TmFtZShOVUxMKSk7CiAgICAgICAgICAgIGV4aXQoMSk7CiAgICAgICAgfQogICAgCjsgcmV0 dXJuIDA7IH0K --20cf30334f4b063c6704d7bae9c9--