From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 978EFC19F2A for ; Thu, 11 Aug 2022 10:11:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=gzJijnWCecvHxl+hFkh1EBTNZqSrUY9S2g5RQUx+/3s=; b=mxh7pqI83hiiqW1GVD66FdmJ9h e/rbdKfphQ+3oiiK3YAvNEIWCy7rfXPOF4v7+tr4nupYP2yGBx6hD84uduFkMBcRQOVyVdqU7hjsx 6zRa5QUAeo04KNjxsm7zfiX7DTHtlAoI9VO+tjq7RfdlX4NUDJqucsXyJIE+89RL3DS9uLzm05hK8 Eod2wvRVmOItEZi6X75zBLkmdwbpi9Z2aXwXYesCjL9zofotzNi/EKyMTYgaMAq3wHNDIVdoXyx5S XWGv58e0iTLcVSJ2tsMFZ/E4CSgqk9FZJ5GjDf3toHU4u9VAEuTwYOaA5Fpuc1DneCJoLXDebuK/C 9X3pygDA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oM59Z-00B5MG-Il; Thu, 11 Aug 2022 10:11:01 +0000 Received: from madras.collabora.co.uk ([46.235.227.172]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oM59S-00B5IR-Cb; Thu, 11 Aug 2022 10:11:00 +0000 Received: from [192.168.1.27] (cst-prg-101-15.cust.vodafone.cz [46.135.101.15]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tomeu) by madras.collabora.co.uk (Postfix) with ESMTPSA id 4C7016601CE0; Thu, 11 Aug 2022 11:10:46 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1660212647; bh=I1SxPAOTQmS391q7M7+rbhIoiQgbNcXxYlia5tr4Ij0=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=d9IAHi5H/2iR9+UloeTd/m2oXigxG4nwYR6wP0PIor8dF+WyE4xbV0UFnATUb+yKh Sr2A4QjzyYaLjbPh3KEpg8s78/CKH5s+eXgGW7SuW4EzR1AY6sodX89LAx5lkO8I5o FDh/PIbbywsihLNf8Jt5UI/nTOahBtaMQuEz0eo5++iBsNOw/fnrwah41vU4ML7nlv hhoQUxeIQA/flK3ajaPbc0lbaisMbBlU0LvVnc69qOpXnNj3hLWWDO4x7ju4UDxd6t zr+rQgRwejK2Gsr2Ucd9yNDig+V5uii+WHkF37I1Fmr8M2rXDWUtlY/Z3f57I5i2jM SElJYHUDsXs2Q== Subject: Re: [PATCH v5] drm: Add initial ci/ subdirectory To: Rodrigo Siqueira Jordao , Nicholas Choi , Sun peng Li , "Chiu, Harrison" , "Wentland, Harry" Cc: linux-doc@vger.kernel.org, Neil Armstrong , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-amlogic@lists.infradead.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, David Airlie , Jonathan Corbet , Carlo Caione , Kevin Hilman , Heiko Stuebner , Matthias Brugger , Rob Clark References: <20220517081656.47625-1-tomeu.vizoso@collabora.com> <20220726181636.19967-1-tomeu.vizoso@collabora.com> From: Tomeu Vizoso Message-ID: Date: Thu, 11 Aug 2022 12:10:43 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220811_031054_969721_B436C886 X-CRM114-Status: GOOD ( 50.84 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org T24gOC8xMC8yMiA4OjI0IFBNLCBSb2RyaWdvIFNpcXVlaXJhIEpvcmRhbyB3cm90ZToKPiBIaSBU b21ldSwKPiAKPiBGaXJzdCBvZiBhbGwsIG5pY2UgcGF0Y2ghIEkganVzdCBzYXcgaXQsIGFuZCBJ IGhhdmUgc29tZSBiYXNpYyBxdWVzdGlvbnMgCj4gKEkgZG9uJ3QgdW5kZXJzdGFuZCBtYW55IG9m IHRoZXNlIENJIGRldGFpbHMpLiBJIGFsc28gQ0Mgc29tZSBDSSBmb2xrcyAKPiBmcm9tIHRoZSBk aXNwbGF5IHRlYW0gYXQgQU1ELgoKVGhhbmtzIGZvciB0aGUgZmVlZGJhY2shCgo+IE9uIDIwMjIt MDctMjYgMTQ6MTYsIFRvbWV1IFZpem9zbyB3cm90ZToKPj4gQW5kIHVzZSBpdCB0byBzdG9yZSBl eHBlY3RhdGlvbnMgYWJvdXQgd2hhdCB0aGUgRFJNIGRyaXZlcnMgYXJlCj4+IHN1cHBvc2VkIHRv IHBhc3MgaW4gdGhlIElHVCB0ZXN0IHN1aXRlLgo+Pgo+PiBBbHNvIGluY2x1ZGUgYSBjb25maWd1 cmF0aW9uIGZpbGUgdGhhdCBwb2ludHMgdG8gdGhlIG91dC1vZi10cmVlIENJCj4+IHNjcmlwdHMu Cj4+Cj4+IEJ5IHN0b3JpbmcgdGhlIHRlc3QgZXhwZWN0YXRpb25zIGFsb25nIHRoZSBjb2RlIHdl IGNhbiBtYWtlIHN1cmUgYm90aAo+PiBzdGF5IGluIHN5bmMgd2l0aCBlYWNoIG90aGVyLCBhbmQg c28gd2UgY2FuIGtub3cgd2hlbiBhIGNvZGUgY2hhbmdlCj4+IGJyZWFrcyB0aG9zZSBleHBlY3Rh dGlvbnMuCj4+Cj4+IFRoaXMgd2lsbCBhbGxvdyBhbGwgY29udHJpYnV0b3JzIHRvIGRybSB0byBy ZXVzZSB0aGUgaW5mcmFzdHJ1Y3R1cmUKPj4gYWxyZWFkeSBpbiBnaXRsYWIuZnJlZWRlc2t0b3Au b3JnIHRvIHRlc3QgdGhlIGRyaXZlciBvbiBzZXZlcmFsCj4+IGdlbmVyYXRpb25zIG9mIHRoZSBo YXJkd2FyZS4KPj4KPj4gdjI6Cj4+IMKgwqAgLSBGaXggbmFtZXMgb2YgcmVzdWx0IGV4cGVjdGF0 aW9uIGZpbGVzIHRvIG1hdGNoIFNvQwo+PiDCoMKgIC0gRG9uJ3QgZXhlY3V0ZSB0ZXN0cyB0aGF0 IGFyZSBnb2luZyB0byBza2lwIG9uIGFsbCBib2FyZHMKPj4KPj4gdjM6Cj4+IMKgwqAgLSBSZW1v dmUgdHJhY2tpbmcgb2YgZG1lc2cgb3V0cHV0IGR1cmluZyB0ZXN0IGV4ZWN1dGlvbgo+Pgo+PiB2 NDoKPj4gwqDCoCAtIE1vdmUgdXAgdG8gZHJpdmVycy9ncHUvZHJtCj4+IMKgwqAgLSBBZGQgc3Vw cG9ydCBmb3IgYSBidW5jaCBvZiBvdGhlciBkcml2ZXJzCj4+IMKgwqAgLSBFeHBsYWluIGhvdyB0 byBpbmNvcnBvcmF0ZSBmaXhlcyBmb3IgQ0kgZnJvbSBhCj4+IMKgwqDCoMKgICR7VEFSR0VUX0JS QU5DSH0tZXh0ZXJuYWwtZml4ZXMgYnJhbmNoCj4+IMKgwqAgLSBSZW1vdmUgdGVzdHMgdGhhdCBw YXNzIGZyb20gZXhwZWN0ZWQgcmVzdWx0cyBmaWxlLCB0byByZWR1Y2UgdGhlCj4+IMKgwqDCoMKg IHNpemUgb2YgaW4tdHJlZSBmaWxlcwo+PiDCoMKgIC0gQWRkIGRvY3MgYWJvdXQgaG93IHRvIGRl YWwgd2l0aCBvdXRhZ2VzIGluIGF1dG9tYXRlZCB0ZXN0aW5nIGxhYnMKPj4gwqDCoCAtIFNwZWNp ZnkgdGhlIGV4YWN0IFNIQSBvZiB0aGUgQ0kgc2NyaXB0cyB0byBiZSB1c2VkCj4+Cj4+IHY1Ogo+ PiDCoMKgIC0gUmVtb3ZlIHVubmVlZGVkIHNraXBzIGZyb20gTWVzb24gZXhwZWN0YXRpb25zIGZp bGUKPj4gwqDCoCAtIFVzZSBhIG1vcmUgYWR2YW5jZWQgcnVubmVyIHRoYXQgZGV0ZWN0cyBmbGFr ZXMgYXV0b21hdGljYWxseQo+PiDCoMKgIC0gVXNlIGEgbW9yZSBzdWNjaW50IGZvcm1hdCBmb3Ig dGhlIGV4cGVjdGF0aW9ucwo+PiDCoMKgIC0gUnVuIG1hbnkgbW9yZSB0ZXN0cyAoYW5kIHVzZSBz aGFyZGluZyB0byBmaW5pc2ggaW4gdGltZSkKPj4gwqDCoCAtIFVzZSBza2lwIGxpc3RzIHRvIGF2 b2lkIGhhbmdpbmcgbWFjaGluZXMKPj4gwqDCoCAtIEFkZCBzb21lIGJ1aWxkIHRlc3RpbmcKPj4g wqDCoCAtIEJ1aWxkIElHVCBpbiBlYWNoIHBpcGVsaW5lIGZvciBmYXN0ZXIgdXByZXZzCj4+IMKg wqAgLSBMaXN0IGZhaWx1cmVzIGluIHRoZSBHaXRMYWIgVUkKPj4KPj4gU2lnbmVkLW9mZi1ieTog VG9tZXUgVml6b3NvIDx0b21ldS52aXpvc29AY29sbGFib3JhLmNvbT4KPj4gUmV2aWV3ZWQtYnk6 IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJlLmNvbT4KPj4gLS0tCj4+IMKgIERv Y3VtZW50YXRpb24vZ3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdMKgwqDCoMKgwqDCoCB8IDg0ICsr KysrKysrKysrKysrKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1m YWlscy50eHTCoMKgwqAgfCAxMyArKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2FtZGdwdS1z dG9uZXktZmxha2VzLnR4dMKgwqAgfCAyMCArKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kv YW1kZ3B1LXN0b25leS1za2lwcy50eHTCoMKgwqAgfMKgIDIgKwo+PiDCoCBkcml2ZXJzL2dwdS9k cm0vY2kvZ2l0bGFiLWNpLnltbMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTMgKysrCj4+ IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktZmxha2VzLnR4dMKgwqDCoMKgwqDCoCB8 IDMyICsrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYW1seS1za2lwcy50eHTC oMKgwqDCoMKgwqDCoCB8wqAgMiArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFwbC1m YWlscy50eHTCoMKgwqDCoMKgwqDCoMKgIHwgMjkgKysrKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9k cm0vY2kvaTkxNS1hcGwtZmxha2VzLnR4dMKgwqDCoMKgwqDCoMKgIHzCoCAxICsKPj4gwqAgZHJp dmVycy9ncHUvZHJtL2NpL2k5MTUtYXBsLXNraXBzLnR4dMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIg Kwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1jbWwtZmxha2VzLnR4dMKgwqDCoMKgwqDC oMKgIHwgMzYgKysrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtZ2xrLWZsYWtl cy50eHTCoMKgwqDCoMKgwqDCoCB8IDQwICsrKysrKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0v Y2kvaTkxNS1nbGstc2tpcHMudHh0wqDCoMKgwqDCoMKgwqDCoCB8wqAgMiArCj4+IMKgIGRyaXZl cnMvZ3B1L2RybS9jaS9pOTE1LWtibC1mYWlscy50eHTCoMKgwqDCoMKgwqDCoMKgIHzCoCA4ICsr Cj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWtibC1mbGFrZXMudHh0wqDCoMKgwqDCoMKg wqAgfCAyNCArKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUta2JsLXNraXBzLnR4 dMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10 Z2wtZmFpbHMudHh0wqDCoMKgwqDCoMKgwqDCoCB8IDE5ICsrKysKPj4gwqAgZHJpdmVycy9ncHUv ZHJtL2NpL2k5MTUtdGdsLWZsYWtlcy50eHTCoMKgwqDCoMKgwqDCoCB8wqAgNiArKwo+PiDCoCBk cml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10Z2wtc2tpcHMudHh0wqDCoMKgwqDCoMKgwqDCoCB8wqAg OCArKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS13aGwtZmFpbHMudHh0wqDCoMKgwqDC oMKgwqDCoCB8IDMwICsrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtd2hsLWZs YWtlcy50eHTCoMKgwqDCoMKgwqDCoCB8wqAgMSArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9t ZWRpYXRlay1tdDgxNzMtZmFpbHMudHh0wqAgfCAyOSArKysrKysrCj4+IMKgIGRyaXZlcnMvZ3B1 L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmFpbHMudHh0wqAgfCAxMCArKysKPj4gwqAgZHJpdmVy cy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE4My1mbGFrZXMudHh0IHwgMTQgKysrCj4+IMKgIGRy aXZlcnMvZ3B1L2RybS9jaS9tZXNvbi1nMTJiLWZhaWxzLnR4dMKgwqDCoMKgwqDCoCB8wqAgNSAr Kwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mbGFrZXMudHh0wqDCoMKgwqDC oCB8wqAgNCArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODAxNi1mYWlscy50eHTC oMKgwqDCoMKgIHwgMTUgKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYt Zmxha2VzLnR4dMKgwqDCoMKgIHzCoCA0ICsKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL21zbS1h cHE4MDk2LWZhaWxzLnR4dMKgwqDCoMKgwqAgfMKgIDIgKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0v Y2kvbXNtLWFwcTgwOTYtZmxha2VzLnR4dMKgwqDCoMKgIHzCoCA0ICsKPj4gwqAgZHJpdmVycy9n cHUvZHJtL2NpL21zbS1hcHE4MDk2LXNraXBzLnR4dMKgwqDCoMKgwqAgfMKgIDIgKwo+PiDCoCBk cml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1mYWlscy50eHTCoMKgwqDCoMKgwqAgfCAyMiAr KysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1mbGFrZXMudHh0wqDCoMKg wqDCoCB8IDE0ICsrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1za2lwcy50 eHTCoMKgwqDCoMKgwqAgfCAxOCArKysrCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2Rt ODQ1LWZhaWxzLnR4dMKgwqDCoMKgwqDCoCB8IDQ0ICsrKysrKysrKysKPj4gwqAgZHJpdmVycy9n cHUvZHJtL2NpL21zbS1zZG04NDUtZmxha2VzLnR4dMKgwqDCoMKgwqAgfCAzMyArKysrKysrCj4+ IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LXNraXBzLnR4dMKgwqDCoMKgwqDCoCB8 wqAgMiArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMyODgtZmFpbHMudHh0 wqAgfCA3NSArKysrKysrKysrKysrKysrCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hp cC1yazMyODgtZmxha2VzLnR4dCB8wqAgNSArKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvcm9j a2NoaXAtcmszMjg4LXNraXBzLnR4dMKgIHwgNDYgKysrKysrKysrKwo+PiDCoCBkcml2ZXJzL2dw dS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZhaWxzLnR4dMKgIHwgODYgKysrKysrKysrKysrKysr KysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZsYWtlcy50eHQg fCAyNSArKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1za2lw cy50eHTCoCB8wqAgNSArKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25l LWZhaWxzLnR4dMKgIHwgMzggKysrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL3ZpcnRp b19ncHUtbm9uZS1mbGFrZXMudHh0IHzCoCAwCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS92aXJ0 aW9fZ3B1LW5vbmUtc2tpcHMudHh0wqAgfMKgIDYgKysKPj4gwqAgNDYgZmlsZXMgY2hhbmdlZCwg ODgyIGluc2VydGlvbnMoKykKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24v Z3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9uZXktZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mbGFrZXMudHh0Cj4+IMKgIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1za2lwcy50 eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9naXRsYWItY2ku eW1sCj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1hbWx5 LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9p OTE1LWFtbHktc2tpcHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9k cm0vY2kvaTkxNS1hcGwtZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L2dwdS9kcm0vY2kvaTkxNS1hcGwtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYXBsLXNraXBzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtY21sLWZsYWtlcy50eHQKPj4gwqAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWdsay1mbGFrZXMudHh0Cj4+IMKg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGstc2tpcHMudHh0 Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtZmFp bHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1r YmwtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2Np L2k5MTUta2JsLXNraXBzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUv ZHJtL2NpL2k5MTUtdGdsLWZhaWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9ncHUvZHJtL2NpL2k5MTUtdGdsLWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1za2lwcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXdobC1mYWlscy50eHQKPj4gwqAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXdobC1mbGFrZXMudHh0Cj4+IMKg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTczLWZh aWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL21lZGlh dGVrLW10ODE4My1mYWlscy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBt b2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mbGFrZXMudHh0Cj4+IMKg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmFpbHMu dHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgw MTYtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2Np L21zbS1hcHE4MDk2LWZhaWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9n cHUvZHJtL2NpL21zbS1hcHE4MDk2LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1za2lwcy50eHQKPj4gwqAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2M3MTgwLWZhaWxzLnR4dAo+PiDCoCBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtZmxha2VzLnR4 dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAt c2tpcHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNt LXNkbTg0NS1mYWlscy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9jaS9tc20tc2RtODQ1LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LXNraXBzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzI4OC1mYWlscy50eHQKPj4gwqAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMyODgtZmxha2Vz LnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlw LXJrMzI4OC1za2lwcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9jaS9yb2NrY2hpcC1yazMzOTktZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMzOTktc2tpcHMudHh0 Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1u b25lLWZhaWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2Np L3ZpcnRpb19ncHUtbm9uZS1mbGFrZXMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLXNraXBzLnR4dAo+Pgo+PiBkaWZmIC0tZ2l0 IGEvRG9jdW1lbnRhdGlvbi9ncHUvYXV0b21hdGVkX3Rlc3RpbmcucnN0IAo+PiBiL0RvY3VtZW50 YXRpb24vZ3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ PiBpbmRleCAwMDAwMDAwMDAwMDAuLjYxMDAzZWNjN2I2ZQo+PiAtLS0gL2Rldi9udWxsCj4+ICsr KyBiL0RvY3VtZW50YXRpb24vZ3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdAo+PiBAQCAtMCwwICsx LDg0IEBACj4+ICsuLiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsKPj4gKwo+PiAr PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPj4gK0F1dG9tYXRlZCB0 ZXN0aW5nIG9mIHRoZSBEUk0gc3Vic3lzdGVtCj4+ICs9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQo+PiArCj4+ICsKPj4gK0ludHJvZHVjdGlvbgo+PiArPT09PT09PT09 PT09Cj4+ICsKPj4gK01ha2luZyBzdXJlIHRoYXQgY2hhbmdlcyB0byB0aGUgY29yZSBvciBkcml2 ZXJzIGRvbid0IGludHJvZHVjZSAKPj4gcmVncmVzc2lvbnMgY2FuIGJlIHZlcnkgdGltZSBjb25z dW1pbmcgd2hlbiBsb3RzIG9mIGRpZmZlcmVudCBoYXJkd2FyZSAKPj4gY29uZmlndXJhdGlvbnMg bmVlZCB0byBiZSB0ZXN0ZWQuIE1vcmVvdmVyLCBpdCBpc24ndCBwcmFjdGljYWwgZm9yIAo+PiBl YWNoIHBlcnNvbiBpbnRlcmVzdGVkIGluIHRoaXMgdGVzdGluZyB0byBoYXZlIHRvIGFjcXVpcmUg YW5kIG1haW50YWluIAo+PiB3aGF0IGNhbiBiZSBhIGNvbnNpZGVyYWJsZSBhbW91bnQgb2YgaGFy ZHdhcmUuCj4+ICsKPj4gK0Fsc28sIGl0IGlzIGRlc2lyYWJsZSBmb3IgZGV2ZWxvcGVycyB0byBj aGVjayBmb3IgcmVncmVzc2lvbnMgaW4gCj4+IHRoZWlyIGNvZGUgYnkgdGhlbXNlbHZlcywgaW5z dGVhZCBvZiByZWx5aW5nIG9uIHRoZSBtYWludGFpbmVycyAKPj4gZmluZGluZyB0aGVtIGFuZCB0 aGVuIHJlcG9ydGluZyBiYWNrLgo+PiArCj4+ICtUaGVyZSBhcmUgZmFjaWxpdGllcyBpbiBnaXRs YWIuZnJlZWRlc2t0b3Aub3JnIHRvIGF1dG9tYXRpY2FsbHkgdGVzdCAKPj4gTWVzYSB0aGF0IGNh biBiZSB1c2VkIGFzIHdlbGwgZm9yIHRlc3RpbmcgdGhlIERSTSBzdWJzeXN0ZW0uIFRoaXMgCj4+ IGRvY3VtZW50IGV4cGxhaW5zIGhvdyBwZW9wbGUgaW50ZXJlc3RlZCBpbiB0ZXN0aW5nIGl0IGNh biB1c2UgdGhpcyAKPj4gc2hhcmVkIGluZnJhc3RydWN0dXJlIHRvIHNhdmUgcXVpdGUgc29tZSB0 aW1lIGFuZCBlZmZvcnQuCj4+ICsKPj4gKwo+PiArUmVsZXZhbnQgZmlsZXMKPj4gKz09PT09PT09 PT09PT09Cj4+ICsKPj4gK2RyaXZlcnMvZ3B1L2RybS9jaS9naXRsYWItY2kueW1sCj4+ICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiArCj4+ICtTcGVjaWZpZXMgdGhlIHNwZWNp ZmljIHZlcnNpb24gb2YgdGhlIHNjcmlwdHMgdG8gYmUgdXNlZC4gR2l0TGFiIENJIAo+PiB3aWxs IHVzZSB0aGUgdmFsdWVzIGRlZmluZWQgaW4gdGhpcyBmaWxlIHRvIGZldGNoIHRoZSByaWdodCBz Y3JpcHRzLgo+PiArCj4+ICsKPj4gK2RyaXZlcnMvZ3B1L2RybS9jaS8ke0RSSVZFUl9OQU1FfS50 ZXN0bGlzdAo+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ ICsKPj4gK1NwZWNpZmllcyB0aGUgdGVzdHMgdGhhdCB0aGUgY3VycmVudCBjb2RlIGlzIGV4cGVj dGVkIHRvIGJlIGFibGUgdG8gCj4+IHJlbGlhYmx5IHJ1biBmb3IgJHtEUklWRVJfTkFNRX0uIFRo ZXNlIHRlc3RzIGFyZSBleHBlY3RlZCB0byBub3QgaGFuZyAKPj4gdGhlIERVVCAoRGV2aWNlIFVu ZGVyIFRlc3RpbmcpIHdoZW4gcnVubmluZyBvbiB0aGUgcmV2aXNpb24gdGhleSAKPj4gYmVsb25n IHRvLCBhbmQgdG8gZ2l2ZSBjb25zaXN0ZW50IHJlc3VsdHMuCj4gCj4gVGhlIElHVCByZXBvIGhh cyB0ZXN0bGlzdHMgcGVyIHZlbmRvciAoZS5nLiwgCj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0 b3Aub3JnL2RybS9pZ3QtZ3B1LXRvb2xzLy0vdHJlZS9tYXN0ZXIvdGVzdHMvaW50ZWwtY2kpLiAK PiBXaGF0IGlzIHRoZSBhZHZhbnRhZ2Ugb2Yga2VlcGluZyBhIHNpbWlsYXIgSUdUIGxpc3QgaGVy ZT8gU2hvdWxkIHdlIAo+IG1haW50YWluIHRoYXQgbGlzdCBpbiBib3RoIHByb2plY3RzPwoKWWVz LCBJIHRoaW5rIHRoYXQgd291bGQgYmUgYmV0dGVyLCBidXQgdGhlIG9uZXMgY3VycmVudGx5IHRo ZXJlIHdlcmUgdG9vIApzbWFsbCBvciB0b28gYmlnIHRvIGJlIHVzZWZ1bCBoZXJlLgoKTm90ZSB0 aGF0IHRoZSBkb2N1bWVudGF0aW9uIGhlcmUgaXMgZXJyb25lb3VzLCB0aGUgdGVzdCBsaXN0cyBp biB0aGlzIAppdGVyYXRpb24gYXJlIGluIHRoZSBkcm0tY2kgcmVwbywgbm90IGluIHRoZSBrZXJu ZWwuIFdpbGwgZml4IHRoaXMgd2hlbiAKSSBzZW5kIG15IHJlYmFzZWQgcGF0Y2hlcy4KCj4+ICtk cml2ZXJzL2dwdS9kcm0vY2kvJHtEUklWRVJfTkFNRX1fKl9yZXN1bHRzLnR4dAo+PiArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiArCj4+ICtTcGVjaWZpZXMgdGhl IGV4cGVjdGVkIHJlc3VsdHMgb2YgcnVubmluZyB0aGlzIHNwZWNpZmljIGtlcm5lbCAKPj4gcmV2 aXNpb24gb24gYSBnaXZlbiBoYXJkd2FyZSBjb25maWd1cmF0aW9uLgo+PiArCj4+ICsKPj4gK0hv dyB0byBlbmFibGUgYXV0b21hdGVkIHRlc3Rpbmcgb24geW91ciB0cmVlCj4+ICs9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+PiArCj4+ICsxLiBDcmVhdGUgYSBM aW51eCB0cmVlIGluIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy8gaWYgeW91IAo+PiBk b24ndCBoYXZlIG9uZSB5ZXQKPj4gKwo+PiArMi4gSW4geW91ciBrZXJuZWwgcmVwbydzIGNvbmZp Z3VyYXRpb24gKGVnLiAKPj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3RvbWV1L2xp bnV4Ly0vc2V0dGluZ3MvY2lfY2QpLCBjaGFuZ2UgCj4+IHRoZSBDSS9DRCBjb25maWd1cmF0aW9u IGZpbGUgZnJvbSAuZ2l0bGFiLWNpLnltbCB0byAKPj4gZHJpdmVycy9ncHUvZHJtL2NpL2dpdGxh Yi1jaS55bWwuCj4+ICsKPj4gKzMuIE5leHQgdGltZSB5b3UgcHVzaCB0byB0aGlzIHJlcG9zaXRv cnksIHlvdSB3aWxsIHNlZSBhIENJIHBpcGVsaW5lIAo+PiBiZWluZyBjcmVhdGVkIChlZy4gCj4+ IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy90b21ldS9saW51eC8tL3BpcGVsaW5lcykK Pj4gKwo+PiArNC4gVGhlIHZhcmlvdXMgam9icyB3aWxsIGJlIHJ1biBhbmQgd2hlbiB0aGUgcGlw ZWxpbmUgaXMgZmluaXNoZWQsIAo+PiBhbGwgam9icyBzaG91bGQgYmUgZ3JlZW4gdW5sZXNzIGEg cmVncmVzc2lvbiBoYXMgYmVlbiBmb3VuZC4KPj4gKwo+PiArCj4+ICtIb3cgdG8gdXBkYXRlIHRl c3QgZXhwZWN0YXRpb25zCj4+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4+ICsK Pj4gK0lmIHlvdXIgY2hhbmdlcyB0byB0aGUgY29kZSBmaXggYW55IHRlc3RzLCB5b3Ugd2lsbCBo YXZlIHRvIHVwZGF0ZSAKPj4gb25lIG9yIG1vcmUgb2YgdGhlIGZpbGVzIGluIAo+PiBkcml2ZXJz L2dwdS9kcm0vY2kvJHtEUklWRVJfTkFNRX1fKl9yZXN1bHRzLnR4dCwgZm9yIGVhY2ggb2YgdGhl IHRlc3QgCj4+IHBsYXRmb3JtcyBhZmZlY3RlZCBieSB0aGUgY2hhbmdlLgo+PiArCj4+ICtJZiB5 b3UgaGF2ZSBydW4gYSBwaXBlbGluZSBhbmQgaXQgZmFpbGVkIGJlY2F1c2Ugb2YgYSBtaXNtYXRj aGVkIHRlc3QgCj4+IHJlc3VsdCwgeW91IHdpbGwgaGF2ZSBiZWVuIG9mZmVyZWQgYSBwYXRjaCBh dCB0aGUgZW5kIG9mIHRoZSBydW4gdGhhdCAKPj4geW91IGNhbiBhcHBseSBhZnRlciByZXZpZXdp bmcgaXQuCj4+ICsKPj4gKwo+PiArSG93IHRvIGV4cGFuZCBjb3ZlcmFnZQo+PiArPT09PT09PT09 PT09PT09PT09PT09PQo+PiArCj4+ICtJZiB5b3VyIGNvZGUgY2hhbmdlcyBtYWtlcyBpdCBwb3Nz aWJsZSB0byBydW4gbW9yZSB0ZXN0cyAoYnkgc29sdmluZyAKPj4gcmVsaWFiaWxpdHkgaXNzdWVz LCBmb3IgZXhhbXBsZSksIG1vcmUgdGVzdHMgY2FuIGJlIGFkZGVkIHRvIHRoaXMgCj4+IGxpc3Qs IGFuZCB0aGVuIHRoZSBleHBlY3RlZCByZXN1bHRzIHVwZGF0ZWQgd2l0aCB0aGUgcGF0Y2ggZmls ZSB0aGF0IAo+PiB3aWxsIGJlIHByaW50ZWQgYXQgdGhlIGVuZCBvZiBlYWNoIGpvYi4KPj4gKwo+ PiArSWYgdGhlcmUgaXMgYSBuZWVkIGZvciB1cGRhdGluZyB0aGUgdmVyc2lvbiBvZiBJR1QgYmVp bmcgdXNlZCAobWF5YmUgCj4+IHlvdSBoYXZlIGFkZGVkIG1vcmUgdGVzdHMgdG8gaXQpLCBmb2xs b3cgdGhlIGluc3RydWN0aW9ucyBhdCAKPj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3Jn L2dmeC1jaS9kcm0tY2kvLS90cmVlL21haW4jdXByZXZpbmctaWd0Lgo+IAo+IFVzdWFsbHksIHdl IHJ1biBvdXIgSUdUIHRlc3Qgb24gdGhlIGxhdGVzdCBjb2RlIGZyb20gdGhlIElHVCByZXBvLiBJ cyBpdCAKPiBwb3NzaWJsZSB0byBjb25maWd1cmUgdGhpcyBiZWhhdmlvcj8KCklmIHRoaXMgd2Fz IHRoZSBkZWZhdWx0IGJlaGF2aW9yLCBpdCB3b3VsZCBjcmVhdGUgYSBsb3Qgb2YgdHJvdWJsZSAK YmVjYXVzZSBwaXBlbGluZXMgZm9yIHRoZSBzYW1lIGNvZGUgd291bGQgc29tZXRpbWVzIHBhc3Mg b3IgZmFpbCBiYXNlZCAKb24gd2hhdGV2ZXIgaGFkIGJlZW4gcHVzaGVkIHRvIHRoZSBJR1QgcmVw by4gSXQgaXMgcmVhbGx5IGltcG9ydGFudCBmb3IgCnRoaXMgdG8gd29yayB3ZWxsIGZvciBldmVy eWJvZHkgdGhhdCB0aGUgcGlwZWxpbmUgaXMga2VwdCBncmVlbiBhdCBhbGwgCnRpbWVzIGZvciBj aGVja2VkLWluIGNvZGUuCgpCdXQgaXQgaXMgYWxyZWFkeSB2ZXJ5IGVhc3kgdG8gdXByZXYgSUdU LCBpdCBqdXN0IHJlcXVpcmVzIHVwZGF0aW5nIGEgCmNvbW1pdCBoYXNoIGluIHRoZSBkcm0tY2kg cmVwby4KCj4+ICtIb3cgdG8gdGVzdCB5b3VyIGNoYW5nZXMgdG8gdGhlIHNjcmlwdHMKPj4gKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+PiArCj4+ICtGb3IgdGVz dGluZyBjaGFuZ2VzIHRvIHRoZSBzY3JpcHRzIGluIHRoZSBkcm0tY2kgcmVwbywgY2hhbmdlIHRo ZSAKPj4gRFJNX0NJX1BST0pFQ1RfUEFUSCB2YXJpYWJsZSBpbiBkcml2ZXJzL2dwdS9kcm0vY2kv Z2l0bGFiLWNpLnltbCB0byAKPj4gbWF0Y2ggeW91ciBmb3JrIG9mIHRoZSBwcm9qZWN0IChlZy4g dG9tZXUvZHJtLWNpKS4gVGhpcyBmb3JrIG5lZWRzIHRvIAo+PiBiZSBpbiBodHRwczovL2dpdGxh Yi5mcmVlZGVza3RvcC5vcmcvLgo+PiArCj4+ICsKPj4gK0hvdyB0byBpbmNvcnBvcmF0ZSBleHRl cm5hbCBmaXhlcyBpbiB5b3VyIHRlc3RpbmcKPj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KPj4gKwo+PiArT2Z0ZW4sIHJlZ3Jlc3Npb25zIGluIG90 aGVyIHRyZWVzIHdpbGwgcHJldmVudCB0ZXN0aW5nIGNoYW5nZXMgbG9jYWwgCj4+IHRvIHRoZSB0 cmVlIHVuZGVyIHRlc3QuIFRoZXNlIGZpeGVzIHdpbGwgYmUgYXV0b21hdGljYWxseSBtZXJnZWQg aW4gCj4+IGR1cmluZyB0aGUgYnVpbGQgam9icyBmcm9tIGEgYnJhbmNoIGluIHRoZSB0YXJnZXQg dHJlZSB0aGF0IGlzIG5hbWVkIAo+PiBhcyAke1RBUkdFVF9CUkFOQ0h9LWV4dGVybmFsLWZpeGVz Lgo+PiArCj4+ICtJZiB0aGUgcGlwZWxpbmUgaXMgbm90IGluIGEgbWVyZ2UgcmVxdWVzdCBhbmQg YSBicmFuY2ggd2l0aCB0aGUgc2FtZSAKPj4gbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIHRyZWUs IGNvbW1pdHMgZnJvbSB0aGF0IGJyYW5jaCB3aWxsIGJlIG1lcmdlZCAKPj4gaW4gYXMgd2VsbC4K Pj4gKwo+PiArCj4+ICtIb3cgdG8gZGVhbCB3aXRoIGF1dG9tYXRlZCB0ZXN0aW5nIGxhYnMgdGhh dCBtYXkgYmUgZG93bgo+PiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KPj4gKwo+PiArSWYgYSBoYXJkd2FyZSBmYXJtIGlzIGRvd24gYW5k IHRodXMgY2F1c2luZyBwaXBlbGluZXMgdG8gZmFpbCB0aGF0IAo+PiB3b3VsZCBvdGhlcndpc2Ug cGFzcywgb25lIGNhbiBkaXNhYmxlIGFsbCBqb2JzIHRoYXQgd291bGQgYmUgc3VibWl0dGVkIAo+ PiB0byB0aGF0IGZhcm0gYnkgZWRpdGluZyB0aGUgZmlsZSBhdCAKPj4gaHR0cHM6Ly9naXRsYWIu ZnJlZWRlc2t0b3Aub3JnL2dmeC1jaS9sYWItc3RhdHVzLy0vYmxvYi9tYWluL2xhYi1zdGF0dXMu eW1sLiAKPj4KPiAKPiAKPiBUaGlzIHBhcnQgaXMgdGhlIG9uZSB0aGF0IEkgcmVhbGx5IHdhbnQg dG8gdW5kZXJzdGFuZC4gSG93IGNhbiB3ZSBwbHVnIAo+IG91ciBmYXJtPyBEbyB5b3UgaGF2ZSBh IGd1aWRlbGluZT8gSSB3YW50IHRvIGtub3cgaWYgd2UgY2FuIHJ1biBhIAo+IHByb3RvdHlwZS4K CldlIGFyZSByZXVzaW5nIHRoZSBkZXZpY2UgZmFybXMgdGhhdCB3ZXJlIGFkZGVkIHRvIApnaXRs YWIuZnJlZWRlc2t0b3Aub3JnIGZvciB0ZXN0aW5nIE1lc2EuCgpZb3Ugc2hvdWxkIGJlIGFibGUg dG8gcGx1ZyB5b3VyIG93biBsYWIgZm9yIHVzZSBpbiB5b3VyIHBlcnNvbmFsIGJyYW5jaCAKd2l0 aG91dCByZXF1aXJpbmcgYW55dGhpbmcgZnJvbSBhbnlib2R5IGVsc2UuIFlvdSBqdXN0IG5lZWQg YW4gYWNjb3VudCAKaW4gZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy4KCkN1cnJlbnRseSwgdGhlcmUg YXJlIHR3byBtb2RlcyB0aHJvdWdoIHdoaWNoIERVVHMgYXJlIG1hZGUgYXZhaWxhYmxlIHRvIApH aXRsYWIgQ0k6IGJhcmVtZXRhbCBhbmQgTEFWQS4gVGhlIGxhdHRlciBzaG91bGQgYmV0dGVyIHNj YWxlIHRvIHNldmVyYWwgCmRvemVucyBvZiBkZXZpY2VzIGJ1dCBoYXMgYSBoaWdoZXIgaW5pdGlh bCBpbnN0YWxsYXRpb24gZWZmb3J0LiBJdCB3b3VsZCAKYWxsb3cgdGhpcyBmYXJtIHRvIGJlIHVz ZWQgaW4gb3RoZXIgQ0lzIHN1Y2ggYXMga2VybmVsY2kub3JnLCB0aG91Z2guCgpUaGVyZSBpcyBz b21lIGRvY3VtZW50YXRpb24gYWJvdXQgdGhpcyBpbiBNZXNhOgoKKiBodHRwczovL2RvY3MubWVz YTNkLm9yZy9jaS9iYXJlLW1ldGFsLmh0bWwKKiBodHRwczovL2RvY3MubWVzYTNkLm9yZy9jaS9M QVZBLmh0bWwKCkFzayBpbiAjZnJlZWRlc2t0b3AgaW4gT0ZUQyBpZiB5b3UgbmVlZCBhbnkgaGVs cC4KCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mYWls cy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9uZXktZmFpbHMudHh0Cj4+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZTcyMTU2OGI2ZWMz Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9u ZXktZmFpbHMudHh0Cj4+IEBAIC0wLDAgKzEsMTMgQEAKPj4gK2ttc19hZGRmYl9iYXNpY0BiYWQt cGl0Y2gtNjU1MzYsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQGJvLXRvby1zbWFsbCxGYWlsCj4+ ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21z X2J3QGxpbmVhci10aWxpbmctMS1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19id0Bs aW5lYXItdGlsaW5nLTItZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFy LXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlw ZS1BLWN1cnNvci1zaXplLWNoYW5nZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vy c29yLXNpemUtY2hhbmdlLEZhaWwKPj4gK2ttc19oZHJAYnBjLXN3aXRjaCxGYWlsCj4+ICtrbXNf aGRyQGJwYy1zd2l0Y2gtZHBtcyxGYWlsCj4+ICtrbXNfcGxhbmVfbXVsdGlwbGVAYXRvbWljLXBp cGUtQS10aWxpbmctbm9uZSxGYWlsCj4+ICtrbXNfcm90YXRpb25fY3JjQHByaW1hcnktcm90YXRp b24tMTgwLEZhaWwKPj4gK2ttc191bml2ZXJzYWxfcGxhbmVAZGlzYWJsZS1wcmltYXJ5LXZzLWZs aXAtcGlwZS1CLEZhaWwKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mbGFrZXMudHh0IAo+PiBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9hbWRncHUtc3RvbmV5LWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5hMmNiYzMzOTgzOGMKPj4gLS0tIC9kZXYv bnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mbGFrZXMudHh0 Cj4+IEBAIC0wLDAgKzEsMjAgQEAKPj4gK2ttc19hZGRmYl9iYXNpY0B0b28taGlnaAo+PiAra21z X2F0b21pY190cmFuc2l0aW9uQHBsYW5lLWFsbC1tb2Rlc2V0LXRyYW5zaXRpb24taW50ZXJuYWwt cGFuZWxzCj4+ICtrbXNfYXRvbWljX3RyYW5zaXRpb25AcGxhbmUtYWxsLXRyYW5zaXRpb24KPj4g K2ttc19hdG9taWNfdHJhbnNpdGlvbkBwbGFuZS11c2UtYWZ0ZXItbm9uYmxvY2tpbmctdW5iaW5k Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctMi1kaXNwbGF5cy0yNTYweDE0NDBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRp c3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0 MHgyMTYwcAo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1BLTY0eDY0LWJvdHRvbS1lZGdl Cj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUEtNjR4NjQtcmlnaHQtZWRnZQo+PiAra21z X2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1BLTY0eDY0LXRvcC1lZGdlCj4+ICtrbXNfY3Vyc29yX2Vk Z2Vfd2Fsa0BwaXBlLUItNjR4NjQtYm90dG9tLWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxr QHBpcGUtQi02NHg2NC1sZWZ0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02 NHg2NC1yaWdodC1lZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4NjQtdG9w LWVkZ2UKPj4gK2ttc19wbGFuZV9tdWx0aXBsZUBhdG9taWMtcGlwZS1CLXRpbGluZy1ub25lCj4+ ICtrbXNfcGxhbmVAcGl4ZWwtZm9ybWF0Cj4+ICtrbXNfcGxhbmVfc2NhbGluZ0Bkb3duc2NhbGUt d2l0aC1yb3RhdGlvbi1mYWN0b3ItMC01Cj4+ICtrbXNfdW5pdmVyc2FsX3BsYW5lQGRpc2FibGUt cHJpbWFyeS12cy1mbGlwLXBpcGUtQQo+IAo+IFdlIGhhdmUgbXVsdGlwbGUgdGVzdCBsaXN0cyBm b3IgZGlmZmVyZW50IEFTSUNzLCBhbmQgd2UgYXJlIHdvcmtpbmcgdG8gCj4gaGF2ZSBvbmUgdW5p ZmllZCBsaXN0LiBJIGd1ZXNzIHdlIGp1c3QgbmVlZCB0byB0aGF0IGxpc3QgaGVyZT8KPiAKPiBN YXliZSBOaWNob2xhcy9IZXJyaXNvbiBjYW4gcHJvdmlkZSBhIGNvbXBsZXRlIGxpc3QgaGVyZS4K Ck1heWJlIGFkZCBpdCB0byB0aGUgSUdUIHJlcG8gYW5kIGZyb20gdGhlcmUgaXQgd2lsbCBiZSB1 c2VkIGluIHRoaXMgQ0kgCm9uY2UgaXQgY2FuIHJ1biByZWxpYWJseSBlbm91Z2g/CgpDaGVlcnMs CgpUb21ldQoKPiBUaGFua3MKPiBTaXF1ZWlyYQo+IAo+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9uZXktc2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9jaS9hbWRncHUtc3RvbmV5LXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBp bmRleCAwMDAwMDAwMDAwMDAuLmUyYzUzOGEwZjk1NAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9jaS9hbWRncHUtc3RvbmV5LXNraXBzLnR4dAo+PiBAQCAtMCwwICsx LDIgQEAKPj4gKyMgU3VzcGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9uIHRoaXMgbWFj aGluZQo+PiArLipzdXNwZW5kLioKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvZ2l0bGFiLWNpLnltbCAKPj4gYi9kcml2ZXJz L2dwdS9kcm0vY2kvZ2l0bGFiLWNpLnltbAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRl eCAwMDAwMDAwMDAwMDAuLjg4OThiYmUwZjE4MAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9naXRsYWItY2kueW1sCj4+IEBAIC0wLDAgKzEsMTMgQEAKPj4gK3Zh cmlhYmxlczoKPj4gK8KgICMgQ2hhbmdlIHRoaXMgdG8gdXNlIHlvdXIgZm9yayBvZiBkcm0tY2kK Pj4gK8KgIERSTV9DSV9QUk9KRUNUX1BBVEg6ICZkcm0tY2ktcHJvamVjdC1wYXRoIGdmeC1jaS9k cm0tY2kKPj4gK8KgIERSTV9DSV9DT01NSVRfU0hBOiAmZHJtLWNpLWNvbW1pdC1zaGEgCj4+IGJj Y2ZmMjQwY2EwNDI4MjA0ODQwOTZmMDc4MmU4ZjA2MGJkODNiY2EKPj4gKwo+PiArwqAgVVBTVFJF QU1fUkVQTzogZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZHJtL2RybQo+PiArwqAgVEFS R0VUX0JSQU5DSDogZHJtLW5leHQKPj4gKwo+PiAraW5jbHVkZToKPj4gK8KgIC0gcHJvamVjdDog KmRybS1jaS1wcm9qZWN0LXBhdGgKPj4gK8KgwqDCoCByZWY6ICpkcm0tY2ktY29tbWl0LXNoYQo+ PiArwqDCoMKgIGZpbGU6Cj4+ICvCoMKgwqDCoMKgIC0gJy5naXRsYWItY2kueW1sJwo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYW1seS1mbGFrZXMudHh0IAo+PiBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjY3ZDc4ZjEwYjY3MQo+PiAtLS0gL2Rldi9udWxs Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktZmxha2VzLnR4dAo+PiBAQCAt MCwwICsxLDMyIEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4MTA4 MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMjU2MHgxNDQwcAo+PiAra21z X2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQweDIxNjBwCj4+ICtrbXNfYndAbGluZWFy LXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMt ZGlzcGxheXMtMjU2MHgxNDQwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0z ODQweDIxNjBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTE5MjB4MTA4MHAK Pj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMjU2MHgxNDQwcAo+PiAra21zX2J3 QGxpbmVhci10aWxpbmctNC1kaXNwbGF5cy0zODQweDIxNjBwCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZS10by02NGJwcC15dGlsZS11cHNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZWNjcy10by02NGJwcC15dGls ZS1kb3duc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlY2Nz LXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0 YnBwLXl0aWxlLXRvLTE2YnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxp cF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtZG93bnNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS11 cHNjYWxpbmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJw cC15dGlsZXJjY2NzLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy11cHNjYWxpbmcKPj4gK2ttc19wbGFuZV9hbHBo YV9ibGVuZEBwaXBlLUEtYWxwaGEtYmFzaWMKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBl LUEtYWxwaGEtb3BhcXVlLWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhh LXRyYW5zcGFyZW50LWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvbnN0YW50 LWFscGhhLW1heAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1iYXNpYwo+ PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1vcGFxdWUtZmIKPj4gK2ttc19w bGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtdHJhbnNwYXJlbnQtZmIKPj4gK2ttc19wbGFu ZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxwaGEtbWF4Cj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1DLWFscGhhLWJhc2ljCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlw ZS1DLWFscGhhLW9wYXF1ZS1mYgo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBo YS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1jb25zdGFu dC1hbHBoYS1tYXgKPj4gK2ttc19zeXNmc19lZGlkX3RpbWluZwo+PiBcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHkt c2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktc2tpcHMudHh0Cj4+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZTJjNTM4YTBmOTU0 Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYW1seS1z a2lwcy50eHQKPj4gQEAgLTAsMCArMSwyIEBACj4+ICsjIFN1c3BlbmQgdG8gUkFNIHNlZW1zIHRv IGJlIGJyb2tlbiBvbiB0aGlzIG1hY2hpbmUKPj4gKy4qc3VzcGVuZC4qCj4+IFwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUt YXBsLWZhaWxzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1hcGwtZmFpbHMudHh0 Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uYTA3N2YyOWQ1 Y2JhCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYXBs LWZhaWxzLnR4dAo+PiBAQCAtMCwwICsxLDI5IEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0y LWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNw bGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMt Mzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4 MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBw LEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWls Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAr a21zX2J3QGxpbmVhci10aWxpbmctNC1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfZmxpcF9z Y2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcsRmFp bAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlLXRvLTY0YnBwLXl0aWxl LXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGVj Y3MtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2Ny Y0BmbGlwLTMyYnBwLXl0aWxlY2NzLXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtr bXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtZG93bnNj YWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTE2 YnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2Nh bGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Nj cy1kb3duc2NhbGluZyxGYWlsIAo+Pgo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBw LXl0aWxlLXRvLTMyYnBwLXl0aWxlcmNjY3MtdXBzY2FsaW5nLEZhaWwKPj4gK2ttc19wbGFuZV9h bHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtb3BhcXVlLWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBo YV9ibGVuZEBwaXBlLUEtYWxwaGEtdHJhbnNwYXJlbnQtZmIsRmFpbAo+PiAra21zX3BsYW5lX2Fs cGhhX2JsZW5kQHBpcGUtQS1jb25zdGFudC1hbHBoYS1tYXgsRmFpbAo+PiAra21zX3BsYW5lX2Fs cGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1vcGFxdWUtZmIsRmFpbAo+PiAra21zX3BsYW5lX2FscGhh X2JsZW5kQHBpcGUtQi1hbHBoYS10cmFuc3BhcmVudC1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1CLWNvbnN0YW50LWFscGhhLW1heCxGYWlsCj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1DLWFscGhhLW9wYXF1ZS1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFf YmxlbmRAcGlwZS1DLWFscGhhLXRyYW5zcGFyZW50LWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBo YV9ibGVuZEBwaXBlLUMtY29uc3RhbnQtYWxwaGEtbWF4LEZhaWwKPj4gK2ttc19zeXNmc19lZGlk X3RpbWluZyxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYXBsLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9n cHUvZHJtL2NpL2k5MTUtYXBsLWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4g aW5kZXggMDAwMDAwMDAwMDAwLi42MThiYmU2YmI3OTMKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1hcGwtZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxIEBA Cj4+ICtrbXNfZnJvbnRidWZmZXJfdHJhY2tpbmdAZmJjLXRpbGluZy1saW5lYXIKPj4gXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kv aTkxNS1hcGwtc2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFwbC1za2lw cy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5lMmM1 MzhhMGY5NTQKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkx NS1hcGwtc2tpcHMudHh0Cj4+IEBAIC0wLDAgKzEsMiBAQAo+PiArIyBTdXNwZW5kIHRvIFJBTSBz ZWVtcyB0byBiZSBicm9rZW4gb24gdGhpcyBtYWNoaW5lCj4+ICsuKnN1c3BlbmQuKgo+PiBcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9j aS9pOTE1LWNtbC1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWNtbC1m bGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4u YTIxNDQxOWM2ZGM1Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Np L2k5MTUtY21sLWZsYWtlcy50eHQKPj4gQEAgLTAsMCArMSwzNiBAQAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMi1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0y LWRpc3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMt Mzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0xOTIweDEwODBw Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctNC1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRp c3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMzg0 MHgyMTYwcAo+PiAra21zX2ZsaXBAZmxpcC12cy1zdXNwZW5kCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZS10by02NGJwcC15dGlsZS11cHNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZWNjcy10by02NGJwcC15dGls ZS1kb3duc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlY2Nz LXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0 YnBwLXl0aWxlLXRvLTE2YnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxp cF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtZG93bnNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS11 cHNjYWxpbmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJw cC15dGlsZXJjY2NzLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy11cHNjYWxpbmcKPj4gK2ttc19oZHJAYnBjLXN3 aXRjaC1zdXNwZW5kCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLWJhc2lj Cj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLW9wYXF1ZS1mYgo+PiAra21z X3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQS1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3Bs YW5lX2FscGhhX2JsZW5kQHBpcGUtQS1jb25zdGFudC1hbHBoYS1tYXgKPj4gK2ttc19wbGFuZV9h bHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtYmFzaWMKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBw aXBlLUItYWxwaGEtb3BhcXVlLWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWFs cGhhLXRyYW5zcGFyZW50LWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWNvbnN0 YW50LWFscGhhLW1heAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS1iYXNp Ywo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS1vcGFxdWUtZmIKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMtYWxwaGEtdHJhbnNwYXJlbnQtZmIKPj4gK2ttc19w bGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMtY29uc3RhbnQtYWxwaGEtbWF4Cj4+ICtrbXNfcHNyMl9z dUBwYWdlX2ZsaXAtTlYxMgo+PiAra21zX3BzcjJfc3VAcGFnZV9mbGlwLVAwMTAKPj4gK2ttc19z ZXRtb2RlQGJhc2ljCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtZ2xrLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9n cHUvZHJtL2NpL2k5MTUtZ2xrLWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4g aW5kZXggMDAwMDAwMDAwMDAwLi5hZWRiM2QyZWY4ODUKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGstZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxLDQw IEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2tt c19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMi1kaXNwbGF5cy0yNTYweDE0NDBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0y LWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMt MTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBw Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctNC1kaXNwbGF5cy0yNTYweDE0NDBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRp c3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19mbGlwQGJsb2NraW5nLXdmX3ZibGFuawo+PiAra21z X2ZsaXBAd2ZfdmJsYW5rLXRzLWNoZWNrCj4+ICtrbXNfZmxpcEB3Zl92YmxhbmstdHMtY2hlY2st aW50ZXJydXB0aWJsZQo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlLXRv LTY0YnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJi cHAteXRpbGUtdG8tNjRicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3Jj QGZsaXAtMzJicHAteXRpbGVjY3MtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZWNjcy10by02NGJwcC15dGlsZS11cHNjYWxp bmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0xNmJwcC15dGls ZS1kb3duc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRv LTE2YnBwLXl0aWxlLXVwc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBw LXl0aWxlLXRvLTMyYnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3Jj QGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxpcF9z Y2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy1kb3duc2NhbGlu Zwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxl cmNjY3MtdXBzY2FsaW5nCj4+ICtrbXNfZnJvbnRidWZmZXJfdHJhY2tpbmdAZmJjLXRpbGluZy1s aW5lYXIKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtYmFzaWMKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtb3BhcXVlLWZiCj4+ICtrbXNfcGxhbmVf YWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLXRyYW5zcGFyZW50LWZiCj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1BLWNvbnN0YW50LWFscGhhLW1heAo+PiAra21zX3BsYW5lX2FscGhhX2Js ZW5kQHBpcGUtQi1hbHBoYS1iYXNpYwo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1h bHBoYS1vcGFxdWUtZmIKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtdHJh bnNwYXJlbnQtZmIKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxw aGEtbWF4Cj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWFscGhhLWJhc2ljCj4+ICtr bXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWFscGhhLW9wYXF1ZS1mYgo+PiAra21zX3BsYW5l X2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5lX2Fs cGhhX2JsZW5kQHBpcGUtQy1jb25zdGFudC1hbHBoYS1tYXgKPj4gK2ttc19yb3RhdGlvbl9jcmNA bXVsdGlwbGFuZS1yb3RhdGlvbgo+PiAra21zX3JvdGF0aW9uX2NyY0BtdWx0aXBsYW5lLXJvdGF0 aW9uLWNyb3BwaW5nLWJvdHRvbQo+PiAra21zX3JvdGF0aW9uX2NyY0BtdWx0aXBsYW5lLXJvdGF0 aW9uLWNyb3BwaW5nLXRvcAo+PiAra21zX3NldG1vZGVAYmFzaWMKPj4gXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGst c2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWdsay1za2lwcy50eHQKPj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5lMmM1MzhhMGY5NTQK Pj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGstc2tp cHMudHh0Cj4+IEBAIC0wLDAgKzEsMiBAQAo+PiArIyBTdXNwZW5kIHRvIFJBTSBzZWVtcyB0byBi ZSBicm9rZW4gb24gdGhpcyBtYWNoaW5lCj4+ICsuKnN1c3BlbmQuKgo+PiBcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWti bC1mYWlscy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUta2JsLWZhaWxzLnR4dAo+ PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmY4MWYwNjVlMjdl OAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWtibC1m YWlscy50eHQKPj4gQEAgLTAsMCArMSw4IEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRp c3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctNC1kaXNwbGF5 cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGls ZS10by02NGJwcC15dGlsZS11cHNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0Bm bGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlLWRvd25zY2FsaW5nLEZhaWwKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZXJjY2NzLXVwc2Nh bGluZyxGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvbnN0YW50LWFscGhh LW1heCxGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWFscGhhLW9wYXF1ZS1m YixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWNvbnN0YW50LWFscGhhLW1h eCxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2NpL2k5MTUta2JsLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJt L2NpL2k5MTUta2JsLWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXgg MDAwMDAwMDAwMDAwLi5mODIwMTc2NTRjZjUKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxLDI0IEBACj4+ ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19id0Bs aW5lYXItdGlsaW5nLTItZGlzcGxheXMtMzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxp bmctMy1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3Bs YXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgy MTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctNC1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtr bXNfYndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19mbGlwX3Nj YWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZS10by02NGJwcC15dGlsZS1kb3duc2NhbGluZwo+PiAr a21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlY2NzLXRvLTY0YnBwLXl0aWxlLWRv d25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGVjY3MtdG8t NjRicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAt eXRpbGUtdG8tMTZicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNA ZmxpcC02NGJwcC15dGlsZS10by0xNmJwcC15dGlsZS11cHNjYWxpbmcKPj4gK2ttc19mbGlwX3Nj YWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS11cHNjYWxpbmcKPj4gK2tt c19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZXJjY2NzLWRv d25zY2FsaW5nCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLWJhc2ljCj4+ ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLW9wYXF1ZS1mYgo+PiAra21zX3Bs YW5lX2FscGhhX2JsZW5kQHBpcGUtQS1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5l X2FscGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1iYXNpYwo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5k QHBpcGUtQi1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBp cGUtQi1jb25zdGFudC1hbHBoYS1tYXgKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMt YWxwaGEtYmFzaWMKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMtYWxwaGEtb3BhcXVl LWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWFscGhhLXRyYW5zcGFyZW50LWZi Cj4+ICtrbXNfc3lzZnNfZWRpZF90aW1pbmcKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtc2tpcHMudHh0IAo+ PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWtibC1za2lwcy50eHQKPj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5lMmM1MzhhMGY5NTQKPj4gLS0tIC9kZXYv bnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtc2tpcHMudHh0Cj4+IEBA IC0wLDAgKzEsMiBAQAo+PiArIyBTdXNwZW5kIHRvIFJBTSBzZWVtcyB0byBiZSBicm9rZW4gb24g dGhpcyBtYWNoaW5lCj4+ICsuKnN1c3BlbmQuKgo+PiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1mYWlscy50eHQg Cj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtdGdsLWZhaWxzLnR4dAo+PiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjI3MDY0NGNlMjIwYwo+PiAtLS0gL2Rl di9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1mYWlscy50eHQKPj4g QEAgLTAsMCArMSwxOSBAQAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQw eDIxNjBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMTkyMHgxMDgw cCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFp bAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4g K2ttc19id0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNf YndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxp bmVhci10aWxpbmctNC1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXIt dGlsaW5nLTUtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGlu Zy01LWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctNS1k aXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJw cC15dGlsZS10by02NGJwcC15dGlsZS1kb3duc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2Fs ZWRfY3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtdXBzY2FsaW5nLEZhaWwKPj4g K2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0xNmJwcC15dGlsZS1kb3du c2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8t MTZicHAteXRpbGUtdXBzY2FsaW5nLEZhaWwKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02 NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS1kb3duc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9z Y2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtdXBzY2FsaW5nLEZhaWwK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZXJj Y2NzLWRvd25zY2FsaW5nLEZhaWwgCj4+Cj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy11cHNjYWxpbmcsRmFpbAo+PiAra21zX3JvdGF0 aW9uX2NyY0BiYWQtcGl4ZWwtZm9ybWF0LEZhaWwKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10Z2wtZmxha2VzLnR4 dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10Z2wtZmxha2VzLnR4dAo+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjE1ZmJhNzdmZjE5ZAo+PiAtLS0g L2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1mbGFrZXMudHh0 Cj4+IEBAIC0wLDAgKzEsNiBAQAo+PiAra21zX2RyYXdfY3JjQGRyYXctbWV0aG9kLXJnYjU2NS1i bHQtdW50aWxlZAo+PiAra21zX2RyYXdfY3JjQGRyYXctbWV0aG9kLXhyZ2I4ODg4LW1tYXAtZ3R0 LXVudGlsZWQKPj4gK2ttc19kcmF3X2NyY0BkcmF3LW1ldGhvZC14cmdiODg4OC1tbWFwLWd0dC14 dGlsZWQKPj4gK2ttc19mbGlwQGJsb2NraW5nLWFic29sdXRlLXdmX3ZibGFuawo+PiAra21zX2Zs aXBAYm8tdG9vLWJpZy1pbnRlcnJ1cHRpYmxlCj4+ICtrbXNfZmxpcEBmbGlwLXZzLXJtZmItaW50 ZXJydXB0aWJsZQo+PiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1za2lwcy50eHQgCj4+IGIvZHJpdmVycy9ncHUv ZHJtL2NpL2k5MTUtdGdsLXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRl eCAwMDAwMDAwMDAwMDAuLjE0ZjMzYzdiYTAzYgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1za2lwcy50eHQKPj4gQEAgLTAsMCArMSw4IEBACj4+ ICsjIFN1c3BlbmQgdG8gUkFNIHNlZW1zIHRvIGJlIGJyb2tlbiBvbiB0aGlzIG1hY2hpbmUKPj4g Ky4qc3VzcGVuZC4qCj4+ICsKPj4gKyMgR1BVIGhhbmdzLCB0aGVuIHRoZSB3aG9sZSBtYWNoaW5l Cj4+ICtnZW1fZWlvLioKPj4gKwo+PiArIyBXaG9sZSBtYWNoaW5lIGhhbmdzCj4+ICtrbXNfZmxp cEBhYnNvbHV0ZS13Zl92YmxhbmtAYS1lZHAxCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtd2hsLWZhaWxzLnR4dCAK Pj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS13aGwtZmFpbHMudHh0Cj4+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZGJmZWRmYTVkNjNmCj4+IC0tLSAvZGV2 L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtd2hsLWZhaWxzLnR4dAo+PiBA QCAtMCwwICsxLDMwIEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4 MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0yNTYweDE0NDBw LEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMzg0MHgyMTYwcCxGYWls Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAr a21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGlu ZWFyLXRpbGluZy00LWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctNC1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5n LTQtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAt MzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBf c2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlLXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZyxGYWls Cj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGVjY3MtdG8tNjRicHAteXRp bGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0 aWxlY2NzLXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAr a21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTE2YnBwLXl0aWxlLXVwc2Nh bGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJi cHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0 YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2Fs ZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy1kb3duc2NhbGluZyxG YWlsIAo+Pgo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBw LXl0aWxlcmNjY3MtdXBzY2FsaW5nLEZhaWwKPj4gK2ttc19mcm9udGJ1ZmZlcl90cmFja2luZ0Bm YmMtdGlsaW5nLWxpbmVhcixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFs cGhhLW9wYXF1ZS1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhh LXRyYW5zcGFyZW50LWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtY29u c3RhbnQtYWxwaGEtbWF4LEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxw aGEtb3BhcXVlLWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEt dHJhbnNwYXJlbnQtZmIsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1jb25z dGFudC1hbHBoYS1tYXgsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBo YS1vcGFxdWUtZmIsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS10 cmFuc3BhcmVudC1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWNvbnN0 YW50LWFscGhhLW1heCxGYWlsCj4+ICtrbXNfc3lzZnNfZWRpZF90aW1pbmcsRmFpbAo+PiBcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9j aS9pOTE1LXdobC1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXdobC1m bGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4u NmJjYWM1Yjg0ZmJiCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Np L2k5MTUtd2hsLWZsYWtlcy50eHQKPj4gQEAgLTAsMCArMSBAQAo+PiAra21zX2ZsaXBAZmxpcC12 cy1zdXNwZW5kCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE3My1mYWlscy50eHQgCj4+IGIvZHJpdmVy cy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE3My1mYWlscy50eHQKPj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi43Zjc0ZmI5YWZjOTkKPj4gLS0tIC9kZXYvbnVs bAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTczLWZhaWxzLnR4dAo+ PiBAQCAtMCwwICsxLDI5IEBACj4+ICtrbXNfM2QsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQGFk ZGZiMjUtYmFkLW1vZGlmaWVyLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTEtZGlzcGxh eXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTI1 NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMS1kaXNwbGF5cy0zODQweDIx NjBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcCxG YWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+ PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2tt c19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndA bGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMy1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19jb2xvckBwaXBlLUEt aW52YWxpZC1nYW1tYS1sdXQtc2l6ZXMsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQi1pbnZhbGlk LWdhbW1hLWx1dC1zaXplcyxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNl LWNvbm5lY3Rvci1zdGF0ZSxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNl LWVkaWQsRmFpbAo+PiAra21zX2ZvcmNlX2Nvbm5lY3Rvcl9iYXNpY0Bmb3JjZS1sb2FkLWRldGVj dCxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQHBydW5lLXN0YWxlLW1vZGVzLEZh aWwKPj4gK2ttc19pbnZhbGlkX21vZGVAaW50LW1heC1jbG9jayxGYWlsCj4+ICtrbXNfcGxhbmVf c2NhbGluZ0BwbGFuZXMtdXBzY2FsZS0yMHgyMCxGYWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0Bw bGFuZXMtdXBzY2FsZS0yMHgyMC1kb3duc2NhbGUtZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3Bs YW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUtMjB4MjAtZG93bnNjYWxlLWZhY3Rvci0wLTUsRmFp bAo+PiAra21zX3BsYW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUtMjB4MjAtZG93bnNjYWxlLWZh Y3Rvci0wLTc1LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHVwc2NhbGUtd2l0aC1tb2RpZmll ci0yMHgyMCxGYWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0B1cHNjYWxlLXdpdGgtcGl4ZWwtZm9y bWF0LTIweDIwLEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHVwc2NhbGUtd2l0aC1yb3RhdGlv bi0yMHgyMCxGYWlsCj4+ICtrbXNfcHJvcGVydGllc0BnZXRfcHJvcGVydGllcy1zYW5pdHktYXRv bWljLEZhaWwKPj4gK2ttc19wcm9wZXJ0aWVzQHBsYW5lLXByb3BlcnRpZXMtYXRvbWljLEZhaWwK Pj4gK2ttc19wcm9wZXJ0aWVzQHBsYW5lLXByb3BlcnRpZXMtbGVnYWN5LEZhaWwKPj4gK2ttc19y bWZiQGNsb3NlLWZkLEZhaWwKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTgzLWZhaWxzLnR4dCAKPj4g Yi9kcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTgzLWZhaWxzLnR4dAo+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjZmZjgxZDAwZTg0ZQo+PiAtLS0g L2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmFp bHMudHh0Cj4+IEBAIC0wLDAgKzEsMTAgQEAKPj4gK2ttc19hZGRmYl9iYXNpY0BhZGRmYjI1LWJh ZC1tb2RpZmllcixGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTI1NjB4 MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0xOTIweDEwODBw LEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMjU2MHgxNDQwcCxGYWls Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTM4NDB4MjE2MHAsRmFpbAo+PiAr a21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfY29sb3JA cGlwZS1BLWludmFsaWQtZ2FtbWEtbHV0LXNpemVzLEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5n QHVwc2NhbGUtd2l0aC1yb3RhdGlvbi0yMHgyMCxGYWlsCj4+ICtrbXNfcm1mYkBjbG9zZS1mZCxG YWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE4My1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1 L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0 NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjIwODg5MGI3OWViMAo+PiAtLS0gL2Rldi9udWxsCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmxha2VzLnR4dAo+PiBA QCAtMCwwICsxLDE0IEBACj4+ICtjb3JlX3NldG1hc3Rlcl92c19hdXRoCj4+ICtrbXNfYndAbGlu ZWFyLXRpbGluZy0xLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5n LTEtZGlzcGxheXMtMzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5 cy0xOTIweDEwODBwCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBjdXJzb3ItdnMtZmxpcC1hdG9taWMK Pj4gK2ttc19wbGFuZV9zY2FsaW5nQGludmFsaWQtbnVtLXNjYWxlcnMKPj4gK2ttc19wbGFuZV9z Y2FsaW5nQHBsYW5lcy11cHNjYWxlLTIweDIwCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0BwbGFuZXMt dXBzY2FsZS0yMHgyMC1kb3duc2NhbGUtZmFjdG9yLTAtNQo+PiAra21zX3BsYW5lX3NjYWxpbmdA dXBzY2FsZS13aXRoLW1vZGlmaWVyLTIweDIwCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0B1cHNjYWxl LXdpdGgtcGl4ZWwtZm9ybWF0LTIweDIwCj4+ICtrbXNfcHJvcF9ibG9iQGludmFsaWQtc2V0LXBy b3AtYW55Cj4+ICtrbXNfcHJvcGVydGllc0BnZXRfcHJvcGVydGllcy1zYW5pdHktYXRvbWljCj4+ ICtrbXNfcHJvcGVydGllc0BwbGFuZS1wcm9wZXJ0aWVzLWF0b21pYwo+PiAra21zX3Byb3BlcnRp ZXNAcGxhbmUtcHJvcGVydGllcy1sZWdhY3kKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mYWlscy50eHQg Cj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmFpbHMudHh0Cj4+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uMzQ1ZTE0MjZiM2EzCj4+IC0tLSAv ZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmFpbHMudHh0 Cj4+IEBAIC0wLDAgKzEsNSBAQAo+PiAra21zXzNkLEZhaWwKPj4gK2ttc19hZGRmYl9iYXNpY0Bh ZGRmYjI1LWJhZC1tb2RpZmllcixGYWlsCj4+ICtrbXNfcHJvcGVydGllc0Bjb25uZWN0b3ItcHJv cGVydGllcy1hdG9taWMsRmFpbAo+PiAra21zX3Byb3BlcnRpZXNAZ2V0X3Byb3BlcnRpZXMtc2Fu aXR5LWF0b21pYyxGYWlsCj4+ICtrbXNfcHJvcGVydGllc0BnZXRfcHJvcGVydGllcy1zYW5pdHkt bm9uLWF0b21pYyxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmxha2VzLnR4dCAKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mbGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uYjYzMzI5ZDA2NzY3Cj4+IC0tLSAvZGV2L251bGwK Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmxha2VzLnR4dAo+PiBAQCAt MCwwICsxLDQgQEAKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtY29ubmVjdG9y LXN0YXRlCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNlLWVkaWQKPj4gK2ttc19m b3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtbG9hZC1kZXRlY3QKPj4gK2ttc19mb3JjZV9jb25u ZWN0b3JfYmFzaWNAcHJ1bmUtc3RhbGUtbW9kZXMKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmFpbHMu dHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODAxNi1mYWlscy50eHQKPj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi4xNmMyZGZhYjNmMTYKPj4g LS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmFp bHMudHh0Cj4+IEBAIC0wLDAgKzEsMTUgQEAKPj4gK2ttc18zZCxGYWlsCj4+ICtrbXNfYWRkZmJf YmFzaWNAYWRkZmIyNS1iYWQtbW9kaWZpZXIsRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAYWxs LXBpcGVzLWZvcmtlZC1tb3ZlLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGFsbC1waXBlcy10 b3J0dXJlLWJvLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGFsbC1waXBlcy1mb3JrZWQtYm8s RmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAYWxsLXBpcGVzLXNpbmdsZS1ibyxGYWlsCj4+ICtr bXNfY3Vyc29yX2xlZ2FjeUBhbGwtcGlwZXMtc2luZ2xlLW1vdmUsRmFpbAo+PiAra21zX2N1cnNv cl9sZWdhY3lAYWxsLXBpcGVzLXRvcnR1cmUtbW92ZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2Fj eUBwaXBlLUEtZm9ya2VkLWJvLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QHBpcGUtQS1mb3Jr ZWQtbW92ZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBwaXBlLUEtc2luZ2xlLWJvLEZhaWwK Pj4gK2ttc19jdXJzb3JfbGVnYWN5QHBpcGUtQS1zaW5nbGUtbW92ZSxGYWlsCj4+ICtrbXNfY3Vy c29yX2xlZ2FjeUBwaXBlLUEtdG9ydHVyZS1ibyxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBw aXBlLUEtdG9ydHVyZS1tb3ZlLEZhaWwKPj4gK2ttc19oZG1pX2luamVjdEBpbmplY3QtNGssRmFp bAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1hcHE4MDE2LWZsYWtlcy50 eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1hcHE4MDE2LWZsYWtlcy50eHQKPj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5iNjMzMjlkMDY3NjcKPj4g LS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmxh a2VzLnR4dAo+PiBAQCAtMCwwICsxLDQgQEAKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNA Zm9yY2UtY29ubmVjdG9yLXN0YXRlCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNl LWVkaWQKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtbG9hZC1kZXRlY3QKPj4g K2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAcHJ1bmUtc3RhbGUtbW9kZXMKPj4gXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNt LWFwcTgwOTYtZmFpbHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1m YWlscy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi44 OGExZmMwYTNiMGQKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kv bXNtLWFwcTgwOTYtZmFpbHMudHh0Cj4+IEBAIC0wLDAgKzEsMiBAQAo+PiAra21zXzNkLEZhaWwK Pj4gK2ttc19hZGRmYl9iYXNpY0BhZGRmYjI1LWJhZC1tb2RpZmllcixGYWlsCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwOTYtZmxha2VzLnR4dCAKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwOTYtZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmI2MzMyOWQwNjc2Nwo+PiAtLS0gL2Rldi9udWxs Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1mbGFrZXMudHh0Cj4+IEBA IC0wLDAgKzEsNCBAQAo+PiAra21zX2ZvcmNlX2Nvbm5lY3Rvcl9iYXNpY0Bmb3JjZS1jb25uZWN0 b3Itc3RhdGUKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtZWRpZAo+PiAra21z X2ZvcmNlX2Nvbm5lY3Rvcl9iYXNpY0Bmb3JjZS1sb2FkLWRldGVjdAo+PiAra21zX2ZvcmNlX2Nv bm5lY3Rvcl9iYXNpY0BwcnVuZS1zdGFsZS1tb2Rlcwo+PiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1za2lw cy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1hcHE4MDk2LXNraXBzLnR4dAo+PiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmNkNDljOGNlMjA1OQo+ PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1z a2lwcy50eHQKPj4gQEAgLTAsMCArMSwyIEBACj4+ICsjIFdob2xlIG1hY2hpbmUgaGFuZ3MKPj4g K2ttc19jdXJzb3JfbGVnYWN5QGFsbC1waXBlcy10b3J0dXJlLW1vdmUKPj4gXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNj NzE4MC1mYWlscy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtZmFpbHMu dHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uMGIxNTli NjQ2OWM4Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1z YzcxODAtZmFpbHMudHh0Cj4+IEBAIC0wLDAgKzEsMjIgQEAKPj4gK2ttc19jdXJzb3JfbGVnYWN5 QGN1cnNvci12cy1mbGlwLXRvZ2dsZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBjdXJzb3JB LXZzLWZsaXBBLWF0b21pYy10cmFuc2l0aW9ucyxDcmFzaAo+PiAra21zX3BsYW5lQHBpeGVsLWZv cm1hdCxGYWlsCj4+ICtrbXNfcGxhbmVAcGl4ZWwtZm9ybWF0LXNvdXJjZS1jbGFtcGluZyxGYWls Cj4+ICtrbXNfcGxhbmVAcGxhbmUtcG9zaXRpb24tY292ZXJlZCxGYWlsCj4+ICtrbXNfcGxhbmVA cGxhbmUtcG9zaXRpb24taG9sZSxGYWlsCj4+ICtrbXNfcGxhbmVAcGxhbmUtcG9zaXRpb24taG9s ZS1kcG1zLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtN2VmYyxG YWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvdmVyYWdlLTdlZmMsRmFpbAo+ PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQS1jb3ZlcmFnZS12cy1wcmVtdWx0LXZzLWNv bnN0YW50LEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtN2VmYyxG YWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWFscGhhLWJhc2ljLEZhaWwKPj4g K2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtb3BhcXVlLWZiLEZhaWwKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxwaGEtbWF4LEZhaWwKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxwaGEtbWlkLEZhaWwKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY292ZXJhZ2UtN2VmYyxGYWlsCj4+ICtrbXNfcGxh bmVfYWxwaGFfYmxlbmRAcGlwZS1CLWNvdmVyYWdlLXZzLXByZW11bHQtdnMtY29uc3RhbnQsRmFp bAo+PiAra21zX3BsYW5lX211bHRpcGxlQGF0b21pYy1waXBlLUEtdGlsaW5nLW5vbmUsQ3Jhc2gK Pj4gK2ttc19ybWZiQGNsb3NlLWZkLEZhaWwKPj4gK2ttc19yb3RhdGlvbl9jcmNAcHJpbWFyeS1y b3RhdGlvbi0xODAsRmFpbAo+PiAra21zX3VuaXZlcnNhbF9wbGFuZUBkaXNhYmxlLXByaW1hcnkt dnMtZmxpcC1waXBlLUIsRmFpbAo+PiAra21zX3VuaXZlcnNhbF9wbGFuZUBkaXNhYmxlLXByaW1h cnktdnMtZmxpcC1waXBlLWIsRmFpbAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Np L21zbS1zYzcxODAtZmxha2VzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4 MC1mbGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAw MC4uNjAyMmVkYWNlMTkwCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2NpL21zbS1zYzcxODAtZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxLDE0IEBACj4+ICsjIFRlc3Qg ZW5kcyB1cCByZWFkaW5nIENSQyBmcm9tIGZyYW1lIGJlZm9yZSBjdXJzb3IgdXBkYXRlCj4+ICsj IHNvbWV0aW1lcy4uIHRiZCBpZiB0aGlzIGlzIGEga2VybmVsIENSQyBidWcgb3IgYSB0ZXN0Cj4+ ICsjIGJ1Zwo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS0uKgo+PiArCj4+ICtrbXNfY3Vyc29yX2Vk Z2Vfd2Fsa0BwaXBlLUEtNjR4NjQtYm90dG9tLWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxr QHBpcGUtQS02NHg2NC1sZWZ0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQS02 NHg2NC1yaWdodC1lZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUEtNjR4NjQtdG9w LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02NHg2NC1ib3R0b20tZWRnZQo+ PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1CLTY0eDY0LWxlZnQtZWRnZQo+PiAra21zX2N1 cnNvcl9lZGdlX3dhbGtAcGlwZS1CLTY0eDY0LXJpZ2h0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRn ZV93YWxrQHBpcGUtQi02NHg2NC10b3AtZWRnZQo+PiAra21zX3BsYW5lX211bHRpcGxlQGF0b21p Yy1waXBlLUEtdGlsaW5nLW5vbmUKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1za2lwcy50eHQgCj4+IGIv ZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtc2tpcHMudHh0Cj4+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNDA5MTZkZGZmODFmCj4+IC0tLSAvZGV2L251 bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtc2tpcHMudHh0Cj4+IEBA IC0wLDAgKzEsMTggQEAKPj4gKyMgU3VzcGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9u IHRoaXMgbWFjaGluZQo+PiArLipzdXNwZW5kLioKPj4gKwo+PiArIyBUZXN0IGluY29ycmVjdGx5 IGFzc3VtZXMgdGhhdCBDVE0gc3VwcG9ydCBpbXBsaWVzIGdhbW1hL2RlZ2FtbWEKPj4gKyMgTFVU IHN1cHBvcnQuwqAgTm9uZSBvZiB0aGUgc3VidGVzdHMgaGFuZGxlIHRoZSBjYXNlIG9mIG9ubHkg aGF2aW5nCj4+ICsjIENUTSBzdXBwb3J0Cj4+ICtrbXNfY29sb3IuKgo+PiArCj4+ICsjIDRrQDYw IGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBodywgYnV0IGRyaXZlciBkb2Vzbid0IGhhbmRsZSBp dAo+PiArIyB0b28gZ3JhY2VmdWxseS4uIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9k cm0vbXNtLy0vaXNzdWVzLzE1Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0uKi1kaXNwbGF5cy0z ODQweDIxNjBwCj4+ICsKPj4gKyMgVW50aWwgaWd0IGZpeCBsYW5kczogaHR0cHM6Ly9wYXRjaHdv cmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzQ5MzE3NS8KPj4gK2ttc19id0BsaW5lYXItdGlsaW5n LTIuKgo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy4qCj4+ICtrbXNfYndAbGluZWFyLXRpbGlu Zy00LioKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTUuKgo+PiAra21zX2J3QGxpbmVhci10aWxp bmctNi4qCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2NpL21zbS1zZG04NDUtZmFpbHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9jaS9tc20tc2RtODQ1LWZhaWxzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRl eCAwMDAwMDAwMDAwMDAuLjgxMzM5MjdhNDRkZgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LWZhaWxzLnR4dAo+PiBAQCAtMCwwICsxLDQ0IEBA Cj4+ICtrbXNfY29sb3JAcGlwZS1BLWN0bS0wLTI1LEZhaWwKPj4gK2ttc19jb2xvckBwaXBlLUEt Y3RtLTAtNSxGYWlsCj4+ICtrbXNfY29sb3JAcGlwZS1BLWN0bS0wLTc1LEZhaWwKPj4gK2ttc19j b2xvckBwaXBlLUEtY3RtLWJsdWUtdG8tcmVkLEZhaWwKPj4gK2ttc19jb2xvckBwaXBlLUEtY3Rt LWdyZWVuLXRvLXJlZCxGYWlsCj4+ICtrbXNfY29sb3JAcGlwZS1BLWN0bS1tYXgsRmFpbAo+PiAr a21zX2NvbG9yQHBpcGUtQS1jdG0tbmVnYXRpdmUsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQS1j dG0tcmVkLXRvLWJsdWUsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQS1sZWdhY3ktZ2FtbWEsRmFp bAo+PiAra21zX2N1cnNvcl9sZWdhY3lAYmFzaWMtZmxpcC1hZnRlci1jdXJzb3ItYXRvbWljLEZh aWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGJhc2ljLWZsaXAtYWZ0ZXItY3Vyc29yLWxlZ2FjeSxG YWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBiYXNpYy1mbGlwLWJlZm9yZS1jdXJzb3ItYXRvbWlj LEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGJhc2ljLWZsaXAtYmVmb3JlLWN1cnNvci1sZWdh Y3ksRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAY3Vyc29yLXZzLWZsaXAtYXRvbWljLEZhaWwK Pj4gK2ttc19jdXJzb3JfbGVnYWN5QGN1cnNvci12cy1mbGlwLWF0b21pYy10cmFuc2l0aW9ucyxG YWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBjdXJzb3ItdnMtZmxpcC1sZWdhY3ksRmFpbAo+PiAr a21zX2N1cnNvcl9sZWdhY3lAY3Vyc29yLXZzLWZsaXAtdG9nZ2xlLEZhaWwKPj4gK2ttc19jdXJz b3JfbGVnYWN5QGZsaXAtdnMtY3Vyc29yLWF0b21pYyxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2Fj eUBmbGlwLXZzLWN1cnNvci1jcmMtYXRvbWljLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGZs aXAtdnMtY3Vyc29yLWNyYy1sZWdhY3ksRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAZmxpcC12 cy1jdXJzb3ItbGVnYWN5LEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QHNob3J0LWZsaXAtYWZ0 ZXItY3Vyc29yLWF0b21pYy10cmFuc2l0aW9ucyxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBz aG9ydC1mbGlwLWFmdGVyLWN1cnNvci10b2dnbGUsRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lA c2hvcnQtZmxpcC1iZWZvcmUtY3Vyc29yLWF0b21pYy10cmFuc2l0aW9ucyxGYWlsCj4+ICtrbXNf Y3Vyc29yX2xlZ2FjeUBzaG9ydC1mbGlwLWJlZm9yZS1jdXJzb3ItdG9nZ2xlLEZhaWwKPj4gK2tt c19wbGFuZUBwaXhlbC1mb3JtYXQsRmFpbAo+PiAra21zX3BsYW5lQHBpeGVsLWZvcm1hdC1zb3Vy Y2UtY2xhbXBpbmcsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQS1hbHBoYS03 ZWZjLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtY292ZXJhZ2UtN2VmYyxG YWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvdmVyYWdlLXZzLXByZW11bHQt dnMtY29uc3RhbnQsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBlLUEtb3ZlcmxheS1zaXpl LTEyOCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQS1vdmVybGF5LXNpemUtMjU2LEZh aWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1BLW92ZXJsYXktc2l6ZS02NCxGYWlsCj4+ICtr bXNfcGxhbmVfY3Vyc29yQHBpcGUtQS12aWV3cG9ydC1zaXplLTEyOCxGYWlsCj4+ICtrbXNfcGxh bmVfY3Vyc29yQHBpcGUtQS12aWV3cG9ydC1zaXplLTI1NixGYWlsCj4+ICtrbXNfcGxhbmVfY3Vy c29yQHBpcGUtQS12aWV3cG9ydC1zaXplLTY0LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQGRv d25zY2FsZS13aXRoLXBpeGVsLWZvcm1hdC1mYWN0b3ItMC0yNSxUaW1lb3V0Cj4+ICtrbXNfcGxh bmVfc2NhbGluZ0Bkb3duc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtZmFjdG9yLTAtNSxUaW1lb3V0 Cj4+ICtrbXNfcGxhbmVfc2NhbGluZ0Bkb3duc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtZmFjdG9y LTAtNzUsVGltZW91dAo+PiAra21zX3BsYW5lX3NjYWxpbmdAaW52YWxpZC1udW0tc2NhbGVycyxG YWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0BwbGFuZXMtZG93bnNjYWxlLWZhY3Rvci0wLTI1LEZh aWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHNjYWxlci13aXRoLWNsaXBwaW5nLWNsYW1waW5nLFRp bWVvdXQKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHNjYWxlci13aXRoLXBpeGVsLWZvcm1hdC11bml0 eS1zY2FsaW5nLFRpbWVvdXQKPj4gK2ttc19ybWZiQGNsb3NlLWZkLEZhaWwKPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LWZsYWtlcy50eHQgCj4+IGIvZHJpdmVy cy9ncHUvZHJtL2NpL21zbS1zZG04NDUtZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0 NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmRhNDQwNmI3NDgyOAo+PiAtLS0gL2Rldi9udWxsCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LWZsYWtlcy50eHQKPj4gQEAgLTAs MCArMSwzMyBAQAo+PiArIyBUZXN0IGVuZHMgdXAgcmVhZGluZyBDUkMgZnJvbSBmcmFtZSBiZWZv cmUgY3Vyc29yIHVwZGF0ZQo+PiArIyBzb21ldGltZXMuLiB0YmQgaWYgdGhpcyBpcyBhIGtlcm5l bCBDUkMgYnVnIG9yIGEgdGVzdAo+PiArIyBidWcKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1j dXJzb3ItYWxwaGEtb3BhcXVlCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLWRwbXMK Pj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3Itc2l6ZS1jaGFuZ2UKPj4gK2ttc19jdXJz b3JfbGVnYWN5QGZsaXAtdnMtY3Vyc29yLXRvZ2dsZQo+PiAra21zX2N1cnNvcl9sZWdhY3lAcGlw ZS1BLWZvcmtlZC1ibwo+PiAra21zX2N1cnNvcl9sZWdhY3lAcGlwZS1BLWZvcmtlZC1tb3ZlCj4+ ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDEwLW9mZnNjcmVlbgo+PiAra21zX2N1 cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngxMC1vbnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci0zMngxMC1yYW5kb20KPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJz b3ItMzJ4MTAtc2xpZGluZwo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1v ZmZzY3JlZW4KPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItb25zY3JlZW4K Pj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItcmFuZG9tCj4+ICtrbXNfY3Vy c29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDMyLXNsaWRpbmcKPj4gK2ttc19jdXJzb3JfY3JjQHBp cGUtQS1jdXJzb3ItNjR4MjEtb2Zmc2NyZWVuCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vy c29yLTY0eDIxLW9uc2NyZWVuCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTY0eDIx LXJhbmRvbQo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1zbGlkaW5nCj4+ ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTY0eDY0LW9mZnNjcmVlbgo+PiAra21zX2N1 cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHg2NC1vbnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci02NHg2NC1yYW5kb20KPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJz b3ItNjR4NjQtc2xpZGluZwo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci1kcG1zCj4+ ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLXN1c3BlbmQKPj4gK2ttc19jdXJzb3JfZWRn ZV93YWxrQHBpcGUtQS02NHg2NC1ib3R0b20tZWRnZQo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtA cGlwZS1BLTY0eDY0LWxlZnQtZWRnZQo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1BLTY0 eDY0LXJpZ2h0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQS02NHg2NC10b3At ZWRnZQo+PiArCj4+ICtrbXNfZmxpcEBkcG1zLXZzLXZibGFuay1yYWNlLWludGVycnVwdGlibGUK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LXNraXBzLnR4dCAK Pj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNkbTg0NS1za2lwcy50eHQKPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi40MjY3NWYxYzZkNzYKPj4gLS0tIC9k ZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNkbTg0NS1za2lwcy50eHQK Pj4gQEAgLTAsMCArMSwyIEBACj4+ICsjIEhhbmdzIG1hY2hpbmUKPj4gK2ttc19idy4qCj4+IFwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2NpL3JvY2tjaGlwLXJrMzI4OC1mYWlscy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL3Jv Y2tjaGlwLXJrMzI4OC1mYWlscy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXgg MDAwMDAwMDAwMDAwLi5lMmEyNjQ2NDdhNTgKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMjg4LWZhaWxzLnR4dAo+PiBAQCAtMCwwICsxLDc1 IEBACj4+ICtrbXNfM2QsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQGFkZGZiMjUtYmFkLW1vZGlm aWVyLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcCxG YWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+ PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2tt c19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndA bGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMy1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBp cGUtQS1jdXJzb3ItMzJ4MTAtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1B LWN1cnNvci0zMngxMC1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNv ci0zMngxMC1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4 MzItb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1y YW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1zbGlkaW5n LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4MjEtb25zY3JlZW4sRmFp bAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1yYW5kb20sRmFpbAo+PiAr a21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1zbGlkaW5nLEZhaWwKPj4gK2ttc19j dXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4NjQtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNv cl9jcmNAcGlwZS1BLWN1cnNvci02NHg2NC1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci02NHg2NC1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUt QS1jdXJzb3ItYWxwaGEtb3BhcXVlLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJz b3ItZHBtcyxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLXNpemUtY2hhbmdl LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtb25zY3JlZW4sRmFp bAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1yYW5kb20sRmFpbAo+PiAr a21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1zbGlkaW5nLEZhaWwKPj4gK2ttc19j dXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNv cl9jcmNAcGlwZS1CLWN1cnNvci0zMngzMi1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1CLWN1cnNvci0zMngzMi1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUt Qi1jdXJzb3ItNjR4MjEtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1 cnNvci02NHgyMS1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci02 NHg2NC1vbnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0 LXJhbmRvbSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0LXNsaWRp bmcsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1hbHBoYS1vcGFxdWUsRmFp bAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1zaXplLWNoYW5nZSxGYWlsCj4+ICtr bXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNlLWNvbm5lY3Rvci1zdGF0ZSxGYWlsCj4+ICtr bXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNlLWVkaWQsRmFpbAo+PiAra21zX2ZvcmNlX2Nv bm5lY3Rvcl9iYXNpY0Bmb3JjZS1sb2FkLWRldGVjdCxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVj dG9yX2Jhc2ljQHBydW5lLXN0YWxlLW1vZGVzLEZhaWwKPj4gK2ttc19pbnZhbGlkX21vZGVAaW50 LW1heC1jbG9jayxGYWlsCj4+ICtrbXNfcGlwZV9jcmNfYmFzaWNAbm9uYmxvY2tpbmctY3JjLXBp cGUtQS1mcmFtZS1zZXF1ZW5jZSxGYWlsCj4+ICtrbXNfcGlwZV9jcmNfYmFzaWNAbm9uYmxvY2tp bmctY3JjLXBpcGUtQi1mcmFtZS1zZXF1ZW5jZSxGYWlsCj4+ICtrbXNfcGlwZV9jcmNfYmFzaWNA cmVhZC1jcmMtcGlwZS1BLWZyYW1lLXNlcXVlbmNlLEZhaWwKPj4gK2ttc19waXBlX2NyY19iYXNp Y0ByZWFkLWNyYy1waXBlLUItZnJhbWUtc2VxdWVuY2UsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNv ckBwaXBlLUEtb3ZlcmxheS1zaXplLTEyOCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUt QS1vdmVybGF5LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1BLW92ZXJs YXktc2l6ZS02NCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQS1wcmltYXJ5LXNpemUt MTI4LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1BLXByaW1hcnktc2l6ZS0yNTYsRmFp bAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBlLUEtcHJpbWFyeS1zaXplLTY0LEZhaWwKPj4gK2tt c19wbGFuZV9jdXJzb3JAcGlwZS1BLXZpZXdwb3J0LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFu ZV9jdXJzb3JAcGlwZS1BLXZpZXdwb3J0LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJz b3JAcGlwZS1BLXZpZXdwb3J0LXNpemUtNjQsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBl LUItb3ZlcmxheS1zaXplLTEyOCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQi1vdmVy bGF5LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLW92ZXJsYXktc2l6 ZS02NCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQi1wcmltYXJ5LXNpemUtMTI4LEZh aWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXByaW1hcnktc2l6ZS0yNTYsRmFpbAo+PiAr a21zX3BsYW5lX2N1cnNvckBwaXBlLUItcHJpbWFyeS1zaXplLTY0LEZhaWwKPj4gK2ttc19wbGFu ZV9jdXJzb3JAcGlwZS1CLXZpZXdwb3J0LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJz b3JAcGlwZS1CLXZpZXdwb3J0LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlw ZS1CLXZpZXdwb3J0LXNpemUtNjQsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93bnNjYWxl LXdpdGgtbW9kaWZpZXItZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93 bnNjYWxlLXdpdGgtcm90YXRpb24tZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxp bmdAdXBzY2FsZS13aXRoLW1vZGlmaWVyLTIweDIwLEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5n QHVwc2NhbGUtd2l0aC1tb2RpZmllci1mYWN0b3ItMC0yNSxGYWlsCj4+ICtrbXNfcGxhbmVfc2Nh bGluZ0B1cHNjYWxlLXdpdGgtcGl4ZWwtZm9ybWF0LTIweDIwLEZhaWwKPj4gK2ttc19wbGFuZV9z Y2FsaW5nQHVwc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtZmFjdG9yLTAtMjUsRmFpbAo+PiAra21z X3BsYW5lX3NjYWxpbmdAdXBzY2FsZS13aXRoLXJvdGF0aW9uLTIweDIwLEZhaWwKPj4gK2ttc19w cmltZUBiYXNpYy1jcmMsRmFpbAo+PiAra21zX3Byb3BlcnRpZXNAY29ubmVjdG9yLXByb3BlcnRp ZXMtYXRvbWljLEZhaWwKPj4gK2ttc19wcm9wZXJ0aWVzQGdldF9wcm9wZXJ0aWVzLXNhbml0eS1h dG9taWMsRmFpbAo+PiAra21zX3Byb3BlcnRpZXNAZ2V0X3Byb3BlcnRpZXMtc2FuaXR5LW5vbi1h dG9taWMsRmFpbAo+PiAra21zX3JtZmJAY2xvc2UtZmQsRmFpbAo+PiBcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1y azMyODgtZmxha2VzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMjg4 LWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAw Li40NDdmYjI2Y2MzNDQKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v Y2kvcm9ja2NoaXAtcmszMjg4LWZsYWtlcy50eHQKPj4gQEAgLTAsMCArMSw1IEBACj4+ICtrbXNf Y3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLWRwbXMKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBp cGUtQS02NHg2NC1yaWdodC1lZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUEtNjR4 NjQtdG9wLWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02NHg2NC1yaWdodC1l ZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4NjQtdG9wLWVkZ2UKPj4gXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v Y2kvcm9ja2NoaXAtcmszMjg4LXNraXBzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvcm9j a2NoaXAtcmszMjg4LXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAw MDAwMDAwMDAwMDAuLjI2ZjlhMDNmYzA3NAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMyODgtc2tpcHMudHh0Cj4+IEBAIC0wLDAgKzEsNDYg QEAKPj4gKyMgU3VzcGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9uIHRoaXMgbWFjaGlu ZQo+PiArLipzdXNwZW5kLioKPj4gKwo+PiArIyBUb28gdW5zdGFibGUsIG1hY2hpbmUgZW5kcyB1 cCBoYW5naW5nIGFmdGVyIGxvdHMgb2YgT29wc2VzCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeS4qCj4+ ICsKPj4gKyMgU3RhcnRlZCBoYW5naW5nIHRoZSBtYWNoaW5lIG9uIExpbnV4IDUuMTktcmMyOgo+ PiArIwo+PiArIyBbSUdUXSBrbXNfcGxhbmVfbG93cmVzOiBleGVjdXRpbmcKPj4gKyMgW0lHVF0g a21zX3BsYW5lX2xvd3Jlczogc3RhcnRpbmcgc3VidGVzdCBwaXBlLUYtdGlsaW5nLXkKPj4gKyMg W0lHVF0ga21zX3BsYW5lX2xvd3JlczogZXhpdGluZywgcmV0PTc3Cj4+ICsjIENvbnNvbGU6IHN3 aXRjaGluZyB0byBjb2xvdXIgZnJhbWUgYnVmZmVyIGRldmljZSAxNzB4NDgKPj4gKyMgcm9ja2No aXAtZHJtIGRpc3BsYXktc3Vic3lzdGVtOiBbZHJtXSAqRVJST1IqIGZsaXBfZG9uZSB0aW1lZCBv dXQKPj4gKyMgcm9ja2NoaXAtZHJtIGRpc3BsYXktc3Vic3lzdGVtOiBbZHJtXSAqRVJST1IqIFtD UlRDOjM1OmNydGMtMF0gCj4+IGNvbW1pdCB3YWl0IHRpbWVkIG91dAo+PiArIyBCVUc6IHNwaW5s b2NrIGJhZCBtYWdpYyBvbiBDUFUjMywga21zX3BsYW5lX2xvd3JlLzQ4Mgo+PiArIyA4PC0tLSBj dXQgaGVyZSAtLS0KPj4gKyMgVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3Qg YXQgdmlydHVhbCBhZGRyZXNzIDc4MTIwNzhlCj4+ICsjIFs3ODEyMDc4ZV0gKnBnZD0wMDAwMDAw MAo+PiArIyBJbnRlcm5hbCBlcnJvcjogT29wczogNSBbIzFdIFNNUCBBUk0KPj4gKyMgTW9kdWxl cyBsaW5rZWQgaW46Cj4+ICsjIENQVTogMyBQSUQ6IDQ4MiBDb21tOiBrbXNfcGxhbmVfbG93cmUg VGFpbnRlZDogR8KgwqDCoMKgwqDCoMKgIFcgICAgICAgICAKPj4gNS4xOS4wLXJjMi0zMjM1OTYt ZzAwNTM1ZGU5MjE3MSAjMQo+PiArIyBIYXJkd2FyZSBuYW1lOiBSb2NrY2hpcCAoRGV2aWNlIFRy ZWUpCj4+ICsjIFByb2Nlc3Mga21zX3BsYW5lX2xvd3JlIChwaWQ6IDQ4Miwgc3RhY2sgbGltaXQg PSAweDExOTNhYzJiKQo+PiArI8KgIHNwaW5fZHVtcCBmcm9tIGRvX3Jhd19zcGluX2xvY2srMHhh NC8weGU4Cj4+ICsjwqAgZG9fcmF3X3NwaW5fbG9jayBmcm9tIHdhaXRfZm9yX2NvbXBsZXRpb25f dGltZW91dCsweDJjLzB4MTIwCj4+ICsjwqAgd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0IGZy b20gZHJtX2NydGNfY29tbWl0X3dhaXQrMHgxOC8weDdjCj4+ICsjwqAgZHJtX2NydGNfY29tbWl0 X3dhaXQgZnJvbSAKPj4gZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZGVwZW5kZW5jaWVzKzB4 NDQvMHgxNjgKPj4gKyPCoCBkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl9kZXBlbmRlbmNpZXMg ZnJvbSBjb21taXRfdGFpbCsweDM0LzB4MTgwCj4+ICsjwqAgY29tbWl0X3RhaWwgZnJvbSBkcm1f YXRvbWljX2hlbHBlcl9jb21taXQrMHgxNjQvMHgxOGMKPj4gKyPCoCBkcm1fYXRvbWljX2hlbHBl cl9jb21taXQgZnJvbSBkcm1fYXRvbWljX2NvbW1pdCsweGFjLzB4ZTQKPj4gKyPCoCBkcm1fYXRv bWljX2NvbW1pdCBmcm9tIGRybV9jbGllbnRfbW9kZXNldF9jb21taXRfYXRvbWljKzB4MjNjLzB4 Mjg0Cj4+ICsjwqAgZHJtX2NsaWVudF9tb2Rlc2V0X2NvbW1pdF9hdG9taWMgZnJvbSAKPj4gZHJt X2NsaWVudF9tb2Rlc2V0X2NvbW1pdF9sb2NrZWQrMHg2MC8weDFjOAo+PiArI8KgIGRybV9jbGll bnRfbW9kZXNldF9jb21taXRfbG9ja2VkIGZyb20gCj4+IGRybV9jbGllbnRfbW9kZXNldF9jb21t aXQrMHgyNC8weDQwCj4+ICsjwqAgZHJtX2NsaWVudF9tb2Rlc2V0X2NvbW1pdCBmcm9tIGRybV9m YmRldl9jbGllbnRfcmVzdG9yZSsweDU4LzB4OTQKPj4gKyPCoCBkcm1fZmJkZXZfY2xpZW50X3Jl c3RvcmUgZnJvbSBkcm1fY2xpZW50X2Rldl9yZXN0b3JlKzB4NzAvMHhiYwo+PiArI8KgIGRybV9j bGllbnRfZGV2X3Jlc3RvcmUgZnJvbSBkcm1fcmVsZWFzZSsweGY0LzB4MTE0Cj4+ICsjwqAgZHJt X3JlbGVhc2UgZnJvbSBfX2ZwdXQrMHg3NC8weDI0MAo+PiArI8KgIF9fZnB1dCBmcm9tIHRhc2tf d29ya19ydW4rMHg4NC8weGI0Cj4+ICsjwqAgdGFza193b3JrX3J1biBmcm9tIGRvX2V4aXQrMHgz NGMvMHhhMjAKPj4gKyPCoCBkb19leGl0IGZyb20gZG9fZ3JvdXBfZXhpdCsweDM0LzB4OTgKPj4g KyPCoCBkb19ncm91cF9leGl0IGZyb20gX193YWtlX3VwX3BhcmVudCsweDAvMHgxOAo+PiArIyBD b2RlOiBlNTk1YzAwOCAxMjg0M2QxOSAwM2UwMDAwMCAwMzA5MzE2OCAoMTU5NDA1MDgpCj4+ICsj IC0tLVsgZW5kIHRyYWNlIDAwMDAwMDAwMDAwMDAwMDAgXS0tLQo+PiArIyBub3RlOiBrbXNfcGxh bmVfbG93cmVbNDgyXSBleGl0ZWQgd2l0aCBwcmVlbXB0X2NvdW50IDEKPj4gKyMgRml4aW5nIHJl Y3Vyc2l2ZSBmYXVsdCBidXQgcmVib290IGlzIG5lZWRlZCEKPj4gK2ttc19wbGFuZV9sb3dyZXNA cGlwZS1GLXRpbGluZy15Cj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1mYWlscy50eHQgCj4+IGIv ZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1mYWlscy50eHQKPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi4wZjhhZmE3ZTJhZGMKPj4gLS0tIC9k ZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZhaWxz LnR4dAo+PiBAQCAtMCwwICsxLDg2IEBACj4+ICtrbXNfYWRkZmJfYmFzaWNAYWRkZmIyNS1iYWQt bW9kaWZpZXIsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQS1sZWdhY3ktZ2FtbWEsRmFpbAo+PiAr a21zX2NvbG9yQHBpcGUtQi1sZWdhY3ktZ2FtbWEsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlw ZS1BLWN1cnNvci0zMngxMC1vZmZzY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1B LWN1cnNvci0zMngxMC1vbnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vy c29yLTMyeDEwLXJhbmRvbSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMy eDEwLXJhcGlkLW1vdmVtZW50LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3It MzJ4MTAtc2xpZGluZyxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDMy LW9mZnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDMyLW9u c2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItcmFuZG9t LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItcmFwaWQtbW92ZW1l bnQsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1zbGlkaW5nLEZh aWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4MjEtb25zY3JlZW4sRmFpbAo+ PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1yYW5kb20sRmFpbAo+PiAra21z X2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJz b3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4NjQtb2Zmc2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3Jf Y3JjQHBpcGUtQS1jdXJzb3ItNjR4NjQtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci02NHg2NC1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1B LWN1cnNvci02NHg2NC1yYXBpZC1tb3ZlbWVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBl LUEtY3Vyc29yLTY0eDY0LXNsaWRpbmcsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1 cnNvci1hbHBoYS1vcGFxdWUsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci1h bHBoYS10cmFuc3BhcmVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLWRw bXMsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci1zaXplLWNoYW5nZSxGYWls Cj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTMyeDEwLW9uc2NyZWVuLEZhaWwKPj4g K2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtcmFuZG9tLEZhaWwKPj4gK2ttc19j dXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtcmFwaWQtbW92ZW1lbnQsRmFpbAo+PiAra21z X2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJz b3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb2Zmc2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3Jf Y3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1CLWN1cnNvci0zMngzMi1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1C LWN1cnNvci0zMngzMi1yYXBpZC1tb3ZlbWVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBl LUItY3Vyc29yLTMyeDMyLXNsaWRpbmcsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1 cnNvci02NHgyMS1vbnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29y LTY0eDIxLXJhbmRvbSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDIx LXJhcGlkLW1vdmVtZW50LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItNjR4 NjQtb2Zmc2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItNjR4NjQt b25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci02NHg2NC1yYW5k b20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci02NHg2NC1yYXBpZC1tb3Zl bWVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0LXNsaWRpbmcs RmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1hbHBoYS1vcGFxdWUsRmFpbAo+ PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1kcG1zLEZhaWwKPj4gK2ttc19jdXJzb3Jf Y3JjQHBpcGUtQi1jdXJzb3Itc2l6ZS1jaGFuZ2UsRmFpbAo+PiAra21zX2N1cnNvcl9lZGdlX3dh bGtAcGlwZS1BLTY0eDY0LWJvdHRvbS1lZGdlLEZhaWwKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxr QHBpcGUtQS02NHg2NC1sZWZ0LWVkZ2UsRmFpbAo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlw ZS1BLTY0eDY0LXRvcC1lZGdlLEZhaWwKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02 NHg2NC1ib3R0b20tZWRnZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4 NjQtcmlnaHQtZWRnZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4NjQt dG9wLWVkZ2UsRmFpbAo+PiAra21zX2ludmFsaWRfbW9kZUBpbnQtbWF4LWNsb2NrLEZhaWwKPj4g K2ttc19waXBlX2NyY19iYXNpY0Bjb21wYXJlLWNyYy1zYW5pdHljaGVjay1waXBlLUEsRmFpbAo+ PiAra21zX3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUEsRmFpbAo+PiAra21z X3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUEtZnJhbWUtc2VxdWVuY2UsRmFp bAo+PiAra21zX3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUIsRmFpbAo+PiAr a21zX3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUItZnJhbWUtc2VxdWVuY2Us RmFpbAo+PiAra21zX3BpcGVfY3JjX2Jhc2ljQHJlYWQtY3JjLXBpcGUtQSxGYWlsCj4+ICtrbXNf cGlwZV9jcmNfYmFzaWNAcmVhZC1jcmMtcGlwZS1BLWZyYW1lLXNlcXVlbmNlLEZhaWwKPj4gK2tt c19waXBlX2NyY19iYXNpY0ByZWFkLWNyYy1waXBlLUIsRmFpbAo+PiAra21zX3BpcGVfY3JjX2Jh c2ljQHJlYWQtY3JjLXBpcGUtQi1mcmFtZS1zZXF1ZW5jZSxGYWlsCj4+ICtrbXNfcGxhbmVAcGxh bmUtcGFubmluZy1ib3R0b20tcmlnaHQsRmFpbAo+PiAra21zX3BsYW5lQHBsYW5lLXBhbm5pbmct dG9wLWxlZnQsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBlLUItb3ZlcmxheS1zaXplLTEy OCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQi1vdmVybGF5LXNpemUtMjU2LEZhaWwK Pj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLW92ZXJsYXktc2l6ZS02NCxGYWlsCj4+ICtrbXNf cGxhbmVfY3Vyc29yQHBpcGUtQi1wcmltYXJ5LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFuZV9j dXJzb3JAcGlwZS1CLXByaW1hcnktc2l6ZS0yNTYsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBw aXBlLUItcHJpbWFyeS1zaXplLTY0LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXZp ZXdwb3J0LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXZpZXdwb3J0 LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXZpZXdwb3J0LXNpemUt NjQsRmFpbAo+PiAra21zX3BsYW5lX211bHRpcGxlQGF0b21pYy1waXBlLUItdGlsaW5nLW5vbmUs RmFpbAo+PiAra21zX3ByaW1lQGJhc2ljLWNyYyxGYWlsCj4+ICtrbXNfcm1mYkBjbG9zZS1mZCxG YWlsCj4+ICtrbXNfdW5pdmVyc2FsX3BsYW5lQHVuaXZlcnNhbC1wbGFuZS1waXBlLUItZnVuY3Rp b25hbCxGYWlsCj4+ICtrbXNfdmJsYW5rQHBpcGUtQS1xdWVyeS1mb3JrZWQsRmFpbAo+PiAra21z X3ZibGFua0BwaXBlLUEtcXVlcnktaWRsZSxGYWlsCj4+ICtrbXNfdmJsYW5rQHBpcGUtQS13YWl0 LWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtd2FpdC1mb3JrZWQsRmFpbAo+PiAra21z X3ZibGFua0BwaXBlLUEtd2FpdC1mb3JrZWQtYnVzeSxGYWlsCj4+ICtrbXNfdmJsYW5rQHBpcGUt Qi1xdWVyeS1mb3JrZWQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUItcXVlcnktaWRsZSxGYWls Cj4+ICtrbXNfdmJsYW5rQHBpcGUtQi13YWl0LWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBl LUItd2FpdC1mb3JrZWQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUItd2FpdC1mb3JrZWQtYnVz eSxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMv Z3B1L2RybS9jaS9yb2NrY2hpcC1yazMzOTktZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmI0YzM3YTQzMTVlNAo+PiAtLS0gL2Rldi9udWxs Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMzOTktZmxha2VzLnR4dAo+ PiBAQCAtMCwwICsxLDI1IEBACj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTY0eDIx LW9mZnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1yYXBpZC1t b3ZlbWVudAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1vZmZzY3JlZW4K Pj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtcmFwaWQtbW92ZW1lbnQKPj4g K2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb2Zmc2NyZWVuCj4+ICtrbXNfY3Vy c29yX2NyY0BwaXBlLUItY3Vyc29yLTMyeDMyLXJhcGlkLW1vdmVtZW50Cj4+ICtrbXNfY3Vyc29y X2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0LW9mZnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNAcGlw ZS1CLWN1cnNvci02NHg2NC1yYXBpZC1tb3ZlbWVudAo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtA cGlwZS1BLTY0eDY0LXJpZ2h0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02 NHg2NC1sZWZ0LWVkZ2UKPj4gK2ttc19mbGlwQGZsaXAtdnMtZXhwaXJlZC12YmxhbmsKPj4gK2tt c19waXBlX2NyY19iYXNpY0Bjb21wYXJlLWNyYy1zYW5pdHljaGVjay1waXBlLUIKPj4gK2ttc19w bGFuZV9tdWx0aXBsZUBhdG9taWMtcGlwZS1BLXRpbGluZy1ub25lCj4+ICtrbXNfcGxhbmVAcGxh bmUtcG9zaXRpb24taG9sZQo+PiAra21zX3NlcXVlbmNlQGdldC1mb3JrZWQKPj4gK2ttc19zZXF1 ZW5jZUBnZXQtZm9ya2VkLWJ1c3kKPj4gK2ttc19zZXRtb2RlQGJhc2ljCj4+ICtrbXNfdmJsYW5r QHBpcGUtQS1hY2N1cmFjeS1pZGxlCj4+ICtrbXNfdmJsYW5rQHBpcGUtQS1xdWVyeS1idXN5Cj4+ ICtrbXNfdmJsYW5rQHBpcGUtQS1xdWVyeS1mb3JrZWQtYnVzeQo+PiAra21zX3ZibGFua0BwaXBl LUEtd2FpdC1pZGxlCj4+ICtrbXNfdmJsYW5rQHBpcGUtQi1hY2N1cmFjeS1pZGxlCj4+ICtrbXNf dmJsYW5rQHBpcGUtQi1xdWVyeS1idXN5Cj4+ICtrbXNfdmJsYW5rQHBpcGUtQi1xdWVyeS1mb3Jr ZWQtYnVzeQo+PiAra21zX3ZibGFua0BwaXBlLUItd2FpdC1pZGxlCj4+IFwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlw LXJrMzM5OS1za2lwcy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5 OS1za2lwcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAw Li4xMGMzZDgxYTkxOWEKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v Y2kvcm9ja2NoaXAtcmszMzk5LXNraXBzLnR4dAo+PiBAQCAtMCwwICsxLDUgQEAKPj4gKyMgU3Vz cGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9uIHRoaXMgbWFjaGluZQo+PiArLipzdXNw ZW5kLioKPj4gKwo+PiArIyBUb28gdW5zdGFibGUsIG1hY2hpbmUgZW5kcyB1cCBoYW5naW5nIGFm dGVyIGxvdHMgb2YgT29wc2VzCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeS4qCj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLWZhaWxzLnR4dCAKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLWZhaWxzLnR4dAo+PiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjIxNzhiZGQwNjRkZAo+PiAtLS0gL2Rldi9u dWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS92aXJ0aW9fZ3B1LW5vbmUtZmFpbHMudHh0 Cj4+IEBAIC0wLDAgKzEsMzggQEAKPj4gK2ttc19hZGRmYl9iYXNpY0BhZGRmYjI1LWJhZC1tb2Rp ZmllcixGYWlsCj4+ICtrbXNfYWRkZmJfYmFzaWNAYmFkLXBpdGNoLTY1NTM2LEZhaWwKPj4gK2tt c19hZGRmYl9iYXNpY0Biby10b28tc21hbGwsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQHNpemUt bWF4LEZhaWwKPj4gK2ttc19hZGRmYl9iYXNpY0B0b28taGlnaCxGYWlsCj4+ICtrbXNfYXRvbWlj X3RyYW5zaXRpb25AcGxhbmUtcHJpbWFyeS10b2dnbGUtd2l0aC12Ymxhbmstd2FpdCxGYWlsCj4+ ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21z X2J3QGxpbmVhci10aWxpbmctMS1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0Bs aW5lYXItdGlsaW5nLTEtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFy LXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxp bmctMi1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTIt ZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfaW52YWxpZF9tb2RlQGludC1tYXgtY2xv Y2ssRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93bnNjYWxlLXdpdGgtbW9kaWZpZXItZmFj dG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93bnNjYWxlLXdpdGgtcm90YXRp b24tZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUt MjB4MjAsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUtMjB4MjAtZG93 bnNjYWxlLWZhY3Rvci0wLTI1LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHBsYW5lcy11cHNj YWxlLTIweDIwLWRvd25zY2FsZS1mYWN0b3ItMC01LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5n QHBsYW5lcy11cHNjYWxlLTIweDIwLWRvd25zY2FsZS1mYWN0b3ItMC03NSxGYWlsCj4+ICtrbXNf cGxhbmVfc2NhbGluZ0B1cHNjYWxlLXdpdGgtbW9kaWZpZXItMjB4MjAsRmFpbAo+PiAra21zX3Bs YW5lX3NjYWxpbmdAdXBzY2FsZS13aXRoLW1vZGlmaWVyLWZhY3Rvci0wLTI1LEZhaWwKPj4gK2tt c19wbGFuZV9zY2FsaW5nQHVwc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtMjB4MjAsRmFpbAo+PiAr a21zX3BsYW5lX3NjYWxpbmdAdXBzY2FsZS13aXRoLXBpeGVsLWZvcm1hdC1mYWN0b3ItMC0yNSxG YWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0B1cHNjYWxlLXdpdGgtcm90YXRpb24tMjB4MjAsRmFp bAo+PiAra21zX3ZibGFua0BjcnRjLWlkLEZhaWwKPj4gK2ttc192YmxhbmtAaW52YWxpZCxGYWls Cj4+ICtrbXNfdmJsYW5rQHBpcGUtQS1hY2N1cmFjeS1pZGxlLEZhaWwKPj4gK2ttc192YmxhbmtA cGlwZS1BLXF1ZXJ5LWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtcXVlcnktZm9ya2Vk LEZhaWwKPj4gK2ttc192YmxhbmtAcGlwZS1BLXF1ZXJ5LWZvcmtlZC1idXN5LEZhaWwKPj4gK2tt c192YmxhbmtAcGlwZS1BLXF1ZXJ5LWlkbGUsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtdHMt Y29udGludWF0aW9uLWlkbGUsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtdHMtY29udGludWF0 aW9uLW1vZGVzZXQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtdHMtY29udGludWF0aW9uLXN1 c3BlbmQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtd2FpdC1idXN5LEZhaWwKPj4gK2ttc192 YmxhbmtAcGlwZS1BLXdhaXQtZm9ya2VkLEZhaWwKPj4gK2ttc192YmxhbmtAcGlwZS1BLXdhaXQt Zm9ya2VkLWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtd2FpdC1pZGxlLEZhaWwKPj4g XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vY2kvdmlydGlvX2dwdS1ub25lLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2Np L3ZpcnRpb19ncHUtbm9uZS1mbGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGlu ZGV4IDAwMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMmQxCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLXNraXBzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0v Y2kvdmlydGlvX2dwdS1ub25lLXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBp bmRleCAwMDAwMDAwMDAwMDAuLjc4YmUxODE3NDAxMgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9jaS92aXJ0aW9fZ3B1LW5vbmUtc2tpcHMudHh0Cj4+IEBAIC0wLDAg KzEsNiBAQAo+PiArIyBIaXRzIGEgInJlZmNvdW50X3Q6IHVuZGVyZmxvdzsgdXNlLWFmdGVyLWZy ZWUiIGluIAo+PiB2aXJ0aW9fZ3B1X2ZlbmNlX2V2ZW50X3Byb2Nlc3MKPj4gKyMgV2hlbiBydW4g aW4gYSBwYXJ0aWN1bGFyIG9yZGVyIHdpdGggb3RoZXIgdGVzdHMKPj4gK2ttc19jdXJzb3JfbGVn YWN5LioKPj4gKwo+PiArIyBKb2IganVzdCBoYW5ncyB3aXRob3V0IGFueSBvdXRwdXQKPj4gK2tt c19mbGlwQGZsaXAtdnMtc3VzcGVuZC4qCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+ IAo+IAoKLS0gClRvbWV1IFZpem9zbwpDb25zdWx0YW50IFByaW5jaXBhbCBTb2Z0d2FyZSBFbmdp bmVlcgoKQ29sbGFib3JhIEx0ZC4KUGxhdGludW0gQnVpbGRpbmcsIFN0IEpvaG4ncyBJbm5vdmF0 aW9uIFBhcmssIENhbWJyaWRnZSBDQjQgMERTLCBVbml0ZWQgCktpbmdkb20KUmVnaXN0ZXJlZCBp biBFbmdsYW5kICYgV2FsZXMsIG5vLiA1NTEzNzE4CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1h bWxvZ2ljQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1hbWxvZ2ljCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CFC3EC19F2D for ; Thu, 11 Aug 2022 10:11:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233601AbiHKKLC (ORCPT ); Thu, 11 Aug 2022 06:11:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46480 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234298AbiHKKKy (ORCPT ); Thu, 11 Aug 2022 06:10:54 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0C503218; Thu, 11 Aug 2022 03:10:49 -0700 (PDT) Received: from [192.168.1.27] (cst-prg-101-15.cust.vodafone.cz [46.135.101.15]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tomeu) by madras.collabora.co.uk (Postfix) with ESMTPSA id 4C7016601CE0; Thu, 11 Aug 2022 11:10:46 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1660212647; bh=I1SxPAOTQmS391q7M7+rbhIoiQgbNcXxYlia5tr4Ij0=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=d9IAHi5H/2iR9+UloeTd/m2oXigxG4nwYR6wP0PIor8dF+WyE4xbV0UFnATUb+yKh Sr2A4QjzyYaLjbPh3KEpg8s78/CKH5s+eXgGW7SuW4EzR1AY6sodX89LAx5lkO8I5o FDh/PIbbywsihLNf8Jt5UI/nTOahBtaMQuEz0eo5++iBsNOw/fnrwah41vU4ML7nlv hhoQUxeIQA/flK3ajaPbc0lbaisMbBlU0LvVnc69qOpXnNj3hLWWDO4x7ju4UDxd6t zr+rQgRwejK2Gsr2Ucd9yNDig+V5uii+WHkF37I1Fmr8M2rXDWUtlY/Z3f57I5i2jM SElJYHUDsXs2Q== Subject: Re: [PATCH v5] drm: Add initial ci/ subdirectory To: Rodrigo Siqueira Jordao , Nicholas Choi , Sun peng Li , "Chiu, Harrison" , "Wentland, Harry" Cc: linux-doc@vger.kernel.org, Neil Armstrong , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-amlogic@lists.infradead.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, David Airlie , Jonathan Corbet , Carlo Caione , Kevin Hilman , Heiko Stuebner , Matthias Brugger , Rob Clark References: <20220517081656.47625-1-tomeu.vizoso@collabora.com> <20220726181636.19967-1-tomeu.vizoso@collabora.com> From: Tomeu Vizoso Message-ID: Date: Thu, 11 Aug 2022 12:10:43 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-doc@vger.kernel.org On 8/10/22 8:24 PM, Rodrigo Siqueira Jordao wrote: > Hi Tomeu, > > First of all, nice patch! I just saw it, and I have some basic questions > (I don't understand many of these CI details). I also CC some CI folks > from the display team at AMD. Thanks for the feedback! > On 2022-07-26 14:16, Tomeu Vizoso wrote: >> And use it to store expectations about what the DRM drivers are >> supposed to pass in the IGT test suite. >> >> Also include a configuration file that points to the out-of-tree CI >> scripts. >> >> By storing the test expectations along the code we can make sure both >> stay in sync with each other, and so we can know when a code change >> breaks those expectations. >> >> This will allow all contributors to drm to reuse the infrastructure >> already in gitlab.freedesktop.org to test the driver on several >> generations of the hardware. >> >> v2: >>    - Fix names of result expectation files to match SoC >>    - Don't execute tests that are going to skip on all boards >> >> v3: >>    - Remove tracking of dmesg output during test execution >> >> v4: >>    - Move up to drivers/gpu/drm >>    - Add support for a bunch of other drivers >>    - Explain how to incorporate fixes for CI from a >>      ${TARGET_BRANCH}-external-fixes branch >>    - Remove tests that pass from expected results file, to reduce the >>      size of in-tree files >>    - Add docs about how to deal with outages in automated testing labs >>    - Specify the exact SHA of the CI scripts to be used >> >> v5: >>    - Remove unneeded skips from Meson expectations file >>    - Use a more advanced runner that detects flakes automatically >>    - Use a more succint format for the expectations >>    - Run many more tests (and use sharding to finish in time) >>    - Use skip lists to avoid hanging machines >>    - Add some build testing >>    - Build IGT in each pipeline for faster uprevs >>    - List failures in the GitLab UI >> >> Signed-off-by: Tomeu Vizoso >> Reviewed-by: Neil Armstrong >> --- >>   Documentation/gpu/automated_testing.rst       | 84 ++++++++++++++++++ >>   drivers/gpu/drm/ci/amdgpu-stoney-fails.txt    | 13 +++ >>   drivers/gpu/drm/ci/amdgpu-stoney-flakes.txt   | 20 +++++ >>   drivers/gpu/drm/ci/amdgpu-stoney-skips.txt    |  2 + >>   drivers/gpu/drm/ci/gitlab-ci.yml              | 13 +++ >>   drivers/gpu/drm/ci/i915-amly-flakes.txt       | 32 +++++++ >>   drivers/gpu/drm/ci/i915-amly-skips.txt        |  2 + >>   drivers/gpu/drm/ci/i915-apl-fails.txt         | 29 +++++++ >>   drivers/gpu/drm/ci/i915-apl-flakes.txt        |  1 + >>   drivers/gpu/drm/ci/i915-apl-skips.txt         |  2 + >>   drivers/gpu/drm/ci/i915-cml-flakes.txt        | 36 ++++++++ >>   drivers/gpu/drm/ci/i915-glk-flakes.txt        | 40 +++++++++ >>   drivers/gpu/drm/ci/i915-glk-skips.txt         |  2 + >>   drivers/gpu/drm/ci/i915-kbl-fails.txt         |  8 ++ >>   drivers/gpu/drm/ci/i915-kbl-flakes.txt        | 24 ++++++ >>   drivers/gpu/drm/ci/i915-kbl-skips.txt         |  2 + >>   drivers/gpu/drm/ci/i915-tgl-fails.txt         | 19 ++++ >>   drivers/gpu/drm/ci/i915-tgl-flakes.txt        |  6 ++ >>   drivers/gpu/drm/ci/i915-tgl-skips.txt         |  8 ++ >>   drivers/gpu/drm/ci/i915-whl-fails.txt         | 30 +++++++ >>   drivers/gpu/drm/ci/i915-whl-flakes.txt        |  1 + >>   drivers/gpu/drm/ci/mediatek-mt8173-fails.txt  | 29 +++++++ >>   drivers/gpu/drm/ci/mediatek-mt8183-fails.txt  | 10 +++ >>   drivers/gpu/drm/ci/mediatek-mt8183-flakes.txt | 14 +++ >>   drivers/gpu/drm/ci/meson-g12b-fails.txt       |  5 ++ >>   drivers/gpu/drm/ci/meson-g12b-flakes.txt      |  4 + >>   drivers/gpu/drm/ci/msm-apq8016-fails.txt      | 15 ++++ >>   drivers/gpu/drm/ci/msm-apq8016-flakes.txt     |  4 + >>   drivers/gpu/drm/ci/msm-apq8096-fails.txt      |  2 + >>   drivers/gpu/drm/ci/msm-apq8096-flakes.txt     |  4 + >>   drivers/gpu/drm/ci/msm-apq8096-skips.txt      |  2 + >>   drivers/gpu/drm/ci/msm-sc7180-fails.txt       | 22 +++++ >>   drivers/gpu/drm/ci/msm-sc7180-flakes.txt      | 14 +++ >>   drivers/gpu/drm/ci/msm-sc7180-skips.txt       | 18 ++++ >>   drivers/gpu/drm/ci/msm-sdm845-fails.txt       | 44 ++++++++++ >>   drivers/gpu/drm/ci/msm-sdm845-flakes.txt      | 33 +++++++ >>   drivers/gpu/drm/ci/msm-sdm845-skips.txt       |  2 + >>   drivers/gpu/drm/ci/rockchip-rk3288-fails.txt  | 75 ++++++++++++++++ >>   drivers/gpu/drm/ci/rockchip-rk3288-flakes.txt |  5 ++ >>   drivers/gpu/drm/ci/rockchip-rk3288-skips.txt  | 46 ++++++++++ >>   drivers/gpu/drm/ci/rockchip-rk3399-fails.txt  | 86 +++++++++++++++++++ >>   drivers/gpu/drm/ci/rockchip-rk3399-flakes.txt | 25 ++++++ >>   drivers/gpu/drm/ci/rockchip-rk3399-skips.txt  |  5 ++ >>   drivers/gpu/drm/ci/virtio_gpu-none-fails.txt  | 38 ++++++++ >>   drivers/gpu/drm/ci/virtio_gpu-none-flakes.txt |  0 >>   drivers/gpu/drm/ci/virtio_gpu-none-skips.txt  |  6 ++ >>   46 files changed, 882 insertions(+) >>   create mode 100644 Documentation/gpu/automated_testing.rst >>   create mode 100644 drivers/gpu/drm/ci/amdgpu-stoney-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/amdgpu-stoney-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/amdgpu-stoney-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/gitlab-ci.yml >>   create mode 100644 drivers/gpu/drm/ci/i915-amly-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-amly-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-apl-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-apl-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-apl-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-cml-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-glk-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-glk-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-kbl-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-kbl-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-kbl-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-tgl-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-tgl-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-tgl-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-whl-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-whl-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/mediatek-mt8173-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/mediatek-mt8183-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/mediatek-mt8183-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/meson-g12b-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/meson-g12b-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-apq8016-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-apq8016-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-apq8096-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-apq8096-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-apq8096-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sc7180-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sc7180-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sc7180-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sdm845-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sdm845-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sdm845-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3288-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3288-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3288-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3399-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3399-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3399-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/virtio_gpu-none-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/virtio_gpu-none-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/virtio_gpu-none-skips.txt >> >> diff --git a/Documentation/gpu/automated_testing.rst >> b/Documentation/gpu/automated_testing.rst >> new file mode 100644 >> index 000000000000..61003ecc7b6e >> --- /dev/null >> +++ b/Documentation/gpu/automated_testing.rst >> @@ -0,0 +1,84 @@ >> +.. SPDX-License-Identifier: GPL-2.0+ >> + >> +========================================= >> +Automated testing of the DRM subsystem >> +========================================= >> + >> + >> +Introduction >> +============ >> + >> +Making sure that changes to the core or drivers don't introduce >> regressions can be very time consuming when lots of different hardware >> configurations need to be tested. Moreover, it isn't practical for >> each person interested in this testing to have to acquire and maintain >> what can be a considerable amount of hardware. >> + >> +Also, it is desirable for developers to check for regressions in >> their code by themselves, instead of relying on the maintainers >> finding them and then reporting back. >> + >> +There are facilities in gitlab.freedesktop.org to automatically test >> Mesa that can be used as well for testing the DRM subsystem. This >> document explains how people interested in testing it can use this >> shared infrastructure to save quite some time and effort. >> + >> + >> +Relevant files >> +============== >> + >> +drivers/gpu/drm/ci/gitlab-ci.yml >> +-------------------------------- >> + >> +Specifies the specific version of the scripts to be used. GitLab CI >> will use the values defined in this file to fetch the right scripts. >> + >> + >> +drivers/gpu/drm/ci/${DRIVER_NAME}.testlist >> +------------------------------------------ >> + >> +Specifies the tests that the current code is expected to be able to >> reliably run for ${DRIVER_NAME}. These tests are expected to not hang >> the DUT (Device Under Testing) when running on the revision they >> belong to, and to give consistent results. > > The IGT repo has testlists per vendor (e.g., > https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/tree/master/tests/intel-ci). > What is the advantage of keeping a similar IGT list here? Should we > maintain that list in both projects? Yes, I think that would be better, but the ones currently there were too small or too big to be useful here. Note that the documentation here is erroneous, the test lists in this iteration are in the drm-ci repo, not in the kernel. Will fix this when I send my rebased patches. >> +drivers/gpu/drm/ci/${DRIVER_NAME}_*_results.txt >> +---------------------------------------- >> + >> +Specifies the expected results of running this specific kernel >> revision on a given hardware configuration. >> + >> + >> +How to enable automated testing on your tree >> +============================================ >> + >> +1. Create a Linux tree in https://gitlab.freedesktop.org/ if you >> don't have one yet >> + >> +2. In your kernel repo's configuration (eg. >> https://gitlab.freedesktop.org/tomeu/linux/-/settings/ci_cd), change >> the CI/CD configuration file from .gitlab-ci.yml to >> drivers/gpu/drm/ci/gitlab-ci.yml. >> + >> +3. Next time you push to this repository, you will see a CI pipeline >> being created (eg. >> https://gitlab.freedesktop.org/tomeu/linux/-/pipelines) >> + >> +4. The various jobs will be run and when the pipeline is finished, >> all jobs should be green unless a regression has been found. >> + >> + >> +How to update test expectations >> +=============================== >> + >> +If your changes to the code fix any tests, you will have to update >> one or more of the files in >> drivers/gpu/drm/ci/${DRIVER_NAME}_*_results.txt, for each of the test >> platforms affected by the change. >> + >> +If you have run a pipeline and it failed because of a mismatched test >> result, you will have been offered a patch at the end of the run that >> you can apply after reviewing it. >> + >> + >> +How to expand coverage >> +====================== >> + >> +If your code changes makes it possible to run more tests (by solving >> reliability issues, for example), more tests can be added to this >> list, and then the expected results updated with the patch file that >> will be printed at the end of each job. >> + >> +If there is a need for updating the version of IGT being used (maybe >> you have added more tests to it), follow the instructions at >> https://gitlab.freedesktop.org/gfx-ci/drm-ci/-/tree/main#upreving-igt. > > Usually, we run our IGT test on the latest code from the IGT repo. Is it > possible to configure this behavior? If this was the default behavior, it would create a lot of trouble because pipelines for the same code would sometimes pass or fail based on whatever had been pushed to the IGT repo. It is really important for this to work well for everybody that the pipeline is kept green at all times for checked-in code. But it is already very easy to uprev IGT, it just requires updating a commit hash in the drm-ci repo. >> +How to test your changes to the scripts >> +========================================== >> + >> +For testing changes to the scripts in the drm-ci repo, change the >> DRM_CI_PROJECT_PATH variable in drivers/gpu/drm/ci/gitlab-ci.yml to >> match your fork of the project (eg. tomeu/drm-ci). This fork needs to >> be in https://gitlab.freedesktop.org/. >> + >> + >> +How to incorporate external fixes in your testing >> +================================================= >> + >> +Often, regressions in other trees will prevent testing changes local >> to the tree under test. These fixes will be automatically merged in >> during the build jobs from a branch in the target tree that is named >> as ${TARGET_BRANCH}-external-fixes. >> + >> +If the pipeline is not in a merge request and a branch with the same >> name exists in the local tree, commits from that branch will be merged >> in as well. >> + >> + >> +How to deal with automated testing labs that may be down >> +======================================================== >> + >> +If a hardware farm is down and thus causing pipelines to fail that >> would otherwise pass, one can disable all jobs that would be submitted >> to that farm by editing the file at >> https://gitlab.freedesktop.org/gfx-ci/lab-status/-/blob/main/lab-status.yml. >> > > > This part is the one that I really want to understand. How can we plug > our farm? Do you have a guideline? I want to know if we can run a > prototype. We are reusing the device farms that were added to gitlab.freedesktop.org for testing Mesa. You should be able to plug your own lab for use in your personal branch without requiring anything from anybody else. You just need an account in gitlab.freedesktop.org. Currently, there are two modes through which DUTs are made available to Gitlab CI: baremetal and LAVA. The latter should better scale to several dozens of devices but has a higher initial installation effort. It would allow this farm to be used in other CIs such as kernelci.org, though. There is some documentation about this in Mesa: * https://docs.mesa3d.org/ci/bare-metal.html * https://docs.mesa3d.org/ci/LAVA.html Ask in #freedesktop in OFTC if you need any help. >> diff --git a/drivers/gpu/drm/ci/amdgpu-stoney-fails.txt >> b/drivers/gpu/drm/ci/amdgpu-stoney-fails.txt >> new file mode 100644 >> index 000000000000..e721568b6ec3 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/amdgpu-stoney-fails.txt >> @@ -0,0 +1,13 @@ >> +kms_addfb_basic@bad-pitch-65536,Fail >> +kms_addfb_basic@bo-too-small,Fail >> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-1-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_cursor_crc@pipe-A-cursor-size-change,Fail >> +kms_cursor_crc@pipe-B-cursor-size-change,Fail >> +kms_hdr@bpc-switch,Fail >> +kms_hdr@bpc-switch-dpms,Fail >> +kms_plane_multiple@atomic-pipe-A-tiling-none,Fail >> +kms_rotation_crc@primary-rotation-180,Fail >> +kms_universal_plane@disable-primary-vs-flip-pipe-B,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/amdgpu-stoney-flakes.txt >> b/drivers/gpu/drm/ci/amdgpu-stoney-flakes.txt >> new file mode 100644 >> index 000000000000..a2cbc339838c >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/amdgpu-stoney-flakes.txt >> @@ -0,0 +1,20 @@ >> +kms_addfb_basic@too-high >> +kms_atomic_transition@plane-all-modeset-transition-internal-panels >> +kms_atomic_transition@plane-all-transition >> +kms_atomic_transition@plane-use-after-nonblocking-unbind >> +kms_bw@linear-tiling-1-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-3840x2160p >> +kms_cursor_edge_walk@pipe-A-64x64-bottom-edge >> +kms_cursor_edge_walk@pipe-A-64x64-right-edge >> +kms_cursor_edge_walk@pipe-A-64x64-top-edge >> +kms_cursor_edge_walk@pipe-B-64x64-bottom-edge >> +kms_cursor_edge_walk@pipe-B-64x64-left-edge >> +kms_cursor_edge_walk@pipe-B-64x64-right-edge >> +kms_cursor_edge_walk@pipe-B-64x64-top-edge >> +kms_plane_multiple@atomic-pipe-B-tiling-none >> +kms_plane@pixel-format >> +kms_plane_scaling@downscale-with-rotation-factor-0-5 >> +kms_universal_plane@disable-primary-vs-flip-pipe-A > > We have multiple test lists for different ASICs, and we are working to > have one unified list. I guess we just need to that list here? > > Maybe Nicholas/Herrison can provide a complete list here. Maybe add it to the IGT repo and from there it will be used in this CI once it can run reliably enough? Cheers, Tomeu > Thanks > Siqueira > > >> diff --git a/drivers/gpu/drm/ci/amdgpu-stoney-skips.txt >> b/drivers/gpu/drm/ci/amdgpu-stoney-skips.txt >> new file mode 100644 >> index 000000000000..e2c538a0f954 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/amdgpu-stoney-skips.txt >> @@ -0,0 +1,2 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml >> b/drivers/gpu/drm/ci/gitlab-ci.yml >> new file mode 100644 >> index 000000000000..8898bbe0f180 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/gitlab-ci.yml >> @@ -0,0 +1,13 @@ >> +variables: >> +  # Change this to use your fork of drm-ci >> +  DRM_CI_PROJECT_PATH: &drm-ci-project-path gfx-ci/drm-ci >> +  DRM_CI_COMMIT_SHA: &drm-ci-commit-sha >> bccff240ca042820484096f0782e8f060bd83bca >> + >> +  UPSTREAM_REPO: git://anongit.freedesktop.org/drm/drm >> +  TARGET_BRANCH: drm-next >> + >> +include: >> +  - project: *drm-ci-project-path >> +    ref: *drm-ci-commit-sha >> +    file: >> +      - '.gitlab-ci.yml' >> diff --git a/drivers/gpu/drm/ci/i915-amly-flakes.txt >> b/drivers/gpu/drm/ci/i915-amly-flakes.txt >> new file mode 100644 >> index 000000000000..67d78f10b671 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-amly-flakes.txt >> @@ -0,0 +1,32 @@ >> +kms_bw@linear-tiling-2-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-2560x1440p >> +kms_bw@linear-tiling-2-displays-3840x2160p >> +kms_bw@linear-tiling-3-displays-1920x1080p >> +kms_bw@linear-tiling-3-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-3840x2160p >> +kms_bw@linear-tiling-4-displays-1920x1080p >> +kms_bw@linear-tiling-4-displays-2560x1440p >> +kms_bw@linear-tiling-4-displays-3840x2160p >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling >> +kms_plane_alpha_blend@pipe-A-alpha-basic >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max >> +kms_plane_alpha_blend@pipe-B-alpha-basic >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max >> +kms_plane_alpha_blend@pipe-C-alpha-basic >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max >> +kms_sysfs_edid_timing >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-amly-skips.txt >> b/drivers/gpu/drm/ci/i915-amly-skips.txt >> new file mode 100644 >> index 000000000000..e2c538a0f954 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-amly-skips.txt >> @@ -0,0 +1,2 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-apl-fails.txt >> b/drivers/gpu/drm/ci/i915-apl-fails.txt >> new file mode 100644 >> index 000000000000..a077f29d5cba >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-apl-fails.txt >> @@ -0,0 +1,29 @@ >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-4-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-4-displays-3840x2160p,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling,Fail >> >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max,Fail >> +kms_sysfs_edid_timing,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-apl-flakes.txt >> b/drivers/gpu/drm/ci/i915-apl-flakes.txt >> new file mode 100644 >> index 000000000000..618bbe6bb793 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-apl-flakes.txt >> @@ -0,0 +1 @@ >> +kms_frontbuffer_tracking@fbc-tiling-linear >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-apl-skips.txt >> b/drivers/gpu/drm/ci/i915-apl-skips.txt >> new file mode 100644 >> index 000000000000..e2c538a0f954 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-apl-skips.txt >> @@ -0,0 +1,2 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-cml-flakes.txt >> b/drivers/gpu/drm/ci/i915-cml-flakes.txt >> new file mode 100644 >> index 000000000000..a214419c6dc5 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-cml-flakes.txt >> @@ -0,0 +1,36 @@ >> +kms_bw@linear-tiling-2-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-2560x1440p >> +kms_bw@linear-tiling-2-displays-3840x2160p >> +kms_bw@linear-tiling-3-displays-1920x1080p >> +kms_bw@linear-tiling-3-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-3840x2160p >> +kms_bw@linear-tiling-4-displays-1920x1080p >> +kms_bw@linear-tiling-4-displays-2560x1440p >> +kms_bw@linear-tiling-4-displays-3840x2160p >> +kms_flip@flip-vs-suspend >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling >> +kms_hdr@bpc-switch-suspend >> +kms_plane_alpha_blend@pipe-A-alpha-basic >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max >> +kms_plane_alpha_blend@pipe-B-alpha-basic >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max >> +kms_plane_alpha_blend@pipe-C-alpha-basic >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max >> +kms_psr2_su@page_flip-NV12 >> +kms_psr2_su@page_flip-P010 >> +kms_setmode@basic >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-glk-flakes.txt >> b/drivers/gpu/drm/ci/i915-glk-flakes.txt >> new file mode 100644 >> index 000000000000..aedb3d2ef885 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-glk-flakes.txt >> @@ -0,0 +1,40 @@ >> +kms_bw@linear-tiling-1-displays-3840x2160p >> +kms_bw@linear-tiling-2-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-2560x1440p >> +kms_bw@linear-tiling-2-displays-3840x2160p >> +kms_bw@linear-tiling-3-displays-1920x1080p >> +kms_bw@linear-tiling-3-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-3840x2160p >> +kms_bw@linear-tiling-4-displays-1920x1080p >> +kms_bw@linear-tiling-4-displays-2560x1440p >> +kms_bw@linear-tiling-4-displays-3840x2160p >> +kms_flip@blocking-wf_vblank >> +kms_flip@wf_vblank-ts-check >> +kms_flip@wf_vblank-ts-check-interruptible >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling >> +kms_frontbuffer_tracking@fbc-tiling-linear >> +kms_plane_alpha_blend@pipe-A-alpha-basic >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max >> +kms_plane_alpha_blend@pipe-B-alpha-basic >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max >> +kms_plane_alpha_blend@pipe-C-alpha-basic >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max >> +kms_rotation_crc@multiplane-rotation >> +kms_rotation_crc@multiplane-rotation-cropping-bottom >> +kms_rotation_crc@multiplane-rotation-cropping-top >> +kms_setmode@basic >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-glk-skips.txt >> b/drivers/gpu/drm/ci/i915-glk-skips.txt >> new file mode 100644 >> index 000000000000..e2c538a0f954 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-glk-skips.txt >> @@ -0,0 +1,2 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-kbl-fails.txt >> b/drivers/gpu/drm/ci/i915-kbl-fails.txt >> new file mode 100644 >> index 000000000000..f81f065e27e8 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-kbl-fails.txt >> @@ -0,0 +1,8 @@ >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-kbl-flakes.txt >> b/drivers/gpu/drm/ci/i915-kbl-flakes.txt >> new file mode 100644 >> index 000000000000..f82017654cf5 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-kbl-flakes.txt >> @@ -0,0 +1,24 @@ >> +kms_bw@linear-tiling-2-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-3840x2160p >> +kms_bw@linear-tiling-3-displays-1920x1080p >> +kms_bw@linear-tiling-3-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-3840x2160p >> +kms_bw@linear-tiling-4-displays-1920x1080p >> +kms_bw@linear-tiling-4-displays-3840x2160p >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling >> +kms_plane_alpha_blend@pipe-A-alpha-basic >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-B-alpha-basic >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max >> +kms_plane_alpha_blend@pipe-C-alpha-basic >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb >> +kms_sysfs_edid_timing >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-kbl-skips.txt >> b/drivers/gpu/drm/ci/i915-kbl-skips.txt >> new file mode 100644 >> index 000000000000..e2c538a0f954 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-kbl-skips.txt >> @@ -0,0 +1,2 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-tgl-fails.txt >> b/drivers/gpu/drm/ci/i915-tgl-fails.txt >> new file mode 100644 >> index 000000000000..270644ce220c >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-tgl-fails.txt >> @@ -0,0 +1,19 @@ >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-4-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-4-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-5-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-5-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-5-displays-3840x2160p,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling,Fail >> >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail >> +kms_rotation_crc@bad-pixel-format,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-tgl-flakes.txt >> b/drivers/gpu/drm/ci/i915-tgl-flakes.txt >> new file mode 100644 >> index 000000000000..15fba77ff19d >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-tgl-flakes.txt >> @@ -0,0 +1,6 @@ >> +kms_draw_crc@draw-method-rgb565-blt-untiled >> +kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled >> +kms_draw_crc@draw-method-xrgb8888-mmap-gtt-xtiled >> +kms_flip@blocking-absolute-wf_vblank >> +kms_flip@bo-too-big-interruptible >> +kms_flip@flip-vs-rmfb-interruptible >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-tgl-skips.txt >> b/drivers/gpu/drm/ci/i915-tgl-skips.txt >> new file mode 100644 >> index 000000000000..14f33c7ba03b >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-tgl-skips.txt >> @@ -0,0 +1,8 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> + >> +# GPU hangs, then the whole machine >> +gem_eio.* >> + >> +# Whole machine hangs >> +kms_flip@absolute-wf_vblank@a-edp1 >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-whl-fails.txt >> b/drivers/gpu/drm/ci/i915-whl-fails.txt >> new file mode 100644 >> index 000000000000..dbfedfa5d63f >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-whl-fails.txt >> @@ -0,0 +1,30 @@ >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-4-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-4-displays-3840x2160p,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling,Fail >> >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail >> +kms_frontbuffer_tracking@fbc-tiling-linear,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max,Fail >> +kms_sysfs_edid_timing,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-whl-flakes.txt >> b/drivers/gpu/drm/ci/i915-whl-flakes.txt >> new file mode 100644 >> index 000000000000..6bcac5b84fbb >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-whl-flakes.txt >> @@ -0,0 +1 @@ >> +kms_flip@flip-vs-suspend >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/mediatek-mt8173-fails.txt >> b/drivers/gpu/drm/ci/mediatek-mt8173-fails.txt >> new file mode 100644 >> index 000000000000..7f74fb9afc99 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/mediatek-mt8173-fails.txt >> @@ -0,0 +1,29 @@ >> +kms_3d,Fail >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_bw@linear-tiling-1-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-1-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_color@pipe-A-invalid-gamma-lut-sizes,Fail >> +kms_color@pipe-B-invalid-gamma-lut-sizes,Fail >> +kms_force_connector_basic@force-connector-state,Fail >> +kms_force_connector_basic@force-edid,Fail >> +kms_force_connector_basic@force-load-detect,Fail >> +kms_force_connector_basic@prune-stale-modes,Fail >> +kms_invalid_mode@int-max-clock,Fail >> +kms_plane_scaling@planes-upscale-20x20,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75,Fail >> +kms_plane_scaling@upscale-with-modifier-20x20,Fail >> +kms_plane_scaling@upscale-with-pixel-format-20x20,Fail >> +kms_plane_scaling@upscale-with-rotation-20x20,Fail >> +kms_properties@get_properties-sanity-atomic,Fail >> +kms_properties@plane-properties-atomic,Fail >> +kms_properties@plane-properties-legacy,Fail >> +kms_rmfb@close-fd,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/mediatek-mt8183-fails.txt >> b/drivers/gpu/drm/ci/mediatek-mt8183-fails.txt >> new file mode 100644 >> index 000000000000..6ff81d00e84e >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/mediatek-mt8183-fails.txt >> @@ -0,0 +1,10 @@ >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_color@pipe-A-invalid-gamma-lut-sizes,Fail >> +kms_plane_scaling@upscale-with-rotation-20x20,Fail >> +kms_rmfb@close-fd,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/mediatek-mt8183-flakes.txt >> b/drivers/gpu/drm/ci/mediatek-mt8183-flakes.txt >> new file mode 100644 >> index 000000000000..208890b79eb0 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/mediatek-mt8183-flakes.txt >> @@ -0,0 +1,14 @@ >> +core_setmaster_vs_auth >> +kms_bw@linear-tiling-1-displays-1920x1080p >> +kms_bw@linear-tiling-1-displays-3840x2160p >> +kms_bw@linear-tiling-3-displays-1920x1080p >> +kms_cursor_legacy@cursor-vs-flip-atomic >> +kms_plane_scaling@invalid-num-scalers >> +kms_plane_scaling@planes-upscale-20x20 >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5 >> +kms_plane_scaling@upscale-with-modifier-20x20 >> +kms_plane_scaling@upscale-with-pixel-format-20x20 >> +kms_prop_blob@invalid-set-prop-any >> +kms_properties@get_properties-sanity-atomic >> +kms_properties@plane-properties-atomic >> +kms_properties@plane-properties-legacy >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/meson-g12b-fails.txt >> b/drivers/gpu/drm/ci/meson-g12b-fails.txt >> new file mode 100644 >> index 000000000000..345e1426b3a3 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/meson-g12b-fails.txt >> @@ -0,0 +1,5 @@ >> +kms_3d,Fail >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_properties@connector-properties-atomic,Fail >> +kms_properties@get_properties-sanity-atomic,Fail >> +kms_properties@get_properties-sanity-non-atomic,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/meson-g12b-flakes.txt >> b/drivers/gpu/drm/ci/meson-g12b-flakes.txt >> new file mode 100644 >> index 000000000000..b63329d06767 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/meson-g12b-flakes.txt >> @@ -0,0 +1,4 @@ >> +kms_force_connector_basic@force-connector-state >> +kms_force_connector_basic@force-edid >> +kms_force_connector_basic@force-load-detect >> +kms_force_connector_basic@prune-stale-modes >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-apq8016-fails.txt >> b/drivers/gpu/drm/ci/msm-apq8016-fails.txt >> new file mode 100644 >> index 000000000000..16c2dfab3f16 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-apq8016-fails.txt >> @@ -0,0 +1,15 @@ >> +kms_3d,Fail >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_cursor_legacy@all-pipes-forked-move,Fail >> +kms_cursor_legacy@all-pipes-torture-bo,Fail >> +kms_cursor_legacy@all-pipes-forked-bo,Fail >> +kms_cursor_legacy@all-pipes-single-bo,Fail >> +kms_cursor_legacy@all-pipes-single-move,Fail >> +kms_cursor_legacy@all-pipes-torture-move,Fail >> +kms_cursor_legacy@pipe-A-forked-bo,Fail >> +kms_cursor_legacy@pipe-A-forked-move,Fail >> +kms_cursor_legacy@pipe-A-single-bo,Fail >> +kms_cursor_legacy@pipe-A-single-move,Fail >> +kms_cursor_legacy@pipe-A-torture-bo,Fail >> +kms_cursor_legacy@pipe-A-torture-move,Fail >> +kms_hdmi_inject@inject-4k,Fail >> diff --git a/drivers/gpu/drm/ci/msm-apq8016-flakes.txt >> b/drivers/gpu/drm/ci/msm-apq8016-flakes.txt >> new file mode 100644 >> index 000000000000..b63329d06767 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-apq8016-flakes.txt >> @@ -0,0 +1,4 @@ >> +kms_force_connector_basic@force-connector-state >> +kms_force_connector_basic@force-edid >> +kms_force_connector_basic@force-load-detect >> +kms_force_connector_basic@prune-stale-modes >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-apq8096-fails.txt >> b/drivers/gpu/drm/ci/msm-apq8096-fails.txt >> new file mode 100644 >> index 000000000000..88a1fc0a3b0d >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-apq8096-fails.txt >> @@ -0,0 +1,2 @@ >> +kms_3d,Fail >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> diff --git a/drivers/gpu/drm/ci/msm-apq8096-flakes.txt >> b/drivers/gpu/drm/ci/msm-apq8096-flakes.txt >> new file mode 100644 >> index 000000000000..b63329d06767 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-apq8096-flakes.txt >> @@ -0,0 +1,4 @@ >> +kms_force_connector_basic@force-connector-state >> +kms_force_connector_basic@force-edid >> +kms_force_connector_basic@force-load-detect >> +kms_force_connector_basic@prune-stale-modes >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-apq8096-skips.txt >> b/drivers/gpu/drm/ci/msm-apq8096-skips.txt >> new file mode 100644 >> index 000000000000..cd49c8ce2059 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-apq8096-skips.txt >> @@ -0,0 +1,2 @@ >> +# Whole machine hangs >> +kms_cursor_legacy@all-pipes-torture-move >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-sc7180-fails.txt >> b/drivers/gpu/drm/ci/msm-sc7180-fails.txt >> new file mode 100644 >> index 000000000000..0b159b6469c8 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sc7180-fails.txt >> @@ -0,0 +1,22 @@ >> +kms_cursor_legacy@cursor-vs-flip-toggle,Fail >> +kms_cursor_legacy@cursorA-vs-flipA-atomic-transitions,Crash >> +kms_plane@pixel-format,Fail >> +kms_plane@pixel-format-source-clamping,Fail >> +kms_plane@plane-position-covered,Fail >> +kms_plane@plane-position-hole,Fail >> +kms_plane@plane-position-hole-dpms,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-7efc,Fail >> +kms_plane_alpha_blend@pipe-A-coverage-7efc,Fail >> +kms_plane_alpha_blend@pipe-A-coverage-vs-premult-vs-constant,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-7efc,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-basic,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-B-constant-alpha-mid,Fail >> +kms_plane_alpha_blend@pipe-B-coverage-7efc,Fail >> +kms_plane_alpha_blend@pipe-B-coverage-vs-premult-vs-constant,Fail >> +kms_plane_multiple@atomic-pipe-A-tiling-none,Crash >> +kms_rmfb@close-fd,Fail >> +kms_rotation_crc@primary-rotation-180,Fail >> +kms_universal_plane@disable-primary-vs-flip-pipe-B,Fail >> +kms_universal_plane@disable-primary-vs-flip-pipe-b,Fail >> diff --git a/drivers/gpu/drm/ci/msm-sc7180-flakes.txt >> b/drivers/gpu/drm/ci/msm-sc7180-flakes.txt >> new file mode 100644 >> index 000000000000..6022edace190 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sc7180-flakes.txt >> @@ -0,0 +1,14 @@ >> +# Test ends up reading CRC from frame before cursor update >> +# sometimes.. tbd if this is a kernel CRC bug or a test >> +# bug >> +kms_cursor_crc@pipe-.* >> + >> +kms_cursor_edge_walk@pipe-A-64x64-bottom-edge >> +kms_cursor_edge_walk@pipe-A-64x64-left-edge >> +kms_cursor_edge_walk@pipe-A-64x64-right-edge >> +kms_cursor_edge_walk@pipe-A-64x64-top-edge >> +kms_cursor_edge_walk@pipe-B-64x64-bottom-edge >> +kms_cursor_edge_walk@pipe-B-64x64-left-edge >> +kms_cursor_edge_walk@pipe-B-64x64-right-edge >> +kms_cursor_edge_walk@pipe-B-64x64-top-edge >> +kms_plane_multiple@atomic-pipe-A-tiling-none >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-sc7180-skips.txt >> b/drivers/gpu/drm/ci/msm-sc7180-skips.txt >> new file mode 100644 >> index 000000000000..40916ddff81f >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sc7180-skips.txt >> @@ -0,0 +1,18 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> + >> +# Test incorrectly assumes that CTM support implies gamma/degamma >> +# LUT support.  None of the subtests handle the case of only having >> +# CTM support >> +kms_color.* >> + >> +# 4k@60 is not supported on this hw, but driver doesn't handle it >> +# too gracefully.. https://gitlab.freedesktop.org/drm/msm/-/issues/15 >> +kms_bw@linear-tiling-.*-displays-3840x2160p >> + >> +# Until igt fix lands: https://patchwork.freedesktop.org/patch/493175/ >> +kms_bw@linear-tiling-2.* >> +kms_bw@linear-tiling-3.* >> +kms_bw@linear-tiling-4.* >> +kms_bw@linear-tiling-5.* >> +kms_bw@linear-tiling-6.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-sdm845-fails.txt >> b/drivers/gpu/drm/ci/msm-sdm845-fails.txt >> new file mode 100644 >> index 000000000000..8133927a44df >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sdm845-fails.txt >> @@ -0,0 +1,44 @@ >> +kms_color@pipe-A-ctm-0-25,Fail >> +kms_color@pipe-A-ctm-0-5,Fail >> +kms_color@pipe-A-ctm-0-75,Fail >> +kms_color@pipe-A-ctm-blue-to-red,Fail >> +kms_color@pipe-A-ctm-green-to-red,Fail >> +kms_color@pipe-A-ctm-max,Fail >> +kms_color@pipe-A-ctm-negative,Fail >> +kms_color@pipe-A-ctm-red-to-blue,Fail >> +kms_color@pipe-A-legacy-gamma,Fail >> +kms_cursor_legacy@basic-flip-after-cursor-atomic,Fail >> +kms_cursor_legacy@basic-flip-after-cursor-legacy,Fail >> +kms_cursor_legacy@basic-flip-before-cursor-atomic,Fail >> +kms_cursor_legacy@basic-flip-before-cursor-legacy,Fail >> +kms_cursor_legacy@cursor-vs-flip-atomic,Fail >> +kms_cursor_legacy@cursor-vs-flip-atomic-transitions,Fail >> +kms_cursor_legacy@cursor-vs-flip-legacy,Fail >> +kms_cursor_legacy@cursor-vs-flip-toggle,Fail >> +kms_cursor_legacy@flip-vs-cursor-atomic,Fail >> +kms_cursor_legacy@flip-vs-cursor-crc-atomic,Fail >> +kms_cursor_legacy@flip-vs-cursor-crc-legacy,Fail >> +kms_cursor_legacy@flip-vs-cursor-legacy,Fail >> +kms_cursor_legacy@short-flip-after-cursor-atomic-transitions,Fail >> +kms_cursor_legacy@short-flip-after-cursor-toggle,Fail >> +kms_cursor_legacy@short-flip-before-cursor-atomic-transitions,Fail >> +kms_cursor_legacy@short-flip-before-cursor-toggle,Fail >> +kms_plane@pixel-format,Fail >> +kms_plane@pixel-format-source-clamping,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-7efc,Fail >> +kms_plane_alpha_blend@pipe-A-coverage-7efc,Fail >> +kms_plane_alpha_blend@pipe-A-coverage-vs-premult-vs-constant,Fail >> +kms_plane_cursor@pipe-A-overlay-size-128,Fail >> +kms_plane_cursor@pipe-A-overlay-size-256,Fail >> +kms_plane_cursor@pipe-A-overlay-size-64,Fail >> +kms_plane_cursor@pipe-A-viewport-size-128,Fail >> +kms_plane_cursor@pipe-A-viewport-size-256,Fail >> +kms_plane_cursor@pipe-A-viewport-size-64,Fail >> +kms_plane_scaling@downscale-with-pixel-format-factor-0-25,Timeout >> +kms_plane_scaling@downscale-with-pixel-format-factor-0-5,Timeout >> +kms_plane_scaling@downscale-with-pixel-format-factor-0-75,Timeout >> +kms_plane_scaling@invalid-num-scalers,Fail >> +kms_plane_scaling@planes-downscale-factor-0-25,Fail >> +kms_plane_scaling@scaler-with-clipping-clamping,Timeout >> +kms_plane_scaling@scaler-with-pixel-format-unity-scaling,Timeout >> +kms_rmfb@close-fd,Fail >> diff --git a/drivers/gpu/drm/ci/msm-sdm845-flakes.txt >> b/drivers/gpu/drm/ci/msm-sdm845-flakes.txt >> new file mode 100644 >> index 000000000000..da4406b74828 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sdm845-flakes.txt >> @@ -0,0 +1,33 @@ >> +# Test ends up reading CRC from frame before cursor update >> +# sometimes.. tbd if this is a kernel CRC bug or a test >> +# bug >> +kms_cursor_crc@pipe-A-cursor-alpha-opaque >> +kms_cursor_crc@pipe-A-cursor-dpms >> +kms_cursor_crc@pipe-A-cursor-size-change >> +kms_cursor_legacy@flip-vs-cursor-toggle >> +kms_cursor_legacy@pipe-A-forked-bo >> +kms_cursor_legacy@pipe-A-forked-move >> +kms_cursor_crc@pipe-A-cursor-32x10-offscreen >> +kms_cursor_crc@pipe-A-cursor-32x10-onscreen >> +kms_cursor_crc@pipe-A-cursor-32x10-random >> +kms_cursor_crc@pipe-A-cursor-32x10-sliding >> +kms_cursor_crc@pipe-A-cursor-32x32-offscreen >> +kms_cursor_crc@pipe-A-cursor-32x32-onscreen >> +kms_cursor_crc@pipe-A-cursor-32x32-random >> +kms_cursor_crc@pipe-A-cursor-32x32-sliding >> +kms_cursor_crc@pipe-A-cursor-64x21-offscreen >> +kms_cursor_crc@pipe-A-cursor-64x21-onscreen >> +kms_cursor_crc@pipe-A-cursor-64x21-random >> +kms_cursor_crc@pipe-A-cursor-64x21-sliding >> +kms_cursor_crc@pipe-A-cursor-64x64-offscreen >> +kms_cursor_crc@pipe-A-cursor-64x64-onscreen >> +kms_cursor_crc@pipe-A-cursor-64x64-random >> +kms_cursor_crc@pipe-A-cursor-64x64-sliding >> +kms_cursor_crc@pipe-A-cursor-dpms >> +kms_cursor_crc@pipe-A-cursor-suspend >> +kms_cursor_edge_walk@pipe-A-64x64-bottom-edge >> +kms_cursor_edge_walk@pipe-A-64x64-left-edge >> +kms_cursor_edge_walk@pipe-A-64x64-right-edge >> +kms_cursor_edge_walk@pipe-A-64x64-top-edge >> + >> +kms_flip@dpms-vs-vblank-race-interruptible >> diff --git a/drivers/gpu/drm/ci/msm-sdm845-skips.txt >> b/drivers/gpu/drm/ci/msm-sdm845-skips.txt >> new file mode 100644 >> index 000000000000..42675f1c6d76 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sdm845-skips.txt >> @@ -0,0 +1,2 @@ >> +# Hangs machine >> +kms_bw.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3288-fails.txt >> b/drivers/gpu/drm/ci/rockchip-rk3288-fails.txt >> new file mode 100644 >> index 000000000000..e2a264647a58 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3288-fails.txt >> @@ -0,0 +1,75 @@ >> +kms_3d,Fail >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-random,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-random,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-random,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-random,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-alpha-opaque,Fail >> +kms_cursor_crc@pipe-A-cursor-dpms,Fail >> +kms_cursor_crc@pipe-A-cursor-size-change,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-random,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-random,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-64x21-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-64x21-random,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-random,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-alpha-opaque,Fail >> +kms_cursor_crc@pipe-B-cursor-size-change,Fail >> +kms_force_connector_basic@force-connector-state,Fail >> +kms_force_connector_basic@force-edid,Fail >> +kms_force_connector_basic@force-load-detect,Fail >> +kms_force_connector_basic@prune-stale-modes,Fail >> +kms_invalid_mode@int-max-clock,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-A-frame-sequence,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-B-frame-sequence,Fail >> +kms_pipe_crc_basic@read-crc-pipe-A-frame-sequence,Fail >> +kms_pipe_crc_basic@read-crc-pipe-B-frame-sequence,Fail >> +kms_plane_cursor@pipe-A-overlay-size-128,Fail >> +kms_plane_cursor@pipe-A-overlay-size-256,Fail >> +kms_plane_cursor@pipe-A-overlay-size-64,Fail >> +kms_plane_cursor@pipe-A-primary-size-128,Fail >> +kms_plane_cursor@pipe-A-primary-size-256,Fail >> +kms_plane_cursor@pipe-A-primary-size-64,Fail >> +kms_plane_cursor@pipe-A-viewport-size-128,Fail >> +kms_plane_cursor@pipe-A-viewport-size-256,Fail >> +kms_plane_cursor@pipe-A-viewport-size-64,Fail >> +kms_plane_cursor@pipe-B-overlay-size-128,Fail >> +kms_plane_cursor@pipe-B-overlay-size-256,Fail >> +kms_plane_cursor@pipe-B-overlay-size-64,Fail >> +kms_plane_cursor@pipe-B-primary-size-128,Fail >> +kms_plane_cursor@pipe-B-primary-size-256,Fail >> +kms_plane_cursor@pipe-B-primary-size-64,Fail >> +kms_plane_cursor@pipe-B-viewport-size-128,Fail >> +kms_plane_cursor@pipe-B-viewport-size-256,Fail >> +kms_plane_cursor@pipe-B-viewport-size-64,Fail >> +kms_plane_scaling@downscale-with-modifier-factor-0-25,Fail >> +kms_plane_scaling@downscale-with-rotation-factor-0-25,Fail >> +kms_plane_scaling@upscale-with-modifier-20x20,Fail >> +kms_plane_scaling@upscale-with-modifier-factor-0-25,Fail >> +kms_plane_scaling@upscale-with-pixel-format-20x20,Fail >> +kms_plane_scaling@upscale-with-pixel-format-factor-0-25,Fail >> +kms_plane_scaling@upscale-with-rotation-20x20,Fail >> +kms_prime@basic-crc,Fail >> +kms_properties@connector-properties-atomic,Fail >> +kms_properties@get_properties-sanity-atomic,Fail >> +kms_properties@get_properties-sanity-non-atomic,Fail >> +kms_rmfb@close-fd,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3288-flakes.txt >> b/drivers/gpu/drm/ci/rockchip-rk3288-flakes.txt >> new file mode 100644 >> index 000000000000..447fb26cc344 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3288-flakes.txt >> @@ -0,0 +1,5 @@ >> +kms_cursor_crc@pipe-B-cursor-dpms >> +kms_cursor_edge_walk@pipe-A-64x64-right-edge >> +kms_cursor_edge_walk@pipe-A-64x64-top-edge >> +kms_cursor_edge_walk@pipe-B-64x64-right-edge >> +kms_cursor_edge_walk@pipe-B-64x64-top-edge >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3288-skips.txt >> b/drivers/gpu/drm/ci/rockchip-rk3288-skips.txt >> new file mode 100644 >> index 000000000000..26f9a03fc074 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3288-skips.txt >> @@ -0,0 +1,46 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> + >> +# Too unstable, machine ends up hanging after lots of Oopses >> +kms_cursor_legacy.* >> + >> +# Started hanging the machine on Linux 5.19-rc2: >> +# >> +# [IGT] kms_plane_lowres: executing >> +# [IGT] kms_plane_lowres: starting subtest pipe-F-tiling-y >> +# [IGT] kms_plane_lowres: exiting, ret=77 >> +# Console: switching to colour frame buffer device 170x48 >> +# rockchip-drm display-subsystem: [drm] *ERROR* flip_done timed out >> +# rockchip-drm display-subsystem: [drm] *ERROR* [CRTC:35:crtc-0] >> commit wait timed out >> +# BUG: spinlock bad magic on CPU#3, kms_plane_lowre/482 >> +# 8<--- cut here --- >> +# Unable to handle kernel paging request at virtual address 7812078e >> +# [7812078e] *pgd=00000000 >> +# Internal error: Oops: 5 [#1] SMP ARM >> +# Modules linked in: >> +# CPU: 3 PID: 482 Comm: kms_plane_lowre Tainted: G        W >> 5.19.0-rc2-323596-g00535de92171 #1 >> +# Hardware name: Rockchip (Device Tree) >> +# Process kms_plane_lowre (pid: 482, stack limit = 0x1193ac2b) >> +#  spin_dump from do_raw_spin_lock+0xa4/0xe8 >> +#  do_raw_spin_lock from wait_for_completion_timeout+0x2c/0x120 >> +#  wait_for_completion_timeout from drm_crtc_commit_wait+0x18/0x7c >> +#  drm_crtc_commit_wait from >> drm_atomic_helper_wait_for_dependencies+0x44/0x168 >> +#  drm_atomic_helper_wait_for_dependencies from commit_tail+0x34/0x180 >> +#  commit_tail from drm_atomic_helper_commit+0x164/0x18c >> +#  drm_atomic_helper_commit from drm_atomic_commit+0xac/0xe4 >> +#  drm_atomic_commit from drm_client_modeset_commit_atomic+0x23c/0x284 >> +#  drm_client_modeset_commit_atomic from >> drm_client_modeset_commit_locked+0x60/0x1c8 >> +#  drm_client_modeset_commit_locked from >> drm_client_modeset_commit+0x24/0x40 >> +#  drm_client_modeset_commit from drm_fbdev_client_restore+0x58/0x94 >> +#  drm_fbdev_client_restore from drm_client_dev_restore+0x70/0xbc >> +#  drm_client_dev_restore from drm_release+0xf4/0x114 >> +#  drm_release from __fput+0x74/0x240 >> +#  __fput from task_work_run+0x84/0xb4 >> +#  task_work_run from do_exit+0x34c/0xa20 >> +#  do_exit from do_group_exit+0x34/0x98 >> +#  do_group_exit from __wake_up_parent+0x0/0x18 >> +# Code: e595c008 12843d19 03e00000 03093168 (15940508) >> +# ---[ end trace 0000000000000000 ]--- >> +# note: kms_plane_lowre[482] exited with preempt_count 1 >> +# Fixing recursive fault but reboot is needed! >> +kms_plane_lowres@pipe-F-tiling-y >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3399-fails.txt >> b/drivers/gpu/drm/ci/rockchip-rk3399-fails.txt >> new file mode 100644 >> index 000000000000..0f8afa7e2adc >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3399-fails.txt >> @@ -0,0 +1,86 @@ >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_color@pipe-A-legacy-gamma,Fail >> +kms_color@pipe-B-legacy-gamma,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-offscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-random,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-rapid-movement,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-offscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-random,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-rapid-movement,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-random,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-offscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-random,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-rapid-movement,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-alpha-opaque,Fail >> +kms_cursor_crc@pipe-A-cursor-alpha-transparent,Fail >> +kms_cursor_crc@pipe-A-cursor-dpms,Fail >> +kms_cursor_crc@pipe-A-cursor-size-change,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-random,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-rapid-movement,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-offscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-random,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-rapid-movement,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-64x21-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-64x21-random,Fail >> +kms_cursor_crc@pipe-B-cursor-64x21-rapid-movement,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-offscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-random,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-rapid-movement,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-alpha-opaque,Fail >> +kms_cursor_crc@pipe-B-cursor-dpms,Fail >> +kms_cursor_crc@pipe-B-cursor-size-change,Fail >> +kms_cursor_edge_walk@pipe-A-64x64-bottom-edge,Fail >> +kms_cursor_edge_walk@pipe-A-64x64-left-edge,Fail >> +kms_cursor_edge_walk@pipe-A-64x64-top-edge,Fail >> +kms_cursor_edge_walk@pipe-B-64x64-bottom-edge,Fail >> +kms_cursor_edge_walk@pipe-B-64x64-right-edge,Fail >> +kms_cursor_edge_walk@pipe-B-64x64-top-edge,Fail >> +kms_invalid_mode@int-max-clock,Fail >> +kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-A,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-A,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-A-frame-sequence,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-B,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-B-frame-sequence,Fail >> +kms_pipe_crc_basic@read-crc-pipe-A,Fail >> +kms_pipe_crc_basic@read-crc-pipe-A-frame-sequence,Fail >> +kms_pipe_crc_basic@read-crc-pipe-B,Fail >> +kms_pipe_crc_basic@read-crc-pipe-B-frame-sequence,Fail >> +kms_plane@plane-panning-bottom-right,Fail >> +kms_plane@plane-panning-top-left,Fail >> +kms_plane_cursor@pipe-B-overlay-size-128,Fail >> +kms_plane_cursor@pipe-B-overlay-size-256,Fail >> +kms_plane_cursor@pipe-B-overlay-size-64,Fail >> +kms_plane_cursor@pipe-B-primary-size-128,Fail >> +kms_plane_cursor@pipe-B-primary-size-256,Fail >> +kms_plane_cursor@pipe-B-primary-size-64,Fail >> +kms_plane_cursor@pipe-B-viewport-size-128,Fail >> +kms_plane_cursor@pipe-B-viewport-size-256,Fail >> +kms_plane_cursor@pipe-B-viewport-size-64,Fail >> +kms_plane_multiple@atomic-pipe-B-tiling-none,Fail >> +kms_prime@basic-crc,Fail >> +kms_rmfb@close-fd,Fail >> +kms_universal_plane@universal-plane-pipe-B-functional,Fail >> +kms_vblank@pipe-A-query-forked,Fail >> +kms_vblank@pipe-A-query-idle,Fail >> +kms_vblank@pipe-A-wait-busy,Fail >> +kms_vblank@pipe-A-wait-forked,Fail >> +kms_vblank@pipe-A-wait-forked-busy,Fail >> +kms_vblank@pipe-B-query-forked,Fail >> +kms_vblank@pipe-B-query-idle,Fail >> +kms_vblank@pipe-B-wait-busy,Fail >> +kms_vblank@pipe-B-wait-forked,Fail >> +kms_vblank@pipe-B-wait-forked-busy,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3399-flakes.txt >> b/drivers/gpu/drm/ci/rockchip-rk3399-flakes.txt >> new file mode 100644 >> index 000000000000..b4c37a4315e4 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3399-flakes.txt >> @@ -0,0 +1,25 @@ >> +kms_cursor_crc@pipe-A-cursor-64x21-offscreen >> +kms_cursor_crc@pipe-A-cursor-64x21-rapid-movement >> +kms_cursor_crc@pipe-B-cursor-32x10-offscreen >> +kms_cursor_crc@pipe-B-cursor-32x10-rapid-movement >> +kms_cursor_crc@pipe-B-cursor-32x32-offscreen >> +kms_cursor_crc@pipe-B-cursor-32x32-rapid-movement >> +kms_cursor_crc@pipe-B-cursor-64x64-offscreen >> +kms_cursor_crc@pipe-B-cursor-64x64-rapid-movement >> +kms_cursor_edge_walk@pipe-A-64x64-right-edge >> +kms_cursor_edge_walk@pipe-B-64x64-left-edge >> +kms_flip@flip-vs-expired-vblank >> +kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-B >> +kms_plane_multiple@atomic-pipe-A-tiling-none >> +kms_plane@plane-position-hole >> +kms_sequence@get-forked >> +kms_sequence@get-forked-busy >> +kms_setmode@basic >> +kms_vblank@pipe-A-accuracy-idle >> +kms_vblank@pipe-A-query-busy >> +kms_vblank@pipe-A-query-forked-busy >> +kms_vblank@pipe-A-wait-idle >> +kms_vblank@pipe-B-accuracy-idle >> +kms_vblank@pipe-B-query-busy >> +kms_vblank@pipe-B-query-forked-busy >> +kms_vblank@pipe-B-wait-idle >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3399-skips.txt >> b/drivers/gpu/drm/ci/rockchip-rk3399-skips.txt >> new file mode 100644 >> index 000000000000..10c3d81a919a >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3399-skips.txt >> @@ -0,0 +1,5 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> + >> +# Too unstable, machine ends up hanging after lots of Oopses >> +kms_cursor_legacy.* >> diff --git a/drivers/gpu/drm/ci/virtio_gpu-none-fails.txt >> b/drivers/gpu/drm/ci/virtio_gpu-none-fails.txt >> new file mode 100644 >> index 000000000000..2178bdd064dd >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/virtio_gpu-none-fails.txt >> @@ -0,0 +1,38 @@ >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_addfb_basic@bad-pitch-65536,Fail >> +kms_addfb_basic@bo-too-small,Fail >> +kms_addfb_basic@size-max,Fail >> +kms_addfb_basic@too-high,Fail >> +kms_atomic_transition@plane-primary-toggle-with-vblank-wait,Fail >> +kms_bw@linear-tiling-1-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-1-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_invalid_mode@int-max-clock,Fail >> +kms_plane_scaling@downscale-with-modifier-factor-0-25,Fail >> +kms_plane_scaling@downscale-with-rotation-factor-0-25,Fail >> +kms_plane_scaling@planes-upscale-20x20,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75,Fail >> +kms_plane_scaling@upscale-with-modifier-20x20,Fail >> +kms_plane_scaling@upscale-with-modifier-factor-0-25,Fail >> +kms_plane_scaling@upscale-with-pixel-format-20x20,Fail >> +kms_plane_scaling@upscale-with-pixel-format-factor-0-25,Fail >> +kms_plane_scaling@upscale-with-rotation-20x20,Fail >> +kms_vblank@crtc-id,Fail >> +kms_vblank@invalid,Fail >> +kms_vblank@pipe-A-accuracy-idle,Fail >> +kms_vblank@pipe-A-query-busy,Fail >> +kms_vblank@pipe-A-query-forked,Fail >> +kms_vblank@pipe-A-query-forked-busy,Fail >> +kms_vblank@pipe-A-query-idle,Fail >> +kms_vblank@pipe-A-ts-continuation-idle,Fail >> +kms_vblank@pipe-A-ts-continuation-modeset,Fail >> +kms_vblank@pipe-A-ts-continuation-suspend,Fail >> +kms_vblank@pipe-A-wait-busy,Fail >> +kms_vblank@pipe-A-wait-forked,Fail >> +kms_vblank@pipe-A-wait-forked-busy,Fail >> +kms_vblank@pipe-A-wait-idle,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/virtio_gpu-none-flakes.txt >> b/drivers/gpu/drm/ci/virtio_gpu-none-flakes.txt >> new file mode 100644 >> index 000000000000..e69de29bb2d1 >> diff --git a/drivers/gpu/drm/ci/virtio_gpu-none-skips.txt >> b/drivers/gpu/drm/ci/virtio_gpu-none-skips.txt >> new file mode 100644 >> index 000000000000..78be18174012 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/virtio_gpu-none-skips.txt >> @@ -0,0 +1,6 @@ >> +# Hits a "refcount_t: underflow; use-after-free" in >> virtio_gpu_fence_event_process >> +# When run in a particular order with other tests >> +kms_cursor_legacy.* >> + >> +# Job just hangs without any output >> +kms_flip@flip-vs-suspend.* >> \ No newline at end of file > > -- Tomeu Vizoso Consultant Principal Software Engineer Collabora Ltd. Platinum Building, St John's Innovation Park, Cambridge CB4 0DS, United Kingdom Registered in England & Wales, no. 5513718 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 028FEC19F2A for ; Thu, 11 Aug 2022 10:11:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=af2uJffiz8I0iCSz4Wf3KO6cnuHqRU7fjd2A5AojWoU=; b=dTd7mu1zc3WZ5wNkLmmMF2waQR E8YLwhOPYztVxPW7s0S5U7QJkbHeLrYL9focLZr/FvUdQ32VhmDn36iR0rKakloWHcGi4HqLYLc47 QoWzDLnL4FDAgnMkCjpYjQBo/lo41+YDuRrBU5ucDUmOfOVeirKiSB2vye2/zQUr1RcfKI4RDAY0w AYdgw2NK31pRcirQSxTRoDaRaJ6ShVbo5cO8imNwMX+yJ81lKabJ17+eYczd8Whm3RpzMIpH99Vlp 976685NekTMD2hEE8MgRHgiTE8NTpUReqcCe1jAb7LvOI9IBgddzihN3sS0XrwT4mootUHqyKGJQx ZPGCwWcg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oM59k-00B5Tl-Kn; Thu, 11 Aug 2022 10:11:12 +0000 Received: from madras.collabora.co.uk ([46.235.227.172]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oM59S-00B5IR-Cb; Thu, 11 Aug 2022 10:11:00 +0000 Received: from [192.168.1.27] (cst-prg-101-15.cust.vodafone.cz [46.135.101.15]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tomeu) by madras.collabora.co.uk (Postfix) with ESMTPSA id 4C7016601CE0; Thu, 11 Aug 2022 11:10:46 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1660212647; bh=I1SxPAOTQmS391q7M7+rbhIoiQgbNcXxYlia5tr4Ij0=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=d9IAHi5H/2iR9+UloeTd/m2oXigxG4nwYR6wP0PIor8dF+WyE4xbV0UFnATUb+yKh Sr2A4QjzyYaLjbPh3KEpg8s78/CKH5s+eXgGW7SuW4EzR1AY6sodX89LAx5lkO8I5o FDh/PIbbywsihLNf8Jt5UI/nTOahBtaMQuEz0eo5++iBsNOw/fnrwah41vU4ML7nlv hhoQUxeIQA/flK3ajaPbc0lbaisMbBlU0LvVnc69qOpXnNj3hLWWDO4x7ju4UDxd6t zr+rQgRwejK2Gsr2Ucd9yNDig+V5uii+WHkF37I1Fmr8M2rXDWUtlY/Z3f57I5i2jM SElJYHUDsXs2Q== Subject: Re: [PATCH v5] drm: Add initial ci/ subdirectory To: Rodrigo Siqueira Jordao , Nicholas Choi , Sun peng Li , "Chiu, Harrison" , "Wentland, Harry" Cc: linux-doc@vger.kernel.org, Neil Armstrong , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-amlogic@lists.infradead.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, David Airlie , Jonathan Corbet , Carlo Caione , Kevin Hilman , Heiko Stuebner , Matthias Brugger , Rob Clark References: <20220517081656.47625-1-tomeu.vizoso@collabora.com> <20220726181636.19967-1-tomeu.vizoso@collabora.com> From: Tomeu Vizoso Message-ID: Date: Thu, 11 Aug 2022 12:10:43 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220811_031054_969721_B436C886 X-CRM114-Status: GOOD ( 50.84 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org T24gOC8xMC8yMiA4OjI0IFBNLCBSb2RyaWdvIFNpcXVlaXJhIEpvcmRhbyB3cm90ZToKPiBIaSBU b21ldSwKPiAKPiBGaXJzdCBvZiBhbGwsIG5pY2UgcGF0Y2ghIEkganVzdCBzYXcgaXQsIGFuZCBJ IGhhdmUgc29tZSBiYXNpYyBxdWVzdGlvbnMgCj4gKEkgZG9uJ3QgdW5kZXJzdGFuZCBtYW55IG9m IHRoZXNlIENJIGRldGFpbHMpLiBJIGFsc28gQ0Mgc29tZSBDSSBmb2xrcyAKPiBmcm9tIHRoZSBk aXNwbGF5IHRlYW0gYXQgQU1ELgoKVGhhbmtzIGZvciB0aGUgZmVlZGJhY2shCgo+IE9uIDIwMjIt MDctMjYgMTQ6MTYsIFRvbWV1IFZpem9zbyB3cm90ZToKPj4gQW5kIHVzZSBpdCB0byBzdG9yZSBl eHBlY3RhdGlvbnMgYWJvdXQgd2hhdCB0aGUgRFJNIGRyaXZlcnMgYXJlCj4+IHN1cHBvc2VkIHRv IHBhc3MgaW4gdGhlIElHVCB0ZXN0IHN1aXRlLgo+Pgo+PiBBbHNvIGluY2x1ZGUgYSBjb25maWd1 cmF0aW9uIGZpbGUgdGhhdCBwb2ludHMgdG8gdGhlIG91dC1vZi10cmVlIENJCj4+IHNjcmlwdHMu Cj4+Cj4+IEJ5IHN0b3JpbmcgdGhlIHRlc3QgZXhwZWN0YXRpb25zIGFsb25nIHRoZSBjb2RlIHdl IGNhbiBtYWtlIHN1cmUgYm90aAo+PiBzdGF5IGluIHN5bmMgd2l0aCBlYWNoIG90aGVyLCBhbmQg c28gd2UgY2FuIGtub3cgd2hlbiBhIGNvZGUgY2hhbmdlCj4+IGJyZWFrcyB0aG9zZSBleHBlY3Rh dGlvbnMuCj4+Cj4+IFRoaXMgd2lsbCBhbGxvdyBhbGwgY29udHJpYnV0b3JzIHRvIGRybSB0byBy ZXVzZSB0aGUgaW5mcmFzdHJ1Y3R1cmUKPj4gYWxyZWFkeSBpbiBnaXRsYWIuZnJlZWRlc2t0b3Au b3JnIHRvIHRlc3QgdGhlIGRyaXZlciBvbiBzZXZlcmFsCj4+IGdlbmVyYXRpb25zIG9mIHRoZSBo YXJkd2FyZS4KPj4KPj4gdjI6Cj4+IMKgwqAgLSBGaXggbmFtZXMgb2YgcmVzdWx0IGV4cGVjdGF0 aW9uIGZpbGVzIHRvIG1hdGNoIFNvQwo+PiDCoMKgIC0gRG9uJ3QgZXhlY3V0ZSB0ZXN0cyB0aGF0 IGFyZSBnb2luZyB0byBza2lwIG9uIGFsbCBib2FyZHMKPj4KPj4gdjM6Cj4+IMKgwqAgLSBSZW1v dmUgdHJhY2tpbmcgb2YgZG1lc2cgb3V0cHV0IGR1cmluZyB0ZXN0IGV4ZWN1dGlvbgo+Pgo+PiB2 NDoKPj4gwqDCoCAtIE1vdmUgdXAgdG8gZHJpdmVycy9ncHUvZHJtCj4+IMKgwqAgLSBBZGQgc3Vw cG9ydCBmb3IgYSBidW5jaCBvZiBvdGhlciBkcml2ZXJzCj4+IMKgwqAgLSBFeHBsYWluIGhvdyB0 byBpbmNvcnBvcmF0ZSBmaXhlcyBmb3IgQ0kgZnJvbSBhCj4+IMKgwqDCoMKgICR7VEFSR0VUX0JS QU5DSH0tZXh0ZXJuYWwtZml4ZXMgYnJhbmNoCj4+IMKgwqAgLSBSZW1vdmUgdGVzdHMgdGhhdCBw YXNzIGZyb20gZXhwZWN0ZWQgcmVzdWx0cyBmaWxlLCB0byByZWR1Y2UgdGhlCj4+IMKgwqDCoMKg IHNpemUgb2YgaW4tdHJlZSBmaWxlcwo+PiDCoMKgIC0gQWRkIGRvY3MgYWJvdXQgaG93IHRvIGRl YWwgd2l0aCBvdXRhZ2VzIGluIGF1dG9tYXRlZCB0ZXN0aW5nIGxhYnMKPj4gwqDCoCAtIFNwZWNp ZnkgdGhlIGV4YWN0IFNIQSBvZiB0aGUgQ0kgc2NyaXB0cyB0byBiZSB1c2VkCj4+Cj4+IHY1Ogo+ PiDCoMKgIC0gUmVtb3ZlIHVubmVlZGVkIHNraXBzIGZyb20gTWVzb24gZXhwZWN0YXRpb25zIGZp bGUKPj4gwqDCoCAtIFVzZSBhIG1vcmUgYWR2YW5jZWQgcnVubmVyIHRoYXQgZGV0ZWN0cyBmbGFr ZXMgYXV0b21hdGljYWxseQo+PiDCoMKgIC0gVXNlIGEgbW9yZSBzdWNjaW50IGZvcm1hdCBmb3Ig dGhlIGV4cGVjdGF0aW9ucwo+PiDCoMKgIC0gUnVuIG1hbnkgbW9yZSB0ZXN0cyAoYW5kIHVzZSBz aGFyZGluZyB0byBmaW5pc2ggaW4gdGltZSkKPj4gwqDCoCAtIFVzZSBza2lwIGxpc3RzIHRvIGF2 b2lkIGhhbmdpbmcgbWFjaGluZXMKPj4gwqDCoCAtIEFkZCBzb21lIGJ1aWxkIHRlc3RpbmcKPj4g wqDCoCAtIEJ1aWxkIElHVCBpbiBlYWNoIHBpcGVsaW5lIGZvciBmYXN0ZXIgdXByZXZzCj4+IMKg wqAgLSBMaXN0IGZhaWx1cmVzIGluIHRoZSBHaXRMYWIgVUkKPj4KPj4gU2lnbmVkLW9mZi1ieTog VG9tZXUgVml6b3NvIDx0b21ldS52aXpvc29AY29sbGFib3JhLmNvbT4KPj4gUmV2aWV3ZWQtYnk6 IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJlLmNvbT4KPj4gLS0tCj4+IMKgIERv Y3VtZW50YXRpb24vZ3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdMKgwqDCoMKgwqDCoCB8IDg0ICsr KysrKysrKysrKysrKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1m YWlscy50eHTCoMKgwqAgfCAxMyArKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2FtZGdwdS1z dG9uZXktZmxha2VzLnR4dMKgwqAgfCAyMCArKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kv YW1kZ3B1LXN0b25leS1za2lwcy50eHTCoMKgwqAgfMKgIDIgKwo+PiDCoCBkcml2ZXJzL2dwdS9k cm0vY2kvZ2l0bGFiLWNpLnltbMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTMgKysrCj4+ IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktZmxha2VzLnR4dMKgwqDCoMKgwqDCoCB8 IDMyICsrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYW1seS1za2lwcy50eHTC oMKgwqDCoMKgwqDCoCB8wqAgMiArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFwbC1m YWlscy50eHTCoMKgwqDCoMKgwqDCoMKgIHwgMjkgKysrKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9k cm0vY2kvaTkxNS1hcGwtZmxha2VzLnR4dMKgwqDCoMKgwqDCoMKgIHzCoCAxICsKPj4gwqAgZHJp dmVycy9ncHUvZHJtL2NpL2k5MTUtYXBsLXNraXBzLnR4dMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIg Kwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1jbWwtZmxha2VzLnR4dMKgwqDCoMKgwqDC oMKgIHwgMzYgKysrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtZ2xrLWZsYWtl cy50eHTCoMKgwqDCoMKgwqDCoCB8IDQwICsrKysrKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0v Y2kvaTkxNS1nbGstc2tpcHMudHh0wqDCoMKgwqDCoMKgwqDCoCB8wqAgMiArCj4+IMKgIGRyaXZl cnMvZ3B1L2RybS9jaS9pOTE1LWtibC1mYWlscy50eHTCoMKgwqDCoMKgwqDCoMKgIHzCoCA4ICsr Cj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWtibC1mbGFrZXMudHh0wqDCoMKgwqDCoMKg wqAgfCAyNCArKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUta2JsLXNraXBzLnR4 dMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10 Z2wtZmFpbHMudHh0wqDCoMKgwqDCoMKgwqDCoCB8IDE5ICsrKysKPj4gwqAgZHJpdmVycy9ncHUv ZHJtL2NpL2k5MTUtdGdsLWZsYWtlcy50eHTCoMKgwqDCoMKgwqDCoCB8wqAgNiArKwo+PiDCoCBk cml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10Z2wtc2tpcHMudHh0wqDCoMKgwqDCoMKgwqDCoCB8wqAg OCArKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS13aGwtZmFpbHMudHh0wqDCoMKgwqDC oMKgwqDCoCB8IDMwICsrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtd2hsLWZs YWtlcy50eHTCoMKgwqDCoMKgwqDCoCB8wqAgMSArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9t ZWRpYXRlay1tdDgxNzMtZmFpbHMudHh0wqAgfCAyOSArKysrKysrCj4+IMKgIGRyaXZlcnMvZ3B1 L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmFpbHMudHh0wqAgfCAxMCArKysKPj4gwqAgZHJpdmVy cy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE4My1mbGFrZXMudHh0IHwgMTQgKysrCj4+IMKgIGRy aXZlcnMvZ3B1L2RybS9jaS9tZXNvbi1nMTJiLWZhaWxzLnR4dMKgwqDCoMKgwqDCoCB8wqAgNSAr Kwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mbGFrZXMudHh0wqDCoMKgwqDC oCB8wqAgNCArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODAxNi1mYWlscy50eHTC oMKgwqDCoMKgIHwgMTUgKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYt Zmxha2VzLnR4dMKgwqDCoMKgIHzCoCA0ICsKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL21zbS1h cHE4MDk2LWZhaWxzLnR4dMKgwqDCoMKgwqAgfMKgIDIgKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0v Y2kvbXNtLWFwcTgwOTYtZmxha2VzLnR4dMKgwqDCoMKgIHzCoCA0ICsKPj4gwqAgZHJpdmVycy9n cHUvZHJtL2NpL21zbS1hcHE4MDk2LXNraXBzLnR4dMKgwqDCoMKgwqAgfMKgIDIgKwo+PiDCoCBk cml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1mYWlscy50eHTCoMKgwqDCoMKgwqAgfCAyMiAr KysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1mbGFrZXMudHh0wqDCoMKg wqDCoCB8IDE0ICsrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1za2lwcy50 eHTCoMKgwqDCoMKgwqAgfCAxOCArKysrCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2Rt ODQ1LWZhaWxzLnR4dMKgwqDCoMKgwqDCoCB8IDQ0ICsrKysrKysrKysKPj4gwqAgZHJpdmVycy9n cHUvZHJtL2NpL21zbS1zZG04NDUtZmxha2VzLnR4dMKgwqDCoMKgwqAgfCAzMyArKysrKysrCj4+ IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LXNraXBzLnR4dMKgwqDCoMKgwqDCoCB8 wqAgMiArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMyODgtZmFpbHMudHh0 wqAgfCA3NSArKysrKysrKysrKysrKysrCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hp cC1yazMyODgtZmxha2VzLnR4dCB8wqAgNSArKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvcm9j a2NoaXAtcmszMjg4LXNraXBzLnR4dMKgIHwgNDYgKysrKysrKysrKwo+PiDCoCBkcml2ZXJzL2dw dS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZhaWxzLnR4dMKgIHwgODYgKysrKysrKysrKysrKysr KysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZsYWtlcy50eHQg fCAyNSArKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1za2lw cy50eHTCoCB8wqAgNSArKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25l LWZhaWxzLnR4dMKgIHwgMzggKysrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL3ZpcnRp b19ncHUtbm9uZS1mbGFrZXMudHh0IHzCoCAwCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS92aXJ0 aW9fZ3B1LW5vbmUtc2tpcHMudHh0wqAgfMKgIDYgKysKPj4gwqAgNDYgZmlsZXMgY2hhbmdlZCwg ODgyIGluc2VydGlvbnMoKykKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24v Z3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9uZXktZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mbGFrZXMudHh0Cj4+IMKgIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1za2lwcy50 eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9naXRsYWItY2ku eW1sCj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1hbWx5 LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9p OTE1LWFtbHktc2tpcHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9k cm0vY2kvaTkxNS1hcGwtZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L2dwdS9kcm0vY2kvaTkxNS1hcGwtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYXBsLXNraXBzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtY21sLWZsYWtlcy50eHQKPj4gwqAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWdsay1mbGFrZXMudHh0Cj4+IMKg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGstc2tpcHMudHh0 Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtZmFp bHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1r YmwtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2Np L2k5MTUta2JsLXNraXBzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUv ZHJtL2NpL2k5MTUtdGdsLWZhaWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9ncHUvZHJtL2NpL2k5MTUtdGdsLWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1za2lwcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXdobC1mYWlscy50eHQKPj4gwqAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXdobC1mbGFrZXMudHh0Cj4+IMKg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTczLWZh aWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL21lZGlh dGVrLW10ODE4My1mYWlscy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBt b2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mbGFrZXMudHh0Cj4+IMKg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmFpbHMu dHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgw MTYtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2Np L21zbS1hcHE4MDk2LWZhaWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9n cHUvZHJtL2NpL21zbS1hcHE4MDk2LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1za2lwcy50eHQKPj4gwqAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2M3MTgwLWZhaWxzLnR4dAo+PiDCoCBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtZmxha2VzLnR4 dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAt c2tpcHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNt LXNkbTg0NS1mYWlscy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9jaS9tc20tc2RtODQ1LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LXNraXBzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzI4OC1mYWlscy50eHQKPj4gwqAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMyODgtZmxha2Vz LnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlw LXJrMzI4OC1za2lwcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9jaS9yb2NrY2hpcC1yazMzOTktZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMzOTktc2tpcHMudHh0 Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1u b25lLWZhaWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2Np L3ZpcnRpb19ncHUtbm9uZS1mbGFrZXMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLXNraXBzLnR4dAo+Pgo+PiBkaWZmIC0tZ2l0 IGEvRG9jdW1lbnRhdGlvbi9ncHUvYXV0b21hdGVkX3Rlc3RpbmcucnN0IAo+PiBiL0RvY3VtZW50 YXRpb24vZ3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ PiBpbmRleCAwMDAwMDAwMDAwMDAuLjYxMDAzZWNjN2I2ZQo+PiAtLS0gL2Rldi9udWxsCj4+ICsr KyBiL0RvY3VtZW50YXRpb24vZ3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdAo+PiBAQCAtMCwwICsx LDg0IEBACj4+ICsuLiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsKPj4gKwo+PiAr PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPj4gK0F1dG9tYXRlZCB0 ZXN0aW5nIG9mIHRoZSBEUk0gc3Vic3lzdGVtCj4+ICs9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQo+PiArCj4+ICsKPj4gK0ludHJvZHVjdGlvbgo+PiArPT09PT09PT09 PT09Cj4+ICsKPj4gK01ha2luZyBzdXJlIHRoYXQgY2hhbmdlcyB0byB0aGUgY29yZSBvciBkcml2 ZXJzIGRvbid0IGludHJvZHVjZSAKPj4gcmVncmVzc2lvbnMgY2FuIGJlIHZlcnkgdGltZSBjb25z dW1pbmcgd2hlbiBsb3RzIG9mIGRpZmZlcmVudCBoYXJkd2FyZSAKPj4gY29uZmlndXJhdGlvbnMg bmVlZCB0byBiZSB0ZXN0ZWQuIE1vcmVvdmVyLCBpdCBpc24ndCBwcmFjdGljYWwgZm9yIAo+PiBl YWNoIHBlcnNvbiBpbnRlcmVzdGVkIGluIHRoaXMgdGVzdGluZyB0byBoYXZlIHRvIGFjcXVpcmUg YW5kIG1haW50YWluIAo+PiB3aGF0IGNhbiBiZSBhIGNvbnNpZGVyYWJsZSBhbW91bnQgb2YgaGFy ZHdhcmUuCj4+ICsKPj4gK0Fsc28sIGl0IGlzIGRlc2lyYWJsZSBmb3IgZGV2ZWxvcGVycyB0byBj aGVjayBmb3IgcmVncmVzc2lvbnMgaW4gCj4+IHRoZWlyIGNvZGUgYnkgdGhlbXNlbHZlcywgaW5z dGVhZCBvZiByZWx5aW5nIG9uIHRoZSBtYWludGFpbmVycyAKPj4gZmluZGluZyB0aGVtIGFuZCB0 aGVuIHJlcG9ydGluZyBiYWNrLgo+PiArCj4+ICtUaGVyZSBhcmUgZmFjaWxpdGllcyBpbiBnaXRs YWIuZnJlZWRlc2t0b3Aub3JnIHRvIGF1dG9tYXRpY2FsbHkgdGVzdCAKPj4gTWVzYSB0aGF0IGNh biBiZSB1c2VkIGFzIHdlbGwgZm9yIHRlc3RpbmcgdGhlIERSTSBzdWJzeXN0ZW0uIFRoaXMgCj4+ IGRvY3VtZW50IGV4cGxhaW5zIGhvdyBwZW9wbGUgaW50ZXJlc3RlZCBpbiB0ZXN0aW5nIGl0IGNh biB1c2UgdGhpcyAKPj4gc2hhcmVkIGluZnJhc3RydWN0dXJlIHRvIHNhdmUgcXVpdGUgc29tZSB0 aW1lIGFuZCBlZmZvcnQuCj4+ICsKPj4gKwo+PiArUmVsZXZhbnQgZmlsZXMKPj4gKz09PT09PT09 PT09PT09Cj4+ICsKPj4gK2RyaXZlcnMvZ3B1L2RybS9jaS9naXRsYWItY2kueW1sCj4+ICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiArCj4+ICtTcGVjaWZpZXMgdGhlIHNwZWNp ZmljIHZlcnNpb24gb2YgdGhlIHNjcmlwdHMgdG8gYmUgdXNlZC4gR2l0TGFiIENJIAo+PiB3aWxs IHVzZSB0aGUgdmFsdWVzIGRlZmluZWQgaW4gdGhpcyBmaWxlIHRvIGZldGNoIHRoZSByaWdodCBz Y3JpcHRzLgo+PiArCj4+ICsKPj4gK2RyaXZlcnMvZ3B1L2RybS9jaS8ke0RSSVZFUl9OQU1FfS50 ZXN0bGlzdAo+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ ICsKPj4gK1NwZWNpZmllcyB0aGUgdGVzdHMgdGhhdCB0aGUgY3VycmVudCBjb2RlIGlzIGV4cGVj dGVkIHRvIGJlIGFibGUgdG8gCj4+IHJlbGlhYmx5IHJ1biBmb3IgJHtEUklWRVJfTkFNRX0uIFRo ZXNlIHRlc3RzIGFyZSBleHBlY3RlZCB0byBub3QgaGFuZyAKPj4gdGhlIERVVCAoRGV2aWNlIFVu ZGVyIFRlc3RpbmcpIHdoZW4gcnVubmluZyBvbiB0aGUgcmV2aXNpb24gdGhleSAKPj4gYmVsb25n IHRvLCBhbmQgdG8gZ2l2ZSBjb25zaXN0ZW50IHJlc3VsdHMuCj4gCj4gVGhlIElHVCByZXBvIGhh cyB0ZXN0bGlzdHMgcGVyIHZlbmRvciAoZS5nLiwgCj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0 b3Aub3JnL2RybS9pZ3QtZ3B1LXRvb2xzLy0vdHJlZS9tYXN0ZXIvdGVzdHMvaW50ZWwtY2kpLiAK PiBXaGF0IGlzIHRoZSBhZHZhbnRhZ2Ugb2Yga2VlcGluZyBhIHNpbWlsYXIgSUdUIGxpc3QgaGVy ZT8gU2hvdWxkIHdlIAo+IG1haW50YWluIHRoYXQgbGlzdCBpbiBib3RoIHByb2plY3RzPwoKWWVz LCBJIHRoaW5rIHRoYXQgd291bGQgYmUgYmV0dGVyLCBidXQgdGhlIG9uZXMgY3VycmVudGx5IHRo ZXJlIHdlcmUgdG9vIApzbWFsbCBvciB0b28gYmlnIHRvIGJlIHVzZWZ1bCBoZXJlLgoKTm90ZSB0 aGF0IHRoZSBkb2N1bWVudGF0aW9uIGhlcmUgaXMgZXJyb25lb3VzLCB0aGUgdGVzdCBsaXN0cyBp biB0aGlzIAppdGVyYXRpb24gYXJlIGluIHRoZSBkcm0tY2kgcmVwbywgbm90IGluIHRoZSBrZXJu ZWwuIFdpbGwgZml4IHRoaXMgd2hlbiAKSSBzZW5kIG15IHJlYmFzZWQgcGF0Y2hlcy4KCj4+ICtk cml2ZXJzL2dwdS9kcm0vY2kvJHtEUklWRVJfTkFNRX1fKl9yZXN1bHRzLnR4dAo+PiArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiArCj4+ICtTcGVjaWZpZXMgdGhl IGV4cGVjdGVkIHJlc3VsdHMgb2YgcnVubmluZyB0aGlzIHNwZWNpZmljIGtlcm5lbCAKPj4gcmV2 aXNpb24gb24gYSBnaXZlbiBoYXJkd2FyZSBjb25maWd1cmF0aW9uLgo+PiArCj4+ICsKPj4gK0hv dyB0byBlbmFibGUgYXV0b21hdGVkIHRlc3Rpbmcgb24geW91ciB0cmVlCj4+ICs9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+PiArCj4+ICsxLiBDcmVhdGUgYSBM aW51eCB0cmVlIGluIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy8gaWYgeW91IAo+PiBk b24ndCBoYXZlIG9uZSB5ZXQKPj4gKwo+PiArMi4gSW4geW91ciBrZXJuZWwgcmVwbydzIGNvbmZp Z3VyYXRpb24gKGVnLiAKPj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3RvbWV1L2xp bnV4Ly0vc2V0dGluZ3MvY2lfY2QpLCBjaGFuZ2UgCj4+IHRoZSBDSS9DRCBjb25maWd1cmF0aW9u IGZpbGUgZnJvbSAuZ2l0bGFiLWNpLnltbCB0byAKPj4gZHJpdmVycy9ncHUvZHJtL2NpL2dpdGxh Yi1jaS55bWwuCj4+ICsKPj4gKzMuIE5leHQgdGltZSB5b3UgcHVzaCB0byB0aGlzIHJlcG9zaXRv cnksIHlvdSB3aWxsIHNlZSBhIENJIHBpcGVsaW5lIAo+PiBiZWluZyBjcmVhdGVkIChlZy4gCj4+ IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy90b21ldS9saW51eC8tL3BpcGVsaW5lcykK Pj4gKwo+PiArNC4gVGhlIHZhcmlvdXMgam9icyB3aWxsIGJlIHJ1biBhbmQgd2hlbiB0aGUgcGlw ZWxpbmUgaXMgZmluaXNoZWQsIAo+PiBhbGwgam9icyBzaG91bGQgYmUgZ3JlZW4gdW5sZXNzIGEg cmVncmVzc2lvbiBoYXMgYmVlbiBmb3VuZC4KPj4gKwo+PiArCj4+ICtIb3cgdG8gdXBkYXRlIHRl c3QgZXhwZWN0YXRpb25zCj4+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4+ICsK Pj4gK0lmIHlvdXIgY2hhbmdlcyB0byB0aGUgY29kZSBmaXggYW55IHRlc3RzLCB5b3Ugd2lsbCBo YXZlIHRvIHVwZGF0ZSAKPj4gb25lIG9yIG1vcmUgb2YgdGhlIGZpbGVzIGluIAo+PiBkcml2ZXJz L2dwdS9kcm0vY2kvJHtEUklWRVJfTkFNRX1fKl9yZXN1bHRzLnR4dCwgZm9yIGVhY2ggb2YgdGhl IHRlc3QgCj4+IHBsYXRmb3JtcyBhZmZlY3RlZCBieSB0aGUgY2hhbmdlLgo+PiArCj4+ICtJZiB5 b3UgaGF2ZSBydW4gYSBwaXBlbGluZSBhbmQgaXQgZmFpbGVkIGJlY2F1c2Ugb2YgYSBtaXNtYXRj aGVkIHRlc3QgCj4+IHJlc3VsdCwgeW91IHdpbGwgaGF2ZSBiZWVuIG9mZmVyZWQgYSBwYXRjaCBh dCB0aGUgZW5kIG9mIHRoZSBydW4gdGhhdCAKPj4geW91IGNhbiBhcHBseSBhZnRlciByZXZpZXdp bmcgaXQuCj4+ICsKPj4gKwo+PiArSG93IHRvIGV4cGFuZCBjb3ZlcmFnZQo+PiArPT09PT09PT09 PT09PT09PT09PT09PQo+PiArCj4+ICtJZiB5b3VyIGNvZGUgY2hhbmdlcyBtYWtlcyBpdCBwb3Nz aWJsZSB0byBydW4gbW9yZSB0ZXN0cyAoYnkgc29sdmluZyAKPj4gcmVsaWFiaWxpdHkgaXNzdWVz LCBmb3IgZXhhbXBsZSksIG1vcmUgdGVzdHMgY2FuIGJlIGFkZGVkIHRvIHRoaXMgCj4+IGxpc3Qs IGFuZCB0aGVuIHRoZSBleHBlY3RlZCByZXN1bHRzIHVwZGF0ZWQgd2l0aCB0aGUgcGF0Y2ggZmls ZSB0aGF0IAo+PiB3aWxsIGJlIHByaW50ZWQgYXQgdGhlIGVuZCBvZiBlYWNoIGpvYi4KPj4gKwo+ PiArSWYgdGhlcmUgaXMgYSBuZWVkIGZvciB1cGRhdGluZyB0aGUgdmVyc2lvbiBvZiBJR1QgYmVp bmcgdXNlZCAobWF5YmUgCj4+IHlvdSBoYXZlIGFkZGVkIG1vcmUgdGVzdHMgdG8gaXQpLCBmb2xs b3cgdGhlIGluc3RydWN0aW9ucyBhdCAKPj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3Jn L2dmeC1jaS9kcm0tY2kvLS90cmVlL21haW4jdXByZXZpbmctaWd0Lgo+IAo+IFVzdWFsbHksIHdl IHJ1biBvdXIgSUdUIHRlc3Qgb24gdGhlIGxhdGVzdCBjb2RlIGZyb20gdGhlIElHVCByZXBvLiBJ cyBpdCAKPiBwb3NzaWJsZSB0byBjb25maWd1cmUgdGhpcyBiZWhhdmlvcj8KCklmIHRoaXMgd2Fz IHRoZSBkZWZhdWx0IGJlaGF2aW9yLCBpdCB3b3VsZCBjcmVhdGUgYSBsb3Qgb2YgdHJvdWJsZSAK YmVjYXVzZSBwaXBlbGluZXMgZm9yIHRoZSBzYW1lIGNvZGUgd291bGQgc29tZXRpbWVzIHBhc3Mg b3IgZmFpbCBiYXNlZCAKb24gd2hhdGV2ZXIgaGFkIGJlZW4gcHVzaGVkIHRvIHRoZSBJR1QgcmVw by4gSXQgaXMgcmVhbGx5IGltcG9ydGFudCBmb3IgCnRoaXMgdG8gd29yayB3ZWxsIGZvciBldmVy eWJvZHkgdGhhdCB0aGUgcGlwZWxpbmUgaXMga2VwdCBncmVlbiBhdCBhbGwgCnRpbWVzIGZvciBj aGVja2VkLWluIGNvZGUuCgpCdXQgaXQgaXMgYWxyZWFkeSB2ZXJ5IGVhc3kgdG8gdXByZXYgSUdU LCBpdCBqdXN0IHJlcXVpcmVzIHVwZGF0aW5nIGEgCmNvbW1pdCBoYXNoIGluIHRoZSBkcm0tY2kg cmVwby4KCj4+ICtIb3cgdG8gdGVzdCB5b3VyIGNoYW5nZXMgdG8gdGhlIHNjcmlwdHMKPj4gKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+PiArCj4+ICtGb3IgdGVz dGluZyBjaGFuZ2VzIHRvIHRoZSBzY3JpcHRzIGluIHRoZSBkcm0tY2kgcmVwbywgY2hhbmdlIHRo ZSAKPj4gRFJNX0NJX1BST0pFQ1RfUEFUSCB2YXJpYWJsZSBpbiBkcml2ZXJzL2dwdS9kcm0vY2kv Z2l0bGFiLWNpLnltbCB0byAKPj4gbWF0Y2ggeW91ciBmb3JrIG9mIHRoZSBwcm9qZWN0IChlZy4g dG9tZXUvZHJtLWNpKS4gVGhpcyBmb3JrIG5lZWRzIHRvIAo+PiBiZSBpbiBodHRwczovL2dpdGxh Yi5mcmVlZGVza3RvcC5vcmcvLgo+PiArCj4+ICsKPj4gK0hvdyB0byBpbmNvcnBvcmF0ZSBleHRl cm5hbCBmaXhlcyBpbiB5b3VyIHRlc3RpbmcKPj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KPj4gKwo+PiArT2Z0ZW4sIHJlZ3Jlc3Npb25zIGluIG90 aGVyIHRyZWVzIHdpbGwgcHJldmVudCB0ZXN0aW5nIGNoYW5nZXMgbG9jYWwgCj4+IHRvIHRoZSB0 cmVlIHVuZGVyIHRlc3QuIFRoZXNlIGZpeGVzIHdpbGwgYmUgYXV0b21hdGljYWxseSBtZXJnZWQg aW4gCj4+IGR1cmluZyB0aGUgYnVpbGQgam9icyBmcm9tIGEgYnJhbmNoIGluIHRoZSB0YXJnZXQg dHJlZSB0aGF0IGlzIG5hbWVkIAo+PiBhcyAke1RBUkdFVF9CUkFOQ0h9LWV4dGVybmFsLWZpeGVz Lgo+PiArCj4+ICtJZiB0aGUgcGlwZWxpbmUgaXMgbm90IGluIGEgbWVyZ2UgcmVxdWVzdCBhbmQg YSBicmFuY2ggd2l0aCB0aGUgc2FtZSAKPj4gbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIHRyZWUs IGNvbW1pdHMgZnJvbSB0aGF0IGJyYW5jaCB3aWxsIGJlIG1lcmdlZCAKPj4gaW4gYXMgd2VsbC4K Pj4gKwo+PiArCj4+ICtIb3cgdG8gZGVhbCB3aXRoIGF1dG9tYXRlZCB0ZXN0aW5nIGxhYnMgdGhh dCBtYXkgYmUgZG93bgo+PiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KPj4gKwo+PiArSWYgYSBoYXJkd2FyZSBmYXJtIGlzIGRvd24gYW5k IHRodXMgY2F1c2luZyBwaXBlbGluZXMgdG8gZmFpbCB0aGF0IAo+PiB3b3VsZCBvdGhlcndpc2Ug cGFzcywgb25lIGNhbiBkaXNhYmxlIGFsbCBqb2JzIHRoYXQgd291bGQgYmUgc3VibWl0dGVkIAo+ PiB0byB0aGF0IGZhcm0gYnkgZWRpdGluZyB0aGUgZmlsZSBhdCAKPj4gaHR0cHM6Ly9naXRsYWIu ZnJlZWRlc2t0b3Aub3JnL2dmeC1jaS9sYWItc3RhdHVzLy0vYmxvYi9tYWluL2xhYi1zdGF0dXMu eW1sLiAKPj4KPiAKPiAKPiBUaGlzIHBhcnQgaXMgdGhlIG9uZSB0aGF0IEkgcmVhbGx5IHdhbnQg dG8gdW5kZXJzdGFuZC4gSG93IGNhbiB3ZSBwbHVnIAo+IG91ciBmYXJtPyBEbyB5b3UgaGF2ZSBh IGd1aWRlbGluZT8gSSB3YW50IHRvIGtub3cgaWYgd2UgY2FuIHJ1biBhIAo+IHByb3RvdHlwZS4K CldlIGFyZSByZXVzaW5nIHRoZSBkZXZpY2UgZmFybXMgdGhhdCB3ZXJlIGFkZGVkIHRvIApnaXRs YWIuZnJlZWRlc2t0b3Aub3JnIGZvciB0ZXN0aW5nIE1lc2EuCgpZb3Ugc2hvdWxkIGJlIGFibGUg dG8gcGx1ZyB5b3VyIG93biBsYWIgZm9yIHVzZSBpbiB5b3VyIHBlcnNvbmFsIGJyYW5jaCAKd2l0 aG91dCByZXF1aXJpbmcgYW55dGhpbmcgZnJvbSBhbnlib2R5IGVsc2UuIFlvdSBqdXN0IG5lZWQg YW4gYWNjb3VudCAKaW4gZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy4KCkN1cnJlbnRseSwgdGhlcmUg YXJlIHR3byBtb2RlcyB0aHJvdWdoIHdoaWNoIERVVHMgYXJlIG1hZGUgYXZhaWxhYmxlIHRvIApH aXRsYWIgQ0k6IGJhcmVtZXRhbCBhbmQgTEFWQS4gVGhlIGxhdHRlciBzaG91bGQgYmV0dGVyIHNj YWxlIHRvIHNldmVyYWwgCmRvemVucyBvZiBkZXZpY2VzIGJ1dCBoYXMgYSBoaWdoZXIgaW5pdGlh bCBpbnN0YWxsYXRpb24gZWZmb3J0LiBJdCB3b3VsZCAKYWxsb3cgdGhpcyBmYXJtIHRvIGJlIHVz ZWQgaW4gb3RoZXIgQ0lzIHN1Y2ggYXMga2VybmVsY2kub3JnLCB0aG91Z2guCgpUaGVyZSBpcyBz b21lIGRvY3VtZW50YXRpb24gYWJvdXQgdGhpcyBpbiBNZXNhOgoKKiBodHRwczovL2RvY3MubWVz YTNkLm9yZy9jaS9iYXJlLW1ldGFsLmh0bWwKKiBodHRwczovL2RvY3MubWVzYTNkLm9yZy9jaS9M QVZBLmh0bWwKCkFzayBpbiAjZnJlZWRlc2t0b3AgaW4gT0ZUQyBpZiB5b3UgbmVlZCBhbnkgaGVs cC4KCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mYWls cy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9uZXktZmFpbHMudHh0Cj4+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZTcyMTU2OGI2ZWMz Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9u ZXktZmFpbHMudHh0Cj4+IEBAIC0wLDAgKzEsMTMgQEAKPj4gK2ttc19hZGRmYl9iYXNpY0BiYWQt cGl0Y2gtNjU1MzYsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQGJvLXRvby1zbWFsbCxGYWlsCj4+ ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21z X2J3QGxpbmVhci10aWxpbmctMS1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19id0Bs aW5lYXItdGlsaW5nLTItZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFy LXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlw ZS1BLWN1cnNvci1zaXplLWNoYW5nZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vy c29yLXNpemUtY2hhbmdlLEZhaWwKPj4gK2ttc19oZHJAYnBjLXN3aXRjaCxGYWlsCj4+ICtrbXNf aGRyQGJwYy1zd2l0Y2gtZHBtcyxGYWlsCj4+ICtrbXNfcGxhbmVfbXVsdGlwbGVAYXRvbWljLXBp cGUtQS10aWxpbmctbm9uZSxGYWlsCj4+ICtrbXNfcm90YXRpb25fY3JjQHByaW1hcnktcm90YXRp b24tMTgwLEZhaWwKPj4gK2ttc191bml2ZXJzYWxfcGxhbmVAZGlzYWJsZS1wcmltYXJ5LXZzLWZs aXAtcGlwZS1CLEZhaWwKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mbGFrZXMudHh0IAo+PiBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9hbWRncHUtc3RvbmV5LWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5hMmNiYzMzOTgzOGMKPj4gLS0tIC9kZXYv bnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mbGFrZXMudHh0 Cj4+IEBAIC0wLDAgKzEsMjAgQEAKPj4gK2ttc19hZGRmYl9iYXNpY0B0b28taGlnaAo+PiAra21z X2F0b21pY190cmFuc2l0aW9uQHBsYW5lLWFsbC1tb2Rlc2V0LXRyYW5zaXRpb24taW50ZXJuYWwt cGFuZWxzCj4+ICtrbXNfYXRvbWljX3RyYW5zaXRpb25AcGxhbmUtYWxsLXRyYW5zaXRpb24KPj4g K2ttc19hdG9taWNfdHJhbnNpdGlvbkBwbGFuZS11c2UtYWZ0ZXItbm9uYmxvY2tpbmctdW5iaW5k Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctMi1kaXNwbGF5cy0yNTYweDE0NDBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRp c3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0 MHgyMTYwcAo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1BLTY0eDY0LWJvdHRvbS1lZGdl Cj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUEtNjR4NjQtcmlnaHQtZWRnZQo+PiAra21z X2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1BLTY0eDY0LXRvcC1lZGdlCj4+ICtrbXNfY3Vyc29yX2Vk Z2Vfd2Fsa0BwaXBlLUItNjR4NjQtYm90dG9tLWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxr QHBpcGUtQi02NHg2NC1sZWZ0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02 NHg2NC1yaWdodC1lZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4NjQtdG9w LWVkZ2UKPj4gK2ttc19wbGFuZV9tdWx0aXBsZUBhdG9taWMtcGlwZS1CLXRpbGluZy1ub25lCj4+ ICtrbXNfcGxhbmVAcGl4ZWwtZm9ybWF0Cj4+ICtrbXNfcGxhbmVfc2NhbGluZ0Bkb3duc2NhbGUt d2l0aC1yb3RhdGlvbi1mYWN0b3ItMC01Cj4+ICtrbXNfdW5pdmVyc2FsX3BsYW5lQGRpc2FibGUt cHJpbWFyeS12cy1mbGlwLXBpcGUtQQo+IAo+IFdlIGhhdmUgbXVsdGlwbGUgdGVzdCBsaXN0cyBm b3IgZGlmZmVyZW50IEFTSUNzLCBhbmQgd2UgYXJlIHdvcmtpbmcgdG8gCj4gaGF2ZSBvbmUgdW5p ZmllZCBsaXN0LiBJIGd1ZXNzIHdlIGp1c3QgbmVlZCB0byB0aGF0IGxpc3QgaGVyZT8KPiAKPiBN YXliZSBOaWNob2xhcy9IZXJyaXNvbiBjYW4gcHJvdmlkZSBhIGNvbXBsZXRlIGxpc3QgaGVyZS4K Ck1heWJlIGFkZCBpdCB0byB0aGUgSUdUIHJlcG8gYW5kIGZyb20gdGhlcmUgaXQgd2lsbCBiZSB1 c2VkIGluIHRoaXMgQ0kgCm9uY2UgaXQgY2FuIHJ1biByZWxpYWJseSBlbm91Z2g/CgpDaGVlcnMs CgpUb21ldQoKPiBUaGFua3MKPiBTaXF1ZWlyYQo+IAo+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9uZXktc2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9jaS9hbWRncHUtc3RvbmV5LXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBp bmRleCAwMDAwMDAwMDAwMDAuLmUyYzUzOGEwZjk1NAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9jaS9hbWRncHUtc3RvbmV5LXNraXBzLnR4dAo+PiBAQCAtMCwwICsx LDIgQEAKPj4gKyMgU3VzcGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9uIHRoaXMgbWFj aGluZQo+PiArLipzdXNwZW5kLioKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvZ2l0bGFiLWNpLnltbCAKPj4gYi9kcml2ZXJz L2dwdS9kcm0vY2kvZ2l0bGFiLWNpLnltbAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRl eCAwMDAwMDAwMDAwMDAuLjg4OThiYmUwZjE4MAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9naXRsYWItY2kueW1sCj4+IEBAIC0wLDAgKzEsMTMgQEAKPj4gK3Zh cmlhYmxlczoKPj4gK8KgICMgQ2hhbmdlIHRoaXMgdG8gdXNlIHlvdXIgZm9yayBvZiBkcm0tY2kK Pj4gK8KgIERSTV9DSV9QUk9KRUNUX1BBVEg6ICZkcm0tY2ktcHJvamVjdC1wYXRoIGdmeC1jaS9k cm0tY2kKPj4gK8KgIERSTV9DSV9DT01NSVRfU0hBOiAmZHJtLWNpLWNvbW1pdC1zaGEgCj4+IGJj Y2ZmMjQwY2EwNDI4MjA0ODQwOTZmMDc4MmU4ZjA2MGJkODNiY2EKPj4gKwo+PiArwqAgVVBTVFJF QU1fUkVQTzogZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZHJtL2RybQo+PiArwqAgVEFS R0VUX0JSQU5DSDogZHJtLW5leHQKPj4gKwo+PiAraW5jbHVkZToKPj4gK8KgIC0gcHJvamVjdDog KmRybS1jaS1wcm9qZWN0LXBhdGgKPj4gK8KgwqDCoCByZWY6ICpkcm0tY2ktY29tbWl0LXNoYQo+ PiArwqDCoMKgIGZpbGU6Cj4+ICvCoMKgwqDCoMKgIC0gJy5naXRsYWItY2kueW1sJwo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYW1seS1mbGFrZXMudHh0IAo+PiBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjY3ZDc4ZjEwYjY3MQo+PiAtLS0gL2Rldi9udWxs Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktZmxha2VzLnR4dAo+PiBAQCAt MCwwICsxLDMyIEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4MTA4 MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMjU2MHgxNDQwcAo+PiAra21z X2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQweDIxNjBwCj4+ICtrbXNfYndAbGluZWFy LXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMt ZGlzcGxheXMtMjU2MHgxNDQwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0z ODQweDIxNjBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTE5MjB4MTA4MHAK Pj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMjU2MHgxNDQwcAo+PiAra21zX2J3 QGxpbmVhci10aWxpbmctNC1kaXNwbGF5cy0zODQweDIxNjBwCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZS10by02NGJwcC15dGlsZS11cHNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZWNjcy10by02NGJwcC15dGls ZS1kb3duc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlY2Nz LXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0 YnBwLXl0aWxlLXRvLTE2YnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxp cF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtZG93bnNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS11 cHNjYWxpbmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJw cC15dGlsZXJjY2NzLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy11cHNjYWxpbmcKPj4gK2ttc19wbGFuZV9hbHBo YV9ibGVuZEBwaXBlLUEtYWxwaGEtYmFzaWMKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBl LUEtYWxwaGEtb3BhcXVlLWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhh LXRyYW5zcGFyZW50LWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvbnN0YW50 LWFscGhhLW1heAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1iYXNpYwo+ PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1vcGFxdWUtZmIKPj4gK2ttc19w bGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtdHJhbnNwYXJlbnQtZmIKPj4gK2ttc19wbGFu ZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxwaGEtbWF4Cj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1DLWFscGhhLWJhc2ljCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlw ZS1DLWFscGhhLW9wYXF1ZS1mYgo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBo YS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1jb25zdGFu dC1hbHBoYS1tYXgKPj4gK2ttc19zeXNmc19lZGlkX3RpbWluZwo+PiBcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHkt c2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktc2tpcHMudHh0Cj4+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZTJjNTM4YTBmOTU0 Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYW1seS1z a2lwcy50eHQKPj4gQEAgLTAsMCArMSwyIEBACj4+ICsjIFN1c3BlbmQgdG8gUkFNIHNlZW1zIHRv IGJlIGJyb2tlbiBvbiB0aGlzIG1hY2hpbmUKPj4gKy4qc3VzcGVuZC4qCj4+IFwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUt YXBsLWZhaWxzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1hcGwtZmFpbHMudHh0 Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uYTA3N2YyOWQ1 Y2JhCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYXBs LWZhaWxzLnR4dAo+PiBAQCAtMCwwICsxLDI5IEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0y LWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNw bGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMt Mzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4 MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBw LEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWls Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAr a21zX2J3QGxpbmVhci10aWxpbmctNC1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfZmxpcF9z Y2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcsRmFp bAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlLXRvLTY0YnBwLXl0aWxl LXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGVj Y3MtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2Ny Y0BmbGlwLTMyYnBwLXl0aWxlY2NzLXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtr bXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtZG93bnNj YWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTE2 YnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2Nh bGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Nj cy1kb3duc2NhbGluZyxGYWlsIAo+Pgo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBw LXl0aWxlLXRvLTMyYnBwLXl0aWxlcmNjY3MtdXBzY2FsaW5nLEZhaWwKPj4gK2ttc19wbGFuZV9h bHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtb3BhcXVlLWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBo YV9ibGVuZEBwaXBlLUEtYWxwaGEtdHJhbnNwYXJlbnQtZmIsRmFpbAo+PiAra21zX3BsYW5lX2Fs cGhhX2JsZW5kQHBpcGUtQS1jb25zdGFudC1hbHBoYS1tYXgsRmFpbAo+PiAra21zX3BsYW5lX2Fs cGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1vcGFxdWUtZmIsRmFpbAo+PiAra21zX3BsYW5lX2FscGhh X2JsZW5kQHBpcGUtQi1hbHBoYS10cmFuc3BhcmVudC1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1CLWNvbnN0YW50LWFscGhhLW1heCxGYWlsCj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1DLWFscGhhLW9wYXF1ZS1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFf YmxlbmRAcGlwZS1DLWFscGhhLXRyYW5zcGFyZW50LWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBo YV9ibGVuZEBwaXBlLUMtY29uc3RhbnQtYWxwaGEtbWF4LEZhaWwKPj4gK2ttc19zeXNmc19lZGlk X3RpbWluZyxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYXBsLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9n cHUvZHJtL2NpL2k5MTUtYXBsLWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4g aW5kZXggMDAwMDAwMDAwMDAwLi42MThiYmU2YmI3OTMKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1hcGwtZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxIEBA Cj4+ICtrbXNfZnJvbnRidWZmZXJfdHJhY2tpbmdAZmJjLXRpbGluZy1saW5lYXIKPj4gXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kv aTkxNS1hcGwtc2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFwbC1za2lw cy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5lMmM1 MzhhMGY5NTQKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkx NS1hcGwtc2tpcHMudHh0Cj4+IEBAIC0wLDAgKzEsMiBAQAo+PiArIyBTdXNwZW5kIHRvIFJBTSBz ZWVtcyB0byBiZSBicm9rZW4gb24gdGhpcyBtYWNoaW5lCj4+ICsuKnN1c3BlbmQuKgo+PiBcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9j aS9pOTE1LWNtbC1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWNtbC1m bGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4u YTIxNDQxOWM2ZGM1Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Np L2k5MTUtY21sLWZsYWtlcy50eHQKPj4gQEAgLTAsMCArMSwzNiBAQAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMi1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0y LWRpc3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMt Mzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0xOTIweDEwODBw Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctNC1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRp c3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMzg0 MHgyMTYwcAo+PiAra21zX2ZsaXBAZmxpcC12cy1zdXNwZW5kCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZS10by02NGJwcC15dGlsZS11cHNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZWNjcy10by02NGJwcC15dGls ZS1kb3duc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlY2Nz LXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0 YnBwLXl0aWxlLXRvLTE2YnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxp cF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtZG93bnNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS11 cHNjYWxpbmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJw cC15dGlsZXJjY2NzLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy11cHNjYWxpbmcKPj4gK2ttc19oZHJAYnBjLXN3 aXRjaC1zdXNwZW5kCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLWJhc2lj Cj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLW9wYXF1ZS1mYgo+PiAra21z X3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQS1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3Bs YW5lX2FscGhhX2JsZW5kQHBpcGUtQS1jb25zdGFudC1hbHBoYS1tYXgKPj4gK2ttc19wbGFuZV9h bHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtYmFzaWMKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBw aXBlLUItYWxwaGEtb3BhcXVlLWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWFs cGhhLXRyYW5zcGFyZW50LWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWNvbnN0 YW50LWFscGhhLW1heAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS1iYXNp Ywo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS1vcGFxdWUtZmIKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMtYWxwaGEtdHJhbnNwYXJlbnQtZmIKPj4gK2ttc19w bGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMtY29uc3RhbnQtYWxwaGEtbWF4Cj4+ICtrbXNfcHNyMl9z dUBwYWdlX2ZsaXAtTlYxMgo+PiAra21zX3BzcjJfc3VAcGFnZV9mbGlwLVAwMTAKPj4gK2ttc19z ZXRtb2RlQGJhc2ljCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtZ2xrLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9n cHUvZHJtL2NpL2k5MTUtZ2xrLWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4g aW5kZXggMDAwMDAwMDAwMDAwLi5hZWRiM2QyZWY4ODUKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGstZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxLDQw IEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2tt c19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMi1kaXNwbGF5cy0yNTYweDE0NDBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0y LWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMt MTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBw Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctNC1kaXNwbGF5cy0yNTYweDE0NDBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRp c3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19mbGlwQGJsb2NraW5nLXdmX3ZibGFuawo+PiAra21z X2ZsaXBAd2ZfdmJsYW5rLXRzLWNoZWNrCj4+ICtrbXNfZmxpcEB3Zl92YmxhbmstdHMtY2hlY2st aW50ZXJydXB0aWJsZQo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlLXRv LTY0YnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJi cHAteXRpbGUtdG8tNjRicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3Jj QGZsaXAtMzJicHAteXRpbGVjY3MtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZWNjcy10by02NGJwcC15dGlsZS11cHNjYWxp bmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0xNmJwcC15dGls ZS1kb3duc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRv LTE2YnBwLXl0aWxlLXVwc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBw LXl0aWxlLXRvLTMyYnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3Jj QGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxpcF9z Y2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy1kb3duc2NhbGlu Zwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxl cmNjY3MtdXBzY2FsaW5nCj4+ICtrbXNfZnJvbnRidWZmZXJfdHJhY2tpbmdAZmJjLXRpbGluZy1s aW5lYXIKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtYmFzaWMKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtb3BhcXVlLWZiCj4+ICtrbXNfcGxhbmVf YWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLXRyYW5zcGFyZW50LWZiCj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1BLWNvbnN0YW50LWFscGhhLW1heAo+PiAra21zX3BsYW5lX2FscGhhX2Js ZW5kQHBpcGUtQi1hbHBoYS1iYXNpYwo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1h bHBoYS1vcGFxdWUtZmIKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtdHJh bnNwYXJlbnQtZmIKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxw aGEtbWF4Cj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWFscGhhLWJhc2ljCj4+ICtr bXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWFscGhhLW9wYXF1ZS1mYgo+PiAra21zX3BsYW5l X2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5lX2Fs cGhhX2JsZW5kQHBpcGUtQy1jb25zdGFudC1hbHBoYS1tYXgKPj4gK2ttc19yb3RhdGlvbl9jcmNA bXVsdGlwbGFuZS1yb3RhdGlvbgo+PiAra21zX3JvdGF0aW9uX2NyY0BtdWx0aXBsYW5lLXJvdGF0 aW9uLWNyb3BwaW5nLWJvdHRvbQo+PiAra21zX3JvdGF0aW9uX2NyY0BtdWx0aXBsYW5lLXJvdGF0 aW9uLWNyb3BwaW5nLXRvcAo+PiAra21zX3NldG1vZGVAYmFzaWMKPj4gXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGst c2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWdsay1za2lwcy50eHQKPj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5lMmM1MzhhMGY5NTQK Pj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGstc2tp cHMudHh0Cj4+IEBAIC0wLDAgKzEsMiBAQAo+PiArIyBTdXNwZW5kIHRvIFJBTSBzZWVtcyB0byBi ZSBicm9rZW4gb24gdGhpcyBtYWNoaW5lCj4+ICsuKnN1c3BlbmQuKgo+PiBcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWti bC1mYWlscy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUta2JsLWZhaWxzLnR4dAo+ PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmY4MWYwNjVlMjdl OAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWtibC1m YWlscy50eHQKPj4gQEAgLTAsMCArMSw4IEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRp c3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctNC1kaXNwbGF5 cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGls ZS10by02NGJwcC15dGlsZS11cHNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0Bm bGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlLWRvd25zY2FsaW5nLEZhaWwKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZXJjY2NzLXVwc2Nh bGluZyxGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvbnN0YW50LWFscGhh LW1heCxGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWFscGhhLW9wYXF1ZS1m YixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWNvbnN0YW50LWFscGhhLW1h eCxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2NpL2k5MTUta2JsLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJt L2NpL2k5MTUta2JsLWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXgg MDAwMDAwMDAwMDAwLi5mODIwMTc2NTRjZjUKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxLDI0IEBACj4+ ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19id0Bs aW5lYXItdGlsaW5nLTItZGlzcGxheXMtMzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxp bmctMy1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3Bs YXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgy MTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctNC1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtr bXNfYndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19mbGlwX3Nj YWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZS10by02NGJwcC15dGlsZS1kb3duc2NhbGluZwo+PiAr a21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlY2NzLXRvLTY0YnBwLXl0aWxlLWRv d25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGVjY3MtdG8t NjRicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAt eXRpbGUtdG8tMTZicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNA ZmxpcC02NGJwcC15dGlsZS10by0xNmJwcC15dGlsZS11cHNjYWxpbmcKPj4gK2ttc19mbGlwX3Nj YWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS11cHNjYWxpbmcKPj4gK2tt c19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZXJjY2NzLWRv d25zY2FsaW5nCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLWJhc2ljCj4+ ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLW9wYXF1ZS1mYgo+PiAra21zX3Bs YW5lX2FscGhhX2JsZW5kQHBpcGUtQS1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5l X2FscGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1iYXNpYwo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5k QHBpcGUtQi1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBp cGUtQi1jb25zdGFudC1hbHBoYS1tYXgKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMt YWxwaGEtYmFzaWMKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMtYWxwaGEtb3BhcXVl LWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWFscGhhLXRyYW5zcGFyZW50LWZi Cj4+ICtrbXNfc3lzZnNfZWRpZF90aW1pbmcKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtc2tpcHMudHh0IAo+ PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWtibC1za2lwcy50eHQKPj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5lMmM1MzhhMGY5NTQKPj4gLS0tIC9kZXYv bnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtc2tpcHMudHh0Cj4+IEBA IC0wLDAgKzEsMiBAQAo+PiArIyBTdXNwZW5kIHRvIFJBTSBzZWVtcyB0byBiZSBicm9rZW4gb24g dGhpcyBtYWNoaW5lCj4+ICsuKnN1c3BlbmQuKgo+PiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1mYWlscy50eHQg Cj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtdGdsLWZhaWxzLnR4dAo+PiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjI3MDY0NGNlMjIwYwo+PiAtLS0gL2Rl di9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1mYWlscy50eHQKPj4g QEAgLTAsMCArMSwxOSBAQAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQw eDIxNjBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMTkyMHgxMDgw cCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFp bAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4g K2ttc19id0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNf YndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxp bmVhci10aWxpbmctNC1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXIt dGlsaW5nLTUtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGlu Zy01LWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctNS1k aXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJw cC15dGlsZS10by02NGJwcC15dGlsZS1kb3duc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2Fs ZWRfY3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtdXBzY2FsaW5nLEZhaWwKPj4g K2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0xNmJwcC15dGlsZS1kb3du c2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8t MTZicHAteXRpbGUtdXBzY2FsaW5nLEZhaWwKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02 NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS1kb3duc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9z Y2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtdXBzY2FsaW5nLEZhaWwK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZXJj Y2NzLWRvd25zY2FsaW5nLEZhaWwgCj4+Cj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy11cHNjYWxpbmcsRmFpbAo+PiAra21zX3JvdGF0 aW9uX2NyY0BiYWQtcGl4ZWwtZm9ybWF0LEZhaWwKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10Z2wtZmxha2VzLnR4 dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10Z2wtZmxha2VzLnR4dAo+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjE1ZmJhNzdmZjE5ZAo+PiAtLS0g L2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1mbGFrZXMudHh0 Cj4+IEBAIC0wLDAgKzEsNiBAQAo+PiAra21zX2RyYXdfY3JjQGRyYXctbWV0aG9kLXJnYjU2NS1i bHQtdW50aWxlZAo+PiAra21zX2RyYXdfY3JjQGRyYXctbWV0aG9kLXhyZ2I4ODg4LW1tYXAtZ3R0 LXVudGlsZWQKPj4gK2ttc19kcmF3X2NyY0BkcmF3LW1ldGhvZC14cmdiODg4OC1tbWFwLWd0dC14 dGlsZWQKPj4gK2ttc19mbGlwQGJsb2NraW5nLWFic29sdXRlLXdmX3ZibGFuawo+PiAra21zX2Zs aXBAYm8tdG9vLWJpZy1pbnRlcnJ1cHRpYmxlCj4+ICtrbXNfZmxpcEBmbGlwLXZzLXJtZmItaW50 ZXJydXB0aWJsZQo+PiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1za2lwcy50eHQgCj4+IGIvZHJpdmVycy9ncHUv ZHJtL2NpL2k5MTUtdGdsLXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRl eCAwMDAwMDAwMDAwMDAuLjE0ZjMzYzdiYTAzYgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1za2lwcy50eHQKPj4gQEAgLTAsMCArMSw4IEBACj4+ ICsjIFN1c3BlbmQgdG8gUkFNIHNlZW1zIHRvIGJlIGJyb2tlbiBvbiB0aGlzIG1hY2hpbmUKPj4g Ky4qc3VzcGVuZC4qCj4+ICsKPj4gKyMgR1BVIGhhbmdzLCB0aGVuIHRoZSB3aG9sZSBtYWNoaW5l Cj4+ICtnZW1fZWlvLioKPj4gKwo+PiArIyBXaG9sZSBtYWNoaW5lIGhhbmdzCj4+ICtrbXNfZmxp cEBhYnNvbHV0ZS13Zl92YmxhbmtAYS1lZHAxCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtd2hsLWZhaWxzLnR4dCAK Pj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS13aGwtZmFpbHMudHh0Cj4+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZGJmZWRmYTVkNjNmCj4+IC0tLSAvZGV2 L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtd2hsLWZhaWxzLnR4dAo+PiBA QCAtMCwwICsxLDMwIEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4 MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0yNTYweDE0NDBw LEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMzg0MHgyMTYwcCxGYWls Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAr a21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGlu ZWFyLXRpbGluZy00LWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctNC1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5n LTQtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAt MzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBf c2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlLXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZyxGYWls Cj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGVjY3MtdG8tNjRicHAteXRp bGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0 aWxlY2NzLXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAr a21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTE2YnBwLXl0aWxlLXVwc2Nh bGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJi cHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0 YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2Fs ZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy1kb3duc2NhbGluZyxG YWlsIAo+Pgo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBw LXl0aWxlcmNjY3MtdXBzY2FsaW5nLEZhaWwKPj4gK2ttc19mcm9udGJ1ZmZlcl90cmFja2luZ0Bm YmMtdGlsaW5nLWxpbmVhcixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFs cGhhLW9wYXF1ZS1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhh LXRyYW5zcGFyZW50LWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtY29u c3RhbnQtYWxwaGEtbWF4LEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxw aGEtb3BhcXVlLWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEt dHJhbnNwYXJlbnQtZmIsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1jb25z dGFudC1hbHBoYS1tYXgsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBo YS1vcGFxdWUtZmIsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS10 cmFuc3BhcmVudC1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWNvbnN0 YW50LWFscGhhLW1heCxGYWlsCj4+ICtrbXNfc3lzZnNfZWRpZF90aW1pbmcsRmFpbAo+PiBcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9j aS9pOTE1LXdobC1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXdobC1m bGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4u NmJjYWM1Yjg0ZmJiCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Np L2k5MTUtd2hsLWZsYWtlcy50eHQKPj4gQEAgLTAsMCArMSBAQAo+PiAra21zX2ZsaXBAZmxpcC12 cy1zdXNwZW5kCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE3My1mYWlscy50eHQgCj4+IGIvZHJpdmVy cy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE3My1mYWlscy50eHQKPj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi43Zjc0ZmI5YWZjOTkKPj4gLS0tIC9kZXYvbnVs bAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTczLWZhaWxzLnR4dAo+ PiBAQCAtMCwwICsxLDI5IEBACj4+ICtrbXNfM2QsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQGFk ZGZiMjUtYmFkLW1vZGlmaWVyLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTEtZGlzcGxh eXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTI1 NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMS1kaXNwbGF5cy0zODQweDIx NjBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcCxG YWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+ PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2tt c19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndA bGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMy1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19jb2xvckBwaXBlLUEt aW52YWxpZC1nYW1tYS1sdXQtc2l6ZXMsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQi1pbnZhbGlk LWdhbW1hLWx1dC1zaXplcyxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNl LWNvbm5lY3Rvci1zdGF0ZSxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNl LWVkaWQsRmFpbAo+PiAra21zX2ZvcmNlX2Nvbm5lY3Rvcl9iYXNpY0Bmb3JjZS1sb2FkLWRldGVj dCxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQHBydW5lLXN0YWxlLW1vZGVzLEZh aWwKPj4gK2ttc19pbnZhbGlkX21vZGVAaW50LW1heC1jbG9jayxGYWlsCj4+ICtrbXNfcGxhbmVf c2NhbGluZ0BwbGFuZXMtdXBzY2FsZS0yMHgyMCxGYWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0Bw bGFuZXMtdXBzY2FsZS0yMHgyMC1kb3duc2NhbGUtZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3Bs YW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUtMjB4MjAtZG93bnNjYWxlLWZhY3Rvci0wLTUsRmFp bAo+PiAra21zX3BsYW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUtMjB4MjAtZG93bnNjYWxlLWZh Y3Rvci0wLTc1LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHVwc2NhbGUtd2l0aC1tb2RpZmll ci0yMHgyMCxGYWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0B1cHNjYWxlLXdpdGgtcGl4ZWwtZm9y bWF0LTIweDIwLEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHVwc2NhbGUtd2l0aC1yb3RhdGlv bi0yMHgyMCxGYWlsCj4+ICtrbXNfcHJvcGVydGllc0BnZXRfcHJvcGVydGllcy1zYW5pdHktYXRv bWljLEZhaWwKPj4gK2ttc19wcm9wZXJ0aWVzQHBsYW5lLXByb3BlcnRpZXMtYXRvbWljLEZhaWwK Pj4gK2ttc19wcm9wZXJ0aWVzQHBsYW5lLXByb3BlcnRpZXMtbGVnYWN5LEZhaWwKPj4gK2ttc19y bWZiQGNsb3NlLWZkLEZhaWwKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTgzLWZhaWxzLnR4dCAKPj4g Yi9kcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTgzLWZhaWxzLnR4dAo+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjZmZjgxZDAwZTg0ZQo+PiAtLS0g L2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmFp bHMudHh0Cj4+IEBAIC0wLDAgKzEsMTAgQEAKPj4gK2ttc19hZGRmYl9iYXNpY0BhZGRmYjI1LWJh ZC1tb2RpZmllcixGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTI1NjB4 MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0xOTIweDEwODBw LEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMjU2MHgxNDQwcCxGYWls Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTM4NDB4MjE2MHAsRmFpbAo+PiAr a21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfY29sb3JA cGlwZS1BLWludmFsaWQtZ2FtbWEtbHV0LXNpemVzLEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5n QHVwc2NhbGUtd2l0aC1yb3RhdGlvbi0yMHgyMCxGYWlsCj4+ICtrbXNfcm1mYkBjbG9zZS1mZCxG YWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE4My1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1 L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0 NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjIwODg5MGI3OWViMAo+PiAtLS0gL2Rldi9udWxsCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmxha2VzLnR4dAo+PiBA QCAtMCwwICsxLDE0IEBACj4+ICtjb3JlX3NldG1hc3Rlcl92c19hdXRoCj4+ICtrbXNfYndAbGlu ZWFyLXRpbGluZy0xLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5n LTEtZGlzcGxheXMtMzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5 cy0xOTIweDEwODBwCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBjdXJzb3ItdnMtZmxpcC1hdG9taWMK Pj4gK2ttc19wbGFuZV9zY2FsaW5nQGludmFsaWQtbnVtLXNjYWxlcnMKPj4gK2ttc19wbGFuZV9z Y2FsaW5nQHBsYW5lcy11cHNjYWxlLTIweDIwCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0BwbGFuZXMt dXBzY2FsZS0yMHgyMC1kb3duc2NhbGUtZmFjdG9yLTAtNQo+PiAra21zX3BsYW5lX3NjYWxpbmdA dXBzY2FsZS13aXRoLW1vZGlmaWVyLTIweDIwCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0B1cHNjYWxl LXdpdGgtcGl4ZWwtZm9ybWF0LTIweDIwCj4+ICtrbXNfcHJvcF9ibG9iQGludmFsaWQtc2V0LXBy b3AtYW55Cj4+ICtrbXNfcHJvcGVydGllc0BnZXRfcHJvcGVydGllcy1zYW5pdHktYXRvbWljCj4+ ICtrbXNfcHJvcGVydGllc0BwbGFuZS1wcm9wZXJ0aWVzLWF0b21pYwo+PiAra21zX3Byb3BlcnRp ZXNAcGxhbmUtcHJvcGVydGllcy1sZWdhY3kKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mYWlscy50eHQg Cj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmFpbHMudHh0Cj4+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uMzQ1ZTE0MjZiM2EzCj4+IC0tLSAv ZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmFpbHMudHh0 Cj4+IEBAIC0wLDAgKzEsNSBAQAo+PiAra21zXzNkLEZhaWwKPj4gK2ttc19hZGRmYl9iYXNpY0Bh ZGRmYjI1LWJhZC1tb2RpZmllcixGYWlsCj4+ICtrbXNfcHJvcGVydGllc0Bjb25uZWN0b3ItcHJv cGVydGllcy1hdG9taWMsRmFpbAo+PiAra21zX3Byb3BlcnRpZXNAZ2V0X3Byb3BlcnRpZXMtc2Fu aXR5LWF0b21pYyxGYWlsCj4+ICtrbXNfcHJvcGVydGllc0BnZXRfcHJvcGVydGllcy1zYW5pdHkt bm9uLWF0b21pYyxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmxha2VzLnR4dCAKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mbGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uYjYzMzI5ZDA2NzY3Cj4+IC0tLSAvZGV2L251bGwK Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmxha2VzLnR4dAo+PiBAQCAt MCwwICsxLDQgQEAKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtY29ubmVjdG9y LXN0YXRlCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNlLWVkaWQKPj4gK2ttc19m b3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtbG9hZC1kZXRlY3QKPj4gK2ttc19mb3JjZV9jb25u ZWN0b3JfYmFzaWNAcHJ1bmUtc3RhbGUtbW9kZXMKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmFpbHMu dHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODAxNi1mYWlscy50eHQKPj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi4xNmMyZGZhYjNmMTYKPj4g LS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmFp bHMudHh0Cj4+IEBAIC0wLDAgKzEsMTUgQEAKPj4gK2ttc18zZCxGYWlsCj4+ICtrbXNfYWRkZmJf YmFzaWNAYWRkZmIyNS1iYWQtbW9kaWZpZXIsRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAYWxs LXBpcGVzLWZvcmtlZC1tb3ZlLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGFsbC1waXBlcy10 b3J0dXJlLWJvLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGFsbC1waXBlcy1mb3JrZWQtYm8s RmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAYWxsLXBpcGVzLXNpbmdsZS1ibyxGYWlsCj4+ICtr bXNfY3Vyc29yX2xlZ2FjeUBhbGwtcGlwZXMtc2luZ2xlLW1vdmUsRmFpbAo+PiAra21zX2N1cnNv cl9sZWdhY3lAYWxsLXBpcGVzLXRvcnR1cmUtbW92ZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2Fj eUBwaXBlLUEtZm9ya2VkLWJvLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QHBpcGUtQS1mb3Jr ZWQtbW92ZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBwaXBlLUEtc2luZ2xlLWJvLEZhaWwK Pj4gK2ttc19jdXJzb3JfbGVnYWN5QHBpcGUtQS1zaW5nbGUtbW92ZSxGYWlsCj4+ICtrbXNfY3Vy c29yX2xlZ2FjeUBwaXBlLUEtdG9ydHVyZS1ibyxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBw aXBlLUEtdG9ydHVyZS1tb3ZlLEZhaWwKPj4gK2ttc19oZG1pX2luamVjdEBpbmplY3QtNGssRmFp bAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1hcHE4MDE2LWZsYWtlcy50 eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1hcHE4MDE2LWZsYWtlcy50eHQKPj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5iNjMzMjlkMDY3NjcKPj4g LS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmxh a2VzLnR4dAo+PiBAQCAtMCwwICsxLDQgQEAKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNA Zm9yY2UtY29ubmVjdG9yLXN0YXRlCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNl LWVkaWQKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtbG9hZC1kZXRlY3QKPj4g K2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAcHJ1bmUtc3RhbGUtbW9kZXMKPj4gXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNt LWFwcTgwOTYtZmFpbHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1m YWlscy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi44 OGExZmMwYTNiMGQKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kv bXNtLWFwcTgwOTYtZmFpbHMudHh0Cj4+IEBAIC0wLDAgKzEsMiBAQAo+PiAra21zXzNkLEZhaWwK Pj4gK2ttc19hZGRmYl9iYXNpY0BhZGRmYjI1LWJhZC1tb2RpZmllcixGYWlsCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwOTYtZmxha2VzLnR4dCAKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwOTYtZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmI2MzMyOWQwNjc2Nwo+PiAtLS0gL2Rldi9udWxs Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1mbGFrZXMudHh0Cj4+IEBA IC0wLDAgKzEsNCBAQAo+PiAra21zX2ZvcmNlX2Nvbm5lY3Rvcl9iYXNpY0Bmb3JjZS1jb25uZWN0 b3Itc3RhdGUKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtZWRpZAo+PiAra21z X2ZvcmNlX2Nvbm5lY3Rvcl9iYXNpY0Bmb3JjZS1sb2FkLWRldGVjdAo+PiAra21zX2ZvcmNlX2Nv bm5lY3Rvcl9iYXNpY0BwcnVuZS1zdGFsZS1tb2Rlcwo+PiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1za2lw cy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1hcHE4MDk2LXNraXBzLnR4dAo+PiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmNkNDljOGNlMjA1OQo+ PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1z a2lwcy50eHQKPj4gQEAgLTAsMCArMSwyIEBACj4+ICsjIFdob2xlIG1hY2hpbmUgaGFuZ3MKPj4g K2ttc19jdXJzb3JfbGVnYWN5QGFsbC1waXBlcy10b3J0dXJlLW1vdmUKPj4gXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNj NzE4MC1mYWlscy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtZmFpbHMu dHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uMGIxNTli NjQ2OWM4Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1z YzcxODAtZmFpbHMudHh0Cj4+IEBAIC0wLDAgKzEsMjIgQEAKPj4gK2ttc19jdXJzb3JfbGVnYWN5 QGN1cnNvci12cy1mbGlwLXRvZ2dsZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBjdXJzb3JB LXZzLWZsaXBBLWF0b21pYy10cmFuc2l0aW9ucyxDcmFzaAo+PiAra21zX3BsYW5lQHBpeGVsLWZv cm1hdCxGYWlsCj4+ICtrbXNfcGxhbmVAcGl4ZWwtZm9ybWF0LXNvdXJjZS1jbGFtcGluZyxGYWls Cj4+ICtrbXNfcGxhbmVAcGxhbmUtcG9zaXRpb24tY292ZXJlZCxGYWlsCj4+ICtrbXNfcGxhbmVA cGxhbmUtcG9zaXRpb24taG9sZSxGYWlsCj4+ICtrbXNfcGxhbmVAcGxhbmUtcG9zaXRpb24taG9s ZS1kcG1zLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtN2VmYyxG YWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvdmVyYWdlLTdlZmMsRmFpbAo+ PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQS1jb3ZlcmFnZS12cy1wcmVtdWx0LXZzLWNv bnN0YW50LEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtN2VmYyxG YWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWFscGhhLWJhc2ljLEZhaWwKPj4g K2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtb3BhcXVlLWZiLEZhaWwKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxwaGEtbWF4LEZhaWwKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxwaGEtbWlkLEZhaWwKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY292ZXJhZ2UtN2VmYyxGYWlsCj4+ICtrbXNfcGxh bmVfYWxwaGFfYmxlbmRAcGlwZS1CLWNvdmVyYWdlLXZzLXByZW11bHQtdnMtY29uc3RhbnQsRmFp bAo+PiAra21zX3BsYW5lX211bHRpcGxlQGF0b21pYy1waXBlLUEtdGlsaW5nLW5vbmUsQ3Jhc2gK Pj4gK2ttc19ybWZiQGNsb3NlLWZkLEZhaWwKPj4gK2ttc19yb3RhdGlvbl9jcmNAcHJpbWFyeS1y b3RhdGlvbi0xODAsRmFpbAo+PiAra21zX3VuaXZlcnNhbF9wbGFuZUBkaXNhYmxlLXByaW1hcnkt dnMtZmxpcC1waXBlLUIsRmFpbAo+PiAra21zX3VuaXZlcnNhbF9wbGFuZUBkaXNhYmxlLXByaW1h cnktdnMtZmxpcC1waXBlLWIsRmFpbAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Np L21zbS1zYzcxODAtZmxha2VzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4 MC1mbGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAw MC4uNjAyMmVkYWNlMTkwCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2NpL21zbS1zYzcxODAtZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxLDE0IEBACj4+ICsjIFRlc3Qg ZW5kcyB1cCByZWFkaW5nIENSQyBmcm9tIGZyYW1lIGJlZm9yZSBjdXJzb3IgdXBkYXRlCj4+ICsj IHNvbWV0aW1lcy4uIHRiZCBpZiB0aGlzIGlzIGEga2VybmVsIENSQyBidWcgb3IgYSB0ZXN0Cj4+ ICsjIGJ1Zwo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS0uKgo+PiArCj4+ICtrbXNfY3Vyc29yX2Vk Z2Vfd2Fsa0BwaXBlLUEtNjR4NjQtYm90dG9tLWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxr QHBpcGUtQS02NHg2NC1sZWZ0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQS02 NHg2NC1yaWdodC1lZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUEtNjR4NjQtdG9w LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02NHg2NC1ib3R0b20tZWRnZQo+ PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1CLTY0eDY0LWxlZnQtZWRnZQo+PiAra21zX2N1 cnNvcl9lZGdlX3dhbGtAcGlwZS1CLTY0eDY0LXJpZ2h0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRn ZV93YWxrQHBpcGUtQi02NHg2NC10b3AtZWRnZQo+PiAra21zX3BsYW5lX211bHRpcGxlQGF0b21p Yy1waXBlLUEtdGlsaW5nLW5vbmUKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1za2lwcy50eHQgCj4+IGIv ZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtc2tpcHMudHh0Cj4+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNDA5MTZkZGZmODFmCj4+IC0tLSAvZGV2L251 bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtc2tpcHMudHh0Cj4+IEBA IC0wLDAgKzEsMTggQEAKPj4gKyMgU3VzcGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9u IHRoaXMgbWFjaGluZQo+PiArLipzdXNwZW5kLioKPj4gKwo+PiArIyBUZXN0IGluY29ycmVjdGx5 IGFzc3VtZXMgdGhhdCBDVE0gc3VwcG9ydCBpbXBsaWVzIGdhbW1hL2RlZ2FtbWEKPj4gKyMgTFVU IHN1cHBvcnQuwqAgTm9uZSBvZiB0aGUgc3VidGVzdHMgaGFuZGxlIHRoZSBjYXNlIG9mIG9ubHkg aGF2aW5nCj4+ICsjIENUTSBzdXBwb3J0Cj4+ICtrbXNfY29sb3IuKgo+PiArCj4+ICsjIDRrQDYw IGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBodywgYnV0IGRyaXZlciBkb2Vzbid0IGhhbmRsZSBp dAo+PiArIyB0b28gZ3JhY2VmdWxseS4uIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9k cm0vbXNtLy0vaXNzdWVzLzE1Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0uKi1kaXNwbGF5cy0z ODQweDIxNjBwCj4+ICsKPj4gKyMgVW50aWwgaWd0IGZpeCBsYW5kczogaHR0cHM6Ly9wYXRjaHdv cmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzQ5MzE3NS8KPj4gK2ttc19id0BsaW5lYXItdGlsaW5n LTIuKgo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy4qCj4+ICtrbXNfYndAbGluZWFyLXRpbGlu Zy00LioKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTUuKgo+PiAra21zX2J3QGxpbmVhci10aWxp bmctNi4qCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2NpL21zbS1zZG04NDUtZmFpbHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9jaS9tc20tc2RtODQ1LWZhaWxzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRl eCAwMDAwMDAwMDAwMDAuLjgxMzM5MjdhNDRkZgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LWZhaWxzLnR4dAo+PiBAQCAtMCwwICsxLDQ0IEBA Cj4+ICtrbXNfY29sb3JAcGlwZS1BLWN0bS0wLTI1LEZhaWwKPj4gK2ttc19jb2xvckBwaXBlLUEt Y3RtLTAtNSxGYWlsCj4+ICtrbXNfY29sb3JAcGlwZS1BLWN0bS0wLTc1LEZhaWwKPj4gK2ttc19j b2xvckBwaXBlLUEtY3RtLWJsdWUtdG8tcmVkLEZhaWwKPj4gK2ttc19jb2xvckBwaXBlLUEtY3Rt LWdyZWVuLXRvLXJlZCxGYWlsCj4+ICtrbXNfY29sb3JAcGlwZS1BLWN0bS1tYXgsRmFpbAo+PiAr a21zX2NvbG9yQHBpcGUtQS1jdG0tbmVnYXRpdmUsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQS1j dG0tcmVkLXRvLWJsdWUsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQS1sZWdhY3ktZ2FtbWEsRmFp bAo+PiAra21zX2N1cnNvcl9sZWdhY3lAYmFzaWMtZmxpcC1hZnRlci1jdXJzb3ItYXRvbWljLEZh aWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGJhc2ljLWZsaXAtYWZ0ZXItY3Vyc29yLWxlZ2FjeSxG YWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBiYXNpYy1mbGlwLWJlZm9yZS1jdXJzb3ItYXRvbWlj LEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGJhc2ljLWZsaXAtYmVmb3JlLWN1cnNvci1sZWdh Y3ksRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAY3Vyc29yLXZzLWZsaXAtYXRvbWljLEZhaWwK Pj4gK2ttc19jdXJzb3JfbGVnYWN5QGN1cnNvci12cy1mbGlwLWF0b21pYy10cmFuc2l0aW9ucyxG YWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBjdXJzb3ItdnMtZmxpcC1sZWdhY3ksRmFpbAo+PiAr a21zX2N1cnNvcl9sZWdhY3lAY3Vyc29yLXZzLWZsaXAtdG9nZ2xlLEZhaWwKPj4gK2ttc19jdXJz b3JfbGVnYWN5QGZsaXAtdnMtY3Vyc29yLWF0b21pYyxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2Fj eUBmbGlwLXZzLWN1cnNvci1jcmMtYXRvbWljLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGZs aXAtdnMtY3Vyc29yLWNyYy1sZWdhY3ksRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAZmxpcC12 cy1jdXJzb3ItbGVnYWN5LEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QHNob3J0LWZsaXAtYWZ0 ZXItY3Vyc29yLWF0b21pYy10cmFuc2l0aW9ucyxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBz aG9ydC1mbGlwLWFmdGVyLWN1cnNvci10b2dnbGUsRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lA c2hvcnQtZmxpcC1iZWZvcmUtY3Vyc29yLWF0b21pYy10cmFuc2l0aW9ucyxGYWlsCj4+ICtrbXNf Y3Vyc29yX2xlZ2FjeUBzaG9ydC1mbGlwLWJlZm9yZS1jdXJzb3ItdG9nZ2xlLEZhaWwKPj4gK2tt c19wbGFuZUBwaXhlbC1mb3JtYXQsRmFpbAo+PiAra21zX3BsYW5lQHBpeGVsLWZvcm1hdC1zb3Vy Y2UtY2xhbXBpbmcsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQS1hbHBoYS03 ZWZjLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtY292ZXJhZ2UtN2VmYyxG YWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvdmVyYWdlLXZzLXByZW11bHQt dnMtY29uc3RhbnQsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBlLUEtb3ZlcmxheS1zaXpl LTEyOCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQS1vdmVybGF5LXNpemUtMjU2LEZh aWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1BLW92ZXJsYXktc2l6ZS02NCxGYWlsCj4+ICtr bXNfcGxhbmVfY3Vyc29yQHBpcGUtQS12aWV3cG9ydC1zaXplLTEyOCxGYWlsCj4+ICtrbXNfcGxh bmVfY3Vyc29yQHBpcGUtQS12aWV3cG9ydC1zaXplLTI1NixGYWlsCj4+ICtrbXNfcGxhbmVfY3Vy c29yQHBpcGUtQS12aWV3cG9ydC1zaXplLTY0LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQGRv d25zY2FsZS13aXRoLXBpeGVsLWZvcm1hdC1mYWN0b3ItMC0yNSxUaW1lb3V0Cj4+ICtrbXNfcGxh bmVfc2NhbGluZ0Bkb3duc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtZmFjdG9yLTAtNSxUaW1lb3V0 Cj4+ICtrbXNfcGxhbmVfc2NhbGluZ0Bkb3duc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtZmFjdG9y LTAtNzUsVGltZW91dAo+PiAra21zX3BsYW5lX3NjYWxpbmdAaW52YWxpZC1udW0tc2NhbGVycyxG YWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0BwbGFuZXMtZG93bnNjYWxlLWZhY3Rvci0wLTI1LEZh aWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHNjYWxlci13aXRoLWNsaXBwaW5nLWNsYW1waW5nLFRp bWVvdXQKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHNjYWxlci13aXRoLXBpeGVsLWZvcm1hdC11bml0 eS1zY2FsaW5nLFRpbWVvdXQKPj4gK2ttc19ybWZiQGNsb3NlLWZkLEZhaWwKPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LWZsYWtlcy50eHQgCj4+IGIvZHJpdmVy cy9ncHUvZHJtL2NpL21zbS1zZG04NDUtZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0 NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmRhNDQwNmI3NDgyOAo+PiAtLS0gL2Rldi9udWxsCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LWZsYWtlcy50eHQKPj4gQEAgLTAs MCArMSwzMyBAQAo+PiArIyBUZXN0IGVuZHMgdXAgcmVhZGluZyBDUkMgZnJvbSBmcmFtZSBiZWZv cmUgY3Vyc29yIHVwZGF0ZQo+PiArIyBzb21ldGltZXMuLiB0YmQgaWYgdGhpcyBpcyBhIGtlcm5l bCBDUkMgYnVnIG9yIGEgdGVzdAo+PiArIyBidWcKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1j dXJzb3ItYWxwaGEtb3BhcXVlCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLWRwbXMK Pj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3Itc2l6ZS1jaGFuZ2UKPj4gK2ttc19jdXJz b3JfbGVnYWN5QGZsaXAtdnMtY3Vyc29yLXRvZ2dsZQo+PiAra21zX2N1cnNvcl9sZWdhY3lAcGlw ZS1BLWZvcmtlZC1ibwo+PiAra21zX2N1cnNvcl9sZWdhY3lAcGlwZS1BLWZvcmtlZC1tb3ZlCj4+ ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDEwLW9mZnNjcmVlbgo+PiAra21zX2N1 cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngxMC1vbnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci0zMngxMC1yYW5kb20KPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJz b3ItMzJ4MTAtc2xpZGluZwo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1v ZmZzY3JlZW4KPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItb25zY3JlZW4K Pj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItcmFuZG9tCj4+ICtrbXNfY3Vy c29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDMyLXNsaWRpbmcKPj4gK2ttc19jdXJzb3JfY3JjQHBp cGUtQS1jdXJzb3ItNjR4MjEtb2Zmc2NyZWVuCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vy c29yLTY0eDIxLW9uc2NyZWVuCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTY0eDIx LXJhbmRvbQo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1zbGlkaW5nCj4+ ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTY0eDY0LW9mZnNjcmVlbgo+PiAra21zX2N1 cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHg2NC1vbnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci02NHg2NC1yYW5kb20KPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJz b3ItNjR4NjQtc2xpZGluZwo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci1kcG1zCj4+ ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLXN1c3BlbmQKPj4gK2ttc19jdXJzb3JfZWRn ZV93YWxrQHBpcGUtQS02NHg2NC1ib3R0b20tZWRnZQo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtA cGlwZS1BLTY0eDY0LWxlZnQtZWRnZQo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1BLTY0 eDY0LXJpZ2h0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQS02NHg2NC10b3At ZWRnZQo+PiArCj4+ICtrbXNfZmxpcEBkcG1zLXZzLXZibGFuay1yYWNlLWludGVycnVwdGlibGUK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LXNraXBzLnR4dCAK Pj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNkbTg0NS1za2lwcy50eHQKPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi40MjY3NWYxYzZkNzYKPj4gLS0tIC9k ZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNkbTg0NS1za2lwcy50eHQK Pj4gQEAgLTAsMCArMSwyIEBACj4+ICsjIEhhbmdzIG1hY2hpbmUKPj4gK2ttc19idy4qCj4+IFwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2NpL3JvY2tjaGlwLXJrMzI4OC1mYWlscy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL3Jv Y2tjaGlwLXJrMzI4OC1mYWlscy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXgg MDAwMDAwMDAwMDAwLi5lMmEyNjQ2NDdhNTgKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMjg4LWZhaWxzLnR4dAo+PiBAQCAtMCwwICsxLDc1 IEBACj4+ICtrbXNfM2QsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQGFkZGZiMjUtYmFkLW1vZGlm aWVyLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcCxG YWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+ PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2tt c19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndA bGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMy1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBp cGUtQS1jdXJzb3ItMzJ4MTAtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1B LWN1cnNvci0zMngxMC1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNv ci0zMngxMC1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4 MzItb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1y YW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1zbGlkaW5n LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4MjEtb25zY3JlZW4sRmFp bAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1yYW5kb20sRmFpbAo+PiAr a21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1zbGlkaW5nLEZhaWwKPj4gK2ttc19j dXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4NjQtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNv cl9jcmNAcGlwZS1BLWN1cnNvci02NHg2NC1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci02NHg2NC1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUt QS1jdXJzb3ItYWxwaGEtb3BhcXVlLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJz b3ItZHBtcyxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLXNpemUtY2hhbmdl LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtb25zY3JlZW4sRmFp bAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1yYW5kb20sRmFpbAo+PiAr a21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1zbGlkaW5nLEZhaWwKPj4gK2ttc19j dXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNv cl9jcmNAcGlwZS1CLWN1cnNvci0zMngzMi1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1CLWN1cnNvci0zMngzMi1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUt Qi1jdXJzb3ItNjR4MjEtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1 cnNvci02NHgyMS1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci02 NHg2NC1vbnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0 LXJhbmRvbSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0LXNsaWRp bmcsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1hbHBoYS1vcGFxdWUsRmFp bAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1zaXplLWNoYW5nZSxGYWlsCj4+ICtr bXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNlLWNvbm5lY3Rvci1zdGF0ZSxGYWlsCj4+ICtr bXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNlLWVkaWQsRmFpbAo+PiAra21zX2ZvcmNlX2Nv bm5lY3Rvcl9iYXNpY0Bmb3JjZS1sb2FkLWRldGVjdCxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVj dG9yX2Jhc2ljQHBydW5lLXN0YWxlLW1vZGVzLEZhaWwKPj4gK2ttc19pbnZhbGlkX21vZGVAaW50 LW1heC1jbG9jayxGYWlsCj4+ICtrbXNfcGlwZV9jcmNfYmFzaWNAbm9uYmxvY2tpbmctY3JjLXBp cGUtQS1mcmFtZS1zZXF1ZW5jZSxGYWlsCj4+ICtrbXNfcGlwZV9jcmNfYmFzaWNAbm9uYmxvY2tp bmctY3JjLXBpcGUtQi1mcmFtZS1zZXF1ZW5jZSxGYWlsCj4+ICtrbXNfcGlwZV9jcmNfYmFzaWNA cmVhZC1jcmMtcGlwZS1BLWZyYW1lLXNlcXVlbmNlLEZhaWwKPj4gK2ttc19waXBlX2NyY19iYXNp Y0ByZWFkLWNyYy1waXBlLUItZnJhbWUtc2VxdWVuY2UsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNv ckBwaXBlLUEtb3ZlcmxheS1zaXplLTEyOCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUt QS1vdmVybGF5LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1BLW92ZXJs YXktc2l6ZS02NCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQS1wcmltYXJ5LXNpemUt MTI4LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1BLXByaW1hcnktc2l6ZS0yNTYsRmFp bAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBlLUEtcHJpbWFyeS1zaXplLTY0LEZhaWwKPj4gK2tt c19wbGFuZV9jdXJzb3JAcGlwZS1BLXZpZXdwb3J0LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFu ZV9jdXJzb3JAcGlwZS1BLXZpZXdwb3J0LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJz b3JAcGlwZS1BLXZpZXdwb3J0LXNpemUtNjQsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBl LUItb3ZlcmxheS1zaXplLTEyOCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQi1vdmVy bGF5LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLW92ZXJsYXktc2l6 ZS02NCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQi1wcmltYXJ5LXNpemUtMTI4LEZh aWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXByaW1hcnktc2l6ZS0yNTYsRmFpbAo+PiAr a21zX3BsYW5lX2N1cnNvckBwaXBlLUItcHJpbWFyeS1zaXplLTY0LEZhaWwKPj4gK2ttc19wbGFu ZV9jdXJzb3JAcGlwZS1CLXZpZXdwb3J0LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJz b3JAcGlwZS1CLXZpZXdwb3J0LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlw ZS1CLXZpZXdwb3J0LXNpemUtNjQsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93bnNjYWxl LXdpdGgtbW9kaWZpZXItZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93 bnNjYWxlLXdpdGgtcm90YXRpb24tZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxp bmdAdXBzY2FsZS13aXRoLW1vZGlmaWVyLTIweDIwLEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5n QHVwc2NhbGUtd2l0aC1tb2RpZmllci1mYWN0b3ItMC0yNSxGYWlsCj4+ICtrbXNfcGxhbmVfc2Nh bGluZ0B1cHNjYWxlLXdpdGgtcGl4ZWwtZm9ybWF0LTIweDIwLEZhaWwKPj4gK2ttc19wbGFuZV9z Y2FsaW5nQHVwc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtZmFjdG9yLTAtMjUsRmFpbAo+PiAra21z X3BsYW5lX3NjYWxpbmdAdXBzY2FsZS13aXRoLXJvdGF0aW9uLTIweDIwLEZhaWwKPj4gK2ttc19w cmltZUBiYXNpYy1jcmMsRmFpbAo+PiAra21zX3Byb3BlcnRpZXNAY29ubmVjdG9yLXByb3BlcnRp ZXMtYXRvbWljLEZhaWwKPj4gK2ttc19wcm9wZXJ0aWVzQGdldF9wcm9wZXJ0aWVzLXNhbml0eS1h dG9taWMsRmFpbAo+PiAra21zX3Byb3BlcnRpZXNAZ2V0X3Byb3BlcnRpZXMtc2FuaXR5LW5vbi1h dG9taWMsRmFpbAo+PiAra21zX3JtZmJAY2xvc2UtZmQsRmFpbAo+PiBcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1y azMyODgtZmxha2VzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMjg4 LWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAw Li40NDdmYjI2Y2MzNDQKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v Y2kvcm9ja2NoaXAtcmszMjg4LWZsYWtlcy50eHQKPj4gQEAgLTAsMCArMSw1IEBACj4+ICtrbXNf Y3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLWRwbXMKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBp cGUtQS02NHg2NC1yaWdodC1lZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUEtNjR4 NjQtdG9wLWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02NHg2NC1yaWdodC1l ZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4NjQtdG9wLWVkZ2UKPj4gXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v Y2kvcm9ja2NoaXAtcmszMjg4LXNraXBzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvcm9j a2NoaXAtcmszMjg4LXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAw MDAwMDAwMDAwMDAuLjI2ZjlhMDNmYzA3NAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMyODgtc2tpcHMudHh0Cj4+IEBAIC0wLDAgKzEsNDYg QEAKPj4gKyMgU3VzcGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9uIHRoaXMgbWFjaGlu ZQo+PiArLipzdXNwZW5kLioKPj4gKwo+PiArIyBUb28gdW5zdGFibGUsIG1hY2hpbmUgZW5kcyB1 cCBoYW5naW5nIGFmdGVyIGxvdHMgb2YgT29wc2VzCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeS4qCj4+ ICsKPj4gKyMgU3RhcnRlZCBoYW5naW5nIHRoZSBtYWNoaW5lIG9uIExpbnV4IDUuMTktcmMyOgo+ PiArIwo+PiArIyBbSUdUXSBrbXNfcGxhbmVfbG93cmVzOiBleGVjdXRpbmcKPj4gKyMgW0lHVF0g a21zX3BsYW5lX2xvd3Jlczogc3RhcnRpbmcgc3VidGVzdCBwaXBlLUYtdGlsaW5nLXkKPj4gKyMg W0lHVF0ga21zX3BsYW5lX2xvd3JlczogZXhpdGluZywgcmV0PTc3Cj4+ICsjIENvbnNvbGU6IHN3 aXRjaGluZyB0byBjb2xvdXIgZnJhbWUgYnVmZmVyIGRldmljZSAxNzB4NDgKPj4gKyMgcm9ja2No aXAtZHJtIGRpc3BsYXktc3Vic3lzdGVtOiBbZHJtXSAqRVJST1IqIGZsaXBfZG9uZSB0aW1lZCBv dXQKPj4gKyMgcm9ja2NoaXAtZHJtIGRpc3BsYXktc3Vic3lzdGVtOiBbZHJtXSAqRVJST1IqIFtD UlRDOjM1OmNydGMtMF0gCj4+IGNvbW1pdCB3YWl0IHRpbWVkIG91dAo+PiArIyBCVUc6IHNwaW5s b2NrIGJhZCBtYWdpYyBvbiBDUFUjMywga21zX3BsYW5lX2xvd3JlLzQ4Mgo+PiArIyA4PC0tLSBj dXQgaGVyZSAtLS0KPj4gKyMgVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3Qg YXQgdmlydHVhbCBhZGRyZXNzIDc4MTIwNzhlCj4+ICsjIFs3ODEyMDc4ZV0gKnBnZD0wMDAwMDAw MAo+PiArIyBJbnRlcm5hbCBlcnJvcjogT29wczogNSBbIzFdIFNNUCBBUk0KPj4gKyMgTW9kdWxl cyBsaW5rZWQgaW46Cj4+ICsjIENQVTogMyBQSUQ6IDQ4MiBDb21tOiBrbXNfcGxhbmVfbG93cmUg VGFpbnRlZDogR8KgwqDCoMKgwqDCoMKgIFcgICAgICAgICAKPj4gNS4xOS4wLXJjMi0zMjM1OTYt ZzAwNTM1ZGU5MjE3MSAjMQo+PiArIyBIYXJkd2FyZSBuYW1lOiBSb2NrY2hpcCAoRGV2aWNlIFRy ZWUpCj4+ICsjIFByb2Nlc3Mga21zX3BsYW5lX2xvd3JlIChwaWQ6IDQ4Miwgc3RhY2sgbGltaXQg PSAweDExOTNhYzJiKQo+PiArI8KgIHNwaW5fZHVtcCBmcm9tIGRvX3Jhd19zcGluX2xvY2srMHhh NC8weGU4Cj4+ICsjwqAgZG9fcmF3X3NwaW5fbG9jayBmcm9tIHdhaXRfZm9yX2NvbXBsZXRpb25f dGltZW91dCsweDJjLzB4MTIwCj4+ICsjwqAgd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0IGZy b20gZHJtX2NydGNfY29tbWl0X3dhaXQrMHgxOC8weDdjCj4+ICsjwqAgZHJtX2NydGNfY29tbWl0 X3dhaXQgZnJvbSAKPj4gZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZGVwZW5kZW5jaWVzKzB4 NDQvMHgxNjgKPj4gKyPCoCBkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl9kZXBlbmRlbmNpZXMg ZnJvbSBjb21taXRfdGFpbCsweDM0LzB4MTgwCj4+ICsjwqAgY29tbWl0X3RhaWwgZnJvbSBkcm1f YXRvbWljX2hlbHBlcl9jb21taXQrMHgxNjQvMHgxOGMKPj4gKyPCoCBkcm1fYXRvbWljX2hlbHBl cl9jb21taXQgZnJvbSBkcm1fYXRvbWljX2NvbW1pdCsweGFjLzB4ZTQKPj4gKyPCoCBkcm1fYXRv bWljX2NvbW1pdCBmcm9tIGRybV9jbGllbnRfbW9kZXNldF9jb21taXRfYXRvbWljKzB4MjNjLzB4 Mjg0Cj4+ICsjwqAgZHJtX2NsaWVudF9tb2Rlc2V0X2NvbW1pdF9hdG9taWMgZnJvbSAKPj4gZHJt X2NsaWVudF9tb2Rlc2V0X2NvbW1pdF9sb2NrZWQrMHg2MC8weDFjOAo+PiArI8KgIGRybV9jbGll bnRfbW9kZXNldF9jb21taXRfbG9ja2VkIGZyb20gCj4+IGRybV9jbGllbnRfbW9kZXNldF9jb21t aXQrMHgyNC8weDQwCj4+ICsjwqAgZHJtX2NsaWVudF9tb2Rlc2V0X2NvbW1pdCBmcm9tIGRybV9m YmRldl9jbGllbnRfcmVzdG9yZSsweDU4LzB4OTQKPj4gKyPCoCBkcm1fZmJkZXZfY2xpZW50X3Jl c3RvcmUgZnJvbSBkcm1fY2xpZW50X2Rldl9yZXN0b3JlKzB4NzAvMHhiYwo+PiArI8KgIGRybV9j bGllbnRfZGV2X3Jlc3RvcmUgZnJvbSBkcm1fcmVsZWFzZSsweGY0LzB4MTE0Cj4+ICsjwqAgZHJt X3JlbGVhc2UgZnJvbSBfX2ZwdXQrMHg3NC8weDI0MAo+PiArI8KgIF9fZnB1dCBmcm9tIHRhc2tf d29ya19ydW4rMHg4NC8weGI0Cj4+ICsjwqAgdGFza193b3JrX3J1biBmcm9tIGRvX2V4aXQrMHgz NGMvMHhhMjAKPj4gKyPCoCBkb19leGl0IGZyb20gZG9fZ3JvdXBfZXhpdCsweDM0LzB4OTgKPj4g KyPCoCBkb19ncm91cF9leGl0IGZyb20gX193YWtlX3VwX3BhcmVudCsweDAvMHgxOAo+PiArIyBD b2RlOiBlNTk1YzAwOCAxMjg0M2QxOSAwM2UwMDAwMCAwMzA5MzE2OCAoMTU5NDA1MDgpCj4+ICsj IC0tLVsgZW5kIHRyYWNlIDAwMDAwMDAwMDAwMDAwMDAgXS0tLQo+PiArIyBub3RlOiBrbXNfcGxh bmVfbG93cmVbNDgyXSBleGl0ZWQgd2l0aCBwcmVlbXB0X2NvdW50IDEKPj4gKyMgRml4aW5nIHJl Y3Vyc2l2ZSBmYXVsdCBidXQgcmVib290IGlzIG5lZWRlZCEKPj4gK2ttc19wbGFuZV9sb3dyZXNA cGlwZS1GLXRpbGluZy15Cj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1mYWlscy50eHQgCj4+IGIv ZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1mYWlscy50eHQKPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi4wZjhhZmE3ZTJhZGMKPj4gLS0tIC9k ZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZhaWxz LnR4dAo+PiBAQCAtMCwwICsxLDg2IEBACj4+ICtrbXNfYWRkZmJfYmFzaWNAYWRkZmIyNS1iYWQt bW9kaWZpZXIsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQS1sZWdhY3ktZ2FtbWEsRmFpbAo+PiAr a21zX2NvbG9yQHBpcGUtQi1sZWdhY3ktZ2FtbWEsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlw ZS1BLWN1cnNvci0zMngxMC1vZmZzY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1B LWN1cnNvci0zMngxMC1vbnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vy c29yLTMyeDEwLXJhbmRvbSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMy eDEwLXJhcGlkLW1vdmVtZW50LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3It MzJ4MTAtc2xpZGluZyxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDMy LW9mZnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDMyLW9u c2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItcmFuZG9t LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItcmFwaWQtbW92ZW1l bnQsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1zbGlkaW5nLEZh aWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4MjEtb25zY3JlZW4sRmFpbAo+ PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1yYW5kb20sRmFpbAo+PiAra21z X2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJz b3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4NjQtb2Zmc2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3Jf Y3JjQHBpcGUtQS1jdXJzb3ItNjR4NjQtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci02NHg2NC1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1B LWN1cnNvci02NHg2NC1yYXBpZC1tb3ZlbWVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBl LUEtY3Vyc29yLTY0eDY0LXNsaWRpbmcsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1 cnNvci1hbHBoYS1vcGFxdWUsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci1h bHBoYS10cmFuc3BhcmVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLWRw bXMsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci1zaXplLWNoYW5nZSxGYWls Cj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTMyeDEwLW9uc2NyZWVuLEZhaWwKPj4g K2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtcmFuZG9tLEZhaWwKPj4gK2ttc19j dXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtcmFwaWQtbW92ZW1lbnQsRmFpbAo+PiAra21z X2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJz b3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb2Zmc2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3Jf Y3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1CLWN1cnNvci0zMngzMi1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1C LWN1cnNvci0zMngzMi1yYXBpZC1tb3ZlbWVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBl LUItY3Vyc29yLTMyeDMyLXNsaWRpbmcsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1 cnNvci02NHgyMS1vbnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29y LTY0eDIxLXJhbmRvbSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDIx LXJhcGlkLW1vdmVtZW50LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItNjR4 NjQtb2Zmc2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItNjR4NjQt b25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci02NHg2NC1yYW5k b20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci02NHg2NC1yYXBpZC1tb3Zl bWVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0LXNsaWRpbmcs RmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1hbHBoYS1vcGFxdWUsRmFpbAo+ PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1kcG1zLEZhaWwKPj4gK2ttc19jdXJzb3Jf Y3JjQHBpcGUtQi1jdXJzb3Itc2l6ZS1jaGFuZ2UsRmFpbAo+PiAra21zX2N1cnNvcl9lZGdlX3dh bGtAcGlwZS1BLTY0eDY0LWJvdHRvbS1lZGdlLEZhaWwKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxr QHBpcGUtQS02NHg2NC1sZWZ0LWVkZ2UsRmFpbAo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlw ZS1BLTY0eDY0LXRvcC1lZGdlLEZhaWwKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02 NHg2NC1ib3R0b20tZWRnZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4 NjQtcmlnaHQtZWRnZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4NjQt dG9wLWVkZ2UsRmFpbAo+PiAra21zX2ludmFsaWRfbW9kZUBpbnQtbWF4LWNsb2NrLEZhaWwKPj4g K2ttc19waXBlX2NyY19iYXNpY0Bjb21wYXJlLWNyYy1zYW5pdHljaGVjay1waXBlLUEsRmFpbAo+ PiAra21zX3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUEsRmFpbAo+PiAra21z X3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUEtZnJhbWUtc2VxdWVuY2UsRmFp bAo+PiAra21zX3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUIsRmFpbAo+PiAr a21zX3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUItZnJhbWUtc2VxdWVuY2Us RmFpbAo+PiAra21zX3BpcGVfY3JjX2Jhc2ljQHJlYWQtY3JjLXBpcGUtQSxGYWlsCj4+ICtrbXNf cGlwZV9jcmNfYmFzaWNAcmVhZC1jcmMtcGlwZS1BLWZyYW1lLXNlcXVlbmNlLEZhaWwKPj4gK2tt c19waXBlX2NyY19iYXNpY0ByZWFkLWNyYy1waXBlLUIsRmFpbAo+PiAra21zX3BpcGVfY3JjX2Jh c2ljQHJlYWQtY3JjLXBpcGUtQi1mcmFtZS1zZXF1ZW5jZSxGYWlsCj4+ICtrbXNfcGxhbmVAcGxh bmUtcGFubmluZy1ib3R0b20tcmlnaHQsRmFpbAo+PiAra21zX3BsYW5lQHBsYW5lLXBhbm5pbmct dG9wLWxlZnQsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBlLUItb3ZlcmxheS1zaXplLTEy OCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQi1vdmVybGF5LXNpemUtMjU2LEZhaWwK Pj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLW92ZXJsYXktc2l6ZS02NCxGYWlsCj4+ICtrbXNf cGxhbmVfY3Vyc29yQHBpcGUtQi1wcmltYXJ5LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFuZV9j dXJzb3JAcGlwZS1CLXByaW1hcnktc2l6ZS0yNTYsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBw aXBlLUItcHJpbWFyeS1zaXplLTY0LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXZp ZXdwb3J0LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXZpZXdwb3J0 LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXZpZXdwb3J0LXNpemUt NjQsRmFpbAo+PiAra21zX3BsYW5lX211bHRpcGxlQGF0b21pYy1waXBlLUItdGlsaW5nLW5vbmUs RmFpbAo+PiAra21zX3ByaW1lQGJhc2ljLWNyYyxGYWlsCj4+ICtrbXNfcm1mYkBjbG9zZS1mZCxG YWlsCj4+ICtrbXNfdW5pdmVyc2FsX3BsYW5lQHVuaXZlcnNhbC1wbGFuZS1waXBlLUItZnVuY3Rp b25hbCxGYWlsCj4+ICtrbXNfdmJsYW5rQHBpcGUtQS1xdWVyeS1mb3JrZWQsRmFpbAo+PiAra21z X3ZibGFua0BwaXBlLUEtcXVlcnktaWRsZSxGYWlsCj4+ICtrbXNfdmJsYW5rQHBpcGUtQS13YWl0 LWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtd2FpdC1mb3JrZWQsRmFpbAo+PiAra21z X3ZibGFua0BwaXBlLUEtd2FpdC1mb3JrZWQtYnVzeSxGYWlsCj4+ICtrbXNfdmJsYW5rQHBpcGUt Qi1xdWVyeS1mb3JrZWQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUItcXVlcnktaWRsZSxGYWls Cj4+ICtrbXNfdmJsYW5rQHBpcGUtQi13YWl0LWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBl LUItd2FpdC1mb3JrZWQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUItd2FpdC1mb3JrZWQtYnVz eSxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMv Z3B1L2RybS9jaS9yb2NrY2hpcC1yazMzOTktZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmI0YzM3YTQzMTVlNAo+PiAtLS0gL2Rldi9udWxs Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMzOTktZmxha2VzLnR4dAo+ PiBAQCAtMCwwICsxLDI1IEBACj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTY0eDIx LW9mZnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1yYXBpZC1t b3ZlbWVudAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1vZmZzY3JlZW4K Pj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtcmFwaWQtbW92ZW1lbnQKPj4g K2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb2Zmc2NyZWVuCj4+ICtrbXNfY3Vy c29yX2NyY0BwaXBlLUItY3Vyc29yLTMyeDMyLXJhcGlkLW1vdmVtZW50Cj4+ICtrbXNfY3Vyc29y X2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0LW9mZnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNAcGlw ZS1CLWN1cnNvci02NHg2NC1yYXBpZC1tb3ZlbWVudAo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtA cGlwZS1BLTY0eDY0LXJpZ2h0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02 NHg2NC1sZWZ0LWVkZ2UKPj4gK2ttc19mbGlwQGZsaXAtdnMtZXhwaXJlZC12YmxhbmsKPj4gK2tt c19waXBlX2NyY19iYXNpY0Bjb21wYXJlLWNyYy1zYW5pdHljaGVjay1waXBlLUIKPj4gK2ttc19w bGFuZV9tdWx0aXBsZUBhdG9taWMtcGlwZS1BLXRpbGluZy1ub25lCj4+ICtrbXNfcGxhbmVAcGxh bmUtcG9zaXRpb24taG9sZQo+PiAra21zX3NlcXVlbmNlQGdldC1mb3JrZWQKPj4gK2ttc19zZXF1 ZW5jZUBnZXQtZm9ya2VkLWJ1c3kKPj4gK2ttc19zZXRtb2RlQGJhc2ljCj4+ICtrbXNfdmJsYW5r QHBpcGUtQS1hY2N1cmFjeS1pZGxlCj4+ICtrbXNfdmJsYW5rQHBpcGUtQS1xdWVyeS1idXN5Cj4+ ICtrbXNfdmJsYW5rQHBpcGUtQS1xdWVyeS1mb3JrZWQtYnVzeQo+PiAra21zX3ZibGFua0BwaXBl LUEtd2FpdC1pZGxlCj4+ICtrbXNfdmJsYW5rQHBpcGUtQi1hY2N1cmFjeS1pZGxlCj4+ICtrbXNf dmJsYW5rQHBpcGUtQi1xdWVyeS1idXN5Cj4+ICtrbXNfdmJsYW5rQHBpcGUtQi1xdWVyeS1mb3Jr ZWQtYnVzeQo+PiAra21zX3ZibGFua0BwaXBlLUItd2FpdC1pZGxlCj4+IFwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlw LXJrMzM5OS1za2lwcy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5 OS1za2lwcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAw Li4xMGMzZDgxYTkxOWEKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v Y2kvcm9ja2NoaXAtcmszMzk5LXNraXBzLnR4dAo+PiBAQCAtMCwwICsxLDUgQEAKPj4gKyMgU3Vz cGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9uIHRoaXMgbWFjaGluZQo+PiArLipzdXNw ZW5kLioKPj4gKwo+PiArIyBUb28gdW5zdGFibGUsIG1hY2hpbmUgZW5kcyB1cCBoYW5naW5nIGFm dGVyIGxvdHMgb2YgT29wc2VzCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeS4qCj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLWZhaWxzLnR4dCAKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLWZhaWxzLnR4dAo+PiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjIxNzhiZGQwNjRkZAo+PiAtLS0gL2Rldi9u dWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS92aXJ0aW9fZ3B1LW5vbmUtZmFpbHMudHh0 Cj4+IEBAIC0wLDAgKzEsMzggQEAKPj4gK2ttc19hZGRmYl9iYXNpY0BhZGRmYjI1LWJhZC1tb2Rp ZmllcixGYWlsCj4+ICtrbXNfYWRkZmJfYmFzaWNAYmFkLXBpdGNoLTY1NTM2LEZhaWwKPj4gK2tt c19hZGRmYl9iYXNpY0Biby10b28tc21hbGwsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQHNpemUt bWF4LEZhaWwKPj4gK2ttc19hZGRmYl9iYXNpY0B0b28taGlnaCxGYWlsCj4+ICtrbXNfYXRvbWlj X3RyYW5zaXRpb25AcGxhbmUtcHJpbWFyeS10b2dnbGUtd2l0aC12Ymxhbmstd2FpdCxGYWlsCj4+ ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21z X2J3QGxpbmVhci10aWxpbmctMS1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0Bs aW5lYXItdGlsaW5nLTEtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFy LXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxp bmctMi1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTIt ZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfaW52YWxpZF9tb2RlQGludC1tYXgtY2xv Y2ssRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93bnNjYWxlLXdpdGgtbW9kaWZpZXItZmFj dG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93bnNjYWxlLXdpdGgtcm90YXRp b24tZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUt MjB4MjAsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUtMjB4MjAtZG93 bnNjYWxlLWZhY3Rvci0wLTI1LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHBsYW5lcy11cHNj YWxlLTIweDIwLWRvd25zY2FsZS1mYWN0b3ItMC01LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5n QHBsYW5lcy11cHNjYWxlLTIweDIwLWRvd25zY2FsZS1mYWN0b3ItMC03NSxGYWlsCj4+ICtrbXNf cGxhbmVfc2NhbGluZ0B1cHNjYWxlLXdpdGgtbW9kaWZpZXItMjB4MjAsRmFpbAo+PiAra21zX3Bs YW5lX3NjYWxpbmdAdXBzY2FsZS13aXRoLW1vZGlmaWVyLWZhY3Rvci0wLTI1LEZhaWwKPj4gK2tt c19wbGFuZV9zY2FsaW5nQHVwc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtMjB4MjAsRmFpbAo+PiAr a21zX3BsYW5lX3NjYWxpbmdAdXBzY2FsZS13aXRoLXBpeGVsLWZvcm1hdC1mYWN0b3ItMC0yNSxG YWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0B1cHNjYWxlLXdpdGgtcm90YXRpb24tMjB4MjAsRmFp bAo+PiAra21zX3ZibGFua0BjcnRjLWlkLEZhaWwKPj4gK2ttc192YmxhbmtAaW52YWxpZCxGYWls Cj4+ICtrbXNfdmJsYW5rQHBpcGUtQS1hY2N1cmFjeS1pZGxlLEZhaWwKPj4gK2ttc192YmxhbmtA cGlwZS1BLXF1ZXJ5LWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtcXVlcnktZm9ya2Vk LEZhaWwKPj4gK2ttc192YmxhbmtAcGlwZS1BLXF1ZXJ5LWZvcmtlZC1idXN5LEZhaWwKPj4gK2tt c192YmxhbmtAcGlwZS1BLXF1ZXJ5LWlkbGUsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtdHMt Y29udGludWF0aW9uLWlkbGUsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtdHMtY29udGludWF0 aW9uLW1vZGVzZXQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtdHMtY29udGludWF0aW9uLXN1 c3BlbmQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtd2FpdC1idXN5LEZhaWwKPj4gK2ttc192 YmxhbmtAcGlwZS1BLXdhaXQtZm9ya2VkLEZhaWwKPj4gK2ttc192YmxhbmtAcGlwZS1BLXdhaXQt Zm9ya2VkLWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtd2FpdC1pZGxlLEZhaWwKPj4g XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vY2kvdmlydGlvX2dwdS1ub25lLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2Np L3ZpcnRpb19ncHUtbm9uZS1mbGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGlu ZGV4IDAwMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMmQxCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLXNraXBzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0v Y2kvdmlydGlvX2dwdS1ub25lLXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBp bmRleCAwMDAwMDAwMDAwMDAuLjc4YmUxODE3NDAxMgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9jaS92aXJ0aW9fZ3B1LW5vbmUtc2tpcHMudHh0Cj4+IEBAIC0wLDAg KzEsNiBAQAo+PiArIyBIaXRzIGEgInJlZmNvdW50X3Q6IHVuZGVyZmxvdzsgdXNlLWFmdGVyLWZy ZWUiIGluIAo+PiB2aXJ0aW9fZ3B1X2ZlbmNlX2V2ZW50X3Byb2Nlc3MKPj4gKyMgV2hlbiBydW4g aW4gYSBwYXJ0aWN1bGFyIG9yZGVyIHdpdGggb3RoZXIgdGVzdHMKPj4gK2ttc19jdXJzb3JfbGVn YWN5LioKPj4gKwo+PiArIyBKb2IganVzdCBoYW5ncyB3aXRob3V0IGFueSBvdXRwdXQKPj4gK2tt c19mbGlwQGZsaXAtdnMtc3VzcGVuZC4qCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+ IAo+IAoKLS0gClRvbWV1IFZpem9zbwpDb25zdWx0YW50IFByaW5jaXBhbCBTb2Z0d2FyZSBFbmdp bmVlcgoKQ29sbGFib3JhIEx0ZC4KUGxhdGludW0gQnVpbGRpbmcsIFN0IEpvaG4ncyBJbm5vdmF0 aW9uIFBhcmssIENhbWJyaWRnZSBDQjQgMERTLCBVbml0ZWQgCktpbmdkb20KUmVnaXN0ZXJlZCBp biBFbmdsYW5kICYgV2FsZXMsIG5vLiA1NTEzNzE4CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBtYWlsaW5nIGxpc3QKTGludXgt cm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 65D2EC19F2A for ; Thu, 11 Aug 2022 10:12:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=s07rzPxpQH9Lmbt6dKPTUADc3+vDI4jHMHCFcKxyCGo=; b=5CBuCoh+Ii4aNEJV1DERBZaCkC /2yRZEt1Bek52oFDgnam5OezoUR4jUG0JcjsV5Fw3UXw9DEvTrqa8YaosP3wBDBAe49GrcUiR7S8a h1dlNdGslQoPSDp9ncyVOcCQBZFdkpmZ46a4YJakjE72NJuW+LVYWcgEhONS1jFzCSb1ozqIf6410 C7u7RFNnhdu1GbmfXf5vBbrHmTk07UA54yKXjRXRaBYag9tQIsP47LshcTN9J4caXj8s0SQj6EZjO YjGNs2QaF3gHfcnJ4/dBWfqIkyoZa8dyx1YPY90snTKXVp/4kJ9X6p2zSY5ucUc5pitvbvmQWHgUP fxo/exYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oM59a-00B5MZ-Eg; Thu, 11 Aug 2022 10:11:02 +0000 Received: from madras.collabora.co.uk ([46.235.227.172]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oM59S-00B5IR-Cb; Thu, 11 Aug 2022 10:11:00 +0000 Received: from [192.168.1.27] (cst-prg-101-15.cust.vodafone.cz [46.135.101.15]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tomeu) by madras.collabora.co.uk (Postfix) with ESMTPSA id 4C7016601CE0; Thu, 11 Aug 2022 11:10:46 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1660212647; bh=I1SxPAOTQmS391q7M7+rbhIoiQgbNcXxYlia5tr4Ij0=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=d9IAHi5H/2iR9+UloeTd/m2oXigxG4nwYR6wP0PIor8dF+WyE4xbV0UFnATUb+yKh Sr2A4QjzyYaLjbPh3KEpg8s78/CKH5s+eXgGW7SuW4EzR1AY6sodX89LAx5lkO8I5o FDh/PIbbywsihLNf8Jt5UI/nTOahBtaMQuEz0eo5++iBsNOw/fnrwah41vU4ML7nlv hhoQUxeIQA/flK3ajaPbc0lbaisMbBlU0LvVnc69qOpXnNj3hLWWDO4x7ju4UDxd6t zr+rQgRwejK2Gsr2Ucd9yNDig+V5uii+WHkF37I1Fmr8M2rXDWUtlY/Z3f57I5i2jM SElJYHUDsXs2Q== Subject: Re: [PATCH v5] drm: Add initial ci/ subdirectory To: Rodrigo Siqueira Jordao , Nicholas Choi , Sun peng Li , "Chiu, Harrison" , "Wentland, Harry" Cc: linux-doc@vger.kernel.org, Neil Armstrong , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-amlogic@lists.infradead.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, David Airlie , Jonathan Corbet , Carlo Caione , Kevin Hilman , Heiko Stuebner , Matthias Brugger , Rob Clark References: <20220517081656.47625-1-tomeu.vizoso@collabora.com> <20220726181636.19967-1-tomeu.vizoso@collabora.com> From: Tomeu Vizoso Message-ID: Date: Thu, 11 Aug 2022 12:10:43 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220811_031054_969721_B436C886 X-CRM114-Status: GOOD ( 50.84 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gOC8xMC8yMiA4OjI0IFBNLCBSb2RyaWdvIFNpcXVlaXJhIEpvcmRhbyB3cm90ZToKPiBIaSBU b21ldSwKPiAKPiBGaXJzdCBvZiBhbGwsIG5pY2UgcGF0Y2ghIEkganVzdCBzYXcgaXQsIGFuZCBJ IGhhdmUgc29tZSBiYXNpYyBxdWVzdGlvbnMgCj4gKEkgZG9uJ3QgdW5kZXJzdGFuZCBtYW55IG9m IHRoZXNlIENJIGRldGFpbHMpLiBJIGFsc28gQ0Mgc29tZSBDSSBmb2xrcyAKPiBmcm9tIHRoZSBk aXNwbGF5IHRlYW0gYXQgQU1ELgoKVGhhbmtzIGZvciB0aGUgZmVlZGJhY2shCgo+IE9uIDIwMjIt MDctMjYgMTQ6MTYsIFRvbWV1IFZpem9zbyB3cm90ZToKPj4gQW5kIHVzZSBpdCB0byBzdG9yZSBl eHBlY3RhdGlvbnMgYWJvdXQgd2hhdCB0aGUgRFJNIGRyaXZlcnMgYXJlCj4+IHN1cHBvc2VkIHRv IHBhc3MgaW4gdGhlIElHVCB0ZXN0IHN1aXRlLgo+Pgo+PiBBbHNvIGluY2x1ZGUgYSBjb25maWd1 cmF0aW9uIGZpbGUgdGhhdCBwb2ludHMgdG8gdGhlIG91dC1vZi10cmVlIENJCj4+IHNjcmlwdHMu Cj4+Cj4+IEJ5IHN0b3JpbmcgdGhlIHRlc3QgZXhwZWN0YXRpb25zIGFsb25nIHRoZSBjb2RlIHdl IGNhbiBtYWtlIHN1cmUgYm90aAo+PiBzdGF5IGluIHN5bmMgd2l0aCBlYWNoIG90aGVyLCBhbmQg c28gd2UgY2FuIGtub3cgd2hlbiBhIGNvZGUgY2hhbmdlCj4+IGJyZWFrcyB0aG9zZSBleHBlY3Rh dGlvbnMuCj4+Cj4+IFRoaXMgd2lsbCBhbGxvdyBhbGwgY29udHJpYnV0b3JzIHRvIGRybSB0byBy ZXVzZSB0aGUgaW5mcmFzdHJ1Y3R1cmUKPj4gYWxyZWFkeSBpbiBnaXRsYWIuZnJlZWRlc2t0b3Au b3JnIHRvIHRlc3QgdGhlIGRyaXZlciBvbiBzZXZlcmFsCj4+IGdlbmVyYXRpb25zIG9mIHRoZSBo YXJkd2FyZS4KPj4KPj4gdjI6Cj4+IMKgwqAgLSBGaXggbmFtZXMgb2YgcmVzdWx0IGV4cGVjdGF0 aW9uIGZpbGVzIHRvIG1hdGNoIFNvQwo+PiDCoMKgIC0gRG9uJ3QgZXhlY3V0ZSB0ZXN0cyB0aGF0 IGFyZSBnb2luZyB0byBza2lwIG9uIGFsbCBib2FyZHMKPj4KPj4gdjM6Cj4+IMKgwqAgLSBSZW1v dmUgdHJhY2tpbmcgb2YgZG1lc2cgb3V0cHV0IGR1cmluZyB0ZXN0IGV4ZWN1dGlvbgo+Pgo+PiB2 NDoKPj4gwqDCoCAtIE1vdmUgdXAgdG8gZHJpdmVycy9ncHUvZHJtCj4+IMKgwqAgLSBBZGQgc3Vw cG9ydCBmb3IgYSBidW5jaCBvZiBvdGhlciBkcml2ZXJzCj4+IMKgwqAgLSBFeHBsYWluIGhvdyB0 byBpbmNvcnBvcmF0ZSBmaXhlcyBmb3IgQ0kgZnJvbSBhCj4+IMKgwqDCoMKgICR7VEFSR0VUX0JS QU5DSH0tZXh0ZXJuYWwtZml4ZXMgYnJhbmNoCj4+IMKgwqAgLSBSZW1vdmUgdGVzdHMgdGhhdCBw YXNzIGZyb20gZXhwZWN0ZWQgcmVzdWx0cyBmaWxlLCB0byByZWR1Y2UgdGhlCj4+IMKgwqDCoMKg IHNpemUgb2YgaW4tdHJlZSBmaWxlcwo+PiDCoMKgIC0gQWRkIGRvY3MgYWJvdXQgaG93IHRvIGRl YWwgd2l0aCBvdXRhZ2VzIGluIGF1dG9tYXRlZCB0ZXN0aW5nIGxhYnMKPj4gwqDCoCAtIFNwZWNp ZnkgdGhlIGV4YWN0IFNIQSBvZiB0aGUgQ0kgc2NyaXB0cyB0byBiZSB1c2VkCj4+Cj4+IHY1Ogo+ PiDCoMKgIC0gUmVtb3ZlIHVubmVlZGVkIHNraXBzIGZyb20gTWVzb24gZXhwZWN0YXRpb25zIGZp bGUKPj4gwqDCoCAtIFVzZSBhIG1vcmUgYWR2YW5jZWQgcnVubmVyIHRoYXQgZGV0ZWN0cyBmbGFr ZXMgYXV0b21hdGljYWxseQo+PiDCoMKgIC0gVXNlIGEgbW9yZSBzdWNjaW50IGZvcm1hdCBmb3Ig dGhlIGV4cGVjdGF0aW9ucwo+PiDCoMKgIC0gUnVuIG1hbnkgbW9yZSB0ZXN0cyAoYW5kIHVzZSBz aGFyZGluZyB0byBmaW5pc2ggaW4gdGltZSkKPj4gwqDCoCAtIFVzZSBza2lwIGxpc3RzIHRvIGF2 b2lkIGhhbmdpbmcgbWFjaGluZXMKPj4gwqDCoCAtIEFkZCBzb21lIGJ1aWxkIHRlc3RpbmcKPj4g wqDCoCAtIEJ1aWxkIElHVCBpbiBlYWNoIHBpcGVsaW5lIGZvciBmYXN0ZXIgdXByZXZzCj4+IMKg wqAgLSBMaXN0IGZhaWx1cmVzIGluIHRoZSBHaXRMYWIgVUkKPj4KPj4gU2lnbmVkLW9mZi1ieTog VG9tZXUgVml6b3NvIDx0b21ldS52aXpvc29AY29sbGFib3JhLmNvbT4KPj4gUmV2aWV3ZWQtYnk6 IE5laWwgQXJtc3Ryb25nIDxuYXJtc3Ryb25nQGJheWxpYnJlLmNvbT4KPj4gLS0tCj4+IMKgIERv Y3VtZW50YXRpb24vZ3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdMKgwqDCoMKgwqDCoCB8IDg0ICsr KysrKysrKysrKysrKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1m YWlscy50eHTCoMKgwqAgfCAxMyArKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2FtZGdwdS1z dG9uZXktZmxha2VzLnR4dMKgwqAgfCAyMCArKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kv YW1kZ3B1LXN0b25leS1za2lwcy50eHTCoMKgwqAgfMKgIDIgKwo+PiDCoCBkcml2ZXJzL2dwdS9k cm0vY2kvZ2l0bGFiLWNpLnltbMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTMgKysrCj4+ IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktZmxha2VzLnR4dMKgwqDCoMKgwqDCoCB8 IDMyICsrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYW1seS1za2lwcy50eHTC oMKgwqDCoMKgwqDCoCB8wqAgMiArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFwbC1m YWlscy50eHTCoMKgwqDCoMKgwqDCoMKgIHwgMjkgKysrKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9k cm0vY2kvaTkxNS1hcGwtZmxha2VzLnR4dMKgwqDCoMKgwqDCoMKgIHzCoCAxICsKPj4gwqAgZHJp dmVycy9ncHUvZHJtL2NpL2k5MTUtYXBsLXNraXBzLnR4dMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIg Kwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1jbWwtZmxha2VzLnR4dMKgwqDCoMKgwqDC oMKgIHwgMzYgKysrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtZ2xrLWZsYWtl cy50eHTCoMKgwqDCoMKgwqDCoCB8IDQwICsrKysrKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0v Y2kvaTkxNS1nbGstc2tpcHMudHh0wqDCoMKgwqDCoMKgwqDCoCB8wqAgMiArCj4+IMKgIGRyaXZl cnMvZ3B1L2RybS9jaS9pOTE1LWtibC1mYWlscy50eHTCoMKgwqDCoMKgwqDCoMKgIHzCoCA4ICsr Cj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWtibC1mbGFrZXMudHh0wqDCoMKgwqDCoMKg wqAgfCAyNCArKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUta2JsLXNraXBzLnR4 dMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10 Z2wtZmFpbHMudHh0wqDCoMKgwqDCoMKgwqDCoCB8IDE5ICsrKysKPj4gwqAgZHJpdmVycy9ncHUv ZHJtL2NpL2k5MTUtdGdsLWZsYWtlcy50eHTCoMKgwqDCoMKgwqDCoCB8wqAgNiArKwo+PiDCoCBk cml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10Z2wtc2tpcHMudHh0wqDCoMKgwqDCoMKgwqDCoCB8wqAg OCArKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS13aGwtZmFpbHMudHh0wqDCoMKgwqDC oMKgwqDCoCB8IDMwICsrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtd2hsLWZs YWtlcy50eHTCoMKgwqDCoMKgwqDCoCB8wqAgMSArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9t ZWRpYXRlay1tdDgxNzMtZmFpbHMudHh0wqAgfCAyOSArKysrKysrCj4+IMKgIGRyaXZlcnMvZ3B1 L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmFpbHMudHh0wqAgfCAxMCArKysKPj4gwqAgZHJpdmVy cy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE4My1mbGFrZXMudHh0IHwgMTQgKysrCj4+IMKgIGRy aXZlcnMvZ3B1L2RybS9jaS9tZXNvbi1nMTJiLWZhaWxzLnR4dMKgwqDCoMKgwqDCoCB8wqAgNSAr Kwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mbGFrZXMudHh0wqDCoMKgwqDC oCB8wqAgNCArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODAxNi1mYWlscy50eHTC oMKgwqDCoMKgIHwgMTUgKysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYt Zmxha2VzLnR4dMKgwqDCoMKgIHzCoCA0ICsKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL21zbS1h cHE4MDk2LWZhaWxzLnR4dMKgwqDCoMKgwqAgfMKgIDIgKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0v Y2kvbXNtLWFwcTgwOTYtZmxha2VzLnR4dMKgwqDCoMKgIHzCoCA0ICsKPj4gwqAgZHJpdmVycy9n cHUvZHJtL2NpL21zbS1hcHE4MDk2LXNraXBzLnR4dMKgwqDCoMKgwqAgfMKgIDIgKwo+PiDCoCBk cml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1mYWlscy50eHTCoMKgwqDCoMKgwqAgfCAyMiAr KysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1mbGFrZXMudHh0wqDCoMKg wqDCoCB8IDE0ICsrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1za2lwcy50 eHTCoMKgwqDCoMKgwqAgfCAxOCArKysrCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2Rt ODQ1LWZhaWxzLnR4dMKgwqDCoMKgwqDCoCB8IDQ0ICsrKysrKysrKysKPj4gwqAgZHJpdmVycy9n cHUvZHJtL2NpL21zbS1zZG04NDUtZmxha2VzLnR4dMKgwqDCoMKgwqAgfCAzMyArKysrKysrCj4+ IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LXNraXBzLnR4dMKgwqDCoMKgwqDCoCB8 wqAgMiArCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMyODgtZmFpbHMudHh0 wqAgfCA3NSArKysrKysrKysrKysrKysrCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hp cC1yazMyODgtZmxha2VzLnR4dCB8wqAgNSArKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvcm9j a2NoaXAtcmszMjg4LXNraXBzLnR4dMKgIHwgNDYgKysrKysrKysrKwo+PiDCoCBkcml2ZXJzL2dw dS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZhaWxzLnR4dMKgIHwgODYgKysrKysrKysrKysrKysr KysrKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZsYWtlcy50eHQg fCAyNSArKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1za2lw cy50eHTCoCB8wqAgNSArKwo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25l LWZhaWxzLnR4dMKgIHwgMzggKysrKysrKysKPj4gwqAgZHJpdmVycy9ncHUvZHJtL2NpL3ZpcnRp b19ncHUtbm9uZS1mbGFrZXMudHh0IHzCoCAwCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9jaS92aXJ0 aW9fZ3B1LW5vbmUtc2tpcHMudHh0wqAgfMKgIDYgKysKPj4gwqAgNDYgZmlsZXMgY2hhbmdlZCwg ODgyIGluc2VydGlvbnMoKykKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24v Z3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9uZXktZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mbGFrZXMudHh0Cj4+IMKgIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1za2lwcy50 eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9naXRsYWItY2ku eW1sCj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1hbWx5 LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9p OTE1LWFtbHktc2tpcHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9k cm0vY2kvaTkxNS1hcGwtZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L2dwdS9kcm0vY2kvaTkxNS1hcGwtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYXBsLXNraXBzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtY21sLWZsYWtlcy50eHQKPj4gwqAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWdsay1mbGFrZXMudHh0Cj4+IMKg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGstc2tpcHMudHh0 Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtZmFp bHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1r YmwtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2Np L2k5MTUta2JsLXNraXBzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUv ZHJtL2NpL2k5MTUtdGdsLWZhaWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9ncHUvZHJtL2NpL2k5MTUtdGdsLWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1za2lwcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXdobC1mYWlscy50eHQKPj4gwqAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXdobC1mbGFrZXMudHh0Cj4+IMKg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTczLWZh aWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL21lZGlh dGVrLW10ODE4My1mYWlscy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBt b2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mbGFrZXMudHh0Cj4+IMKg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmFpbHMu dHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgw MTYtZmxha2VzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2Np L21zbS1hcHE4MDk2LWZhaWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9n cHUvZHJtL2NpL21zbS1hcHE4MDk2LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1za2lwcy50eHQKPj4gwqAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2M3MTgwLWZhaWxzLnR4dAo+PiDCoCBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtZmxha2VzLnR4 dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAt c2tpcHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvbXNt LXNkbTg0NS1mYWlscy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9jaS9tc20tc2RtODQ1LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LXNraXBzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzI4OC1mYWlscy50eHQKPj4gwqAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMyODgtZmxha2Vz LnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlw LXJrMzI4OC1za2lwcy50eHQKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9jaS9yb2NrY2hpcC1yazMzOTktZmFpbHMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZsYWtlcy50eHQKPj4gwqAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMzOTktc2tpcHMudHh0 Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1u b25lLWZhaWxzLnR4dAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2Np L3ZpcnRpb19ncHUtbm9uZS1mbGFrZXMudHh0Cj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLXNraXBzLnR4dAo+Pgo+PiBkaWZmIC0tZ2l0 IGEvRG9jdW1lbnRhdGlvbi9ncHUvYXV0b21hdGVkX3Rlc3RpbmcucnN0IAo+PiBiL0RvY3VtZW50 YXRpb24vZ3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ PiBpbmRleCAwMDAwMDAwMDAwMDAuLjYxMDAzZWNjN2I2ZQo+PiAtLS0gL2Rldi9udWxsCj4+ICsr KyBiL0RvY3VtZW50YXRpb24vZ3B1L2F1dG9tYXRlZF90ZXN0aW5nLnJzdAo+PiBAQCAtMCwwICsx LDg0IEBACj4+ICsuLiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsKPj4gKwo+PiAr PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPj4gK0F1dG9tYXRlZCB0 ZXN0aW5nIG9mIHRoZSBEUk0gc3Vic3lzdGVtCj4+ICs9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQo+PiArCj4+ICsKPj4gK0ludHJvZHVjdGlvbgo+PiArPT09PT09PT09 PT09Cj4+ICsKPj4gK01ha2luZyBzdXJlIHRoYXQgY2hhbmdlcyB0byB0aGUgY29yZSBvciBkcml2 ZXJzIGRvbid0IGludHJvZHVjZSAKPj4gcmVncmVzc2lvbnMgY2FuIGJlIHZlcnkgdGltZSBjb25z dW1pbmcgd2hlbiBsb3RzIG9mIGRpZmZlcmVudCBoYXJkd2FyZSAKPj4gY29uZmlndXJhdGlvbnMg bmVlZCB0byBiZSB0ZXN0ZWQuIE1vcmVvdmVyLCBpdCBpc24ndCBwcmFjdGljYWwgZm9yIAo+PiBl YWNoIHBlcnNvbiBpbnRlcmVzdGVkIGluIHRoaXMgdGVzdGluZyB0byBoYXZlIHRvIGFjcXVpcmUg YW5kIG1haW50YWluIAo+PiB3aGF0IGNhbiBiZSBhIGNvbnNpZGVyYWJsZSBhbW91bnQgb2YgaGFy ZHdhcmUuCj4+ICsKPj4gK0Fsc28sIGl0IGlzIGRlc2lyYWJsZSBmb3IgZGV2ZWxvcGVycyB0byBj aGVjayBmb3IgcmVncmVzc2lvbnMgaW4gCj4+IHRoZWlyIGNvZGUgYnkgdGhlbXNlbHZlcywgaW5z dGVhZCBvZiByZWx5aW5nIG9uIHRoZSBtYWludGFpbmVycyAKPj4gZmluZGluZyB0aGVtIGFuZCB0 aGVuIHJlcG9ydGluZyBiYWNrLgo+PiArCj4+ICtUaGVyZSBhcmUgZmFjaWxpdGllcyBpbiBnaXRs YWIuZnJlZWRlc2t0b3Aub3JnIHRvIGF1dG9tYXRpY2FsbHkgdGVzdCAKPj4gTWVzYSB0aGF0IGNh biBiZSB1c2VkIGFzIHdlbGwgZm9yIHRlc3RpbmcgdGhlIERSTSBzdWJzeXN0ZW0uIFRoaXMgCj4+ IGRvY3VtZW50IGV4cGxhaW5zIGhvdyBwZW9wbGUgaW50ZXJlc3RlZCBpbiB0ZXN0aW5nIGl0IGNh biB1c2UgdGhpcyAKPj4gc2hhcmVkIGluZnJhc3RydWN0dXJlIHRvIHNhdmUgcXVpdGUgc29tZSB0 aW1lIGFuZCBlZmZvcnQuCj4+ICsKPj4gKwo+PiArUmVsZXZhbnQgZmlsZXMKPj4gKz09PT09PT09 PT09PT09Cj4+ICsKPj4gK2RyaXZlcnMvZ3B1L2RybS9jaS9naXRsYWItY2kueW1sCj4+ICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiArCj4+ICtTcGVjaWZpZXMgdGhlIHNwZWNp ZmljIHZlcnNpb24gb2YgdGhlIHNjcmlwdHMgdG8gYmUgdXNlZC4gR2l0TGFiIENJIAo+PiB3aWxs IHVzZSB0aGUgdmFsdWVzIGRlZmluZWQgaW4gdGhpcyBmaWxlIHRvIGZldGNoIHRoZSByaWdodCBz Y3JpcHRzLgo+PiArCj4+ICsKPj4gK2RyaXZlcnMvZ3B1L2RybS9jaS8ke0RSSVZFUl9OQU1FfS50 ZXN0bGlzdAo+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ ICsKPj4gK1NwZWNpZmllcyB0aGUgdGVzdHMgdGhhdCB0aGUgY3VycmVudCBjb2RlIGlzIGV4cGVj dGVkIHRvIGJlIGFibGUgdG8gCj4+IHJlbGlhYmx5IHJ1biBmb3IgJHtEUklWRVJfTkFNRX0uIFRo ZXNlIHRlc3RzIGFyZSBleHBlY3RlZCB0byBub3QgaGFuZyAKPj4gdGhlIERVVCAoRGV2aWNlIFVu ZGVyIFRlc3RpbmcpIHdoZW4gcnVubmluZyBvbiB0aGUgcmV2aXNpb24gdGhleSAKPj4gYmVsb25n IHRvLCBhbmQgdG8gZ2l2ZSBjb25zaXN0ZW50IHJlc3VsdHMuCj4gCj4gVGhlIElHVCByZXBvIGhh cyB0ZXN0bGlzdHMgcGVyIHZlbmRvciAoZS5nLiwgCj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0 b3Aub3JnL2RybS9pZ3QtZ3B1LXRvb2xzLy0vdHJlZS9tYXN0ZXIvdGVzdHMvaW50ZWwtY2kpLiAK PiBXaGF0IGlzIHRoZSBhZHZhbnRhZ2Ugb2Yga2VlcGluZyBhIHNpbWlsYXIgSUdUIGxpc3QgaGVy ZT8gU2hvdWxkIHdlIAo+IG1haW50YWluIHRoYXQgbGlzdCBpbiBib3RoIHByb2plY3RzPwoKWWVz LCBJIHRoaW5rIHRoYXQgd291bGQgYmUgYmV0dGVyLCBidXQgdGhlIG9uZXMgY3VycmVudGx5IHRo ZXJlIHdlcmUgdG9vIApzbWFsbCBvciB0b28gYmlnIHRvIGJlIHVzZWZ1bCBoZXJlLgoKTm90ZSB0 aGF0IHRoZSBkb2N1bWVudGF0aW9uIGhlcmUgaXMgZXJyb25lb3VzLCB0aGUgdGVzdCBsaXN0cyBp biB0aGlzIAppdGVyYXRpb24gYXJlIGluIHRoZSBkcm0tY2kgcmVwbywgbm90IGluIHRoZSBrZXJu ZWwuIFdpbGwgZml4IHRoaXMgd2hlbiAKSSBzZW5kIG15IHJlYmFzZWQgcGF0Y2hlcy4KCj4+ICtk cml2ZXJzL2dwdS9kcm0vY2kvJHtEUklWRVJfTkFNRX1fKl9yZXN1bHRzLnR4dAo+PiArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiArCj4+ICtTcGVjaWZpZXMgdGhl IGV4cGVjdGVkIHJlc3VsdHMgb2YgcnVubmluZyB0aGlzIHNwZWNpZmljIGtlcm5lbCAKPj4gcmV2 aXNpb24gb24gYSBnaXZlbiBoYXJkd2FyZSBjb25maWd1cmF0aW9uLgo+PiArCj4+ICsKPj4gK0hv dyB0byBlbmFibGUgYXV0b21hdGVkIHRlc3Rpbmcgb24geW91ciB0cmVlCj4+ICs9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+PiArCj4+ICsxLiBDcmVhdGUgYSBM aW51eCB0cmVlIGluIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy8gaWYgeW91IAo+PiBk b24ndCBoYXZlIG9uZSB5ZXQKPj4gKwo+PiArMi4gSW4geW91ciBrZXJuZWwgcmVwbydzIGNvbmZp Z3VyYXRpb24gKGVnLiAKPj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3RvbWV1L2xp bnV4Ly0vc2V0dGluZ3MvY2lfY2QpLCBjaGFuZ2UgCj4+IHRoZSBDSS9DRCBjb25maWd1cmF0aW9u IGZpbGUgZnJvbSAuZ2l0bGFiLWNpLnltbCB0byAKPj4gZHJpdmVycy9ncHUvZHJtL2NpL2dpdGxh Yi1jaS55bWwuCj4+ICsKPj4gKzMuIE5leHQgdGltZSB5b3UgcHVzaCB0byB0aGlzIHJlcG9zaXRv cnksIHlvdSB3aWxsIHNlZSBhIENJIHBpcGVsaW5lIAo+PiBiZWluZyBjcmVhdGVkIChlZy4gCj4+ IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy90b21ldS9saW51eC8tL3BpcGVsaW5lcykK Pj4gKwo+PiArNC4gVGhlIHZhcmlvdXMgam9icyB3aWxsIGJlIHJ1biBhbmQgd2hlbiB0aGUgcGlw ZWxpbmUgaXMgZmluaXNoZWQsIAo+PiBhbGwgam9icyBzaG91bGQgYmUgZ3JlZW4gdW5sZXNzIGEg cmVncmVzc2lvbiBoYXMgYmVlbiBmb3VuZC4KPj4gKwo+PiArCj4+ICtIb3cgdG8gdXBkYXRlIHRl c3QgZXhwZWN0YXRpb25zCj4+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4+ICsK Pj4gK0lmIHlvdXIgY2hhbmdlcyB0byB0aGUgY29kZSBmaXggYW55IHRlc3RzLCB5b3Ugd2lsbCBo YXZlIHRvIHVwZGF0ZSAKPj4gb25lIG9yIG1vcmUgb2YgdGhlIGZpbGVzIGluIAo+PiBkcml2ZXJz L2dwdS9kcm0vY2kvJHtEUklWRVJfTkFNRX1fKl9yZXN1bHRzLnR4dCwgZm9yIGVhY2ggb2YgdGhl IHRlc3QgCj4+IHBsYXRmb3JtcyBhZmZlY3RlZCBieSB0aGUgY2hhbmdlLgo+PiArCj4+ICtJZiB5 b3UgaGF2ZSBydW4gYSBwaXBlbGluZSBhbmQgaXQgZmFpbGVkIGJlY2F1c2Ugb2YgYSBtaXNtYXRj aGVkIHRlc3QgCj4+IHJlc3VsdCwgeW91IHdpbGwgaGF2ZSBiZWVuIG9mZmVyZWQgYSBwYXRjaCBh dCB0aGUgZW5kIG9mIHRoZSBydW4gdGhhdCAKPj4geW91IGNhbiBhcHBseSBhZnRlciByZXZpZXdp bmcgaXQuCj4+ICsKPj4gKwo+PiArSG93IHRvIGV4cGFuZCBjb3ZlcmFnZQo+PiArPT09PT09PT09 PT09PT09PT09PT09PQo+PiArCj4+ICtJZiB5b3VyIGNvZGUgY2hhbmdlcyBtYWtlcyBpdCBwb3Nz aWJsZSB0byBydW4gbW9yZSB0ZXN0cyAoYnkgc29sdmluZyAKPj4gcmVsaWFiaWxpdHkgaXNzdWVz LCBmb3IgZXhhbXBsZSksIG1vcmUgdGVzdHMgY2FuIGJlIGFkZGVkIHRvIHRoaXMgCj4+IGxpc3Qs IGFuZCB0aGVuIHRoZSBleHBlY3RlZCByZXN1bHRzIHVwZGF0ZWQgd2l0aCB0aGUgcGF0Y2ggZmls ZSB0aGF0IAo+PiB3aWxsIGJlIHByaW50ZWQgYXQgdGhlIGVuZCBvZiBlYWNoIGpvYi4KPj4gKwo+ PiArSWYgdGhlcmUgaXMgYSBuZWVkIGZvciB1cGRhdGluZyB0aGUgdmVyc2lvbiBvZiBJR1QgYmVp bmcgdXNlZCAobWF5YmUgCj4+IHlvdSBoYXZlIGFkZGVkIG1vcmUgdGVzdHMgdG8gaXQpLCBmb2xs b3cgdGhlIGluc3RydWN0aW9ucyBhdCAKPj4gaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3Jn L2dmeC1jaS9kcm0tY2kvLS90cmVlL21haW4jdXByZXZpbmctaWd0Lgo+IAo+IFVzdWFsbHksIHdl IHJ1biBvdXIgSUdUIHRlc3Qgb24gdGhlIGxhdGVzdCBjb2RlIGZyb20gdGhlIElHVCByZXBvLiBJ cyBpdCAKPiBwb3NzaWJsZSB0byBjb25maWd1cmUgdGhpcyBiZWhhdmlvcj8KCklmIHRoaXMgd2Fz IHRoZSBkZWZhdWx0IGJlaGF2aW9yLCBpdCB3b3VsZCBjcmVhdGUgYSBsb3Qgb2YgdHJvdWJsZSAK YmVjYXVzZSBwaXBlbGluZXMgZm9yIHRoZSBzYW1lIGNvZGUgd291bGQgc29tZXRpbWVzIHBhc3Mg b3IgZmFpbCBiYXNlZCAKb24gd2hhdGV2ZXIgaGFkIGJlZW4gcHVzaGVkIHRvIHRoZSBJR1QgcmVw by4gSXQgaXMgcmVhbGx5IGltcG9ydGFudCBmb3IgCnRoaXMgdG8gd29yayB3ZWxsIGZvciBldmVy eWJvZHkgdGhhdCB0aGUgcGlwZWxpbmUgaXMga2VwdCBncmVlbiBhdCBhbGwgCnRpbWVzIGZvciBj aGVja2VkLWluIGNvZGUuCgpCdXQgaXQgaXMgYWxyZWFkeSB2ZXJ5IGVhc3kgdG8gdXByZXYgSUdU LCBpdCBqdXN0IHJlcXVpcmVzIHVwZGF0aW5nIGEgCmNvbW1pdCBoYXNoIGluIHRoZSBkcm0tY2kg cmVwby4KCj4+ICtIb3cgdG8gdGVzdCB5b3VyIGNoYW5nZXMgdG8gdGhlIHNjcmlwdHMKPj4gKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+PiArCj4+ICtGb3IgdGVz dGluZyBjaGFuZ2VzIHRvIHRoZSBzY3JpcHRzIGluIHRoZSBkcm0tY2kgcmVwbywgY2hhbmdlIHRo ZSAKPj4gRFJNX0NJX1BST0pFQ1RfUEFUSCB2YXJpYWJsZSBpbiBkcml2ZXJzL2dwdS9kcm0vY2kv Z2l0bGFiLWNpLnltbCB0byAKPj4gbWF0Y2ggeW91ciBmb3JrIG9mIHRoZSBwcm9qZWN0IChlZy4g dG9tZXUvZHJtLWNpKS4gVGhpcyBmb3JrIG5lZWRzIHRvIAo+PiBiZSBpbiBodHRwczovL2dpdGxh Yi5mcmVlZGVza3RvcC5vcmcvLgo+PiArCj4+ICsKPj4gK0hvdyB0byBpbmNvcnBvcmF0ZSBleHRl cm5hbCBmaXhlcyBpbiB5b3VyIHRlc3RpbmcKPj4gKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KPj4gKwo+PiArT2Z0ZW4sIHJlZ3Jlc3Npb25zIGluIG90 aGVyIHRyZWVzIHdpbGwgcHJldmVudCB0ZXN0aW5nIGNoYW5nZXMgbG9jYWwgCj4+IHRvIHRoZSB0 cmVlIHVuZGVyIHRlc3QuIFRoZXNlIGZpeGVzIHdpbGwgYmUgYXV0b21hdGljYWxseSBtZXJnZWQg aW4gCj4+IGR1cmluZyB0aGUgYnVpbGQgam9icyBmcm9tIGEgYnJhbmNoIGluIHRoZSB0YXJnZXQg dHJlZSB0aGF0IGlzIG5hbWVkIAo+PiBhcyAke1RBUkdFVF9CUkFOQ0h9LWV4dGVybmFsLWZpeGVz Lgo+PiArCj4+ICtJZiB0aGUgcGlwZWxpbmUgaXMgbm90IGluIGEgbWVyZ2UgcmVxdWVzdCBhbmQg YSBicmFuY2ggd2l0aCB0aGUgc2FtZSAKPj4gbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIHRyZWUs IGNvbW1pdHMgZnJvbSB0aGF0IGJyYW5jaCB3aWxsIGJlIG1lcmdlZCAKPj4gaW4gYXMgd2VsbC4K Pj4gKwo+PiArCj4+ICtIb3cgdG8gZGVhbCB3aXRoIGF1dG9tYXRlZCB0ZXN0aW5nIGxhYnMgdGhh dCBtYXkgYmUgZG93bgo+PiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KPj4gKwo+PiArSWYgYSBoYXJkd2FyZSBmYXJtIGlzIGRvd24gYW5k IHRodXMgY2F1c2luZyBwaXBlbGluZXMgdG8gZmFpbCB0aGF0IAo+PiB3b3VsZCBvdGhlcndpc2Ug cGFzcywgb25lIGNhbiBkaXNhYmxlIGFsbCBqb2JzIHRoYXQgd291bGQgYmUgc3VibWl0dGVkIAo+ PiB0byB0aGF0IGZhcm0gYnkgZWRpdGluZyB0aGUgZmlsZSBhdCAKPj4gaHR0cHM6Ly9naXRsYWIu ZnJlZWRlc2t0b3Aub3JnL2dmeC1jaS9sYWItc3RhdHVzLy0vYmxvYi9tYWluL2xhYi1zdGF0dXMu eW1sLiAKPj4KPiAKPiAKPiBUaGlzIHBhcnQgaXMgdGhlIG9uZSB0aGF0IEkgcmVhbGx5IHdhbnQg dG8gdW5kZXJzdGFuZC4gSG93IGNhbiB3ZSBwbHVnIAo+IG91ciBmYXJtPyBEbyB5b3UgaGF2ZSBh IGd1aWRlbGluZT8gSSB3YW50IHRvIGtub3cgaWYgd2UgY2FuIHJ1biBhIAo+IHByb3RvdHlwZS4K CldlIGFyZSByZXVzaW5nIHRoZSBkZXZpY2UgZmFybXMgdGhhdCB3ZXJlIGFkZGVkIHRvIApnaXRs YWIuZnJlZWRlc2t0b3Aub3JnIGZvciB0ZXN0aW5nIE1lc2EuCgpZb3Ugc2hvdWxkIGJlIGFibGUg dG8gcGx1ZyB5b3VyIG93biBsYWIgZm9yIHVzZSBpbiB5b3VyIHBlcnNvbmFsIGJyYW5jaCAKd2l0 aG91dCByZXF1aXJpbmcgYW55dGhpbmcgZnJvbSBhbnlib2R5IGVsc2UuIFlvdSBqdXN0IG5lZWQg YW4gYWNjb3VudCAKaW4gZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy4KCkN1cnJlbnRseSwgdGhlcmUg YXJlIHR3byBtb2RlcyB0aHJvdWdoIHdoaWNoIERVVHMgYXJlIG1hZGUgYXZhaWxhYmxlIHRvIApH aXRsYWIgQ0k6IGJhcmVtZXRhbCBhbmQgTEFWQS4gVGhlIGxhdHRlciBzaG91bGQgYmV0dGVyIHNj YWxlIHRvIHNldmVyYWwgCmRvemVucyBvZiBkZXZpY2VzIGJ1dCBoYXMgYSBoaWdoZXIgaW5pdGlh bCBpbnN0YWxsYXRpb24gZWZmb3J0LiBJdCB3b3VsZCAKYWxsb3cgdGhpcyBmYXJtIHRvIGJlIHVz ZWQgaW4gb3RoZXIgQ0lzIHN1Y2ggYXMga2VybmVsY2kub3JnLCB0aG91Z2guCgpUaGVyZSBpcyBz b21lIGRvY3VtZW50YXRpb24gYWJvdXQgdGhpcyBpbiBNZXNhOgoKKiBodHRwczovL2RvY3MubWVz YTNkLm9yZy9jaS9iYXJlLW1ldGFsLmh0bWwKKiBodHRwczovL2RvY3MubWVzYTNkLm9yZy9jaS9M QVZBLmh0bWwKCkFzayBpbiAjZnJlZWRlc2t0b3AgaW4gT0ZUQyBpZiB5b3UgbmVlZCBhbnkgaGVs cC4KCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mYWls cy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9uZXktZmFpbHMudHh0Cj4+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZTcyMTU2OGI2ZWMz Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9u ZXktZmFpbHMudHh0Cj4+IEBAIC0wLDAgKzEsMTMgQEAKPj4gK2ttc19hZGRmYl9iYXNpY0BiYWQt cGl0Y2gtNjU1MzYsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQGJvLXRvby1zbWFsbCxGYWlsCj4+ ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21z X2J3QGxpbmVhci10aWxpbmctMS1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19id0Bs aW5lYXItdGlsaW5nLTItZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFy LXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlw ZS1BLWN1cnNvci1zaXplLWNoYW5nZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vy c29yLXNpemUtY2hhbmdlLEZhaWwKPj4gK2ttc19oZHJAYnBjLXN3aXRjaCxGYWlsCj4+ICtrbXNf aGRyQGJwYy1zd2l0Y2gtZHBtcyxGYWlsCj4+ICtrbXNfcGxhbmVfbXVsdGlwbGVAYXRvbWljLXBp cGUtQS10aWxpbmctbm9uZSxGYWlsCj4+ICtrbXNfcm90YXRpb25fY3JjQHByaW1hcnktcm90YXRp b24tMTgwLEZhaWwKPj4gK2ttc191bml2ZXJzYWxfcGxhbmVAZGlzYWJsZS1wcmltYXJ5LXZzLWZs aXAtcGlwZS1CLEZhaWwKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mbGFrZXMudHh0IAo+PiBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9hbWRncHUtc3RvbmV5LWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5hMmNiYzMzOTgzOGMKPj4gLS0tIC9kZXYv bnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvYW1kZ3B1LXN0b25leS1mbGFrZXMudHh0 Cj4+IEBAIC0wLDAgKzEsMjAgQEAKPj4gK2ttc19hZGRmYl9iYXNpY0B0b28taGlnaAo+PiAra21z X2F0b21pY190cmFuc2l0aW9uQHBsYW5lLWFsbC1tb2Rlc2V0LXRyYW5zaXRpb24taW50ZXJuYWwt cGFuZWxzCj4+ICtrbXNfYXRvbWljX3RyYW5zaXRpb25AcGxhbmUtYWxsLXRyYW5zaXRpb24KPj4g K2ttc19hdG9taWNfdHJhbnNpdGlvbkBwbGFuZS11c2UtYWZ0ZXItbm9uYmxvY2tpbmctdW5iaW5k Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctMi1kaXNwbGF5cy0yNTYweDE0NDBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRp c3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0 MHgyMTYwcAo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1BLTY0eDY0LWJvdHRvbS1lZGdl Cj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUEtNjR4NjQtcmlnaHQtZWRnZQo+PiAra21z X2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1BLTY0eDY0LXRvcC1lZGdlCj4+ICtrbXNfY3Vyc29yX2Vk Z2Vfd2Fsa0BwaXBlLUItNjR4NjQtYm90dG9tLWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxr QHBpcGUtQi02NHg2NC1sZWZ0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02 NHg2NC1yaWdodC1lZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4NjQtdG9w LWVkZ2UKPj4gK2ttc19wbGFuZV9tdWx0aXBsZUBhdG9taWMtcGlwZS1CLXRpbGluZy1ub25lCj4+ ICtrbXNfcGxhbmVAcGl4ZWwtZm9ybWF0Cj4+ICtrbXNfcGxhbmVfc2NhbGluZ0Bkb3duc2NhbGUt d2l0aC1yb3RhdGlvbi1mYWN0b3ItMC01Cj4+ICtrbXNfdW5pdmVyc2FsX3BsYW5lQGRpc2FibGUt cHJpbWFyeS12cy1mbGlwLXBpcGUtQQo+IAo+IFdlIGhhdmUgbXVsdGlwbGUgdGVzdCBsaXN0cyBm b3IgZGlmZmVyZW50IEFTSUNzLCBhbmQgd2UgYXJlIHdvcmtpbmcgdG8gCj4gaGF2ZSBvbmUgdW5p ZmllZCBsaXN0LiBJIGd1ZXNzIHdlIGp1c3QgbmVlZCB0byB0aGF0IGxpc3QgaGVyZT8KPiAKPiBN YXliZSBOaWNob2xhcy9IZXJyaXNvbiBjYW4gcHJvdmlkZSBhIGNvbXBsZXRlIGxpc3QgaGVyZS4K Ck1heWJlIGFkZCBpdCB0byB0aGUgSUdUIHJlcG8gYW5kIGZyb20gdGhlcmUgaXQgd2lsbCBiZSB1 c2VkIGluIHRoaXMgQ0kgCm9uY2UgaXQgY2FuIHJ1biByZWxpYWJseSBlbm91Z2g/CgpDaGVlcnMs CgpUb21ldQoKPiBUaGFua3MKPiBTaXF1ZWlyYQo+IAo+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2NpL2FtZGdwdS1zdG9uZXktc2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9jaS9hbWRncHUtc3RvbmV5LXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBp bmRleCAwMDAwMDAwMDAwMDAuLmUyYzUzOGEwZjk1NAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9jaS9hbWRncHUtc3RvbmV5LXNraXBzLnR4dAo+PiBAQCAtMCwwICsx LDIgQEAKPj4gKyMgU3VzcGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9uIHRoaXMgbWFj aGluZQo+PiArLipzdXNwZW5kLioKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvZ2l0bGFiLWNpLnltbCAKPj4gYi9kcml2ZXJz L2dwdS9kcm0vY2kvZ2l0bGFiLWNpLnltbAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRl eCAwMDAwMDAwMDAwMDAuLjg4OThiYmUwZjE4MAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9naXRsYWItY2kueW1sCj4+IEBAIC0wLDAgKzEsMTMgQEAKPj4gK3Zh cmlhYmxlczoKPj4gK8KgICMgQ2hhbmdlIHRoaXMgdG8gdXNlIHlvdXIgZm9yayBvZiBkcm0tY2kK Pj4gK8KgIERSTV9DSV9QUk9KRUNUX1BBVEg6ICZkcm0tY2ktcHJvamVjdC1wYXRoIGdmeC1jaS9k cm0tY2kKPj4gK8KgIERSTV9DSV9DT01NSVRfU0hBOiAmZHJtLWNpLWNvbW1pdC1zaGEgCj4+IGJj Y2ZmMjQwY2EwNDI4MjA0ODQwOTZmMDc4MmU4ZjA2MGJkODNiY2EKPj4gKwo+PiArwqAgVVBTVFJF QU1fUkVQTzogZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZHJtL2RybQo+PiArwqAgVEFS R0VUX0JSQU5DSDogZHJtLW5leHQKPj4gKwo+PiAraW5jbHVkZToKPj4gK8KgIC0gcHJvamVjdDog KmRybS1jaS1wcm9qZWN0LXBhdGgKPj4gK8KgwqDCoCByZWY6ICpkcm0tY2ktY29tbWl0LXNoYQo+ PiArwqDCoMKgIGZpbGU6Cj4+ICvCoMKgwqDCoMKgIC0gJy5naXRsYWItY2kueW1sJwo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYW1seS1mbGFrZXMudHh0IAo+PiBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjY3ZDc4ZjEwYjY3MQo+PiAtLS0gL2Rldi9udWxs Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktZmxha2VzLnR4dAo+PiBAQCAt MCwwICsxLDMyIEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4MTA4 MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMjU2MHgxNDQwcAo+PiAra21z X2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQweDIxNjBwCj4+ICtrbXNfYndAbGluZWFy LXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMt ZGlzcGxheXMtMjU2MHgxNDQwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0z ODQweDIxNjBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTE5MjB4MTA4MHAK Pj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMjU2MHgxNDQwcAo+PiAra21zX2J3 QGxpbmVhci10aWxpbmctNC1kaXNwbGF5cy0zODQweDIxNjBwCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZS10by02NGJwcC15dGlsZS11cHNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZWNjcy10by02NGJwcC15dGls ZS1kb3duc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlY2Nz LXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0 YnBwLXl0aWxlLXRvLTE2YnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxp cF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtZG93bnNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS11 cHNjYWxpbmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJw cC15dGlsZXJjY2NzLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy11cHNjYWxpbmcKPj4gK2ttc19wbGFuZV9hbHBo YV9ibGVuZEBwaXBlLUEtYWxwaGEtYmFzaWMKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBl LUEtYWxwaGEtb3BhcXVlLWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhh LXRyYW5zcGFyZW50LWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvbnN0YW50 LWFscGhhLW1heAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1iYXNpYwo+ PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1vcGFxdWUtZmIKPj4gK2ttc19w bGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtdHJhbnNwYXJlbnQtZmIKPj4gK2ttc19wbGFu ZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxwaGEtbWF4Cj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1DLWFscGhhLWJhc2ljCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlw ZS1DLWFscGhhLW9wYXF1ZS1mYgo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBo YS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1jb25zdGFu dC1hbHBoYS1tYXgKPj4gK2ttc19zeXNmc19lZGlkX3RpbWluZwo+PiBcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHkt c2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFtbHktc2tpcHMudHh0Cj4+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZTJjNTM4YTBmOTU0 Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYW1seS1z a2lwcy50eHQKPj4gQEAgLTAsMCArMSwyIEBACj4+ICsjIFN1c3BlbmQgdG8gUkFNIHNlZW1zIHRv IGJlIGJyb2tlbiBvbiB0aGlzIG1hY2hpbmUKPj4gKy4qc3VzcGVuZC4qCj4+IFwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUt YXBsLWZhaWxzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1hcGwtZmFpbHMudHh0 Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uYTA3N2YyOWQ1 Y2JhCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYXBs LWZhaWxzLnR4dAo+PiBAQCAtMCwwICsxLDI5IEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0y LWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNw bGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMt Mzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4 MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBw LEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWls Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAr a21zX2J3QGxpbmVhci10aWxpbmctNC1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfZmxpcF9z Y2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcsRmFp bAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlLXRvLTY0YnBwLXl0aWxl LXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGVj Y3MtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2Ny Y0BmbGlwLTMyYnBwLXl0aWxlY2NzLXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtr bXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtZG93bnNj YWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTE2 YnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2Nh bGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Nj cy1kb3duc2NhbGluZyxGYWlsIAo+Pgo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBw LXl0aWxlLXRvLTMyYnBwLXl0aWxlcmNjY3MtdXBzY2FsaW5nLEZhaWwKPj4gK2ttc19wbGFuZV9h bHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtb3BhcXVlLWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBo YV9ibGVuZEBwaXBlLUEtYWxwaGEtdHJhbnNwYXJlbnQtZmIsRmFpbAo+PiAra21zX3BsYW5lX2Fs cGhhX2JsZW5kQHBpcGUtQS1jb25zdGFudC1hbHBoYS1tYXgsRmFpbAo+PiAra21zX3BsYW5lX2Fs cGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1vcGFxdWUtZmIsRmFpbAo+PiAra21zX3BsYW5lX2FscGhh X2JsZW5kQHBpcGUtQi1hbHBoYS10cmFuc3BhcmVudC1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1CLWNvbnN0YW50LWFscGhhLW1heCxGYWlsCj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1DLWFscGhhLW9wYXF1ZS1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFf YmxlbmRAcGlwZS1DLWFscGhhLXRyYW5zcGFyZW50LWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBo YV9ibGVuZEBwaXBlLUMtY29uc3RhbnQtYWxwaGEtbWF4LEZhaWwKPj4gK2ttc19zeXNmc19lZGlk X3RpbWluZyxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtYXBsLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9n cHUvZHJtL2NpL2k5MTUtYXBsLWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4g aW5kZXggMDAwMDAwMDAwMDAwLi42MThiYmU2YmI3OTMKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1hcGwtZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxIEBA Cj4+ICtrbXNfZnJvbnRidWZmZXJfdHJhY2tpbmdAZmJjLXRpbGluZy1saW5lYXIKPj4gXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kv aTkxNS1hcGwtc2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWFwbC1za2lw cy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5lMmM1 MzhhMGY5NTQKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkx NS1hcGwtc2tpcHMudHh0Cj4+IEBAIC0wLDAgKzEsMiBAQAo+PiArIyBTdXNwZW5kIHRvIFJBTSBz ZWVtcyB0byBiZSBicm9rZW4gb24gdGhpcyBtYWNoaW5lCj4+ICsuKnN1c3BlbmQuKgo+PiBcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9j aS9pOTE1LWNtbC1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWNtbC1m bGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4u YTIxNDQxOWM2ZGM1Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Np L2k5MTUtY21sLWZsYWtlcy50eHQKPj4gQEAgLTAsMCArMSwzNiBAQAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMi1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0y LWRpc3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMt Mzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0xOTIweDEwODBw Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctNC1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRp c3BsYXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMzg0 MHgyMTYwcAo+PiAra21zX2ZsaXBAZmxpcC12cy1zdXNwZW5kCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZS10by02NGJwcC15dGlsZS11cHNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZWNjcy10by02NGJwcC15dGls ZS1kb3duc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlY2Nz LXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0 YnBwLXl0aWxlLXRvLTE2YnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxp cF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtZG93bnNjYWxpbmcK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS11 cHNjYWxpbmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJw cC15dGlsZXJjY2NzLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy11cHNjYWxpbmcKPj4gK2ttc19oZHJAYnBjLXN3 aXRjaC1zdXNwZW5kCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLWJhc2lj Cj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLW9wYXF1ZS1mYgo+PiAra21z X3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQS1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3Bs YW5lX2FscGhhX2JsZW5kQHBpcGUtQS1jb25zdGFudC1hbHBoYS1tYXgKPj4gK2ttc19wbGFuZV9h bHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtYmFzaWMKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBw aXBlLUItYWxwaGEtb3BhcXVlLWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWFs cGhhLXRyYW5zcGFyZW50LWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWNvbnN0 YW50LWFscGhhLW1heAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS1iYXNp Ywo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS1vcGFxdWUtZmIKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMtYWxwaGEtdHJhbnNwYXJlbnQtZmIKPj4gK2ttc19w bGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMtY29uc3RhbnQtYWxwaGEtbWF4Cj4+ICtrbXNfcHNyMl9z dUBwYWdlX2ZsaXAtTlYxMgo+PiAra21zX3BzcjJfc3VAcGFnZV9mbGlwLVAwMTAKPj4gK2ttc19z ZXRtb2RlQGJhc2ljCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtZ2xrLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9n cHUvZHJtL2NpL2k5MTUtZ2xrLWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4g aW5kZXggMDAwMDAwMDAwMDAwLi5hZWRiM2QyZWY4ODUKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGstZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxLDQw IEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2tt c19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMi1kaXNwbGF5cy0yNTYweDE0NDBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0y LWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMt MTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBw Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMTkyMHgxMDgwcAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctNC1kaXNwbGF5cy0yNTYweDE0NDBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy00LWRp c3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19mbGlwQGJsb2NraW5nLXdmX3ZibGFuawo+PiAra21z X2ZsaXBAd2ZfdmJsYW5rLXRzLWNoZWNrCj4+ICtrbXNfZmxpcEB3Zl92YmxhbmstdHMtY2hlY2st aW50ZXJydXB0aWJsZQo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlLXRv LTY0YnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJi cHAteXRpbGUtdG8tNjRicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3Jj QGZsaXAtMzJicHAteXRpbGVjY3MtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZWNjcy10by02NGJwcC15dGlsZS11cHNjYWxp bmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0xNmJwcC15dGls ZS1kb3duc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRv LTE2YnBwLXl0aWxlLXVwc2NhbGluZwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBw LXl0aWxlLXRvLTMyYnBwLXl0aWxlLWRvd25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3Jj QGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxpcF9z Y2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy1kb3duc2NhbGlu Zwo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxl cmNjY3MtdXBzY2FsaW5nCj4+ICtrbXNfZnJvbnRidWZmZXJfdHJhY2tpbmdAZmJjLXRpbGluZy1s aW5lYXIKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtYmFzaWMKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtb3BhcXVlLWZiCj4+ICtrbXNfcGxhbmVf YWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLXRyYW5zcGFyZW50LWZiCj4+ICtrbXNfcGxhbmVfYWxw aGFfYmxlbmRAcGlwZS1BLWNvbnN0YW50LWFscGhhLW1heAo+PiAra21zX3BsYW5lX2FscGhhX2Js ZW5kQHBpcGUtQi1hbHBoYS1iYXNpYwo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1h bHBoYS1vcGFxdWUtZmIKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtdHJh bnNwYXJlbnQtZmIKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxw aGEtbWF4Cj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWFscGhhLWJhc2ljCj4+ICtr bXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWFscGhhLW9wYXF1ZS1mYgo+PiAra21zX3BsYW5l X2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5lX2Fs cGhhX2JsZW5kQHBpcGUtQy1jb25zdGFudC1hbHBoYS1tYXgKPj4gK2ttc19yb3RhdGlvbl9jcmNA bXVsdGlwbGFuZS1yb3RhdGlvbgo+PiAra21zX3JvdGF0aW9uX2NyY0BtdWx0aXBsYW5lLXJvdGF0 aW9uLWNyb3BwaW5nLWJvdHRvbQo+PiAra21zX3JvdGF0aW9uX2NyY0BtdWx0aXBsYW5lLXJvdGF0 aW9uLWNyb3BwaW5nLXRvcAo+PiAra21zX3NldG1vZGVAYmFzaWMKPj4gXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGst c2tpcHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWdsay1za2lwcy50eHQKPj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5lMmM1MzhhMGY5NTQK Pj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1nbGstc2tp cHMudHh0Cj4+IEBAIC0wLDAgKzEsMiBAQAo+PiArIyBTdXNwZW5kIHRvIFJBTSBzZWVtcyB0byBi ZSBicm9rZW4gb24gdGhpcyBtYWNoaW5lCj4+ICsuKnN1c3BlbmQuKgo+PiBcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWti bC1mYWlscy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUta2JsLWZhaWxzLnR4dAo+ PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmY4MWYwNjVlMjdl OAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWtibC1m YWlscy50eHQKPj4gQEAgLTAsMCArMSw4IEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRp c3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctNC1kaXNwbGF5 cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJwcC15dGls ZS10by02NGJwcC15dGlsZS11cHNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0Bm bGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlLWRvd25zY2FsaW5nLEZhaWwKPj4gK2ttc19m bGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZXJjY2NzLXVwc2Nh bGluZyxGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvbnN0YW50LWFscGhh LW1heCxGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWFscGhhLW9wYXF1ZS1m YixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWNvbnN0YW50LWFscGhhLW1h eCxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2NpL2k5MTUta2JsLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJt L2NpL2k5MTUta2JsLWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXgg MDAwMDAwMDAwMDAwLi5mODIwMTc2NTRjZjUKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxLDI0IEBACj4+ ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19id0Bs aW5lYXItdGlsaW5nLTItZGlzcGxheXMtMzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxp bmctMy1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3Bs YXlzLTI1NjB4MTQ0MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgy MTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctNC1kaXNwbGF5cy0xOTIweDEwODBwCj4+ICtr bXNfYndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTM4NDB4MjE2MHAKPj4gK2ttc19mbGlwX3Nj YWxlZF9jcmNAZmxpcC0zMmJwcC15dGlsZS10by02NGJwcC15dGlsZS1kb3duc2NhbGluZwo+PiAr a21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlY2NzLXRvLTY0YnBwLXl0aWxlLWRv d25zY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGVjY3MtdG8t NjRicHAteXRpbGUtdXBzY2FsaW5nCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAt eXRpbGUtdG8tMTZicHAteXRpbGUtZG93bnNjYWxpbmcKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNA ZmxpcC02NGJwcC15dGlsZS10by0xNmJwcC15dGlsZS11cHNjYWxpbmcKPj4gK2ttc19mbGlwX3Nj YWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS11cHNjYWxpbmcKPj4gK2tt c19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZXJjY2NzLWRv d25zY2FsaW5nCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLWJhc2ljCj4+ ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhhLW9wYXF1ZS1mYgo+PiAra21zX3Bs YW5lX2FscGhhX2JsZW5kQHBpcGUtQS1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5l X2FscGhhX2JsZW5kQHBpcGUtQi1hbHBoYS1iYXNpYwo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5k QHBpcGUtQi1hbHBoYS10cmFuc3BhcmVudC1mYgo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBp cGUtQi1jb25zdGFudC1hbHBoYS1tYXgKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMt YWxwaGEtYmFzaWMKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUMtYWxwaGEtb3BhcXVl LWZiCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWFscGhhLXRyYW5zcGFyZW50LWZi Cj4+ICtrbXNfc3lzZnNfZWRpZF90aW1pbmcKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtc2tpcHMudHh0IAo+ PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LWtibC1za2lwcy50eHQKPj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5lMmM1MzhhMGY5NTQKPj4gLS0tIC9kZXYv bnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS1rYmwtc2tpcHMudHh0Cj4+IEBA IC0wLDAgKzEsMiBAQAo+PiArIyBTdXNwZW5kIHRvIFJBTSBzZWVtcyB0byBiZSBicm9rZW4gb24g dGhpcyBtYWNoaW5lCj4+ICsuKnN1c3BlbmQuKgo+PiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1mYWlscy50eHQg Cj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtdGdsLWZhaWxzLnR4dAo+PiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjI3MDY0NGNlMjIwYwo+PiAtLS0gL2Rl di9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1mYWlscy50eHQKPj4g QEAgLTAsMCArMSwxOSBAQAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQw eDIxNjBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMTkyMHgxMDgw cCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFp bAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4g K2ttc19id0BsaW5lYXItdGlsaW5nLTQtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNf YndAbGluZWFyLXRpbGluZy00LWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxp bmVhci10aWxpbmctNC1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXIt dGlsaW5nLTUtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGlu Zy01LWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctNS1k aXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC0zMmJw cC15dGlsZS10by02NGJwcC15dGlsZS1kb3duc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2Fs ZWRfY3JjQGZsaXAtMzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtdXBzY2FsaW5nLEZhaWwKPj4g K2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0xNmJwcC15dGlsZS1kb3du c2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8t MTZicHAteXRpbGUtdXBzY2FsaW5nLEZhaWwKPj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02 NGJwcC15dGlsZS10by0zMmJwcC15dGlsZS1kb3duc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9z Y2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGUtdXBzY2FsaW5nLEZhaWwK Pj4gK2ttc19mbGlwX3NjYWxlZF9jcmNAZmxpcC02NGJwcC15dGlsZS10by0zMmJwcC15dGlsZXJj Y2NzLWRvd25zY2FsaW5nLEZhaWwgCj4+Cj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRi cHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy11cHNjYWxpbmcsRmFpbAo+PiAra21zX3JvdGF0 aW9uX2NyY0BiYWQtcGl4ZWwtZm9ybWF0LEZhaWwKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10Z2wtZmxha2VzLnR4 dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS10Z2wtZmxha2VzLnR4dAo+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjE1ZmJhNzdmZjE5ZAo+PiAtLS0g L2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1mbGFrZXMudHh0 Cj4+IEBAIC0wLDAgKzEsNiBAQAo+PiAra21zX2RyYXdfY3JjQGRyYXctbWV0aG9kLXJnYjU2NS1i bHQtdW50aWxlZAo+PiAra21zX2RyYXdfY3JjQGRyYXctbWV0aG9kLXhyZ2I4ODg4LW1tYXAtZ3R0 LXVudGlsZWQKPj4gK2ttc19kcmF3X2NyY0BkcmF3LW1ldGhvZC14cmdiODg4OC1tbWFwLWd0dC14 dGlsZWQKPj4gK2ttc19mbGlwQGJsb2NraW5nLWFic29sdXRlLXdmX3ZibGFuawo+PiAra21zX2Zs aXBAYm8tdG9vLWJpZy1pbnRlcnJ1cHRpYmxlCj4+ICtrbXNfZmxpcEBmbGlwLXZzLXJtZmItaW50 ZXJydXB0aWJsZQo+PiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1za2lwcy50eHQgCj4+IGIvZHJpdmVycy9ncHUv ZHJtL2NpL2k5MTUtdGdsLXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRl eCAwMDAwMDAwMDAwMDAuLjE0ZjMzYzdiYTAzYgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9pOTE1LXRnbC1za2lwcy50eHQKPj4gQEAgLTAsMCArMSw4IEBACj4+ ICsjIFN1c3BlbmQgdG8gUkFNIHNlZW1zIHRvIGJlIGJyb2tlbiBvbiB0aGlzIG1hY2hpbmUKPj4g Ky4qc3VzcGVuZC4qCj4+ICsKPj4gKyMgR1BVIGhhbmdzLCB0aGVuIHRoZSB3aG9sZSBtYWNoaW5l Cj4+ICtnZW1fZWlvLioKPj4gKwo+PiArIyBXaG9sZSBtYWNoaW5lIGhhbmdzCj4+ICtrbXNfZmxp cEBhYnNvbHV0ZS13Zl92YmxhbmtAYS1lZHAxCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtd2hsLWZhaWxzLnR4dCAK Pj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvaTkxNS13aGwtZmFpbHMudHh0Cj4+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZGJmZWRmYTVkNjNmCj4+IC0tLSAvZGV2 L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL2k5MTUtd2hsLWZhaWxzLnR4dAo+PiBA QCAtMCwwICsxLDMwIEBACj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4 MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0yNTYweDE0NDBw LEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMzg0MHgyMTYwcCxGYWls Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAr a21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGlu ZWFyLXRpbGluZy00LWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10 aWxpbmctNC1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5n LTQtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAt MzJicHAteXRpbGUtdG8tNjRicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBf c2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0aWxlLXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZyxGYWls Cj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtMzJicHAteXRpbGVjY3MtdG8tNjRicHAteXRp bGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTMyYnBwLXl0 aWxlY2NzLXRvLTY0YnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRf Y3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMTZicHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAr a21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTE2YnBwLXl0aWxlLXVwc2Nh bGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2FsZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJi cHAteXRpbGUtZG93bnNjYWxpbmcsRmFpbAo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0 YnBwLXl0aWxlLXRvLTMyYnBwLXl0aWxlLXVwc2NhbGluZyxGYWlsCj4+ICtrbXNfZmxpcF9zY2Fs ZWRfY3JjQGZsaXAtNjRicHAteXRpbGUtdG8tMzJicHAteXRpbGVyY2Njcy1kb3duc2NhbGluZyxG YWlsIAo+Pgo+PiAra21zX2ZsaXBfc2NhbGVkX2NyY0BmbGlwLTY0YnBwLXl0aWxlLXRvLTMyYnBw LXl0aWxlcmNjY3MtdXBzY2FsaW5nLEZhaWwKPj4gK2ttc19mcm9udGJ1ZmZlcl90cmFja2luZ0Bm YmMtdGlsaW5nLWxpbmVhcixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFs cGhhLW9wYXF1ZS1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWFscGhh LXRyYW5zcGFyZW50LWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtY29u c3RhbnQtYWxwaGEtbWF4LEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxw aGEtb3BhcXVlLWZiLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEt dHJhbnNwYXJlbnQtZmIsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQi1jb25z dGFudC1hbHBoYS1tYXgsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBo YS1vcGFxdWUtZmIsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQy1hbHBoYS10 cmFuc3BhcmVudC1mYixGYWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1DLWNvbnN0 YW50LWFscGhhLW1heCxGYWlsCj4+ICtrbXNfc3lzZnNfZWRpZF90aW1pbmcsRmFpbAo+PiBcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9j aS9pOTE1LXdobC1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9pOTE1LXdobC1m bGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4u NmJjYWM1Yjg0ZmJiCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Np L2k5MTUtd2hsLWZsYWtlcy50eHQKPj4gQEAgLTAsMCArMSBAQAo+PiAra21zX2ZsaXBAZmxpcC12 cy1zdXNwZW5kCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE3My1mYWlscy50eHQgCj4+IGIvZHJpdmVy cy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE3My1mYWlscy50eHQKPj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi43Zjc0ZmI5YWZjOTkKPj4gLS0tIC9kZXYvbnVs bAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTczLWZhaWxzLnR4dAo+ PiBAQCAtMCwwICsxLDI5IEBACj4+ICtrbXNfM2QsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQGFk ZGZiMjUtYmFkLW1vZGlmaWVyLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTEtZGlzcGxh eXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTI1 NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMS1kaXNwbGF5cy0zODQweDIx NjBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcCxG YWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+ PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2tt c19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndA bGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMy1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19jb2xvckBwaXBlLUEt aW52YWxpZC1nYW1tYS1sdXQtc2l6ZXMsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQi1pbnZhbGlk LWdhbW1hLWx1dC1zaXplcyxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNl LWNvbm5lY3Rvci1zdGF0ZSxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNl LWVkaWQsRmFpbAo+PiAra21zX2ZvcmNlX2Nvbm5lY3Rvcl9iYXNpY0Bmb3JjZS1sb2FkLWRldGVj dCxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQHBydW5lLXN0YWxlLW1vZGVzLEZh aWwKPj4gK2ttc19pbnZhbGlkX21vZGVAaW50LW1heC1jbG9jayxGYWlsCj4+ICtrbXNfcGxhbmVf c2NhbGluZ0BwbGFuZXMtdXBzY2FsZS0yMHgyMCxGYWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0Bw bGFuZXMtdXBzY2FsZS0yMHgyMC1kb3duc2NhbGUtZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3Bs YW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUtMjB4MjAtZG93bnNjYWxlLWZhY3Rvci0wLTUsRmFp bAo+PiAra21zX3BsYW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUtMjB4MjAtZG93bnNjYWxlLWZh Y3Rvci0wLTc1LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHVwc2NhbGUtd2l0aC1tb2RpZmll ci0yMHgyMCxGYWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0B1cHNjYWxlLXdpdGgtcGl4ZWwtZm9y bWF0LTIweDIwLEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHVwc2NhbGUtd2l0aC1yb3RhdGlv bi0yMHgyMCxGYWlsCj4+ICtrbXNfcHJvcGVydGllc0BnZXRfcHJvcGVydGllcy1zYW5pdHktYXRv bWljLEZhaWwKPj4gK2ttc19wcm9wZXJ0aWVzQHBsYW5lLXByb3BlcnRpZXMtYXRvbWljLEZhaWwK Pj4gK2ttc19wcm9wZXJ0aWVzQHBsYW5lLXByb3BlcnRpZXMtbGVnYWN5LEZhaWwKPj4gK2ttc19y bWZiQGNsb3NlLWZkLEZhaWwKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTgzLWZhaWxzLnR4dCAKPj4g Yi9kcml2ZXJzL2dwdS9kcm0vY2kvbWVkaWF0ZWstbXQ4MTgzLWZhaWxzLnR4dAo+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjZmZjgxZDAwZTg0ZQo+PiAtLS0g L2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmFp bHMudHh0Cj4+IEBAIC0wLDAgKzEsMTAgQEAKPj4gK2ttc19hZGRmYl9iYXNpY0BhZGRmYjI1LWJh ZC1tb2RpZmllcixGYWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTI1NjB4 MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0xOTIweDEwODBw LEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMjU2MHgxNDQwcCxGYWls Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTM4NDB4MjE2MHAsRmFpbAo+PiAr a21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19i d0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfY29sb3JA cGlwZS1BLWludmFsaWQtZ2FtbWEtbHV0LXNpemVzLEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5n QHVwc2NhbGUtd2l0aC1yb3RhdGlvbi0yMHgyMCxGYWlsCj4+ICtrbXNfcm1mYkBjbG9zZS1mZCxG YWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2NpL21lZGlhdGVrLW10ODE4My1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1 L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0 NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjIwODg5MGI3OWViMAo+PiAtLS0gL2Rldi9udWxsCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tZWRpYXRlay1tdDgxODMtZmxha2VzLnR4dAo+PiBA QCAtMCwwICsxLDE0IEBACj4+ICtjb3JlX3NldG1hc3Rlcl92c19hdXRoCj4+ICtrbXNfYndAbGlu ZWFyLXRpbGluZy0xLWRpc3BsYXlzLTE5MjB4MTA4MHAKPj4gK2ttc19id0BsaW5lYXItdGlsaW5n LTEtZGlzcGxheXMtMzg0MHgyMTYwcAo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy1kaXNwbGF5 cy0xOTIweDEwODBwCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBjdXJzb3ItdnMtZmxpcC1hdG9taWMK Pj4gK2ttc19wbGFuZV9zY2FsaW5nQGludmFsaWQtbnVtLXNjYWxlcnMKPj4gK2ttc19wbGFuZV9z Y2FsaW5nQHBsYW5lcy11cHNjYWxlLTIweDIwCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0BwbGFuZXMt dXBzY2FsZS0yMHgyMC1kb3duc2NhbGUtZmFjdG9yLTAtNQo+PiAra21zX3BsYW5lX3NjYWxpbmdA dXBzY2FsZS13aXRoLW1vZGlmaWVyLTIweDIwCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0B1cHNjYWxl LXdpdGgtcGl4ZWwtZm9ybWF0LTIweDIwCj4+ICtrbXNfcHJvcF9ibG9iQGludmFsaWQtc2V0LXBy b3AtYW55Cj4+ICtrbXNfcHJvcGVydGllc0BnZXRfcHJvcGVydGllcy1zYW5pdHktYXRvbWljCj4+ ICtrbXNfcHJvcGVydGllc0BwbGFuZS1wcm9wZXJ0aWVzLWF0b21pYwo+PiAra21zX3Byb3BlcnRp ZXNAcGxhbmUtcHJvcGVydGllcy1sZWdhY3kKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mYWlscy50eHQg Cj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmFpbHMudHh0Cj4+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uMzQ1ZTE0MjZiM2EzCj4+IC0tLSAv ZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmFpbHMudHh0 Cj4+IEBAIC0wLDAgKzEsNSBAQAo+PiAra21zXzNkLEZhaWwKPj4gK2ttc19hZGRmYl9iYXNpY0Bh ZGRmYjI1LWJhZC1tb2RpZmllcixGYWlsCj4+ICtrbXNfcHJvcGVydGllc0Bjb25uZWN0b3ItcHJv cGVydGllcy1hdG9taWMsRmFpbAo+PiAra21zX3Byb3BlcnRpZXNAZ2V0X3Byb3BlcnRpZXMtc2Fu aXR5LWF0b21pYyxGYWlsCj4+ICtrbXNfcHJvcGVydGllc0BnZXRfcHJvcGVydGllcy1zYW5pdHkt bm9uLWF0b21pYyxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmxha2VzLnR4dCAKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vY2kvbWVzb24tZzEyYi1mbGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uYjYzMzI5ZDA2NzY3Cj4+IC0tLSAvZGV2L251bGwK Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21lc29uLWcxMmItZmxha2VzLnR4dAo+PiBAQCAt MCwwICsxLDQgQEAKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtY29ubmVjdG9y LXN0YXRlCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNlLWVkaWQKPj4gK2ttc19m b3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtbG9hZC1kZXRlY3QKPj4gK2ttc19mb3JjZV9jb25u ZWN0b3JfYmFzaWNAcHJ1bmUtc3RhbGUtbW9kZXMKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmFpbHMu dHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODAxNi1mYWlscy50eHQKPj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi4xNmMyZGZhYjNmMTYKPj4g LS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmFp bHMudHh0Cj4+IEBAIC0wLDAgKzEsMTUgQEAKPj4gK2ttc18zZCxGYWlsCj4+ICtrbXNfYWRkZmJf YmFzaWNAYWRkZmIyNS1iYWQtbW9kaWZpZXIsRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAYWxs LXBpcGVzLWZvcmtlZC1tb3ZlLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGFsbC1waXBlcy10 b3J0dXJlLWJvLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGFsbC1waXBlcy1mb3JrZWQtYm8s RmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAYWxsLXBpcGVzLXNpbmdsZS1ibyxGYWlsCj4+ICtr bXNfY3Vyc29yX2xlZ2FjeUBhbGwtcGlwZXMtc2luZ2xlLW1vdmUsRmFpbAo+PiAra21zX2N1cnNv cl9sZWdhY3lAYWxsLXBpcGVzLXRvcnR1cmUtbW92ZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2Fj eUBwaXBlLUEtZm9ya2VkLWJvLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QHBpcGUtQS1mb3Jr ZWQtbW92ZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBwaXBlLUEtc2luZ2xlLWJvLEZhaWwK Pj4gK2ttc19jdXJzb3JfbGVnYWN5QHBpcGUtQS1zaW5nbGUtbW92ZSxGYWlsCj4+ICtrbXNfY3Vy c29yX2xlZ2FjeUBwaXBlLUEtdG9ydHVyZS1ibyxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBw aXBlLUEtdG9ydHVyZS1tb3ZlLEZhaWwKPj4gK2ttc19oZG1pX2luamVjdEBpbmplY3QtNGssRmFp bAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1hcHE4MDE2LWZsYWtlcy50 eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1hcHE4MDE2LWZsYWtlcy50eHQKPj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi5iNjMzMjlkMDY3NjcKPj4g LS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwMTYtZmxh a2VzLnR4dAo+PiBAQCAtMCwwICsxLDQgQEAKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNA Zm9yY2UtY29ubmVjdG9yLXN0YXRlCj4+ICtrbXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNl LWVkaWQKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtbG9hZC1kZXRlY3QKPj4g K2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAcHJ1bmUtc3RhbGUtbW9kZXMKPj4gXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNt LWFwcTgwOTYtZmFpbHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1m YWlscy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi44 OGExZmMwYTNiMGQKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kv bXNtLWFwcTgwOTYtZmFpbHMudHh0Cj4+IEBAIC0wLDAgKzEsMiBAQAo+PiAra21zXzNkLEZhaWwK Pj4gK2ttc19hZGRmYl9iYXNpY0BhZGRmYjI1LWJhZC1tb2RpZmllcixGYWlsCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwOTYtZmxha2VzLnR4dCAKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vY2kvbXNtLWFwcTgwOTYtZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmI2MzMyOWQwNjc2Nwo+PiAtLS0gL2Rldi9udWxs Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1mbGFrZXMudHh0Cj4+IEBA IC0wLDAgKzEsNCBAQAo+PiAra21zX2ZvcmNlX2Nvbm5lY3Rvcl9iYXNpY0Bmb3JjZS1jb25uZWN0 b3Itc3RhdGUKPj4gK2ttc19mb3JjZV9jb25uZWN0b3JfYmFzaWNAZm9yY2UtZWRpZAo+PiAra21z X2ZvcmNlX2Nvbm5lY3Rvcl9iYXNpY0Bmb3JjZS1sb2FkLWRldGVjdAo+PiAra21zX2ZvcmNlX2Nv bm5lY3Rvcl9iYXNpY0BwcnVuZS1zdGFsZS1tb2Rlcwo+PiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1za2lw cy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1hcHE4MDk2LXNraXBzLnR4dAo+PiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmNkNDljOGNlMjA1OQo+ PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tYXBxODA5Ni1z a2lwcy50eHQKPj4gQEAgLTAsMCArMSwyIEBACj4+ICsjIFdob2xlIG1hY2hpbmUgaGFuZ3MKPj4g K2ttc19jdXJzb3JfbGVnYWN5QGFsbC1waXBlcy10b3J0dXJlLW1vdmUKPj4gXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNj NzE4MC1mYWlscy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtZmFpbHMu dHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uMGIxNTli NjQ2OWM4Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1z YzcxODAtZmFpbHMudHh0Cj4+IEBAIC0wLDAgKzEsMjIgQEAKPj4gK2ttc19jdXJzb3JfbGVnYWN5 QGN1cnNvci12cy1mbGlwLXRvZ2dsZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBjdXJzb3JB LXZzLWZsaXBBLWF0b21pYy10cmFuc2l0aW9ucyxDcmFzaAo+PiAra21zX3BsYW5lQHBpeGVsLWZv cm1hdCxGYWlsCj4+ICtrbXNfcGxhbmVAcGl4ZWwtZm9ybWF0LXNvdXJjZS1jbGFtcGluZyxGYWls Cj4+ICtrbXNfcGxhbmVAcGxhbmUtcG9zaXRpb24tY292ZXJlZCxGYWlsCj4+ICtrbXNfcGxhbmVA cGxhbmUtcG9zaXRpb24taG9sZSxGYWlsCj4+ICtrbXNfcGxhbmVAcGxhbmUtcG9zaXRpb24taG9s ZS1kcG1zLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtYWxwaGEtN2VmYyxG YWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvdmVyYWdlLTdlZmMsRmFpbAo+ PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQS1jb3ZlcmFnZS12cy1wcmVtdWx0LXZzLWNv bnN0YW50LEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtN2VmYyxG YWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1CLWFscGhhLWJhc2ljLEZhaWwKPj4g K2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItYWxwaGEtb3BhcXVlLWZiLEZhaWwKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxwaGEtbWF4LEZhaWwKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY29uc3RhbnQtYWxwaGEtbWlkLEZhaWwKPj4gK2tt c19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUItY292ZXJhZ2UtN2VmYyxGYWlsCj4+ICtrbXNfcGxh bmVfYWxwaGFfYmxlbmRAcGlwZS1CLWNvdmVyYWdlLXZzLXByZW11bHQtdnMtY29uc3RhbnQsRmFp bAo+PiAra21zX3BsYW5lX211bHRpcGxlQGF0b21pYy1waXBlLUEtdGlsaW5nLW5vbmUsQ3Jhc2gK Pj4gK2ttc19ybWZiQGNsb3NlLWZkLEZhaWwKPj4gK2ttc19yb3RhdGlvbl9jcmNAcHJpbWFyeS1y b3RhdGlvbi0xODAsRmFpbAo+PiAra21zX3VuaXZlcnNhbF9wbGFuZUBkaXNhYmxlLXByaW1hcnkt dnMtZmxpcC1waXBlLUIsRmFpbAo+PiAra21zX3VuaXZlcnNhbF9wbGFuZUBkaXNhYmxlLXByaW1h cnktdnMtZmxpcC1waXBlLWIsRmFpbAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Np L21zbS1zYzcxODAtZmxha2VzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4 MC1mbGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAw MC4uNjAyMmVkYWNlMTkwCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2NpL21zbS1zYzcxODAtZmxha2VzLnR4dAo+PiBAQCAtMCwwICsxLDE0IEBACj4+ICsjIFRlc3Qg ZW5kcyB1cCByZWFkaW5nIENSQyBmcm9tIGZyYW1lIGJlZm9yZSBjdXJzb3IgdXBkYXRlCj4+ICsj IHNvbWV0aW1lcy4uIHRiZCBpZiB0aGlzIGlzIGEga2VybmVsIENSQyBidWcgb3IgYSB0ZXN0Cj4+ ICsjIGJ1Zwo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS0uKgo+PiArCj4+ICtrbXNfY3Vyc29yX2Vk Z2Vfd2Fsa0BwaXBlLUEtNjR4NjQtYm90dG9tLWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxr QHBpcGUtQS02NHg2NC1sZWZ0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQS02 NHg2NC1yaWdodC1lZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUEtNjR4NjQtdG9w LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02NHg2NC1ib3R0b20tZWRnZQo+ PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1CLTY0eDY0LWxlZnQtZWRnZQo+PiAra21zX2N1 cnNvcl9lZGdlX3dhbGtAcGlwZS1CLTY0eDY0LXJpZ2h0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRn ZV93YWxrQHBpcGUtQi02NHg2NC10b3AtZWRnZQo+PiAra21zX3BsYW5lX211bHRpcGxlQGF0b21p Yy1waXBlLUEtdGlsaW5nLW5vbmUKPj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNjNzE4MC1za2lwcy50eHQgCj4+IGIv ZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtc2tpcHMudHh0Cj4+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNDA5MTZkZGZmODFmCj4+IC0tLSAvZGV2L251 bGwKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpL21zbS1zYzcxODAtc2tpcHMudHh0Cj4+IEBA IC0wLDAgKzEsMTggQEAKPj4gKyMgU3VzcGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9u IHRoaXMgbWFjaGluZQo+PiArLipzdXNwZW5kLioKPj4gKwo+PiArIyBUZXN0IGluY29ycmVjdGx5 IGFzc3VtZXMgdGhhdCBDVE0gc3VwcG9ydCBpbXBsaWVzIGdhbW1hL2RlZ2FtbWEKPj4gKyMgTFVU IHN1cHBvcnQuwqAgTm9uZSBvZiB0aGUgc3VidGVzdHMgaGFuZGxlIHRoZSBjYXNlIG9mIG9ubHkg aGF2aW5nCj4+ICsjIENUTSBzdXBwb3J0Cj4+ICtrbXNfY29sb3IuKgo+PiArCj4+ICsjIDRrQDYw IGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBodywgYnV0IGRyaXZlciBkb2Vzbid0IGhhbmRsZSBp dAo+PiArIyB0b28gZ3JhY2VmdWxseS4uIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9k cm0vbXNtLy0vaXNzdWVzLzE1Cj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0uKi1kaXNwbGF5cy0z ODQweDIxNjBwCj4+ICsKPj4gKyMgVW50aWwgaWd0IGZpeCBsYW5kczogaHR0cHM6Ly9wYXRjaHdv cmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzQ5MzE3NS8KPj4gK2ttc19id0BsaW5lYXItdGlsaW5n LTIuKgo+PiAra21zX2J3QGxpbmVhci10aWxpbmctMy4qCj4+ICtrbXNfYndAbGluZWFyLXRpbGlu Zy00LioKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTUuKgo+PiAra21zX2J3QGxpbmVhci10aWxp bmctNi4qCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2NpL21zbS1zZG04NDUtZmFpbHMudHh0IAo+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9jaS9tc20tc2RtODQ1LWZhaWxzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRl eCAwMDAwMDAwMDAwMDAuLjgxMzM5MjdhNDRkZgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LWZhaWxzLnR4dAo+PiBAQCAtMCwwICsxLDQ0IEBA Cj4+ICtrbXNfY29sb3JAcGlwZS1BLWN0bS0wLTI1LEZhaWwKPj4gK2ttc19jb2xvckBwaXBlLUEt Y3RtLTAtNSxGYWlsCj4+ICtrbXNfY29sb3JAcGlwZS1BLWN0bS0wLTc1LEZhaWwKPj4gK2ttc19j b2xvckBwaXBlLUEtY3RtLWJsdWUtdG8tcmVkLEZhaWwKPj4gK2ttc19jb2xvckBwaXBlLUEtY3Rt LWdyZWVuLXRvLXJlZCxGYWlsCj4+ICtrbXNfY29sb3JAcGlwZS1BLWN0bS1tYXgsRmFpbAo+PiAr a21zX2NvbG9yQHBpcGUtQS1jdG0tbmVnYXRpdmUsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQS1j dG0tcmVkLXRvLWJsdWUsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQS1sZWdhY3ktZ2FtbWEsRmFp bAo+PiAra21zX2N1cnNvcl9sZWdhY3lAYmFzaWMtZmxpcC1hZnRlci1jdXJzb3ItYXRvbWljLEZh aWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGJhc2ljLWZsaXAtYWZ0ZXItY3Vyc29yLWxlZ2FjeSxG YWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBiYXNpYy1mbGlwLWJlZm9yZS1jdXJzb3ItYXRvbWlj LEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGJhc2ljLWZsaXAtYmVmb3JlLWN1cnNvci1sZWdh Y3ksRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAY3Vyc29yLXZzLWZsaXAtYXRvbWljLEZhaWwK Pj4gK2ttc19jdXJzb3JfbGVnYWN5QGN1cnNvci12cy1mbGlwLWF0b21pYy10cmFuc2l0aW9ucyxG YWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBjdXJzb3ItdnMtZmxpcC1sZWdhY3ksRmFpbAo+PiAr a21zX2N1cnNvcl9sZWdhY3lAY3Vyc29yLXZzLWZsaXAtdG9nZ2xlLEZhaWwKPj4gK2ttc19jdXJz b3JfbGVnYWN5QGZsaXAtdnMtY3Vyc29yLWF0b21pYyxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2Fj eUBmbGlwLXZzLWN1cnNvci1jcmMtYXRvbWljLEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QGZs aXAtdnMtY3Vyc29yLWNyYy1sZWdhY3ksRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lAZmxpcC12 cy1jdXJzb3ItbGVnYWN5LEZhaWwKPj4gK2ttc19jdXJzb3JfbGVnYWN5QHNob3J0LWZsaXAtYWZ0 ZXItY3Vyc29yLWF0b21pYy10cmFuc2l0aW9ucyxGYWlsCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeUBz aG9ydC1mbGlwLWFmdGVyLWN1cnNvci10b2dnbGUsRmFpbAo+PiAra21zX2N1cnNvcl9sZWdhY3lA c2hvcnQtZmxpcC1iZWZvcmUtY3Vyc29yLWF0b21pYy10cmFuc2l0aW9ucyxGYWlsCj4+ICtrbXNf Y3Vyc29yX2xlZ2FjeUBzaG9ydC1mbGlwLWJlZm9yZS1jdXJzb3ItdG9nZ2xlLEZhaWwKPj4gK2tt c19wbGFuZUBwaXhlbC1mb3JtYXQsRmFpbAo+PiAra21zX3BsYW5lQHBpeGVsLWZvcm1hdC1zb3Vy Y2UtY2xhbXBpbmcsRmFpbAo+PiAra21zX3BsYW5lX2FscGhhX2JsZW5kQHBpcGUtQS1hbHBoYS03 ZWZjLEZhaWwKPj4gK2ttc19wbGFuZV9hbHBoYV9ibGVuZEBwaXBlLUEtY292ZXJhZ2UtN2VmYyxG YWlsCj4+ICtrbXNfcGxhbmVfYWxwaGFfYmxlbmRAcGlwZS1BLWNvdmVyYWdlLXZzLXByZW11bHQt dnMtY29uc3RhbnQsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBlLUEtb3ZlcmxheS1zaXpl LTEyOCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQS1vdmVybGF5LXNpemUtMjU2LEZh aWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1BLW92ZXJsYXktc2l6ZS02NCxGYWlsCj4+ICtr bXNfcGxhbmVfY3Vyc29yQHBpcGUtQS12aWV3cG9ydC1zaXplLTEyOCxGYWlsCj4+ICtrbXNfcGxh bmVfY3Vyc29yQHBpcGUtQS12aWV3cG9ydC1zaXplLTI1NixGYWlsCj4+ICtrbXNfcGxhbmVfY3Vy c29yQHBpcGUtQS12aWV3cG9ydC1zaXplLTY0LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQGRv d25zY2FsZS13aXRoLXBpeGVsLWZvcm1hdC1mYWN0b3ItMC0yNSxUaW1lb3V0Cj4+ICtrbXNfcGxh bmVfc2NhbGluZ0Bkb3duc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtZmFjdG9yLTAtNSxUaW1lb3V0 Cj4+ICtrbXNfcGxhbmVfc2NhbGluZ0Bkb3duc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtZmFjdG9y LTAtNzUsVGltZW91dAo+PiAra21zX3BsYW5lX3NjYWxpbmdAaW52YWxpZC1udW0tc2NhbGVycyxG YWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0BwbGFuZXMtZG93bnNjYWxlLWZhY3Rvci0wLTI1LEZh aWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHNjYWxlci13aXRoLWNsaXBwaW5nLWNsYW1waW5nLFRp bWVvdXQKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHNjYWxlci13aXRoLXBpeGVsLWZvcm1hdC11bml0 eS1zY2FsaW5nLFRpbWVvdXQKPj4gK2ttc19ybWZiQGNsb3NlLWZkLEZhaWwKPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LWZsYWtlcy50eHQgCj4+IGIvZHJpdmVy cy9ncHUvZHJtL2NpL21zbS1zZG04NDUtZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0 NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmRhNDQwNmI3NDgyOAo+PiAtLS0gL2Rldi9udWxsCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LWZsYWtlcy50eHQKPj4gQEAgLTAs MCArMSwzMyBAQAo+PiArIyBUZXN0IGVuZHMgdXAgcmVhZGluZyBDUkMgZnJvbSBmcmFtZSBiZWZv cmUgY3Vyc29yIHVwZGF0ZQo+PiArIyBzb21ldGltZXMuLiB0YmQgaWYgdGhpcyBpcyBhIGtlcm5l bCBDUkMgYnVnIG9yIGEgdGVzdAo+PiArIyBidWcKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1j dXJzb3ItYWxwaGEtb3BhcXVlCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLWRwbXMK Pj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3Itc2l6ZS1jaGFuZ2UKPj4gK2ttc19jdXJz b3JfbGVnYWN5QGZsaXAtdnMtY3Vyc29yLXRvZ2dsZQo+PiAra21zX2N1cnNvcl9sZWdhY3lAcGlw ZS1BLWZvcmtlZC1ibwo+PiAra21zX2N1cnNvcl9sZWdhY3lAcGlwZS1BLWZvcmtlZC1tb3ZlCj4+ ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDEwLW9mZnNjcmVlbgo+PiAra21zX2N1 cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngxMC1vbnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci0zMngxMC1yYW5kb20KPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJz b3ItMzJ4MTAtc2xpZGluZwo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1v ZmZzY3JlZW4KPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItb25zY3JlZW4K Pj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItcmFuZG9tCj4+ICtrbXNfY3Vy c29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDMyLXNsaWRpbmcKPj4gK2ttc19jdXJzb3JfY3JjQHBp cGUtQS1jdXJzb3ItNjR4MjEtb2Zmc2NyZWVuCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vy c29yLTY0eDIxLW9uc2NyZWVuCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTY0eDIx LXJhbmRvbQo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1zbGlkaW5nCj4+ ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTY0eDY0LW9mZnNjcmVlbgo+PiAra21zX2N1 cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHg2NC1vbnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci02NHg2NC1yYW5kb20KPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJz b3ItNjR4NjQtc2xpZGluZwo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci1kcG1zCj4+ ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLXN1c3BlbmQKPj4gK2ttc19jdXJzb3JfZWRn ZV93YWxrQHBpcGUtQS02NHg2NC1ib3R0b20tZWRnZQo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtA cGlwZS1BLTY0eDY0LWxlZnQtZWRnZQo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlwZS1BLTY0 eDY0LXJpZ2h0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQS02NHg2NC10b3At ZWRnZQo+PiArCj4+ICtrbXNfZmxpcEBkcG1zLXZzLXZibGFuay1yYWNlLWludGVycnVwdGlibGUK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9tc20tc2RtODQ1LXNraXBzLnR4dCAK Pj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNkbTg0NS1za2lwcy50eHQKPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi40MjY3NWYxYzZkNzYKPj4gLS0tIC9k ZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvbXNtLXNkbTg0NS1za2lwcy50eHQK Pj4gQEAgLTAsMCArMSwyIEBACj4+ICsjIEhhbmdzIG1hY2hpbmUKPj4gK2ttc19idy4qCj4+IFwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2NpL3JvY2tjaGlwLXJrMzI4OC1mYWlscy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL3Jv Y2tjaGlwLXJrMzI4OC1mYWlscy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXgg MDAwMDAwMDAwMDAwLi5lMmEyNjQ2NDdhNTgKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMjg4LWZhaWxzLnR4dAo+PiBAQCAtMCwwICsxLDc1 IEBACj4+ICtrbXNfM2QsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQGFkZGZiMjUtYmFkLW1vZGlm aWVyLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTItZGlzcGxheXMtMTkyMHgxMDgwcCxG YWlsCj4+ICtrbXNfYndAbGluZWFyLXRpbGluZy0yLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+ PiAra21zX2J3QGxpbmVhci10aWxpbmctMi1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2tt c19id0BsaW5lYXItdGlsaW5nLTMtZGlzcGxheXMtMTkyMHgxMDgwcCxGYWlsCj4+ICtrbXNfYndA bGluZWFyLXRpbGluZy0zLWRpc3BsYXlzLTI1NjB4MTQ0MHAsRmFpbAo+PiAra21zX2J3QGxpbmVh ci10aWxpbmctMy1kaXNwbGF5cy0zODQweDIxNjBwLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBp cGUtQS1jdXJzb3ItMzJ4MTAtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1B LWN1cnNvci0zMngxMC1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNv ci0zMngxMC1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4 MzItb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1y YW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1zbGlkaW5n LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4MjEtb25zY3JlZW4sRmFp bAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1yYW5kb20sRmFpbAo+PiAr a21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1zbGlkaW5nLEZhaWwKPj4gK2ttc19j dXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4NjQtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNv cl9jcmNAcGlwZS1BLWN1cnNvci02NHg2NC1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci02NHg2NC1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUt QS1jdXJzb3ItYWxwaGEtb3BhcXVlLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJz b3ItZHBtcyxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLXNpemUtY2hhbmdl LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtb25zY3JlZW4sRmFp bAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1yYW5kb20sRmFpbAo+PiAr a21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1zbGlkaW5nLEZhaWwKPj4gK2ttc19j dXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNv cl9jcmNAcGlwZS1CLWN1cnNvci0zMngzMi1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1CLWN1cnNvci0zMngzMi1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUt Qi1jdXJzb3ItNjR4MjEtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1 cnNvci02NHgyMS1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci02 NHg2NC1vbnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0 LXJhbmRvbSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0LXNsaWRp bmcsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1hbHBoYS1vcGFxdWUsRmFp bAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1zaXplLWNoYW5nZSxGYWlsCj4+ICtr bXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNlLWNvbm5lY3Rvci1zdGF0ZSxGYWlsCj4+ICtr bXNfZm9yY2VfY29ubmVjdG9yX2Jhc2ljQGZvcmNlLWVkaWQsRmFpbAo+PiAra21zX2ZvcmNlX2Nv bm5lY3Rvcl9iYXNpY0Bmb3JjZS1sb2FkLWRldGVjdCxGYWlsCj4+ICtrbXNfZm9yY2VfY29ubmVj dG9yX2Jhc2ljQHBydW5lLXN0YWxlLW1vZGVzLEZhaWwKPj4gK2ttc19pbnZhbGlkX21vZGVAaW50 LW1heC1jbG9jayxGYWlsCj4+ICtrbXNfcGlwZV9jcmNfYmFzaWNAbm9uYmxvY2tpbmctY3JjLXBp cGUtQS1mcmFtZS1zZXF1ZW5jZSxGYWlsCj4+ICtrbXNfcGlwZV9jcmNfYmFzaWNAbm9uYmxvY2tp bmctY3JjLXBpcGUtQi1mcmFtZS1zZXF1ZW5jZSxGYWlsCj4+ICtrbXNfcGlwZV9jcmNfYmFzaWNA cmVhZC1jcmMtcGlwZS1BLWZyYW1lLXNlcXVlbmNlLEZhaWwKPj4gK2ttc19waXBlX2NyY19iYXNp Y0ByZWFkLWNyYy1waXBlLUItZnJhbWUtc2VxdWVuY2UsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNv ckBwaXBlLUEtb3ZlcmxheS1zaXplLTEyOCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUt QS1vdmVybGF5LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1BLW92ZXJs YXktc2l6ZS02NCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQS1wcmltYXJ5LXNpemUt MTI4LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1BLXByaW1hcnktc2l6ZS0yNTYsRmFp bAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBlLUEtcHJpbWFyeS1zaXplLTY0LEZhaWwKPj4gK2tt c19wbGFuZV9jdXJzb3JAcGlwZS1BLXZpZXdwb3J0LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFu ZV9jdXJzb3JAcGlwZS1BLXZpZXdwb3J0LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJz b3JAcGlwZS1BLXZpZXdwb3J0LXNpemUtNjQsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBl LUItb3ZlcmxheS1zaXplLTEyOCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQi1vdmVy bGF5LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLW92ZXJsYXktc2l6 ZS02NCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQi1wcmltYXJ5LXNpemUtMTI4LEZh aWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXByaW1hcnktc2l6ZS0yNTYsRmFpbAo+PiAr a21zX3BsYW5lX2N1cnNvckBwaXBlLUItcHJpbWFyeS1zaXplLTY0LEZhaWwKPj4gK2ttc19wbGFu ZV9jdXJzb3JAcGlwZS1CLXZpZXdwb3J0LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJz b3JAcGlwZS1CLXZpZXdwb3J0LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlw ZS1CLXZpZXdwb3J0LXNpemUtNjQsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93bnNjYWxl LXdpdGgtbW9kaWZpZXItZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93 bnNjYWxlLXdpdGgtcm90YXRpb24tZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxp bmdAdXBzY2FsZS13aXRoLW1vZGlmaWVyLTIweDIwLEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5n QHVwc2NhbGUtd2l0aC1tb2RpZmllci1mYWN0b3ItMC0yNSxGYWlsCj4+ICtrbXNfcGxhbmVfc2Nh bGluZ0B1cHNjYWxlLXdpdGgtcGl4ZWwtZm9ybWF0LTIweDIwLEZhaWwKPj4gK2ttc19wbGFuZV9z Y2FsaW5nQHVwc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtZmFjdG9yLTAtMjUsRmFpbAo+PiAra21z X3BsYW5lX3NjYWxpbmdAdXBzY2FsZS13aXRoLXJvdGF0aW9uLTIweDIwLEZhaWwKPj4gK2ttc19w cmltZUBiYXNpYy1jcmMsRmFpbAo+PiAra21zX3Byb3BlcnRpZXNAY29ubmVjdG9yLXByb3BlcnRp ZXMtYXRvbWljLEZhaWwKPj4gK2ttc19wcm9wZXJ0aWVzQGdldF9wcm9wZXJ0aWVzLXNhbml0eS1h dG9taWMsRmFpbAo+PiAra21zX3Byb3BlcnRpZXNAZ2V0X3Byb3BlcnRpZXMtc2FuaXR5LW5vbi1h dG9taWMsRmFpbAo+PiAra21zX3JtZmJAY2xvc2UtZmQsRmFpbAo+PiBcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1y azMyODgtZmxha2VzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMjg4 LWZsYWtlcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAw Li40NDdmYjI2Y2MzNDQKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v Y2kvcm9ja2NoaXAtcmszMjg4LWZsYWtlcy50eHQKPj4gQEAgLTAsMCArMSw1IEBACj4+ICtrbXNf Y3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLWRwbXMKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBp cGUtQS02NHg2NC1yaWdodC1lZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUEtNjR4 NjQtdG9wLWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02NHg2NC1yaWdodC1l ZGdlCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4NjQtdG9wLWVkZ2UKPj4gXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v Y2kvcm9ja2NoaXAtcmszMjg4LXNraXBzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vY2kvcm9j a2NoaXAtcmszMjg4LXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAw MDAwMDAwMDAwMDAuLjI2ZjlhMDNmYzA3NAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMyODgtc2tpcHMudHh0Cj4+IEBAIC0wLDAgKzEsNDYg QEAKPj4gKyMgU3VzcGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9uIHRoaXMgbWFjaGlu ZQo+PiArLipzdXNwZW5kLioKPj4gKwo+PiArIyBUb28gdW5zdGFibGUsIG1hY2hpbmUgZW5kcyB1 cCBoYW5naW5nIGFmdGVyIGxvdHMgb2YgT29wc2VzCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeS4qCj4+ ICsKPj4gKyMgU3RhcnRlZCBoYW5naW5nIHRoZSBtYWNoaW5lIG9uIExpbnV4IDUuMTktcmMyOgo+ PiArIwo+PiArIyBbSUdUXSBrbXNfcGxhbmVfbG93cmVzOiBleGVjdXRpbmcKPj4gKyMgW0lHVF0g a21zX3BsYW5lX2xvd3Jlczogc3RhcnRpbmcgc3VidGVzdCBwaXBlLUYtdGlsaW5nLXkKPj4gKyMg W0lHVF0ga21zX3BsYW5lX2xvd3JlczogZXhpdGluZywgcmV0PTc3Cj4+ICsjIENvbnNvbGU6IHN3 aXRjaGluZyB0byBjb2xvdXIgZnJhbWUgYnVmZmVyIGRldmljZSAxNzB4NDgKPj4gKyMgcm9ja2No aXAtZHJtIGRpc3BsYXktc3Vic3lzdGVtOiBbZHJtXSAqRVJST1IqIGZsaXBfZG9uZSB0aW1lZCBv dXQKPj4gKyMgcm9ja2NoaXAtZHJtIGRpc3BsYXktc3Vic3lzdGVtOiBbZHJtXSAqRVJST1IqIFtD UlRDOjM1OmNydGMtMF0gCj4+IGNvbW1pdCB3YWl0IHRpbWVkIG91dAo+PiArIyBCVUc6IHNwaW5s b2NrIGJhZCBtYWdpYyBvbiBDUFUjMywga21zX3BsYW5lX2xvd3JlLzQ4Mgo+PiArIyA4PC0tLSBj dXQgaGVyZSAtLS0KPj4gKyMgVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3Qg YXQgdmlydHVhbCBhZGRyZXNzIDc4MTIwNzhlCj4+ICsjIFs3ODEyMDc4ZV0gKnBnZD0wMDAwMDAw MAo+PiArIyBJbnRlcm5hbCBlcnJvcjogT29wczogNSBbIzFdIFNNUCBBUk0KPj4gKyMgTW9kdWxl cyBsaW5rZWQgaW46Cj4+ICsjIENQVTogMyBQSUQ6IDQ4MiBDb21tOiBrbXNfcGxhbmVfbG93cmUg VGFpbnRlZDogR8KgwqDCoMKgwqDCoMKgIFcgICAgICAgICAKPj4gNS4xOS4wLXJjMi0zMjM1OTYt ZzAwNTM1ZGU5MjE3MSAjMQo+PiArIyBIYXJkd2FyZSBuYW1lOiBSb2NrY2hpcCAoRGV2aWNlIFRy ZWUpCj4+ICsjIFByb2Nlc3Mga21zX3BsYW5lX2xvd3JlIChwaWQ6IDQ4Miwgc3RhY2sgbGltaXQg PSAweDExOTNhYzJiKQo+PiArI8KgIHNwaW5fZHVtcCBmcm9tIGRvX3Jhd19zcGluX2xvY2srMHhh NC8weGU4Cj4+ICsjwqAgZG9fcmF3X3NwaW5fbG9jayBmcm9tIHdhaXRfZm9yX2NvbXBsZXRpb25f dGltZW91dCsweDJjLzB4MTIwCj4+ICsjwqAgd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0IGZy b20gZHJtX2NydGNfY29tbWl0X3dhaXQrMHgxOC8weDdjCj4+ICsjwqAgZHJtX2NydGNfY29tbWl0 X3dhaXQgZnJvbSAKPj4gZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZGVwZW5kZW5jaWVzKzB4 NDQvMHgxNjgKPj4gKyPCoCBkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl9kZXBlbmRlbmNpZXMg ZnJvbSBjb21taXRfdGFpbCsweDM0LzB4MTgwCj4+ICsjwqAgY29tbWl0X3RhaWwgZnJvbSBkcm1f YXRvbWljX2hlbHBlcl9jb21taXQrMHgxNjQvMHgxOGMKPj4gKyPCoCBkcm1fYXRvbWljX2hlbHBl cl9jb21taXQgZnJvbSBkcm1fYXRvbWljX2NvbW1pdCsweGFjLzB4ZTQKPj4gKyPCoCBkcm1fYXRv bWljX2NvbW1pdCBmcm9tIGRybV9jbGllbnRfbW9kZXNldF9jb21taXRfYXRvbWljKzB4MjNjLzB4 Mjg0Cj4+ICsjwqAgZHJtX2NsaWVudF9tb2Rlc2V0X2NvbW1pdF9hdG9taWMgZnJvbSAKPj4gZHJt X2NsaWVudF9tb2Rlc2V0X2NvbW1pdF9sb2NrZWQrMHg2MC8weDFjOAo+PiArI8KgIGRybV9jbGll bnRfbW9kZXNldF9jb21taXRfbG9ja2VkIGZyb20gCj4+IGRybV9jbGllbnRfbW9kZXNldF9jb21t aXQrMHgyNC8weDQwCj4+ICsjwqAgZHJtX2NsaWVudF9tb2Rlc2V0X2NvbW1pdCBmcm9tIGRybV9m YmRldl9jbGllbnRfcmVzdG9yZSsweDU4LzB4OTQKPj4gKyPCoCBkcm1fZmJkZXZfY2xpZW50X3Jl c3RvcmUgZnJvbSBkcm1fY2xpZW50X2Rldl9yZXN0b3JlKzB4NzAvMHhiYwo+PiArI8KgIGRybV9j bGllbnRfZGV2X3Jlc3RvcmUgZnJvbSBkcm1fcmVsZWFzZSsweGY0LzB4MTE0Cj4+ICsjwqAgZHJt X3JlbGVhc2UgZnJvbSBfX2ZwdXQrMHg3NC8weDI0MAo+PiArI8KgIF9fZnB1dCBmcm9tIHRhc2tf d29ya19ydW4rMHg4NC8weGI0Cj4+ICsjwqAgdGFza193b3JrX3J1biBmcm9tIGRvX2V4aXQrMHgz NGMvMHhhMjAKPj4gKyPCoCBkb19leGl0IGZyb20gZG9fZ3JvdXBfZXhpdCsweDM0LzB4OTgKPj4g KyPCoCBkb19ncm91cF9leGl0IGZyb20gX193YWtlX3VwX3BhcmVudCsweDAvMHgxOAo+PiArIyBD b2RlOiBlNTk1YzAwOCAxMjg0M2QxOSAwM2UwMDAwMCAwMzA5MzE2OCAoMTU5NDA1MDgpCj4+ICsj IC0tLVsgZW5kIHRyYWNlIDAwMDAwMDAwMDAwMDAwMDAgXS0tLQo+PiArIyBub3RlOiBrbXNfcGxh bmVfbG93cmVbNDgyXSBleGl0ZWQgd2l0aCBwcmVlbXB0X2NvdW50IDEKPj4gKyMgRml4aW5nIHJl Y3Vyc2l2ZSBmYXVsdCBidXQgcmVib290IGlzIG5lZWRlZCEKPj4gK2ttc19wbGFuZV9sb3dyZXNA cGlwZS1GLXRpbGluZy15Cj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1mYWlscy50eHQgCj4+IGIv ZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1mYWlscy50eHQKPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi4wZjhhZmE3ZTJhZGMKPj4gLS0tIC9k ZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vY2kvcm9ja2NoaXAtcmszMzk5LWZhaWxz LnR4dAo+PiBAQCAtMCwwICsxLDg2IEBACj4+ICtrbXNfYWRkZmJfYmFzaWNAYWRkZmIyNS1iYWQt bW9kaWZpZXIsRmFpbAo+PiAra21zX2NvbG9yQHBpcGUtQS1sZWdhY3ktZ2FtbWEsRmFpbAo+PiAr a21zX2NvbG9yQHBpcGUtQi1sZWdhY3ktZ2FtbWEsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlw ZS1BLWN1cnNvci0zMngxMC1vZmZzY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1B LWN1cnNvci0zMngxMC1vbnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vy c29yLTMyeDEwLXJhbmRvbSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMy eDEwLXJhcGlkLW1vdmVtZW50LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3It MzJ4MTAtc2xpZGluZyxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDMy LW9mZnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTMyeDMyLW9u c2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItcmFuZG9t LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItMzJ4MzItcmFwaWQtbW92ZW1l bnQsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci0zMngzMi1zbGlkaW5nLEZh aWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4MjEtb25zY3JlZW4sRmFpbAo+ PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1yYW5kb20sRmFpbAo+PiAra21z X2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJz b3JfY3JjQHBpcGUtQS1jdXJzb3ItNjR4NjQtb2Zmc2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3Jf Y3JjQHBpcGUtQS1jdXJzb3ItNjR4NjQtb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1BLWN1cnNvci02NHg2NC1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1B LWN1cnNvci02NHg2NC1yYXBpZC1tb3ZlbWVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBl LUEtY3Vyc29yLTY0eDY0LXNsaWRpbmcsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1 cnNvci1hbHBoYS1vcGFxdWUsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci1h bHBoYS10cmFuc3BhcmVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLWRw bXMsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci1zaXplLWNoYW5nZSxGYWls Cj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTMyeDEwLW9uc2NyZWVuLEZhaWwKPj4g K2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtcmFuZG9tLEZhaWwKPj4gK2ttc19j dXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtcmFwaWQtbW92ZW1lbnQsRmFpbAo+PiAra21z X2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1zbGlkaW5nLEZhaWwKPj4gK2ttc19jdXJz b3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb2Zmc2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3Jf Y3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNA cGlwZS1CLWN1cnNvci0zMngzMi1yYW5kb20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1C LWN1cnNvci0zMngzMi1yYXBpZC1tb3ZlbWVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBl LUItY3Vyc29yLTMyeDMyLXNsaWRpbmcsRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1 cnNvci02NHgyMS1vbnNjcmVlbixGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29y LTY0eDIxLXJhbmRvbSxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDIx LXJhcGlkLW1vdmVtZW50LEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItNjR4 NjQtb2Zmc2NyZWVuLEZhaWwKPj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItNjR4NjQt b25zY3JlZW4sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci02NHg2NC1yYW5k b20sRmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci02NHg2NC1yYXBpZC1tb3Zl bWVudCxGYWlsCj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0LXNsaWRpbmcs RmFpbAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1hbHBoYS1vcGFxdWUsRmFpbAo+ PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci1kcG1zLEZhaWwKPj4gK2ttc19jdXJzb3Jf Y3JjQHBpcGUtQi1jdXJzb3Itc2l6ZS1jaGFuZ2UsRmFpbAo+PiAra21zX2N1cnNvcl9lZGdlX3dh bGtAcGlwZS1BLTY0eDY0LWJvdHRvbS1lZGdlLEZhaWwKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxr QHBpcGUtQS02NHg2NC1sZWZ0LWVkZ2UsRmFpbAo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtAcGlw ZS1BLTY0eDY0LXRvcC1lZGdlLEZhaWwKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02 NHg2NC1ib3R0b20tZWRnZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4 NjQtcmlnaHQtZWRnZSxGYWlsCj4+ICtrbXNfY3Vyc29yX2VkZ2Vfd2Fsa0BwaXBlLUItNjR4NjQt dG9wLWVkZ2UsRmFpbAo+PiAra21zX2ludmFsaWRfbW9kZUBpbnQtbWF4LWNsb2NrLEZhaWwKPj4g K2ttc19waXBlX2NyY19iYXNpY0Bjb21wYXJlLWNyYy1zYW5pdHljaGVjay1waXBlLUEsRmFpbAo+ PiAra21zX3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUEsRmFpbAo+PiAra21z X3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUEtZnJhbWUtc2VxdWVuY2UsRmFp bAo+PiAra21zX3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUIsRmFpbAo+PiAr a21zX3BpcGVfY3JjX2Jhc2ljQG5vbmJsb2NraW5nLWNyYy1waXBlLUItZnJhbWUtc2VxdWVuY2Us RmFpbAo+PiAra21zX3BpcGVfY3JjX2Jhc2ljQHJlYWQtY3JjLXBpcGUtQSxGYWlsCj4+ICtrbXNf cGlwZV9jcmNfYmFzaWNAcmVhZC1jcmMtcGlwZS1BLWZyYW1lLXNlcXVlbmNlLEZhaWwKPj4gK2tt c19waXBlX2NyY19iYXNpY0ByZWFkLWNyYy1waXBlLUIsRmFpbAo+PiAra21zX3BpcGVfY3JjX2Jh c2ljQHJlYWQtY3JjLXBpcGUtQi1mcmFtZS1zZXF1ZW5jZSxGYWlsCj4+ICtrbXNfcGxhbmVAcGxh bmUtcGFubmluZy1ib3R0b20tcmlnaHQsRmFpbAo+PiAra21zX3BsYW5lQHBsYW5lLXBhbm5pbmct dG9wLWxlZnQsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBwaXBlLUItb3ZlcmxheS1zaXplLTEy OCxGYWlsCj4+ICtrbXNfcGxhbmVfY3Vyc29yQHBpcGUtQi1vdmVybGF5LXNpemUtMjU2LEZhaWwK Pj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLW92ZXJsYXktc2l6ZS02NCxGYWlsCj4+ICtrbXNf cGxhbmVfY3Vyc29yQHBpcGUtQi1wcmltYXJ5LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFuZV9j dXJzb3JAcGlwZS1CLXByaW1hcnktc2l6ZS0yNTYsRmFpbAo+PiAra21zX3BsYW5lX2N1cnNvckBw aXBlLUItcHJpbWFyeS1zaXplLTY0LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXZp ZXdwb3J0LXNpemUtMTI4LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXZpZXdwb3J0 LXNpemUtMjU2LEZhaWwKPj4gK2ttc19wbGFuZV9jdXJzb3JAcGlwZS1CLXZpZXdwb3J0LXNpemUt NjQsRmFpbAo+PiAra21zX3BsYW5lX211bHRpcGxlQGF0b21pYy1waXBlLUItdGlsaW5nLW5vbmUs RmFpbAo+PiAra21zX3ByaW1lQGJhc2ljLWNyYyxGYWlsCj4+ICtrbXNfcm1mYkBjbG9zZS1mZCxG YWlsCj4+ICtrbXNfdW5pdmVyc2FsX3BsYW5lQHVuaXZlcnNhbC1wbGFuZS1waXBlLUItZnVuY3Rp b25hbCxGYWlsCj4+ICtrbXNfdmJsYW5rQHBpcGUtQS1xdWVyeS1mb3JrZWQsRmFpbAo+PiAra21z X3ZibGFua0BwaXBlLUEtcXVlcnktaWRsZSxGYWlsCj4+ICtrbXNfdmJsYW5rQHBpcGUtQS13YWl0 LWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtd2FpdC1mb3JrZWQsRmFpbAo+PiAra21z X3ZibGFua0BwaXBlLUEtd2FpdC1mb3JrZWQtYnVzeSxGYWlsCj4+ICtrbXNfdmJsYW5rQHBpcGUt Qi1xdWVyeS1mb3JrZWQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUItcXVlcnktaWRsZSxGYWls Cj4+ICtrbXNfdmJsYW5rQHBpcGUtQi13YWl0LWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBl LUItd2FpdC1mb3JrZWQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUItd2FpdC1mb3JrZWQtYnVz eSxGYWlsCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5OS1mbGFrZXMudHh0IAo+PiBiL2RyaXZlcnMv Z3B1L2RybS9jaS9yb2NrY2hpcC1yazMzOTktZmxha2VzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmI0YzM3YTQzMTVlNAo+PiAtLS0gL2Rldi9udWxs Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS9yb2NrY2hpcC1yazMzOTktZmxha2VzLnR4dAo+ PiBAQCAtMCwwICsxLDI1IEBACj4+ICtrbXNfY3Vyc29yX2NyY0BwaXBlLUEtY3Vyc29yLTY0eDIx LW9mZnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1BLWN1cnNvci02NHgyMS1yYXBpZC1t b3ZlbWVudAo+PiAra21zX2N1cnNvcl9jcmNAcGlwZS1CLWN1cnNvci0zMngxMC1vZmZzY3JlZW4K Pj4gK2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MTAtcmFwaWQtbW92ZW1lbnQKPj4g K2ttc19jdXJzb3JfY3JjQHBpcGUtQi1jdXJzb3ItMzJ4MzItb2Zmc2NyZWVuCj4+ICtrbXNfY3Vy c29yX2NyY0BwaXBlLUItY3Vyc29yLTMyeDMyLXJhcGlkLW1vdmVtZW50Cj4+ICtrbXNfY3Vyc29y X2NyY0BwaXBlLUItY3Vyc29yLTY0eDY0LW9mZnNjcmVlbgo+PiAra21zX2N1cnNvcl9jcmNAcGlw ZS1CLWN1cnNvci02NHg2NC1yYXBpZC1tb3ZlbWVudAo+PiAra21zX2N1cnNvcl9lZGdlX3dhbGtA cGlwZS1BLTY0eDY0LXJpZ2h0LWVkZ2UKPj4gK2ttc19jdXJzb3JfZWRnZV93YWxrQHBpcGUtQi02 NHg2NC1sZWZ0LWVkZ2UKPj4gK2ttc19mbGlwQGZsaXAtdnMtZXhwaXJlZC12YmxhbmsKPj4gK2tt c19waXBlX2NyY19iYXNpY0Bjb21wYXJlLWNyYy1zYW5pdHljaGVjay1waXBlLUIKPj4gK2ttc19w bGFuZV9tdWx0aXBsZUBhdG9taWMtcGlwZS1BLXRpbGluZy1ub25lCj4+ICtrbXNfcGxhbmVAcGxh bmUtcG9zaXRpb24taG9sZQo+PiAra21zX3NlcXVlbmNlQGdldC1mb3JrZWQKPj4gK2ttc19zZXF1 ZW5jZUBnZXQtZm9ya2VkLWJ1c3kKPj4gK2ttc19zZXRtb2RlQGJhc2ljCj4+ICtrbXNfdmJsYW5r QHBpcGUtQS1hY2N1cmFjeS1pZGxlCj4+ICtrbXNfdmJsYW5rQHBpcGUtQS1xdWVyeS1idXN5Cj4+ ICtrbXNfdmJsYW5rQHBpcGUtQS1xdWVyeS1mb3JrZWQtYnVzeQo+PiAra21zX3ZibGFua0BwaXBl LUEtd2FpdC1pZGxlCj4+ICtrbXNfdmJsYW5rQHBpcGUtQi1hY2N1cmFjeS1pZGxlCj4+ICtrbXNf dmJsYW5rQHBpcGUtQi1xdWVyeS1idXN5Cj4+ICtrbXNfdmJsYW5rQHBpcGUtQi1xdWVyeS1mb3Jr ZWQtYnVzeQo+PiAra21zX3ZibGFua0BwaXBlLUItd2FpdC1pZGxlCj4+IFwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlw LXJrMzM5OS1za2lwcy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2NpL3JvY2tjaGlwLXJrMzM5 OS1za2lwcy50eHQKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAw Li4xMGMzZDgxYTkxOWEKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v Y2kvcm9ja2NoaXAtcmszMzk5LXNraXBzLnR4dAo+PiBAQCAtMCwwICsxLDUgQEAKPj4gKyMgU3Vz cGVuZCB0byBSQU0gc2VlbXMgdG8gYmUgYnJva2VuIG9uIHRoaXMgbWFjaGluZQo+PiArLipzdXNw ZW5kLioKPj4gKwo+PiArIyBUb28gdW5zdGFibGUsIG1hY2hpbmUgZW5kcyB1cCBoYW5naW5nIGFm dGVyIGxvdHMgb2YgT29wc2VzCj4+ICtrbXNfY3Vyc29yX2xlZ2FjeS4qCj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLWZhaWxzLnR4dCAKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLWZhaWxzLnR4dAo+PiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjIxNzhiZGQwNjRkZAo+PiAtLS0gL2Rldi9u dWxsCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaS92aXJ0aW9fZ3B1LW5vbmUtZmFpbHMudHh0 Cj4+IEBAIC0wLDAgKzEsMzggQEAKPj4gK2ttc19hZGRmYl9iYXNpY0BhZGRmYjI1LWJhZC1tb2Rp ZmllcixGYWlsCj4+ICtrbXNfYWRkZmJfYmFzaWNAYmFkLXBpdGNoLTY1NTM2LEZhaWwKPj4gK2tt c19hZGRmYl9iYXNpY0Biby10b28tc21hbGwsRmFpbAo+PiAra21zX2FkZGZiX2Jhc2ljQHNpemUt bWF4LEZhaWwKPj4gK2ttc19hZGRmYl9iYXNpY0B0b28taGlnaCxGYWlsCj4+ICtrbXNfYXRvbWlj X3RyYW5zaXRpb25AcGxhbmUtcHJpbWFyeS10b2dnbGUtd2l0aC12Ymxhbmstd2FpdCxGYWlsCj4+ ICtrbXNfYndAbGluZWFyLXRpbGluZy0xLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21z X2J3QGxpbmVhci10aWxpbmctMS1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0Bs aW5lYXItdGlsaW5nLTEtZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfYndAbGluZWFy LXRpbGluZy0yLWRpc3BsYXlzLTE5MjB4MTA4MHAsRmFpbAo+PiAra21zX2J3QGxpbmVhci10aWxp bmctMi1kaXNwbGF5cy0yNTYweDE0NDBwLEZhaWwKPj4gK2ttc19id0BsaW5lYXItdGlsaW5nLTIt ZGlzcGxheXMtMzg0MHgyMTYwcCxGYWlsCj4+ICtrbXNfaW52YWxpZF9tb2RlQGludC1tYXgtY2xv Y2ssRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93bnNjYWxlLXdpdGgtbW9kaWZpZXItZmFj dG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAZG93bnNjYWxlLXdpdGgtcm90YXRp b24tZmFjdG9yLTAtMjUsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUt MjB4MjAsRmFpbAo+PiAra21zX3BsYW5lX3NjYWxpbmdAcGxhbmVzLXVwc2NhbGUtMjB4MjAtZG93 bnNjYWxlLWZhY3Rvci0wLTI1LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5nQHBsYW5lcy11cHNj YWxlLTIweDIwLWRvd25zY2FsZS1mYWN0b3ItMC01LEZhaWwKPj4gK2ttc19wbGFuZV9zY2FsaW5n QHBsYW5lcy11cHNjYWxlLTIweDIwLWRvd25zY2FsZS1mYWN0b3ItMC03NSxGYWlsCj4+ICtrbXNf cGxhbmVfc2NhbGluZ0B1cHNjYWxlLXdpdGgtbW9kaWZpZXItMjB4MjAsRmFpbAo+PiAra21zX3Bs YW5lX3NjYWxpbmdAdXBzY2FsZS13aXRoLW1vZGlmaWVyLWZhY3Rvci0wLTI1LEZhaWwKPj4gK2tt c19wbGFuZV9zY2FsaW5nQHVwc2NhbGUtd2l0aC1waXhlbC1mb3JtYXQtMjB4MjAsRmFpbAo+PiAr a21zX3BsYW5lX3NjYWxpbmdAdXBzY2FsZS13aXRoLXBpeGVsLWZvcm1hdC1mYWN0b3ItMC0yNSxG YWlsCj4+ICtrbXNfcGxhbmVfc2NhbGluZ0B1cHNjYWxlLXdpdGgtcm90YXRpb24tMjB4MjAsRmFp bAo+PiAra21zX3ZibGFua0BjcnRjLWlkLEZhaWwKPj4gK2ttc192YmxhbmtAaW52YWxpZCxGYWls Cj4+ICtrbXNfdmJsYW5rQHBpcGUtQS1hY2N1cmFjeS1pZGxlLEZhaWwKPj4gK2ttc192YmxhbmtA cGlwZS1BLXF1ZXJ5LWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtcXVlcnktZm9ya2Vk LEZhaWwKPj4gK2ttc192YmxhbmtAcGlwZS1BLXF1ZXJ5LWZvcmtlZC1idXN5LEZhaWwKPj4gK2tt c192YmxhbmtAcGlwZS1BLXF1ZXJ5LWlkbGUsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtdHMt Y29udGludWF0aW9uLWlkbGUsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtdHMtY29udGludWF0 aW9uLW1vZGVzZXQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtdHMtY29udGludWF0aW9uLXN1 c3BlbmQsRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtd2FpdC1idXN5LEZhaWwKPj4gK2ttc192 YmxhbmtAcGlwZS1BLXdhaXQtZm9ya2VkLEZhaWwKPj4gK2ttc192YmxhbmtAcGlwZS1BLXdhaXQt Zm9ya2VkLWJ1c3ksRmFpbAo+PiAra21zX3ZibGFua0BwaXBlLUEtd2FpdC1pZGxlLEZhaWwKPj4g XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vY2kvdmlydGlvX2dwdS1ub25lLWZsYWtlcy50eHQgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2Np L3ZpcnRpb19ncHUtbm9uZS1mbGFrZXMudHh0Cj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGlu ZGV4IDAwMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMmQxCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vY2kvdmlydGlvX2dwdS1ub25lLXNraXBzLnR4dCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0v Y2kvdmlydGlvX2dwdS1ub25lLXNraXBzLnR4dAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBp bmRleCAwMDAwMDAwMDAwMDAuLjc4YmUxODE3NDAxMgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9jaS92aXJ0aW9fZ3B1LW5vbmUtc2tpcHMudHh0Cj4+IEBAIC0wLDAg KzEsNiBAQAo+PiArIyBIaXRzIGEgInJlZmNvdW50X3Q6IHVuZGVyZmxvdzsgdXNlLWFmdGVyLWZy ZWUiIGluIAo+PiB2aXJ0aW9fZ3B1X2ZlbmNlX2V2ZW50X3Byb2Nlc3MKPj4gKyMgV2hlbiBydW4g aW4gYSBwYXJ0aWN1bGFyIG9yZGVyIHdpdGggb3RoZXIgdGVzdHMKPj4gK2ttc19jdXJzb3JfbGVn YWN5LioKPj4gKwo+PiArIyBKb2IganVzdCBoYW5ncyB3aXRob3V0IGFueSBvdXRwdXQKPj4gK2tt c19mbGlwQGZsaXAtdnMtc3VzcGVuZC4qCj4+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+ IAo+IAoKLS0gClRvbWV1IFZpem9zbwpDb25zdWx0YW50IFByaW5jaXBhbCBTb2Z0d2FyZSBFbmdp bmVlcgoKQ29sbGFib3JhIEx0ZC4KUGxhdGludW0gQnVpbGRpbmcsIFN0IEpvaG4ncyBJbm5vdmF0 aW9uIFBhcmssIENhbWJyaWRnZSBDQjQgMERTLCBVbml0ZWQgCktpbmdkb20KUmVnaXN0ZXJlZCBp biBFbmdsYW5kICYgV2FsZXMsIG5vLiA1NTEzNzE4CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C3516C19F2A for ; Thu, 11 Aug 2022 10:11:11 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4004811356E; Thu, 11 Aug 2022 10:11:06 +0000 (UTC) Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3EDD511B354 for ; Thu, 11 Aug 2022 10:10:49 +0000 (UTC) Received: from [192.168.1.27] (cst-prg-101-15.cust.vodafone.cz [46.135.101.15]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: tomeu) by madras.collabora.co.uk (Postfix) with ESMTPSA id 4C7016601CE0; Thu, 11 Aug 2022 11:10:46 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1660212647; bh=I1SxPAOTQmS391q7M7+rbhIoiQgbNcXxYlia5tr4Ij0=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=d9IAHi5H/2iR9+UloeTd/m2oXigxG4nwYR6wP0PIor8dF+WyE4xbV0UFnATUb+yKh Sr2A4QjzyYaLjbPh3KEpg8s78/CKH5s+eXgGW7SuW4EzR1AY6sodX89LAx5lkO8I5o FDh/PIbbywsihLNf8Jt5UI/nTOahBtaMQuEz0eo5++iBsNOw/fnrwah41vU4ML7nlv hhoQUxeIQA/flK3ajaPbc0lbaisMbBlU0LvVnc69qOpXnNj3hLWWDO4x7ju4UDxd6t zr+rQgRwejK2Gsr2Ucd9yNDig+V5uii+WHkF37I1Fmr8M2rXDWUtlY/Z3f57I5i2jM SElJYHUDsXs2Q== Subject: Re: [PATCH v5] drm: Add initial ci/ subdirectory To: Rodrigo Siqueira Jordao , Nicholas Choi , Sun peng Li , "Chiu, Harrison" , "Wentland, Harry" References: <20220517081656.47625-1-tomeu.vizoso@collabora.com> <20220726181636.19967-1-tomeu.vizoso@collabora.com> From: Tomeu Vizoso Message-ID: Date: Thu, 11 Aug 2022 12:10:43 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Rob Clark , Jonathan Corbet , Neil Armstrong , David Airlie , Kevin Hilman , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-mediatek@lists.infradead.org, Carlo Caione , linux-amlogic@lists.infradead.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, Matthias Brugger Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On 8/10/22 8:24 PM, Rodrigo Siqueira Jordao wrote: > Hi Tomeu, > > First of all, nice patch! I just saw it, and I have some basic questions > (I don't understand many of these CI details). I also CC some CI folks > from the display team at AMD. Thanks for the feedback! > On 2022-07-26 14:16, Tomeu Vizoso wrote: >> And use it to store expectations about what the DRM drivers are >> supposed to pass in the IGT test suite. >> >> Also include a configuration file that points to the out-of-tree CI >> scripts. >> >> By storing the test expectations along the code we can make sure both >> stay in sync with each other, and so we can know when a code change >> breaks those expectations. >> >> This will allow all contributors to drm to reuse the infrastructure >> already in gitlab.freedesktop.org to test the driver on several >> generations of the hardware. >> >> v2: >>    - Fix names of result expectation files to match SoC >>    - Don't execute tests that are going to skip on all boards >> >> v3: >>    - Remove tracking of dmesg output during test execution >> >> v4: >>    - Move up to drivers/gpu/drm >>    - Add support for a bunch of other drivers >>    - Explain how to incorporate fixes for CI from a >>      ${TARGET_BRANCH}-external-fixes branch >>    - Remove tests that pass from expected results file, to reduce the >>      size of in-tree files >>    - Add docs about how to deal with outages in automated testing labs >>    - Specify the exact SHA of the CI scripts to be used >> >> v5: >>    - Remove unneeded skips from Meson expectations file >>    - Use a more advanced runner that detects flakes automatically >>    - Use a more succint format for the expectations >>    - Run many more tests (and use sharding to finish in time) >>    - Use skip lists to avoid hanging machines >>    - Add some build testing >>    - Build IGT in each pipeline for faster uprevs >>    - List failures in the GitLab UI >> >> Signed-off-by: Tomeu Vizoso >> Reviewed-by: Neil Armstrong >> --- >>   Documentation/gpu/automated_testing.rst       | 84 ++++++++++++++++++ >>   drivers/gpu/drm/ci/amdgpu-stoney-fails.txt    | 13 +++ >>   drivers/gpu/drm/ci/amdgpu-stoney-flakes.txt   | 20 +++++ >>   drivers/gpu/drm/ci/amdgpu-stoney-skips.txt    |  2 + >>   drivers/gpu/drm/ci/gitlab-ci.yml              | 13 +++ >>   drivers/gpu/drm/ci/i915-amly-flakes.txt       | 32 +++++++ >>   drivers/gpu/drm/ci/i915-amly-skips.txt        |  2 + >>   drivers/gpu/drm/ci/i915-apl-fails.txt         | 29 +++++++ >>   drivers/gpu/drm/ci/i915-apl-flakes.txt        |  1 + >>   drivers/gpu/drm/ci/i915-apl-skips.txt         |  2 + >>   drivers/gpu/drm/ci/i915-cml-flakes.txt        | 36 ++++++++ >>   drivers/gpu/drm/ci/i915-glk-flakes.txt        | 40 +++++++++ >>   drivers/gpu/drm/ci/i915-glk-skips.txt         |  2 + >>   drivers/gpu/drm/ci/i915-kbl-fails.txt         |  8 ++ >>   drivers/gpu/drm/ci/i915-kbl-flakes.txt        | 24 ++++++ >>   drivers/gpu/drm/ci/i915-kbl-skips.txt         |  2 + >>   drivers/gpu/drm/ci/i915-tgl-fails.txt         | 19 ++++ >>   drivers/gpu/drm/ci/i915-tgl-flakes.txt        |  6 ++ >>   drivers/gpu/drm/ci/i915-tgl-skips.txt         |  8 ++ >>   drivers/gpu/drm/ci/i915-whl-fails.txt         | 30 +++++++ >>   drivers/gpu/drm/ci/i915-whl-flakes.txt        |  1 + >>   drivers/gpu/drm/ci/mediatek-mt8173-fails.txt  | 29 +++++++ >>   drivers/gpu/drm/ci/mediatek-mt8183-fails.txt  | 10 +++ >>   drivers/gpu/drm/ci/mediatek-mt8183-flakes.txt | 14 +++ >>   drivers/gpu/drm/ci/meson-g12b-fails.txt       |  5 ++ >>   drivers/gpu/drm/ci/meson-g12b-flakes.txt      |  4 + >>   drivers/gpu/drm/ci/msm-apq8016-fails.txt      | 15 ++++ >>   drivers/gpu/drm/ci/msm-apq8016-flakes.txt     |  4 + >>   drivers/gpu/drm/ci/msm-apq8096-fails.txt      |  2 + >>   drivers/gpu/drm/ci/msm-apq8096-flakes.txt     |  4 + >>   drivers/gpu/drm/ci/msm-apq8096-skips.txt      |  2 + >>   drivers/gpu/drm/ci/msm-sc7180-fails.txt       | 22 +++++ >>   drivers/gpu/drm/ci/msm-sc7180-flakes.txt      | 14 +++ >>   drivers/gpu/drm/ci/msm-sc7180-skips.txt       | 18 ++++ >>   drivers/gpu/drm/ci/msm-sdm845-fails.txt       | 44 ++++++++++ >>   drivers/gpu/drm/ci/msm-sdm845-flakes.txt      | 33 +++++++ >>   drivers/gpu/drm/ci/msm-sdm845-skips.txt       |  2 + >>   drivers/gpu/drm/ci/rockchip-rk3288-fails.txt  | 75 ++++++++++++++++ >>   drivers/gpu/drm/ci/rockchip-rk3288-flakes.txt |  5 ++ >>   drivers/gpu/drm/ci/rockchip-rk3288-skips.txt  | 46 ++++++++++ >>   drivers/gpu/drm/ci/rockchip-rk3399-fails.txt  | 86 +++++++++++++++++++ >>   drivers/gpu/drm/ci/rockchip-rk3399-flakes.txt | 25 ++++++ >>   drivers/gpu/drm/ci/rockchip-rk3399-skips.txt  |  5 ++ >>   drivers/gpu/drm/ci/virtio_gpu-none-fails.txt  | 38 ++++++++ >>   drivers/gpu/drm/ci/virtio_gpu-none-flakes.txt |  0 >>   drivers/gpu/drm/ci/virtio_gpu-none-skips.txt  |  6 ++ >>   46 files changed, 882 insertions(+) >>   create mode 100644 Documentation/gpu/automated_testing.rst >>   create mode 100644 drivers/gpu/drm/ci/amdgpu-stoney-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/amdgpu-stoney-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/amdgpu-stoney-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/gitlab-ci.yml >>   create mode 100644 drivers/gpu/drm/ci/i915-amly-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-amly-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-apl-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-apl-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-apl-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-cml-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-glk-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-glk-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-kbl-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-kbl-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-kbl-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-tgl-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-tgl-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-tgl-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-whl-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/i915-whl-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/mediatek-mt8173-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/mediatek-mt8183-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/mediatek-mt8183-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/meson-g12b-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/meson-g12b-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-apq8016-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-apq8016-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-apq8096-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-apq8096-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-apq8096-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sc7180-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sc7180-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sc7180-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sdm845-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sdm845-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/msm-sdm845-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3288-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3288-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3288-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3399-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3399-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/rockchip-rk3399-skips.txt >>   create mode 100644 drivers/gpu/drm/ci/virtio_gpu-none-fails.txt >>   create mode 100644 drivers/gpu/drm/ci/virtio_gpu-none-flakes.txt >>   create mode 100644 drivers/gpu/drm/ci/virtio_gpu-none-skips.txt >> >> diff --git a/Documentation/gpu/automated_testing.rst >> b/Documentation/gpu/automated_testing.rst >> new file mode 100644 >> index 000000000000..61003ecc7b6e >> --- /dev/null >> +++ b/Documentation/gpu/automated_testing.rst >> @@ -0,0 +1,84 @@ >> +.. SPDX-License-Identifier: GPL-2.0+ >> + >> +========================================= >> +Automated testing of the DRM subsystem >> +========================================= >> + >> + >> +Introduction >> +============ >> + >> +Making sure that changes to the core or drivers don't introduce >> regressions can be very time consuming when lots of different hardware >> configurations need to be tested. Moreover, it isn't practical for >> each person interested in this testing to have to acquire and maintain >> what can be a considerable amount of hardware. >> + >> +Also, it is desirable for developers to check for regressions in >> their code by themselves, instead of relying on the maintainers >> finding them and then reporting back. >> + >> +There are facilities in gitlab.freedesktop.org to automatically test >> Mesa that can be used as well for testing the DRM subsystem. This >> document explains how people interested in testing it can use this >> shared infrastructure to save quite some time and effort. >> + >> + >> +Relevant files >> +============== >> + >> +drivers/gpu/drm/ci/gitlab-ci.yml >> +-------------------------------- >> + >> +Specifies the specific version of the scripts to be used. GitLab CI >> will use the values defined in this file to fetch the right scripts. >> + >> + >> +drivers/gpu/drm/ci/${DRIVER_NAME}.testlist >> +------------------------------------------ >> + >> +Specifies the tests that the current code is expected to be able to >> reliably run for ${DRIVER_NAME}. These tests are expected to not hang >> the DUT (Device Under Testing) when running on the revision they >> belong to, and to give consistent results. > > The IGT repo has testlists per vendor (e.g., > https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/tree/master/tests/intel-ci). > What is the advantage of keeping a similar IGT list here? Should we > maintain that list in both projects? Yes, I think that would be better, but the ones currently there were too small or too big to be useful here. Note that the documentation here is erroneous, the test lists in this iteration are in the drm-ci repo, not in the kernel. Will fix this when I send my rebased patches. >> +drivers/gpu/drm/ci/${DRIVER_NAME}_*_results.txt >> +---------------------------------------- >> + >> +Specifies the expected results of running this specific kernel >> revision on a given hardware configuration. >> + >> + >> +How to enable automated testing on your tree >> +============================================ >> + >> +1. Create a Linux tree in https://gitlab.freedesktop.org/ if you >> don't have one yet >> + >> +2. In your kernel repo's configuration (eg. >> https://gitlab.freedesktop.org/tomeu/linux/-/settings/ci_cd), change >> the CI/CD configuration file from .gitlab-ci.yml to >> drivers/gpu/drm/ci/gitlab-ci.yml. >> + >> +3. Next time you push to this repository, you will see a CI pipeline >> being created (eg. >> https://gitlab.freedesktop.org/tomeu/linux/-/pipelines) >> + >> +4. The various jobs will be run and when the pipeline is finished, >> all jobs should be green unless a regression has been found. >> + >> + >> +How to update test expectations >> +=============================== >> + >> +If your changes to the code fix any tests, you will have to update >> one or more of the files in >> drivers/gpu/drm/ci/${DRIVER_NAME}_*_results.txt, for each of the test >> platforms affected by the change. >> + >> +If you have run a pipeline and it failed because of a mismatched test >> result, you will have been offered a patch at the end of the run that >> you can apply after reviewing it. >> + >> + >> +How to expand coverage >> +====================== >> + >> +If your code changes makes it possible to run more tests (by solving >> reliability issues, for example), more tests can be added to this >> list, and then the expected results updated with the patch file that >> will be printed at the end of each job. >> + >> +If there is a need for updating the version of IGT being used (maybe >> you have added more tests to it), follow the instructions at >> https://gitlab.freedesktop.org/gfx-ci/drm-ci/-/tree/main#upreving-igt. > > Usually, we run our IGT test on the latest code from the IGT repo. Is it > possible to configure this behavior? If this was the default behavior, it would create a lot of trouble because pipelines for the same code would sometimes pass or fail based on whatever had been pushed to the IGT repo. It is really important for this to work well for everybody that the pipeline is kept green at all times for checked-in code. But it is already very easy to uprev IGT, it just requires updating a commit hash in the drm-ci repo. >> +How to test your changes to the scripts >> +========================================== >> + >> +For testing changes to the scripts in the drm-ci repo, change the >> DRM_CI_PROJECT_PATH variable in drivers/gpu/drm/ci/gitlab-ci.yml to >> match your fork of the project (eg. tomeu/drm-ci). This fork needs to >> be in https://gitlab.freedesktop.org/. >> + >> + >> +How to incorporate external fixes in your testing >> +================================================= >> + >> +Often, regressions in other trees will prevent testing changes local >> to the tree under test. These fixes will be automatically merged in >> during the build jobs from a branch in the target tree that is named >> as ${TARGET_BRANCH}-external-fixes. >> + >> +If the pipeline is not in a merge request and a branch with the same >> name exists in the local tree, commits from that branch will be merged >> in as well. >> + >> + >> +How to deal with automated testing labs that may be down >> +======================================================== >> + >> +If a hardware farm is down and thus causing pipelines to fail that >> would otherwise pass, one can disable all jobs that would be submitted >> to that farm by editing the file at >> https://gitlab.freedesktop.org/gfx-ci/lab-status/-/blob/main/lab-status.yml. >> > > > This part is the one that I really want to understand. How can we plug > our farm? Do you have a guideline? I want to know if we can run a > prototype. We are reusing the device farms that were added to gitlab.freedesktop.org for testing Mesa. You should be able to plug your own lab for use in your personal branch without requiring anything from anybody else. You just need an account in gitlab.freedesktop.org. Currently, there are two modes through which DUTs are made available to Gitlab CI: baremetal and LAVA. The latter should better scale to several dozens of devices but has a higher initial installation effort. It would allow this farm to be used in other CIs such as kernelci.org, though. There is some documentation about this in Mesa: * https://docs.mesa3d.org/ci/bare-metal.html * https://docs.mesa3d.org/ci/LAVA.html Ask in #freedesktop in OFTC if you need any help. >> diff --git a/drivers/gpu/drm/ci/amdgpu-stoney-fails.txt >> b/drivers/gpu/drm/ci/amdgpu-stoney-fails.txt >> new file mode 100644 >> index 000000000000..e721568b6ec3 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/amdgpu-stoney-fails.txt >> @@ -0,0 +1,13 @@ >> +kms_addfb_basic@bad-pitch-65536,Fail >> +kms_addfb_basic@bo-too-small,Fail >> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-1-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_cursor_crc@pipe-A-cursor-size-change,Fail >> +kms_cursor_crc@pipe-B-cursor-size-change,Fail >> +kms_hdr@bpc-switch,Fail >> +kms_hdr@bpc-switch-dpms,Fail >> +kms_plane_multiple@atomic-pipe-A-tiling-none,Fail >> +kms_rotation_crc@primary-rotation-180,Fail >> +kms_universal_plane@disable-primary-vs-flip-pipe-B,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/amdgpu-stoney-flakes.txt >> b/drivers/gpu/drm/ci/amdgpu-stoney-flakes.txt >> new file mode 100644 >> index 000000000000..a2cbc339838c >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/amdgpu-stoney-flakes.txt >> @@ -0,0 +1,20 @@ >> +kms_addfb_basic@too-high >> +kms_atomic_transition@plane-all-modeset-transition-internal-panels >> +kms_atomic_transition@plane-all-transition >> +kms_atomic_transition@plane-use-after-nonblocking-unbind >> +kms_bw@linear-tiling-1-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-3840x2160p >> +kms_cursor_edge_walk@pipe-A-64x64-bottom-edge >> +kms_cursor_edge_walk@pipe-A-64x64-right-edge >> +kms_cursor_edge_walk@pipe-A-64x64-top-edge >> +kms_cursor_edge_walk@pipe-B-64x64-bottom-edge >> +kms_cursor_edge_walk@pipe-B-64x64-left-edge >> +kms_cursor_edge_walk@pipe-B-64x64-right-edge >> +kms_cursor_edge_walk@pipe-B-64x64-top-edge >> +kms_plane_multiple@atomic-pipe-B-tiling-none >> +kms_plane@pixel-format >> +kms_plane_scaling@downscale-with-rotation-factor-0-5 >> +kms_universal_plane@disable-primary-vs-flip-pipe-A > > We have multiple test lists for different ASICs, and we are working to > have one unified list. I guess we just need to that list here? > > Maybe Nicholas/Herrison can provide a complete list here. Maybe add it to the IGT repo and from there it will be used in this CI once it can run reliably enough? Cheers, Tomeu > Thanks > Siqueira > > >> diff --git a/drivers/gpu/drm/ci/amdgpu-stoney-skips.txt >> b/drivers/gpu/drm/ci/amdgpu-stoney-skips.txt >> new file mode 100644 >> index 000000000000..e2c538a0f954 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/amdgpu-stoney-skips.txt >> @@ -0,0 +1,2 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml >> b/drivers/gpu/drm/ci/gitlab-ci.yml >> new file mode 100644 >> index 000000000000..8898bbe0f180 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/gitlab-ci.yml >> @@ -0,0 +1,13 @@ >> +variables: >> +  # Change this to use your fork of drm-ci >> +  DRM_CI_PROJECT_PATH: &drm-ci-project-path gfx-ci/drm-ci >> +  DRM_CI_COMMIT_SHA: &drm-ci-commit-sha >> bccff240ca042820484096f0782e8f060bd83bca >> + >> +  UPSTREAM_REPO: git://anongit.freedesktop.org/drm/drm >> +  TARGET_BRANCH: drm-next >> + >> +include: >> +  - project: *drm-ci-project-path >> +    ref: *drm-ci-commit-sha >> +    file: >> +      - '.gitlab-ci.yml' >> diff --git a/drivers/gpu/drm/ci/i915-amly-flakes.txt >> b/drivers/gpu/drm/ci/i915-amly-flakes.txt >> new file mode 100644 >> index 000000000000..67d78f10b671 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-amly-flakes.txt >> @@ -0,0 +1,32 @@ >> +kms_bw@linear-tiling-2-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-2560x1440p >> +kms_bw@linear-tiling-2-displays-3840x2160p >> +kms_bw@linear-tiling-3-displays-1920x1080p >> +kms_bw@linear-tiling-3-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-3840x2160p >> +kms_bw@linear-tiling-4-displays-1920x1080p >> +kms_bw@linear-tiling-4-displays-2560x1440p >> +kms_bw@linear-tiling-4-displays-3840x2160p >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling >> +kms_plane_alpha_blend@pipe-A-alpha-basic >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max >> +kms_plane_alpha_blend@pipe-B-alpha-basic >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max >> +kms_plane_alpha_blend@pipe-C-alpha-basic >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max >> +kms_sysfs_edid_timing >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-amly-skips.txt >> b/drivers/gpu/drm/ci/i915-amly-skips.txt >> new file mode 100644 >> index 000000000000..e2c538a0f954 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-amly-skips.txt >> @@ -0,0 +1,2 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-apl-fails.txt >> b/drivers/gpu/drm/ci/i915-apl-fails.txt >> new file mode 100644 >> index 000000000000..a077f29d5cba >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-apl-fails.txt >> @@ -0,0 +1,29 @@ >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-4-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-4-displays-3840x2160p,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling,Fail >> >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max,Fail >> +kms_sysfs_edid_timing,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-apl-flakes.txt >> b/drivers/gpu/drm/ci/i915-apl-flakes.txt >> new file mode 100644 >> index 000000000000..618bbe6bb793 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-apl-flakes.txt >> @@ -0,0 +1 @@ >> +kms_frontbuffer_tracking@fbc-tiling-linear >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-apl-skips.txt >> b/drivers/gpu/drm/ci/i915-apl-skips.txt >> new file mode 100644 >> index 000000000000..e2c538a0f954 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-apl-skips.txt >> @@ -0,0 +1,2 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-cml-flakes.txt >> b/drivers/gpu/drm/ci/i915-cml-flakes.txt >> new file mode 100644 >> index 000000000000..a214419c6dc5 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-cml-flakes.txt >> @@ -0,0 +1,36 @@ >> +kms_bw@linear-tiling-2-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-2560x1440p >> +kms_bw@linear-tiling-2-displays-3840x2160p >> +kms_bw@linear-tiling-3-displays-1920x1080p >> +kms_bw@linear-tiling-3-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-3840x2160p >> +kms_bw@linear-tiling-4-displays-1920x1080p >> +kms_bw@linear-tiling-4-displays-2560x1440p >> +kms_bw@linear-tiling-4-displays-3840x2160p >> +kms_flip@flip-vs-suspend >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling >> +kms_hdr@bpc-switch-suspend >> +kms_plane_alpha_blend@pipe-A-alpha-basic >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max >> +kms_plane_alpha_blend@pipe-B-alpha-basic >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max >> +kms_plane_alpha_blend@pipe-C-alpha-basic >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max >> +kms_psr2_su@page_flip-NV12 >> +kms_psr2_su@page_flip-P010 >> +kms_setmode@basic >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-glk-flakes.txt >> b/drivers/gpu/drm/ci/i915-glk-flakes.txt >> new file mode 100644 >> index 000000000000..aedb3d2ef885 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-glk-flakes.txt >> @@ -0,0 +1,40 @@ >> +kms_bw@linear-tiling-1-displays-3840x2160p >> +kms_bw@linear-tiling-2-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-2560x1440p >> +kms_bw@linear-tiling-2-displays-3840x2160p >> +kms_bw@linear-tiling-3-displays-1920x1080p >> +kms_bw@linear-tiling-3-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-3840x2160p >> +kms_bw@linear-tiling-4-displays-1920x1080p >> +kms_bw@linear-tiling-4-displays-2560x1440p >> +kms_bw@linear-tiling-4-displays-3840x2160p >> +kms_flip@blocking-wf_vblank >> +kms_flip@wf_vblank-ts-check >> +kms_flip@wf_vblank-ts-check-interruptible >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling >> +kms_frontbuffer_tracking@fbc-tiling-linear >> +kms_plane_alpha_blend@pipe-A-alpha-basic >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max >> +kms_plane_alpha_blend@pipe-B-alpha-basic >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max >> +kms_plane_alpha_blend@pipe-C-alpha-basic >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max >> +kms_rotation_crc@multiplane-rotation >> +kms_rotation_crc@multiplane-rotation-cropping-bottom >> +kms_rotation_crc@multiplane-rotation-cropping-top >> +kms_setmode@basic >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-glk-skips.txt >> b/drivers/gpu/drm/ci/i915-glk-skips.txt >> new file mode 100644 >> index 000000000000..e2c538a0f954 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-glk-skips.txt >> @@ -0,0 +1,2 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-kbl-fails.txt >> b/drivers/gpu/drm/ci/i915-kbl-fails.txt >> new file mode 100644 >> index 000000000000..f81f065e27e8 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-kbl-fails.txt >> @@ -0,0 +1,8 @@ >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-kbl-flakes.txt >> b/drivers/gpu/drm/ci/i915-kbl-flakes.txt >> new file mode 100644 >> index 000000000000..f82017654cf5 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-kbl-flakes.txt >> @@ -0,0 +1,24 @@ >> +kms_bw@linear-tiling-2-displays-1920x1080p >> +kms_bw@linear-tiling-2-displays-3840x2160p >> +kms_bw@linear-tiling-3-displays-1920x1080p >> +kms_bw@linear-tiling-3-displays-2560x1440p >> +kms_bw@linear-tiling-3-displays-3840x2160p >> +kms_bw@linear-tiling-4-displays-1920x1080p >> +kms_bw@linear-tiling-4-displays-3840x2160p >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling >> +kms_plane_alpha_blend@pipe-A-alpha-basic >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-B-alpha-basic >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max >> +kms_plane_alpha_blend@pipe-C-alpha-basic >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb >> +kms_sysfs_edid_timing >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-kbl-skips.txt >> b/drivers/gpu/drm/ci/i915-kbl-skips.txt >> new file mode 100644 >> index 000000000000..e2c538a0f954 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-kbl-skips.txt >> @@ -0,0 +1,2 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-tgl-fails.txt >> b/drivers/gpu/drm/ci/i915-tgl-fails.txt >> new file mode 100644 >> index 000000000000..270644ce220c >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-tgl-fails.txt >> @@ -0,0 +1,19 @@ >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-4-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-4-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-5-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-5-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-5-displays-3840x2160p,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling,Fail >> >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail >> +kms_rotation_crc@bad-pixel-format,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-tgl-flakes.txt >> b/drivers/gpu/drm/ci/i915-tgl-flakes.txt >> new file mode 100644 >> index 000000000000..15fba77ff19d >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-tgl-flakes.txt >> @@ -0,0 +1,6 @@ >> +kms_draw_crc@draw-method-rgb565-blt-untiled >> +kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled >> +kms_draw_crc@draw-method-xrgb8888-mmap-gtt-xtiled >> +kms_flip@blocking-absolute-wf_vblank >> +kms_flip@bo-too-big-interruptible >> +kms_flip@flip-vs-rmfb-interruptible >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-tgl-skips.txt >> b/drivers/gpu/drm/ci/i915-tgl-skips.txt >> new file mode 100644 >> index 000000000000..14f33c7ba03b >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-tgl-skips.txt >> @@ -0,0 +1,8 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> + >> +# GPU hangs, then the whole machine >> +gem_eio.* >> + >> +# Whole machine hangs >> +kms_flip@absolute-wf_vblank@a-edp1 >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-whl-fails.txt >> b/drivers/gpu/drm/ci/i915-whl-fails.txt >> new file mode 100644 >> index 000000000000..dbfedfa5d63f >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-whl-fails.txt >> @@ -0,0 +1,30 @@ >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-4-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-4-displays-3840x2160p,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling,Fail >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling,Fail >> >> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail >> +kms_frontbuffer_tracking@fbc-tiling-linear,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-A-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb,Fail >> +kms_plane_alpha_blend@pipe-C-constant-alpha-max,Fail >> +kms_sysfs_edid_timing,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/i915-whl-flakes.txt >> b/drivers/gpu/drm/ci/i915-whl-flakes.txt >> new file mode 100644 >> index 000000000000..6bcac5b84fbb >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/i915-whl-flakes.txt >> @@ -0,0 +1 @@ >> +kms_flip@flip-vs-suspend >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/mediatek-mt8173-fails.txt >> b/drivers/gpu/drm/ci/mediatek-mt8173-fails.txt >> new file mode 100644 >> index 000000000000..7f74fb9afc99 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/mediatek-mt8173-fails.txt >> @@ -0,0 +1,29 @@ >> +kms_3d,Fail >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_bw@linear-tiling-1-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-1-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_color@pipe-A-invalid-gamma-lut-sizes,Fail >> +kms_color@pipe-B-invalid-gamma-lut-sizes,Fail >> +kms_force_connector_basic@force-connector-state,Fail >> +kms_force_connector_basic@force-edid,Fail >> +kms_force_connector_basic@force-load-detect,Fail >> +kms_force_connector_basic@prune-stale-modes,Fail >> +kms_invalid_mode@int-max-clock,Fail >> +kms_plane_scaling@planes-upscale-20x20,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75,Fail >> +kms_plane_scaling@upscale-with-modifier-20x20,Fail >> +kms_plane_scaling@upscale-with-pixel-format-20x20,Fail >> +kms_plane_scaling@upscale-with-rotation-20x20,Fail >> +kms_properties@get_properties-sanity-atomic,Fail >> +kms_properties@plane-properties-atomic,Fail >> +kms_properties@plane-properties-legacy,Fail >> +kms_rmfb@close-fd,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/mediatek-mt8183-fails.txt >> b/drivers/gpu/drm/ci/mediatek-mt8183-fails.txt >> new file mode 100644 >> index 000000000000..6ff81d00e84e >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/mediatek-mt8183-fails.txt >> @@ -0,0 +1,10 @@ >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_color@pipe-A-invalid-gamma-lut-sizes,Fail >> +kms_plane_scaling@upscale-with-rotation-20x20,Fail >> +kms_rmfb@close-fd,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/mediatek-mt8183-flakes.txt >> b/drivers/gpu/drm/ci/mediatek-mt8183-flakes.txt >> new file mode 100644 >> index 000000000000..208890b79eb0 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/mediatek-mt8183-flakes.txt >> @@ -0,0 +1,14 @@ >> +core_setmaster_vs_auth >> +kms_bw@linear-tiling-1-displays-1920x1080p >> +kms_bw@linear-tiling-1-displays-3840x2160p >> +kms_bw@linear-tiling-3-displays-1920x1080p >> +kms_cursor_legacy@cursor-vs-flip-atomic >> +kms_plane_scaling@invalid-num-scalers >> +kms_plane_scaling@planes-upscale-20x20 >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5 >> +kms_plane_scaling@upscale-with-modifier-20x20 >> +kms_plane_scaling@upscale-with-pixel-format-20x20 >> +kms_prop_blob@invalid-set-prop-any >> +kms_properties@get_properties-sanity-atomic >> +kms_properties@plane-properties-atomic >> +kms_properties@plane-properties-legacy >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/meson-g12b-fails.txt >> b/drivers/gpu/drm/ci/meson-g12b-fails.txt >> new file mode 100644 >> index 000000000000..345e1426b3a3 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/meson-g12b-fails.txt >> @@ -0,0 +1,5 @@ >> +kms_3d,Fail >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_properties@connector-properties-atomic,Fail >> +kms_properties@get_properties-sanity-atomic,Fail >> +kms_properties@get_properties-sanity-non-atomic,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/meson-g12b-flakes.txt >> b/drivers/gpu/drm/ci/meson-g12b-flakes.txt >> new file mode 100644 >> index 000000000000..b63329d06767 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/meson-g12b-flakes.txt >> @@ -0,0 +1,4 @@ >> +kms_force_connector_basic@force-connector-state >> +kms_force_connector_basic@force-edid >> +kms_force_connector_basic@force-load-detect >> +kms_force_connector_basic@prune-stale-modes >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-apq8016-fails.txt >> b/drivers/gpu/drm/ci/msm-apq8016-fails.txt >> new file mode 100644 >> index 000000000000..16c2dfab3f16 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-apq8016-fails.txt >> @@ -0,0 +1,15 @@ >> +kms_3d,Fail >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_cursor_legacy@all-pipes-forked-move,Fail >> +kms_cursor_legacy@all-pipes-torture-bo,Fail >> +kms_cursor_legacy@all-pipes-forked-bo,Fail >> +kms_cursor_legacy@all-pipes-single-bo,Fail >> +kms_cursor_legacy@all-pipes-single-move,Fail >> +kms_cursor_legacy@all-pipes-torture-move,Fail >> +kms_cursor_legacy@pipe-A-forked-bo,Fail >> +kms_cursor_legacy@pipe-A-forked-move,Fail >> +kms_cursor_legacy@pipe-A-single-bo,Fail >> +kms_cursor_legacy@pipe-A-single-move,Fail >> +kms_cursor_legacy@pipe-A-torture-bo,Fail >> +kms_cursor_legacy@pipe-A-torture-move,Fail >> +kms_hdmi_inject@inject-4k,Fail >> diff --git a/drivers/gpu/drm/ci/msm-apq8016-flakes.txt >> b/drivers/gpu/drm/ci/msm-apq8016-flakes.txt >> new file mode 100644 >> index 000000000000..b63329d06767 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-apq8016-flakes.txt >> @@ -0,0 +1,4 @@ >> +kms_force_connector_basic@force-connector-state >> +kms_force_connector_basic@force-edid >> +kms_force_connector_basic@force-load-detect >> +kms_force_connector_basic@prune-stale-modes >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-apq8096-fails.txt >> b/drivers/gpu/drm/ci/msm-apq8096-fails.txt >> new file mode 100644 >> index 000000000000..88a1fc0a3b0d >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-apq8096-fails.txt >> @@ -0,0 +1,2 @@ >> +kms_3d,Fail >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> diff --git a/drivers/gpu/drm/ci/msm-apq8096-flakes.txt >> b/drivers/gpu/drm/ci/msm-apq8096-flakes.txt >> new file mode 100644 >> index 000000000000..b63329d06767 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-apq8096-flakes.txt >> @@ -0,0 +1,4 @@ >> +kms_force_connector_basic@force-connector-state >> +kms_force_connector_basic@force-edid >> +kms_force_connector_basic@force-load-detect >> +kms_force_connector_basic@prune-stale-modes >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-apq8096-skips.txt >> b/drivers/gpu/drm/ci/msm-apq8096-skips.txt >> new file mode 100644 >> index 000000000000..cd49c8ce2059 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-apq8096-skips.txt >> @@ -0,0 +1,2 @@ >> +# Whole machine hangs >> +kms_cursor_legacy@all-pipes-torture-move >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-sc7180-fails.txt >> b/drivers/gpu/drm/ci/msm-sc7180-fails.txt >> new file mode 100644 >> index 000000000000..0b159b6469c8 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sc7180-fails.txt >> @@ -0,0 +1,22 @@ >> +kms_cursor_legacy@cursor-vs-flip-toggle,Fail >> +kms_cursor_legacy@cursorA-vs-flipA-atomic-transitions,Crash >> +kms_plane@pixel-format,Fail >> +kms_plane@pixel-format-source-clamping,Fail >> +kms_plane@plane-position-covered,Fail >> +kms_plane@plane-position-hole,Fail >> +kms_plane@plane-position-hole-dpms,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-7efc,Fail >> +kms_plane_alpha_blend@pipe-A-coverage-7efc,Fail >> +kms_plane_alpha_blend@pipe-A-coverage-vs-premult-vs-constant,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-7efc,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-basic,Fail >> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail >> +kms_plane_alpha_blend@pipe-B-constant-alpha-max,Fail >> +kms_plane_alpha_blend@pipe-B-constant-alpha-mid,Fail >> +kms_plane_alpha_blend@pipe-B-coverage-7efc,Fail >> +kms_plane_alpha_blend@pipe-B-coverage-vs-premult-vs-constant,Fail >> +kms_plane_multiple@atomic-pipe-A-tiling-none,Crash >> +kms_rmfb@close-fd,Fail >> +kms_rotation_crc@primary-rotation-180,Fail >> +kms_universal_plane@disable-primary-vs-flip-pipe-B,Fail >> +kms_universal_plane@disable-primary-vs-flip-pipe-b,Fail >> diff --git a/drivers/gpu/drm/ci/msm-sc7180-flakes.txt >> b/drivers/gpu/drm/ci/msm-sc7180-flakes.txt >> new file mode 100644 >> index 000000000000..6022edace190 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sc7180-flakes.txt >> @@ -0,0 +1,14 @@ >> +# Test ends up reading CRC from frame before cursor update >> +# sometimes.. tbd if this is a kernel CRC bug or a test >> +# bug >> +kms_cursor_crc@pipe-.* >> + >> +kms_cursor_edge_walk@pipe-A-64x64-bottom-edge >> +kms_cursor_edge_walk@pipe-A-64x64-left-edge >> +kms_cursor_edge_walk@pipe-A-64x64-right-edge >> +kms_cursor_edge_walk@pipe-A-64x64-top-edge >> +kms_cursor_edge_walk@pipe-B-64x64-bottom-edge >> +kms_cursor_edge_walk@pipe-B-64x64-left-edge >> +kms_cursor_edge_walk@pipe-B-64x64-right-edge >> +kms_cursor_edge_walk@pipe-B-64x64-top-edge >> +kms_plane_multiple@atomic-pipe-A-tiling-none >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-sc7180-skips.txt >> b/drivers/gpu/drm/ci/msm-sc7180-skips.txt >> new file mode 100644 >> index 000000000000..40916ddff81f >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sc7180-skips.txt >> @@ -0,0 +1,18 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> + >> +# Test incorrectly assumes that CTM support implies gamma/degamma >> +# LUT support.  None of the subtests handle the case of only having >> +# CTM support >> +kms_color.* >> + >> +# 4k@60 is not supported on this hw, but driver doesn't handle it >> +# too gracefully.. https://gitlab.freedesktop.org/drm/msm/-/issues/15 >> +kms_bw@linear-tiling-.*-displays-3840x2160p >> + >> +# Until igt fix lands: https://patchwork.freedesktop.org/patch/493175/ >> +kms_bw@linear-tiling-2.* >> +kms_bw@linear-tiling-3.* >> +kms_bw@linear-tiling-4.* >> +kms_bw@linear-tiling-5.* >> +kms_bw@linear-tiling-6.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/msm-sdm845-fails.txt >> b/drivers/gpu/drm/ci/msm-sdm845-fails.txt >> new file mode 100644 >> index 000000000000..8133927a44df >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sdm845-fails.txt >> @@ -0,0 +1,44 @@ >> +kms_color@pipe-A-ctm-0-25,Fail >> +kms_color@pipe-A-ctm-0-5,Fail >> +kms_color@pipe-A-ctm-0-75,Fail >> +kms_color@pipe-A-ctm-blue-to-red,Fail >> +kms_color@pipe-A-ctm-green-to-red,Fail >> +kms_color@pipe-A-ctm-max,Fail >> +kms_color@pipe-A-ctm-negative,Fail >> +kms_color@pipe-A-ctm-red-to-blue,Fail >> +kms_color@pipe-A-legacy-gamma,Fail >> +kms_cursor_legacy@basic-flip-after-cursor-atomic,Fail >> +kms_cursor_legacy@basic-flip-after-cursor-legacy,Fail >> +kms_cursor_legacy@basic-flip-before-cursor-atomic,Fail >> +kms_cursor_legacy@basic-flip-before-cursor-legacy,Fail >> +kms_cursor_legacy@cursor-vs-flip-atomic,Fail >> +kms_cursor_legacy@cursor-vs-flip-atomic-transitions,Fail >> +kms_cursor_legacy@cursor-vs-flip-legacy,Fail >> +kms_cursor_legacy@cursor-vs-flip-toggle,Fail >> +kms_cursor_legacy@flip-vs-cursor-atomic,Fail >> +kms_cursor_legacy@flip-vs-cursor-crc-atomic,Fail >> +kms_cursor_legacy@flip-vs-cursor-crc-legacy,Fail >> +kms_cursor_legacy@flip-vs-cursor-legacy,Fail >> +kms_cursor_legacy@short-flip-after-cursor-atomic-transitions,Fail >> +kms_cursor_legacy@short-flip-after-cursor-toggle,Fail >> +kms_cursor_legacy@short-flip-before-cursor-atomic-transitions,Fail >> +kms_cursor_legacy@short-flip-before-cursor-toggle,Fail >> +kms_plane@pixel-format,Fail >> +kms_plane@pixel-format-source-clamping,Fail >> +kms_plane_alpha_blend@pipe-A-alpha-7efc,Fail >> +kms_plane_alpha_blend@pipe-A-coverage-7efc,Fail >> +kms_plane_alpha_blend@pipe-A-coverage-vs-premult-vs-constant,Fail >> +kms_plane_cursor@pipe-A-overlay-size-128,Fail >> +kms_plane_cursor@pipe-A-overlay-size-256,Fail >> +kms_plane_cursor@pipe-A-overlay-size-64,Fail >> +kms_plane_cursor@pipe-A-viewport-size-128,Fail >> +kms_plane_cursor@pipe-A-viewport-size-256,Fail >> +kms_plane_cursor@pipe-A-viewport-size-64,Fail >> +kms_plane_scaling@downscale-with-pixel-format-factor-0-25,Timeout >> +kms_plane_scaling@downscale-with-pixel-format-factor-0-5,Timeout >> +kms_plane_scaling@downscale-with-pixel-format-factor-0-75,Timeout >> +kms_plane_scaling@invalid-num-scalers,Fail >> +kms_plane_scaling@planes-downscale-factor-0-25,Fail >> +kms_plane_scaling@scaler-with-clipping-clamping,Timeout >> +kms_plane_scaling@scaler-with-pixel-format-unity-scaling,Timeout >> +kms_rmfb@close-fd,Fail >> diff --git a/drivers/gpu/drm/ci/msm-sdm845-flakes.txt >> b/drivers/gpu/drm/ci/msm-sdm845-flakes.txt >> new file mode 100644 >> index 000000000000..da4406b74828 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sdm845-flakes.txt >> @@ -0,0 +1,33 @@ >> +# Test ends up reading CRC from frame before cursor update >> +# sometimes.. tbd if this is a kernel CRC bug or a test >> +# bug >> +kms_cursor_crc@pipe-A-cursor-alpha-opaque >> +kms_cursor_crc@pipe-A-cursor-dpms >> +kms_cursor_crc@pipe-A-cursor-size-change >> +kms_cursor_legacy@flip-vs-cursor-toggle >> +kms_cursor_legacy@pipe-A-forked-bo >> +kms_cursor_legacy@pipe-A-forked-move >> +kms_cursor_crc@pipe-A-cursor-32x10-offscreen >> +kms_cursor_crc@pipe-A-cursor-32x10-onscreen >> +kms_cursor_crc@pipe-A-cursor-32x10-random >> +kms_cursor_crc@pipe-A-cursor-32x10-sliding >> +kms_cursor_crc@pipe-A-cursor-32x32-offscreen >> +kms_cursor_crc@pipe-A-cursor-32x32-onscreen >> +kms_cursor_crc@pipe-A-cursor-32x32-random >> +kms_cursor_crc@pipe-A-cursor-32x32-sliding >> +kms_cursor_crc@pipe-A-cursor-64x21-offscreen >> +kms_cursor_crc@pipe-A-cursor-64x21-onscreen >> +kms_cursor_crc@pipe-A-cursor-64x21-random >> +kms_cursor_crc@pipe-A-cursor-64x21-sliding >> +kms_cursor_crc@pipe-A-cursor-64x64-offscreen >> +kms_cursor_crc@pipe-A-cursor-64x64-onscreen >> +kms_cursor_crc@pipe-A-cursor-64x64-random >> +kms_cursor_crc@pipe-A-cursor-64x64-sliding >> +kms_cursor_crc@pipe-A-cursor-dpms >> +kms_cursor_crc@pipe-A-cursor-suspend >> +kms_cursor_edge_walk@pipe-A-64x64-bottom-edge >> +kms_cursor_edge_walk@pipe-A-64x64-left-edge >> +kms_cursor_edge_walk@pipe-A-64x64-right-edge >> +kms_cursor_edge_walk@pipe-A-64x64-top-edge >> + >> +kms_flip@dpms-vs-vblank-race-interruptible >> diff --git a/drivers/gpu/drm/ci/msm-sdm845-skips.txt >> b/drivers/gpu/drm/ci/msm-sdm845-skips.txt >> new file mode 100644 >> index 000000000000..42675f1c6d76 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/msm-sdm845-skips.txt >> @@ -0,0 +1,2 @@ >> +# Hangs machine >> +kms_bw.* >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3288-fails.txt >> b/drivers/gpu/drm/ci/rockchip-rk3288-fails.txt >> new file mode 100644 >> index 000000000000..e2a264647a58 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3288-fails.txt >> @@ -0,0 +1,75 @@ >> +kms_3d,Fail >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-random,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-random,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-random,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-random,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-alpha-opaque,Fail >> +kms_cursor_crc@pipe-A-cursor-dpms,Fail >> +kms_cursor_crc@pipe-A-cursor-size-change,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-random,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-random,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-64x21-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-64x21-random,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-random,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-alpha-opaque,Fail >> +kms_cursor_crc@pipe-B-cursor-size-change,Fail >> +kms_force_connector_basic@force-connector-state,Fail >> +kms_force_connector_basic@force-edid,Fail >> +kms_force_connector_basic@force-load-detect,Fail >> +kms_force_connector_basic@prune-stale-modes,Fail >> +kms_invalid_mode@int-max-clock,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-A-frame-sequence,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-B-frame-sequence,Fail >> +kms_pipe_crc_basic@read-crc-pipe-A-frame-sequence,Fail >> +kms_pipe_crc_basic@read-crc-pipe-B-frame-sequence,Fail >> +kms_plane_cursor@pipe-A-overlay-size-128,Fail >> +kms_plane_cursor@pipe-A-overlay-size-256,Fail >> +kms_plane_cursor@pipe-A-overlay-size-64,Fail >> +kms_plane_cursor@pipe-A-primary-size-128,Fail >> +kms_plane_cursor@pipe-A-primary-size-256,Fail >> +kms_plane_cursor@pipe-A-primary-size-64,Fail >> +kms_plane_cursor@pipe-A-viewport-size-128,Fail >> +kms_plane_cursor@pipe-A-viewport-size-256,Fail >> +kms_plane_cursor@pipe-A-viewport-size-64,Fail >> +kms_plane_cursor@pipe-B-overlay-size-128,Fail >> +kms_plane_cursor@pipe-B-overlay-size-256,Fail >> +kms_plane_cursor@pipe-B-overlay-size-64,Fail >> +kms_plane_cursor@pipe-B-primary-size-128,Fail >> +kms_plane_cursor@pipe-B-primary-size-256,Fail >> +kms_plane_cursor@pipe-B-primary-size-64,Fail >> +kms_plane_cursor@pipe-B-viewport-size-128,Fail >> +kms_plane_cursor@pipe-B-viewport-size-256,Fail >> +kms_plane_cursor@pipe-B-viewport-size-64,Fail >> +kms_plane_scaling@downscale-with-modifier-factor-0-25,Fail >> +kms_plane_scaling@downscale-with-rotation-factor-0-25,Fail >> +kms_plane_scaling@upscale-with-modifier-20x20,Fail >> +kms_plane_scaling@upscale-with-modifier-factor-0-25,Fail >> +kms_plane_scaling@upscale-with-pixel-format-20x20,Fail >> +kms_plane_scaling@upscale-with-pixel-format-factor-0-25,Fail >> +kms_plane_scaling@upscale-with-rotation-20x20,Fail >> +kms_prime@basic-crc,Fail >> +kms_properties@connector-properties-atomic,Fail >> +kms_properties@get_properties-sanity-atomic,Fail >> +kms_properties@get_properties-sanity-non-atomic,Fail >> +kms_rmfb@close-fd,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3288-flakes.txt >> b/drivers/gpu/drm/ci/rockchip-rk3288-flakes.txt >> new file mode 100644 >> index 000000000000..447fb26cc344 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3288-flakes.txt >> @@ -0,0 +1,5 @@ >> +kms_cursor_crc@pipe-B-cursor-dpms >> +kms_cursor_edge_walk@pipe-A-64x64-right-edge >> +kms_cursor_edge_walk@pipe-A-64x64-top-edge >> +kms_cursor_edge_walk@pipe-B-64x64-right-edge >> +kms_cursor_edge_walk@pipe-B-64x64-top-edge >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3288-skips.txt >> b/drivers/gpu/drm/ci/rockchip-rk3288-skips.txt >> new file mode 100644 >> index 000000000000..26f9a03fc074 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3288-skips.txt >> @@ -0,0 +1,46 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> + >> +# Too unstable, machine ends up hanging after lots of Oopses >> +kms_cursor_legacy.* >> + >> +# Started hanging the machine on Linux 5.19-rc2: >> +# >> +# [IGT] kms_plane_lowres: executing >> +# [IGT] kms_plane_lowres: starting subtest pipe-F-tiling-y >> +# [IGT] kms_plane_lowres: exiting, ret=77 >> +# Console: switching to colour frame buffer device 170x48 >> +# rockchip-drm display-subsystem: [drm] *ERROR* flip_done timed out >> +# rockchip-drm display-subsystem: [drm] *ERROR* [CRTC:35:crtc-0] >> commit wait timed out >> +# BUG: spinlock bad magic on CPU#3, kms_plane_lowre/482 >> +# 8<--- cut here --- >> +# Unable to handle kernel paging request at virtual address 7812078e >> +# [7812078e] *pgd=00000000 >> +# Internal error: Oops: 5 [#1] SMP ARM >> +# Modules linked in: >> +# CPU: 3 PID: 482 Comm: kms_plane_lowre Tainted: G        W >> 5.19.0-rc2-323596-g00535de92171 #1 >> +# Hardware name: Rockchip (Device Tree) >> +# Process kms_plane_lowre (pid: 482, stack limit = 0x1193ac2b) >> +#  spin_dump from do_raw_spin_lock+0xa4/0xe8 >> +#  do_raw_spin_lock from wait_for_completion_timeout+0x2c/0x120 >> +#  wait_for_completion_timeout from drm_crtc_commit_wait+0x18/0x7c >> +#  drm_crtc_commit_wait from >> drm_atomic_helper_wait_for_dependencies+0x44/0x168 >> +#  drm_atomic_helper_wait_for_dependencies from commit_tail+0x34/0x180 >> +#  commit_tail from drm_atomic_helper_commit+0x164/0x18c >> +#  drm_atomic_helper_commit from drm_atomic_commit+0xac/0xe4 >> +#  drm_atomic_commit from drm_client_modeset_commit_atomic+0x23c/0x284 >> +#  drm_client_modeset_commit_atomic from >> drm_client_modeset_commit_locked+0x60/0x1c8 >> +#  drm_client_modeset_commit_locked from >> drm_client_modeset_commit+0x24/0x40 >> +#  drm_client_modeset_commit from drm_fbdev_client_restore+0x58/0x94 >> +#  drm_fbdev_client_restore from drm_client_dev_restore+0x70/0xbc >> +#  drm_client_dev_restore from drm_release+0xf4/0x114 >> +#  drm_release from __fput+0x74/0x240 >> +#  __fput from task_work_run+0x84/0xb4 >> +#  task_work_run from do_exit+0x34c/0xa20 >> +#  do_exit from do_group_exit+0x34/0x98 >> +#  do_group_exit from __wake_up_parent+0x0/0x18 >> +# Code: e595c008 12843d19 03e00000 03093168 (15940508) >> +# ---[ end trace 0000000000000000 ]--- >> +# note: kms_plane_lowre[482] exited with preempt_count 1 >> +# Fixing recursive fault but reboot is needed! >> +kms_plane_lowres@pipe-F-tiling-y >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3399-fails.txt >> b/drivers/gpu/drm/ci/rockchip-rk3399-fails.txt >> new file mode 100644 >> index 000000000000..0f8afa7e2adc >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3399-fails.txt >> @@ -0,0 +1,86 @@ >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_color@pipe-A-legacy-gamma,Fail >> +kms_color@pipe-B-legacy-gamma,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-offscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-random,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-rapid-movement,Fail >> +kms_cursor_crc@pipe-A-cursor-32x10-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-offscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-random,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-rapid-movement,Fail >> +kms_cursor_crc@pipe-A-cursor-32x32-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-random,Fail >> +kms_cursor_crc@pipe-A-cursor-64x21-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-offscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-onscreen,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-random,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-rapid-movement,Fail >> +kms_cursor_crc@pipe-A-cursor-64x64-sliding,Fail >> +kms_cursor_crc@pipe-A-cursor-alpha-opaque,Fail >> +kms_cursor_crc@pipe-A-cursor-alpha-transparent,Fail >> +kms_cursor_crc@pipe-A-cursor-dpms,Fail >> +kms_cursor_crc@pipe-A-cursor-size-change,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-random,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-rapid-movement,Fail >> +kms_cursor_crc@pipe-B-cursor-32x10-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-offscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-random,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-rapid-movement,Fail >> +kms_cursor_crc@pipe-B-cursor-32x32-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-64x21-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-64x21-random,Fail >> +kms_cursor_crc@pipe-B-cursor-64x21-rapid-movement,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-offscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-onscreen,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-random,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-rapid-movement,Fail >> +kms_cursor_crc@pipe-B-cursor-64x64-sliding,Fail >> +kms_cursor_crc@pipe-B-cursor-alpha-opaque,Fail >> +kms_cursor_crc@pipe-B-cursor-dpms,Fail >> +kms_cursor_crc@pipe-B-cursor-size-change,Fail >> +kms_cursor_edge_walk@pipe-A-64x64-bottom-edge,Fail >> +kms_cursor_edge_walk@pipe-A-64x64-left-edge,Fail >> +kms_cursor_edge_walk@pipe-A-64x64-top-edge,Fail >> +kms_cursor_edge_walk@pipe-B-64x64-bottom-edge,Fail >> +kms_cursor_edge_walk@pipe-B-64x64-right-edge,Fail >> +kms_cursor_edge_walk@pipe-B-64x64-top-edge,Fail >> +kms_invalid_mode@int-max-clock,Fail >> +kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-A,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-A,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-A-frame-sequence,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-B,Fail >> +kms_pipe_crc_basic@nonblocking-crc-pipe-B-frame-sequence,Fail >> +kms_pipe_crc_basic@read-crc-pipe-A,Fail >> +kms_pipe_crc_basic@read-crc-pipe-A-frame-sequence,Fail >> +kms_pipe_crc_basic@read-crc-pipe-B,Fail >> +kms_pipe_crc_basic@read-crc-pipe-B-frame-sequence,Fail >> +kms_plane@plane-panning-bottom-right,Fail >> +kms_plane@plane-panning-top-left,Fail >> +kms_plane_cursor@pipe-B-overlay-size-128,Fail >> +kms_plane_cursor@pipe-B-overlay-size-256,Fail >> +kms_plane_cursor@pipe-B-overlay-size-64,Fail >> +kms_plane_cursor@pipe-B-primary-size-128,Fail >> +kms_plane_cursor@pipe-B-primary-size-256,Fail >> +kms_plane_cursor@pipe-B-primary-size-64,Fail >> +kms_plane_cursor@pipe-B-viewport-size-128,Fail >> +kms_plane_cursor@pipe-B-viewport-size-256,Fail >> +kms_plane_cursor@pipe-B-viewport-size-64,Fail >> +kms_plane_multiple@atomic-pipe-B-tiling-none,Fail >> +kms_prime@basic-crc,Fail >> +kms_rmfb@close-fd,Fail >> +kms_universal_plane@universal-plane-pipe-B-functional,Fail >> +kms_vblank@pipe-A-query-forked,Fail >> +kms_vblank@pipe-A-query-idle,Fail >> +kms_vblank@pipe-A-wait-busy,Fail >> +kms_vblank@pipe-A-wait-forked,Fail >> +kms_vblank@pipe-A-wait-forked-busy,Fail >> +kms_vblank@pipe-B-query-forked,Fail >> +kms_vblank@pipe-B-query-idle,Fail >> +kms_vblank@pipe-B-wait-busy,Fail >> +kms_vblank@pipe-B-wait-forked,Fail >> +kms_vblank@pipe-B-wait-forked-busy,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3399-flakes.txt >> b/drivers/gpu/drm/ci/rockchip-rk3399-flakes.txt >> new file mode 100644 >> index 000000000000..b4c37a4315e4 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3399-flakes.txt >> @@ -0,0 +1,25 @@ >> +kms_cursor_crc@pipe-A-cursor-64x21-offscreen >> +kms_cursor_crc@pipe-A-cursor-64x21-rapid-movement >> +kms_cursor_crc@pipe-B-cursor-32x10-offscreen >> +kms_cursor_crc@pipe-B-cursor-32x10-rapid-movement >> +kms_cursor_crc@pipe-B-cursor-32x32-offscreen >> +kms_cursor_crc@pipe-B-cursor-32x32-rapid-movement >> +kms_cursor_crc@pipe-B-cursor-64x64-offscreen >> +kms_cursor_crc@pipe-B-cursor-64x64-rapid-movement >> +kms_cursor_edge_walk@pipe-A-64x64-right-edge >> +kms_cursor_edge_walk@pipe-B-64x64-left-edge >> +kms_flip@flip-vs-expired-vblank >> +kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-B >> +kms_plane_multiple@atomic-pipe-A-tiling-none >> +kms_plane@plane-position-hole >> +kms_sequence@get-forked >> +kms_sequence@get-forked-busy >> +kms_setmode@basic >> +kms_vblank@pipe-A-accuracy-idle >> +kms_vblank@pipe-A-query-busy >> +kms_vblank@pipe-A-query-forked-busy >> +kms_vblank@pipe-A-wait-idle >> +kms_vblank@pipe-B-accuracy-idle >> +kms_vblank@pipe-B-query-busy >> +kms_vblank@pipe-B-query-forked-busy >> +kms_vblank@pipe-B-wait-idle >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/rockchip-rk3399-skips.txt >> b/drivers/gpu/drm/ci/rockchip-rk3399-skips.txt >> new file mode 100644 >> index 000000000000..10c3d81a919a >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/rockchip-rk3399-skips.txt >> @@ -0,0 +1,5 @@ >> +# Suspend to RAM seems to be broken on this machine >> +.*suspend.* >> + >> +# Too unstable, machine ends up hanging after lots of Oopses >> +kms_cursor_legacy.* >> diff --git a/drivers/gpu/drm/ci/virtio_gpu-none-fails.txt >> b/drivers/gpu/drm/ci/virtio_gpu-none-fails.txt >> new file mode 100644 >> index 000000000000..2178bdd064dd >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/virtio_gpu-none-fails.txt >> @@ -0,0 +1,38 @@ >> +kms_addfb_basic@addfb25-bad-modifier,Fail >> +kms_addfb_basic@bad-pitch-65536,Fail >> +kms_addfb_basic@bo-too-small,Fail >> +kms_addfb_basic@size-max,Fail >> +kms_addfb_basic@too-high,Fail >> +kms_atomic_transition@plane-primary-toggle-with-vblank-wait,Fail >> +kms_bw@linear-tiling-1-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-1-displays-3840x2160p,Fail >> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail >> +kms_invalid_mode@int-max-clock,Fail >> +kms_plane_scaling@downscale-with-modifier-factor-0-25,Fail >> +kms_plane_scaling@downscale-with-rotation-factor-0-25,Fail >> +kms_plane_scaling@planes-upscale-20x20,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5,Fail >> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75,Fail >> +kms_plane_scaling@upscale-with-modifier-20x20,Fail >> +kms_plane_scaling@upscale-with-modifier-factor-0-25,Fail >> +kms_plane_scaling@upscale-with-pixel-format-20x20,Fail >> +kms_plane_scaling@upscale-with-pixel-format-factor-0-25,Fail >> +kms_plane_scaling@upscale-with-rotation-20x20,Fail >> +kms_vblank@crtc-id,Fail >> +kms_vblank@invalid,Fail >> +kms_vblank@pipe-A-accuracy-idle,Fail >> +kms_vblank@pipe-A-query-busy,Fail >> +kms_vblank@pipe-A-query-forked,Fail >> +kms_vblank@pipe-A-query-forked-busy,Fail >> +kms_vblank@pipe-A-query-idle,Fail >> +kms_vblank@pipe-A-ts-continuation-idle,Fail >> +kms_vblank@pipe-A-ts-continuation-modeset,Fail >> +kms_vblank@pipe-A-ts-continuation-suspend,Fail >> +kms_vblank@pipe-A-wait-busy,Fail >> +kms_vblank@pipe-A-wait-forked,Fail >> +kms_vblank@pipe-A-wait-forked-busy,Fail >> +kms_vblank@pipe-A-wait-idle,Fail >> \ No newline at end of file >> diff --git a/drivers/gpu/drm/ci/virtio_gpu-none-flakes.txt >> b/drivers/gpu/drm/ci/virtio_gpu-none-flakes.txt >> new file mode 100644 >> index 000000000000..e69de29bb2d1 >> diff --git a/drivers/gpu/drm/ci/virtio_gpu-none-skips.txt >> b/drivers/gpu/drm/ci/virtio_gpu-none-skips.txt >> new file mode 100644 >> index 000000000000..78be18174012 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/virtio_gpu-none-skips.txt >> @@ -0,0 +1,6 @@ >> +# Hits a "refcount_t: underflow; use-after-free" in >> virtio_gpu_fence_event_process >> +# When run in a particular order with other tests >> +kms_cursor_legacy.* >> + >> +# Job just hangs without any output >> +kms_flip@flip-vs-suspend.* >> \ No newline at end of file > > -- Tomeu Vizoso Consultant Principal Software Engineer Collabora Ltd. Platinum Building, St John's Innovation Park, Cambridge CB4 0DS, United Kingdom Registered in England & Wales, no. 5513718