Return-Path: From: "Zhang, Ming" To: Yunhan Wang CC: ERAMOTO Masaya , "linux-bluetooth@vger.kernel.org" Subject: RE: [PATCH BlueZ] client: Fix default_ctrl change when new adapter is found Date: Wed, 6 Sep 2017 17:12:46 +0000 Message-ID: References: <20170901035615.95402-1-yunhanw@google.com> In-Reply-To: Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: VGhhbmtzIFl1bmhhbiwgDQoNCldlIGhhdmUgZmlndXJlZCBvdXQgaG93IHRvIHVzZSB0aG9zZSBj b21tYW5kcyBpbiBibHVldG9vdGhjdGwuIEFsc28gd2UgYnVpbHQgMiBoaWdoIGxldmVsIHRvb2xz LCBnYXR0LWNsaWVudCBhbmQgZ2F0dC1zZXJ2ZXIsIHdpdGggdGhlc2UgdG9vbHMsIHJlYWQvd3Jp dGUgb3BlcmF0aW9ucyBhcmUgbW9yZSBjb252ZW5pZW50LiANCg0KUmVnYXJkcywgDQpNaW5nDQoN Ci0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBZdW5oYW4gV2FuZyBbbWFpbHRvOnl1 bmhhbndAZ29vZ2xlLmNvbV0gDQpTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMDUsIDIwMTcgMTA6 NDMgUE0NClRvOiBaaGFuZywgTWluZyA8TWluZy5aaGFuZ0BhcnJpcy5jb20+DQpDYzogRVJBTU9U TyBNYXNheWEgPGVyYW1vdG8ubWFzYXlhQGpwLmZ1aml0c3UuY29tPjsgbGludXgtYmx1ZXRvb3Ro QHZnZXIua2VybmVsLm9yZw0KU3ViamVjdDogUmU6IFtQQVRDSCBCbHVlWl0gY2xpZW50OiBGaXgg ZGVmYXVsdF9jdHJsIGNoYW5nZSB3aGVuIG5ldyBhZGFwdGVyIGlzIGZvdW5kDQoNCkhpLCBNaW5n DQoNCkNvdWxkIHlvdSBwb3N0IHlvdXIgY29tbWFuZCBmcm9tIHlvdXIgcGVyaXBoZXJhbCBhbmQg Y2VudHJhbD8gVXN1YWxseSB3aGVuIHlvdSBzZXQgdGhlIGF0dHJpYnV0ZSB3aXRoIHJlYWQsd3Jp dGUgcGVybWlzc2lvbiBpbiBwZXJpcGhlcmFsLCB0aGVuIGluIGNlbnRyYWwsIHlvdSBjYW4gc2Vs ZWN0LWF0dHJpYnV0ZSB0aGUgY2hhcmFjdGVyaXN0aWMgcGF0aCwgYW5kIHJlYWQvd3JpdGUuDQoN CnRoYW5rcw0KYmVzdCB3aXNoZXMNCnl1bmhhbg0KDQpPbiBGcmksIFNlcCAxLCAyMDE3IGF0IDI6 MDYgUE0sIFpoYW5nLCBNaW5nIDxNaW5nLlpoYW5nQGFycmlzLmNvbT4gd3JvdGU6DQo+IEhlbGxv LA0KPg0KPiBDYW4gYW55Ym9keSBnaXZlIGEgaGVscCB3aXRoIEJsdWVaIHV0aWxpdHkgYmx1ZXRv b3RoY3RsPw0KPiAtICJyZWFkIiBhbmQgIndyaXRlIiBjb21tYW5kcyBzZWVtIG5vdCB3b3JraW5n PyBhbHdheXMgcmVwb3J0ICJubyBhdHRyaWJ1dGUgc2VsZWN0ZWQiLCB1c2luZyAic2VsZWN0LWF0 dHJpYnV0ZSIgZmlyc3QgZG9lc24ndCBoZWxwLg0KPg0KPiBUaGFua3MsDQo+IE1pbmcNCj4NCj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbGludXgtYmx1ZXRvb3RoLW93bmVy QHZnZXIua2VybmVsLm9yZyANCj4gW21haWx0bzpsaW51eC1ibHVldG9vdGgtb3duZXJAdmdlci5r ZXJuZWwub3JnXSBPbiBCZWhhbGYgT2YgWXVuaGFuIA0KPiBXYW5nDQo+IFNlbnQ6IEZyaWRheSwg U2VwdGVtYmVyIDAxLCAyMDE3IDEyOjQzIEFNDQo+IFRvOiBFUkFNT1RPIE1hc2F5YSA8ZXJhbW90 by5tYXNheWFAanAuZnVqaXRzdS5jb20+DQo+IENjOiBsaW51eC1ibHVldG9vdGhAdmdlci5rZXJu ZWwub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggQmx1ZVpdIGNsaWVudDogRml4IGRlZmF1bHRf Y3RybCBjaGFuZ2Ugd2hlbiBuZXcgDQo+IGFkYXB0ZXIgaXMgZm91bmQNCj4NCj4gSGksIEVSQU1P VE8NCj4NCj4gY2FjaGVfY3RybCBpcyBub3QgYWR2ZXJ0aXNpbmcgbWFuYWdlciwgY2FjaGVfY3Ry bCBpcyB0ZW1wb3JhcnkgYWRhcHRlciB0aGF0IHN0b3JlIG5ld2VzdCBhZGFwdGVyIGluZm8oc2Vl IHRoZSBiZWxvdyBzdHJ1Y3R1cmUgaW5mbykuIFdoZW4geW91IHVzZSBzZWxlY3QsIGZpbmRfY3Ry bF9ieV9hZGRyZXNzIHdvdWxkIGZpbHRlciB5b3VyIHByZWZlcnJlZCBhZGFwdGVyIGJ5IHlvdXIg YWRkcmVzcywgdGhlbiBpZiBpdCBpcyBkZWZhdWx0LCByZXR1cm4sIG90aGVyd2lzZSwgaXQgd291 bGQgdXBkYXRlIGRlZmF1bHRfY3RybC4NCj4NCj4gc3RydWN0IGFkYXB0ZXIgew0KPiBHREJ1c1By b3h5ICpwcm94eTsNCj4gR0RCdXNQcm94eSAqYWRfcHJveHk7DQo+IEdMaXN0ICpkZXZpY2VzOw0K PiB9Ow0KPg0KPiB3aGVuIG5ldyBhZGFwdGVyIGlzIGZvdW5kLCB0aGUgcHJveHkgaGFuZGxlciB3 b3VsZCBhZGQgYWRhcHRlciBwcm94eSwgcHJvZmlsZSBwcm94eSwgYWR2ZXJ0aXNpbmcgcHJveHkg c2VxdWVudGlhbGx5LCBpbiB0aGlzIHByb2NlZHVyZSwgY2FjaGVfY3RybCB3b3VsZCB1cGRhdGUg YWR2ZXJ0aXNpbmcgbWFuYWdlci4NCj4NCj4gdGhhbmtzDQo+IGJlc3Qgd2lzaGVzDQo+IHl1bmhh bg0KPg0KPiBPbiBGcmksIFNlcCAxLCAyMDE3IGF0IDEyOjI4IEFNLCBFUkFNT1RPIE1hc2F5YSA8 ZXJhbW90by5tYXNheWFAanAuZnVqaXRzdS5jb20+IHdyb3RlOg0KPj4gSGkgWXVuaGFuLA0KPj4N Cj4+IFlvdXIgcGF0Y2ggaGF2ZSBhIHJlZ3Jlc3Npb24sIHNpbmNlIHNlbGVjdCBjb21tYW5kIGNh biBub3QgdXBkYXRlIHRoZSANCj4+IGN1cnJlbnQgYWR2ZXJ0aXNpbmcgbWFuYWdlciAoY2FjaGVf Y3RybCkgd2hlbiBpdCBjaG9vc2VzIGFub3RoZXIgYWRhcHRlci4NCj4+DQo+PiBJIHRoaW5rIHRo YXQgaXQgaXMgYmV0dGVyIHRvIHVzZSBwcm94eS0+b2JqX3BhdGggYmVsb3c6DQo+Pg0KPj4gLS0t DQo+PiAgY2xpZW50L21haW4uYyB8IDU3DQo+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0NCj4+ICAxIGZpbGUgY2hhbmdlZCwgMzkgaW5z ZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2NsaWVudC9t YWluLmMgYi9jbGllbnQvbWFpbi5jIGluZGV4IDgyNTY0N2QuLmM2Y2I5OTUNCj4+IDEwMDY0NA0K Pj4gLS0tIGEvY2xpZW50L21haW4uYw0KPj4gKysrIGIvY2xpZW50L21haW4uYw0KPj4gQEAgLTUy NSwxNyArNTI1LDUyIEBAIHN0YXRpYyB2b2lkIGRldmljZV9hZGRlZChHREJ1c1Byb3h5ICpwcm94 eSkNCj4+ICAgICAgICAgfQ0KPj4gIH0NCj4+DQo+PiArc3RhdGljIHN0cnVjdCBhZGFwdGVyICpm aW5kX2N0cmwoR0xpc3QgKnNvdXJjZSwgY29uc3QgY2hhciAqcGF0aCkgew0KPj4gKyAgICAgICBH TGlzdCAqbGlzdDsNCj4+ICsNCj4+ICsgICAgICAgZm9yIChsaXN0ID0gZ19saXN0X2ZpcnN0KHNv dXJjZSk7IGxpc3Q7IGxpc3QgPSBnX2xpc3RfbmV4dChsaXN0KSkgew0KPj4gKyAgICAgICAgICAg ICAgIHN0cnVjdCBhZGFwdGVyICphZGFwdGVyID0gbGlzdC0+ZGF0YTsNCj4+ICsNCj4+ICsgICAg ICAgICAgICAgICBpZiAoIXN0cmNhc2VjbXAoZ19kYnVzX3Byb3h5X2dldF9wYXRoKGFkYXB0ZXIt PnByb3h5KSwgcGF0aCkpDQo+PiArICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWRhcHRl cjsNCj4+ICsgICAgICAgfQ0KPj4gKw0KPj4gKyAgICAgICByZXR1cm4gTlVMTDsNCj4+ICt9DQo+ PiArDQo+PiArc3RhdGljIHN0cnVjdCBhZGFwdGVyICphZGFwdGVyX25ldyhHREJ1c1Byb3h5ICpw cm94eSkgew0KPj4gKyAgICAgICBzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciA9IGdfbWFsbG9jMChz aXplb2Yoc3RydWN0IGFkYXB0ZXIpKTsNCj4+ICsNCj4+ICsgICAgICAgY3RybF9saXN0ID0gZ19s aXN0X2FwcGVuZChjdHJsX2xpc3QsIGFkYXB0ZXIpOw0KPj4gKw0KPj4gKyAgICAgICBpZiAoIWRl ZmF1bHRfY3RybCkNCj4+ICsgICAgICAgICAgICAgICBkZWZhdWx0X2N0cmwgPSBhZGFwdGVyOw0K Pj4gKw0KPj4gKyAgICAgICByZXR1cm4gYWRhcHRlcjsNCj4+ICt9DQo+PiArDQo+PiAgc3RhdGlj IHZvaWQgYWRhcHRlcl9hZGRlZChHREJ1c1Byb3h5ICpwcm94eSkgIHsNCj4+IC0gICAgICAgZGVm YXVsdF9jdHJsID0gZ19tYWxsb2MwKHNpemVvZihzdHJ1Y3QgYWRhcHRlcikpOw0KPj4gLSAgICAg ICBkZWZhdWx0X2N0cmwtPnByb3h5ID0gcHJveHk7DQo+PiAtICAgICAgIGN0cmxfbGlzdCA9IGdf bGlzdF9hcHBlbmQoY3RybF9saXN0LCBkZWZhdWx0X2N0cmwpOw0KPj4gKyAgICAgICBzdHJ1Y3Qg YWRhcHRlciAqY3RybDsNCj4+ICsgICAgICAgY3RybCA9IGZpbmRfY3RybChjdHJsX2xpc3QsIGdf ZGJ1c19wcm94eV9nZXRfcGF0aChwcm94eSkpOw0KPj4gKyAgICAgICBpZiAoIWN0cmwpDQo+PiAr ICAgICAgICAgICAgICAgY3RybCA9IGFkYXB0ZXJfbmV3KHByb3h5KTsNCj4+ICsNCj4+ICsgICAg ICAgY3RybC0+cHJveHkgPSBwcm94eTsNCj4+ICsNCj4+ICAgICAgICAgcHJpbnRfYWRhcHRlcihw cm94eSwgQ09MT1JFRF9ORVcpOyAgfQ0KPj4NCj4+ICBzdGF0aWMgdm9pZCBhZF9tYW5hZ2VyX2Fk ZGVkKEdEQnVzUHJveHkgKnByb3h5KSAgew0KPj4gLSAgICAgICBkZWZhdWx0X2N0cmwtPmFkX3By b3h5ID0gcHJveHk7DQo+PiArICAgICAgIHN0cnVjdCBhZGFwdGVyICpjdHJsOw0KPj4gKyAgICAg ICBjdHJsID0gZmluZF9jdHJsKGN0cmxfbGlzdCwgZ19kYnVzX3Byb3h5X2dldF9wYXRoKHByb3h5 KSk7DQo+PiArICAgICAgIGlmICghY3RybCkNCj4+ICsgICAgICAgICAgICAgICBjdHJsID0gYWRh cHRlcl9uZXcocHJveHkpOw0KPj4gKw0KPj4gKyAgICAgICBjdHJsLT5hZF9wcm94eSA9IHByb3h5 Ow0KPj4gIH0NCj4+DQo+PiAgc3RhdGljIHZvaWQgcHJveHlfYWRkZWQoR0RCdXNQcm94eSAqcHJv eHksIHZvaWQgKnVzZXJfZGF0YSkgQEANCj4+IC02NjEsMjAgKzY5Niw2IEBAIHN0YXRpYyB2b2lk IHByb3h5X3JlbW92ZWQoR0RCdXNQcm94eSAqcHJveHksIHZvaWQgKnVzZXJfZGF0YSkNCj4+ICAg ICAgICAgfQ0KPj4gIH0NCj4+DQo+PiAtc3RhdGljIHN0cnVjdCBhZGFwdGVyICpmaW5kX2N0cmwo R0xpc3QgKnNvdXJjZSwgY29uc3QgY2hhciAqcGF0aCkgLXsNCj4+IC0gICAgICAgR0xpc3QgKmxp c3Q7DQo+PiAtDQo+PiAtICAgICAgIGZvciAobGlzdCA9IGdfbGlzdF9maXJzdChzb3VyY2UpOyBs aXN0OyBsaXN0ID0gZ19saXN0X25leHQobGlzdCkpIHsNCj4+IC0gICAgICAgICAgICAgICBzdHJ1 Y3QgYWRhcHRlciAqYWRhcHRlciA9IGxpc3QtPmRhdGE7DQo+PiAtDQo+PiAtICAgICAgICAgICAg ICAgaWYgKCFzdHJjYXNlY21wKGdfZGJ1c19wcm94eV9nZXRfcGF0aChhZGFwdGVyLT5wcm94eSks IHBhdGgpKQ0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFkYXB0ZXI7DQo+PiAt ICAgICAgIH0NCj4+IC0NCj4+IC0gICAgICAgcmV0dXJuIE5VTEw7DQo+PiAtfQ0KPj4gLQ0KPj4g IHN0YXRpYyB2b2lkIHByb3BlcnR5X2NoYW5nZWQoR0RCdXNQcm94eSAqcHJveHksIGNvbnN0IGNo YXIgKm5hbWUsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREJ1 c01lc3NhZ2VJdGVyICppdGVyLCB2b2lkDQo+PiAqdXNlcl9kYXRhKSAgew0KPj4gLS0NCj4+IDIu Ny40DQo+Pg0KPj4NCj4+IFJlZ2FyZHMsDQo+PiBFcmFtb3RvDQo+Pg0KPj4gT24gMDkvMDEvMjAx NyAxMjo1NiBQTSwgWXVuaGFuIFdhbmcgd3JvdGU6DQo+Pj4gV2hlbiBhbm90aGVyIGFkYXB0ZXIg aXMgZm91bmQsIHRoZSBkZWZhdWx0IGFkYXB0ZXIgd291bGQgYmUgY2hhbmdlZCwgDQo+Pj4gd2hp Y2ggaXMgbm90IGV4cGVjdGVkLiBEZWZhdWx0IGFkYXB0ZXIgY2FuIG9ubHkgYmUgY2hhbmdlZCBi eSBzZWxlY3QgDQo+Pj4gY29tbWFuZC4NCj4+PiAtLS0NCj4+PiAgY2xpZW50L21haW4uYyB8IDE4 ICsrKysrKysrKysrKy0tLS0tLQ0KPj4+ICAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkNCj4+Pg0KPj4+IGRpZmYgLS1naXQgYS9jbGllbnQvbWFpbi5jIGIv Y2xpZW50L21haW4uYyBpbmRleCANCj4+PiA3NTY5NmMyYzEuLjI5YjM5NzhlMQ0KPj4+IDEwMDY0 NA0KPj4+IC0tLSBhL2NsaWVudC9tYWluLmMNCj4+PiArKysgYi9jbGllbnQvbWFpbi5jDQo+Pj4g QEAgLTY3LDYgKzY3LDcgQEAgc3RydWN0IGFkYXB0ZXIgew0KPj4+ICB9Ow0KPj4+DQo+Pj4gIHN0 YXRpYyBzdHJ1Y3QgYWRhcHRlciAqZGVmYXVsdF9jdHJsOw0KPj4+ICtzdGF0aWMgc3RydWN0IGFk YXB0ZXIgKmNhY2hlX2N0cmw7DQo+Pj4gIHN0YXRpYyBHREJ1c1Byb3h5ICpkZWZhdWx0X2RldjsN Cj4+PiAgc3RhdGljIEdEQnVzUHJveHkgKmRlZmF1bHRfYXR0cjsNCj4+PiAgc3RhdGljIEdMaXN0 ICpjdHJsX2xpc3Q7DQo+Pj4gQEAgLTE1MSw3ICsxNTIsNyBAQCBzdGF0aWMgdm9pZCBkaXNjb25u ZWN0X2hhbmRsZXIoREJ1c0Nvbm5lY3Rpb24gDQo+Pj4gKmNvbm5lY3Rpb24sIHZvaWQgKnVzZXJf ZGF0YSkNCj4+Pg0KPj4+ICAgICAgIGdfbGlzdF9mcmVlX2Z1bGwoY3RybF9saXN0LCBwcm94eV9s ZWFrKTsNCj4+PiAgICAgICBjdHJsX2xpc3QgPSBOVUxMOw0KPj4+IC0NCj4+PiArICAgICBjYWNo ZV9jdHJsID0gTlVMTDsNCj4+PiAgICAgICBkZWZhdWx0X2N0cmwgPSBOVUxMOw0KPj4+ICB9DQo+ Pj4NCj4+PiBAQCAtNTIxLDE1ICs1MjIsMjEgQEAgc3RhdGljIHZvaWQgZGV2aWNlX2FkZGVkKEdE QnVzUHJveHkgKnByb3h5KQ0KPj4+DQo+Pj4gIHN0YXRpYyB2b2lkIGFkYXB0ZXJfYWRkZWQoR0RC dXNQcm94eSAqcHJveHkpICB7DQo+Pj4gLSAgICAgZGVmYXVsdF9jdHJsID0gZ19tYWxsb2MwKHNp emVvZihzdHJ1Y3QgYWRhcHRlcikpOw0KPj4+IC0gICAgIGRlZmF1bHRfY3RybC0+cHJveHkgPSBw cm94eTsNCj4+PiAtICAgICBjdHJsX2xpc3QgPSBnX2xpc3RfYXBwZW5kKGN0cmxfbGlzdCwgZGVm YXVsdF9jdHJsKTsNCj4+PiArICAgICBzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciA9IGdfbWFsbG9j MChzaXplb2Yoc3RydWN0IGFkYXB0ZXIpKTsNCj4+PiArDQo+Pj4gKyAgICAgYWRhcHRlci0+cHJv eHkgPSBwcm94eTsNCj4+PiArICAgICBjYWNoZV9jdHJsID0gYWRhcHRlcjsNCj4+PiArICAgICBj dHJsX2xpc3QgPSBnX2xpc3RfYXBwZW5kKGN0cmxfbGlzdCwgYWRhcHRlcik7DQo+Pj4gKw0KPj4+ ICsgICAgIGlmICghZGVmYXVsdF9jdHJsKQ0KPj4+ICsgICAgICAgICAgICAgZGVmYXVsdF9jdHJs ID0gYWRhcHRlcjsNCj4+PiArDQo+Pj4gICAgICAgcHJpbnRfYWRhcHRlcihwcm94eSwgQ09MT1JF RF9ORVcpOyAgfQ0KPj4+DQo+Pj4gIHN0YXRpYyB2b2lkIGFkX21hbmFnZXJfYWRkZWQoR0RCdXNQ cm94eSAqcHJveHkpICB7DQo+Pj4gLSAgICAgZGVmYXVsdF9jdHJsLT5hZF9wcm94eSA9IHByb3h5 Ow0KPj4+ICsgICAgIGNhY2hlX2N0cmwtPmFkX3Byb3h5ID0gcHJveHk7DQo+Pj4gIH0NCj4+Pg0K Pj4+ICBzdGF0aWMgdm9pZCBwcm94eV9hZGRlZChHREJ1c1Byb3h5ICpwcm94eSwgdm9pZCAqdXNl cl9kYXRhKSBAQA0KPj4+IC02MDIsNyArNjA5LDYgQEAgc3RhdGljIHZvaWQgYWRhcHRlcl9yZW1v dmVkKEdEQnVzUHJveHkgKnByb3h5KQ0KPj4+ICAgICAgICAgICAgICAgICAgICAgICBwcmludF9h ZGFwdGVyKHByb3h5LCBDT0xPUkVEX0RFTCk7DQo+Pj4NCj4+PiAgICAgICAgICAgICAgICAgICAg ICAgaWYgKGRlZmF1bHRfY3RybCAmJiBkZWZhdWx0X2N0cmwtPnByb3h5ID09IHByb3h5KSB7DQo+ Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdF9jdHJsID0gTlVMTDsNCj4+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRfZGVmYXVsdF9kZXZpY2UoTlVMTCwg TlVMTCk7DQo+Pj4gICAgICAgICAgICAgICAgICAgICAgIH0NCj4+Pg0KPj4+DQo+Pg0KPiAtLQ0K PiBUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3Jp YmUgDQo+IGxpbnV4LWJsdWV0b290aCIgaW4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9y ZG9tb0B2Z2VyLmtlcm5lbC5vcmcgDQo+IE1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIA0KPiBodHRw czovL25hMDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwJTNBJTJG JTJGdmdlci5rDQo+IGVybmVsLm9yZyUyRm1ham9yZG9tby1pbmZvLmh0bWwmZGF0YT0wMSU3QzAx JTdDTWluZy5aaGFuZyU0MGFycmlzLmNvbSUNCj4gN0NkMDE2M2U2YmQ4NTQ0NDZjYWY2ZDA4ZDRm MTBkMDQ0NCU3Q2YyNzkyOWFkZTU1NDRkNTU4MzdhYzU2MTUxOWMzMDkxJQ0KPiA3QzEmc2RhdGE9 aklpUlRZaG5CNGtkR0FuSVBSMmRQdG04aTZpYWxMUUZmeUdmVVMxQnhFbyUzRCZyZXNlcnZlZD0w DQo=