From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH 00/25 v7] SBSA UART emulation support in Xen Date: Tue, 8 Aug 2017 16:59:20 +0100 Message-ID: References: <1502095997-31219-1-git-send-email-bhupinder.thakur@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1df6uo-0007gy-6V for xen-devel@lists.xenproject.org; Tue, 08 Aug 2017 15:59:30 +0000 In-Reply-To: <1502095997-31219-1-git-send-email-bhupinder.thakur@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Bhupinder Thakur , xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Jan Beulich , Andre Przywara List-Id: xen-devel@lists.xenproject.org SGkgQmh1cGluZGVyLAoKSSBnYXZlIGFub3RoZXIgYW5kIEkgaGF2ZSBhIGNvdXBsZSBvZiBjb21t ZW50cy4KCkJvb3RpbmcgTGludXggd2l0aCBlYXJseWNvbiBlbmFibGVkIHRha2UgcXVpdGUgYSB3 aGlsZS4gSSBjYW4gc2VlIHRoZSAKY2hhcmFjdGVycyBjb21pbmcgc2xvd2VyIHRoYW4gb24gdGhl IG1pbml0ZWwuIEl0IHNlZW1zIHRvIGJlIGEgYml0IApiZXR0ZXIgYWZ0ZXIgc3dpdGNoaW5nIG9m ZiB0aGUgYm9vdGNvbnNvbGUuIE92ZXJhbGwgTGludXggaXMgdGFraW5nIH4yMCAKdGltZXMgdG8g Ym9vdCB3aXRoIHBsMDExIHZzIEhWQyBjb25zb2xlLgoKSSBkbyBhZ3JlZSB0aGF0IHBsMDExIGlz IGVtdWxhdGVkIGFuZCB0aGVyZWZvcmUgeW91IGhhdmUgdG8gdHJhcCBhZnRlciAKZWFjaCBjaGFy YWN0ZXIuIEJ1dCAyMCB0aW1lcyBzb3VuZHMgZmFyIHRvbyBtdWNoLgoKQWZ0ZXIgdGhhdCBJIHRy aWVkIHRvIHN0cmVzcyB0aGUgZW11bGF0aW9uIGEgYml0IHdpdGggImZpbmQgLiIgdG8gZ2V0IGEg CmxvdCBvZiBvdXRwdXQuIEFuZCBJIG5vdGljZWQgYSBsb3Qgb2YgbWVzc2FnZSBzaW1pbGFyIHRv IHRoZSBvbmUgYmVsb3cgCm9uIHhlbiBjb25zb2xlOgoKZDZ2MCB2cGwwMTE6IFVuZXhwZWN0ZWQg T1VUIHJpbmcgYnVmZmVyIGZ1bGwKCkFzc29jaWF0ZWQgdG8gdGhhdCB0aGUgY2hhcmFjdGVyIGhh dmUgYmVlbiBlYXRlbiByZXN1bHRpbmcgdG8gbm9uLXNlbnNlIGxvZy4KCkEgYml0IGFib3ZlIHRo ZSBwcmludGsgcHJpbnRpbmcgdGhpcyBtZXNzYWdlLCB0aGVyZSBhcmUgYSBjb21tZW50IHNheWlu ZzoKCiAgICAgLyoKICAgICAgKiBJdCBpcyBleHBlY3RlZCB0aGF0IHRoZSByaW5nIGlzIG5vdCBm dWxsIHdoZW4gdGhpcyBmdW5jdGlvbiBpcyAKY2FsbGVkCiAgICAgICogYXMgdGhlIGd1ZXN0IGlz IGV4cGVjdGVkIHRvIHdyaXRlIHRvIHRoZSBkYXRhIHJlZ2lzdGVyIG9ubHkgd2hlbiB0aGUKICAg ICAgKiBUWEZGIGZsYWcgaXMgbm90IHNldC4KICAgICAgKiBJbiBjYXNlIHRoZSBndWVzdCBkb2Vz IHdyaXRlIGV2ZW4gd2hlbiB0aGUgVFhGRiBmbGFnIGlzIHNldCB0aGVuIHRoZQogICAgICAqIGRh dGEgd2lsbCBiZSBzaWxlbnRseSBkcm9wcGVkLgogICAgICAqLwoKSSBhbSBxdWl0ZSBzdXJwcmlz ZWQgdGhhdCBMaW51eCBpcyBub3QgbG9va2luZyBhdCB0aGUgVFhGRiBmbGFncy4gU28gCnRoaXMg bmVlZHMgc29tZSBpbnZlc3RpZ2F0aW9uLgoKQ2hlZXJzLAoKT24gMDcvMDgvMTcgMDk6NTIsIEJo dXBpbmRlciBUaGFrdXIgd3JvdGU6Cj4gU0JTQSBVQVJUIGVtdWxhdGlvbiBmb3IgZ3Vlc3RzIGlu IFhlbgo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gTGluYXJvIGhh cyBwdWJsaXNoZWQgVk0gU3lzdGVtIHNwZWNpZmljYXRpb24gZm9yIEFSTSBQcm9jZXNzb3JzLCB3 aGljaAo+IHByb3ZpZGVzIGEgc2V0IG9mIGd1aWRlbGluZXMgZm9yIGJvdGggZ3Vlc3QgT1MgYW5k IGh5cGVydmlzb3IgaW1wbGVtZW50YXRpb25zLAo+IHN1Y2ggdGhhdCBidWlsZGluZyBPUyBpbWFn ZXMgYWNjb3JkaW5nIHRvIHRoZXNlIGd1aWRlbGluZXMgZ3VhcmFudGVlcwo+IHRoYXQgdGhvc2Ug aW1hZ2VzIGNhbiBhbHNvIHJ1biBvbiBoeXBlcnZpc29ycyBjb21wbGlhbnQgd2l0aCB0aGlzIHNw ZWNpZmljYXRpb24uCj4KPiBPbmUgb2YgdGhlIHNwZWMgcmVxdWlyZW1lbnRzIGlzIHRoYXQgdGhl IGh5cGVydmlzb3IgbXVzdCBwcm92aWRlIGFuCj4gZW11bGF0ZWQgU0JTQSBVQVJUIGFzIGEgc2Vy aWFsIGNvbnNvbGUgd2hpY2ggbWVldHMgdGhlIG1pbmltdW0gcmVxdWlyZW1lbnRzIGluCj4gU0JT QSBVQVJUIGFzIGRlZmluZWQgaW4gYXBwZW5kaXggQiBvZiB0aGUgZm9sbG93aW5nCj4gQVJNIFNl cnZlciBCYXNlIEFyY2hpdGVjdHVyZSBEb2N1bWVudDoKPgo+IGh0dHBzOi8vc3RhdGljLmRvY3Mu YXJtLmNvbS9kZW4wMDI5L2EvU2VydmVyX0Jhc2VfU3lzdGVtX0FyY2hpdGVjdHVyZV92M18xX0FS TV9ERU5fMDAyOUEucGRmLgo+Cj4gVGhpcyBmZWF0dXJlIGFsbG93cyB0aGUgWGVuIGd1ZXN0cyB0 byB1c2UgU0JTQSBjb21wbGlhbnQgVUFSVCBhcwo+IGFzIGEgY29uc29sZS4KPgo+IE5vdGUgdGhh dCBTQlNBIFVBUlQgaXMgYSBzdWJzZXQgb2YgZnVsbCBmZWF0dXJlZCBBUk0gcGwwMTEgVUFSVCBh bmQKPiBzdXBwb3J0cyBvbmx5IGEgc3Vic2V0IG9mIHJlZ2lzdGVycyBhcyBtZW50aW9uZWQgYmVs b3cuIEl0IGRvZXMgbm90IHN1cHBvcnQKPiByeC90eCBETUEuCj4KPiBDdXJyZW50bHksIFhlbiBz dXBwb3J0cyBwYXJhdmlydHVhbGl6ZWQgKGFrYSBQViBjb25zb2xlKSBhbmQgYW4gZW11bGF0ZWQg c2VyaWFsCj4gY29uc29sZXMuIFRoaXMgZmVhdHVyZSB3aWxsIGV4cG9zZSBhbiBlbXVsYXRlZCBT QlNBIFVBUlQgY29uc29sZSB0byB0aGUKPiBndWVzdCwgd2hpY2ggYSB1c2VyIGNhbiBhY2Nlc3Mg dXNpbmcgeGVuY29uc29sZS4KPgo+IFRoZSBkZXZpY2UgdHJlZSBwYXNzZWQgdG8gdGhlIGd1ZXN0 IFZNIHdpbGwgY29udGFpbiB0aGUgU0JTQSBVQVJUIE1NSU8gYWRkcmVzcwo+IHJhbmdlIGFuZCBh biBpcnEgZm9yIHJlY2VpdmluZyByeC90eCBpbnRlcnJ1cHRzLiBUaGUgZGV2aWNlIHRyZWUgZm9y bWF0Cj4gaXMgc3BlY2lmaWVkIGluIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9z ZXJpYWwvYXJtX3Nic2FfdWFydC50eHQuCj4KPiBUaGUgWGVuIGh5cGVydmlzb3Igd2lsbCBleHBv c2UgdHdvIHR5cGVzIG9mIGludGVyZmFjZXMgdG8gdGhlIGJhY2tlbmQgYW5kIGRvbVUuCj4KPiBU aGUgaW50ZXJmYWNlIGV4cG9zZWQgdG8gZG9tVSB3aWxsIGJlIGFuIGVtdWxhdGVkIFNCU0EgVUFS VCBieSBlbXVsYXRpbmcgdGhlCj4gYWNjZXNzIHRvIHRoZSBmb2xsb3dpbmcgcmVnaXN0ZXJzIGJ5 IHRoZSBndWVzdC4KPgo+IC0gRGF0YSByZWdpc3RlciAoRFIpICAgICAgICAgICAgLSBSVwo+IC0g UmF3IGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIgKFJJUykgICAtIFJPCj4gLSBNYXNrZWQgaW50 ZXJydXB0IHN0YXR1cyByZWdpc3RlciAoTUlTKS0gUk8KPiAtIEludGVycnVwdCBNYXNrIChJTVND KSAgICAgICAgIC0gUlcKPiAtIEludGVycnVwdCBDbGVhciAoSUNSKSAgICAgICAgIC0gV08KPgo+ IEl0IHdpbGwgYWxzbyBpbmplY3QgdGhlIGludGVycnVwdHMgdG8gdGhlIGd1ZXN0IGluIHRoZSBm b2xsb3dpbmcKPiBjb25kaXRpb25zOgo+Cj4gLSBpbmNvbWluZyBkYXRhIGluIHRoZSByeCBidWZm ZXIgZm9yIHRoZSBndWVzdAo+IC0gdGhlcmUgaXMgc3BhY2UgaW4gdGhlIHR4IGJ1ZmZlciBmb3Ig dGhlIGd1ZXN0IHRvIHdyaXRlIG1vcmUgZGF0YQo+Cj4gVGhlIGludGVyZmFjZSBleHBvc2VkIHRv IHRoZSBiYWNrZW5kIHdpbGwgYmUgdGhlIHNhbWUgUFYgY29uc29sZSBpbnRlcmZhY2UsCj4gd2hp Y2ggbWluaW1pemVzIHRoZSBjaGFuZ2VzIHJlcXVpcmVkIGluIHhlbmNvbnNvbGUgdG8gc3VwcG9y dCBhIG5ldyBTQlNBIFVBUlQKPiBjb25zb2xlLgo+Cj4gVGhpcyBpbnRlcmZhY2UgaGFzIHJ4IGFu ZCB0eCByaW5nIGJ1ZmZlcnMgYW5kIGFuIGV2ZW50IGNoYW5uZWwgZm9yCj4gc2VuZGluZy9yZWNl aXZpbmcgZXZlbnRzIGZyb20gdGhlIGJhY2tlbmQuCj4KPiBTbyBlc3NlbnRpYWxseSBYZW4gaGFu ZGxlcyB0aGUgZGF0YSBvbiBiZWhhbGYgb2YgZG9tVSBhbmQgdGhlIGJhY2tlbmQuIEFueSBkYXRh Cj4gd3JpdHRlbiBieSBkb21VIGlzIGNhcHR1cmVkIGJ5IFhlbiBhbmQgd3JpdHRlbiB0byB0aGUg VFggKE9VVCkgcmluZyBidWZmZXIKPiBhbmQgYW4gZXZlbnQgaXMgcmFpc2VkIHRvIHRoZSBiYWNr ZW5kIHRvIHJlYWQgdGhlIFRYIHJpbmcgYnVmZmVyLgo+Cj4gU2ltaWxhcmx5IG9uIHJlY2l2aW5n IGFuIGV2ZW50IGZyb20geGVuY29uc29sZSwgWGVuIGluamVjdHMgYW4gaW50ZXJydXB0IHRvIGd1 ZXN0IHRvCj4gaW5kaWNhdGUgdGhlcmUgaXMgZGF0YSBhdmFpbGFibGUgaW4gdGhlIFJYIChJTikg cmluZyBidWZmZXIuCj4KPiBUaGUgU0JTQSBVQVJUIHN0YXRlIGlzIGNvbXBsZXRlbHkgY2FwdHVy ZWQgaW4gdGhlIHNldCBvZiByZWdpc3RlcnMKPiBtZW50aW9uZWQgYWJvdmUgYW5kIHRoaXMgc3Rh dGUgaXMgdXBkYXRlZCBldmVyeXRpbWUgdGhlcmUgaXMgYW4gZXZlbnQgZnJvbQo+IHRoZSBiYWNr ZW5kIG9yIHRoZXJlIGlzIHJlZ2lzdGVyIHJlYWQvd3JpdGUgYWNjZXNzIGZyb20gZG9tVS4KPgo+ IEZvciBleGFtcGxlLCBpZiBkb21VIGhhcyBtYXNrZWQgdGhlIHJ4IGludGVycnVwdCBpbiB0aGUg SU1TQyByZWdpc3RlciwgdGhlbiBYZW4KPiB3aWxsIG5vdCBpbmplY3QgYW4gaW50ZXJydXB0IHRv IGd1ZXN0IGFuZCB3aWxsIGp1c3QgdXBkYXRlIHRoZSBSSVMgcmVnaXN0ZXIuCj4gT25jZSB0aGUg aW50ZXJydXB0IGlzIHVubWFza2VkIGJ5IGd1ZXN0LCB0aGUgaW50ZXJydXB0IHdpbGwgYmUgZGVs aXZlcmVkIHRvIHRoZQo+IGd1ZXN0Lgo+Cj4gQ2hhbmdlcyBzdW1tYXJ5Ogo+Cj4gWGVuIEh5cGVy dmlzb3IKPiA9PT09PT09PT09PT09PT0KPgo+IDEuIEFkZCBlbXVsYXRpb24gY29kZSB0byBlbXVs YXRlIHJlYWQvd3JpdGUgYWNjZXNzIHRvIFNCU0EgVUFSVCByZWdpc3RlcnMgYW5kCj4gICAgaW50 ZXJydXB0czoKPiAgICAgLSBJdCBlbXVsYXRlcyBEUiByZWFkL3dyaXRlIGJ5IHJlYWRpbmcgYW5k IHdyaXRpbmcgZnJvbS90byB0aGUgSU4gYW5kCj4gICAgICAgT1VUIHJpbmcgYnVmZmVycyBhbmQg cmFpc2luZyBhbiBldmVudCB0byBkb20wIHdoZW4gdGhlcmUgaXMgZGF0YSBpbgo+ICAgICAgIHRo ZSBPVVQgcmluZyBidWZmZXIgYW5kIGluamVjdGluZyBhbiBpbnRlcnJ1cHQgdG8gdGhlIGd1ZXN0 IHdoZW4gdGhlcmUKPiAgICAgICBpcyBkYXRhIGluIHRoZSBJTiByaW5nIGJ1ZmZlci4KPiAgICAg LSBPdGhlciByZWdpc3RlcnMgYXJlIHJlbGF0ZWQgdG8gaW50ZXJydXB0IG1hbmFnZW1lbnQgYW5k IGVzc2VudGlhbGx5Cj4gICAgICAgY29udHJvbCB3aGVuIGludGVycnVwdHMgYXJlIGRlbGl2ZXJl ZCB0byB0aGUgZ3Vlc3QuCj4KPiAyLiBBZGQgYSBuZXcgZG9tY3RsIEFQSSB0byBpbml0aWFsaXpl IFNCU0EgVUFSVCBlbXVsYXRpb24gaW4gWGVuLgo+Cj4gMy4gRW5hYmxlIFNCU0EgVUFSVCBlbXVs YXRpb24gZm9yIGEgZG9tYWluIGJhc2VkIG9uIGEgbGlieGwgb3B0aW9uIHBhc3NlZCBkdXJpbmcK PiAgICBkb21haW4gY3JlYXRpb24uCj4KPiBUb29sc3RhY2sKPiA9PT09PT09PT09Cj4KPiAxLiBB ZGQgYSBuZXcgb3B0aW9uICJ2dWFydCIgaW4gdGhlIGRvbVUgY29uZmlndXJhdGlvbiBmaWxlIHRv IGVuYWJsZS9kaXNhYmxlIHZ1YXJ0Lgo+Cj4gMi4gQ3JlYXRlIGEgU0JTQSBVQVJUIERUIG5vZGUg aW4gdGhlIGd1ZXN0IGRldmljZSB0cmVlLiBJdCB1c2VzIGEgZml4ZWQKPiAgICBTUEkgSVJRIG51 bWJlciBhbmQgTU1JTyBhZGRyZXNzIHJhbmdlIGZvciBTQlNBIFVBUlQuCj4KPiAzLiBDYWxsIHZ1 YXJ0IGluaXQgRE9NQ1RMIEFQSSB0byBlbmFibGUgU0JTQSBVQVJUIGVtdWxhdGlvbi4KPgo+IDUu IEFkZCBhIG5ldyB2dWFydCB4ZW5zdG9yZSBub2RlLCB3aGljaCBjb250YWluczoKPiAgICAgLSBy aW5nLXJlZgo+ICAgICAtIGV2ZW50IGNoYW5uZWwKPiAgICAgLSBidWZmZXIgbGltaXQKPiAgICAg LSB0eXBlCj4KPiBYZW5jb25zb2xlZAo+ID09PT09PT09PT09PQo+Cj4gMS4gU3BsaXQgdGhlIGRv bWFpbiBzdHJ1Y3R1cmUgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb25zb2xlcy4KPgo+IDIuIE1vZGlm eSBkaWZmZXJlbnQgQVBJcyBzdWNoIGFzIGJ1ZmZlcl9hcHBlbmQoKSBldGMuIHRvIG9wZXJhdGUg b24gdGhlCj4gICAgY29uc29sZSBzdHJ1Y3R1cmUuCj4KPiAzLiBBZGQgc3VwcG9ydCBmb3IgaGFu ZGxpbmcgbXVsdGlwbGUgY29uc29sZXMuCj4KPiA0LiBBZGQgc3VwcG9ydCBmb3IgdnVhcnQgY29u c29sZToKPgo+IFRoZSB2cGwwMTEgY2hhbmdlcyBhdmFpbGFibGUgYXQgdGhlIGZvbGxvd2luZyBy ZXBvOgo+Cj4gdXJsOiBodHRwczovL2dpdEBnaXQubGluYXJvLm9yZzovcGVvcGxlL2JodXBpbmRl ci50aGFrdXIveGVuLmdpdAo+IGJyYW5jaDogdnBsMDExX3Y2Cj4KPiBLaW5kbHkgd2FpdCBmb3Ig b25lIGRheSB0byBjaGVja291dCB0aGUgY29kZSBmcm9tIHRoZSBhYm92ZSBVUkwuCj4KPiBUaGVy ZSBhcmUgc29tZSBUQkQgaXRlbXMgd2hpY2ggbmVlZCB0byBiZSBsb29rZWQgYXQgaW4gdGhlIGZ1 dHVyZToKPgo+IDEuIEN1cnJlbnRseSBVRUZJIGZpcm13YXJlIGxvZ3MgdGhlIG91dHB1dCB0byBo dmMgY29uc29sZSBvbmx5LiBIb3cgY2FuCj4gICAgVUVGSSBmaXJtd2FyZSBiZSBtYWRlIGF3YXJl IG9mIHBsMDExIGNvbnNvbGUgYW5kIGhvdyBpdCBjYW4gdXNlIGl0Cj4gICAgYXMgYSBjb25zb2xl IGluc3RlYWQgb2YgaHZjLgo+Cj4gICAgVGhlcmUgd2FzIGEgZGlzY3Vzc2lvbiBvbiB0aGlzIGFu ZCBpdCB3YXMgZGVjaWRlZCB0aGF0IFNCU0EgVUFSVCBzaG91bGQKPiAgICBiZSB1c2VkIGFzIGEg ZGVidWcgcG9ydCBieSB0aGUgVUVGSSBmaXJtd2FyZSBzbyB0aGF0IGFsbCBkZWJ1ZyBvdXRwdXQK PiAgICBpcyByZWRpcmVjdGVkIHRvIHRoaXMgcG9ydC4KPgo+IDIuIExpbnV4IHNlZW1zIHRvIGhh dmUgaHZjIGNvbnNvbGUgYXMgdGhlIGRlZmF1bHQgY29uc29sZSBpLmUuIGlmIG5vCj4gICAgY29u c29sZSBpcyBzcGVjaWZpZWQgdGhlbiBpdCB1c2VzIGh2YyBhcyB0aGUgY29uc29sZS4gSG93IGNh biBhbgo+ICAgIG9wdGlvbiBiZSBwcm92aWRlZCBpbiBMaW51eCB0byBzZWxlY3QgZWl0aGVyIGh2 YyBvciBwbDAxMSBhcyB0aGUKPiAgICBkZWZhdWx0IGNvbnNvbGUuCj4KPiAgICBJdCB3YXMgc3Vn Z2V0ZWQgdG8gdXNlIHRoZSBTUENSIGluIEFDUEkgYW5kIHRoZSBzdGRvdXQtcGF0aCBvcHRpb24g aW4gdGhlCj4gICAgZGV2aWNlIHRyZWUgdG8gc3BlY2lmeSB0aGUgZGVmYXVsdCBjb25zb2xlLiBI b3dldmVyLCBjdXJyZW50bHkgaHZjIGNvbnNvbGUKPiAgICBpcyBub3QgZGVzY3JpYmFibGUgaW4g dGhlIEFDUEkvZGV2aWNlIHRyZWUuIFRoaXMgc3VwcG9ydCB3aWxsIGhhdmUgdG8gYmUKPiAgICBh ZGRlZCB0byBhbGxvdyB0aGUgdXNlciB0byBzcGVjaWZ5IHRoZSBkZWZhdWx0IGNvbnNvbGUuCj4K PiAzLiBBQ1BJIHN1cHBvcnQgZm9yIHBsMDExIGRldmljZS4KPgo+IENDOiBBbmRyZXcgQ29vcGVy IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgo+IENDOiBHZW9yZ2UgRHVubGFwIDxHZW9yZ2Uu RHVubGFwQGV1LmNpdHJpeC5jb20+Cj4gQ0M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5j aXRyaXguY29tPgo+IENDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Cj4gQ0M6IEtv bnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KPiBDQzogU3RlZmFu byBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgo+IENDOiBUaW0gRGVlZ2FuIDx0 aW1AeGVuLm9yZz4KPiBDQzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KPiBDQzogSnVs aWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KPiBDQzogQW5kcmUgUHJ6eXdhcmEgPGFu ZHJlLnByenl3YXJhQGFybS5jb20+Cj4KPiBCaHVwaW5kZXIgVGhha3VyICgyNSk6Cj4gICB4ZW4v YXJtOiB2cGwwMTE6IERlZmluZSBjb21tb24gcmluZyBidWZmZXIgaGVscGVyIGZ1bmN0aW9ucyBp bgo+ICAgICBjb25zb2xlLmgKPiAgIHhlbi9hcm06IHZwbDAxMTogQWRkIFNCU0EgVUFSVCBlbXVs YXRpb24gaW4gWGVuCj4gICB4ZW4vYXJtOiB2cGwwMTE6IEFsbG9jYXRlIGEgbmV3IEdGTiBpbiB0 aGUgdG9vbHN0YWNrIGZvciB2dWFydAo+ICAgeGVuL2FybTogdnBsMDExOiBBZGQgc3VwcG9ydCBm b3IgdnVhcnQgaW4gbGlieGwKPiAgIHhlbi9hcm06IHZwbDAxMTogUmVhcnJhbmdlIHhlbiBoZWFk ZXIgaW5jbHVkZXMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyCj4gICAgIGluIGRvbWN0bC5jCj4gICB4 ZW4vYXJtOiB2cGwwMTE6IEFkZCBhIG5ldyBkb21jdGwgQVBJIHRvIGluaXRpYWxpemUgdnBsMDEx Cj4gICB4ZW4vYXJtOiB2cGwwMTE6IEFkZCBhIG5ldyB2dWFydCBub2RlIGluIHRoZSB4ZW5zdG9y ZQo+ICAgeGVuL2FybTogdnBsMDExOiBNb2RpZnkgeGVuY29uc29sZSB0byBkZWZpbmUgYW5kIHVz ZSBhIG5ldyBjb25zb2xlCj4gICAgIHN0cnVjdHVyZQo+ICAgeGVuL2FybTogdnBsMDExOiBSZW5h bWUgdGhlIGNvbnNvbGUgc3RydWN0dXJlIGZpZWxkIGNvbnNwYXRoIHRvIHhzcGF0aAo+ICAgeGVu L2FybTogdnBsMDExOiBNb2RpZnkgeGVuY29uc29sZSBmdW5jdGlvbnMgdG8gdGFrZSBjb25zb2xl IHN0cnVjdHVyZQo+ICAgICBhcyBpbnB1dAo+ICAgeGVuL2FybTogdnBsMDExOiBBZGQgYSBuZXcg Y29uc29sZV9pbml0IGZ1bmN0aW9uIGluIHhlbmNvbnNvbGUKPiAgIHhlbi9hcm06IHZwbDAxMTog QWRkIGEgbmV3IGJ1ZmZlcl9hdmFpbGFibGUgZnVuY3Rpb24gaW4geGVuY29uc29sZQo+ICAgeGVu L2FybTogdnBsMDExOiBBZGQgYSBuZXcgbWF5YmVfYWRkX2NvbnNvbGVfZXZ0Y2huX2ZkIGZ1bmN0 aW9uIGluCj4gICAgIHhlbmNvbnNvbGUKPiAgIHhlbi9hcm06IHZwbDAxMTogQWRkIGEgbmV3IG1h eWJlX2FkZF9jb25zb2xlX3R0eV9mZCBmdW5jdGlvbiBpbgo+ICAgICB4ZW5jb25zb2xlCj4gICB4 ZW4vYXJtOiB2cGwwMTE6IEFkZCBhIG5ldyBjb25zb2xlX2V2dGNobl91bm1hc2sgZnVuY3Rpb24g aW4KPiAgICAgeGVuY29uc29sZQo+ICAgeGVuL2FybTogdnBsMDExOiBBZGQgYSBuZXcgaGFuZGxl X2NvbnNvbGVfcmluZyBmdW5jdGlvbiBpbiB4ZW5jb25zb2xlCj4gICB4ZW4vYXJtOiB2cGwwMTE6 IEFkZCBhIG5ldyBoYW5kbGVfY29uc29sZV90dHkgZnVuY3Rpb24gaW4geGVuY29uc29sZQo+ICAg eGVuL2FybTogdnBsMDExOiBBZGQgYSBuZXcgY29uc29sZV9jbGVhbnVwIGZ1bmN0aW9uIGluIHhl bmNvbnNvbGUKPiAgIHhlbi9hcm06IHZwbDAxMTogQWRkIGEgbmV3IGNvbnNvbGVfb3Blbl9sb2cg ZnVuY3Rpb24gaW4geGVuY29uc29sZQo+ICAgeGVuL2FybTogdnBsMDExOiBBZGQgYSBuZXcgY29u c29sZV9jbG9zZV9ldnRjaG4gZnVuY3Rpb24gaW4geGVuY29uc29sZQo+ICAgeGVuL2FybTogdnBs MDExOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgY29uc29sZXMgaW4geGVuY29uc29sZQo+ICAg eGVuL2FybTogdnBsMDExOiBBZGQgc3VwcG9ydCBmb3IgdnVhcnQgY29uc29sZSBpbiB4ZW5jb25z b2xlCj4gICB4ZW4vYXJtOiB2cGwwMTE6IEFkZCBhIG5ldyB2dWFydCBjb25zb2xlIHR5cGUgdG8g eGVuY29uc29sZSBjbGllbnQKPiAgIHhlbi9hcm06IHZwbDAxMTogQWRkIGEgcGwwMTEgdWFydCBE VCBub2RlIGluIHRoZSBndWVzdCBkZXZpY2UgdHJlZQo+ICAgeGVuL2FybTogdnBsMDExOiBVcGRh dGUgZG9jdW1lbnRhdGlvbiBmb3IgdnVhcnQgY29uc29sZSBzdXBwb3J0Cj4KPiAgY29uZmlnL2Fy bTMyLm1rICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKPiAgY29uZmlnL2FybTY0Lm1rICAg ICAgICAgICAgICAgICAgICAgIHwgICAxICsKPiAgZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluICAg ICAgICAgICAgIHwgIDEyICsKPiAgZG9jcy9taXNjL2NvbnNvbGUudHh0ICAgICAgICAgICAgICAg IHwgIDQ0ICsrLQo+ICB0b29scy9jb25zb2xlL01ha2VmaWxlICAgICAgICAgICAgICAgfCAgIDMg Ky0KPiAgdG9vbHMvY29uc29sZS9jbGllbnQvbWFpbi5jICAgICAgICAgIHwgIDEzICstCj4gIHRv b2xzL2NvbnNvbGUvZGFlbW9uL2lvLmMgICAgICAgICAgICB8IDY1OSArKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLQo+ICB0b29scy9saWJ4Yy9pbmNsdWRlL3hjX2RvbS5oICAgICAg ICAgfCAgIDIgKwo+ICB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCAgICAgICAgfCAgMjAg KysKPiAgdG9vbHMvbGlieGMveGNfZG9tX2FybS5jICAgICAgICAgICAgIHwgICA1ICstCj4gIHRv b2xzL2xpYnhjL3hjX2RvbV9ib290LmMgICAgICAgICAgICB8ICAgMiArCj4gIHRvb2xzL2xpYnhj L3hjX2RvbWFpbi5jICAgICAgICAgICAgICB8ICAyNSArKwo+ICB0b29scy9saWJ4bC9saWJ4bC5o ICAgICAgICAgICAgICAgICAgfCAgIDUgKwo+ICB0b29scy9saWJ4bC9saWJ4bF9hcmNoLmggICAg ICAgICAgICAgfCAgIDcgKwo+ICB0b29scy9saWJ4bC9saWJ4bF9hcm0uYyAgICAgICAgICAgICAg fCAgNzQgKysrKwo+ICB0b29scy9saWJ4bC9saWJ4bF9jb25zb2xlLmMgICAgICAgICAgfCAgNDcg KysrCj4gIHRvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jICAgICAgICAgICB8ICAgOSArLQo+ICB0 b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYyAgICAgICAgICAgfCAgIDkgKy0KPiAgdG9vbHMvbGli eGwvbGlieGxfZG9tLmMgICAgICAgICAgICAgIHwgICA1ICsKPiAgdG9vbHMvbGlieGwvbGlieGxf aW50ZXJuYWwuaCAgICAgICAgIHwgICA2ICsKPiAgdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRs ICAgICAgICAgIHwgICA3ICsKPiAgdG9vbHMvbGlieGwvbGlieGxfdHlwZXNfaW50ZXJuYWwuaWRs IHwgICAxICsKPiAgdG9vbHMvbGlieGwvbGlieGxfeDg2LmMgICAgICAgICAgICAgIHwgICA4ICsK PiAgdG9vbHMveGwveGxfY21kdGFibGUuYyAgICAgICAgICAgICAgIHwgICAyICstCj4gIHRvb2xz L3hsL3hsX2NvbnNvbGUuYyAgICAgICAgICAgICAgICB8ICAgNSArLQo+ICB0b29scy94bC94bF9w YXJzZS5jICAgICAgICAgICAgICAgICAgfCAgIDggKwo+ICB4ZW4vYXJjaC9hcm0vS2NvbmZpZyAg ICAgICAgICAgICAgICAgfCAgIDcgKwo+ICB4ZW4vYXJjaC9hcm0vTWFrZWZpbGUgICAgICAgICAg ICAgICAgfCAgIDEgKwo+ICB4ZW4vYXJjaC9hcm0vZG9tYWluLmMgICAgICAgICAgICAgICAgfCAg IDYgKwo+ICB4ZW4vYXJjaC9hcm0vZG9tY3RsLmMgICAgICAgICAgICAgICAgfCAgNDggKystCj4g IHhlbi9hcmNoL2FybS92cGwwMTEuYyAgICAgICAgICAgICAgICB8IDQ1NCArKysrKysrKysrKysr KysrKysrKysrKysKPiAgeGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaCAgICAgICAgIHwgICA2 ICsKPiAgeGVuL2luY2x1ZGUvYXNtLWFybS9wbDAxMS11YXJ0LmggICAgIHwgICAyICsKPiAgeGVu L2luY2x1ZGUvYXNtLWFybS92cGwwMTEuaCAgICAgICAgIHwgIDcyICsrKysKPiAgeGVuL2luY2x1 ZGUvcHVibGljL2FyY2gtYXJtLmggICAgICAgIHwgICA2ICsKPiAgeGVuL2luY2x1ZGUvcHVibGlj L2RvbWN0bC5oICAgICAgICAgIHwgIDIxICsrCj4gIHhlbi9pbmNsdWRlL3B1YmxpYy9pby9jb25z b2xlLmggICAgICB8ICAgNCArCj4gIDM3IGZpbGVzIGNoYW5nZWQsIDEzNjYgaW5zZXJ0aW9ucygr KSwgMjQxIGRlbGV0aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gvYXJtL3Zw bDAxMS5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS9hc20tYXJtL3ZwbDAxMS5o Cj4KCi0tIApKdWxpZW4gR3JhbGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=