From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [xen-devel][PATCH RFC] libxl: New xl interfaces for managing USB devices Date: Wed, 2 Jul 2014 12:07:49 +0100 Message-ID: <53B3E805.6030606@eu.citrix.com> References: <1403620261-29461-1-git-send-email-caobosimon@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1403620261-29461-1-git-send-email-caobosimon@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Bo Cao , xen-devel@lists.xen.org Cc: Ian Jackson , Ian Campbell List-Id: xen-devel@lists.xenproject.org T24gMDYvMjQvMjAxNCAwMzozMSBQTSwgQm8gQ2FvIHdyb3RlOgo+IEhleSwgYWxsCj4KPiBUaGlz IHBhdGNoIGlzIG1haW5seSBhYm91dCBtYW5hZ2luZyBVU0IgZGV2aWNlcyBib3RoIGZvciBQVlVT QiBhbmQgREVWSUNFTU9ERUwuSXQgbWFpbmx5IGNvbnNpdHMgb2YgdHdvIHBhcnQsIFVTQiBjb250 cm9sbGVyIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbiBhbmQgVVNCIGRldmljZSdzIGF0dGFjaG1l bnQgYW5kIGRldGFjaG1lbnQuCj4KPiBGb3IgVVNCIGNvbnRyb2xsZXI6Cj4gdXNiLWNvbnRyb2xs ZXItY3JlYXRlICA8ZG9tYWluLWlkPiA8dXNiLXZlcnNpb24+IDxudW1iZXItb2YtcG9ydHM+IFtj b250cm9sbGVyLXR5cGVdIHVzYi1jb250cm9sbGVyLWRlc3Ryb3kgPGRvbWFpbi1pZD4gPGNvbnRy b2xsZXItbmFtZT4KPgo+IEZvciBVU0IgZGV2aWNlOgo+IHVzYi1hdHRhY2ggPGRvbWFpbi1pZD4g PGhvc3RidXMuaG9zdGRldj4gW2NvbnRyb2xsZXJfbmFtZV0gdXNiLWRldGFjaCA8ZG9tYWluLWlk PiA8aG9zdGJ1cy5ob3N0ZGV2Pgo+IHVzYi1saXN0ICAgPGRvbWFpbi1pZD4KPgo+IEZlZWwgZnJl ZSB0byBnaXZlIG1lIGFueSBjb21tbmV0cy4KPiBUaGFua3MhCgpIZXkgU2ltb24sCgpTb3JyeSwg SSBtZWFudCB0byBnZXQgdG8gdGhpcyBsYXN0IHdlZWsuICBDb21tZW50cyBiZWxvdy4KCj4KPiBT aW1vbgo+Cj4gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLwo+IERlc2lnbiB0aGUgbmV3IHhsIGludGVyZmFjZXMgdG8gbWFuYWdp bmcgVVNCIGRldmljZXMsCj4gYm90aCBmb3IgUFZVU0IgYW5kIERFVklDRU1PREVMLgo+Cj4gU2ln bmVkLW9mZi1ieTogU2ltb24gQ2FvIDxjYW9ib3NpbW9uQGdtYWlsLmNvbT4KPiAtLS0KPiBDQzog R2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgo+IENDOiBJYW4gSmFj a3NvbiA8aWFuLmphY2tzb25AY2l0cml4LmNvbT4KPiBDQzogSWFuIENhbXBiZWxsIDxpYW4uY2Ft cGJlbGxAY2l0cml4LmNvbT4KPiBDQzogUGFzaSBLw6Rya2vDpGluZW4gPHBhc2lrQGlraS5maT4K PiAtLS0KPiAgIGRvY3MvbWFuL3hsLnBvZC4xICAgICAgICAgICB8ICAgMzkgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICB0b29scy9saWJ4bC9saWJ4bC5oICAgICAg ICAgfCAgIDI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICB0b29scy9saWJ4bC9saWJ4 bF90eXBlcy5pZGwgfCAgIDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgdG9vbHMv bGlieGwveGxfY21kdGFibGUuYyAgIHwgICAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKPiAgIDQgZmlsZXMgY2hhbmdlZCwgMTI1IGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1n aXQgYS9kb2NzL21hbi94bC5wb2QuMSBiL2RvY3MvbWFuL3hsLnBvZC4xCj4gaW5kZXggMzBiZDRi Zi4uZGI3NmNlMiAxMDA2NDQKPiAtLS0gYS9kb2NzL21hbi94bC5wb2QuMQo+ICsrKyBiL2RvY3Mv bWFuL3hsLnBvZC4xCj4gQEAgLTExOTQsNiArMTE5NCw0NSBAQCBMaXN0IHZpcnR1YWwgbmV0d29y ayBpbnRlcmZhY2VzIGZvciBhIGRvbWFpbi4KPiAgIAo+ICAgPWJhY2sKPiAgIAo+ICs9aGVhZDIg VVNCIERFVklDRVMKPiArCj4gKz1vdmVyIDQKPiArCj4gKz1pdGVtIEI8dXNiLWFzc2dpbmFibGUt bGlzdD4KCk5pdDogdHlwby4KCkknbSBub3QgcmVhbGx5IHN1cmUgd2UgbmVlZCB0aGlzIG9uZS4g IFRoZSBvbmx5IG90aGVyIHRpbWUgd2UgaGF2ZSB0aGlzIAppcyBmb3IgUENJIGRldmljZXM7IGJ1 dCB0aGF0J3MgYmVjYXVzZSBQQ0kgZGV2aWNlcyBoYXZlIGFuIGV4dHJhIHN0ZXA6IAp0aGV5IG11 c3QgZmlyc3QgYmUgc2VpemVkIGJ5IHBjaWJhY2ssIGFuZCB0aGVuIGFzc2lnbmVkIHRvIHRoZSBk b21haW4uCgpUaGVyZSBpcyBubyBlcXVpdmFsZW50IChBRkFJSykgZm9yIFVTQiBkZXZpY2VzIHRv IHRoaXM7IHNvIHRoaXMgd291bGQgCmp1c3QgYmUgZHVwbGljYXRpbmcgdGhlIGZ1bmN0aW9uYWxp dHkgb2YgbHN1c2IuICBUaGVyZSdzIG5vIAoicGNpLWxpc3Qtc2VpemFibGUtZGV2aWNlcyIgdG8g c2hvdyB3aGF0IGRldmljZXMgY2FuIGJlIHBhc3NlZCB0byAKInBjaS1hc3NpZ25hYmxlLWFkZCI7 IHlvdSBqdXN0IGhhdmUgdG8gdXNlIGxzcGNpLiAgV2Ugc2hvdWxkIGZvbGxvdyBzdWl0IApoZXJl LgoKPiArCj4gK0xpc3QgYWxsIHRoZSBhc3NpZ25hYmxlIFVTQiBkZXZpY2VzLgo+ICsKPiArPWl0 ZW0gQjx1c2ItYXNzaWduZWQtbGlzdD4KPiArCj4gK0xpc3QgYWxsIHRoZSBVU0IgZGV2aWNlcyB0 aGF0IGhhcyBiZWVuIGFzc2lnbmVkLgoKSSB0YWtlIGl0IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4g dGhpcyBvbmUgYW5kICJ1c2ItbGlzdCIgaXMgdGhhdCAKInVzYi1hc3NpZ25lZC1saXN0IiBpcyBt ZWFudCB0byBsaXN0IHVzYiBkZXZpY2VzIGFjcm9zcyBhbGwgZG9tYWlucywgCndoZXJlYXMgInVz Yi1saXN0IiBpcyBtZWFudCB0byBiZSBmb3IganVzdCBhIHNpbmdsZSBkb21haW4/CgpXZSBkb24n dCBoYXZlIHRoaXMgZnVuY3Rpb25hbGl0eSBmb3IgcGNpIGRldmljZXM7IGlmIHdlIHdhbnQgdGhh dCBJIAp0aGluayB3ZSBzaG91bGQgcHJvYmFibHkganVzdCBpbXBsZW1lbnQgaXQgYXMgYW4gb3B0 aW9uIHRvIHVzYi1saXN0IAooZS5nLiwgInhsIHVzYi1saXN0IC1hIiB0byBsaXN0IGRldmljZXMg YWNyb3NzIGFsbCBkb21haW5zKS4KCj4gKwo+ICs9aXRlbSBCPHVzYi1jb250cm9sbGVyLWNyZWF0 ZT4gSTx1c2ItdmVyc2lvbj4gSTxudW1iZXJfb2ZfcG9ydHM+IFtJPGNvbnRyb2xsZXJfdHlwZT5d Cj4gKwo+ICtDcmVhdGVzIGEgbmV3IHVzYiB2aXJ0dWFsIGNvbnRyb2xsZXIgZm9yIHRoZSBkb21h aW4gc3BlY2lmaWVkIGJ5IEk8ZG9tYWluLWlkPi4KPiArSTx1c2ItdmVyc2lvbj4gZGVzY3JpYmVz IHRoZSB2ZXJzaW9uIG9mIFVTQiBjb250cm9sbGVyIHRvIGNyZWF0ZSwgaS5lLiwgMSwgMiBvciAz LAo+ICtJPG51bWJlcl9vZl9wb3J0cz4gZGVzY3JpYmVycyB0aGUgbnVtYmVyIG9mIHBvcnRzIGlu IHRoZSBVU0IgdmlydHVhbCBjb250cm9sbGVyLCBhbmQKPiArSTxjb250cm9sbGVyX3R5cGU+IGRl c2NyaWJlcyB0aGUgdHlwZSBvZiBVU0IgY29udHJvbGxlciwgUFZVU0Igb3IgRU1VTEFURUQuCj4g Kwo+ICs9aXRlbSBCPHVzYi1jb250cm9sbGVyLWRlc3Ryb3k+IEk8ZG9tYWluLWlkPiBJPGNvbnRy b2xsZXItbmFtZT4KPiArCj4gK0Rlc3Ryb2llcyB0aGUgdmlydHVhbCBVU0IgY29udHJvbGxlciBz cGVjaWZpZWQgYnkgSTxjb250cm9sbGVyLW5hbWU+IGluIEk8ZG9tYWluLWlkPi4KCkluIGtlZXBp bmcgd2l0aCB0aGUgb3RoZXIgZGV2aWNlIGNvbW1hbmRzLCB0aGVzZSBzaG91bGQgYmUgCiJ1c2It Y29udHJvbGxlci1hdHRhY2giIGFuZCAidXNiLWNvbnRyb2xsZXItZGV0YWNoIi4gIE90aGVyIHRo YW4gdGhhdCwgCmxvb2tzIGdvb2QuCgo+ICsKPiArPWl0ZW0gQjx1c2ItYXR0YWNoPiBJPGRvbWFp bi1pZD4gSTxob3N0YnVzLmhvc3RhZGRyPiBbSTxjb250cm9sbGVyLW5hbWU+XQo+ICsKPiArQXR0 YWNoZXMgVVNCIGRldmljZSBzcGVjaWZpZWQgYnkgSTxob3N0YnVzLmhvc3RhZGRyPiB0byBVU0Ig Y29udHJvbGxlciBzcGVjaWZpZWQgYnkKPiArSTxjb250cm9sbGVyLW5hbWU+IGluIGRvbWFpbiBJ PGRvbWFpbi1pZD4uCj4gKwo+ICs9aXRlbSBCPHVzYi1kZXRhY2g+IEk8ZG9tYWluLWlkPiAgSTxo b3N0YnVzLmhvc3RhZGRyPgo+ICsKPiArRGV0YWNoZXMgdGhlIFVTQiBkZXZpY2UgSTxob3N0YnVz Lmhvc3RhZGRyPiBpbiBkb21haW4gSTxkb21haW4taWQ+LgoKV2Ugd2FudCB0byB1c2UgdGhlIHNh bWUgaW50ZXJmYWNlIHRvIGJlIGFibGUgdG8gYWRkIG90aGVyIGtpbmRzIG9mIApkZXZpY2VzICh0 YWJsZXRzLCBtaWNlLCBrZXlib2FyZHMsIG1heWJlIG1hc3Mgc3RvcmFnZSkgaW4gdGhlIGZ1dHVy ZS4gSSAKdGhpbmsgZm9yIG5vdyB0aGlzIHNob3VsZCBiZSBzb21ldGhpbmcgbGlrZSAiaG9zdGRl djo8aG9zdGJ1cy5ob3N0YWRkcj4iLgoKT3RoZXIgdGhhbiB0aGF0LCBsb29rcyBnb29kLgoKPiAr Cj4gKz1pdGVtIEI8dXNiLWxpc3Q+IEk8ZG9tYWluLWlkPgo+ICsKPiArTGlzdCBhbGwgdGhlIHZp cnR1YWwgVVNCIGNvbnRyb2xsZXJzIGFuZCBVU0IgZGV2aWNlcyBmb3IgdGhlIGRvbWFpbgo+ICtz cGVjaWZpZWQgYnkgSTxkb21haW4taWQ+Lgo+ICsKPiArPSBiYWNrCj4gKwo+ICAgPWhlYWQyIFZU UE0gREVWSUNFUwo+ICAgCj4gICA9b3ZlciA0Cj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp YnhsLmggYi90b29scy9saWJ4bC9saWJ4bC5oCj4gaW5kZXggMTdiOGE3Yi4uODYzYzg2YyAxMDA2 NDQKPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bC5oCj4gKysrIGIvdG9vbHMvbGlieGwvbGlieGwu aAo+IEBAIC05NTAsNiArOTUwLDMyIEBAIGludCBsaWJ4bF9jZHJvbV9pbnNlcnQobGlieGxfY3R4 ICpjdHgsIHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kZXZpY2VfZGlzayAqZGlzaywKPiAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfYXN5bmNvcF9ob3cgKmFvX2hvdykKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgTElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwo+ICAgCj4g Ky8qIFVTQiBEZXZpY2VzKi8KPiAraW50IGxpYnhsX2RldmljZV91c2JfY29udHJvbGxlcl9jcmVh dGUobGlieGxfY3R4bGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAo+ICsJCQkJCQkgbGli eGxfZGV2aWNlX3VzYl9jb250cm9sbGVyICpkZXYsCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBsaWJ4bF9hc3luY29wX2hvdyAqYW9faG93KQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgTElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOwo+ICsKPiAraW50IGxpYnhsX2Rldmlj ZV91c2JfY29udHJvbGxlcl9kZXN0cm95KGxpYnhsX2N0eGxpYnhsX2N0eCAqY3R4LCB1aW50MzJf dCBkb21pZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV91c2JfY29u dHJvbGxlciAqZGV2LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfYXN5 bmNvcF9ob3cgKmFvX2hvdykKPiArICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX0VYVEVS TkFMX0NBTExFUlNfT05MWTsKClRoZXNlIHNob3VsZCBiZSBsaWJ4bF9kZXZpY2VfdXNiX2NvbnRy b2xsZXJfe2FkZCxyZW1vdmUsZGVzdHJveSxsaXN0fS4gIApMb29rcyBnb29kIG90aGVyd2lzZS4K Cj4gKwo+ICtpbnQgbGlieGxfZGV2aWNlX3VzYl9hZGQobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90 IGRvbWlkLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX3VzYiAqZGV2 LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfYXN5bmNvcF9ob3cgKmFv X2hvdykKPiArICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX0VYVEVSTkFMX0NBTExFUlNf T05MWTsKPiArCj4gK2ludCBsaWJ4bF9kZXZpY2VfdXNiX3JlbW92ZShsaWJ4bF9jdHggKmN0eCwg dWludDMyX3QgZG9taWQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZp Y2VfdXNiICpkZXYsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9h c3luY29wX2hvdyAqYW9faG93KQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExf RVhURVJOQUxfQ0FMTEVSU19PTkxZOwoKWW91IGFsc28gbmVlZCBsaWJ4bF9kZXZpY2VfdXNiX2Rl c3Ryb3koKS4KClRoZSBkaWZmZXJlbmNlIGluIHRoZW9yeSBiZXR3ZWVuIHJlbW92ZSBhbmQgZGVz dHJveSBpcyBmb3IgdGhpbmdzIGxpa2UgClBWIGRpc2tzOiByZW1vdmUgd2lsbCByZW1vdmUgdGhl IGRpc2sgd2l0aCB0aGUgY29vcGVyYXRpb24gb2YgdGhlIGd1ZXN0LCAKYnV0IG1heSBmYWlsIGlm IHRoZSBndWVzdCBpcyBidWdneSBvciBvdGhlcndpc2UgZG9lc24ndCBjb29wZXJhdGUuICAKRGVz dG95IHdpbGwgeWFuayB0aGUgZGlzayBvdXQgd2hldGhlciB0aGUgZ3Vlc3QgbGlrZXMgaXQgb3Ig bm90IAoocG90ZW50aWFsbHkgcmVzdWx0aW5nIGluIGRhdGEgY29ycnVwdGlvbikuCgpGb3IgYSBs b3Qgb2YgZGV2aWNlcyAoSSB0aGluayBwY2kgaXMgbGlrZSB0aGlzKSB0aGVyZSdzIGFjdHVhbGx5 IG5vIApkaXN0aW5jdGlvbiwgYW5kIHRoZXkgYm90aCBtYXAgdG8gdGhlIHNhbWUgZnVuY3Rpb24g aW50ZXJuYWxseS4gIE5vdCAKc3VyZSB3aGF0IHRoZSBQVlVTQiBwcm90b2NvbCBpcyBsaWtlIGlu IHRoaXMgcmVnYXJkOyBidXQgaW4gYW55IGNhc2UgeW91IApuZWVkIGJvdGggZnVuY3Rpb25zIGV2 ZW4gaWYgdGhlcmUncyBubyBwcmFjdGljYWwgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28uCgo+ ICsKPiArbGlieGxfZGV2aWNlX3VzYiAqbGlieGxfZGV2aWNlX3VzYl9saXN0KGxpYnhsX2N0eCAq Y3R4LCB1aW50MzJfdCBkb21pZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludCAqbnVtKQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlhMX0VYVEVS TkFMX0NBTExFUlNfT05MWTsKPiArCj4gKwo+ICAgLyogTmV0d29yayBJbnRlcmZhY2VzICovCj4g ICBpbnQgbGlieGxfZGV2aWNlX25pY19hZGQobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlk LCBsaWJ4bF9kZXZpY2VfbmljICpuaWMsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgbGlieGxfYXN5bmNvcF9ob3cgKmFvX2hvdykKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv bGlieGxfdHlwZXMuaWRsIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCj4gaW5kZXggZjBm NmUzNC4uMjhkODk2ZSAxMDA2NDQKPiAtLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwK PiArKysgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKPiBAQCAtODUsNiArODUsMTYgQEAg bGlieGxfbmljX3R5cGUgPSBFbnVtZXJhdGlvbigibmljX3R5cGUiLCBbCj4gICAgICAgKDIsICJW SUYiKSwKPiAgICAgICBdKQo+ICAgCj4gK2xpYnhsX3VzYl9jb250cm9sbGVyX3R5cGUgPSBFbnVt ZXJhdGlvbigidXNiX2NvbnRyb2xsZXJfdHlwZSIsWwo+ICsJKDAsICJBVVRPIiksCj4gKwkoMSwg IlBWIiksCj4gKwkoMiwgIkRFVklDRU1PREVMIiksCj4gKwldKQo+ICsKPiArbGlieGxfdXNiX3R5 cGUgPSBFbnVtZXJhdGlvbigiZGV2aWNlX3VzYl90eXBlIiwgWwo+ICsgICAgKDEsICJIT1NUREVW IiksCj4gKyAgICBdKQo+ICsKPiAgIGxpYnhsX2FjdGlvbl9vbl9zaHV0ZG93biA9IEVudW1lcmF0 aW9uKCJhY3Rpb25fb25fc2h1dGRvd24iLCBbCj4gICAgICAgKDEsICJERVNUUk9ZIiksCj4gICAK PiBAQCAtNDQ4LDYgKzQ1OCwyMiBAQCBsaWJ4bF9kZXZpY2VfcGNpID0gU3RydWN0KCJkZXZpY2Vf cGNpIiwgWwo+ICAgICAgICgic2VpemUiLCBib29sKSwKPiAgICAgICBdKQo+ICAgCj4gK2xpYnhs X2RldmljZV91c2JfY29udHJvbGxlciA9IFN0cnVjdCgiZGV2aWNlX3VzYl9jb250cm9sbGVyIiwg Wwo+ICsJKCJuYW1lIiwgc3RyaW5nKSwKPiArCSgidHlwZSIsIGxpYnhsX3VzYl9jb250cm9sbGVy X3R5cGUpLAo+ICsJKCJiYWNrZW5kX2RvbWlkIiwgbGlieGxfZG9taWQpLAo+ICsJKCJiYWNrZW5k X2RvbW5hbWUiLCAgc3RyaW5nKSwKPiArCSgidXNiX3ZlcnNpb24iLCB1aW50OCksCj4gKwkoIm51 bV9wb3J0cyIsIHVpbnQ4KSwKPiArCV0pCgpMb29rcyBnb29kLgoKSG1tLCBhbHNvIGp1c3Qgbm90 aWNlZCB0aGF0IHlvdSdyZSB1c2luZyBoYXJkIHRhYnMuICBYZW4gY29kaW5nIHN0eWxlIApzYXlz IHlvdSBzaG91bGQgb25seSBiZSB1c2luZyBzcGFjZXMgZm9yIGluZGVudGF0aW9uOyB0YWJzIGFy ZSBmb3JiaWRkZW4uCgpJZiB5b3UncmUgdXNpbmcgZW1hY3MsIHRoZSBjb21tZW50IGF0IHRoZSBl bmQgb2YgbW9zdCBzb3VyY2UgZmlsZXMgCnNob3VsZCBkbyB0aGlzIGF1dG9tYXRpY2FsbHk7IGlm IHlvdSdyZSB1c2luZyBhIGRpZmZlcmVudCBlZGl0b3IsIHlvdSdsbCAKaGF2ZSB0byBmaWd1cmUg b3V0IGhvdyB0byBtYWtlIGl0IHVzZSBvbmx5IHNwYWNlcy4KCj4gKwo+ICtsaWJ4bF9kZXZpY2Vf dXNiID0gU3RydWN0KCJkZXZpY2VfdXNiIiwgWwo+ICsJKCJjb250cm9sbGVyX25hbWUiLCBzdHJp bmcpLAo+ICsJKCJ0eXBlIiwgbGlieGxfdXNiX3R5cGUpLAo+ICsJKCJidXMiLCB1aW50OCksCj4g KwkoImRldiIsIHVpbnQ4KSwKPiArCV0pCgpJcyB0aGVyZSBhIHJlYXNvbiB5b3UgZ290IHJpZCBv ZiB0aGUgS2V5ZWRVbmlvbiBjb25zdHJ1Y3Q/Cgo+ICsJCj4gICBsaWJ4bF9kZXZpY2VfdnRwbSA9 IFN0cnVjdCgiZGV2aWNlX3Z0cG0iLCBbCj4gICAgICAgKCJiYWNrZW5kX2RvbWlkIiwgICAgbGli eGxfZG9taWQpLAo+ICAgICAgICgiYmFja2VuZF9kb21uYW1lIiwgIHN0cmluZyksCj4gQEAgLTQ2 Miw2ICs0ODgsNyBAQCBsaWJ4bF9kb21haW5fY29uZmlnID0gU3RydWN0KCJkb21haW5fY29uZmln IiwgWwo+ICAgICAgICgiZGlza3MiLCBBcnJheShsaWJ4bF9kZXZpY2VfZGlzaywgIm51bV9kaXNr cyIpKSwKPiAgICAgICAoIm5pY3MiLCBBcnJheShsaWJ4bF9kZXZpY2VfbmljLCAibnVtX25pY3Mi KSksCj4gICAgICAgKCJwY2lkZXZzIiwgQXJyYXkobGlieGxfZGV2aWNlX3BjaSwgIm51bV9wY2lk ZXZzIikpLAo+ICsJKCJ1c2JzIiwgQXJyYXkobGlieGxfZGV2aWNlX3VzYiwgIm51bV91c2JzIikp LAoKWW91IG5lZWQgYSBsaXN0IG9mIGNvbnRyb2xsZXJzIGFzIHdlbGwgYXMgYSBsaXN0IG9mIHVz YiBkZXZpY2VzLgoKKFlvdSBjYW4gc3RpbGwgaGF2ZSB0aGUgZG9tYWluIGJ1aWxkZXIgYXV0b21h dGljYWxseSBjcmVhdGUgdXNiIApjb250cm9sbGVycyBhcyBuZWVkZWQgaWYgdGhlIGxpc3QgaXMg ZW1wdHkuKQoKVGhhbmtzIC0tIGxvb2sgZm9yd2FyZCB0byBzZWVpbmcgdGhlIGNvZGUhCgogIC1H ZW9yZ2UKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=