From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v3] xenfb: remove xen_init_display "temporary" hack Date: Fri, 7 Jul 2017 07:51:03 +0000 Message-ID: <0ea9c9d615c84813a8f2cdb098a0f78e@AMSPEX02CL01.citrite.net> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dTO2c-0002Xs-4a for xen-devel@lists.xenproject.org; Fri, 07 Jul 2017 07:51:06 +0000 In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: 'Stefano Stabellini' , "xen-devel@lists.xenproject.org" , "qemu-devel@nongnu.org" Cc: Anthony Perard , "peter.maydell@linaro.org" , "kraxel@redhat.com" , Owen Smith List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IFN0ZWZhbm8gU3RhYmVsbGluaSBb bWFpbHRvOnNzdGFiZWxsaW5pQGtlcm5lbC5vcmddCj4gU2VudDogMDcgSnVseSAyMDE3IDAwOjQ4 Cj4gVG86IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsgcWVtdS1kZXZlbEBub25nbnUu b3JnCj4gQ2M6IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IHBldGVyLm1heWRlbGxAbGluYXJvLm9y ZzsgQW50aG9ueSBQZXJhcmQKPiA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT47IGtyYXhlbEBy ZWRoYXQuY29tOyBQYXVsIER1cnJhbnQKPiA8UGF1bC5EdXJyYW50QGNpdHJpeC5jb20+OyBPd2Vu IFNtaXRoIDxvd2VuLnNtaXRoQGNpdHJpeC5jb20+Cj4gU3ViamVjdDogW1BBVENIIHYzXSB4ZW5m YjogcmVtb3ZlIHhlbl9pbml0X2Rpc3BsYXkgInRlbXBvcmFyeSIgaGFjawo+IAo+IEluaXRpYWxp emUgeGVuZmIgcHJvcGVybHksIGFzIGFsbCBvdGhlciBiYWNrZW5kcywgZnJvbSBpdHMgb3duCj4g ImluaXRpYWxpc2UiIGZ1bmN0aW9uLgo+IAo+IFJlbW92ZSB0aGUgZGVwZW5kZW5jeSBvZiB2a2Jk IG9uIHZmYjogdXNlCj4gcWVtdV9jb25zb2xlX2xvb2t1cF9ieV9pbmRleAo+IHRvIGZpbmQgdGhl IHByaW5jaXBhbCBjb25zb2xlICh0byBnZXQgdGhlIHNpemUgb2YgdGhlIHNjcmVlbikgaW5zdGVh ZCBvZgo+IHJlbHlpbmcgb24gYSB2ZmIgYmFja2VuZCB0byBiZSBhdmFpbGFibGUgKHdoaWNoIGFk ZHMgYSBkZXBlbmRlbmN5Cj4gYmV0d2VlbiB0aGUgdHdvKS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBT dGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+Cj4gCj4gLS0tCj4gTm90 ZSB0aGF0IHRoaXMgcGF0Y2ggY29uZmxpY3RzIHdpdGggT3dlbidzIHNlcmllcwo+IChodHRwOi8v c2VjdXJlLXdlYi5jaXNjby5jb20vMWpQLQo+IENLTHVuYXVKUkJRZWRnRE5mZ2N0OW10Z19wTllM SldOQkRULQo+IHpNNG1nNUFtMjdpb1lCbXlVTXhoYk1HTS05Ny0KPiBlbjlMRUtFUnE3SzdQd3pL NGtaQkpQdThrYXNudWNKcHdRTEhHTFIxWndHOHlxNlFiUC0KPiBSWmVUaGZXcDQyTndaZERmQ1Y0 Z01LYlpKZ21jTUVBOVZoNGkzWWxEakZiajhVdFd3Vk5CQ0ZpVll3cEwKPiBpTXRQbmZ3d2ZvUGhz MEVqbS15bHUtanZMbjZxcXF4bnREZTF3UThPWEIyUS0KPiBQdnFDTFZWNTVwbU0zY2dtbllLeTJj dXJsMENwQnlJUWUwSnRNY0tTOGFSZUxSVkFGUEdMTU13L2h0dHAKPiAlM0ElMkYlMkZtYXJjLmlu Zm8lMkYlM0ZsJTNEcWVtdS0KPiBkZXZlbCUyNm0lM0QxNDk5MDg4MDM0MTk4OTMlMjZ3JTNEMiku IEhvd2V2ZXIgaXQKPiBzaG91bGQgYmUgdmVyeSBlYXN5IHRvIHJlYmFzZSBvbmUgb24gdG9wIG9m IHRoZSBvdGhlci4KPiAKPiBDaGFuZ2VzIGluIHYzOgo+IC0gdXNlIHFlbXVfY29uc29sZV9sb29r dXBfYnlfaW5kZXggdG8gZmluZCB0aGUgY29uc29sZSBmcm9tCj4gICB4ZW5mYl9tb3VzZV9ldmVu dAo+IC0gcmVtb3ZlIGNvbiBmcm9tIHN0cnVjdCBjb21tb24gYW5kIGFkZCBpdCB0byBzdHJ1Y3Qg WGVuRkIKPiAtIHJlbW92ZSBpbi0+Yy5jb24gY2hlY2sgZnJvbSBpbnB1dF9pbml0aWFsaXNlCgpU aGFua3MuIEFsbCBsb29rcyBnb29kIG5vdyA6LSkKClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQg PHBhdWwuZHVycmFudEBjaXRyaXguY29tPgoKPiAKPiBDaGFuZ2VzIGluIHYyOgo+IC0gcmVtb3Zl IHhlbl9pbml0X2Rpc3BsYXkgZnJvbSB4ZW5fYmFja2VuZC5oCj4gLSBoYW5kbGUgY2FzZXMgd2hl cmUgdmtiZCBpcyBtaXNzaW5nCj4gCj4gZGlmZiAtLWdpdCBhL2h3L2Rpc3BsYXkveGVuZmIuYyBi L2h3L2Rpc3BsYXkveGVuZmIuYwo+IGluZGV4IGU3NmMwZDguLmRmOGI3OGYgMTAwNjQ0Cj4gLS0t IGEvaHcvZGlzcGxheS94ZW5mYi5jCj4gKysrIGIvaHcvZGlzcGxheS94ZW5mYi5jCj4gQEAgLTQ2 LDcgKzQ2LDYgQEAKPiAgc3RydWN0IGNvbW1vbiB7Cj4gICAgICBzdHJ1Y3QgWGVuRGV2aWNlICB4 ZW5kZXY7ICAvKiBtdXN0IGJlIGZpcnN0ICovCj4gICAgICB2b2lkICAgICAgICAgICAgICAqcGFn ZTsKPiAtICAgIFFlbXVDb25zb2xlICAgICAgICpjb247Cj4gIH07Cj4gCj4gIHN0cnVjdCBYZW5J bnB1dCB7Cj4gQEAgLTYxLDYgKzYwLDcgQEAgc3RydWN0IFhlbklucHV0IHsKPiAKPiAgc3RydWN0 IFhlbkZCIHsKPiAgICAgIHN0cnVjdCBjb21tb24gICAgIGM7Cj4gKyAgICBRZW11Q29uc29sZSAg ICAgICAqY29uOwo+ICAgICAgc2l6ZV90ICAgICAgICAgICAgZmJfbGVuOwo+ICAgICAgaW50ICAg ICAgICAgICAgICAgcm93X3N0cmlkZTsKPiAgICAgIGludCAgICAgICAgICAgICAgIGRlcHRoOwo+ IEBAIC03MSw3ICs3MSw2IEBAIHN0cnVjdCBYZW5GQiB7Cj4gICAgICBpbnQgICAgICAgICAgICAg ICBmYnBhZ2VzOwo+ICAgICAgaW50ICAgICAgICAgICAgICAgZmVhdHVyZV91cGRhdGU7Cj4gICAg ICBpbnQgICAgICAgICAgICAgICBidWdfdHJpZ2dlcjsKPiAtICAgIGludCAgICAgICAgICAgICAg IGhhdmVfY29uc29sZTsKPiAgICAgIGludCAgICAgICAgICAgICAgIGRvX3Jlc2l6ZTsKPiAKPiAg ICAgIHN0cnVjdCB7Cj4gQEAgLTgwLDYgKzc5LDcgQEAgc3RydWN0IFhlbkZCIHsKPiAgICAgIGlu dCAgICAgICAgICAgICAgIHVwX2NvdW50Owo+ICAgICAgaW50ICAgICAgICAgICAgICAgdXBfZnVs bHNjcmVlbjsKPiAgfTsKPiArc3RhdGljIGNvbnN0IEdyYXBoaWNId09wcyB4ZW5mYl9vcHM7Cj4g Cj4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tICovCj4gCj4gQEAgLTMwNiwxMCArMzA2LDE4IEBAIHN0YXRpYyB2 b2lkIHhlbmZiX21vdXNlX2V2ZW50KHZvaWQgKm9wYXF1ZSwKPiAgCQkJICAgICAgaW50IGR4LCBp bnQgZHksIGludCBkeiwgaW50IGJ1dHRvbl9zdGF0ZSkKPiAgewo+ICAgICAgc3RydWN0IFhlbklu cHV0ICp4ZW5mYiA9IG9wYXF1ZTsKPiAtICAgIERpc3BsYXlTdXJmYWNlICpzdXJmYWNlID0gcWVt dV9jb25zb2xlX3N1cmZhY2UoeGVuZmItPmMuY29uKTsKPiAtICAgIGludCBkdyA9IHN1cmZhY2Vf d2lkdGgoc3VyZmFjZSk7Cj4gLSAgICBpbnQgZGggPSBzdXJmYWNlX2hlaWdodChzdXJmYWNlKTsK PiAtICAgIGludCBpOwo+ICsgICAgUWVtdUNvbnNvbGUgKmNvbiA9IHFlbXVfY29uc29sZV9sb29r dXBfYnlfaW5kZXgoMCk7Cj4gKyAgICBEaXNwbGF5U3VyZmFjZSAqc3VyZmFjZTsKPiArICAgIGlu dCBkdywgZGgsIGk7Cj4gKwo+ICsgICAgaWYgKCFjb24pIHsKPiArICAgICAgICB4ZW5fcHZfcHJp bnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDAsICJObyBRRU1VIGNvbnNvbGUgYXZhaWxhYmxlIik7Cj4g KyAgICAgICAgcmV0dXJuOwo+ICsgICAgfQo+ICsKPiArICAgIHN1cmZhY2UgPSBxZW11X2NvbnNv bGVfc3VyZmFjZShjb24pOwo+ICsgICAgZHcgPSBzdXJmYWNlX3dpZHRoKHN1cmZhY2UpOwo+ICsg ICAgZGggPSBzdXJmYWNlX2hlaWdodChzdXJmYWNlKTsKPiAKPiAgICAgIHRyYWNlX3hlbmZiX21v dXNlX2V2ZW50KG9wYXF1ZSwgZHgsIGR5LCBkeiwgYnV0dG9uX3N0YXRlLAo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeGVuZmItPmFic19wb2ludGVyX3dhbnRlZCk7Cj4gQEAgLTM0NCwx MSArMzUyLDYgQEAgc3RhdGljIGludCBpbnB1dF9pbml0aWFsaXNlKHN0cnVjdCBYZW5EZXZpY2Ug KnhlbmRldikKPiAgICAgIHN0cnVjdCBYZW5JbnB1dCAqaW4gPSBjb250YWluZXJfb2YoeGVuZGV2 LCBzdHJ1Y3QgWGVuSW5wdXQsIGMueGVuZGV2KTsKPiAgICAgIGludCByYzsKPiAKPiAtICAgIGlm ICghaW4tPmMuY29uKSB7Cj4gLSAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDEsICJkcyBu b3Qgc2V0ICh5ZXQpXG4iKTsKPiAtICAgICAgICByZXR1cm4gLTE7Cj4gLSAgICB9Cj4gLQo+ICAg ICAgcmMgPSBjb21tb25fYmluZCgmaW4tPmMpOwo+ICAgICAgaWYgKHJjICE9IDApCj4gIAlyZXR1 cm4gcmM7Cj4gQEAgLTYwOCw3ICs2MTEsNyBAQCBzdGF0aWMgaW50IHhlbmZiX2NvbmZpZ3VyZV9m YihzdHJ1Y3QgWGVuRkIgKnhlbmZiLAo+IHNpemVfdCBmYl9sZW5fbGltLAo+ICAgKi8KPiAgc3Rh dGljIHZvaWQgeGVuZmJfZ3Vlc3RfY29weShzdHJ1Y3QgWGVuRkIgKnhlbmZiLCBpbnQgeCwgaW50 IHksIGludCB3LCBpbnQgaCkKPiAgewo+IC0gICAgRGlzcGxheVN1cmZhY2UgKnN1cmZhY2UgPSBx ZW11X2NvbnNvbGVfc3VyZmFjZSh4ZW5mYi0+Yy5jb24pOwo+ICsgICAgRGlzcGxheVN1cmZhY2Ug KnN1cmZhY2UgPSBxZW11X2NvbnNvbGVfc3VyZmFjZSh4ZW5mYi0+Y29uKTsKPiAgICAgIGludCBs aW5lLCBvb3BzID0gMDsKPiAgICAgIGludCBicHAgPSBzdXJmYWNlX2JpdHNfcGVyX3BpeGVsKHN1 cmZhY2UpOwo+ICAgICAgaW50IGxpbmVzaXplID0gc3VyZmFjZV9zdHJpZGUoc3VyZmFjZSk7Cj4g QEAgLTY0Miw3ICs2NDUsNyBAQCBzdGF0aWMgdm9pZCB4ZW5mYl9ndWVzdF9jb3B5KHN0cnVjdCBY ZW5GQiAqeGVuZmIsCj4gaW50IHgsIGludCB5LCBpbnQgdywgaW50IGgpCj4gICAgICAgICAgeGVu X3B2X3ByaW50ZigmeGVuZmItPmMueGVuZGV2LCAwLCAiJXM6IG9vcHM6IGNvbnZlcnQgJWQgLT4g JWQKPiBicHA/XG4iLAo+ICAgICAgICAgICAgICAgICAgICAgICAgX19GVU5DVElPTl9fLCB4ZW5m Yi0+ZGVwdGgsIGJwcCk7Cj4gCj4gLSAgICBkcHlfZ2Z4X3VwZGF0ZSh4ZW5mYi0+Yy5jb24sIHgs IHksIHcsIGgpOwo+ICsgICAgZHB5X2dmeF91cGRhdGUoeGVuZmItPmNvbiwgeCwgeSwgdywgaCk7 Cj4gIH0KPiAKPiAgI2lmZGVmIFhFTkZCX1RZUEVfUkVGUkVTSF9QRVJJT0QKPiBAQCAtNzI4LDcg KzczMSw3IEBAIHN0YXRpYyB2b2lkIHhlbmZiX3VwZGF0ZSh2b2lkICpvcGFxdWUpCj4gICAgICAg ICAgICAgIHN1cmZhY2UgPSBxZW11X2NyZWF0ZV9kaXNwbGF5c3VyZmFjZSh4ZW5mYi0+d2lkdGgs IHhlbmZiLT5oZWlnaHQpOwo+ICAgICAgICAgICAgICBicmVhazsKPiAgICAgICAgICB9Cj4gLSAg ICAgICAgZHB5X2dmeF9yZXBsYWNlX3N1cmZhY2UoeGVuZmItPmMuY29uLCBzdXJmYWNlKTsKPiAr ICAgICAgICBkcHlfZ2Z4X3JlcGxhY2Vfc3VyZmFjZSh4ZW5mYi0+Y29uLCBzdXJmYWNlKTsKPiAg ICAgICAgICB4ZW5fcHZfcHJpbnRmKCZ4ZW5mYi0+Yy54ZW5kZXYsIDEsCj4gICAgICAgICAgICAg ICAgICAgICAgICAidXBkYXRlOiByZXNpemluZzogJWR4JWQgQCAlZCBicHAlc1xuIiwKPiAgICAg ICAgICAgICAgICAgICAgICAgIHhlbmZiLT53aWR0aCwgeGVuZmItPmhlaWdodCwgeGVuZmItPmRl cHRoLAo+IEBAIC04NzcsMTYgKzg4MCw3IEBAIHN0YXRpYyBpbnQgZmJfaW5pdGlhbGlzZShzdHJ1 Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCj4gICAgICBpZiAocmMgIT0gMCkKPiAgCXJldHVybiByYzsK PiAKPiAtI2lmIDAgIC8qIGhhbmRsZWQgaW4geGVuX2luaXRfZGlzcGxheSgpIGZvciBub3cgKi8K PiAtICAgIGlmICghZmItPmhhdmVfY29uc29sZSkgewo+IC0gICAgICAgIGZiLT5jLmRzID0gZ3Jh cGhpY19jb25zb2xlX2luaXQoeGVuZmJfdXBkYXRlLAo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeGVuZmJfaW52YWxpZGF0ZSwKPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOVUxMLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZmIpOwo+IC0gICAgICAgIGZiLT5oYXZlX2NvbnNvbGUgPSAxOwo+IC0gICAgfQo+IC0j ZW5kaWYKPiArICAgIGZiLT5jb24gPSBncmFwaGljX2NvbnNvbGVfaW5pdChOVUxMLCAwLCAmeGVu ZmJfb3BzLCBmYik7Cj4gCj4gICAgICBpZiAoeGVuc3RvcmVfcmVhZF9mZV9pbnQoeGVuZGV2LCAi ZmVhdHVyZS11cGRhdGUiLCAmZmItCj4gPmZlYXR1cmVfdXBkYXRlKSA9PSAtMSkKPiAgCWZiLT5m ZWF0dXJlX3VwZGF0ZSA9IDA7Cj4gQEAgLTk3Miw0MiArOTY2LDMgQEAgc3RhdGljIGNvbnN0IEdy YXBoaWNId09wcyB4ZW5mYl9vcHMgPSB7Cj4gICAgICAuZ2Z4X3VwZGF0ZSAgPSB4ZW5mYl91cGRh dGUsCj4gICAgICAudXBkYXRlX2ludGVydmFsID0geGVuZmJfdXBkYXRlX2ludGVydmFsLAo+ICB9 Owo+IC0KPiAtLyoKPiAtICogRklYTUUvVE9ETzogS2lsbCB0aGlzLgo+IC0gKiBUZW1wb3Jhcnkg bmVlZGVkIHdoaWxlIERpc3BsYXlTdGF0ZSByZW9yZ2FuaXphdGlvbiBpcyBpbiBmbGlnaHQuCj4g LSAqLwo+IC12b2lkIHhlbl9pbml0X2Rpc3BsYXkoaW50IGRvbWlkKQo+IC17Cj4gLSAgICBzdHJ1 Y3QgWGVuRGV2aWNlICp4ZmIsICp4aW47Cj4gLSAgICBzdHJ1Y3QgWGVuRkIgKmZiOwo+IC0gICAg c3RydWN0IFhlbklucHV0ICppbjsKPiAtICAgIGludCBpID0gMDsKPiAtCj4gLXdhaXRfbW9yZToK PiAtICAgIGkrKzsKPiAtICAgIG1haW5fbG9vcF93YWl0KHRydWUpOwo+IC0gICAgeGZiID0geGVu X3B2X2ZpbmRfeGVuZGV2KCJ2ZmIiLCBkb21pZCwgMCk7Cj4gLSAgICB4aW4gPSB4ZW5fcHZfZmlu ZF94ZW5kZXYoInZrYmQiLCBkb21pZCwgMCk7Cj4gLSAgICBpZiAoIXhmYiB8fCAheGluKSB7Cj4g LSAgICAgICAgaWYgKGkgPCAyNTYpIHsKPiAtICAgICAgICAgICAgdXNsZWVwKDEwMDAwKTsKPiAt ICAgICAgICAgICAgZ290byB3YWl0X21vcmU7Cj4gLSAgICAgICAgfQo+IC0gICAgICAgIHhlbl9w dl9wcmludGYoTlVMTCwgMSwgImRpc3BsYXlzdGF0ZSBzZXR1cCBmYWlsZWRcbiIpOwo+IC0gICAg ICAgIHJldHVybjsKPiAtICAgIH0KPiAtCj4gLSAgICAvKiB2ZmIgKi8KPiAtICAgIGZiID0gY29u dGFpbmVyX29mKHhmYiwgc3RydWN0IFhlbkZCLCBjLnhlbmRldik7Cj4gLSAgICBmYi0+Yy5jb24g PSBncmFwaGljX2NvbnNvbGVfaW5pdChOVUxMLCAwLCAmeGVuZmJfb3BzLCBmYik7Cj4gLSAgICBm Yi0+aGF2ZV9jb25zb2xlID0gMTsKPiAtCj4gLSAgICAvKiB2a2JkICovCj4gLSAgICBpbiA9IGNv bnRhaW5lcl9vZih4aW4sIHN0cnVjdCBYZW5JbnB1dCwgYy54ZW5kZXYpOwo+IC0gICAgaW4tPmMu Y29uID0gZmItPmMuY29uOwo+IC0KPiAtICAgIC8qIHJldHJ5IC0+aW5pdCgpICovCj4gLSAgICB4 ZW5fYmVfY2hlY2tfc3RhdGUoeGluKTsKPiAtICAgIHhlbl9iZV9jaGVja19zdGF0ZSh4ZmIpOwo+ IC19Cj4gZGlmZiAtLWdpdCBhL2h3L3hlbnB2L3hlbl9tYWNoaW5lX3B2LmMgYi9ody94ZW5wdi94 ZW5fbWFjaGluZV9wdi5jCj4gaW5kZXggNzlhZWY0ZS4uMzFkMmYyNSAxMDA2NDQKPiAtLS0gYS9o dy94ZW5wdi94ZW5fbWFjaGluZV9wdi5jCj4gKysrIGIvaHcveGVucHYveGVuX21hY2hpbmVfcHYu Ywo+IEBAIC05NCw5ICs5NCw2IEBAIHN0YXRpYyB2b2lkIHhlbl9pbml0X3B2KE1hY2hpbmVTdGF0 ZSAqbWFjaGluZSkKPiAKPiAgICAgIC8qIGNvbmZpZyBjbGVhbnVwIGhvb2sgKi8KPiAgICAgIGF0 ZXhpdCh4ZW5fY29uZmlnX2NsZWFudXApOwo+IC0KPiAtICAgIC8qIHNldHVwIGZyYW1lYnVmZmVy ICovCj4gLSAgICB4ZW5faW5pdF9kaXNwbGF5KHhlbl9kb21pZCk7Cj4gIH0KPiAKPiAgc3RhdGlj IHZvaWQgeGVucHZfbWFjaGluZV9pbml0KE1hY2hpbmVDbGFzcyAqbWMpCj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvaHcveGVuL3hlbl9iYWNrZW5kLmgKPiBiL2luY2x1ZGUvaHcveGVuL3hlbl9iYWNr ZW5kLmgKPiBpbmRleCA4NTJjMmVhLi44YTZmYmNiIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvaHcv eGVuL3hlbl9iYWNrZW5kLmgKPiArKysgYi9pbmNsdWRlL2h3L3hlbi94ZW5fYmFja2VuZC5oCj4g QEAgLTU1LDggKzU1LDYgQEAgZXh0ZXJuIHN0cnVjdCBYZW5EZXZPcHMgeGVuX25ldGRldl9vcHM7 ICAgICAgIC8qCj4geGVuX25pYy5jICAgICAgICAgKi8KPiAgZXh0ZXJuIHN0cnVjdCBYZW5EZXZP cHMgeGVuX3VzYl9vcHM7ICAgICAgICAgIC8qIHhlbi11c2IuYyAgICAgICAgICovCj4gICNlbmRp Zgo+IAo+IC12b2lkIHhlbl9pbml0X2Rpc3BsYXkoaW50IGRvbWlkKTsKPiAtCj4gIC8qIGNvbmZp Z3VyYXRpb24gKGFrYSB4ZW5idXMgc2V0dXApICovCj4gIHZvaWQgeGVuX2NvbmZpZ19jbGVhbnVw KHZvaWQpOwo+ICBpbnQgeGVuX2NvbmZpZ19kZXZfYmxrKERyaXZlSW5mbyAqZGlzayk7CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==