From owner-freebsd-gecko@FreeBSD.ORG Tue Oct 30 17:54:33 2012 Return-Path: Delivered-To: gecko@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id AAA1362D for ; Tue, 30 Oct 2012 17:54:33 +0000 (UTC) (envelope-from izen@mail.ru) Received: from fallback3.mail.ru (fallback3.mail.ru [94.100.176.58]) by mx1.freebsd.org (Postfix) with ESMTP id 1E2ED8FC12 for ; Tue, 30 Oct 2012 17:54:31 +0000 (UTC) Received: from smtp10.mail.ru (smtp10.mail.ru [94.100.176.152]) by fallback3.mail.ru (mPOP.Fallback_MX) with ESMTP id F1F47C4801CD for ; Tue, 30 Oct 2012 21:51:28 +0400 (MSK) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail; h=Content-Type:Subject:To:MIME-Version:From:Date:Message-ID; bh=/yfdFQSQBTFfoJlYdJKUn57XxzeY6OzqOj1MCW6AVKY=; b=G+UcubdgUAhprRFGanTy1bPb8EpicJcHxIHhlpmWpwM9sv9NGxwnEbFz818AIKUBge4qj6Uf3hrqDUd8SMfzk/Yr5m0MyaDuxzNJkajvWguSU4DJrbFePVtBM2um/blP; Received: from [87.119.232.82] (port=27044 helo=roxy.fire) by smtp10.mail.ru with esmtpa (envelope-from ) id 1TTFyD-0005xY-F3 for gecko@FreeBSD.org; Tue, 30 Oct 2012 21:51:22 +0400 Message-ID: <50901398.6010101@mail.ru> Date: Tue, 30 Oct 2012 21:51:20 +0400 From: iZEN User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:16.0) Gecko/20121012 Thunderbird/16.0.1 MIME-Version: 1.0 To: gecko@FreeBSD.org Subject: Stop in /usr/ports/www/firefox. Content-Type: multipart/mixed; boundary="------------040905040604010800030902" X-Spam: Not detected X-Mras: Ok X-Content-Filtered-By: Mailman/MimeDel 2.1.14 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, 30 Oct 2012 17:54:33 -0000 This is a multi-part message in MIME format. --------------040905040604010800030902 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit See include --------------040905040604010800030902 Content-Type: text/plain; charset=UTF-8; name="config.log" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.log" VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMg d2hpbGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJl IG1ha2VzIGEgbWlzdGFrZS4KCmNvbmZpZ3VyZToxMDkzOiBjaGVja2luZyBob3N0IHN5c3Rl bSB0eXBlCmNvbmZpZ3VyZToxMTE0OiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUKY29u ZmlndXJlOjExMzI6IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToxMjEx OiBjaGVja2luZyBmb3IgbWF3awpjb25maWd1cmU6MTIxMTogY2hlY2tpbmcgZm9yIGdhd2sK Y29uZmlndXJlOjEyMTE6IGNoZWNraW5nIGZvciBuYXdrCmNvbmZpZ3VyZToxNDYzOiBjaGVj a2luZyBmb3IgL3Vzci9sb2NhbC9iaW4vcGVybApjb25maWd1cmU6MjcxMDogY2hlY2tpbmcg Zm9yIGdjYwpjb25maWd1cmU6MjgyMzogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxl ciAoY2MgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtTC91c3IvbG9jYWwvbGli IC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4pIHdvcmtzCmNvbmZpZ3VyZToy ODM5OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdp biAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToyODM2 OjE6IHdhcm5pbmc6IHR5cGUgc3BlY2lmaWVyIG1pc3NpbmcsIGRlZmF1bHRzIHRvICdpbnQn IFstV2ltcGxpY2l0LWludF0KbWFpbigpe3JldHVybigwKTt9Cl5+fn4KMSB3YXJuaW5nIGdl bmVyYXRlZC4KY29uZmlndXJlOjI4NjU6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGls ZXIgKGNjIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgLUwvdXNyL2xvY2FsL2xp YiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOKSBpcyBhIGNyb3NzLWNvbXBp bGVyCmNvbmZpZ3VyZToyODcwOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUg Qwpjb25maWd1cmU6Mjg3OTogY2MgLUUgY29uZnRlc3QuYwpjb25maWd1cmU6Mjg5ODogY2hl Y2tpbmcgd2hldGhlciBjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZToyOTM5OiBjaGVja2luZyBm b3IgYysrCmNvbmZpZ3VyZToyOTcxOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGls ZXIgKGMrKyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1ML3Vzci9sb2NhbC9s aWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTikgd29ya3MKY29uZmlndXJl OjI5ODc6IGMrKyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9y aWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5DICAxPiY1CmNvbmZpZ3VyZToz MDEzOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgKGMrKyAtTzIgLXBpcGUg LWZuby1zdHJpY3QtYWxpYXNpbmcgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTikgaXMgYSBjcm9zcy1jb21waWxlcgpjb25maWd1cmU6MzAx ODogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgR05VIEMrKwpjb25maWd1cmU6MzAy NzogYysrIC1FIGNvbmZ0ZXN0LkMKY29uZmlndXJlOjMwNDY6IGNoZWNraW5nIHdoZXRoZXIg YysrIGFjY2VwdHMgLWcKY29uZmlndXJlOjMwODA6IGNoZWNraW5nIGZvciByYW5saWIKY29u ZmlndXJlOjMxMTI6IGNoZWNraW5nIGZvciBhcwpjb25maWd1cmU6MzE2NjogY2hlY2tpbmcg Zm9yIGFyCmNvbmZpZ3VyZTozMjAxOiBjaGVja2luZyBmb3IgbGQKY29uZmlndXJlOjMyMzY6 IGNoZWNraW5nIGZvciBzdHJpcApjb25maWd1cmU6MzI3MTogY2hlY2tpbmcgZm9yIHdpbmRy ZXMKY29uZmlndXJlOjQwODM6IGNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vz c29yCmNvbmZpZ3VyZTo0MTYzOiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJv Y2Vzc29yCmNvbmZpZ3VyZTo0MTgxOiBjKysgLUUgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuQyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTo0MjU2 OiBjaGVja2luZyBmb3IgYSBCU0QgY29tcGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3VyZTo0MzA5 OiBjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzCmNvbmZpZ3VyZTo0MzMyOiBjaGVja2lu ZyBmb3IgbWluaW11bSByZXF1aXJlZCBwZXJsIHZlcnNpb24gPj0gNS4wMDYKY29uZmlndXJl OjQzNDM6IGNoZWNraW5nIGZvciBmdWxsIHBlcmwgaW5zdGFsbGF0aW9uCmNvbmZpZ3VyZTo0 MzU4OiBjaGVja2luZyBmb3IgL3Vzci9sb2NhbC9iaW4vcHl0aG9uMi43CmNvbmZpZ3VyZTo0 NDM3OiBjaGVja2luZyBmb3IgZG94eWdlbgpjb25maWd1cmU6NDQ4NjogY2hlY2tpbmcgZm9y IGF1dG9jb25mCmNvbmZpZ3VyZTo0NTM3OiBjaGVja2luZyBmb3IgdW56aXAKY29uZmlndXJl OjQ1OTM6IGNoZWNraW5nIGZvciB6aXAKY29uZmlndXJlOjQ2NDc6IGNoZWNraW5nIGZvciBt YWtlZGVwZW5kCmNvbmZpZ3VyZTo0Njk1OiBjaGVja2luZyBmb3IgeGFyZ3MKY29uZmlndXJl OjQ3NDc6IGNoZWNraW5nIGZvciBycG1idWlsZApjb25maWd1cmU6NTAzMzogY2hlY2tpbmcg Y29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6NTEwNzogY2hlY2tpbmcgZm9yIGdtYWtlCmNv bmZpZ3VyZTo1MTc0OiBjaGVja2luZyBmb3IgWApjb25maWd1cmU6NTQ4ODogY2hlY2tpbmcg Zm9yIGRuZXRfbnRvYSBpbiAtbGRuZXQKY29uZmlndXJlOjU1MDc6IGNjIC1vIGNvbmZ0ZXN0 IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJ R0lOIGNvbmZ0ZXN0LmMgLWxkbmV0ICAgMT4mNQovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQg LWxkbmV0CmNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2Rl IDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CiNsaW5lIDU0OTYgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8q IE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv ci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1 cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgZG5ldF9udG9hKCk7CgppbnQg bWFpbigpIHsKZG5ldF9udG9hKCkKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6NTUyOTogY2hl Y2tpbmcgZm9yIGRuZXRfbnRvYSBpbiAtbGRuZXRfc3R1Ygpjb25maWd1cmU6NTU0ODogY2Mg LW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1y cGF0aCxcJCRPUklHSU4gY29uZnRlc3QuYyAtbGRuZXRfc3R1YiAgIDE+JjUKL3Vzci9iaW4v bGQ6IGNhbm5vdCBmaW5kIC1sZG5ldF9zdHViCmNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQg ZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDU1MzcgImNvbmZpZ3VyZSIKI2lu Y2x1ZGUgImNvbmZkZWZzLmgiCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3Rv dHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50 IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNo YXIgZG5ldF9udG9hKCk7CgppbnQgbWFpbigpIHsKZG5ldF9udG9hKCkKOyByZXR1cm4gMDsg fQpjb25maWd1cmU6NTU3NzogY2hlY2tpbmcgZm9yIGdldGhvc3RieW5hbWUKY29uZmlndXJl OjU2MDU6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt aXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3Jp Z2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjU2 NzU6IGNoZWNraW5nIGZvciBjb25uZWN0CmNvbmZpZ3VyZTo1NzAzOiBjYyAtbyBjb25mdGVz dCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9S SUdJTiBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZTo1NzY3OiBjaGVja2luZyBmb3IgcmVt b3ZlCmNvbmZpZ3VyZTo1Nzk1OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9s aWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiBjb25mdGVzdC5jICAxPiY1 CmNvbmZpZ3VyZTo1ODU5OiBjaGVja2luZyBmb3Igc2htYXQKY29uZmlndXJlOjU4ODc6IGNj IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwt cnBhdGgsXCQkT1JJR0lOIGNvbmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjU5NjA6IGNoZWNr aW5nIGZvciBJY2VDb25uZWN0aW9uTnVtYmVyIGluIC1sSUNFCmNvbmZpZ3VyZTo1OTc5OiBj YyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2ws LXJwYXRoLFwkJE9SSUdJTiAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxJQ0UgICAx PiY1CmNvbmZpZ3VyZTo2MzkwOiBjYyAtYyAgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg Y29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo2Mzg2OjE1OiBlcnJvcjogdXNlIG9mIHVuZGVj bGFyZWQgaWRlbnRpZmllciAnX190aHVtYjJfXycKcmV0dXJuIHNpemVvZihfX3RodW1iMl9f KTsKICAgICAgICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKI2xpbmUgNjM4MyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRl ZnMuaCIKCmludCBtYWluKCkgewpyZXR1cm4gc2l6ZW9mKF9fdGh1bWIyX18pOwo7IHJldHVy biAwOyB9CmNvbmZpZ3VyZTo2NTc1OiBjaGVja2luZyB0aGF0IHN0YXRpYyBhc3NlcnRpb24g bWFjcm9zIHVzZWQgaW4gYXV0b2NvbmYgdGVzdHMgd29yawpjb25maWd1cmU6NjU5NjogY2Mg LWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6NjYxMzogY2MgLWMgLU8yIC1waXBl IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgMT4mNQpjb25maWd1cmU6NjYxMzoxOiBlcnJvcjogJ3N0YXRpY19hc3NlcnRfbGlu ZV82NjEzJyBkZWNsYXJlZCBhcyBhbiBhcnJheSB3aXRoIGEgbmVnYXRpdmUgc2l6ZQpDT05G SUdVUkVfU1RBVElDX0FTU0VSVCgwKQpefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjb25m aWd1cmU6NjYwODo0NDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnQ09ORklHVVJFX1NU QVRJQ19BU1NFUlQnCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9u KSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTo2 NjA5OjU1OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdDT05GSUdVUkVfU1RBVElDX0FT U0VSVF9JTVBMJwojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0 aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxp bmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KY29uZmlndXJlOjY2MTA6OTQ6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0NP TkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyJwojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNf QVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fzc2Vy dF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KMSBlcnJvciBnZW5l cmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA2NjA2ICJjb25m aWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2RlZmluZSBDT05GSUdVUkVfU1RBVElD X0FTU0VSVChjb25kaXRpb24pIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29uZGl0 aW9uLCBfX0xJTkVfXykKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNv bmRpdGlvbiwgbGluZSkgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9u LCBsaW5lKQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlv biwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fzc2VydF9saW5lXyMjbGluZVsoY29uZGl0 aW9uKSA/IDEgOiAtMV0KCmludCBtYWluKCkgewpDT05GSUdVUkVfU1RBVElDX0FTU0VSVCgw KQo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo2NjM2OiBjKysgLWMgLU8yIC1waXBlIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMg MT4mNQpjb25maWd1cmU6NjY1MzogYysrIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh c2luZyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmln dXJlOjY2NTM6MTogZXJyb3I6ICdzdGF0aWNfYXNzZXJ0X2xpbmVfNjY1MycgZGVjbGFyZWQg YXMgYW4gYXJyYXkgd2l0aCBhIG5lZ2F0aXZlIHNpemUKQ09ORklHVVJFX1NUQVRJQ19BU1NF UlQoMCkKXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY29uZmlndXJlOjY2NDg6NDQ6IG5v dGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0NPTkZJR1VSRV9TVEFUSUNfQVNTRVJUJwojZGVm aW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKGNvbmRpdGlvbikgQ09ORklHVVJFX1NUQVRJ Q19BU1NFUlRfSU1QTChjb25kaXRpb24sIF9fTElORV9fKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6NjY0OTo1NTogbm90ZTogZXhw YW5kZWQgZnJvbSBtYWNybyAnQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTCcKI2RlZmlu ZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgbGluZSkgQ09ORklH VVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBsaW5lKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTo2 NjUwOjk0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdDT05GSUdVUkVfU1RBVElDX0FT U0VSVF9JTVBMMicKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25k aXRpb24sIGxpbmUpIHR5cGVkZWYgaW50IHN0YXRpY19hc3NlcnRfbGluZV8jI2xpbmVbKGNv bmRpdGlvbikgPyAxIDogLTFdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjY0NiAiY29uZmlndXJlIgojaW5jbHVkZSAi Y29uZmRlZnMuaCIKCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoY29uZGl0aW9u KSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlvbiwgX19MSU5FX18pCiNk ZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIGxpbmUpIENP TkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkKI2RlZmluZSBD T05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpIHR5cGVkZWYg aW50IHN0YXRpY19hc3NlcnRfbGluZV8jI2xpbmVbKGNvbmRpdGlvbikgPyAxIDogLTFdCgpp bnQgbWFpbigpIHsKQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoMCkKOyByZXR1cm4gMDsgfQpj b25maWd1cmU6Njc4ODogY2hlY2tpbmcgZm9yIC0tbm9leGVjc3RhY2sgb3B0aW9uIHRvIGFz CmNvbmZpZ3VyZTo2Nzk5OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZuby1zdHJpY3QtYWxpYXNpbmcgLVdhLC0tbm9leGVjc3RhY2sgLVF1bnVzZWQtYXJndW1l bnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1 cmU6NjgxMjogY2hlY2tpbmcgZm9yIC16IG5vZXhlY3N0YWNrIG9wdGlvbiB0byBsZApjb25m aWd1cmU6NjgyMzogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwt cnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1CmNv bmZpZ3VyZTo2ODM3OiBjaGVja2luZyBpZiB0b29sY2hhaW4gc3VwcG9ydHMgLW1zc3NlMyBv cHRpb24KY29uZmlndXJlOjY4NDk6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtbXNzc2UzIC1RdW51c2VkLWFyZ3VtZW50cyAt aXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjY4 NzU6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgc3VwcG9ydHMgLVdlcnJvcj1y ZXR1cm4tdHlwZQpjb25maWd1cmU6Njg5ODogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVdlcnJvcj1yZXR1cm4t dHlwZSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo2OTI2OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHN1cHBvcnRzIC1XdHlwZS1saW1pdHMKY29uZmlndXJlOjY5NDk6IGNjIC1jIC1P MiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vy cm9yIC1XdHlwZS1saW1pdHMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6Njk3NzogY2hlY2tpbmcgd2hl dGhlciB0aGUgQyBjb21waWxlciBzdXBwb3J0cyAtV2VtcHR5LWJvZHkKY29uZmlndXJlOjcw MDA6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1h bGlhc2luZyAtV2Vycm9yIC1XZW1wdHktYm9keSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo3MDM0OiBj aGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIC1Xbm8tb3Zlcmxlbmd0 aC1zdHJpbmdzCmNvbmZpZ3VyZTo3MDU3OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV292ZXJsZW5ndGgtc3Ry aW5ncyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29u ZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo3MTQxOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysg Y29tcGlsZXIgc3VwcG9ydHMgLVdlcnJvcj1yZXR1cm4tdHlwZQpjb25maWd1cmU6NzE2NDog YysrIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMg LWZuby1zdHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV2Vycm9yPXJldHVybi10eXBlIC1RdW51 c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+ JjUKY29uZmlndXJlOjcxOTI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBz dXBwb3J0cyAtV3R5cGUtbGltaXRzCmNvbmZpZ3VyZTo3MjE1OiBjKysgLWMgLU8yIC1waXBl IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlh c2luZyAtV2Vycm9yIC1XdHlwZS1saW1pdHMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6NzI0MzogY2hl Y2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIC1XZW1wdHktYm9keQpj b25maWd1cmU6NzI2NjogYysrIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt Zm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdlcnJvciAtV2VtcHR5LWJv ZHkgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0 ZXN0LkMgMT4mNQpjb25maWd1cmU6NzMwMjogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNv bXBpbGVyIHN1cHBvcnRzIC1Xbm8tb3Zlcmxlbmd0aC1zdHJpbmdzCmNvbmZpZ3VyZTo3MzI1 OiBjKysgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9u cyAtZm5vLXN0cmljdC1hbGlhc2luZyAtV2Vycm9yIC1Xb3Zlcmxlbmd0aC1zdHJpbmdzIC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5D IDE+JjUKY29uZmlndXJlOjczNTM6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxl ciBzdXBwb3J0cyAtV25vLWludmFsaWQtb2Zmc2V0b2YKY29uZmlndXJlOjczNzY6IGMrKyAt YyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1XZXJyb3IgLVdpbnZhbGlkLW9mZnNldG9mIC1RdW51c2VkLWFy Z3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29u ZmlndXJlOjc0MDQ6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0 cyAtV25vLXZhcmlhZGljLW1hY3Jvcwpjb25maWd1cmU6NzQyNzogYysrIC1jIC1PMiAtcGlw ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxp YXNpbmcgLVdlcnJvciAtV3ZhcmlhZGljLW1hY3JvcyAtUXVudXNlZC1hcmd1bWVudHMgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZTo3NDc5 OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgLVduby1leHRl bmRlZC1vZmZzZXRvZgpjb25maWd1cmU6NzUwMjogYysrIC1jIC1PMiAtcGlwZSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLVdl cnJvciAtV2V4dGVuZGVkLW9mZnNldG9mIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjc1NDA6IGNoZWNr aW5nIHdoZXRoZXIgbGQgaGFzIGFyY2hpdmUgZXh0cmFjdGlvbiBmbGFncwpjb25maWd1cmU6 NzU2NDogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9j YWwvaW5jbHVkZSAtV2wsLS13aG9sZS1hcmNoaXZlIGNvbmZ0ZXN0LmMgLVdsLC0tbm8td2hv bGUtYXJjaGl2ZSAxPiY1CmNvbmZpZ3VyZTo3NTk5OiBjaGVja2luZyBmb3IgNjQtYml0IE9T CmNvbmZpZ3VyZTo3NjA4OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZuby1zdHJpY3QtYWxpYXNpbmcgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6Nzk1NzogY2hlY2tpbmcg Zm9yIFB5dGhvbiB2ZXJzaW9uID49IDIuNSBidXQgbm90IDMueApjb25maWd1cmU6Nzk2ODog Y2hlY2tpbmcgZm9yIGN1c3RvbSA8c3RkaW50Lmg+IGltcGxlbWVudGF0aW9uCmNvbmZpZ3Vy ZTo5MTEzOiBjaGVja2luZyB3aGV0aGVyIHRoZSBsaW5rZXIgc3VwcG9ydHMgSWRlbnRpY2Fs IENvZGUgRm9sZGluZwpjb25maWd1cmU6OTEyMjogY2MgLW8gY29uZnRlc3QgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9l eGVjc3RhY2sgLVdsLC0taWNmPXNhZmUgLWZmdW5jdGlvbi1zZWN0aW9ucyBjb25mdGVzdC5j ICAxPiYyCi91c3IvYmluL2xkOiB1bnJlY29nbml6ZWQgb3B0aW9uICctLWljZj1zYWZlJwov dXNyL2Jpbi9sZDogdXNlIHRoZSAtLWhlbHAgb3B0aW9uIGZvciB1c2FnZSBpbmZvcm1hdGlv bgpjYzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1 c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3VyZTo5MTkzOiBjaGVja2luZyBmb3Ig QU5TSSBDIGhlYWRlciBmaWxlcwpjb25maWd1cmU6OTIwNjogY3BwIC1RdW51c2VkLWFyZ3Vt ZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwg Mj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjkyNzM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2ws LXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQpj b25maWd1cmU6OTI2ODo2Nzogd2FybmluZzogaW1wbGljaXRseSBkZWNsYXJpbmcgbGlicmFy eSBmdW5jdGlvbiAnZXhpdCcgd2l0aCB0eXBlICd2b2lkIChpbnQpIF9fYXR0cmlidXRlX18o KG5vcmV0dXJuKSknCmlmIChYT1IgKGlzbG93ZXIgKGkpLCBJU0xPV0VSIChpKSkgfHwgdG91 cHBlciAoaSkgIT0gVE9VUFBFUiAoaSkpIGV4aXQoMik7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZmln dXJlOjkyNjg6Njc6IG5vdGU6IHBsZWFzZSBpbmNsdWRlIHRoZSBoZWFkZXIgPHN0ZGxpYi5o PiBvciBleHBsaWNpdGx5IHByb3ZpZGUgYSBkZWNsYXJhdGlvbiBmb3IgJ2V4aXQnCjEgd2Fy bmluZyBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTo5Mjk3OiBjaGVja2luZyBmb3Igd29ya2luZyBj b25zdApjb25maWd1cmU6OTM1MTogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBj b25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjkzNzI6IGNoZWNraW5nIGZvciBtb2RlX3QKY29u ZmlndXJlOjk0MDU6IGNoZWNraW5nIGZvciBvZmZfdApjb25maWd1cmU6OTQzODogY2hlY2tp bmcgZm9yIHBpZF90CmNvbmZpZ3VyZTo5NDcxOiBjaGVja2luZyBmb3Igc2l6ZV90CmNvbmZp Z3VyZTo5NTExOiBjaGVja2luZyBmb3IgX19zdGRjYWxsCmNvbmZpZ3VyZTo5NTI1OiBjKysg LWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEt c2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjk1NTQ6IGNoZWNr aW5nIGZvciBzc2l6ZV90CmNvbmZpZ3VyZTo5NTY3OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9u cyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6OTU4OTogY2hlY2tpbmcgZm9y IHN0X2Jsa3NpemUgaW4gc3RydWN0IHN0YXQKY29uZmlndXJlOjk2MDI6IGNjIC1jIC1PMiAt cGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo5NTk4OjE4 OiB3YXJuaW5nOiBleHByZXNzaW9uIHJlc3VsdCB1bnVzZWQgWy1XdW51c2VkLXZhbHVlXQpz dHJ1Y3Qgc3RhdCBzOyBzLnN0X2Jsa3NpemU7CiAgICAgICAgICAgICAgIH4gXn5+fn5+fn5+ fgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpjb25maWd1cmU6OTYyMzogY2hlY2tpbmcgZm9yIHNp Z2luZm9fdApjb25maWd1cmU6OTYzNjogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRh LXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVk ZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjk2NTk6IGNoZWNraW5nIGZvciBpbnQ2NApj b25maWd1cmU6OTY3MjogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25z IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz dC5jIDE+JjUKY29uZmlndXJlOjk2Njg6MTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ2ludDY0JwppbnQ2NCBmb28gPSAwOwpeCjEgZXJyb3IgZ2VuZXJhdGVkLgpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgOTY2NCAiY29uZmlndXJlIgoj aW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN0ZGlvLmg+CiAgICAgICAgICAgICAg ICAgICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KaW50IG1haW4oKSB7CmludDY0IGZvbyA9IDA7 CjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjk2OTQ6IGNoZWNraW5nIGZvciB1aW50CmNvbmZp Z3VyZTo5NzA3OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMg MT4mNQpjb25maWd1cmU6OTcyOTogY2hlY2tpbmcgZm9yIHVpbnRfdApjb25maWd1cmU6OTc0 MjogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFy Z3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29u ZmlndXJlOjk3Mzg6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50X3QnOyBkaWQg eW91IG1lYW4gJ3VpbnQ4X3QnPwp1aW50X3QgZm9vID0gMDsKXn5+fn5+CnVpbnQ4X3QKL3Vz ci9pbmNsdWRlL3N5cy9fc3RkaW50Lmg6NTQ6MjA6IG5vdGU6ICd1aW50OF90JyBkZWNsYXJl ZCBoZXJlCnR5cGVkZWYgX191aW50OF90ICAgICAgICAgICAgICAgdWludDhfdDsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgOTczNCAiY29uZmlndXJlIgojaW5jbHVk ZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN0ZGlvLmg+CiAgICAgICAgICAgICAgICAgICNp bmNsdWRlIDxzeXMvdHlwZXMuaD4KaW50IG1haW4oKSB7CnVpbnRfdCBmb28gPSAwOwo7IHJl dHVybiAwOyB9CmNvbmZpZ3VyZTo5NzczOiBjaGVja2luZyBmb3IgdW5hbWUuZG9tYWlubmFt ZQpjb25maWd1cmU6OTc4NjogYysrIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVu Y3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtUXVudXNl ZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1 CmNvbmZpZ3VyZTo5NzgyOjYyOiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICdkb21haW5uYW1l JyBpbiAndXRzbmFtZScKICAgICAgICAgICAgKHZvaWQpdW5hbWUocmVzKTsgIGlmIChyZXMg IT0gMCkgeyBkb21haW4gPSByZXMtPmRvbWFpbm5hbWU7IH0gCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+ICBeCjEgZXJyb3Ig Z2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgOTc3OCAi Y29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN5cy91dHNuYW1l Lmg+CmludCBtYWluKCkgewogc3RydWN0IHV0c25hbWUgKnJlczsgY2hhciAqZG9tYWluOwog ICAgICAgICAgICAodm9pZCl1bmFtZShyZXMpOyAgaWYgKHJlcyAhPSAwKSB7IGRvbWFpbiA9 IHJlcy0+ZG9tYWlubmFtZTsgfSAKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6OTgxMDogY2hl Y2tpbmcgZm9yIHVuYW1lLl9fZG9tYWlubmFtZQpjb25maWd1cmU6OTgyMzogYysrIC1jIC1P MiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1mbm8tZXhjZXB0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xv Y2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZTo5ODE5OjYyOiBlcnJvcjog bm8gbWVtYmVyIG5hbWVkICdfX2RvbWFpbm5hbWUnIGluICd1dHNuYW1lJwogICAgICAgICAg ICAodm9pZCl1bmFtZShyZXMpOyAgaWYgKHJlcyAhPSAwKSB7IGRvbWFpbiA9IHJlcy0+X19k b21haW5uYW1lOyB9IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH5+fiAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDk4MTUgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv bmZkZWZzLmgiCiNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgppbnQgbWFpbigpIHsKIHN0cnVj dCB1dHNuYW1lICpyZXM7IGNoYXIgKmRvbWFpbjsKICAgICAgICAgICAgKHZvaWQpdW5hbWUo cmVzKTsgIGlmIChyZXMgIT0gMCkgeyBkb21haW4gPSByZXMtPl9fZG9tYWlubmFtZTsgfSAK OyByZXR1cm4gMDsgfQpjb25maWd1cmU6OTg1OTogY2hlY2tpbmcgZm9yIGdjYyBjKysweCBo ZWFkZXJzIGJ1ZyB3aXRob3V0IHJ0dGkKY29uZmlndXJlOjk4NzE6IGMrKyAtYyAtTzIgLXBp cGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt Zm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3Rl bS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjk4OTE6IGNo ZWNraW5nIGZvciB1c2FibGUgY2hhcjE2X3QgKDIgYnl0ZXMsIHVuc2lnbmVkKQpjb25maWd1 cmU6OTkwNzogYysrIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4 Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMg MT4mNQpjb25maWd1cmU6OTkzMjogY2hlY2tpbmcgZm9yIHVzYWJsZSB3Y2hhcl90ICgyIGJ5 dGVzLCB1bnNpZ25lZCkKY29uZmlndXJlOjk5NDY6IGMrKyAtYyAtTzIgLXBpcGUgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m bm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2Vw dGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjk5NDU6MTogZXJyb3I6ICdz dGF0aWNfYXNzZXJ0X2xpbmVfOTk0NScgZGVjbGFyZWQgYXMgYW4gYXJyYXkgd2l0aCBhIG5l Z2F0aXZlIHNpemUKQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQoc2l6ZW9mKHdjaGFyX3QpID09 IDIpOwpefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY29u ZmlndXJlOjk5NDA6NDQ6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0NPTkZJR1VSRV9T VEFUSUNfQVNTRVJUJwojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUKGNvbmRpdGlv bikgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTChjb25kaXRpb24sIF9fTElORV9fKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6 OTk0MTo1NTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnQ09ORklHVVJFX1NUQVRJQ19B U1NFUlRfSU1QTCcKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRp dGlvbiwgbGluZSkgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0aW9uLCBs aW5lKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCmNvbmZpZ3VyZTo5OTQyOjk0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdD T05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMMicKI2RlZmluZSBDT05GSUdVUkVfU1RBVElD X0FTU0VSVF9JTVBMMihjb25kaXRpb24sIGxpbmUpIHR5cGVkZWYgaW50IHN0YXRpY19hc3Nl cnRfbGluZV8jI2xpbmVbKGNvbmRpdGlvbikgPyAxIDogLTFdCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CmNvbmZpZ3VyZTo5 OTQ2OjIyOiBlcnJvcjogJ3N0YXRpY19hc3NlcnRfbGluZV85OTQ2JyBkZWNsYXJlZCBhcyBh biBhcnJheSB3aXRoIGEgbmVnYXRpdmUgc2l6ZQogICAgICAgICAgICAgICAgICAgICBDT05G SUdVUkVfU1RBVElDX0FTU0VSVCgod2NoYXJfdCktMSA+ICh3Y2hhcl90KSAwKQogICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgpjb25maWd1cmU6OTk0MDo0NDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNy byAnQ09ORklHVVJFX1NUQVRJQ19BU1NFUlQnCiNkZWZpbmUgQ09ORklHVVJFX1NUQVRJQ19B U1NFUlQoY29uZGl0aW9uKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMKGNvbmRpdGlv biwgX19MSU5FX18pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCmNvbmZpZ3VyZTo5OTQxOjU1OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdDT05G SUdVUkVfU1RBVElDX0FTU0VSVF9JTVBMJwojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNT RVJUX0lNUEwoY29uZGl0aW9uLCBsaW5lKSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBM Mihjb25kaXRpb24sIGxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjk5NDI6OTQ6IG5vdGU6IGV4cGFuZGVk IGZyb20gbWFjcm8gJ0NPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyJwojZGVmaW5lIENP TkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRpdGlvbiwgbGluZSkgdHlwZWRlZiBp bnQgc3RhdGljX2Fzc2VydF9saW5lXyMjbGluZVsoY29uZGl0aW9uKSA/IDEgOiAtMV0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn4KMiBlcnJvcnMgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK I2xpbmUgOTkzNyAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUg PHN0ZGRlZi5oPgogICAgICAgICAgICAgICAgICAgICAKI2RlZmluZSBDT05GSUdVUkVfU1RB VElDX0FTU0VSVChjb25kaXRpb24pIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwoY29u ZGl0aW9uLCBfX0xJTkVfXykKI2RlZmluZSBDT05GSUdVUkVfU1RBVElDX0FTU0VSVF9JTVBM KGNvbmRpdGlvbiwgbGluZSkgQ09ORklHVVJFX1NUQVRJQ19BU1NFUlRfSU1QTDIoY29uZGl0 aW9uLCBsaW5lKQojZGVmaW5lIENPTkZJR1VSRV9TVEFUSUNfQVNTRVJUX0lNUEwyKGNvbmRp dGlvbiwgbGluZSkgdHlwZWRlZiBpbnQgc3RhdGljX2Fzc2VydF9saW5lXyMjbGluZVsoY29u ZGl0aW9uKSA/IDEgOiAtMV0KCmludCBtYWluKCkgewpDT05GSUdVUkVfU1RBVElDX0FTU0VS VChzaXplb2Yod2NoYXJfdCkgPT0gMik7CiAgICAgICAgICAgICAgICAgICAgIENPTkZJR1VS RV9TVEFUSUNfQVNTRVJUKCh3Y2hhcl90KS0xID4gKHdjaGFyX3QpIDApCjsgcmV0dXJuIDA7 IH0KY29uZmlndXJlOjEwMDI4OiBjaGVja2luZyBmb3IgdmlzaWJpbGl0eShoaWRkZW4pIGF0 dHJpYnV0ZQpjb25maWd1cmU6MTAwNTM6IGNoZWNraW5nIGZvciB2aXNpYmlsaXR5KGRlZmF1 bHQpIGF0dHJpYnV0ZQpjb25maWd1cmU6MTAwNzg6IGNoZWNraW5nIGZvciB2aXNpYmlsaXR5 IHByYWdtYSBzdXBwb3J0CmNvbmZpZ3VyZToxMDEwMzogY2hlY2tpbmcgRm9yIGdjYyB2aXNp YmlsaXR5IGJ1ZyB3aXRoIGNsYXNzLWxldmVsIGF0dHJpYnV0ZXMgKEdDQyBidWcgMjY5MDUp CmNvbmZpZ3VyZToxMDEzMTogY2hlY2tpbmcgRm9yIHg4Nl82NCBnY2MgdmlzaWJpbGl0eSBi dWcgd2l0aCBidWlsdGlucyAoR0NDIGJ1ZyAyMDI5NykKY29uZmlndXJlOjEwMTg2OiBjaGVj a2luZyBmb3IgZ2NjIFBSNDk5MTEKY29uZmlndXJlOjEwMjQ3OiBjKysgLW8gY29uZnRlc3Qg LU8yIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUwv dXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwt eixub2V4ZWNzdGFjayBjb25mdGVzdC5DICAxPiY1CmNvbmZpZ3VyZToxMDI4MzogY2hlY2tp bmcgZm9yIF9fZm9yY2VfYWxpZ25fYXJnX3BvaW50ZXJfXyBhdHRyaWJ1dGUKY29uZmlndXJl OjEwMjk1OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVdlcnJv ciAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl c3QuYyAxPiY1CmNvbmZpZ3VyZToxMDI4OToxNzogZXJyb3I6IHVua25vd24gYXR0cmlidXRl ICdfX2ZvcmNlX2FsaWduX2FyZ19wb2ludGVyX18nIGlnbm9yZWQgWy1XZXJyb3IsLVdhdHRy aWJ1dGVzXQpfX2F0dHJpYnV0ZV9fICgoX19mb3JjZV9hbGlnbl9hcmdfcG9pbnRlcl9fKSkg dm9pZCB0ZXN0KCkge30KICAgICAgICAgICAgICAgIF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMDI4OCAiY29uZmlndXJlIgoj aW5jbHVkZSAiY29uZmRlZnMuaCIKX19hdHRyaWJ1dGVfXyAoKF9fZm9yY2VfYWxpZ25fYXJn X3BvaW50ZXJfXykpIHZvaWQgdGVzdCgpIHt9CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsg fQpjb25maWd1cmU6MTAzMjI6IGNoZWNraW5nIGZvciBkaXJlbnQuaCB0aGF0IGRlZmluZXMg RElSCmNvbmZpZ3VyZToxMDMzNTogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSBj b25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjEwMzYwOiBjaGVja2luZyBmb3Igb3BlbmRpciBp biAtbGRpcgpjb25maWd1cmU6MTAzNzk6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rp b25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xv Y2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRo LFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAtbGRpciAgIDE+JjUK L3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sZGlyCmNjOiBlcnJvcjogbGlua2VyIGNvbW1h bmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEwMzY4ICJjb25maWd1cmUi CiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNl IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq LwpjaGFyIG9wZW5kaXIoKTsKCmludCBtYWluKCkgewpvcGVuZGlyKCkKOyByZXR1cm4gMDsg fQpjb25maWd1cmU6MTA0NTQ6IGNoZWNraW5nIGZvciBzeXMvYnl0ZW9yZGVyLmgKY29uZmln dXJlOjEwNDY3OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjEwNDYxOjEwOiBmYXRhbCBl cnJvcjogJ3N5cy9ieXRlb3JkZXIuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHN5cy9i eXRlb3JkZXIuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEwNDU5ICJjb25maWd1cmUiCiNpbmNsdWRlICJj b25mZGVmcy5oIgoKI2luY2x1ZGUgPHN5cy9ieXRlb3JkZXIuaD4KaW50IG1haW4oKSB7Cgo7 IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMDQ1NDogY2hlY2tpbmcgZm9yIGNvbXBhdC5oCmNv bmZpZ3VyZToxMDQ2NzogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25z IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNy L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMDQ2MToxMDogZmF0 YWwgZXJyb3I6ICdjb21wYXQuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPGNvbXBhdC5o PgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKI2xpbmUgMTA0NTkgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi CgojaW5jbHVkZSA8Y29tcGF0Lmg+CmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25m aWd1cmU6MTA0NTQ6IGNoZWNraW5nIGZvciBnZXRvcHQuaApjb25maWd1cmU6MTA0Njc6IGNj IC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVu dHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNv bmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTA0NTQ6IGNoZWNraW5nIGZvciBzeXMvYml0eXBl cy5oCmNvbmZpZ3VyZToxMDQ2NzogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMDQ2MTox MDogZmF0YWwgZXJyb3I6ICdzeXMvYml0eXBlcy5oJyBmaWxlIG5vdCBmb3VuZAojaW5jbHVk ZSA8c3lzL2JpdHlwZXMuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEwNDU5ICJjb25maWd1cmUiCiNpbmNs dWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPHN5cy9iaXR5cGVzLmg+CmludCBtYWluKCkg ewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTA0NTQ6IGNoZWNraW5nIGZvciBtZW1vcnku aApjb25maWd1cmU6MTA0Njc6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTA0NTQ6IGNo ZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6MTA0Njc6IGNjIC1jIC1PMiAtcGlwZSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpj b25maWd1cmU6MTA0NTQ6IGNoZWNraW5nIGZvciBnbnUvbGliYy12ZXJzaW9uLmgKY29uZmln dXJlOjEwNDY3OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjEwNDYxOjEwOiBmYXRhbCBl cnJvcjogJ2dudS9saWJjLXZlcnNpb24uaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPGdu dS9saWJjLXZlcnNpb24uaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEwNDU5ICJjb25maWd1cmUiCiNpbmNs dWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPGdudS9saWJjLXZlcnNpb24uaD4KaW50IG1h aW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMDQ1NDogY2hlY2tpbmcgZm9yIG5s X3R5cGVzLmgKY29uZmlndXJlOjEwNDY3OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjEw NDU0OiBjaGVja2luZyBmb3IgbWFsbG9jLmgKY29uZmlndXJlOjEwNDY3OiBjYyAtYyAtTzIg LXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5j IDE+JjUKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZpZ3VyZToxMDQ2MToKL3Vzci9pbmNs dWRlL21hbGxvYy5oOjM6MjogZXJyb3I6ICI8bWFsbG9jLmg+IGhhcyBiZWVuIHJlcGxhY2Vk IGJ5IDxzdGRsaWIuaD4iCiNlcnJvciAiPG1hbGxvYy5oPiBoYXMgYmVlbiByZXBsYWNlZCBi eSA8c3RkbGliLmg+IgogXgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CiNsaW5lIDEwNDU5ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVm cy5oIgoKI2luY2x1ZGUgPG1hbGxvYy5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0K Y29uZmlndXJlOjEwNDU0OiBjaGVja2luZyBmb3IgWDExL1hLQmxpYi5oCmNvbmZpZ3VyZTox MDQ2NzogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMDQ1NDogY2hlY2tpbmcgZm9yIGlv LmgKY29uZmlndXJlOjEwNDY3OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjEwNDYxOjEw OiBmYXRhbCBlcnJvcjogJ2lvLmgnIGZpbGUgbm90IGZvdW5kCiNpbmNsdWRlIDxpby5oPgog ICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKI2xpbmUgMTA0NTkgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgoj aW5jbHVkZSA8aW8uaD4KaW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTox MDQ1NDogY2hlY2tpbmcgZm9yIGNwdWlkLmgKY29uZmlndXJlOjEwNDY3OiBjYyAtYyAtTzIg LXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5j dGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lz dGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5j IDE+JjUKY29uZmlndXJlOjEwNDk5OiBjaGVja2luZyBmb3Igc3lzL3N0YXR2ZnMuaApjb25m aWd1cmU6MTA1MTI6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTA0OTk6IGNoZWNraW5n IGZvciBzeXMvc3RhdGZzLmgKY29uZmlndXJlOjEwNTEyOiBjYyAtYyAtTzIgLXBpcGUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29u ZmlndXJlOjEwNTA2OjEwOiBmYXRhbCBlcnJvcjogJ3N5cy9zdGF0ZnMuaCcgZmlsZSBub3Qg Zm91bmQKI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4KICAgICAgICAgXgoxIGVycm9yIGdlbmVy YXRlZC4KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEwNTA0ICJjb25m aWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4K aW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMDQ5OTogY2hlY2tpbmcg Zm9yIHN5cy92ZnMuaApjb25maWd1cmU6MTA1MTI6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1 cmU6MTA1MDY6MTA6IGZhdGFsIGVycm9yOiAnc3lzL3Zmcy5oJyBmaWxlIG5vdCBmb3VuZAoj aW5jbHVkZSA8c3lzL3Zmcy5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTA1MDQgImNvbmZpZ3VyZSIKI2lu Y2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8c3lzL3Zmcy5oPgppbnQgbWFpbigpIHsK CjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEwNDk5OiBjaGVja2luZyBmb3Igc3lzL21vdW50 LmgKY29uZmlndXJlOjEwNTEyOiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjEwNTQzOiBj aGVja2luZyBmb3Igc3lzL3F1b3RhLmgKY29uZmlndXJlOjEwNTU2OiBjYyAtYyAtTzIgLXBp cGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVt L3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+ JjUKY29uZmlndXJlOjEwNTUwOjEwOiBmYXRhbCBlcnJvcjogJ3N5cy9xdW90YS5oJyBmaWxl IG5vdCBmb3VuZAojaW5jbHVkZSA8c3lzL3F1b3RhLmg+CiAgICAgICAgIF4KMSBlcnJvciBn ZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMDU0OCAi Y29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxzeXMvcXVvdGEu aD4KaW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMDU0MzogY2hlY2tp bmcgZm9yIHN5cy9zeXNtYWNyb3MuaApjb25maWd1cmU6MTA1NTY6IGNjIC1jIC1PMiAtcGlw ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4m NQpjb25maWd1cmU6MTA1NTA6MTA6IGZhdGFsIGVycm9yOiAnc3lzL3N5c21hY3Jvcy5oJyBm aWxlIG5vdCBmb3VuZAojaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgogICAgICAgICBeCjEg ZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg MTA1NDggImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8c3lz L3N5c21hY3Jvcy5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEw NTg2OiBjaGVja2luZyBmb3IgbGludXgvcXVvdGEuaApjb25maWd1cmU6MTA1OTk6IGNjIC1j IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgMT4mNQpjb25maWd1cmU6MTA1OTM6MTA6IGZhdGFsIGVycm9yOiAnbGludXgvcXVv dGEuaCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPGxpbnV4L3F1b3RhLmg+CiAgICAgICAg IF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgoj bGluZSAxMDU5MSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRl IDxsaW51eC9xdW90YS5oPgppbnQgbWFpbigpIHsKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJl OjEwNjMwOiBjaGVja2luZyBmb3IgbW1pbnRyaW4uaApjb25maWd1cmU6MTA2NDM6IGNjIC1j IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAt ZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgMT4mNQpjb25maWd1cmU6MTA2ODA6IGNoZWNraW5nIGZvciBuZXcKY29uZmlndXJl OjEwNjkzOiBjKysgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTA3ODY6IGNoZWNraW5nIGZv ciBzeXMvY2RlZnMuaApjb25maWd1cmU6MTA3OTk6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0 cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1 cmU6MTA4MzM6IGNoZWNraW5nIGZvciBnZXRob3N0YnluYW1lX3IgaW4gLWxjX3IKY29uZmln dXJlOjEwODUyOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2Vj dGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAt SS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1X bCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jIC1sY19y ICAgMT4mNQovdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxjX3IKY2M6IGVycm9yOiBsaW5r ZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZv Y2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTA4NDEgImNv bmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIE92ZXJyaWRlIGFueSBnY2MyIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFy IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh cHBseS4gICovCmNoYXIgZ2V0aG9zdGJ5bmFtZV9yKCk7CgppbnQgbWFpbigpIHsKZ2V0aG9z dGJ5bmFtZV9yKCkKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MTA4OTA6IGNoZWNraW5nIGZv ciBsaWJyYXJ5IGNvbnRhaW5pbmcgZGxvcGVuCmNvbmZpZ3VyZToxMDkwODogY2MgLW8gY29u ZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3Vt ZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg IC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAt V2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTA5NDg6IGNo ZWNraW5nIGZvciBkbGZjbi5oCmNvbmZpZ3VyZToxMDk2MTogY2MgLWMgLU8yIC1waXBlIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNv bmZpZ3VyZToxMDk5NTogY2hlY2tpbmcgZm9yIGRsYWRkcgpjb25maWd1cmU6MTEwMjM6IGNj IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtRF9HTlVf U09VUkNFIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAg LUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4m NQpjb25maWd1cmU6MTA5OTU6IGNoZWNraW5nIGZvciBtZW1tZW0KY29uZmlndXJlOjExMDIz OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLURf R05VX1NPVVJDRSAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmln aW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMg IDE+JjUKY29uZmlndXJlOjExMTU4OiBjaGVja2luZyBmb3Igc29ja2V0IGluIC1sc29ja2V0 CmNvbmZpZ3VyZToxMTE3NzogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9y aWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3Qu YyAtbHNvY2tldCAgIDE+JjUKL3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sc29ja2V0CmNj OiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAt diB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNs aW5lIDExMTY2ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBPdmVycmlk ZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwov KiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg b2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHNvY2tldCgpOwoKaW50IG1haW4oKSB7CnNv Y2tldCgpCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjExMjIzOiBjaGVja2luZyBmb3IgWERy YXdMaW5lcyBpbiAtbFgxMQpjb25maWd1cmU6MTEyNDI6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAt cGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9j YWwvbGliICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRP UklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWxYMTEgLWxYMTEgICAxPiY1 CmNvbmZpZ3VyZToxMTI2NDogY2hlY2tpbmcgZm9yIFhleHRBZGREaXNwbGF5IGluIC1sWGV4 dApjb25maWd1cmU6MTEyODM6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2lu Y2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliICAtTC91c3Iv bG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5v ZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWxYZXh0IC1sWDExICAgMT4mNQpjb25maWd1cmU6MTEz MDY6IGNoZWNraW5nIGZvciBYdEZyZWUgaW4gLWxYdApjb25maWd1cmU6MTEzMjU6IGNjIC1v IGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1h bGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1h cmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNs dWRlICAtTC91c3IvbG9jYWwvbGliICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4g LVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWxY dCAgIDE+JjUKY29uZmlndXJlOjExNDc5OiBjaGVja2luZyBmb3IgWFNobUNyZWF0ZUltYWdl IGluIC1sWGV4dApjb25maWd1cmU6MTE0OTg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNy L2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGli ICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4g LVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWxYZXh0IC1sWDExICAtbFhleHQgIDE+ JjUKY29uZmlndXJlOjExNTIxOiBjaGVja2luZyBmb3IgWDExL2V4dGVuc2lvbnMvc2NybnNh dmVyLmgKY29uZmlndXJlOjExNTM0OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEt c2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRl ICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjExNTQ5 OiBjaGVja2luZyBmb3IgWFNjcmVlblNhdmVyUXVlcnlJbmZvIGluIC1sWHNzCmNvbmZpZ3Vy ZToxMTU2ODogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgIC1ML3Vzci9sb2NhbC9saWIg LVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sg Y29uZnRlc3QuYyAtbFhzcyAtbFhleHQgLWxYMTEgICAxPiY1CmNvbmZpZ3VyZToxMTYxNTog Y2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1scHRocmVhZHMKY2MgLW8gZHVtbXkg ZHVtbXkuYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJn dW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtbHB0aHJlYWRzICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0 aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIApkdW1teS5jOjQ6Mzg6IHdhcm5pbmc6 IGNvbnRyb2wgcmVhY2hlcyBlbmQgb2Ygbm9uLXZvaWQgZnVuY3Rpb24gWy1XcmV0dXJuLXR5 cGVdCiAgICB2b2lkICpmb28odm9pZCAqdikgeyBpbnQgYSA9IDE7ICB9IAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgoxIHdhcm5pbmcgZ2VuZXJhdGVkLgovdXNy L2Jpbi9sZDogY2Fubm90IGZpbmQgLWxwdGhyZWFkcwpjYzogZXJyb3I6IGxpbmtlciBjb21t YW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24p CmNvbmZpZ3VyZToxMTYzODogY2hlY2tpbmcgZm9yIHB0aHJlYWRfY3JlYXRlIGluIC1scHRo cmVhZApjYyAtbyBkdW1teSBkdW1teS5jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1scHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXos b3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayAKZHVtbXku Yzo0OjM4OiB3YXJuaW5nOiBjb250cm9sIHJlYWNoZXMgZW5kIG9mIG5vbi12b2lkIGZ1bmN0 aW9uIFstV3JldHVybi10eXBlXQogICAgdm9pZCAqZm9vKHZvaWQgKnYpIHsgaW50IGEgPSAx OyAgfSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KMSB3YXJuaW5n IGdlbmVyYXRlZC4KY29uZmlndXJlOjExNzQzOiBjaGVja2luZyB3aGV0aGVyIGNjIGFjY2Vw dHMgLXB0aHJlYWQKY29uZmlndXJlOjExODQ5OiBjaGVja2luZyB3aGV0aGVyIGNjIG5lZWRz IC10cmFkaXRpb25hbApjb25maWd1cmU6MTE4NTY6MTA6IGZhdGFsIGVycm9yOiAnc2d0dHku aCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHNndHR5Lmg+CiAgICAgICAgIF4KMSBlcnJv ciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZToxMTg3NDoxMDogZmF0YWwgZXJyb3I6ICd0ZXJtaW8u aCcgZmlsZSBub3QgZm91bmQKI2luY2x1ZGUgPHRlcm1pby5oPgogICAgICAgICBeCjEgZXJy b3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6MTE4OTU6IGNoZWNraW5nIGZvciA4LWJpdCBjbGVh biBtZW1jbXAKY29uZmlndXJlOjExOTEzOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xv Y2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4 ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxMTkwNToxOiB3YXJuaW5nOiB0 eXBlIHNwZWNpZmllciBtaXNzaW5nLCBkZWZhdWx0cyB0byAnaW50JyBbLVdpbXBsaWNpdC1p bnRdCm1haW4oKQpefn5+CmNvbmZpZ3VyZToxMTkwODozOiB3YXJuaW5nOiBpbXBsaWNpdGx5 IGRlY2xhcmluZyBsaWJyYXJ5IGZ1bmN0aW9uICdleGl0JyB3aXRoIHR5cGUgJ3ZvaWQgKGlu dCkgX19hdHRyaWJ1dGVfXygobm9yZXR1cm4pKScKICBleGl0KG1lbWNtcCgmYzAsICZjMiwg MSkgPCAwICYmIG1lbWNtcCgmYzEsICZjMiwgMSkgPCAwID8gMCA6IDEpOwogIF4KY29uZmln dXJlOjExOTA4OjM6IG5vdGU6IHBsZWFzZSBpbmNsdWRlIHRoZSBoZWFkZXIgPHN0ZGxpYi5o PiBvciBleHBsaWNpdGx5IHByb3ZpZGUgYSBkZWNsYXJhdGlvbiBmb3IgJ2V4aXQnCmNvbmZp Z3VyZToxMTkwODo4OiB3YXJuaW5nOiBpbXBsaWNpdGx5IGRlY2xhcmluZyBsaWJyYXJ5IGZ1 bmN0aW9uICdtZW1jbXAnIHdpdGggdHlwZSAnaW50IChjb25zdCB2b2lkICosIGNvbnN0IHZv aWQgKiwgdW5zaWduZWQgbG9uZyknCiAgZXhpdChtZW1jbXAoJmMwLCAmYzIsIDEpIDwgMCAm JiBtZW1jbXAoJmMxLCAmYzIsIDEpIDwgMCA/IDAgOiAxKTsKICAgICAgIF4KY29uZmlndXJl OjExOTA4Ojg6IG5vdGU6IHBsZWFzZSBpbmNsdWRlIHRoZSBoZWFkZXIgPHN0cmluZy5oPiBv ciBleHBsaWNpdGx5IHByb3ZpZGUgYSBkZWNsYXJhdGlvbiBmb3IgJ21lbWNtcCcKMyB3YXJu aW5ncyBnZW5lcmF0ZWQuCmNvbmZpZ3VyZToxMTkzMzogY2hlY2tpbmcgZm9yIHJhbmRvbQpj b25maWd1cmU6MTE5NjE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1h bGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0 YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1 ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1X bCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNv bmZ0ZXN0LmMgIDE+JjUKY29uZmlndXJlOjExOTMzOiBjaGVja2luZyBmb3Igc3RyZXJyb3IK Y29uZmlndXJlOjExOTYxOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBj b25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxMTk0NTo2OiB3YXJuaW5nOiBpbmNvbXBhdGli bGUgcmVkZWNsYXJhdGlvbiBvZiBsaWJyYXJ5IGZ1bmN0aW9uICdzdHJlcnJvcicKY2hhciBz dHJlcnJvcigpOwogICAgIF4KY29uZmlndXJlOjExOTQ1OjY6IG5vdGU6ICdzdHJlcnJvcicg aXMgYSBidWlsdGluIHdpdGggdHlwZSAnY2hhciAqKGludCknCjEgd2FybmluZyBnZW5lcmF0 ZWQuCmNvbmZpZ3VyZToxMTkzMzogY2hlY2tpbmcgZm9yIGxjaG93bgpjb25maWd1cmU6MTE5 NjE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4g LVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+ JjUKY29uZmlndXJlOjExOTMzOiBjaGVja2luZyBmb3IgZmNobW9kCmNvbmZpZ3VyZToxMTk2 MTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuYyAgMT4m NQpjb25maWd1cmU6MTE5MzM6IGNoZWNraW5nIGZvciBzbnByaW50Zgpjb25maWd1cmU6MTE5 NjE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4g LVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+ JjUKY29uZmlndXJlOjExOTQ1OjY6IHdhcm5pbmc6IGluY29tcGF0aWJsZSByZWRlY2xhcmF0 aW9uIG9mIGxpYnJhcnkgZnVuY3Rpb24gJ3NucHJpbnRmJwpjaGFyIHNucHJpbnRmKCk7CiAg ICAgXgpjb25maWd1cmU6MTE5NDU6Njogbm90ZTogJ3NucHJpbnRmJyBpcyBhIGJ1aWx0aW4g d2l0aCB0eXBlICdpbnQgKGNoYXIgKiwgdW5zaWduZWQgbG9uZywgY29uc3QgY2hhciAqLCAu Li4pJwoxIHdhcm5pbmcgZ2VuZXJhdGVkLgpjb25maWd1cmU6MTE5MzM6IGNoZWNraW5nIGZv ciBzdGF0dmZzCmNvbmZpZ3VyZToxMTk2MTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9l eGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTE5MzM6IGNoZWNraW5nIGZv ciBtZW1tb3ZlCmNvbmZpZ3VyZToxMTk2MTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9l eGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTE5NDU6Njogd2FybmluZzog aW5jb21wYXRpYmxlIHJlZGVjbGFyYXRpb24gb2YgbGlicmFyeSBmdW5jdGlvbiAnbWVtbW92 ZScKY2hhciBtZW1tb3ZlKCk7CiAgICAgXgpjb25maWd1cmU6MTE5NDU6Njogbm90ZTogJ21l bW1vdmUnIGlzIGEgYnVpbHRpbiB3aXRoIHR5cGUgJ3ZvaWQgKih2b2lkICosIGNvbnN0IHZv aWQgKiwgdW5zaWduZWQgbG9uZyknCjEgd2FybmluZyBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTox MTkzMzogY2hlY2tpbmcgZm9yIHJpbnQKY29uZmlndXJlOjExOTYxOiBjYyAtbyBjb25mdGVz dCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRo cmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJ R0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAxPiY1Ci90bXAvY29uZnRlc3Qt TjE4N2RTLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3QuYzooLnRleHQubWFpbisw eDcpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGByaW50JwpjYzogZXJyb3I6IGxpbmtlciBj b21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRp b24pCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMTkzOCAiY29uZmln dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2gg Y2FuIGNvbmZsaWN0IHdpdGggY2hhciByaW50KCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFz c2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBh cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHJpbnQoKTsK CmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBm dW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBF Tk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGlu ZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAq LwojaWYgZGVmaW5lZCAoX19zdHViX3JpbnQpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX3JpbnQp CmNob2tlIG1lCiNlbHNlCnJpbnQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3Vy ZToxMTkzMzogY2hlY2tpbmcgZm9yIHN0YXQ2NApjb25maWd1cmU6MTE5NjE6IGNjIC1vIGNv bmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlh c2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1 bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl IC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxc JCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUKL3RtcC9jb25m dGVzdC1PeUZtdnkubzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25mdGVzdC5jOigudGV4dC5t YWluKzB4Nyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHN0YXQ2NCcKY2M6IGVycm9yOiBs aW5rZXIgY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBp bnZvY2F0aW9uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTE5Mzgg ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8g ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAg IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RhdDY0KCk7IGJlbG93LiAgKi8KI2lu Y2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBt aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0 aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFy IHN0YXQ2NCgpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMg ZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAog ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh biBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfc3RhdDY0KSB8fCBkZWZpbmVkIChf X3N0dWJfX19zdGF0NjQpCmNob2tlIG1lCiNlbHNlCnN0YXQ2NCgpOwojZW5kaWYKCjsgcmV0 dXJuIDA7IH0KY29uZmlndXJlOjExOTMzOiBjaGVja2luZyBmb3IgbHN0YXQ2NApjb25maWd1 cmU6MTE5NjE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1J L3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixv cmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0 LmMgIDE+JjUKL3RtcC9jb25mdGVzdC1vZTVOZUUubzogSW4gZnVuY3Rpb24gYG1haW4nOgpj b25mdGVzdC5jOigudGV4dC5tYWluKzB4Nyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGxz dGF0NjQnCmNjOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2Rl IDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CiNsaW5lIDExOTM4ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgov KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg ZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGxzdGF0 NjQoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBn Y2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVz ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdj YzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovCmNoYXIgbHN0YXQ2NCgpOwoKaW50IG1haW4oKSB7CgovKiBUaGUg R05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs ZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z IGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5k IHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJf bHN0YXQ2NCkgfHwgZGVmaW5lZCAoX19zdHViX19fbHN0YXQ2NCkKY2hva2UgbWUKI2Vsc2UK bHN0YXQ2NCgpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjExOTMzOiBjaGVj a2luZyBmb3IgdHJ1bmNhdGU2NApjb25maWd1cmU6MTE5NjE6IGNjIC1vIGNvbmZ0ZXN0IC1P MiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1 bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlz eXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFk ICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4g LVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgIDE+JjUKL3RtcC9jb25mdGVzdC1KS0hy T0gubzogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25mdGVzdC5jOigudGV4dC5tYWluKzB4Nyk6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHRydW5jYXRlNjQnCmNjOiBlcnJvcjogbGlua2Vy IGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2Nh dGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDExOTM4ICJjb25m aWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGlj aCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHRydW5jYXRlNjQoKTsgYmVsb3cuICAqLwojaW5j bHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlw ZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1p Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRo ZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIg dHJ1bmNhdGU2NCgpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZp bmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdh eXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l ZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBp cyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfdHJ1bmNhdGU2NCkgfHwgZGVm aW5lZCAoX19zdHViX19fdHJ1bmNhdGU2NCkKY2hva2UgbWUKI2Vsc2UKdHJ1bmNhdGU2NCgp OwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjExOTMzOiBjaGVja2luZyBmb3Ig c3RhdHZmczY0CmNvbmZpZ3VyZToxMTk2MTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1m bm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9s b2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9l eGVjc3RhY2sgY29uZnRlc3QuYyAgMT4mNQovdG1wL2NvbmZ0ZXN0LTJDa1JwOS5vOiBJbiBm dW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0LmM6KC50ZXh0Lm1haW4rMHg3KTogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgc3RhdHZmczY0JwpjYzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZh aWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMTkzOCAiY29uZmlndXJlIgojaW5j bHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1h Y3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZs aWN0IHdpdGggY2hhciBzdGF0dmZzNjQoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0 Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgc3RhdHZmczY0KCk7 CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3Ig ZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGgg RU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhp bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAg Ki8KI2lmIGRlZmluZWQgKF9fc3R1Yl9zdGF0dmZzNjQpIHx8IGRlZmluZWQgKF9fc3R1Yl9f X3N0YXR2ZnM2NCkKY2hva2UgbWUKI2Vsc2UKc3RhdHZmczY0KCk7CiNlbmRpZgoKOyByZXR1 cm4gMDsgfQpjb25maWd1cmU6MTE5MzM6IGNoZWNraW5nIGZvciBzZXRidWYKY29uZmlndXJl OjExOTYxOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlv bnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91 c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3Jp Z2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5j ICAxPiY1CmNvbmZpZ3VyZToxMTkzMzogY2hlY2tpbmcgZm9yIGlzYXR0eQpjb25maWd1cmU6 MTE5NjE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmln aW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMg IDE+JjUKY29uZmlndXJlOjExOTg4OiBjaGVja2luZyBmb3IgZmxvY2tmaWxlCmNvbmZpZ3Vy ZToxMjAxNjogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rp b25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkv dXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9y aWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3Qu YyAgMT4mNQpjb25maWd1cmU6MTE5ODg6IGNoZWNraW5nIGZvciBnZXRwYWdlc2l6ZQpjb25m aWd1cmU6MTIwMTY6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh c2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1z ZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwt eixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0 ZXN0LmMgIDE+JjUKY29uZmlndXJlOjEyMDQzOiBjaGVja2luZyBmb3IgbG9jYWx0aW1lX3IK Y29uZmlndXJlOjEyMDcxOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3Qt YWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRh dGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBj b25mdGVzdC5jICAxPiY1CmNvbmZpZ3VyZToxMjA0MzogY2hlY2tpbmcgZm9yIHN0cnRva19y CmNvbmZpZ3VyZToxMjA3MTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIg LVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sg Y29uZnRlc3QuYyAgMT4mNQpjb25maWd1cmU6MTIwOTc6IGNoZWNraW5nIGZvciBjbG9ja19n ZXR0aW1lKENMT0NLX01PTk9UT05JQykKY29uZmlndXJlOjEyMTEzOiBjYyAtbyBjb25mdGVz dCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRo cmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJ R0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5jICAgMT4mNQpjb25maWd1cmU6MTIx NTA6IGNoZWNraW5nIGZvciB3Y3J0b21iCmNvbmZpZ3VyZToxMjE2MjogYysrIC1vIGNvbmZ0 ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRh LXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1l bnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAt cHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQk T1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5DICAgMT4mNQpjb25maWd1cmU6 MTIxODI6IGNoZWNraW5nIGZvciBtYnJ0b3djCmNvbmZpZ3VyZToxMjE5NDogYysrIC1vIGNv bmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJn dW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVk ZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgs XCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5DICAgMT4mNQpjb25maWd1 cmU6MTIyMjM6IGNoZWNraW5nIGZvciByZXNfbmluaXQoKQpjb25maWd1cmU6MTIyNDA6IGNj IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNl ZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9p bmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1y cGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgICAxPiY1Cklu IGZpbGUgaW5jbHVkZWQgZnJvbSBjb25maWd1cmU6MTIyMzM6Ci91c3IvaW5jbHVkZS9yZXNv bHYuaDoxNTc6MTQ6IGVycm9yOiBhcnJheSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg J3N0cnVjdCBzb2NrYWRkcl9pbicKICAgICAgICAgICAgICAgIG5zYWRkcl9saXN0W01BWE5T XTsgICAgIC8qJTwgYWRkcmVzcyBvZiBuYW1lIHNlcnZlciAqLwogICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9yZXNvbHYuaDoxNTY6OTogbm90ZTogZm9yd2Fy ZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHNvY2thZGRyX2luJwogICAgICAgIHN0cnVjdCBz b2NrYWRkcl9pbgogICAgICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9yZXNvbHYuaDoxNzE6 MTg6IGVycm9yOiBmaWVsZCBoYXMgaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaW5fYWRkcicK ICAgICAgICAgICAgICAgIHN0cnVjdCBpbl9hZGRyICBhZGRyOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL3Vzci9pbmNsdWRlL3Jlc29sdi5oOjE3MToxMDogbm90ZTog Zm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGluX2FkZHInCiAgICAgICAgICAgICAg ICBzdHJ1Y3QgaW5fYWRkciAgYWRkcjsKICAgICAgICAgICAgICAgICAgICAgICBeCi91c3Iv aW5jbHVkZS9yZXNvbHYuaDoxOTU6MjE6IGVycm9yOiBmaWVsZCBoYXMgaW5jb21wbGV0ZSB0 eXBlICdzdHJ1Y3Qgc29ja2FkZHJfaW4nCiAgICAgICAgc3RydWN0IHNvY2thZGRyX2luICAg ICAgc2luOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3Vzci9pbmNsdWRl L3Jlc29sdi5oOjE1Njo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg c29ja2FkZHJfaW4nCiAgICAgICAgc3RydWN0IHNvY2thZGRyX2luCiAgICAgICAgICAgICAg IF4KMyBlcnJvcnMgZ2VuZXJhdGVkLgpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK I2xpbmUgMTIyMjggImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgogICAgICAg ICNpZmRlZiBsaW51eAogICAgICAgICNkZWZpbmUgX0JTRF9TT1VSQ0UgMQogICAgICAgICNl bmRpZgogICAgICAgICNpbmNsdWRlIDxyZXNvbHYuaD4KICAgICAgICAKaW50IG1haW4oKSB7 CmludCBmb28gPSByZXNfbmluaXQoJl9yZXMpOwo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTox MjI3MDogY2hlY2tpbmcgZm9yIGdudV9nZXRfbGliY192ZXJzaW9uKCkKY29uZmlndXJlOjEy Mjg2OiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m bm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251Kysw eCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmln aW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMg ICAxPiY1CmNvbmZpZ3VyZToxMjI4MjoyOTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ2dudV9nZXRfbGliY192ZXJzaW9uJwpjb25zdCBjaGFyICpnbGliY192ZXJz aW9uID0gZ251X2dldF9saWJjX3ZlcnNpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KMSBlcnJvciBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz OgojbGluZSAxMjI3NSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiAgICAg ICAgI2lmZGVmIEhBVkVfR05VX0xJQkNfVkVSU0lPTl9ICiAgICAgICAgI2luY2x1ZGUgPGdu dS9saWJjLXZlcnNpb24uaD4KICAgICAgICAjZW5kaWYKICAgICAgICAKaW50IG1haW4oKSB7 CmNvbnN0IGNoYXIgKmdsaWJjX3ZlcnNpb24gPSBnbnVfZ2V0X2xpYmNfdmVyc2lvbigpOwo7 IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxMjMxNTogY2hlY2tpbmcgZm9yIGljb252IGluIC1s Ywpjb25maWd1cmU6MTIzMzc6IGMrKyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8t cnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlv bnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9s aWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3Rh Y2sgY29uZnRlc3QuQyAtbGMgICAgMT4mNQovdG1wL2NvbmZ0ZXN0LWJzMm5seC5vOiBJbiBm dW5jdGlvbiBgbWFpbic6CmNvbmZ0ZXN0LkM6KC50ZXh0Lm1haW4rMHg1KTogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgaWNvbnYnCmMrKzogZXJyb3I6IGxpbmtlciBjb21tYW5kIGZhaWxl ZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRpb24pCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMjMyMyAiY29uZmlndXJlIgojaW5jbHVk ZSAiY29uZmRlZnMuaCIKLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIK I2VuZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1 cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgaWNvbnYoKTsKCmludCBtYWlu KCkgewppY29udigpCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEyMzU2OiBjaGVja2luZyBm b3IgaWNvbnYgaW4gLWxpY29udgpjb25maWd1cmU6MTIzNzg6IGMrKyAtbyBjb25mdGVzdCAt TzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0 aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAt aXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJl YWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJ TiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuQyAtbGljb252ICAgIDE+JjUKY29uZmln dXJlOjEyNDQ2OiBjaGVja2luZyBmb3IgaWNvbnYoKQpjb25maWd1cmU6MTI0NjU6IGMrKyAt byBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRp b25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJw YXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuQyAgICAtbGljb252 IDE+JjUKY29uZmlndXJlOjEyNDg5OiBjaGVja2luZyBmb3IgaWNvbnYoKSB3aXRoIGNvbnN0 IGlucHV0CmNvbmZpZ3VyZToxMjUwOTogYysrIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1h bGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRp IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAt c3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjEy NTM4OiBjaGVja2luZyBmb3IgbmxfbGFuZ2luZm8gYW5kIENPREVTRVQKY29uZmlndXJlOjEy NTUwOiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1m bm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlv bi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251Kysw eCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmln aW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMg ICAxPiY1CmNvbmZpZ3VyZToxMjU4MjogY2hlY2tpbmcgZm9yIGFuIGltcGxlbWVudGF0aW9u IG9mIHZhX2NvcHkoKQpjb25maWd1cmU6MTI2MDY6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91 c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16 LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgICAxPiY1CmNvbmZpZ3VyZToxMjYwMDoxNzogd2Fy bmluZzogaW1wbGljaXRseSBkZWNsYXJpbmcgbGlicmFyeSBmdW5jdGlvbiAnZXhpdCcgd2l0 aCB0eXBlICd2b2lkIChpbnQpIF9fYXR0cmlidXRlX18oKG5vcmV0dXJuKSknCiAgICAgICAg ICAgICAgICBleGl0ICgxKTsKICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjEyNjAwOjE3 OiBub3RlOiBwbGVhc2UgaW5jbHVkZSB0aGUgaGVhZGVyIDxzdGRsaWIuaD4gb3IgZXhwbGlj aXRseSBwcm92aWRlIGEgZGVjbGFyYXRpb24gZm9yICdleGl0JwoxIHdhcm5pbmcgZ2VuZXJh dGVkLgpjb25maWd1cmU6MTI2MjM6IGNoZWNraW5nIGZvciBhbiBpbXBsZW1lbnRhdGlvbiBv ZiBfX3ZhX2NvcHkoKQpjb25maWd1cmU6MTI2NDc6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9u LXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91 c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16 LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgICAxPiY1CmNvbmZpZ3VyZToxMjY0MToxNzogd2Fy bmluZzogaW1wbGljaXRseSBkZWNsYXJpbmcgbGlicmFyeSBmdW5jdGlvbiAnZXhpdCcgd2l0 aCB0eXBlICd2b2lkIChpbnQpIF9fYXR0cmlidXRlX18oKG5vcmV0dXJuKSknCiAgICAgICAg ICAgICAgICBleGl0ICgxKTsKICAgICAgICAgICAgICAgIF4KY29uZmlndXJlOjEyNjQxOjE3 OiBub3RlOiBwbGVhc2UgaW5jbHVkZSB0aGUgaGVhZGVyIDxzdGRsaWIuaD4gb3IgZXhwbGlj aXRseSBwcm92aWRlIGEgZGVjbGFyYXRpb24gZm9yICdleGl0JwoxIHdhcm5pbmcgZ2VuZXJh dGVkLgpjb25maWd1cmU6MTI2NjQ6IGNoZWNraW5nIHdoZXRoZXIgdmFfbGlzdHMgY2FuIGJl IGNvcGllZCBieSB2YWx1ZQpjb25maWd1cmU6MTI2ODg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAt cGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0 aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0 ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAt TC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVds LC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgICAxPiY1CmNvbmZpZ3VyZToxMjY4MDoxOTog ZXJyb3I6IGFycmF5IHR5cGUgJ3ZhX2xpc3QnIChha2EgJ19fYnVpbHRpbl92YV9saXN0Jykg aXMgbm90IGFzc2lnbmFibGUKICAgICAgICAgICAgYXJnczIgPSBhcmdzMTsKICAgICAgICAg ICAgfn5+fn4gXgpjb25maWd1cmU6MTI2ODI6MTc6IHdhcm5pbmc6IGltcGxpY2l0bHkgZGVj bGFyaW5nIGxpYnJhcnkgZnVuY3Rpb24gJ2V4aXQnIHdpdGggdHlwZSAndm9pZCAoaW50KSBf X2F0dHJpYnV0ZV9fKChub3JldHVybikpJwogICAgICAgICAgICAgICAgZXhpdCAoMSk7CiAg ICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToxMjY4MjoxNzogbm90ZTogcGxlYXNlIGluY2x1 ZGUgdGhlIGhlYWRlciA8c3RkbGliLmg+IG9yIGV4cGxpY2l0bHkgcHJvdmlkZSBhIGRlY2xh cmF0aW9uIGZvciAnZXhpdCcKMSB3YXJuaW5nIGFuZCAxIGVycm9yIGdlbmVyYXRlZC4KY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEyNjc0ICJjb25maWd1cmUiCiNp bmNsdWRlICJjb25mZGVmcy5oIgoKICAgICAgICAjaW5jbHVkZSA8c3RkYXJnLmg+CiAgICAg ICAgdm9pZCBmIChpbnQgaSwgLi4uKSB7CiAgICAgICAgICAgIHZhX2xpc3QgYXJnczEsIGFy Z3MyOwogICAgICAgICAgICB2YV9zdGFydCAoYXJnczEsIGkpOwogICAgICAgICAgICBhcmdz MiA9IGFyZ3MxOwogICAgICAgICAgICBpZiAodmFfYXJnIChhcmdzMiwgaW50KSAhPSA0MiB8 fCB2YV9hcmcgKGFyZ3MxLCBpbnQpICE9IDQyKQogICAgICAgICAgICAgICAgZXhpdCAoMSk7 CiAgICAgICAgICAgIHZhX2VuZCAoYXJnczEpOyB2YV9lbmQgKGFyZ3MyKTsKICAgICAgICB9 CiAgICAgICAgaW50IG1haW4oKSB7IGYgKDAsIDQyKTsgcmV0dXJuIDA7IH0KY29uZmlndXJl OjEyNzg2OiBjaGVja2luZyBmb3IgbW9kZXJuIEMrKyB0ZW1wbGF0ZSBzcGVjaWFsaXphdGlv biBzeW50YXggc3VwcG9ydApjb25maWd1cmU6MTI4MDE6IGMrKyAtYyAtTzIgLXBpcGUgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5n IC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4 Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3Iv bG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1CmNv bmZpZ3VyZToxMjgxOTogY2hlY2tpbmcgd2hldGhlciBwYXJ0aWFsIHRlbXBsYXRlIHNwZWNp YWxpemF0aW9uIHdvcmtzCmNvbmZpZ3VyZToxMjgzMjogYysrIC1jIC1PMiAtcGlwZSAtZm5v LXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhj ZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9s b2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29u ZmlndXJlOjEyODUzOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgInVzaW5nIiBrZXl3b3Jk IHJlc29sdmVzIGFtYmlndWl0eQpjb25maWd1cmU6MTI4NzQ6IGMrKyAtYyAtTzIgLXBpcGUg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5v LWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91 c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuQyAxPiY1 CmNvbmZpZ3VyZToxMjg5NTogY2hlY2tpbmcgZm9yIEMrKyBkeW5hbWljX2Nhc3QgdG8gdm9p ZCoKY29uZmlndXJlOjEyOTIyOiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5v LXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRp b25zIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwv bGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0 YWNrIGNvbmZ0ZXN0LkMgICAxPiY1CmNvbmZpZ3VyZToxMjk0NjogY2hlY2tpbmcgd2hldGhl ciBDKysgcmVxdWlyZXMgaW1wbGVtZW50YXRpb24gb2YgdW51c2VkIHZpcnR1YWwgbWV0aG9k cwpjb25maWd1cmU6MTI5NTg6IGMrKyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8t cnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlv bnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwv aW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9s aWIgLVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3Rh Y2sgY29uZnRlc3QuQyAgIDE+JjUKY29uZmlndXJlOjEyOTgxOiBjaGVja2luZyBmb3IgdHJv dWJsZSBjb21wYXJpbmcgdG8gemVybyBuZWFyIHN0ZDo6b3BlcmF0b3IhPSgpCmNvbmZpZ3Vy ZToxMjk5NzogYysrIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4 Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2Vj dGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1 bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9j YWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUKY29uZmlndXJlOjEzMDI0OiBjaGVja2luZyBm b3IgX190aHJlYWQga2V5d29yZCBmb3IgVExTIHZhcmlhYmxlcwpjb25maWd1cmU6MTMwMzY6 IGMrKyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1l eGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNl Y3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1R dW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xv Y2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAt V2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgLWZQSUMgLXNoYXJlZCAt V2wsLXosZGVmcyAgY29uZnRlc3QuQyAgIDE+JjUKY29uZmlndXJlOjEzMTE2OiBjaGVja2lu ZyBmb3IgbWFsbG9jLmgKY29uZmlndXJlOjEzMTE2OiBjaGVja2luZyBmb3IgbWFsbG9jX25w LmgKY29uZmlndXJlOjEzMTI5OiBjKysgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFz aW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZm dW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9 Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUg IC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1cmU6MTMxNjI6 IGNoZWNraW5nIGZvciBzdHJuZHVwCmNvbmZpZ3VyZToxMzE5MzogYysrIC1vIGNvbmZ0ZXN0 IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1z dHJpY3QtYWxpYXNpbmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNl Y3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRz IC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRo cmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJ R0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVzdC5DICAgMT4mNQpjb25maWd1cmU6MTMx NjI6IGNoZWNraW5nIGZvciBwb3NpeF9tZW1hbGlnbgpjb25maWd1cmU6MTMxOTM6IGMrKyAt byBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRp b25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25z IC1mZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2Vk LWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2lu Y2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIgLVdsLC16LG9yaWdpbiAtV2wsLXJw YXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sgY29uZnRlc3QuQyAgIDE+JjUKY29u ZmlndXJlOjEzMTYyOiBjaGVja2luZyBmb3IgbWVtYWxpZ24KY29uZmlndXJlOjEzMTkzOiBj KysgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhj ZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0 aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtUXVu dXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2Nh bC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVds LC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgICAxPiY1 Ci90bXAvY29uZnRlc3QtZ09JY0tsLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3Qu QzooLnRleHQubWFpbisweDUpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtZW1hbGlnbicK YysrOiBlcnJvcjogbGlua2VyIGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVz ZSAtdiB0byBzZWUgaW52b2NhdGlvbikKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CiNsaW5lIDEzMTY3ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0 ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHBy b3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIG1lbWFsaWduKCk7 IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19jcGx1 c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBt ZW1hbGlnbigpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMg ZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAog ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh biBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfbWVtYWxpZ24pIHx8IGRlZmluZWQg KF9fc3R1Yl9fX21lbWFsaWduKQpjaG9rZSBtZQojZWxzZQptZW1hbGlnbigpOwojZW5kaWYK CjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjEzMTYyOiBjaGVja2luZyBmb3IgdmFsbG9jCmNv bmZpZ3VyZToxMzE5MzogYysrIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1h bGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1ydHRp IC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8tZXhjZXB0aW9ucyAt c3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNs dWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBj b25mdGVzdC5DICAgMT4mNQpjb25maWd1cmU6MTMyMjE6IGNoZWNraW5nIGZvciBtYWxsb2Nf dXNhYmxlX3NpemUKY29uZmlndXJlOjEzMjUyOiBjKysgLW8gY29uZnRlc3QgLU8yIC1waXBl IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlh c2luZyAtZm5vLXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZu by1leGNlcHRpb25zIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0v dXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91 c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16 LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LkMgICAxPiY1CmNvbmZpZ3VyZToxMzI3OTogY2hlY2tp bmcgZm9yIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKQpjb25maWd1cmU6MTMyOTE6 IGMrKyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1leGNlcHRpb25z IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tcnR0aSAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtZm5vLWV4Y2VwdGlvbnMgLXN0ZD1nbnUrKzB4IC1RdW51c2VkLWFy Z3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgY29uZnRlc3QuQyAxPiY1CmNvbmZpZ3VyZToxMzMwNjogY2hlY2tpbmcgZm9yIF9fYXR0 cmlidXRlX18oKG1hbGxvYykpCmNvbmZpZ3VyZToxMzMxODogYysrIC1jIC1PMiAtcGlwZSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZuby1ydHRpIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1mbm8t ZXhjZXB0aW9ucyAtc3RkPWdudSsrMHggLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5DIDE+JjUK Y29uZmlndXJlOjEzMzMzOiBjaGVja2luZyBmb3IgX19hdHRyaWJ1dGVfXygod2Fybl91bnVz ZWRfcmVzdWx0KSkKY29uZmlndXJlOjEzMzQ1OiBjKysgLWMgLU8yIC1waXBlIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5v LXJ0dGkgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLWZuby1leGNlcHRp b25zIC1zdGQ9Z251KysweCAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2Fs L2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LkMgMT4mNQpjb25maWd1 cmU6MTMzNjk6IGNoZWNraW5nIGZvciBMQ19NRVNTQUdFUwpjb25maWd1cmU6MTMzODE6IGNj IC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtUXVudXNlZC1hcmd1bWVu dHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNv bmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MTM0MDQ6IGNoZWNraW5nIGZvciBsb2NhbGVjb252 CmNvbmZpZ3VyZToxMzQzMjogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZk YXRhLXNlY3Rpb25zIC1RdW51c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5j bHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLXB0aHJlYWQgIC1ML3Vzci9sb2NhbC9saWIg LVdsLC16LG9yaWdpbiAtV2wsLXJwYXRoLFwkJE9SSUdJTiAtV2wsLXosbm9leGVjc3RhY2sg Y29uZnRlc3QuYyAgIDE+JjUKY29uZmlndXJlOjEzNjA5OiBjaGVja2luZyBmb3IgbnNwci1j b25maWcKY29uZmlndXJlOjEzNjQ0OiBjaGVja2luZyBmb3IgTlNQUiAtIHZlcnNpb24gPj0g NC45LjIKY29uZmlndXJlOjEzNzEyOiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxp YXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEt c2VjdGlvbnMgLUkvdXNyL2xvY2FsL2luY2x1ZGUvbnNwciAtUXVudXNlZC1hcmd1bWVudHMg LWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0 ZXN0LmMgMT4mNQpjb25maWd1cmU6MTM3MzI6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmlj dC1hbGlhc2luZyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1m ZGF0YS1zZWN0aW9ucyAtSS91c3IvbG9jYWwvaW5jbHVkZS9uc3ByIC1RdW51c2VkLWFyZ3Vt ZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg Y29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToxMzc3NjogY2hlY2tpbmcgZm9yIHBrZy1jb25m aWcKY29uZmlndXJlOjEzODIwOiBjaGVja2luZyBmb3IgbGliZXZlbnQKY29uZmlndXJlOjEz ODI3OiBjaGVja2luZyBNT1pfTElCRVZFTlRfQ0ZMQUdTCmNvbmZpZ3VyZToxMzgzMjogY2hl Y2tpbmcgTU9aX0xJQkVWRU5UX0xJQlMKY29uZmlndXJlOjE0MDA0OiBjaGVja2luZyBmb3Ig bnNzLWNvbmZpZwpjb25maWd1cmU6MTQwMzk6IGNoZWNraW5nIGZvciBOU1MgLSB2ZXJzaW9u ID49IDMuMTMuMgpjb25maWd1cmU6MTQxMTI6IGNoZWNraW5nIGZvciBZQVNNIGFzc2VtYmxl cgpjb25maWd1cmU6MTQxMTg6IGNoZWNraW5nIGZvciB5YXNtCmNvbmZpZ3VyZToxNDE4MDog Y2hlY2tpbmcgZm9yIGpwZWdfZGVzdHJveV9jb21wcmVzcyBpbiAtbGpwZWcKY29uZmlndXJl OjE0MTk5OiBjYyAtbyBjb25mdGVzdCAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTzIgLXBpcGUg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGli IC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4gLVdsLC1ycGF0aCxc JCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWxqcGVnICAgIDE+JjUK Y29uZmlndXJlOjE0MjM1OiBjYyAtYyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTzIgLXBpcGUg LWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1z ZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vz ci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUK Y29uZmlndXJlOjE0MjgyOiBjaGVja2luZyBmb3IgZ3pyZWFkIGluIC1segpjb25maWd1cmU6 MTQzMDE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt Zm5vLXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9u cyAtUXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vz ci9sb2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmln aW4gLVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMg LWx6ICAgIDE+JjUKY29uZmlndXJlOjE0MzM2OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAt ZmRhdGEtc2VjdGlvbnMgLVF1bnVzZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9p bmNsdWRlICAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJl OjE0Mzg3OiBjaGVja2luZyBmb3IgQloyX2J6cmVhZCBpbiAtbGJ6Mgpjb25maWd1cmU6MTQ0 MDY6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5v LXN0cmljdC1hbGlhc2luZyAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAt UXVudXNlZC1hcmd1bWVudHMgLWlzeXN0ZW0vdXNyL2xvY2FsL2luY2x1ZGUgIC1JL3Vzci9s b2NhbC9pbmNsdWRlIC1wdGhyZWFkICAtTC91c3IvbG9jYWwvbGliIC1XbCwteixvcmlnaW4g LVdsLC1ycGF0aCxcJCRPUklHSU4gLVdsLC16LG5vZXhlY3N0YWNrIGNvbmZ0ZXN0LmMgLWxi ejIgICAgMT4mNQpjb25maWd1cmU6MTQ0NTU6IGNoZWNraW5nIGZvciBwbmdfZ2V0X3ZhbGlk IGluIC1scG5nCmNvbmZpZ3VyZToxNDQ3NDogY2MgLW8gY29uZnRlc3QgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3RyaWN0LWFs aWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51c2VkLWFy Z3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2FsL2luY2x1 ZGUgLUwvdXNyL2xvY2FsL2xpYiAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAtV2wsLXos b3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBjb25mdGVz dC5jIC1scG5nICAgIDE+JjUKY29uZmlndXJlOjE0NDk2OiBjaGVja2luZyBmb3IgcG5nX2dl dF9hY1RMIGluIC1scG5nCmNvbmZpZ3VyZToxNDUxNTogY2MgLW8gY29uZnRlc3QgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mZnVuY3Rpb24tc2VjdGlvbnMgLWZkYXRhLXNlY3Rpb25zIC1RdW51 c2VkLWFyZ3VtZW50cyAtaXN5c3RlbS91c3IvbG9jYWwvaW5jbHVkZSAgLUkvdXNyL2xvY2Fs L2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiAtcHRocmVhZCAgLUwvdXNyL2xvY2FsL2xpYiAt V2wsLXosb3JpZ2luIC1XbCwtcnBhdGgsXCQkT1JJR0lOIC1XbCwteixub2V4ZWNzdGFjayBj b25mdGVzdC5jIC1scG5nICAgIDE+JjUKY29uZmlndXJlOjE0NTYwOiBjYyAtYyAtSS91c3Iv bG9jYWwvaW5jbHVkZSAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1zdHJp Y3QtYWxpYXNpbmcgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVF1bnVz ZWQtYXJndW1lbnRzIC1pc3lzdGVtL3Vzci9sb2NhbC9pbmNsdWRlICAtSS91c3IvbG9jYWwv aW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjE0NjQ2OiBjaGVja2luZyBmb3Ig aHVuc3BlbGwKY29uZmlndXJlOjE0NjUzOiBjaGVja2luZyBNT1pfSFVOU1BFTExfQ0ZMQUdT CmNvbmZpZ3VyZToxNDY1ODogY2hlY2tpbmcgTU9aX0hVTlNQRUxMX0xJQlMKY29uZmlndXJl OjE0ODUwOiBjaGVja2luZyBmb3IgbGliZmZpID49IDMuMC45CmNvbmZpZ3VyZToxNDg1Nzog Y2hlY2tpbmcgTU9aX0ZGSV9DRkxBR1MKY29uZmlndXJlOjE0ODYyOiBjaGVja2luZyBNT1pf RkZJX0xJQlMKY29uZmlndXJlOjE1MDM0OiBjaGVja2luZyBmb3IgYXBwbGljYXRpb24gdG8g YnVpbGQKY29uZmlndXJlOjE1MDU2OiBjaGVja2luZyBpZiBhcHAtc3BlY2lmaWMgY29uZnZh cnMuc2ggZXhpc3RzCmNvbmZpZ3VyZToxNTQ0NDogY2hlY2tpbmcgZm9yIGd0aystMi4wID49 IDIuMTAuMCBndGsrLXVuaXgtcHJpbnQtMi4wIGdsaWItMi4wIGdvYmplY3QtMi4wIGdkay14 MTEtMi4wCmNvbmZpZ3VyZToxNTQ1MTogY2hlY2tpbmcgTU9aX0dUSzJfQ0ZMQUdTCmNvbmZp Z3VyZToxNTQ1NjogY2hlY2tpbmcgTU9aX0dUSzJfTElCUwpjb25maWd1cmU6MTU1Nzk6IGNo ZWNraW5nIGZvciBsaWJzdGFydHVwLW5vdGlmaWNhdGlvbi0xLjAgPj0gMC44CmNvbmZpZ3Vy ZToxNTU4NjogY2hlY2tpbmcgTU9aX1NUQVJUVVBfTk9USUZJQ0FUSU9OX0NGTEFHUwpjb25m aWd1cmU6MTU1OTE6IGNoZWNraW5nIE1PWl9TVEFSVFVQX05PVElGSUNBVElPTl9MSUJTCmNv bmZpZ3VyZToxNjQ1NzogY2hlY2tpbmcgZm9yIHBhbmdvID49IDEuMTQuMApjb25maWd1cmU6 MTY0NjQ6IGNoZWNraW5nIF9QQU5HT0NIS19DRkxBR1MKY29uZmlndXJlOjE2NDY5OiBjaGVj a2luZyBfUEFOR09DSEtfTElCUwpjb25maWd1cmU6MTY1NDk6IGNoZWNraW5nIGZvciBwYW5n byA+PSAxLjE0LjAgcGFuZ29mdDIgPj0gMS4xNC4wIHBhbmdvY2Fpcm8gPj0gMS4xNC4wCmNv bmZpZ3VyZToxNjU1NjogY2hlY2tpbmcgTU9aX1BBTkdPX0NGTEFHUwpjb25maWd1cmU6MTY1 NjE6IGNoZWNraW5nIE1PWl9QQU5HT19MSUJTCmNvbmZpZ3VyZToxNzAwMzogY2hlY2tpbmcg Zm9yIGd0aystMi4wID49IDIuMTQKY29uZmlndXJlOjE3MDEwOiBjaGVja2luZyBfR1RLQ0hF Q0tfQ0ZMQUdTCmNvbmZpZ3VyZToxNzAxNTogY2hlY2tpbmcgX0dUS0NIRUNLX0xJQlMKY29u ZmlndXJlOjE3MDk0OiBjaGVja2luZyBmb3IgZ2lvLTIuMCA+PSAyLjE4CmNvbmZpZ3VyZTox NzEwMTogY2hlY2tpbmcgTU9aX0dJT19DRkxBR1MKY29uZmlndXJlOjE3MTA2OiBjaGVja2lu ZyBNT1pfR0lPX0xJQlMKY29uZmlndXJlOjE3NDg3OiBjaGVja2luZyBmb3IgbGlibm90aWZ5 ID49IDAuNAo= --------------040905040604010800030902--