From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:a17:504:1dd4:b0:1be9:327d:8ee3 with SMTP id b20csp2177549nji; Mon, 15 Jul 2024 04:14:03 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXUKq5Dk10tDSW9xf7KRjd/BY10rKUOMAelcBBaXZ0FotNjJsbGGJ/RVEnhPoIR+s4WPnRoNHWJIYxMWTa1psLgtPGFcAfi X-Google-Smtp-Source: AGHT+IE0yqrvRHtSJpw7yKJrAY05qMKJjZnn7hpGwNQxCafoWeBGV4PC2RA5xFJR4bYs/EOlykhX X-Received: by 2002:a05:600c:22cb:b0:426:6220:cb57 with SMTP id 5b1f17b1804b1-426708f1ef6mr133243135e9.25.1721042043169; Mon, 15 Jul 2024 04:14:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1721042043; cv=none; d=google.com; s=arc-20160816; b=T49qzWHLGcAga+91keU25p23S4skPL9hbImy5X51ZYmk6SGkChhUCa7xxZrNornCP9 lbpnoRzixVLUFw1uA0pVe/peGXknBTj7vPEpR2ptybdKuGtD6gKeeNyXmbyMpnbFv04q sDqxxxbLSHQPrlGvXC4q4sIZuMvdbC+5lIPfkq3wHpez1bANutFHsmEaX9odZ/3m4Gjh br5UzT4k3QBIEakkDtLZDOb66EGGfe0ouP3zq4Ns4ySF3o/e3wJ39mfMiytoxfXKXPRS Dg9p37qBD3iZVxdWeH5zbXWmtmY9izJ9jDDPf7V7pKrSLtHXSlumSKCg7zyNR+L4QckU GNIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from; bh=ArhnyTzgDLegm5GHstwH2ENaeG8eFTh/LGa1Hv37PRM=; fh=I4zWi8FvA2AXkyyBRGDD+6/66g9sigOrTILTF4Js8pM=; b=oKI3nkrWp8fBoACPRxmtwTd/nTFefwZ7K6rCPy2H2FR5+H5I2oV2lhRpG4y0ELV3J3 0WU2JLNQrDmo9hOeRoc+Bq91HOnEz0FLay8NF+iCwh4moQZL9Qt8AwPjCTPKPpIfnUwd GFUsxdToLOQ//Qz4gY5Dq9+PwfjBgTz2zGBAmnK3ASRSDvo/NR/b3+SYZB1kyydkEFLR voY3CctidvU/lyNPyiy/CcuKW0OhRnnOWayWM4s+2cpGgUGIqCp5WtlrvoQzFCvOzfoq amcJBdHuSMnBo0y94YwmAAQfC1Q1+PcFtzRr/3B90BGGB7Ef6a/T/bY4gUWS+qoDkaj2 jRxw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of salil.mehta@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=salil.mehta@huawei.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from frasgout.his.huawei.com (frasgout.his.huawei.com. [185.176.79.56]) by mx.google.com with ESMTPS id 5b1f17b1804b1-427a5e74863si28772475e9.41.2024.07.15.04.14.02 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Jul 2024 04:14:03 -0700 (PDT) Received-SPF: pass (google.com: domain of salil.mehta@huawei.com designates 185.176.79.56 as permitted sender) client-ip=185.176.79.56; Authentication-Results: mx.google.com; spf=pass (google.com: domain of salil.mehta@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=salil.mehta@huawei.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from mail.maildlp.com (unknown [172.18.186.231]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4WN00N5Kgzz6K6ZB; Mon, 15 Jul 2024 19:12:20 +0800 (CST) Received: from lhrpeml500005.china.huawei.com (unknown [7.191.163.240]) by mail.maildlp.com (Postfix) with ESMTPS id 4C0C6140B3C; Mon, 15 Jul 2024 19:14:02 +0800 (CST) Received: from lhrpeml500001.china.huawei.com (7.191.163.213) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Mon, 15 Jul 2024 12:14:01 +0100 Received: from lhrpeml500001.china.huawei.com ([7.191.163.213]) by lhrpeml500001.china.huawei.com ([7.191.163.213]) with mapi id 15.01.2507.039; Mon, 15 Jul 2024 12:14:01 +0100 From: Salil Mehta To: "qemu-devel@nongnu.org" , "qemu-arm@nongnu.org" CC: "maz@kernel.org" , "jean-philippe@linaro.org" , Jonathan Cameron , "lpieralisi@kernel.org" , "peter.maydell@linaro.org" , "richard.henderson@linaro.org" , "imammedo@redhat.com" , "andrew.jones@linux.dev" , "david@redhat.com" , "philmd@linaro.org" , "eric.auger@redhat.com" , "oliver.upton@linux.dev" , "pbonzini@redhat.com" , "mst@redhat.com" , "will@kernel.org" , "gshan@redhat.com" , "rafael@kernel.org" , "alex.bennee@linaro.org" , "linux@armlinux.org.uk" , "darren@os.amperecomputing.com" , "ilkka@os.amperecomputing.com" , "vishnu@os.amperecomputing.com" , "karl.heubaum@oracle.com" , "miguel.luis@oracle.com" , "salil.mehta@opnsrc.net" , zhukeqian , "wangxiongfeng (C)" , "wangyanan (Y)" , "jiakernel2@gmail.com" , "maobibo@loongson.cn" , "lixianglai@loongson.cn" , "npiggin@gmail.com" , "harshpb@linux.ibm.com" , Linuxarm Subject: RE: [PATCH V15 0/7] Add architecture agnostic code to support vCPU Hotplug Thread-Topic: [PATCH V15 0/7] Add architecture agnostic code to support vCPU Hotplug Thread-Index: AQHa1VIYzbBqk8ub30G0ZXbYzNwFGLH3pAqQ Date: Mon, 15 Jul 2024 11:14:01 +0000 Message-ID: <9c128baf202b4dfaabb3a283db93f15d@huawei.com> References: <20240713182516.1457-1-salil.mehta@huawei.com> In-Reply-To: <20240713182516.1457-1-salil.mehta@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.126.170.92] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-TUID: yi6Rusv0PFcK SGkgIElnb3IsDQoNCldlIGFyZSBhcHByb2FjaGluZyBlbmQgb2YgdGhpcyBRZW11IGN5Y2xlLCBJ IGJlbGlldmUgdGhhdOKAmXMgb24gMTd0aCBKdWx5LiBJZiB5b3UgYXJlDQpzYXRpc2ZpZWQgd2l0 aCB0aGUgY2hhbmdlcy4gTWF5IEkgcmVxdWVzdCB5b3VyIFJldmlld2VkL0Fja2VkLUJ5cyBmb3Ig dGhpcyBzZXJpZXM/DQoNClRoaXMgc2VyaWVzIGlzIHZvdWNoZWQgYnkgbWFueSBjb21wYW5pZXMu IEl0IHdpbGwgYmUgZ29vZCBpdCAgdG8gbWVyZ2UgaXQgaW4gdGhpcyBjeWNsZS4NCg0KQmVzdCBy ZWdhcmRzDQpTYWxpbC4NCg0KPiAgRnJvbTogU2FsaWwgTWVodGEgPHNhbGlsLm1laHRhQGh1YXdl aS5jb20+DQo+ICBTZW50OiBTYXR1cmRheSwgSnVseSAxMywgMjAyNCA3OjI1IFBNDQo+ICBUbzog cWVtdS1kZXZlbEBub25nbnUub3JnOyBxZW11LWFybUBub25nbnUub3JnDQo+ICANCj4gIFtOb3Rl OiBSZWZlcmVuY2VzIGFyZSBwcmVzZW50IGF0IHRoZSBsYXN0IGFmdGVyIHRoZSByZXZpc2lvbiBo aXN0b3J5XQ0KPiAgDQo+ICBWaXJ0dWFsIENQVSBob3RwbHVnIHN1cHBvcnQgaXMgYmVpbmcgYWRk ZWQgYWNyb3NzIHZhcmlvdXMgYXJjaGl0ZWN0dXJlcw0KPiAgWzFdWzNdLg0KPiAgVGhpcyBzZXJp ZXMgYWRkcyB2YXJpb3VzIGNvZGUgYml0cyBjb21tb24gYWNyb3NzIGFsbCBhcmNoaXRlY3R1cmVz Og0KPiAgDQo+ICAxLiB2Q1BVIGNyZWF0aW9uIGFuZCBQYXJraW5nIGNvZGUgcmVmYWN0b3IgW1Bh dGNoIDFdIDIuIFVwZGF0ZSBBQ1BJIEdFRA0KPiAgZnJhbWV3b3JrIHRvIHN1cHBvcnQgdkNQVSBI b3RwbHVnIFtQYXRjaCAyLDNdIDMuIEFDUEkgQ1BVcyBBTUwgY29kZQ0KPiAgY2hhbmdlIFtQYXRj aCA0LDVdIDQuIEhlbHBlciBmdW5jdGlvbnMgdG8gc3VwcG9ydCB1bnJlYWxpemF0aW9uIG9mIENQ VQ0KPiAgb2JqZWN0cyBbUGF0Y2ggNiw3XQ0KPiAgDQo+ICBSZXBvc2l0b3J5Og0KPiAgDQo+ICBb Kl0gQXJjaGl0ZWN0dXJlICpBZ25vc3RpYyogUGF0Y2gtc2V0IChUaGlzIHNlcmllcykNCj4gICAg IFYxNDogaHR0cHM6Ly9naXRodWIuY29tL3NhbGlsLW1laHRhL3FlbXUuZ2l0IHZpcnQtY3B1aHAt YXJtdjgvcmZjLQ0KPiAgdjMuYXJjaC5hZ25vc3RpYy52MTUNCj4gIA0KPiAgICAgTk9URTogVGhp cyBzZXJpZXMgaXMgbWVhbnQgdG8gd29yayBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBhcmNoaXRl Y3R1cmUtDQo+ICBzcGVjaWZpYw0KPiAgICAgcGF0Y2gtc2V0LiBGb3IgQVJNLCBhIGNvbWJpbmVk IHBhdGNoLXNldCAoYXJjaGl0ZWN0dXJlIGFnbm9zdGljICsNCj4gIHNwZWNpZmljKSB3YXMNCj4g ICAgIGVhcmxpZXIgcHVzaGVkIGFzIFJGQyBWMiBbMV0uIExhdGVyLCBSRkMgVjIgd2FzIHNwbGl0 IGludG8gdGhlIEFSTQ0KPiAgQXJjaGl0ZWN0dXJlDQo+ICAgICBzcGVjaWZpYyBwYXRjaC1zZXQg UkZDIFYzIFs0XSAoYSBzdWJzZXQgb2YgUkZDIFYyKSBhbmQgdGhlIGFyY2hpdGVjdHVyZQ0KPiAg YWdub3N0aWMNCj4gICAgIHBhdGNoLXNldC4gUGF0Y2gtc2V0IFYxNCBpcyB0aGUgbGF0ZXN0IHZl cnNpb24gaW4gdGhhdCBzZXJpZXMuIFRoaXMgc2VyaWVzDQo+ICAgICB3b3JrcyBpbiBjb25qdW5j dGlvbiB3aXRoIFJGQyBWNC1yYzIsIHByZXNlbnQgYXQgdGhlIGZvbGxvd2luZyBsaW5rLg0KPiAg DQo+ICBbKl0gQVJNIEFyY2hpdGVjdHVyZSAqU3BlY2lmaWMqIFBhdGNoLXNldA0KPiAgICAgUkZD IFYzIFs0XTogaHR0cHM6Ly9naXRodWIuY29tL3NhbGlsLW1laHRhL3FlbXUuZ2l0IHZpcnQtY3B1 aHAtDQo+ICBhcm12OC9yZmMtdjMNCj4gICAgIFJGQyBWNC1yYzI6IGh0dHBzOi8vZ2l0aHViLmNv bS9zYWxpbC1tZWh0YS9xZW11LmdpdCB2aXJ0LWNwdWhwLQ0KPiAgYXJtdjgvcmZjLXY0LXJjMiAo Y29tYmluZWQpDQo+ICANCj4gIA0KPiAgUmV2aXNpb24gSGlzdG9yeToNCj4gIA0KPiAgUGF0Y2gt c2V0IFYxNCAtPiBWMTUNCj4gIDEuIEFkZHJlc3NlZCBjb21tbmV0IGZyb20gSWdvciBNYW1tZWRv didzIG9uIFtQQVRDSCBWMTQgNC83XQ0KPiAgICAgLSBSZW1vdmVkIEFDUElfQ1BVX1NDQU5fTUVU SE9EDQo+ICAgICAtIEludHJvZHVjZWQgQU1MX0dFRF9FVlRfQ1BVX1NDQU5fTUVUSE9EICgiXFxf U0IuR0VELkNQU0NOIikNCj4gIG1hY3JvIDIuIEZpeCB0aGUgc3RyYXkgY2hhbmdlIG9mICJhc3Nl cnQgKCIgaW4gIlBBVENIIFYxNCAzLzciDQo+ICBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9xZW11LWRldmVsLzIwMjQwNzEyMTM0MjAxLjIxNDY5OS00LQ0KPiAgc2FsaWwubWVodGFAaHVh d2VpLmNvbS8NCj4gIA0KPiAgUGF0Y2gtc2V0IFYxMyAtPiBWMTQNCj4gIDEuIEFkZHJlc3NlZCBJ Z29yIE1hbW1lZG92J3MgZm9sbG93aW5nIHJldmlldyBjb21tZW50cw0KPiAgICAgLSBNZW50aW9u ZWQgYWJwdXQgbmV3IGV4dGVybmFsIEFQSXMgaW4gdGhlIGhlYWRlciBub3RlIG9mIFtQQVRDSCAx LzddDQo+ICAgICAtIE1lcmdlZCBEb2MgW1BBVENIIFYxMyA4LzhdIHdpdGggW1BBVENIIFYxNCAz LzddDQo+ICAgICAtIEludHJvZHVjZWQgR0VEIHJlYWxpemUgZnVuY3Rpb24gZm9yIHZhcmlvdXMg Q1BVIEhvdHBsdWcgcmVnaW9ucw0KPiAgaW5pdGlhbGl6YXRpb25zDQo+ICAgICAtIEFkZGVkIGJh Y2sgZXZlbnQgaGFuZGxlciBtZXRob2QgdG8gaW5kaXJlY3RseSBleHBvc2UNCj4gIFxcX1NCLkNQ VVMuQ1NDTiB0byBHRUQNCj4gICAgICAgX0VWVC4gTGlrZSBmb3IgQVJNLCBpdCB3b3VsZCBiZSB0 aHJvdWdoIFxcX1NCLkdFRC5DU0NOIGV2ZW50IGhhbmRsZXINCj4gIG1ldGhvZA0KPiAgICAgLSBD b2xsZWN0ZWQgdGhlIEFjayBnaXZlbiBmb3IgW1BhdGNoIFYxMyA2LzhdDQo+ICAgICAtIEFkZGVk IGJhY2sgdGhlIGdmcmVlJ2luZyBvZiBHREIgcmVncyBpbiBjb21tb24gZmluYWxpemUgYW5kIG1h ZGUgaXQNCj4gIGNvbmRpdGlvbmFsDQo+ICAgICAtIFVwZGF0ZWQgdGhlIGhlYWRlciBub3RlcyBv ZiBbUEFUQ0ggVjEzIDMvOCw0LzgsNS84XSB0byByZWZsZWN0IHRoZQ0KPiAgY2hhbmdlcw0KPiAg DQo+ICBQYXRjaC1zZXQgIFYxMiAtPiBWMTMNCj4gIDEuIEFkZGVkIFJldmlld2VkLWJ5IFRhZyBv ZiBIYXJzaCBQcmF0ZWVrIEJvcmEncyAoSUJNKSBbUEFUQ0ggVjEyIDEvOF0gMi4NCj4gIE1vdmVk IHRoZSBrdm1fe2NyZWF0ZSxwYXJrLHVucGFya31fdmNwdSBwcm90b3R5cGVzIGZyb20NCj4gIGFj Y2VsL2t2bS9rdm0tY3B1cy5oDQo+ICAgICB0byBpbmNsdWRlL3N5c2VtdS9rdm0uaC4gVGhlc2Ug Y2FuIGxhdGVyIGJlIGV4cG9ydGVkIHRocm91Z2ggQWNjZWxPcHMuDQo+ICBMaW5rOiBodHRwczov L2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzYyZjU1MTY5LTE3OTYtNGQ4ZS1hMzVkLQ0KPiAg N2YwMDNhMTcyNzUwQGxpbnV4LmlibS5jb20vDQo+ICANCj4gIFBhdGNoLXNldCAgVjExIC0+IFYx Mg0KPiAgMS4gQWRkcmVzc2VkIEhhcnNoIFByYXRlZWsgQm9yYSdzIChJQk0pIGNvbW1lbnQNCj4g ICAgIC0gQ2hhbmdlZCBAY3B1IHRvIEB2Y3B1X2lkIGluIHRoZSBrdm1fdW5wYXJrX3ZjcHUgcHJv dG95cGUgaGVhZGVyLw0KPiAgMi4gQWRkZWQgWmhhbyBMaXUncyAoSW50ZWwpIFRlc3RlZC1ieSBm b3Igd2hvbGUgc2VyaWVzDQo+ICAgICAtIFF0ZXN0IGRvZXMgbm90IGJyZWFrcyBvbiBJbnRlbCBw bGF0Zm9ybXMgbm93Lg0KPiAgMy4gQWRkZWQgWmhhbyBMaXUncyAoSW50ZWwpIFJldmlld2VkLWJ5 IGZvciBbUEFUQ0ggVjExIHsxLzggLSAzLzh9XQ0KPiAgTGluazogaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvcWVtdS1kZXZlbC9abFJTUHVKR0JneUVVVzZ3QGludGVsLmNvbS8NCj4gIExpbms6IGh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvYTVmM2Q3OGUtY2ZlZC00NDFmLTljNTYt DQo+ICBlM2U3OGZhNWVkZWVAbGludXguaWJtLmNvbS8NCj4gIA0KPiAgUGF0Y2gtc2V0ICBWMTAg LT4gVjExDQo+ICAxLiBBZGRyZXNzZWQgTmljaG9sYXMgUGlnZ2luJ3MgKElCTSkgY29tbWVudA0K PiAgICAgLSBtb3ZlZCB0aGUgdHJhY2VzIGluIGt2bV91bnBhcmtfdmNwdSBhbmQga3ZtX2NyZWF0 ZV92Y3B1IGF0IHRoZSBlbmQNCj4gICAgIC0gQWRkZWQgdGhlIFJldmlld2VkLWJ5IFRhZyBmb3Ig W1BBVENIIFYxMCAxLzhdIDIuICBBZGRyZXNzZWQgQWxleA0KPiAgQmVubsOpZSdzIChMaW5hcm8p IGNvbW1lbnRzDQo+ICAgICAtIEFkZGVkIGEgbm90ZSBleHBsYWluaW5nIGRlcGVuZGVuY3kgb2Yg dGhlIFtQQVRDSCBWMTAgNy84XSBvbiBBcmNoDQo+ICBzcGVjaWZpYyBwYXRjaC1zZXQNCj4gIExp bms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtDQo+ICBkZXZlbC9EMUZTNUdPT0ZXV0su MlBOUklWTDBWNkRCTEBnbWFpbC5jb20vDQo+ICBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9xZW11LWRldmVsLzg3ZnJ1Ymk0MDIuZnNmQGRyYWlnLmxpbmFyby5vcmcvDQo+ICANCj4gIFBh dGNoLXNldCAgVjkgLT4gVjEwDQo+ICAxLiBBZGRyZXNzZWQgTmljaG9sYXMgUGlnZ2luJ3MgKElC TSkgJiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSAoTGluYXJvKQ0KPiAgY29tbWVudHMNCj4gICAg IC0gY2FydmVkIG91dCBrdm1fdW5wYXJrX3ZjcHUgYW5kIGFkZGVkIGl0cyB0cmFjZQ0KPiAgICAg LSBXaWRlbmVkIHRoZSBzY29wZSBvZiB0aGUga3ZtX3VucGFya192Y3B1IHNvIHRoYXQgaXQgY2Fu IGJlIHVzZWQgYnkNCj4gIGdlbmVyaWMgZnJhbWV3b3JrDQo+ICAgICAgIGJlaW5nIHRob3VnaHQg b3V0DQo+ICBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjQwNTE5 MjEwNjIwLjIyODM0Mi0xLQ0KPiAgc2FsaWwubWVodGFAaHVhd2VpLmNvbS8NCj4gIExpbms6IGh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvZTk0YjBlMTQtZWZlZS00MDUwLTljOWYt DQo+ICAwODM4MmEzNmI2M2FAbGluYXJvLm9yZy8NCj4gIA0KPiAgUGF0Y2gtc2V0ICBWOCAtPiBW OQ0KPiAgMS4gQWRkcmVzc2VkIFZpc2hudSBQYWpqdXJpJ3MgKEFtcGVyZSkgY29tbWVudHMNCj4g ICAgIC0gQWRkZWQga3ZtX2ZkIHRvIHRyYWNlIGluIGt2bV9jcmVhdGVfdmNwdQ0KPiAgICAgLSBT b21lIGNsZWFuIHVwczogYXJjaCB2Y3B1LWlkIGFuZCBzYmQgdmFyaWFibGUNCj4gICAgIC0gQWRk ZWQgdGhlIG1pc3NlZCBpbml0aWFsaXphdGlvbiBvZiBjcHUtPmdkYl9udW1fcmVncyAyLiBBZGRy ZXNzZWQgdGhlDQo+ICBjb21tbmV0IGZyb20gWmhhbyBMaXUgKEludGVsKQ0KPiAgICAgLSBNYWtl IGluaXRpYWxpemF0aW9uIG9mIENQVSBIb3RwbHVnIHN0YXRlIGNvbmRpdGlvbmFsDQo+ICAocG9z c2libGVfY3B1X2FyY2hfaWRzIT1OVUxMKQ0KPiAgTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvcWVtdS1kZXZlbC8yMDI0MDMxMjAyMDAwMC4xMjk5Mi0xLQ0KPiAgc2FsaWwubWVodGFAaHVh d2VpLmNvbS8NCj4gIA0KPiAgUGF0Y2gtc2V0IFY3IC0+IFY4DQo+ICAxLiBSZWJhc2VkIGFuZCBG aXhlZCB0aGUgY29uZmxpY3RzDQo+ICANCj4gIFBhdGNoLXNldCAgVjYgLT4gVjcNCj4gIDEuIEFk ZHJlc3NlZCBBbGV4IEJlbm7DqWUncyBjb21tZW50cw0KPiAgICAgLSBVcGRhdGVkIHRoZSBkb2Nz DQo+ICAyLiBBZGRyZXNzZWQgSWdvciBNYW1tZWRvdidzIGNvbW1lbnRzDQo+ICAgICAtIE1lcmdl ZCBwYXRjaGVzIFtQYXRjaCBWNiAzLzldICYgW1BhdGNoIFY2IDcvOV0gd2l0aCBbUGF0Y2ggVjYg NC85XQ0KPiAgICAgLSBVcGRhdGVkIGNvbW1pdC1sb2cgb2YgW1BhdGNoIFY2IDEvOV0gYW5kIFtQ YXRjaCBWNiA1LzldDQo+ICAzLiBBZGRlZCBTaGFvcWluIEh1YW5nJ3MgUmV2aWV3ZWQtYnkgdGFn cyBmb3Igd2hvbGUgc2VyaWVzLg0KPiAgTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVt dS1kZXZlbC8yMDIzMTAxMzEwNTEyOS4yNTY0OC0xLQ0KPiAgc2FsaWwubWVodGFAaHVhd2VpLmNv bS8NCj4gIA0KPiAgUGF0Y2gtc2V0ICBWNSAtPiBWNg0KPiAgMS4gQWRkcmVzc2VkIEdhdmluIFNo YW4ncyBjb21tZW50cw0KPiAgICAgLSBGaXhlZCB0aGUgYXNzZXJ0KCkgcmFuZ2VzIG9mIGFkZHJl c3Mgc3BhY2VzDQo+ICAgICAtIFJlYmFzZWQgdGhlIHBhdGNoLXNldCB0byBsYXRlc3QgY2hhbmdl cyBpbiB0aGUgcWVtdS5naXQNCj4gICAgIC0gQWRkZWQgUmV2aWV3ZWQtYnkgdGFncyBmb3IgcGF0 Y2hlcyB7OCw5fSAyLiBBZGRyZXNzZWQgSm9uYXRoYW4NCj4gIENhbWVyb24ncyBjb21tZW50cw0K PiAgICAgLSBVcGRhdGVkIGNvbW1pdC1sb2cgZm9yIFtQYXRjaCBWNSAxLzldIHdpdGggbWVudGlv biBvZiB0cmFjZSBldmVudHMNCj4gICAgIC0gQWRkZWQgUmV2aWV3ZWQtYnkgdGFncyBmb3IgcGF0 Y2hlcyB7MSw1fSAzLiBBZGRlZCBUZXN0ZWQtYnkgdGFncyBmcm9tDQo+ICBYaWFuZ2xhaSBMaSA0 LiBGaXhlZCBjaGVja3BhdGNoLnBsIGVycm9yICJRZW11IC0+IFFFTVUiIGluIFtQYXRjaCBWNSAx LzldDQo+ICBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjMxMDEx MTk0MzU1LjE1NjI4LTEtDQo+ICBzYWxpbC5tZWh0YUBodWF3ZWkuY29tLw0KPiAgDQo+ICBQYXRj aC1zZXQgIFY0IC0+IFY1DQo+ICAxLiBBZGRyZXNzZWQgR2F2aW4gU2hhbidzIGNvbW1lbnRzDQo+ ICAgICAtIEZpeGVkIHRoZSB0cmFjZSBldmVudHMgcHJpbnQgc3RyaW5nIGZvcg0KPiAga3ZtX3tj cmVhdGUsZ2V0LHBhcmssZGVzdHJveX1fdmNwdQ0KPiAgICAgLSBBZGRlZCBSZXZpZXdlZC1ieSB0 YWcgZm9yIHBhdGNoIHsxfSAyLiBBZGRlZCBTaGFvcWluIEh1YW5nJ3MNCj4gIFJldmlld2VkLWJ5 IHRhZ3MgZm9yIFBhdGNoZXMgezIsM30gMy4gQWRkZWQgVGVzdGVkLWJ5IFRhZyBmcm9tIFZpc2hu dQ0KPiAgUGFqanVyaSB0byB0aGUgcGF0Y2gtc2V0IDQuIERyb3BwZWQgdGhlIEFSTSBzcGVjaWZp YyBbUGF0Y2ggVjQgMTAvMTBdDQo+ICBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11 LWRldmVsLzIwMjMxMDA5MjAzNjAxLjE3NTg0LTEtDQo+ICBzYWxpbC5tZWh0YUBodWF3ZWkuY29t Lw0KPiAgDQo+ICBQYXRjaC1zZXQgIFYzIC0+IFY0DQo+ICAxLiBBZGRyZXNzZWQgRGF2aWQgSGls ZGVyYnJhbmQncyBjb21tZW50cw0KPiAgICAgLSBGaXhlZCB0aGUgd3JvbmcgZG9jIGNvbW1lbnQg b2Yga3ZtX3BhcmtfdmNwdSBBUEkgcHJvdG90eXBlDQo+ICAgICAtIEFkZGVkIFJldmlld2VkLWJ5 IHRhZ3MgZm9yIHBhdGNoZXMgezIsNH0NCj4gIExpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3Jn L3FlbXUtZGV2ZWwvMjAyMzEwMDkxMTI4MTIuMTA2MTItMS0NCj4gIHNhbGlsLm1laHRhQGh1YXdl aS5jb20vDQo+ICANCj4gIFBhdGNoLXNldCAgVjIgLT4gVjMNCj4gIDEuIEFkZHJlc3NlZCBKb25h dGhhbiBDYW1lcm9uJ3MgY29tbWVudHMNCj4gICAgIC0gRml4ZWQgJ3ZjcHUtaWQnIHR5cGUgd3Jv bmdseSBjaGFuZ2VkIGZyb20gJ3Vuc2lnbmVkIGxvbmcnIHRvICdpbnRlZ2VyJw0KPiAgICAgLSBS ZW1vdmVkIHVubmVjZXNzYXJ5IHVzZSBvZiB2YXJpYWJsZSAndmNwdV9pZCcgaW4ga3ZtX3Bhcmtf dmNwdQ0KPiAgICAgLSBVcGRhdGVkIFtQYXRjaCBWMiAzLzEwXSBjb21taXQtbG9nIHdpdGggZGV0 YWlscyBvZg0KPiAgQUNQSV9DUFVfU0NBTl9NRVRIT0QgbWFjcm8NCj4gICAgIC0gVXBkYXRlZCBb UGF0Y2ggVjIgNS8xMF0gY29tbWl0LWxvZyB3aXRoIGRldGFpbHMgb2YgY29uZGl0aW9uYWwgZXZl bnQNCj4gIGhhbmRsZXIgbWV0aG9kDQo+ICAgICAtIEFkZGVkIFJldmlld2VkLWJ5IHRhZ3MgZm9y IHBhdGNoZXMgezIsMyw0LDYsN30gMi4gQWRkcmVzc2VkIEdhdmluDQo+ICBTaGFuJ3MgY29tbWVu dHMNCj4gICAgIC0gUmVtb3ZlIHVubmVjZXNzYXJ5IHVzZSBvZiB2YXJpYWJsZSAndmNwdV9pZCcg aW4ga3ZtX3Bhcl92Y3B1DQo+ICAgICAtIEZpeGVkIHJldHVybiB2YWx1ZSBpbiBrdm1fZ2V0X3Zj cHUgZnJvbSAtMSB0byAtRU5PRU5UDQo+ICAgICAtIFJlc2V0IHRoZSB2YWx1ZSBvZiAnZ2RiX251 bV9nX3JlZ3MnIGluIGdkYl91bnJlZ2lzdGVyX2NvcHJvY2Vzc29yX2FsbA0KPiAgICAgLSBGaXhl ZCB0aGUga3ZtX3tjcmVhdGUscGFya31fdmNwdSBwcm90b3R5cGVzIGRvY3MNCj4gICAgIC0gQWRk ZWQgUmV2aWV3ZWQtYnkgdGFncyBmb3IgcGF0Y2hlcyB7MiwzLDQsNSw2LDcsOSwxMH0gMy4gQWRk cmVzc2VkIG9uZQ0KPiAgZWFybGllciBtaXNzZWQgY29tbWVudCBieSBBbGV4IEJlbm7DqWUgaW4g UkZDIFYxDQo+ICAgICAtIEFkZGVkIHRyYWNlcyBpbnN0ZWFkIG9mIERQUklOVEYgaW4gdGhlIG5l d2x5IGFkZGVkIGFuZCBzb21lIGV4aXN0aW5nDQo+ICBmdW5jdGlvbnMNCj4gIExpbms6IGh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyMzA5MzAwMDE5MzMuMjY2MC0xLQ0KPiAg c2FsaWwubWVodGFAaHVhd2VpLmNvbS8NCj4gIA0KPiAgUGF0Y2gtc2V0IFYxIC0+IFYyDQo+ICAx LiBBZGRyZXNzZWQgQWxleCBCZW5uw6llJ3MgY29tbWVudHMNCj4gICAgIC0gUmVmYWN0b3JlZCB0 aGUga3ZtX2NyZWF0ZV92Y3B1IGxvZ2ljIHRvIGdldCByaWQgb2YgZ290bw0KPiAgICAgLSBBZGRl ZCB0aGUgZG9jcyBmb3Iga3ZtX3tjcmVhdGUscGFya31fdmNwdSBwcm90b3R5cGVzDQo+ICAgICAt IFNwbGl0dGVkIHRoZSBnZGJzdHViIGFuZCBBZGRyZXNzU3BhY2UgZGVzdHJ1Y3Rpb24gY2hhbmdl IGludG8gc2VwYXJhdGUNCj4gIHBhdGNoZXMNCj4gICAgIC0gQWRkZWQgUmV2aWV3ZWQtYnkgdGFn cyBmb3IgcGF0Y2hlcyB7MiwxMH0NCj4gIExpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3Fl bXUtZGV2ZWwvMjAyMzA5MjkxMjQzMDQuMTM2NzItMS0NCj4gIHNhbGlsLm1laHRhQGh1YXdlaS5j b20vDQo+ICANCj4gIFJlZmVyZW5jZXM6DQo+ICANCj4gIFsxXSBodHRwczovL2xvcmUua2VybmVs Lm9yZy9xZW11LWRldmVsLzIwMjMwOTI2MTAwNDM2LjI4Mjg0LTEtDQo+ICBzYWxpbC5tZWh0YUBo dWF3ZWkuY29tLw0KPiAgWzJdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDIzMDkxMzE2 MzgyMy43ODgwLTEtDQo+ICBqYW1lcy5tb3JzZUBhcm0uY29tLw0KPiAgWzNdIGh0dHBzOi8vbG9y ZS5rZXJuZWwub3JnL3FlbXUtDQo+ICBkZXZlbC9jb3Zlci4xNjk1Njk3NzAxLmdpdC5saXhpYW5n bGFpQGxvb25nc29uLmNuLw0KPiAgWzRdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2 ZWwvMjAyNDA2MTMyMzM2MzkuMjAyODk2LTItDQo+ICBzYWxpbC5tZWh0YUBodWF3ZWkuY29tLw0K PiAgDQo+ICBTYWxpbCBNZWh0YSAoNyk6DQo+ICAgIGFjY2VsL2t2bTogRXh0cmFjdCBjb21tb24g S1ZNIHZDUFUge2NyZWF0aW9uLHBhcmtpbmd9IGNvZGUNCj4gICAgaHcvYWNwaTogTW92ZSBDUFUg Y3RybC1kZXYgTU1JTyByZWdpb24gbGVuIG1hY3JvIHRvIGNvbW1vbiBoZWFkZXINCj4gIGZpbGUN Cj4gICAgaHcvYWNwaTogVXBkYXRlIEFDUEkgR0VEIGZyYW1ld29yayB0byBzdXBwb3J0IHZDUFUg SG90cGx1Zw0KPiAgICBody9hY3BpOiBVcGRhdGUgR0VEIF9FVlQgbWV0aG9kIEFNTCB3aXRoIENQ VSBzY2FuDQo+ICAgIGh3L2FjcGk6IFVwZGF0ZSBDUFVzIEFNTCB3aXRoIGNwdS0oY3RybClkZXYg Y2hhbmdlDQo+ICAgIHBoeXNtZW06IEFkZCBoZWxwZXIgZnVuY3Rpb24gdG8gZGVzdHJveSBDUFUg QWRkcmVzc1NwYWNlDQo+ICAgIGdkYnN0dWI6IEFkZCBoZWxwZXIgZnVuY3Rpb24gdG8gdW5yZWdp c3RlciBHREIgcmVnaXN0ZXIgc3BhY2UNCj4gIA0KPiAgIGFjY2VsL2t2bS9rdm0tYWxsLmMgICAg ICAgICAgICAgICAgICAgIHwgOTUgKysrKysrKysrKysrKysrKystLS0tLS0tLS0NCj4gICBhY2Nl bC9rdm0va3ZtLWNwdXMuaCAgICAgICAgICAgICAgICAgICB8ICAxIC0NCj4gICBhY2NlbC9rdm0v dHJhY2UtZXZlbnRzICAgICAgICAgICAgICAgICB8ICA1ICstDQo+ICAgZG9jcy9zcGVjcy9hY3Bp X2h3X3JlZHVjZWRfaG90cGx1Zy5yc3QgfCAgMyArLQ0KPiAgIGdkYnN0dWIvZ2Ric3R1Yi5jICAg ICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKw0KPiAgIGh3L2FjcGkvYWNwaS1jcHUtaG90cGx1 Zy1zdHViLmMgICAgICAgIHwgIDYgKysNCj4gICBody9hY3BpL2NwdS5jICAgICAgICAgICAgICAg ICAgICAgICAgICB8IDE4ICsrKy0tDQo+ICAgaHcvYWNwaS9nZW5lcmljX2V2ZW50X2RldmljZS5j ICAgICAgICAgfCAyNyArKysrKysrKw0KPiAgIGh3L2NvcmUvY3B1LWNvbW1vbi5jICAgICAgICAg ICAgICAgICAgIHwgIDQgKy0NCj4gICBody9pMzg2L2FjcGktYnVpbGQuYyAgICAgICAgICAgICAg ICAgICB8ICAzICstDQo+ICAgaW5jbHVkZS9leGVjL2NwdS1jb21tb24uaCAgICAgICAgICAgICAg fCAgOCArKysNCj4gICBpbmNsdWRlL2V4ZWMvZ2Ric3R1Yi5oICAgICAgICAgICAgICAgICB8ICA2 ICsrDQo+ICAgaW5jbHVkZS9ody9hY3BpL2NwdS5oICAgICAgICAgICAgICAgICAgfCAgNyArLQ0K PiAgIGluY2x1ZGUvaHcvYWNwaS9nZW5lcmljX2V2ZW50X2RldmljZS5oIHwgIDUgKysNCj4gICBp bmNsdWRlL2h3L2NvcmUvY3B1LmggICAgICAgICAgICAgICAgICB8ICAxICsNCj4gICBpbmNsdWRl L3N5c2VtdS9rdm0uaCAgICAgICAgICAgICAgICAgICB8IDI1ICsrKysrKysNCj4gICBzeXN0ZW0v cGh5c21lbS5jICAgICAgICAgICAgICAgICAgICAgICB8IDI5ICsrKysrKysrDQo+ICAgMTcgZmls ZXMgY2hhbmdlZCwgMjEyIGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQ0KPiAgDQo+ICAt LQ0KPiAgMi4zNC4xDQoNCg== 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 602A3C3DA59 for ; Mon, 15 Jul 2024 11:14:40 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sTJep-0002wH-TB; Mon, 15 Jul 2024 07:14:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sTJen-0002ob-TC; Mon, 15 Jul 2024 07:14:13 -0400 Received: from frasgout.his.huawei.com ([185.176.79.56]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sTJek-0006ni-4J; Mon, 15 Jul 2024 07:14:13 -0400 Received: from mail.maildlp.com (unknown [172.18.186.231]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4WN00N5Kgzz6K6ZB; Mon, 15 Jul 2024 19:12:20 +0800 (CST) Received: from lhrpeml500005.china.huawei.com (unknown [7.191.163.240]) by mail.maildlp.com (Postfix) with ESMTPS id 4C0C6140B3C; Mon, 15 Jul 2024 19:14:02 +0800 (CST) Received: from lhrpeml500001.china.huawei.com (7.191.163.213) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Mon, 15 Jul 2024 12:14:01 +0100 Received: from lhrpeml500001.china.huawei.com ([7.191.163.213]) by lhrpeml500001.china.huawei.com ([7.191.163.213]) with mapi id 15.01.2507.039; Mon, 15 Jul 2024 12:14:01 +0100 To: "qemu-devel@nongnu.org" , "qemu-arm@nongnu.org" CC: "maz@kernel.org" , "jean-philippe@linaro.org" , Jonathan Cameron , "lpieralisi@kernel.org" , "peter.maydell@linaro.org" , "richard.henderson@linaro.org" , "imammedo@redhat.com" , "andrew.jones@linux.dev" , "david@redhat.com" , "philmd@linaro.org" , "eric.auger@redhat.com" , "oliver.upton@linux.dev" , "pbonzini@redhat.com" , "mst@redhat.com" , "will@kernel.org" , "gshan@redhat.com" , "rafael@kernel.org" , "alex.bennee@linaro.org" , "linux@armlinux.org.uk" , "darren@os.amperecomputing.com" , "ilkka@os.amperecomputing.com" , "vishnu@os.amperecomputing.com" , "karl.heubaum@oracle.com" , "miguel.luis@oracle.com" , "salil.mehta@opnsrc.net" , zhukeqian , "wangxiongfeng (C)" , "wangyanan (Y)" , "jiakernel2@gmail.com" , "maobibo@loongson.cn" , "lixianglai@loongson.cn" , "npiggin@gmail.com" , "harshpb@linux.ibm.com" , Linuxarm Subject: RE: [PATCH V15 0/7] Add architecture agnostic code to support vCPU Hotplug Thread-Topic: [PATCH V15 0/7] Add architecture agnostic code to support vCPU Hotplug Thread-Index: AQHa1VIYzbBqk8ub30G0ZXbYzNwFGLH3pAqQ Date: Mon, 15 Jul 2024 11:14:01 +0000 Message-ID: <9c128baf202b4dfaabb3a283db93f15d@huawei.com> References: <20240713182516.1457-1-salil.mehta@huawei.com> In-Reply-To: <20240713182516.1457-1-salil.mehta@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.126.170.92] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Received-SPF: pass client-ip=185.176.79.56; envelope-from=salil.mehta@huawei.com; helo=frasgout.his.huawei.com X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Salil Mehta From: Salil Mehta via Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org SGkgIElnb3IsDQoNCldlIGFyZSBhcHByb2FjaGluZyBlbmQgb2YgdGhpcyBRZW11IGN5Y2xlLCBJ IGJlbGlldmUgdGhhdOKAmXMgb24gMTd0aCBKdWx5LiBJZiB5b3UgYXJlDQpzYXRpc2ZpZWQgd2l0 aCB0aGUgY2hhbmdlcy4gTWF5IEkgcmVxdWVzdCB5b3VyIFJldmlld2VkL0Fja2VkLUJ5cyBmb3Ig dGhpcyBzZXJpZXM/DQoNClRoaXMgc2VyaWVzIGlzIHZvdWNoZWQgYnkgbWFueSBjb21wYW5pZXMu IEl0IHdpbGwgYmUgZ29vZCBpdCAgdG8gbWVyZ2UgaXQgaW4gdGhpcyBjeWNsZS4NCg0KQmVzdCBy ZWdhcmRzDQpTYWxpbC4NCg0KPiAgRnJvbTogU2FsaWwgTWVodGEgPHNhbGlsLm1laHRhQGh1YXdl aS5jb20+DQo+ICBTZW50OiBTYXR1cmRheSwgSnVseSAxMywgMjAyNCA3OjI1IFBNDQo+ICBUbzog cWVtdS1kZXZlbEBub25nbnUub3JnOyBxZW11LWFybUBub25nbnUub3JnDQo+ICANCj4gIFtOb3Rl OiBSZWZlcmVuY2VzIGFyZSBwcmVzZW50IGF0IHRoZSBsYXN0IGFmdGVyIHRoZSByZXZpc2lvbiBo aXN0b3J5XQ0KPiAgDQo+ICBWaXJ0dWFsIENQVSBob3RwbHVnIHN1cHBvcnQgaXMgYmVpbmcgYWRk ZWQgYWNyb3NzIHZhcmlvdXMgYXJjaGl0ZWN0dXJlcw0KPiAgWzFdWzNdLg0KPiAgVGhpcyBzZXJp ZXMgYWRkcyB2YXJpb3VzIGNvZGUgYml0cyBjb21tb24gYWNyb3NzIGFsbCBhcmNoaXRlY3R1cmVz Og0KPiAgDQo+ICAxLiB2Q1BVIGNyZWF0aW9uIGFuZCBQYXJraW5nIGNvZGUgcmVmYWN0b3IgW1Bh dGNoIDFdIDIuIFVwZGF0ZSBBQ1BJIEdFRA0KPiAgZnJhbWV3b3JrIHRvIHN1cHBvcnQgdkNQVSBI b3RwbHVnIFtQYXRjaCAyLDNdIDMuIEFDUEkgQ1BVcyBBTUwgY29kZQ0KPiAgY2hhbmdlIFtQYXRj aCA0LDVdIDQuIEhlbHBlciBmdW5jdGlvbnMgdG8gc3VwcG9ydCB1bnJlYWxpemF0aW9uIG9mIENQ VQ0KPiAgb2JqZWN0cyBbUGF0Y2ggNiw3XQ0KPiAgDQo+ICBSZXBvc2l0b3J5Og0KPiAgDQo+ICBb Kl0gQXJjaGl0ZWN0dXJlICpBZ25vc3RpYyogUGF0Y2gtc2V0IChUaGlzIHNlcmllcykNCj4gICAg IFYxNDogaHR0cHM6Ly9naXRodWIuY29tL3NhbGlsLW1laHRhL3FlbXUuZ2l0IHZpcnQtY3B1aHAt YXJtdjgvcmZjLQ0KPiAgdjMuYXJjaC5hZ25vc3RpYy52MTUNCj4gIA0KPiAgICAgTk9URTogVGhp cyBzZXJpZXMgaXMgbWVhbnQgdG8gd29yayBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBhcmNoaXRl Y3R1cmUtDQo+ICBzcGVjaWZpYw0KPiAgICAgcGF0Y2gtc2V0LiBGb3IgQVJNLCBhIGNvbWJpbmVk IHBhdGNoLXNldCAoYXJjaGl0ZWN0dXJlIGFnbm9zdGljICsNCj4gIHNwZWNpZmljKSB3YXMNCj4g ICAgIGVhcmxpZXIgcHVzaGVkIGFzIFJGQyBWMiBbMV0uIExhdGVyLCBSRkMgVjIgd2FzIHNwbGl0 IGludG8gdGhlIEFSTQ0KPiAgQXJjaGl0ZWN0dXJlDQo+ICAgICBzcGVjaWZpYyBwYXRjaC1zZXQg UkZDIFYzIFs0XSAoYSBzdWJzZXQgb2YgUkZDIFYyKSBhbmQgdGhlIGFyY2hpdGVjdHVyZQ0KPiAg YWdub3N0aWMNCj4gICAgIHBhdGNoLXNldC4gUGF0Y2gtc2V0IFYxNCBpcyB0aGUgbGF0ZXN0IHZl cnNpb24gaW4gdGhhdCBzZXJpZXMuIFRoaXMgc2VyaWVzDQo+ICAgICB3b3JrcyBpbiBjb25qdW5j dGlvbiB3aXRoIFJGQyBWNC1yYzIsIHByZXNlbnQgYXQgdGhlIGZvbGxvd2luZyBsaW5rLg0KPiAg DQo+ICBbKl0gQVJNIEFyY2hpdGVjdHVyZSAqU3BlY2lmaWMqIFBhdGNoLXNldA0KPiAgICAgUkZD IFYzIFs0XTogaHR0cHM6Ly9naXRodWIuY29tL3NhbGlsLW1laHRhL3FlbXUuZ2l0IHZpcnQtY3B1 aHAtDQo+ICBhcm12OC9yZmMtdjMNCj4gICAgIFJGQyBWNC1yYzI6IGh0dHBzOi8vZ2l0aHViLmNv bS9zYWxpbC1tZWh0YS9xZW11LmdpdCB2aXJ0LWNwdWhwLQ0KPiAgYXJtdjgvcmZjLXY0LXJjMiAo Y29tYmluZWQpDQo+ICANCj4gIA0KPiAgUmV2aXNpb24gSGlzdG9yeToNCj4gIA0KPiAgUGF0Y2gt c2V0IFYxNCAtPiBWMTUNCj4gIDEuIEFkZHJlc3NlZCBjb21tbmV0IGZyb20gSWdvciBNYW1tZWRv didzIG9uIFtQQVRDSCBWMTQgNC83XQ0KPiAgICAgLSBSZW1vdmVkIEFDUElfQ1BVX1NDQU5fTUVU SE9EDQo+ICAgICAtIEludHJvZHVjZWQgQU1MX0dFRF9FVlRfQ1BVX1NDQU5fTUVUSE9EICgiXFxf U0IuR0VELkNQU0NOIikNCj4gIG1hY3JvIDIuIEZpeCB0aGUgc3RyYXkgY2hhbmdlIG9mICJhc3Nl cnQgKCIgaW4gIlBBVENIIFYxNCAzLzciDQo+ICBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9xZW11LWRldmVsLzIwMjQwNzEyMTM0MjAxLjIxNDY5OS00LQ0KPiAgc2FsaWwubWVodGFAaHVh d2VpLmNvbS8NCj4gIA0KPiAgUGF0Y2gtc2V0IFYxMyAtPiBWMTQNCj4gIDEuIEFkZHJlc3NlZCBJ Z29yIE1hbW1lZG92J3MgZm9sbG93aW5nIHJldmlldyBjb21tZW50cw0KPiAgICAgLSBNZW50aW9u ZWQgYWJwdXQgbmV3IGV4dGVybmFsIEFQSXMgaW4gdGhlIGhlYWRlciBub3RlIG9mIFtQQVRDSCAx LzddDQo+ICAgICAtIE1lcmdlZCBEb2MgW1BBVENIIFYxMyA4LzhdIHdpdGggW1BBVENIIFYxNCAz LzddDQo+ICAgICAtIEludHJvZHVjZWQgR0VEIHJlYWxpemUgZnVuY3Rpb24gZm9yIHZhcmlvdXMg Q1BVIEhvdHBsdWcgcmVnaW9ucw0KPiAgaW5pdGlhbGl6YXRpb25zDQo+ICAgICAtIEFkZGVkIGJh Y2sgZXZlbnQgaGFuZGxlciBtZXRob2QgdG8gaW5kaXJlY3RseSBleHBvc2UNCj4gIFxcX1NCLkNQ VVMuQ1NDTiB0byBHRUQNCj4gICAgICAgX0VWVC4gTGlrZSBmb3IgQVJNLCBpdCB3b3VsZCBiZSB0 aHJvdWdoIFxcX1NCLkdFRC5DU0NOIGV2ZW50IGhhbmRsZXINCj4gIG1ldGhvZA0KPiAgICAgLSBD b2xsZWN0ZWQgdGhlIEFjayBnaXZlbiBmb3IgW1BhdGNoIFYxMyA2LzhdDQo+ICAgICAtIEFkZGVk IGJhY2sgdGhlIGdmcmVlJ2luZyBvZiBHREIgcmVncyBpbiBjb21tb24gZmluYWxpemUgYW5kIG1h ZGUgaXQNCj4gIGNvbmRpdGlvbmFsDQo+ICAgICAtIFVwZGF0ZWQgdGhlIGhlYWRlciBub3RlcyBv ZiBbUEFUQ0ggVjEzIDMvOCw0LzgsNS84XSB0byByZWZsZWN0IHRoZQ0KPiAgY2hhbmdlcw0KPiAg DQo+ICBQYXRjaC1zZXQgIFYxMiAtPiBWMTMNCj4gIDEuIEFkZGVkIFJldmlld2VkLWJ5IFRhZyBv ZiBIYXJzaCBQcmF0ZWVrIEJvcmEncyAoSUJNKSBbUEFUQ0ggVjEyIDEvOF0gMi4NCj4gIE1vdmVk IHRoZSBrdm1fe2NyZWF0ZSxwYXJrLHVucGFya31fdmNwdSBwcm90b3R5cGVzIGZyb20NCj4gIGFj Y2VsL2t2bS9rdm0tY3B1cy5oDQo+ICAgICB0byBpbmNsdWRlL3N5c2VtdS9rdm0uaC4gVGhlc2Ug Y2FuIGxhdGVyIGJlIGV4cG9ydGVkIHRocm91Z2ggQWNjZWxPcHMuDQo+ICBMaW5rOiBodHRwczov L2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzYyZjU1MTY5LTE3OTYtNGQ4ZS1hMzVkLQ0KPiAg N2YwMDNhMTcyNzUwQGxpbnV4LmlibS5jb20vDQo+ICANCj4gIFBhdGNoLXNldCAgVjExIC0+IFYx Mg0KPiAgMS4gQWRkcmVzc2VkIEhhcnNoIFByYXRlZWsgQm9yYSdzIChJQk0pIGNvbW1lbnQNCj4g ICAgIC0gQ2hhbmdlZCBAY3B1IHRvIEB2Y3B1X2lkIGluIHRoZSBrdm1fdW5wYXJrX3ZjcHUgcHJv dG95cGUgaGVhZGVyLw0KPiAgMi4gQWRkZWQgWmhhbyBMaXUncyAoSW50ZWwpIFRlc3RlZC1ieSBm b3Igd2hvbGUgc2VyaWVzDQo+ICAgICAtIFF0ZXN0IGRvZXMgbm90IGJyZWFrcyBvbiBJbnRlbCBw bGF0Zm9ybXMgbm93Lg0KPiAgMy4gQWRkZWQgWmhhbyBMaXUncyAoSW50ZWwpIFJldmlld2VkLWJ5 IGZvciBbUEFUQ0ggVjExIHsxLzggLSAzLzh9XQ0KPiAgTGluazogaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvcWVtdS1kZXZlbC9abFJTUHVKR0JneUVVVzZ3QGludGVsLmNvbS8NCj4gIExpbms6IGh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvYTVmM2Q3OGUtY2ZlZC00NDFmLTljNTYt DQo+ICBlM2U3OGZhNWVkZWVAbGludXguaWJtLmNvbS8NCj4gIA0KPiAgUGF0Y2gtc2V0ICBWMTAg LT4gVjExDQo+ICAxLiBBZGRyZXNzZWQgTmljaG9sYXMgUGlnZ2luJ3MgKElCTSkgY29tbWVudA0K PiAgICAgLSBtb3ZlZCB0aGUgdHJhY2VzIGluIGt2bV91bnBhcmtfdmNwdSBhbmQga3ZtX2NyZWF0 ZV92Y3B1IGF0IHRoZSBlbmQNCj4gICAgIC0gQWRkZWQgdGhlIFJldmlld2VkLWJ5IFRhZyBmb3Ig W1BBVENIIFYxMCAxLzhdIDIuICBBZGRyZXNzZWQgQWxleA0KPiAgQmVubsOpZSdzIChMaW5hcm8p IGNvbW1lbnRzDQo+ICAgICAtIEFkZGVkIGEgbm90ZSBleHBsYWluaW5nIGRlcGVuZGVuY3kgb2Yg dGhlIFtQQVRDSCBWMTAgNy84XSBvbiBBcmNoDQo+ICBzcGVjaWZpYyBwYXRjaC1zZXQNCj4gIExp bms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtDQo+ICBkZXZlbC9EMUZTNUdPT0ZXV0su MlBOUklWTDBWNkRCTEBnbWFpbC5jb20vDQo+ICBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9xZW11LWRldmVsLzg3ZnJ1Ymk0MDIuZnNmQGRyYWlnLmxpbmFyby5vcmcvDQo+ICANCj4gIFBh dGNoLXNldCAgVjkgLT4gVjEwDQo+ICAxLiBBZGRyZXNzZWQgTmljaG9sYXMgUGlnZ2luJ3MgKElC TSkgJiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSAoTGluYXJvKQ0KPiAgY29tbWVudHMNCj4gICAg IC0gY2FydmVkIG91dCBrdm1fdW5wYXJrX3ZjcHUgYW5kIGFkZGVkIGl0cyB0cmFjZQ0KPiAgICAg LSBXaWRlbmVkIHRoZSBzY29wZSBvZiB0aGUga3ZtX3VucGFya192Y3B1IHNvIHRoYXQgaXQgY2Fu IGJlIHVzZWQgYnkNCj4gIGdlbmVyaWMgZnJhbWV3b3JrDQo+ICAgICAgIGJlaW5nIHRob3VnaHQg b3V0DQo+ICBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjQwNTE5 MjEwNjIwLjIyODM0Mi0xLQ0KPiAgc2FsaWwubWVodGFAaHVhd2VpLmNvbS8NCj4gIExpbms6IGh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvZTk0YjBlMTQtZWZlZS00MDUwLTljOWYt DQo+ICAwODM4MmEzNmI2M2FAbGluYXJvLm9yZy8NCj4gIA0KPiAgUGF0Y2gtc2V0ICBWOCAtPiBW OQ0KPiAgMS4gQWRkcmVzc2VkIFZpc2hudSBQYWpqdXJpJ3MgKEFtcGVyZSkgY29tbWVudHMNCj4g ICAgIC0gQWRkZWQga3ZtX2ZkIHRvIHRyYWNlIGluIGt2bV9jcmVhdGVfdmNwdQ0KPiAgICAgLSBT b21lIGNsZWFuIHVwczogYXJjaCB2Y3B1LWlkIGFuZCBzYmQgdmFyaWFibGUNCj4gICAgIC0gQWRk ZWQgdGhlIG1pc3NlZCBpbml0aWFsaXphdGlvbiBvZiBjcHUtPmdkYl9udW1fcmVncyAyLiBBZGRy ZXNzZWQgdGhlDQo+ICBjb21tbmV0IGZyb20gWmhhbyBMaXUgKEludGVsKQ0KPiAgICAgLSBNYWtl IGluaXRpYWxpemF0aW9uIG9mIENQVSBIb3RwbHVnIHN0YXRlIGNvbmRpdGlvbmFsDQo+ICAocG9z c2libGVfY3B1X2FyY2hfaWRzIT1OVUxMKQ0KPiAgTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvcWVtdS1kZXZlbC8yMDI0MDMxMjAyMDAwMC4xMjk5Mi0xLQ0KPiAgc2FsaWwubWVodGFAaHVh d2VpLmNvbS8NCj4gIA0KPiAgUGF0Y2gtc2V0IFY3IC0+IFY4DQo+ICAxLiBSZWJhc2VkIGFuZCBG aXhlZCB0aGUgY29uZmxpY3RzDQo+ICANCj4gIFBhdGNoLXNldCAgVjYgLT4gVjcNCj4gIDEuIEFk ZHJlc3NlZCBBbGV4IEJlbm7DqWUncyBjb21tZW50cw0KPiAgICAgLSBVcGRhdGVkIHRoZSBkb2Nz DQo+ICAyLiBBZGRyZXNzZWQgSWdvciBNYW1tZWRvdidzIGNvbW1lbnRzDQo+ICAgICAtIE1lcmdl ZCBwYXRjaGVzIFtQYXRjaCBWNiAzLzldICYgW1BhdGNoIFY2IDcvOV0gd2l0aCBbUGF0Y2ggVjYg NC85XQ0KPiAgICAgLSBVcGRhdGVkIGNvbW1pdC1sb2cgb2YgW1BhdGNoIFY2IDEvOV0gYW5kIFtQ YXRjaCBWNiA1LzldDQo+ICAzLiBBZGRlZCBTaGFvcWluIEh1YW5nJ3MgUmV2aWV3ZWQtYnkgdGFn cyBmb3Igd2hvbGUgc2VyaWVzLg0KPiAgTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVt dS1kZXZlbC8yMDIzMTAxMzEwNTEyOS4yNTY0OC0xLQ0KPiAgc2FsaWwubWVodGFAaHVhd2VpLmNv bS8NCj4gIA0KPiAgUGF0Y2gtc2V0ICBWNSAtPiBWNg0KPiAgMS4gQWRkcmVzc2VkIEdhdmluIFNo YW4ncyBjb21tZW50cw0KPiAgICAgLSBGaXhlZCB0aGUgYXNzZXJ0KCkgcmFuZ2VzIG9mIGFkZHJl c3Mgc3BhY2VzDQo+ICAgICAtIFJlYmFzZWQgdGhlIHBhdGNoLXNldCB0byBsYXRlc3QgY2hhbmdl cyBpbiB0aGUgcWVtdS5naXQNCj4gICAgIC0gQWRkZWQgUmV2aWV3ZWQtYnkgdGFncyBmb3IgcGF0 Y2hlcyB7OCw5fSAyLiBBZGRyZXNzZWQgSm9uYXRoYW4NCj4gIENhbWVyb24ncyBjb21tZW50cw0K PiAgICAgLSBVcGRhdGVkIGNvbW1pdC1sb2cgZm9yIFtQYXRjaCBWNSAxLzldIHdpdGggbWVudGlv biBvZiB0cmFjZSBldmVudHMNCj4gICAgIC0gQWRkZWQgUmV2aWV3ZWQtYnkgdGFncyBmb3IgcGF0 Y2hlcyB7MSw1fSAzLiBBZGRlZCBUZXN0ZWQtYnkgdGFncyBmcm9tDQo+ICBYaWFuZ2xhaSBMaSA0 LiBGaXhlZCBjaGVja3BhdGNoLnBsIGVycm9yICJRZW11IC0+IFFFTVUiIGluIFtQYXRjaCBWNSAx LzldDQo+ICBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjMxMDEx MTk0MzU1LjE1NjI4LTEtDQo+ICBzYWxpbC5tZWh0YUBodWF3ZWkuY29tLw0KPiAgDQo+ICBQYXRj aC1zZXQgIFY0IC0+IFY1DQo+ICAxLiBBZGRyZXNzZWQgR2F2aW4gU2hhbidzIGNvbW1lbnRzDQo+ ICAgICAtIEZpeGVkIHRoZSB0cmFjZSBldmVudHMgcHJpbnQgc3RyaW5nIGZvcg0KPiAga3ZtX3tj cmVhdGUsZ2V0LHBhcmssZGVzdHJveX1fdmNwdQ0KPiAgICAgLSBBZGRlZCBSZXZpZXdlZC1ieSB0 YWcgZm9yIHBhdGNoIHsxfSAyLiBBZGRlZCBTaGFvcWluIEh1YW5nJ3MNCj4gIFJldmlld2VkLWJ5 IHRhZ3MgZm9yIFBhdGNoZXMgezIsM30gMy4gQWRkZWQgVGVzdGVkLWJ5IFRhZyBmcm9tIFZpc2hu dQ0KPiAgUGFqanVyaSB0byB0aGUgcGF0Y2gtc2V0IDQuIERyb3BwZWQgdGhlIEFSTSBzcGVjaWZp YyBbUGF0Y2ggVjQgMTAvMTBdDQo+ICBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11 LWRldmVsLzIwMjMxMDA5MjAzNjAxLjE3NTg0LTEtDQo+ICBzYWxpbC5tZWh0YUBodWF3ZWkuY29t Lw0KPiAgDQo+ICBQYXRjaC1zZXQgIFYzIC0+IFY0DQo+ICAxLiBBZGRyZXNzZWQgRGF2aWQgSGls ZGVyYnJhbmQncyBjb21tZW50cw0KPiAgICAgLSBGaXhlZCB0aGUgd3JvbmcgZG9jIGNvbW1lbnQg b2Yga3ZtX3BhcmtfdmNwdSBBUEkgcHJvdG90eXBlDQo+ICAgICAtIEFkZGVkIFJldmlld2VkLWJ5 IHRhZ3MgZm9yIHBhdGNoZXMgezIsNH0NCj4gIExpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3Jn L3FlbXUtZGV2ZWwvMjAyMzEwMDkxMTI4MTIuMTA2MTItMS0NCj4gIHNhbGlsLm1laHRhQGh1YXdl aS5jb20vDQo+ICANCj4gIFBhdGNoLXNldCAgVjIgLT4gVjMNCj4gIDEuIEFkZHJlc3NlZCBKb25h dGhhbiBDYW1lcm9uJ3MgY29tbWVudHMNCj4gICAgIC0gRml4ZWQgJ3ZjcHUtaWQnIHR5cGUgd3Jv bmdseSBjaGFuZ2VkIGZyb20gJ3Vuc2lnbmVkIGxvbmcnIHRvICdpbnRlZ2VyJw0KPiAgICAgLSBS ZW1vdmVkIHVubmVjZXNzYXJ5IHVzZSBvZiB2YXJpYWJsZSAndmNwdV9pZCcgaW4ga3ZtX3Bhcmtf dmNwdQ0KPiAgICAgLSBVcGRhdGVkIFtQYXRjaCBWMiAzLzEwXSBjb21taXQtbG9nIHdpdGggZGV0 YWlscyBvZg0KPiAgQUNQSV9DUFVfU0NBTl9NRVRIT0QgbWFjcm8NCj4gICAgIC0gVXBkYXRlZCBb UGF0Y2ggVjIgNS8xMF0gY29tbWl0LWxvZyB3aXRoIGRldGFpbHMgb2YgY29uZGl0aW9uYWwgZXZl bnQNCj4gIGhhbmRsZXIgbWV0aG9kDQo+ICAgICAtIEFkZGVkIFJldmlld2VkLWJ5IHRhZ3MgZm9y IHBhdGNoZXMgezIsMyw0LDYsN30gMi4gQWRkcmVzc2VkIEdhdmluDQo+ICBTaGFuJ3MgY29tbWVu dHMNCj4gICAgIC0gUmVtb3ZlIHVubmVjZXNzYXJ5IHVzZSBvZiB2YXJpYWJsZSAndmNwdV9pZCcg aW4ga3ZtX3Bhcl92Y3B1DQo+ICAgICAtIEZpeGVkIHJldHVybiB2YWx1ZSBpbiBrdm1fZ2V0X3Zj cHUgZnJvbSAtMSB0byAtRU5PRU5UDQo+ICAgICAtIFJlc2V0IHRoZSB2YWx1ZSBvZiAnZ2RiX251 bV9nX3JlZ3MnIGluIGdkYl91bnJlZ2lzdGVyX2NvcHJvY2Vzc29yX2FsbA0KPiAgICAgLSBGaXhl ZCB0aGUga3ZtX3tjcmVhdGUscGFya31fdmNwdSBwcm90b3R5cGVzIGRvY3MNCj4gICAgIC0gQWRk ZWQgUmV2aWV3ZWQtYnkgdGFncyBmb3IgcGF0Y2hlcyB7MiwzLDQsNSw2LDcsOSwxMH0gMy4gQWRk cmVzc2VkIG9uZQ0KPiAgZWFybGllciBtaXNzZWQgY29tbWVudCBieSBBbGV4IEJlbm7DqWUgaW4g UkZDIFYxDQo+ICAgICAtIEFkZGVkIHRyYWNlcyBpbnN0ZWFkIG9mIERQUklOVEYgaW4gdGhlIG5l d2x5IGFkZGVkIGFuZCBzb21lIGV4aXN0aW5nDQo+ICBmdW5jdGlvbnMNCj4gIExpbms6IGh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyMzA5MzAwMDE5MzMuMjY2MC0xLQ0KPiAg c2FsaWwubWVodGFAaHVhd2VpLmNvbS8NCj4gIA0KPiAgUGF0Y2gtc2V0IFYxIC0+IFYyDQo+ICAx LiBBZGRyZXNzZWQgQWxleCBCZW5uw6llJ3MgY29tbWVudHMNCj4gICAgIC0gUmVmYWN0b3JlZCB0 aGUga3ZtX2NyZWF0ZV92Y3B1IGxvZ2ljIHRvIGdldCByaWQgb2YgZ290bw0KPiAgICAgLSBBZGRl ZCB0aGUgZG9jcyBmb3Iga3ZtX3tjcmVhdGUscGFya31fdmNwdSBwcm90b3R5cGVzDQo+ICAgICAt IFNwbGl0dGVkIHRoZSBnZGJzdHViIGFuZCBBZGRyZXNzU3BhY2UgZGVzdHJ1Y3Rpb24gY2hhbmdl IGludG8gc2VwYXJhdGUNCj4gIHBhdGNoZXMNCj4gICAgIC0gQWRkZWQgUmV2aWV3ZWQtYnkgdGFn cyBmb3IgcGF0Y2hlcyB7MiwxMH0NCj4gIExpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3Fl bXUtZGV2ZWwvMjAyMzA5MjkxMjQzMDQuMTM2NzItMS0NCj4gIHNhbGlsLm1laHRhQGh1YXdlaS5j b20vDQo+ICANCj4gIFJlZmVyZW5jZXM6DQo+ICANCj4gIFsxXSBodHRwczovL2xvcmUua2VybmVs Lm9yZy9xZW11LWRldmVsLzIwMjMwOTI2MTAwNDM2LjI4Mjg0LTEtDQo+ICBzYWxpbC5tZWh0YUBo dWF3ZWkuY29tLw0KPiAgWzJdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDIzMDkxMzE2 MzgyMy43ODgwLTEtDQo+ICBqYW1lcy5tb3JzZUBhcm0uY29tLw0KPiAgWzNdIGh0dHBzOi8vbG9y ZS5rZXJuZWwub3JnL3FlbXUtDQo+ICBkZXZlbC9jb3Zlci4xNjk1Njk3NzAxLmdpdC5saXhpYW5n bGFpQGxvb25nc29uLmNuLw0KPiAgWzRdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2 ZWwvMjAyNDA2MTMyMzM2MzkuMjAyODk2LTItDQo+ICBzYWxpbC5tZWh0YUBodWF3ZWkuY29tLw0K PiAgDQo+ICBTYWxpbCBNZWh0YSAoNyk6DQo+ICAgIGFjY2VsL2t2bTogRXh0cmFjdCBjb21tb24g S1ZNIHZDUFUge2NyZWF0aW9uLHBhcmtpbmd9IGNvZGUNCj4gICAgaHcvYWNwaTogTW92ZSBDUFUg Y3RybC1kZXYgTU1JTyByZWdpb24gbGVuIG1hY3JvIHRvIGNvbW1vbiBoZWFkZXINCj4gIGZpbGUN Cj4gICAgaHcvYWNwaTogVXBkYXRlIEFDUEkgR0VEIGZyYW1ld29yayB0byBzdXBwb3J0IHZDUFUg SG90cGx1Zw0KPiAgICBody9hY3BpOiBVcGRhdGUgR0VEIF9FVlQgbWV0aG9kIEFNTCB3aXRoIENQ VSBzY2FuDQo+ICAgIGh3L2FjcGk6IFVwZGF0ZSBDUFVzIEFNTCB3aXRoIGNwdS0oY3RybClkZXYg Y2hhbmdlDQo+ICAgIHBoeXNtZW06IEFkZCBoZWxwZXIgZnVuY3Rpb24gdG8gZGVzdHJveSBDUFUg QWRkcmVzc1NwYWNlDQo+ICAgIGdkYnN0dWI6IEFkZCBoZWxwZXIgZnVuY3Rpb24gdG8gdW5yZWdp c3RlciBHREIgcmVnaXN0ZXIgc3BhY2UNCj4gIA0KPiAgIGFjY2VsL2t2bS9rdm0tYWxsLmMgICAg ICAgICAgICAgICAgICAgIHwgOTUgKysrKysrKysrKysrKysrKystLS0tLS0tLS0NCj4gICBhY2Nl bC9rdm0va3ZtLWNwdXMuaCAgICAgICAgICAgICAgICAgICB8ICAxIC0NCj4gICBhY2NlbC9rdm0v dHJhY2UtZXZlbnRzICAgICAgICAgICAgICAgICB8ICA1ICstDQo+ICAgZG9jcy9zcGVjcy9hY3Bp X2h3X3JlZHVjZWRfaG90cGx1Zy5yc3QgfCAgMyArLQ0KPiAgIGdkYnN0dWIvZ2Ric3R1Yi5jICAg ICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKw0KPiAgIGh3L2FjcGkvYWNwaS1jcHUtaG90cGx1 Zy1zdHViLmMgICAgICAgIHwgIDYgKysNCj4gICBody9hY3BpL2NwdS5jICAgICAgICAgICAgICAg ICAgICAgICAgICB8IDE4ICsrKy0tDQo+ICAgaHcvYWNwaS9nZW5lcmljX2V2ZW50X2RldmljZS5j ICAgICAgICAgfCAyNyArKysrKysrKw0KPiAgIGh3L2NvcmUvY3B1LWNvbW1vbi5jICAgICAgICAg ICAgICAgICAgIHwgIDQgKy0NCj4gICBody9pMzg2L2FjcGktYnVpbGQuYyAgICAgICAgICAgICAg ICAgICB8ICAzICstDQo+ICAgaW5jbHVkZS9leGVjL2NwdS1jb21tb24uaCAgICAgICAgICAgICAg fCAgOCArKysNCj4gICBpbmNsdWRlL2V4ZWMvZ2Ric3R1Yi5oICAgICAgICAgICAgICAgICB8ICA2 ICsrDQo+ICAgaW5jbHVkZS9ody9hY3BpL2NwdS5oICAgICAgICAgICAgICAgICAgfCAgNyArLQ0K PiAgIGluY2x1ZGUvaHcvYWNwaS9nZW5lcmljX2V2ZW50X2RldmljZS5oIHwgIDUgKysNCj4gICBp bmNsdWRlL2h3L2NvcmUvY3B1LmggICAgICAgICAgICAgICAgICB8ICAxICsNCj4gICBpbmNsdWRl L3N5c2VtdS9rdm0uaCAgICAgICAgICAgICAgICAgICB8IDI1ICsrKysrKysNCj4gICBzeXN0ZW0v cGh5c21lbS5jICAgICAgICAgICAgICAgICAgICAgICB8IDI5ICsrKysrKysrDQo+ICAgMTcgZmls ZXMgY2hhbmdlZCwgMjEyIGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQ0KPiAgDQo+ICAt LQ0KPiAgMi4zNC4xDQoNCg==