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 X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 01F17C2D0CE for ; Tue, 21 Jan 2020 14:17:43 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C5E212087E for ; Tue, 21 Jan 2020 14:17:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C5E212087E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ituLG-0001nS-Pz; Tue, 21 Jan 2020 14:17:18 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ituLG-0001nN-8A for xen-devel@lists.xenproject.org; Tue, 21 Jan 2020 14:17:18 +0000 X-Inumbo-ID: b830724c-3c58-11ea-bab1-12813bfff9fa Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id b830724c-3c58-11ea-bab1-12813bfff9fa; Tue, 21 Jan 2020 14:17:13 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id B69C7BB51; Tue, 21 Jan 2020 14:17:12 +0000 (UTC) To: Julien Grall , xen-devel@lists.xenproject.org References: <20200121084330.18309-1-jgross@suse.com> <20200121084330.18309-4-jgross@suse.com> From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= Message-ID: Date: Tue, 21 Jan 2020 15:17:12 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Subject: Re: [Xen-devel] [PATCH v3 3/9] docs: add feature document for Xen hypervisor sysfs-like support X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gMjEuMDEuMjAgMTQ6MTQsIEp1bGllbiBHcmFsbCB3cm90ZToKPiBIaSBKdWVyZ2VuLgo+IAo+ IE9uIDIxLzAxLzIwMjAgMDg6NDMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6Cj4+IE9uIHRoZSAyMDE5 IFhlbiBkZXZlbG9wZXIgc3VtbWl0IHRoZXJlIHdhcyBhZ3JlZW1lbnQgdGhhdCB0aGUgWGVuCj4+ IGh5cGVydmlzb3Igc2hvdWxkIGdhaW4gc3VwcG9ydCBmb3IgYSBoaWVyYXJjaGljYWwgbmFtZS12 YWx1ZSBzdG9yZQo+PiBzaW1pbGFyIHRvIHRoZSBMaW51eCBrZXJuZWwncyBzeXNmcy4KPj4KPj4g SW4gdGhlIGJlZ2lubmluZyB0aGVyZSBzaG91bGQgb25seSBiZSBiYXNpYyBzdXBwb3J0OiBlbnRy aWVzIGNhbiBiZQo+PiBhZGRlZCBmcm9tIHRoZSBoeXBlcnZpc29yIGl0c2VsZiBvbmx5LCB0aGVy ZSBpcyBhIHNpbXBsZSBoeXBlcmNhbGwKPj4gaW50ZXJmYWNlIHRvIHJlYWQgdGhlIGRhdGEuCj4+ Cj4+IEFkZCBhIGZlYXR1cmUgZG9jdW1lbnQgZm9yIHNldHRpbmcgdGhlIGJhc2Ugb2YgYSBkaXNj dXNzaW9uIHJlZ2FyZGluZwo+PiB0aGUgZGVzaXJlZCBmdW5jdGlvbmFsaXR5IGFuZCB0aGUgZW50 cmllcyB0byBhZGQuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0Bz dXNlLmNvbT4KPj4gLS0tCj4+IFYxOgo+PiAtIHJlbW92ZSB0aGUgIi0tIiBwcmVmaXhlcyBvZiB0 aGUgc3ViLWNvbW1hbmRzIG9mIHRoZSB1c2VyIHRvb2wKPj4gwqDCoCAoSmFuIEJldWxpY2gpCj4+ IC0gcmVuYW1lIHhlbmZzIHRvIHhlbmh5cGZzIChKYW4gQmV1bGljaCkKPj4gLSBhZGQgInRyZWUi IGFuZCAid3JpdGUiIG9wdGlvbnMgdG8gdXNlciB0b29sCj4+Cj4+IFYyOgo+PiAtIG1vdmUgZXhh bXBsZSB0cmVlIHRvIHRoZSBwYXRocyBkZXNjcmlwdGlvbiAoSWFuIEphY2tzb24pCj4+IC0gc3Bl Y2lmeSBhbGxvd2VkIGNoYXJhY3RlcnMgZm9yIGtleXMgYW5kIHZhbHVlcyAoSWFuIEphY2tzb24p Cj4+Cj4+IFYzOgo+PiAtIGNvcnJlY3QgaW50cm9kdWN0aW9uICh3cml0YWJsZSBlbnRyaWVzKQo+ PiAtLS0KPj4gwqAgZG9jcy9mZWF0dXJlcy9oeXBlcnZpc29yZnMucGFuZG9jIHwgODYgCj4+ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+IMKgIGRvY3MvbWlzYy9oeXBmcy1w YXRocy5wYW5kb2PCoMKgwqDCoMKgIHwgOTUgCj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwo+PiDCoCAyIGZpbGVzIGNoYW5nZWQsIDE4MSBpbnNlcnRpb25zKCspCj4+ IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2NzL2ZlYXR1cmVzL2h5cGVydmlzb3Jmcy5wYW5kb2MK Pj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRvY3MvbWlzYy9oeXBmcy1wYXRocy5wYW5kb2MKPj4K Pj4gZGlmZiAtLWdpdCBhL2RvY3MvZmVhdHVyZXMvaHlwZXJ2aXNvcmZzLnBhbmRvYyAKPj4gYi9k b2NzL2ZlYXR1cmVzL2h5cGVydmlzb3Jmcy5wYW5kb2MKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQK Pj4gaW5kZXggMDAwMDAwMDAwMC4uOGU1ZGVhYWNmYgo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBi L2RvY3MvZmVhdHVyZXMvaHlwZXJ2aXNvcmZzLnBhbmRvYwo+PiBAQCAtMCwwICsxLDg2IEBACj4+ ICslIEh5cGVydmlzb3IgRlMKPj4gKyUgUmV2aXNpb24gMQo+PiArCj4+ICtcY2xlYXJwYWdlCj4+ ICsKPj4gKyMgQmFzaWNzCj4+ICstLS0tLS0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+PiArwqDCoMKgwqDCoMKgwqDCoCBTdGF0dXM6ICoqU3VwcG9ydGVkKioKPj4gKwo+PiArwqAg QXJjaGl0ZWN0dXJlczogYWxsCj4+ICsKPj4gK8KgwqDCoMKgIENvbXBvbmVudHM6IEh5cGVydmlz b3IsIHRvb2xzdGFjawo+PiArLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0K Pj4gKwo+PiArIyBPdmVydmlldwo+PiArCj4+ICtUaGUgSHlwZXJ2aXNvciBGUyBpcyBhIGhpZXJh cmNoaWNhbCBuYW1lLXZhbHVlIHN0b3JlIGZvciByZXBvcnRpbmcKPj4gK2luZm9ybWF0aW9uIHRv IGd1ZXN0cywgZXNwZWNpYWxseSBkb20wLsKgIEl0IGlzIHNpbWlsYXIgdG8gdGhlIExpbnV4Cj4g Cj4gSSB3b3VsZCBsaWtlIHRvIGdldCBzb21lIGNvbnNpdGVuY3kgaW4gdGhlIGZvcm1hdHRpbmcg YXQgbGVhc3Qgd2l0aGluIGEgCj4gc2FtZSBmaWxlLiBJbiB0aGlzIGNhc2UsIHlvdSBzZWVtIHRv IG1vc3RseSB1c2UgYSBzaW5nbGUgc3BhY2UgdGhlIGZ1bGwgCj4gc3RvcC4gU28gSSB0aGluayB5 b3Ugd2FudCB0byB1c2Ugc2luZ2xlIHNwYWNlIGhlcmUgdG9vLgoKRWl0aGVyIGlzIGZpbmUgd2l0 aCBtZS4KCkknbSBnb2luZyB0byB1c2UgYSBzaW5nbGUgc3BhY2UgaW4gY2FzZSBubyBvbmUgc3Rl cHMgdXAgYW5kIGFza3MgZm9yCmRvdWJsZSBzcGFjZXMgYWZ0ZXIgZnVsbCBzdG9wcy4KCj4gCj4+ ICtrZXJuZWwncyBzeXNmcy4gRW50cmllcyBhbmQgZGlyZWN0b3JpZXMgYXJlIGNyZWF0ZWQgYnkg dGhlIGh5cGVydmlzb3IsCj4+ICt3aGlsZSB0aGUgdG9vbHN0YWNrIGlzIGFibGUgdG8gdXNlIGEg aHlwZXJjYWxsIHRvIHF1ZXJ5IHRoZSBlbnRyeQo+PiArdmFsdWVzIG9yIChpZiBhbGxvd2VkIGJ5 IHRoZSBoeXBlcnZpc29yKSB0byBtb2RpZnkgdGhlbS4KPj4gKwo+PiArIyBVc2VyIGRldGFpbHMK Pj4gKwo+PiArV2l0aDoKPj4gKwo+PiArwqDCoMKgIHhlbmh5cGZzIGxzIDxwYXRoPgo+PiArCj4+ ICt0aGUgdXNlciBjYW4gbGlzdCB0aGUgZW50cmllcyBvZiBhIHNwZWNpZmljIHBhdGggb2YgdGhl IEZTLiBVc2luZzoKPj4gKwo+PiArwqDCoMKgIHhlbmh5cGZzIGNhdCA8cGF0aD4KPj4gKwo+PiAr dGhlIGNvbnRlbnQgb2YgYW4gZW50cnkgY2FuIGJlIHJldHJpZXZlZC4gVXNpbmc6Cj4+ICsKPj4g K8KgwqDCoCB4ZW5oeXBmcyB3cml0ZSA8cGF0aD4gPHN0cmluZz4KPj4gKwo+PiArYSB3cml0YWJs ZSBlbnRyeSBjYW4gYmUgbW9kaWZpZWQuIFdpdGg6Cj4+ICsKPj4gK8KgwqDCoCB4ZW5oeXBmcyB0 cmVlCj4+ICsKPj4gK3RoZSBjb21wbGV0ZSBIeXBlcnZpc29yIEZTIGVudHJ5IHRyZWUgY2FuIGJl IHByaW50ZWQuCj4+ICsKPj4gK1RoZSBGUyBwYXRocyBhcmUgZG9jdW1lbnRlZCBpbiBgZG9jcy9t aXNjL2h5cGZzLXBhdGhzLnBhbmRvY2AuCj4+ICsKPj4gKyMgVGVjaG5pY2FsIGRldGFpbHMKPj4g Kwo+PiArQWNjZXNzIHRvIHRoZSBoeXBlcnZpc29yIGZpbGVzeXN0ZW0gaXMgZG9uZSB2aWEgdGhl IHN0YWJsZSBuZXcgaHlwZXJjYWxsCj4+ICtfX0hZUEVSVklTT1JfZmlsZXN5c3RlbV9vcC4KPj4g Kwo+PiArKiBoeXBlcmNhbGwgaW50ZXJmYWNlIHNwZWNpZmljYXRpb24KPj4gK8KgwqDCoCAqIGB4 ZW4vaW5jbHVkZS9wdWJsaWMvZmlsZXN5c3RlbS5oYAo+PiArKiBoeXBlcnZpc29yIGludGVybmFs IGZpbGVzCj4+ICvCoMKgwqAgKiBgeGVuL2luY2x1ZGUveGVuL2ZpbGVzeXN0ZW0uaGAKPj4gK8Kg wqDCoCAqIGB4ZW4vY29tbW9uL2ZpbGVzeXN0ZW0uY2AKPj4gKyogYGxpYnhlbmh5cGZzYAo+PiAr wqDCoMKgICogYHRvb2xzL2xpYnMvbGlieGVuaHlwZnMvKmAKPj4gKyogYHhlbmh5cGZzYAo+PiAr wqDCoMKgICogYHRvb2xzL21pc2MveGVuaHlwZnMuY2AKPj4gKyogcGF0aCBkb2N1bWVudGF0aW9u Cj4+ICvCoMKgwqAgKiBgZG9jcy9taXNjL2h5cGZzLXBhdGhzLnBhbmRvY2AKPj4gKwo+PiArIyBU ZXN0aW5nCj4+ICsKPj4gK0FueSBuZXcgcGFyYW1ldGVycyBvciBoYXJkd2FyZSBtaXRpZ2F0aW9u cyBzaG91bGQgYmUgdmVyaWZpZWQgdG8gc2hvdyB1cAo+PiArY29ycmVjdGx5IGluIHRoZSBmaWxl c3lzdGVtLgo+PiArCj4+ICsjIEFyZWFzIGZvciBpbXByb3ZlbWVudAo+PiArCj4+ICsqIE1vcmUg ZGV0YWlsZWQgYWNjZXNzIHJpZ2h0cwo+PiArKiBFbnRyaWVzIHBlciBkb21haW4gYW5kL29yIHBl ciBjcHVwb29sCj4+ICsKPj4gKyMgS25vd24gaXNzdWVzCj4+ICsKPj4gKyogTm9uZQo+PiArCj4+ ICsjIFJlZmVyZW5jZXMKPj4gKwo+PiArKiBOb25lCj4+ICsKPj4gKyMgSGlzdG9yeQo+PiArCj4+ ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPj4gK0RhdGXCoMKgwqDCoMKgwqAgUmV2aXNpb24gVmVyc2lvbsKg IE5vdGVzCj4+ICstLS0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gKzIwMTktMTAtMDIgMcKgwqDCoMKgwqDCoMKg IFhlbiA0LjEzIERvY3VtZW50IHdyaXR0ZW4KPiAKPiBEb2VzIHRoaXMgd2FudCBhbnkgdXBkYXRl PyBTdWNoIGFzIHVzaW5nIDQuMTQgcmF0aGVyIHRoYW4gNC4xMy4KClVoLCB5ZXMuCgo+IAo+PiAr LS0tLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4+IGRpZmYgLS1naXQgYS9kb2NzL21pc2MvaHlwZnMtcGF0aHMucGFu ZG9jIGIvZG9jcy9taXNjL2h5cGZzLXBhdGhzLnBhbmRvYwo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0 NAo+PiBpbmRleCAwMDAwMDAwMDAwLi42N2RlOGQyY2Y4Cj4+IC0tLSAvZGV2L251bGwKPj4gKysr IGIvZG9jcy9taXNjL2h5cGZzLXBhdGhzLnBhbmRvYwo+PiBAQCAtMCwwICsxLDk1IEBACj4+ICsj IFhlbmh5cGZzIFBhdGhzCj4+ICsKPj4gK1RoaXMgZG9jdW1lbnQgYXR0ZW1wdHMgdG8gZGVmaW5l IGFsbCB0aGUgcGF0aHMgd2hpY2ggYXJlIGF2YWlsYWJsZQo+PiAraW4gdGhlIFhlbiBoeXBlcnZp c29yIGZpbGUgc3lzdGVtIChoeXBmcykuCj4+ICsKPj4gK1RoZSBoeXBlcnZpc29yIGZpbGUgc3lz dGVtIGNhbiBiZSBhY2Nlc3NlZCB2aWEgdGhlIHhlbmh5cGZzIHRvb2wuCj4+ICsKPj4gKyMjIE5v dGF0aW9uCj4+ICsKPj4gK1RoZSBoeXBlcnZpc29yIGZpbGUgc3lzdGVtIGlzIHNpbWlsYXIgdG8g dGhlIExpbnV4IGtlcm5lbCdzIHN5c2ZzLgo+PiArSW4gdGhpcyBkb2N1bWVudCBkaXJlY3Rvcmll cyBhcmUgYWx3YXlzIHNwZWNpZmllZCB3aXRoIGEgdHJhaWxpbmcgIi8iLgo+PiArCj4+ICtUaGUg Zm9sbG93aW5nIG5vdGF0aW9uIGNvbnZlbnRpb25zIGFwcGx5Ogo+PiArCj4+ICvCoMKgwqDCoMKg wqDCoCBESVJFQ1RPUlkvCj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgIFBBVEggPSBWQUxVRVMgW1RB R1NdCj4+ICsKPj4gK1RoZSBmaXJzdCBzeW50YXggZGVmaW5lcyBhIGRpcmVjdG9yeS4gSXQgbm9y bWFsbHkgY29udGFpbnMgcmVsYXRlZAo+PiArZW50cmllcyBhbmQgdGhlIGdlbmVyYWwgc2NvcGUg b2YgdGhlIGRpcmVjdG9yeSBpcyBkZXNjcmliZWQuCj4+ICsKPj4gK1RoZSBzZWNvbmQgc3ludGF4 IGRlZmluZXMgYSBmaWxlIGVudHJ5IGNvbnRhaW5pbmcgdmFsdWVzIHdoaWNoIGFyZQo+PiArZWl0 aGVyIHNldCBieSB0aGUgaHlwZXJ2aXNvciBvciwgaWYgdGhlIGZpbGUgaXMgd3JpdGFibGUsIGNh biBiZSBzZXQKPj4gK2J5IHRoZSB1c2VyLgo+PiArCj4+ICtQQVRIIGNhbiBjb250YWluIHNpbXBs ZSByZWdleCBjb25zdHJ1Y3RzIGZvbGxvd2luZyB0aGUgUGVybCBjb21wYXRpYmxlCj4+ICtyZWdl eHAgc3ludGF4IGRlc2NyaWJlZCBpbiBwY3JlKDMpIG9yIHBlcmxyZSgxKS4KPj4gKwo+PiArQSBo eXBlcnZpc29yIGZpbGUgc3lzdGVtIGVudHJ5IG5hbWUgY2FuIGJlIGFueSAwLWRlbGltaXRlZCBi eXRlIHN0cmluZwo+PiArbm90IGNvbnRhaW5pbmcgYW55ICcvJyBjaGFyYWN0ZXIuIFRoZSBuYW1l cyAiLiIgYW5kICIuLiIgYXJlIHJlc2VydmVkCj4+ICtmb3IgZmlsZSBzeXN0ZW0gaW50ZXJuYWwg dXNlLgo+PiArCj4+ICtWQUxVRVMgYXJlIHN0cmluZ3MgYW5kIGNhbiB0YWtlIHRoZSBmb2xsb3dp bmcgZm9ybXM6Cj4+ICsKPj4gKyogU1RSSU5HIC0tIGFuIGFyYml0cmFyeSAwLWRlbGltaXRlZCBi eXRlIHN0cmluZy4KPj4gKyogSU5URUdFUiAtLSBBbiBpbnRlZ2VyLCBpbiBkZWNpbWFsIHJlcHJl c2VudGF0aW9uIHVubGVzcyBvdGhlcndpc2UKPj4gK8KgIG5vdGVkLgo+PiArKiAiYSBsaXRlcmFs IHN0cmluZyIgLS0gbGl0ZXJhbCBzdHJpbmdzIGFyZSBjb250YWluZWQgd2l0aGluIHF1b3Rlcy4K Pj4gKyogKFZBTFVFIHwgVkFMVUUgfCAuLi4gKSAtLSBhIHNldCBvZiBhbHRlcm5hdGl2ZXMuIEFs dGVybmF0aXZlcyBhcmUKPj4gK8KgIHNlcGFyYXRlZCBieSBhICJ8IiBhbmQgYWxsIHRoZSBhbHRl cm5hdGl2ZXMgYXJlIGVuY2xvc2VkIGluICIoIiBhbmQKPj4gK8KgICIpIi4KPj4gKwo+PiArQWRk aXRpb25hbCBUQUdTIG1heSBmb2xsb3cgYXMgYSBjb21tYSBzZXBhcmF0ZWQgc2V0IG9mIHRoZSBm b2xsb3dpbmcKPj4gK3RhZ3MgZW5jbG9zZWQgaW4gc3F1YXJlIGJyYWNrZXRzLgo+IAo+IEl0IG1h eSBiZSBjbGVhcmVyIGlmIHlvdSByZXBsYWNlIGEgZnVsbCBzdG9wIHdpdGggOi4KCk9rYXkuCgo+ IAo+IEhvd2V2ZXIsIEkgYW0gbm90IHN1cmUgd2hhdCBhcmUgYWN0dWFsbHkgdGhlIHRhZ3M/IERv IHlvdSBoYXZlIGEgCj4gY29uY3JldGUgZXhhbXBsZSBob3cgdGhleSBjYW4gYmUgdXNlZD8KCkkn bGwgYWRkIHRoaXMgb25lOgoKL2NwdS1idWdzL2FjdGl2ZS1wdi94cHRpICgwfDEpIFt3LFg4NixQ Vl0KCj4gCj4+ICsKPj4gKyogdyAtLSBQYXRoIGlzIHdyaXRhYmxlIGJ5IHRoZSB1c2VyLiBUaGlz IGNhcGFiaWxpdHkgaXMgdXN1YWxseQo+PiArwqAgbGltaXRlZCB0byB0aGUgY29udHJvbCBkb21h aW4gKGUuZy4gZG9tMCkuCj4+ICsqIEFSTSB8IEFSTTMyIHwgWDg2OiB0aGUgcGF0aCBpcyBhdmFp bGFibGUgZm9yIHRoZSByZXNwZWN0aXZlIAo+PiBhcmNoaXRlY3R1cmUKPj4gK8KgIG9ubHkuCj4g Cj4gSG93IGFib3V0IEFybTY0PyBBbHNvLCBpZiBpdCBpcyBzdXBwb3J0IGJ5IGJvdGggYXJtNjQg YW5kIGFybTMyLCBzaG91bGQgCj4gd2UgdXNlIEFSTSBvciBBUk0zMixBUk02ND8KCkFSTTY0IHNo b3VsZCBiZSBhZGRlZCBhbmQgSSdkIHN1Z2dlc3QgdG8gdXNlICJBUk0iIGluc3RlYWQgb2YKIkFS TTMyLEFSTTY0Ii4KCj4gCj4+ICsqIFBWIC0twqAgUGF0aCBpcyB2YWxpZCBmb3IgUFYgY2FwYWJs ZSBoeXBlcnZpc29ycyBvbmx5Lgo+PiArKiBIVk0gLS0gUGF0aCBpcyB2YWxpZCBmb3IgSFZNIGNh cGFibGUgaHlwZXJ2aXNvcnMgb25seS4KPj4gKyogQ09ORklHXyogLS0gUGF0aCBpcyB2YWxpZCBv bmx5IGluIGNhc2UgdGhlIGh5cGVydmlzb3Igd2FzIGJ1aWx0IHdpdGgKPj4gK8KgIHRoZSByZXNw ZWN0aXZlIGNvbmZpZyBvcHRpb24uCj4+ICsKPj4gKyMjIEV4YW1wbGUKPj4gKwo+PiArQSBwb3B1 bGF0ZWQgWGVuIGh5cGVydmlzb3IgZmlsZSBzeXN0ZW0gbWlnaHQgbG9vayBsaWtlIHRoZSBmb2xs b3dpbmcgCj4+IGV4YW1wbGU6Cj4+ICsKPj4gK8KgwqDCoCAvCj4+ICvCoMKgwqDCoMKgwqDCoCBi dWlsZGluZm8vwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYnVpbGQt dGltZSBkYXRhCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbmZpZ8KgwqDCoMKgwqDCoMKg wqDCoMKgIGNvbnRlbnRzIG9mIC5jb25maWcgZmlsZSB1c2VkIHRvIGJ1aWxkIFhlbgo+PiArwqDC oMKgwqDCoMKgwqAgY3B1LWJ1Z3MvwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB4ODY6IGRpcmVjdG9y eSBvZiBjcHUgYnVnIGluZm9ybWF0aW9uCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGwxdGbC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIlZ1bG5lcmFibGUiIG9yICJOb3QgdnVsbmVyYWJsZSIK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWRzwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg IlZ1bG5lcmFibGUiIG9yICJOb3QgdnVsbmVyYWJsZSIKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgbWVsdGRvd27CoMKgwqDCoMKgwqDCoMKgICJWdWxuZXJhYmxlIiBvciAiTm90IHZ1bG5lcmFi bGUiCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNwZWMtc3RvcmUtYnlwYXNzICJWdWxuZXJh YmxlIiBvciAiTm90IHZ1bG5lcmFibGUiCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNwZWN0 cmUtdjHCoMKgwqDCoMKgwqAgIlZ1bG5lcmFibGUiIG9yICJOb3QgdnVsbmVyYWJsZSIKPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgc3BlY3RyZS12MsKgwqDCoMKgwqDCoCAiVnVsbmVyYWJsZSIg b3IgIk5vdCB2dWxuZXJhYmxlIgo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtaXRpZ2F0aW9u cy/CoMKgwqDCoCBkaXJlY3Rvcnkgb2YgbWl0aWdhdGlvbiBzZXR0aW5ncwo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJ0aS10aHVua8KgwqDCoCAiTi9BIiwgIlJFVFBPTElORSIs ICJMRkVOQ0UiIG9yICJKTVAiCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3Bl Yy1jdHJswqDCoMKgICJObyIsICJJQlJTKyIgb3IgSUJSUy0iCj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgaWJwYsKgwqDCoMKgwqDCoMKgwqAgIk5vIiBvciAiWWVzIgo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGwxZC1mbHVzaMKgwqDCoCAiTm8iIG9yICJZZXMi Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWQtY2xlYXLCoMKgwqDCoCAiTm8i IG9yICJWRVJXIgo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGwxdGYtYmFycmll ciAiTm8iIG9yICJZZXMiCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFjdGl2ZS1odm0vwqDC oMKgwqDCoCBkaXJlY3RvcnkgZm9yIG1pdGlnYXRpb25zIGFjdGl2ZSBpbiBodm0gCj4+IGRvYW1p bnMKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtc3Itc3BlYy1jdHJsICJObyIg b3IgIlllcyIKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByc2LCoMKgwqDCoMKg wqDCoMKgwqAgIk5vIiBvciAiWWVzIgo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGVhZ2VyLWZwdcKgwqDCoCAiTm8iIG9yICJZZXMiCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbWQtY2xlYXLCoMKgwqDCoCAiTm8iIG9yICJZZXMiCj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGFjdGl2ZS1wdi/CoMKgwqDCoMKgwqAgZGlyZWN0b3J5IGZvciBtaXRpZ2F0aW9u cyBhY3RpdmUgaW4gcHYgCj4+IGRvYW1pbnMKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBtc3Itc3BlYy1jdHJsICJObyIgb3IgIlllcyIKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCByc2LCoMKgwqDCoMKgwqDCoMKgwqAgIk5vIiBvciAiWWVzIgo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVhZ2VyLWZwdcKgwqDCoCAiTm8iIG9yICJZZXMiCj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWQtY2xlYXLCoMKgwqDCoCAiTm8iIG9y ICJZZXMiCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeHB0acKgwqDCoMKgwqDC oMKgwqAgIk5vIiBvciBsaXN0IG9mICJkb20wIiwgImRvbVUiLCAiUENJRCBvbiIKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsMXRmLXNoYWRvd8KgICJObyIgb3IgbGlzdCBvZiAi ZG9tMCIsICJkb21VIgo+PiArwqDCoMKgwqDCoMKgwqAgcGFyYW1zL8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGRpcmVjdG9yeSB3aXRoIGh5cGVydmlzb3IgcGFyYW1ldGVyIHZhbHVlcwo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg KGJvb3QvcnVudGltZSBwYXJhbWV0ZXJzKQo+PiArCj4+ICsjIyBHZW5lcmFsIFBhdGhzCj4+ICsK Pj4gKyMjIyMgLwo+PiArCj4+ICtUaGUgcm9vdCBvZiB0aGUgaHlwZXJ2aXNvciBmaWxlIHN5c3Rl bS4KCkp1ZXJnZW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=