From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [PATCH v6 00/18] libxl: JSON infrastructure, fixes and prerequisite patches for new API Date: Tue, 10 Jun 2014 17:38:13 -0400 Message-ID: <53977AC5.2010709@oracle.com> References: <1402317809-26833-1-git-send-email-wei.liu2@citrix.com> <1402409640.1250.146.camel@kazak.uk.xensource.com> <53976631.7040001@oracle.com> <53976FD7.9040309@oracle.com> <20140610212140.GB8470@zion.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20140610212140.GB8470@zion.uk.xensource.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: Wei Liu Cc: ian.jackson@eu.citrix.com, Ian Campbell , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gMDYvMTAvMjAxNCAwNToyMSBQTSwgV2VpIExpdSB3cm90ZToKPiBPbiBUdWUsIEp1biAxMCwg MjAxNCBhdCAwNDo1MTozNVBNIC0wNDAwLCBCb3JpcyBPc3Ryb3Zza3kgd3JvdGU6Cj4+IE9uIDA2 LzEwLzIwMTQgMDQ6MTAgUE0sIEJvcmlzIE9zdHJvdnNreSB3cm90ZToKPj4+IE9uIDA2LzEwLzIw MTQgMTA6MTQgQU0sIElhbiBDYW1wYmVsbCB3cm90ZToKPj4+PiBPbiBNb24sIDIwMTQtMDYtMDkg YXQgMTM6NDMgKzAxMDAsIFdlaSBMaXUgd3JvdGU6Cj4+Pj4+IFdlaSBMaXUgKDE4KToKPj4+Pj4g ICBBIGxpYnhsOiBtYWtlIGNwdXBvb2xfcXVhbGlmaWVyX3RvX2NwdXBvb2xpZCBhIGxpYnJhcnkg ZnVuY3Rpb24KPj4+PiBBcHBsaWVkLgo+Pj4+PiAgIEEgeGw6IHJlbW92ZSBwYXJzaW5nIG9mICJ2 bmN2aWV3ZXIiIG9wdGlvbiBpbiB4bCBkb21haW4gY29uZmlnIGZpbGUKPj4+PiBBcHBsaWVkLgo+ Pj4+Cj4+Pj4+ICAgTSBsaWJ4bDogZml4IEpTT04gZ2VuZXJhdG9yIGZvciB1aW50NjRfdAo+Pj4+ IEFja2VkICsgYXBwbGllZC4KPj4+Pgo+Pj4+PiAgIEEgbGlieGwgSURMOiByZW5hbWUganNvbl9m biB0byBqc29uX2dlbl9mbgo+Pj4+PiAgIEEgbGlieGxfanNvbjogaW50cm9kdWNlIGxpYnhsX19v YmplY3RfZnJvbV9qc29uCj4+Pj4+ICAgQSBsaWJ4bF9qc29uOiBpbnRyb2R1Y2UgcGFyc2VyIGZ1 bmN0aW9ucyBmb3IgYnVpbHRpbiB0eXBlcwo+Pj4gVGhlIGxhc3Qgb25lIGJyZWFrcyBvbiBvbGRl ciBnY2M6Cj4+Pgo+Pj4gSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGZsZXhhcnJheS5jOjE2Ogo+Pj4g bGlieGxfaW50ZXJuYWwuaDoxMzY6IGVycm9yOiByZWRlZmluaXRpb24gb2YgdHlwZWRlZiDigJhs aWJ4bF9fZ2PigJkKPj4+IGxpYnhsX2pzb24uaDoyNTogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRp b24gb2Yg4oCYbGlieGxfX2dj4oCZIHdhcyBoZXJlCj4+PiBJbiBmaWxlIGluY2x1ZGVkIGZyb20g ZmxleGFycmF5LmM6MTY6Cj4+PiBsaWJ4bF9pbnRlcm5hbC5oOjE2NDE6IGVycm9yOiByZWRlZmlu aXRpb24gb2YgdHlwZWRlZiDigJhsaWJ4bF9fanNvbl9vYmplY3TigJkKPj4+IGxpYnhsX2pzb24u aDoyNjogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCYbGlieGxfX2pzb25fb2JqZWN0 4oCZIHdhcwo+Pj4gaGVyZQo+Pj4gbWFrZVs0XTogKioqIFtmbGV4YXJyYXkub10gRXJyb3IgMQo+ Pj4KPj4+Cj4+PiBMb29rcyBsaWtlIGF0IHNvbWUgcG9pbnQgZ2NjIHN0YXJ0ZWQgYWxsb3dpbmcg bXVsdGlwbGUgdHlwZWRlZnMuIFNvLCBmb3IKPj4+IGV4YW1wbGU6Cj4+IEFuZCB0aGlzIGlzIGFw cGFyZW50bHkgdGhhdCBwb2ludCAoZm9yIHZlcnNpb24gNC42LCBJIGJlbGlldmUpOgo+Pgo+PiBo dHRwczovL2djYy5nbnUub3JnL2dpdC8/cD1nY2MuZ2l0O2E9Y29tbWl0ZGlmZjtoPWNlMzc2NWJm NDRlNDllZjA1NjhhMWFkNGEwYjdmODA3NTkxZDY0MTIKPj4KPj4KPj4gLWJvcmlzCj4gVGhhbmtz IGZvciByZXBvcnRpbmcuIE5vdyB0aGF0IEkgbm90aWNlIHRoZXNlIGZ1bmN0aW9ucyByZWFsbHkg YmVsb25nIHRvCj4gbGlieGxfaW50ZXJuYWwuaC4KPgo+IERvZXMgdGhpcyBwYXRjaCBmaXggaXQg Zm9yIHlvdT8KClllcywgaXQgYWxsb3dzIG1lIHRvIGJ1aWxkIGxpYnhsLiBJIGNhbid0IHRlc3Qg aXQgcmlnaHQgbm93IGJ1dCB3aWxsIGRvIAppdCB0b21vcnJvdy4KClRoYW5rcy4KLWJvcmlzCgo+ Cj4gV2VpLgo+Cj4gLS0tODwtLS0KPiAgRnJvbSA1YTU3ZjgyN2Y2NDRmNzE2YjM3NDhiZWVjMDIx NGJiZWZkZGRhNGI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQo+IEZyb206IFdlaSBMaXUgPHdl aS5saXUyQGNpdHJpeC5jb20+Cj4gRGF0ZTogVHVlLCAxMCBKdW4gMjAxNCAyMjoxNjoxNCArMDEw MAo+IFN1YmplY3Q6IFtQQVRDSF0gbGlieGw6IG1vdmUgc29tZSBpbnRlcm5hbCBmdW5jdGlvbnMg dG8gbGlieGxfaW50ZXJuYWwuaAo+Cj4gSW4gNzUyZjE4MWYgKCJsaWJ4bF9qc29uOiBpbnRyb2R1 Y2UgcGFyc2VyIGZ1bmN0aW9ucyBmb3IgYnVpbHRpbiB0eXBlcyIpCj4gYSBidW5jaCBvZiBwYXJz ZXIgZnVuY3Rpb25zIGFyZSBhZGRlZCB0byBsaWJ4bF9qc29uLmgsIHdoaWNoIGJyZWFrcwo+IEdD QyA8IDQuNi4KPgo+IFRoZXNlIGZ1bmN0aW9ucyBhcmUgaW50ZXJuYWwgYW5kIGxpYnhsX2pzb24u aCBpcyBwdWJsaWMgaGVhZGVyLCBzbyBtb3ZlCj4gdGhlbSB0byBsaWJ4bF9pbnRlcm5hbC5oLgo+ Cj4gU2lnbmVkLW9mZi1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KPiAtLS0KPiAg IHRvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggfCAgIDMyICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCj4gICB0b29scy9saWJ4bC9saWJ4bF9qc29uLmggICAgIHwgICAzNSAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAgMiBmaWxlcyBjaGFuZ2VkLCAzMiBp bnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAo+IGluZGV4 IDgwZWE4ODMuLmEwZDRmMjQgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJu YWwuaAo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKPiBAQCAtMzE0Nyw2ICsz MTQ3LDM4IEBAIHZvaWQgbGlieGxfX251bWFfY2FuZGlkYXRlX3B1dF9ub2RlbWFwKGxpYnhsX19n YyAqZ2MsCj4gICAgKi8KPiAgICNkZWZpbmUgQ1RZUEUoaXNmb28sYykgKGlzZm9vKCh1bnNpZ25l ZCBjaGFyKShjKSkpCj4gICAKPiAraW50IGxpYnhsX2RlZmJvb2xfcGFyc2VfanNvbihsaWJ4bF9f Z2MgKmdjLCBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKm8sCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGlieGxfZGVmYm9vbCAqcCk7Cj4gK2ludCBsaWJ4bF9fYm9vbF9wYXJzZV9q c29uKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqbywKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgYm9vbCAqcCk7Cj4gK2ludCBsaWJ4bF9tYWNfcGFyc2VfanNv bihsaWJ4bF9fZ2MgKmdjLCBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKm8sCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9tYWMgKnApOwo+ICtpbnQgbGlieGxfYml0bWFwX3BhcnNl X2pzb24obGlieGxfX2djICpnYywgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpvLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfYml0bWFwICpwKTsKPiAraW50IGxpYnhsX3V1 aWRfcGFyc2VfanNvbihsaWJ4bF9fZ2MgKmdjLCBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKm8s Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfdXVpZCAqcCk7Cj4gK2ludCBsaWJ4 bF9jcHVpZF9wb2xpY3lfbGlzdF9wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAq bywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfY3B1aWRf cG9saWN5X2xpc3QgKnApOwo+ICtpbnQgbGlieGxfc3RyaW5nX2xpc3RfcGFyc2VfanNvbihsaWJ4 bF9fZ2MgKmdjLCBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKm8sCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX3N0cmluZ19saXN0ICpwKTsKPiAraW50IGxpYnhsX2tl eV92YWx1ZV9saXN0X3BhcnNlX2pzb24obGlieGxfX2djICpnYywKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpvLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9rZXlfdmFsdWVfbGlzdCAqcCk7 Cj4gK2ludCBsaWJ4bF9od2NhcF9wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGxpYnhs X19qc29uX29iamVjdCAqbywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfaHdj YXAgKnApOwo+ICtpbnQgbGlieGxfX2ludF9wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsIGNvbnN0 IGxpYnhsX19qc29uX29iamVjdCAqbywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lk ICpwKTsKPiAraW50IGxpYnhsX191aW50OF9wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsIGNvbnN0 IGxpYnhsX19qc29uX29iamVjdCAqbywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZv aWQgKnApOwo+ICtpbnQgbGlieGxfX3VpbnQxNl9wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsIGNv bnN0IGxpYnhsX19qc29uX29iamVjdCAqbywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB2b2lkICpwKTsKPiAraW50IGxpYnhsX191aW50MzJfcGFyc2VfanNvbihsaWJ4bF9fZ2MgKmdj LCBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKm8sCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdm9pZCAqcCk7Cj4gK2ludCBsaWJ4bF9fdWludDY0X3BhcnNlX2pzb24obGlieGxfX2dj ICpnYywgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpvLAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHZvaWQgKnApOwo+ICtpbnQgbGlieGxfX3N0cmluZ19wYXJzZV9qc29uKGxpYnhs X19nYyAqZ2MsIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqbywKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjaGFyICoqcCk7Cj4gICAKPiAgICNlbmRpZgo+ICAgCj4gZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2pzb24uaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2pzb24uaAo+ IGluZGV4IGIxOTZjMWMuLmU0YzBmNmMgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxf anNvbi5oCj4gKysrIGIvdG9vbHMvbGlieGwvbGlieGxfanNvbi5oCj4gQEAgLTIyLDUyICsyMiwx NyBAQAo+ICAgIyAgaW5jbHVkZSA8eWFqbC95YWpsX3ZlcnNpb24uaD4KPiAgICNlbmRpZgo+ICAg Cj4gLXR5cGVkZWYgc3RydWN0IGxpYnhsX19nYyBsaWJ4bF9fZ2M7Cj4gLXR5cGVkZWYgc3RydWN0 IGxpYnhsX19qc29uX29iamVjdCBsaWJ4bF9fanNvbl9vYmplY3Q7Cj4gLQo+ICAgeWFqbF9nZW5f c3RhdHVzIGxpYnhsX191aW50NjRfZ2VuX2pzb24oeWFqbF9nZW4gaGFuZCwgdWludDY0X3QgdmFs KTsKPiAgIHlhamxfZ2VuX3N0YXR1cyBsaWJ4bF9kZWZib29sX2dlbl9qc29uKHlhamxfZ2VuIGhh bmQsIGxpYnhsX2RlZmJvb2wgKnApOwo+IC1pbnQgbGlieGxfZGVmYm9vbF9wYXJzZV9qc29uKGxp YnhsX19nYyAqZ2MsIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqbywKPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9kZWZib29sICpwKTsKPiAtaW50IGxpYnhsX19ib29sX3Bh cnNlX2pzb24obGlieGxfX2djICpnYywgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpvLAo+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sICpwKTsKPiAgIHlhamxfZ2VuX3N0YXR1cyBs aWJ4bF91dWlkX2dlbl9qc29uKHlhamxfZ2VuIGhhbmQsIGxpYnhsX3V1aWQgKnApOwo+IC1pbnQg bGlieGxfdXVpZF9wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGxpYnhsX19qc29uX29i amVjdCAqbywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF91dWlkICpwKTsKPiAg IHlhamxfZ2VuX3N0YXR1cyBsaWJ4bF9tYWNfZ2VuX2pzb24oeWFqbF9nZW4gaGFuZCwgbGlieGxf bWFjICpwKTsKPiAtaW50IGxpYnhsX21hY19wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsIGNvbnN0 IGxpYnhsX19qc29uX29iamVjdCAqbywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X21hYyAqcCk7Cj4gICB5YWpsX2dlbl9zdGF0dXMgbGlieGxfYml0bWFwX2dlbl9qc29uKHlhamxf Z2VuIGhhbmQsIGxpYnhsX2JpdG1hcCAqcCk7Cj4gLWludCBsaWJ4bF9iaXRtYXBfcGFyc2VfanNv bihsaWJ4bF9fZ2MgKmdjLCBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKm8sCj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9iaXRtYXAgKnApOwo+ICAgeWFqbF9nZW5fc3RhdHVz IGxpYnhsX2NwdWlkX3BvbGljeV9saXN0X2dlbl9qc29uKHlhamxfZ2VuIGhhbmQsCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfY3B1aWRf cG9saWN5X2xpc3QgKnApOwo+IC1pbnQgbGlieGxfY3B1aWRfcG9saWN5X2xpc3RfcGFyc2VfanNv bihsaWJ4bF9fZ2MgKmdjLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBsaWJ4bF9fanNvbl9vYmplY3QgKm8sCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX2NwdWlkX3BvbGljeV9saXN0ICpwKTsKPiAgIHlhamxfZ2Vu X3N0YXR1cyBsaWJ4bF9zdHJpbmdfbGlzdF9nZW5fanNvbih5YWpsX2dlbiBoYW5kLCBsaWJ4bF9z dHJpbmdfbGlzdCAqcCk7Cj4gLWludCBsaWJ4bF9zdHJpbmdfbGlzdF9wYXJzZV9qc29uKGxpYnhs X19nYyAqZ2MsIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqbywKPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlieGxfc3RyaW5nX2xpc3QgKnApOwo+ICAgeWFqbF9nZW5fc3Rh dHVzIGxpYnhsX2tleV92YWx1ZV9saXN0X2dlbl9qc29uKHlhamxfZ2VuIGhhbmQsCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfa2V5X3ZhbHVl X2xpc3QgKnApOwo+IC1pbnQgbGlieGxfa2V5X3ZhbHVlX2xpc3RfcGFyc2VfanNvbihsaWJ4bF9f Z2MgKmdjLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4 bF9fanNvbl9vYmplY3QgKm8sCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX2tleV92YWx1ZV9saXN0ICpwKTsKPiAgIHlhamxfZ2VuX3N0YXR1cyBsaWJ4bF9od2Nh cF9nZW5fanNvbih5YWpsX2dlbiBoYW5kLCBsaWJ4bF9od2NhcCAqcCk7Cj4gLWludCBsaWJ4bF9o d2NhcF9wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAq bywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfaHdjYXAgKnApOwo+IC1pbnQg bGlieGxfX2ludF9wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGxpYnhsX19qc29uX29i amVjdCAqbywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpwKTsKPiAtaW50IGxp YnhsX191aW50OF9wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGxpYnhsX19qc29uX29i amVjdCAqbywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnApOwo+IC1pbnQg bGlieGxfX3VpbnQxNl9wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGxpYnhsX19qc29u X29iamVjdCAqbywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpwKTsKPiAt aW50IGxpYnhsX191aW50MzJfcGFyc2VfanNvbihsaWJ4bF9fZ2MgKmdjLCBjb25zdCBsaWJ4bF9f anNvbl9vYmplY3QgKm8sCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqcCk7 Cj4gLWludCBsaWJ4bF9fdWludDY0X3BhcnNlX2pzb24obGlieGxfX2djICpnYywgY29uc3QgbGli eGxfX2pzb25fb2JqZWN0ICpvLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQg KnApOwo+IC1pbnQgbGlieGxfX3N0cmluZ19wYXJzZV9qc29uKGxpYnhsX19nYyAqZ2MsIGNvbnN0 IGxpYnhsX19qc29uX29iamVjdCAqbywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj aGFyICoqcCk7Cj4gICAKPiAgICNpbmNsdWRlIDxfbGlieGxfdHlwZXNfanNvbi5oPgo+ICAgCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK