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=-6.3 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS 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 0C792C2D0CE for ; Tue, 21 Jan 2020 20:18:23 +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 BC06820882 for ; Tue, 21 Jan 2020 20:18:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HC8pB2Zl" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BC06820882 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.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 1itzyE-0001LM-J2; Tue, 21 Jan 2020 20:17:54 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1itzyD-0001LH-6a for xen-devel@lists.xenproject.org; Tue, 21 Jan 2020 20:17:53 +0000 X-Inumbo-ID: 1986226c-3c8b-11ea-b833-bc764e2007e4 Received: from mail-lf1-x142.google.com (unknown [2a00:1450:4864:20::142]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 1986226c-3c8b-11ea-b833-bc764e2007e4; Tue, 21 Jan 2020 20:17:52 +0000 (UTC) Received: by mail-lf1-x142.google.com with SMTP id m30so3393834lfp.8 for ; Tue, 21 Jan 2020 12:17:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=iv2yH0F/E1s6O8Og5V4GSgjUvZ9xT5eM7n5eQ8yISZU=; b=HC8pB2ZlGELZNDtTUrhQGBQh9RZankScpqJThH7z6+r8RUHM3494M3YzpX5AyYGlK9 ok833UZSpVdooqde2XwIIt/BEtg663Tu6Oey+x2jVJgPCf18GrQMbCQrn8isV/AjQxC/ aTFn06W39g1M03nd0uvTOoi6PVaxssedXtp3QGfZItPj5xJRdOOQO8ooRRLiHRubA80K vFnP4rc/rcvvj/fgAcmoXsVKGSRkz5hRkvRaYVvmzJhlHCTIEl7fTs70Ws0MFbZDfR/E NK+1CHswOtbB8ydm83vAcIU5KZZGqS1kx+d23HFrcxJSngH1EtCCAGNHwDKztBhDpSGv MbOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=iv2yH0F/E1s6O8Og5V4GSgjUvZ9xT5eM7n5eQ8yISZU=; b=kKjxa++vyWkoz/jQMLFaikbGcDQZqrRD6Y6ZxKBB1yOKf7TrAnFTYTRIh+ymTzxJmg YWCaolrYT4IwcWxsVrHpTYW1ElAx4WKiDioM9wJrm6kVrIvY7cofzAzHjmzjjHxjaYtW G47PWb2L7CtO5uSWy8JXwtznNJx0/KDeAA8bL+VqeTuRsVilwRjMF8iqVzVyHj24nbxl nH135DkWSLhtTooQ4VwLtX/n+c2cncWrKjxlEFs4RATYlOCbMBSl7IghbIGeoJxmJAfu H5NsM+2Y6PkA7Ggq4HS+/WhdEytAesSTXNyErTptSB0mA1YSqBLlfr2QyLGusPOO5kBd uPdQ== X-Gm-Message-State: APjAAAVyl+pkwb0NMsRXWNb+ykAzagpbiD7kQ+KDMJtkLhWLmsCcKBXr fqExPoLi/slAaKfvBwN6VbDLt8u6CvuwezGfGRo= X-Google-Smtp-Source: APXvYqzsUctKLxQeRUMZO3VEku4T6biQhuJ824Ea4lKr6vvPS9DuFtQghYzWkeZxzfFjg1Ug3UgjwTIVmLdEMMWO0F0= X-Received: by 2002:a19:3f51:: with SMTP id m78mr3638551lfa.70.1579637870966; Tue, 21 Jan 2020 12:17:50 -0800 (PST) MIME-Version: 1.0 References: <8d8515cabfdc666bd1afb40f6b7e44ccbe362dbf.1579055705.git-series.marmarek@invisiblethingslab.com> In-Reply-To: <8d8515cabfdc666bd1afb40f6b7e44ccbe362dbf.1579055705.git-series.marmarek@invisiblethingslab.com> From: Jason Andryuk Date: Tue, 21 Jan 2020 15:17:39 -0500 Message-ID: To: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= Subject: Re: [Xen-devel] [PATCH v4 12/16] libxl: use vchan for QMP access with Linux stubdomain 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: Anthony PERARD , xen-devel , Ian Jackson , Wei Liu Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gVHVlLCBKYW4gMTQsIDIwMjAgYXQgOTo0MiBQTSBNYXJlayBNYXJjenlrb3dza2ktR8OzcmVj a2kKPG1hcm1hcmVrQGludmlzaWJsZXRoaW5nc2xhYi5jb20+IHdyb3RlOgo+Cj4gQWNjZXNzIHRv IFFNUCBvZiBRRU1VIGluIExpbnV4IHN0dWJkb21haW4gaXMgcG9zc2libGUgb3ZlciB2Y2hhbgo+ IGNvbm5lY3Rpb24uIEhhbmRsZSB0aGUgYWN0dWFsIHZjaGFuIGNvbm5lY3Rpb24gaW4gYSBzZXBh cmF0ZSBwcm9jZXNzCj4gKHZjaGFuLXNvY2tldC1wcm94eSkuIFRoaXMgc2ltcGxpZmllZCBpbnRl Z3JhdGlvbiB3aXRoIFFNUCAoYWxyZWFkeQo+IHF1aXRlIGNvbXBsZXgpLCBidXQgYWxzbyBhbGxv d3MgcHJlbGltaW5hcnkgZmlsdGVyaW5nIG9mIChwb3RlbnRpYWxseQo+IG1hbGljaW91cykgUU1Q IGlucHV0Lgo+IFNpbmNlIG9ubHkgb25lIGNsaWVudCBjYW4gYmUgY29ubmVjdGVkIHRvIHZjaGFu IHNlcnZlciBhdCB0aGUgc2FtZSB0aW1lCj4gYW5kIGl0IGlzIG5vdCBlbmZvcmNlZCBieSB0aGUg bGlieGVudmNoYW4gaXRzZWxmLCBhZGRpdGlvbmFsIGNsaWVudC1zaWRlCj4gbG9ja2luZyBpcyBu ZWVkZWQuIEl0IGlzIGltcGxpY2l0bHkgaW1wbGVtZW50ZWQgYnkgdmNoYW4tc29ja2V0LXByb3h5 LAo+IGFzIGl0IGhhbmRsZSBvbmx5IG9uZSBjb25uZWN0aW9uIGF0IGEgdGltZS4gTm90ZSB0aGF0 IHFlbXUgc3VwcG9ydHMgb25seQo+IG9uZSBzaW11bHRhbmVvdXMgY2xpZW50IG9uIGEgY29udHJv bCBzb2NrZXQgYW55d2F5IChidXQgaW4gVU5JWCBzb2NrZXQKPiBjYXNlLCBpdCBlbmZvcmNlIGl0 IHNlcnZlci1zaWRlKSwgc28gaXQgZG9lc24ndCBhZGQgYW55IGV4dHJhCj4gbGltaXRhdGlvbi4K Pgo+IFNpZ25lZC1vZmYtYnk6IE1hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSA8bWFybWFyZWtA aW52aXNpYmxldGhpbmdzbGFiLmNvbT4KPiAtLS0KPiBDaGFuZ2VzIGluIHY0Ogo+ICAtIG5ldyBw YXRjaCwgaW4gcGxhY2Ugb2YgYm90aCAibGlieGw6IHVzZSB2Y2hhbiBmb3IgUU1QIGFjY2VzcyAu Li4iCj4gLS0tCj4gIHRvb2xzL2NvbmZpZ3VyZS5hYyAgICAgICAgICAgfCAgIDkgKystCj4gIHRv b2xzL2xpYnhsL2xpYnhsX2RtLmMgICAgICAgfCAxNTkgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tCj4gIHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgIDEgKy0KPiAg MyBmaWxlcyBjaGFuZ2VkLCAxNjEgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPgo+IGRp ZmYgLS1naXQgYS90b29scy9jb25maWd1cmUuYWMgYi90b29scy9jb25maWd1cmUuYWMKPiBpbmRl eCA4ZDg2YzQyLi4yMGJiZGJmIDEwMDY0NAo+IC0tLSBhL3Rvb2xzL2NvbmZpZ3VyZS5hYwo+ICsr KyBiL3Rvb2xzL2NvbmZpZ3VyZS5hYwo+IEBAIC0xOTIsNiArMTkyLDE1IEBAIEFDX1NVQlNUKHFl bXVfeGVuKQo+ICBBQ19TVUJTVChxZW11X3hlbl9wYXRoKQo+ICBBQ19TVUJTVChxZW11X3hlbl9z eXN0ZW1kKQo+Cj4gK0FDX0FSR19XSVRIKFtzdHViZG9tLXFtcC1wcm94eV0sCj4gKyAgICBBQ19I RUxQX1NUUklORyhbLS1zdHViZG9tLXFtcC1wcm94eUA8OkA9UEFUSEA6PkBdLAo+ICsgICAgICAg IFtVc2Ugc3VwcGxpZWQgYmluYXJ5IFBBVEggYXMgYSBRTVAgcHJveHkgaW50byBzdHViZG9tYWlu XSksWwoKVGhhbmtzIGZvciBtYWtpbmcgaXQgY29uZmlndXJhYmxlIDopCgo+ICsgICAgc3R1YmRv bV9xbXBfcHJveHk9IiR3aXRodmFsIgo+ICtdLFsKPiArICAgIHN0dWJkb21fcW1wX3Byb3h5PSIk YmluZGlyL3ZjaGFuLXNvY2tldC1wcm94eSIKPiArXSkKPiArQUNfREVGSU5FX1VOUVVPVEVEKFtT VFVCRE9NX1FNUF9QUk9YWV9QQVRIXSwgWyIkc3R1YmRvbV9xbXBfcHJveHkiXSwgW1FNUCBwcm94 eSBwYXRoXSkKPiArCj4gIEFDX0FSR19XSVRIKFtzeXN0ZW0tc2VhYmlvc10sCj4gICAgICBBU19I RUxQX1NUUklORyhbLS13aXRoLXN5c3RlbS1zZWFiaW9zQDw6QD1QQVRIQDo+QF0sCj4gICAgICAg ICBbVXNlIHN5c3RlbSBzdXBwbGllZCBzZWFiaW9zIFBBVEggaW5zdGVhZCBvZiBidWlsZGluZyBh bmQgaW5zdGFsbGluZwo+IGRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kbS5jIGIvdG9v bHMvbGlieGwvbGlieGxfZG0uYwo+IGluZGV4IDUyOGNhM2UuLjIzYWM3ZTQgMTAwNjQ0Cj4gLS0t IGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYwo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMK PiBAQCAtMTE4Myw3ICsxMTgzLDcgQEAgc3RhdGljIGludCBsaWJ4bF9fYnVpbGRfZGV2aWNlX21v ZGVsX2FyZ3NfbmV3KGxpYnhsX19nYyAqZ2MsCj4gICAgICAgICAgICAgICAgICAgICAgICAiLXhl bi1kb21pZCIsCj4gICAgICAgICAgICAgICAgICAgICAgICBHQ1NQUklOVEYoIiVkIiwgZ3Vlc3Rf ZG9taWQpLCBOVUxMKTsKPgo+IC0gICAgLyogVGhlcmUgaXMgY3VycmVudGx5IG5vIHdheSB0byBh Y2Nlc3MgdGhlIFFNUCBzb2NrZXQgaW4gdGhlIHN0dWJkb20gKi8KPiArICAgIC8qIFFNUCBhY2Nl c3MgdG8gcWVtdSBydW5uaW5nIGluIHN0dWJkb21haW4gaXMgZG9uZSBvdmVyIHZjaGFuLCBzdHVi ZG9tYWluIHNldHVwIGl0IGl0c2VsZiAqLwoKSSB0aGluayB0aGlzIHdvdWxkIGJlIGNsZWFyZXI6 Ci8qIFFNUCBhY2Nlc3MgdG8gcWVtdSBydW5uaW5nIGluIHN0dWJkb21haW4gaXMgZG9uZSBvdmVy IHZjaGFuLiAgVGhlCnN0dWJkb21haW4gaW5pdCBzY3JpcHQKICogYWRkcyB0aGUgYXBwcm9wcmlh dGUgbW9uaXRvciBvcHRpb25zIGZvciB2Y2hhbi1zb2NrZXQtcHJveHkuICovCgpJbiB0aGUgYmxv Y2sgYmVsb3csIHRoZSAtbm8tc2h1dGRvd24gb3B0aW9uIGlzIGFkZGVkIHRvIHFlbXUsIHdoaWNo CndpbGwgbm90IGJlIGRvbmUgZm9yIGxpbnV4IHN0dWJkb21haW4uCi1uby1zaHV0ZG93bgogICAg ICAgRG9uJ3QgZXhpdCBRRU1VIG9uIGd1ZXN0IHNodXRkb3duLCBidXQgaW5zdGVhZCBvbmx5IHN0 b3AgdGhlCiAgICAgICBlbXVsYXRpb24uICBUaGlzIGFsbG93cyBmb3IgaW5zdGFuY2Ugc3dpdGNo aW5nIHRvIG1vbml0b3IgdG8gY29tbWl0CiAgICAgICBjaGFuZ2VzIHRvIHRoZSBkaXNrIGltYWdl LgoKSXQncyBzb21ldGhpbmcgSSBub3RpY2VkLCBidXQgSSBkb24ndCBrbm93IGlmIGl0IG1hdHRl cnMgdG8gdXMuCgo+ICAgICAgaWYgKCFpc19zdHViZG9tKSB7Cj4gICAgICAgICAgZmxleGFycmF5 X2FwcGVuZChkbV9hcmdzLCAiLWNoYXJkZXYiKTsKPiAgICAgICAgICBpZiAoc3RhdGUtPmRtX21v bml0b3JfZmQgPj0gMCkgewo+IEBAIC0yMTc4LDYgKzIxNzgsMjMgQEAgc3RhdGljIHZvaWQgc3R1 YmRvbV9wdnFlbXVfdW5wYXVzZWQobGlieGxfX2VnYyAqZWdjLAoKPHNuaXA+Cgo+IEBAIC0yNDYw LDI0ICsyNDc3LDE1MCBAQCBzdGF0aWMgdm9pZCBzcGF3bl9zdHViX2xhdW5jaF9kbShsaWJ4bF9f ZWdjICplZ2MsCj4gICAgICAgICAgICAgIGdvdG8gb3V0Owo+ICAgICAgfQo+Cj4gKyAgICBzZHNz LT5xbXBfcHJveHlfc3Bhd24uYW8gPSBhbzsKPiArICAgIGlmIChsaWJ4bF9fc3R1YmRvbWFpbl9p c19saW51eCgmZ3Vlc3RfY29uZmlnLT5iX2luZm8pKSB7Cj4gKyAgICAgICAgc3Bhd25fcW1wX3By b3h5KGVnYywgc2Rzcyk7Cj4gKyAgICB9IGVsc2Ugewo+ICsgICAgICAgIHFtcF9wcm94eV9zcGF3 bl9vdXRjb21lKGVnYywgc2RzcywgMCk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgcmV0dXJuOwo+ICsK PiArb3V0Ogo+ICsgICAgYXNzZXJ0KHJldCk7Cj4gKyAgICBxbXBfcHJveHlfc3Bhd25fb3V0Y29t ZShlZ2MsIHNkc3MsIHJldCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHNwYXduX3FtcF9wcm94 eShsaWJ4bF9fZWdjICplZ2MsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9f c3R1Yl9kbV9zcGF3bl9zdGF0ZSAqc2RzcykKPiArewo+ICsgICAgU1RBVEVfQU9fR0Moc2Rzcy0+ cW1wX3Byb3h5X3NwYXduLmFvKTsKPiArICAgIGNvbnN0IHVpbnQzMl90IGd1ZXN0X2RvbWlkID0g c2Rzcy0+ZG0uZ3Vlc3RfZG9taWQ7Cj4gKyAgICBjb25zdCB1aW50MzJfdCBkbV9kb21pZCA9IHNk c3MtPnB2cWVtdS5ndWVzdF9kb21pZDsKPiArICAgIGNvbnN0IGNoYXIgKmRvbV9wYXRoID0gbGli eGxfX3hzX2dldF9kb21wYXRoKGdjLCBkbV9kb21pZCk7Cj4gKyAgICBjaGFyICoqYXJnczsKPiAr ICAgIGludCBuciA9IDA7Cj4gKyAgICBpbnQgcmMsIGxvZ2ZpbGVfdywgbnVsbDsKPiArCj4gKyAg ICBpZiAoYWNjZXNzKFNUVUJET01fUU1QX1BST1hZX1BBVEgsIFhfT0spIDwgMCkgewo+ICsgICAg ICAgIExPR0VEKEVSUk9SLCBndWVzdF9kb21pZCwgInFtcCBwcm94eSAlcyBpcyBub3QgZXhlY3V0 YWJsZSIsIFNUVUJET01fUU1QX1BST1hZX1BBVEgpOwo+ICsgICAgICAgIHJjID0gRVJST1JfRkFJ TDsKPiArICAgICAgICBnb3RvIG91dDsKPiArICAgIH0KPiArCj4gKyAgICBzZHNzLT5xbXBfcHJv eHlfc3Bhd24ud2hhdCA9IEdDU1BSSU5URigiZG9tYWluICVkIGRldmljZSBtb2RlbCBxbXAgcHJv eHkiLCBndWVzdF9kb21pZCk7Cj4gKyAgICBzZHNzLT5xbXBfcHJveHlfc3Bhd24ucGlkcGF0aCA9 IEdDU1BSSU5URigiJXMvaW1hZ2UvcW1wLXByb3h5LXBpZCIsIGRvbV9wYXRoKTsKPiArICAgIHNk c3MtPnFtcF9wcm94eV9zcGF3bi54c3BhdGggPSBHQ1NQUklOVEYoIiVzL2ltYWdlL3FtcC1wcm94 eS1zdGF0ZSIsIGRvbV9wYXRoKTsKClNpbmNlIHRoaXMgaXMgdGhlIHZjaGFuLXNvY2tldC1wcm94 eSBpbiBkb20wLCBzaG91bGQgaXQgd3JpdGUgdG8KImRldmljZS1tb2RlbC8ldS9xbXAtcHJveHkt c3RhdGUiIHVuZGVybmVhdGggZG9tMD8KCj4gKwo+ICsgICAgc2Rzcy0+cW1wX3Byb3h5X3NwYXdu LnRpbWVvdXRfbXMgPSBMSUJYTF9ERVZJQ0VfTU9ERUxfU1RBUlRfVElNRU9VVCAqIDEwMDA7Cj4g KyAgICBzZHNzLT5xbXBfcHJveHlfc3Bhd24ubWlkcHJvY19jYiA9IGxpYnhsX19zcGF3bl9yZWNv cmRfcGlkOwo+ICsgICAgc2Rzcy0+cW1wX3Byb3h5X3NwYXduLmNvbmZpcm1fY2IgPSBxbXBfcHJv eHlfY29uZmlybTsKPiArICAgIHNkc3MtPnFtcF9wcm94eV9zcGF3bi5mYWlsdXJlX2NiID0gcW1w X3Byb3h5X3N0YXJ0dXBfZmFpbGVkOwo+ICsgICAgc2Rzcy0+cW1wX3Byb3h5X3NwYXduLmRldGFj aGVkX2NiID0gcW1wX3Byb3h5X2RldGFjaGVkOwo+ICsKPiArICAgIGNvbnN0IGludCBhcnJheXNp emUgPSA2Owo+ICsgICAgR0NORVdfQVJSQVkoYXJncywgYXJyYXlzaXplKTsKPiArICAgIGFyZ3Nb bnIrK10gPSBTVFVCRE9NX1FNUF9QUk9YWV9QQVRIOwo+ICsgICAgYXJnc1tucisrXSA9IEdDU1BS SU5URigiLS1zdGF0ZS1wYXRoPSVzIiwgc2Rzcy0+cW1wX3Byb3h5X3NwYXduLnhzcGF0aCk7Cj4g KyAgICBhcmdzW25yKytdID0gR0NTUFJJTlRGKCIldSIsIGRtX2RvbWlkKTsKPiArICAgIGFyZ3Nb bnIrK10gPSBHQ1NQUklOVEYoIiVzL2RldmljZS1tb2RlbC8ldS9xbXAtdmNoYW4iLCBkb21fcGF0 aCwgZ3Vlc3RfZG9taWQpOwoKVGhpbmtpbmcgb2YgT3BlblhUInMgcW1wLWhlbHBlciwgdGhpcyBw YXRoIGlzbid0IHVzZWZ1bC4gIEJ1dCBpdCBpcwpmb3IgdmNoYW4tc29ja2V0LXByb3h5LCBzbyBx bXAtaGVscGVyIGNvdWxkIGp1c3QgY2hhbmdlIHRvIGlnbm9yZSBpdC4KCj4gKyAgICBhcmdzW25y KytdID0gKGNoYXIqKWxpYnhsX19xZW11X3FtcF9wYXRoKGdjLCBndWVzdF9kb21pZCk7CgpxbXAt aGVscGVyIHRha2VzIGp1c3QgdGhlIHN0dWJfZG9taWQgYW5kIGRvbWlkLiAgVGhlIGRvbWlkIGlz IGp1c3QKdXNlZCB0byBnZW5lcmF0ZSB0aGUgYWJvdmUgcGF0aCwgYnV0IHRha2luZyB0aGUgcGF0 aCB3b3VsZCBiZSBjbGVhbmVyLgoKPiArICAgIGFyZ3NbbnIrK10gPSBOVUxMOwo+ICsgICAgYXNz ZXJ0KG5yID09IGFycmF5c2l6ZSk7CgpUaGlzIGdlbmVyYWxseSBsb29rcyBnb29kLgoKUmVnYXJk cywKSmFzb24KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=