From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Zhu Subject: Re: Is this 32-bit NCM? Date: Fri, 28 Nov 2014 09:02:29 +0000 Message-ID: <54783A1D.3090607@audiocodes.com> References: <87ppc957h1.fsf@nemi.mork.no> <874mtl55ar.fsf@nemi.mork.no> <54781523.6030600@audiocodes.com> <54783443.50700@audiocodes.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Alex Strizhevsky , =?utf-8?B?QmrDuHJuIE1vcms=?= , "Midge Shaojun Tan" , "youtux@gmail.com" , "linux-usb@vger.kernel.org" , "netdev@vger.kernel.org" , Eli Britstein To: Enrico Mioso Return-path: Received: from mail-am1lrp0016.outbound.protection.outlook.com ([213.199.154.16]:35232 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750935AbaK1JCe (ORCPT ); Fri, 28 Nov 2014 04:02:34 -0500 In-Reply-To: Content-Language: en-US Content-ID: Sender: netdev-owner@vger.kernel.org List-ID: VGhpcyBpcyBhbiBBUlAgcGFja2V0IGZyb20gTGludXggMzJiaXQgZHJpdmVyLiBTZWUgaWYgYW55 b25lIGNhbiB0ZWxsDQphbnkgbWlzdGFrZS4NCg0KMDAwMCAgIDZlIDYzIDZkIDY4IDEwIDAwIGE5 IDAwIDk0IDAxIDAwIDAwIDEwIDAwIDAwIDAwIG5jbWguLi4uLi4uLi4uLi4NCjAwMTAgICA2ZSA2 MyA2ZCAzMCAyMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgbmNtMCAuLi4uLi4u Li4uLg0KMDAyMCAgIDZhIDAxIDAwIDAwIDJhIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw IDAwIGouLi4qLi4uLi4uLi4uLi4NCjAwMzAgICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAuLi4uLi4uLi4uLi4uLi4uDQowMDQwICAgMDAgMDAgMDAgMDAg MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgLi4uLi4uLi4uLi4uLi4uLg0KMDA1 MCAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIC4uLi4u Li4uLi4uLi4uLi4NCjAwNjAgICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw MCAwMCAwMCAwMCAuLi4uLi4uLi4uLi4uLi4uDQowMDcwICAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgLi4uLi4uLi4uLi4uLi4uLg0KMDA4MCAgIDAwIDAw IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIC4uLi4uLi4uLi4uLi4u Li4NCjAwOTAgICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw MCAuLi4uLi4uLi4uLi4uLi4uDQowMGEwICAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMDAgMDAgMDAgMDAgMDAgLi4uLi4uLi4uLi4uLi4uLg0KMDBiMCAgIDAwIDAwIDAwIDAwIDAw IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIC4uLi4uLi4uLi4uLi4uLi4NCjAwYzAg ICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAuLi4uLi4u Li4uLi4uLi4uDQowMGQwICAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMDAgMDAgLi4uLi4uLi4uLi4uLi4uLg0KMDBlMCAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIC4uLi4uLi4uLi4uLi4uLi4NCjAwZjAgICAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAuLi4uLi4uLi4uLi4uLi4u DQowMTAwICAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg Li4uLi4uLi4uLi4uLi4uLg0KMDExMCAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw IDAwIDAwIDAwIDAwIDAwIC4uLi4uLi4uLi4uLi4uLi4NCjAxMjAgICAwMCAwMCAwMCAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAuLi4uLi4uLi4uLi4uLi4uDQowMTMwICAg MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgLi4uLi4uLi4u Li4uLi4uLg0KMDE0MCAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw IDAwIDAwIC4uLi4uLi4uLi4uLi4uLi4NCjAxNTAgICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAuLi4uLi4uLi4uLi4uLi4uDQowMTYwICAgMDAgMDAgMDAg MDAgMDAgMDAgMDAgMDAgMDAgMDAgZmYgZmYgZmYgZmYgZmYgZmYgLi4uLi4uLi4uLi4uLi4uLg0K MDE3MCAgIDAwIDFlIDEwIDFmIDAwIDAwIDA4IDA2IDAwIDAxIDA4IDAwIDA2IDA0IDAwIDAxIC4u Li4uLi4uLi4uLi4uLi4NCjAxODAgICAwMCAxZSAxMCAxZiAwMCAwMCAwYSA3MSBlZSAwMSAwMCAw MCAwMCAwMCAwMCAwMCAuLi4uLi4ucS4uLi4uLi4uDQowMTkwICAgNzAgNTAgZjggNGENCg0KUmVn YXJkcywNCktldmluDQoNCk9uIDExLzI4LzIwMTQgMDQ6NDUgUE0sIEVucmljbyBNaW9zbyB3cm90 ZToNCj4gVG8gdGVzdCBvdXIgMzItYml0IGRyaXZlciwgeW91IG5lZWQgYXQgbGVhc3QgVWJ1bnR1 IDE0LjA0IGFuZCBpbnN0YWxsIHRoZSAzLjE2DQo+IGtlcm5lbDsgb3IgaW5zdGFsbCBhIGtlcm5l bCA+PSAzLjE2IGFueXdheSwgYXMgb3VyIG1vZGlmaWNhdGlvbiBpcyBiYXNlZCBvbiB0aGUNCj4g Y2RjX25jbS5jIGZpbGUgZnJvbSB0aGUgZ2l0IHRyZWUgZm9yIGxvZ2ljYWwgcmVhc29uLg0KPg0K Pg0KPiBPbiBGcmksIDI4IE5vdiAyMDE0LCBLZXZpbiBaaHUgd3JvdGU6DQo+DQo+ID09RGF0ZTog RnJpLCAyOCBOb3YgMjAxNCAwOTozNzozMA0KPiA9PUZyb206IEtldmluIFpodSA8TWluZ3lpbmcu Wmh1QGF1ZGlvY29kZXMuY29tPg0KPiA9PVRvOiBFbnJpY28gTWlvc28gPG1ya2lrby5yc0BnbWFp bC5jb20+DQo+ID09Q2M6IEFsZXggU3RyaXpoZXZza3kgPGFsZXh4c3RAZ21haWwuY29tPiwgQmrD uHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+LA0KPiA9PSAgICBNaWRnZSBTaGFvanVuICBUYW4gPFNo YW9qdW5NaWRnZS5UYW5AYXVkaW9jb2Rlcy5jb20+LA0KPiA9PSAgICAieW91dHV4QGdtYWlsLmNv bSIgPHlvdXR1eEBnbWFpbC5jb20+LA0KPiA9PSAgICAibGludXgtdXNiQHZnZXIua2VybmVsLm9y ZyIgPGxpbnV4LXVzYkB2Z2VyLmtlcm5lbC5vcmc+LA0KPiA9PSAgICAibmV0ZGV2QHZnZXIua2Vy bmVsLm9yZyIgPG5ldGRldkB2Z2VyLmtlcm5lbC5vcmc+LA0KPiA9PSAgICBFbGkgQnJpdHN0ZWlu IDxFbGkuQnJpdHN0ZWluQGF1ZGlvY29kZXMuY29tPg0KPiA9PVN1YmplY3Q6IFJlOiBJcyB0aGlz IDMyLWJpdCBOQ00/DQo+ID09DQo+ID09QXMgdGhlIHJlbWFpbmRlciAod05kcE91dFBheWxvYWRS ZW1haW5kZXIpIGlzIG92ZXJ3cml0dGVuIGJ5IHRoZQ0KPiA9PWZvbGxvd2luZyBsaW5lcywgd2hv c2UgZmluYWxseSB2YWx1ZSBpcyAwLCBJIG1vZGlmaWVkIHRoZSBjb2RlIG5vdCB0bw0KPiA9PWNo YW5nZSBpdC4gTGV0IGl0IHJlbWFpbiAyLiBBbmQgbm93IHRoZSBjYXB0dXJlIHNob3dzIHRoZSBF dGhlcm5ldA0KPiA9PWhlYWRlciBvZmZzZXQgaXMgdGhlIHNhbWUgYXMgd2luZG93cywgaG93ZXZl ciwgaXQncyBub3Qgd29ya2luZyB5ZXQuDQo+ID09DQo+ID09ICAgICAvKiBhZGp1c3QgVFgtcmVt YWluZGVyIGFjY29yZGluZyB0byBOQ00gc3BlY2lmaWNhdGlvbi4gKi8NCj4gPT0gICAgIGN0eC0+ dHhfcmVtYWluZGVyID0gKChjdHgtPnR4X3JlbWFpbmRlciAtIGV0aF9obGVuKSAmDQo+ID09ICAg ICAgICAgICAgICAgICAgKGN0eC0+dHhfbW9kdWx1cyAtIDEpKTsNCj4gPT0NCj4gPT0NCj4gPT1S ZWdhcmRzLA0KPiA9PUtldmluDQo+ID09DQo+ID09T24gMTEvMjgvMjAxNCAwNDoyNCBQTSwgRW5y aWNvIE1pb3NvIHdyb3RlOg0KPiA9PT4gVGhlIGRyaXZlciBlZmZlY3RpdmVseSB1c2VzIHRoZSB3 TmRwT3V0RGl2aXNvciBpbmRpcmVjdGx5IC0gc2VlIHN0YW5kYXJkDQo+ID09PiBjZGNfbmNtIGRl cml2ZXIgYXMgaW4ga2VybmVsIGdpdCB0cmVlLCBsaW5lIDQ5MC4NCj4gPT0+DQo+ID09Pg0KPiA9 PT4gT24gRnJpLCAyOCBOb3YgMjAxNCwgS2V2aW4gWmh1IHdyb3RlOg0KPiA9PT4NCj4gPT0+ID09 RGF0ZTogRnJpLCAyOCBOb3YgMjAxNCAwNzoyNDo0OQ0KPiA9PT4gPT1Gcm9tOiBLZXZpbiBaaHUg PE1pbmd5aW5nLlpodUBhdWRpb2NvZGVzLmNvbT4NCj4gPT0+ID09VG86IEFsZXggU3RyaXpoZXZz a3kgPGFsZXh4c3RAZ21haWwuY29tPiwgQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+LA0KPiA9 PT4gPT0gICAgTWlkZ2UgU2hhb2p1biAgVGFuIDxTaGFvanVuTWlkZ2UuVGFuQGF1ZGlvY29kZXMu Y29tPg0KPiA9PT4gPT1DYzogRW5yaWNvIE1pb3NvIDxtcmtpa28ucnNAZ21haWwuY29tPiwgInlv dXR1eEBnbWFpbC5jb20iIDx5b3V0dXhAZ21haWwuY29tPiwNCj4gPT0+ID09ICAgICJsaW51eC11 c2JAdmdlci5rZXJuZWwub3JnIiA8bGludXgtdXNiQHZnZXIua2VybmVsLm9yZz4sDQo+ID09PiA9 PSAgICAibmV0ZGV2QHZnZXIua2VybmVsLm9yZyIgPG5ldGRldkB2Z2VyLmtlcm5lbC5vcmc+LA0K PiA9PT4gPT0gICAgRWxpIEJyaXRzdGVpbiA8RWxpLkJyaXRzdGVpbkBhdWRpb2NvZGVzLmNvbT4N Cj4gPT0+ID09U3ViamVjdDogUmU6IElzIHRoaXMgMzItYml0IE5DTT8NCj4gPT0+ID09DQo+ID09 PiA9PUhpIGFsbCwNCj4gPT0+ID09DQo+ID09PiA9PUknbSBhYmxlIHRvIGdldCB0aGUgZm9sbG93 aW5nIHByaW50cyB3aXRoIHRoZSBvcmlnaW5hbCBodWF3ZWlfY2RjX25jbSBkcml2ZXINCj4gPT0+ ID09ZnJvbSBVYnVudHUgMTIuMDQuMy4gSXQga2VlcHMgb24gcHJpbnRpbmcuIEknbSBhbHNvIGFi bGUgdG8gZ2V0IGFuIElQLCBidXQNCj4gPT0+ID09bm8gSW50ZXJuZXQgYWNjZXNzLg0KPiA9PT4g PT0NCj4gPT0+ID09XkhDU1E6IldDRE1BIiw2NCw1OSw1NQ0KPiA9PT4gPT0NCj4gPT0+ID09XkRT RkxPV1JQVDowMDAwMDAwRSwwMDAwMDAwMCwwMDAwMDAwMCwwMDAwMDAwMDAwMDAwMDAwLDAwMDAw MDAwMDAwMDAwMDAsMDAwDQo+ID09PiA9PTAwMDAwLDAwMDAwMDAwDQo+ID09PiA9PQ0KPiA9PT4g PT1PSw0KPiA9PT4gPT0NCj4gPT0+ID09Xk5ESVNTVEFUOjEsLCwiSVBWNCINCj4gPT0+ID09DQo+ ID09PiA9PV5TVElOOiAxLCAwLCAwDQo+ID09PiA9PQ0KPiA9PT4gPT1eRFNGTE9XUlBUOjAwMDAw MDEwLDAwMDAwMDAwLDAwMDAwMDAwLDAwMDAwMDAwMDAwMDAwMDAsMDAwMDAwMDAwMDAwMDAwMCww MDANCj4gPT0+ID09MDAwMDAsMDAwMDAwMDANCj4gPT0+ID09DQo+ID09PiA9PV5EU0ZMT1dSUFQ6 MDAwMDAwMTIsMDAwMDAwMDAsMDAwMDAwMDAsMDAwMDAwMDAwMDAwMDAwMCwwMDAwMDAwMDAwMDAw MDAwLDAwMA0KPiA9PT4gPT0wMDAwMCwwMDAwMDAwMA0KPiA9PT4gPT0NCj4gPT0+ID09XkRTRkxP V1JQVDowMDAwMDAxNCwwMDAwMDAwMCwwMDAwMDAwMCwwMDAwMDAwMDAwMDAwMDAwLDAwMDAwMDAw MDAwMDAwMDAsMDAwDQo+ID09PiA9PTAwMDAwLDAwMDAwMDAwDQo+ID09PiA9PQ0KPiA9PT4gPT1e U1RJTjogMSwgMCwgMA0KPiA9PT4gPT0NCj4gPT0+ID09DQo+ID09PiA9PS4uLg0KPiA9PT4gPT1e U1RJTjogMSwgMCwgMA0KPiA9PT4gPT0NCj4gPT0+ID09XkRTRkxPV1JQVDowMDAwMDA4QywwMDAw MDAwMCwwMDAwMDAwMCwwMDAwMDAwMDAwMDAwQjM2LDAwMDAwMDAwMDAwMDAwMDAsMDAwDQo+ID09 PiA9PTAwMDAwLDAwMDAwMDAwDQo+ID09PiA9PQ0KPiA9PT4gPT1eRFNGTE9XUlBUOjAwMDAwMDhF LDAwMDAwMDAwLDAwMDAwMDAwLDAwMDAwMDAwMDAwMDBCMzYsMDAwMDAwMDAwMDAwMDAwMCwwMDAN Cj4gPT0+ID09MDAwMDAsMDAwMDAwMDANCj4gPT0+ID09DQo+ID09PiA9PVJlZ2FyZGluZyB0aGUg YWxpZ25tZW50LCBJIHRoaW5rIHdlIGhhdmUgc29tZSBkaWZmZXJlbmNlIGJldHdlZW4gV2luZG93 cyBhbmQNCj4gPT0+ID09TGludXguIFRoZSBzcGVjIHNheXMgaXQgc2hvdWxkIHNhdGlzZnkgdGhl IGZvbGxvd2luZyBjb25zdHJhaW50Lg0KPiA9PT4gPT0NCj4gPT0+ID09T2Zmc2V0ICUgd05kcE91 dERpdmlzb3IgPT0gd05kcE91dFBheWxvYWRSZW1haW5kZXIgKGZvciBPVVQgZGF0YWdyYW1zKQ0K PiA9PT4gPT0NCj4gPT0+ID09SXQgc2VlbXMgdGhlIEh1YXdlaSBkZXZpY2UgdGFrZSB0aGUgTkRQ IG9mZnNldCAoRXRoZXJuZXQgSGVhZGVyIE9mZnNldCkgYXMNCj4gPT0+ID09dGhlIHBhcmFtZXRl ciAnT2Zmc2V0JyBpbiB0aGUgYWJvdmUgY29uc3RyYWludC4gQW5kIGluIHRoZSBMaW51eCBjYXB0 dXJlLCBpdA0KPiA9PT4gPT1kb2VzIG5vdCBjb21wbHkgd2l0aCBpdC4NCj4gPT0+ID09DQo+ID09 PiA9PQ0KPiA9PT4gPT1kd050YkluTWF4U2l6ZT0xMzEwNzIgZHdOdGJPdXRNYXhTaXplPTE2Mzg0 IHdOZHBPdXRQYXlsb2FkUmVtYWluZGVyPTINCj4gPT0+ID09d05kcE91dERpdmlzb3I9NCB3TmRw T3V0QWxpZ25tZW50PTQgd050Yk91dE1heERhdGFncmFtcz0wIGZsYWdzPTB4MWYNCj4gPT0+ID09 DQo+ID09PiA9PVdpbmRvd3M6DQo+ID09PiA9PQ0KPiA9PT4gPT0wMDAwICAgNmUgNjMgNmQgNjgg MTAgMDAgYjYgMDAgN2MgMDAgMDAgMDAgNWMgMDAgMDAgMDAgIG5jbWguLi4ufC4uLlwuLi4NCj4g PT0+ID09MDAxMCAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDFlIDEwIDFmIDAwIDAwIDA4 IDAwICAuLi4uLi4uLi4uLi4uLi4uDQo+ID09PiA9PTAwMjAgICA0NSAwMCAwMCAzYyAwMCA5YiAw MCAwMCA4MCAwMSBhMCBmZSAwYSA3MSBhMyAwZSAgRS4uPC4uLi4uLi4uLnEuLg0KPiA9PT4gPT0w MDMwICAgY2EgNmMgMjEgM2MgMDggMDAgNGIgNGIgMDAgMDEgMDIgMTAgNjEgNjIgNjMgNjQgIC5s ITwuLktLLi4uLmFiY2QNCj4gPT0+ID09MDA0MCAgIDY1IDY2IDY3IDY4IDY5IDZhIDZiIDZjIDZk IDZlIDZmIDcwIDcxIDcyIDczIDc0ICBlZmdoaWprbG1ub3BxcnN0DQo+ID09PiA9PTAwNTAgICA3 NSA3NiA3NyA2MSA2MiA2MyA2NCA2NSA2NiA2NyA2OCA2OSA2ZSA2MyA2ZCAzMCAgdXZ3YWJjZGVm Z2hpbmNtMA0KPiA9PT4gPT0wMDYwICAgMjAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMTIgMDAgMDAgMDAgICAuLi4uLi4uLi4uLi4uLi4NCj4gPT0+ID09MDA3MCAgIDRhIDAwIDAw IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAgICAgICAgICAgICBKLi4uLi4uLi4uLi4NCj4g PT0+ID09DQo+ID09PiA9PUxpbnV4OiAodGhvdWdodCBpdCdzIGEgMTZiaXQgZm9ybWF0IGNhcHR1 cmUsIGJ1dCBpdCdzIHRoZSBzYW1lIGFzIDMyYml0LA0KPiA9PT4gPT1yZWdhcmRpbmcgdGhlIGFs aWdubWVudCkNCj4gPT0+ID09DQo+ID09PiA9PTAwMDAgICA0ZSA0MyA0ZCA0OCAwYyAwMCA0MCAw MCBlMiAwMCAwYyAwMCA0ZSA0MyA0ZCAzMCAgTkNNSC4uQC4uLi4uTkNNMA0KPiA9PT4gPT0wMDEw ICAgMTAgMDAgMDAgMDAgYjggMDAgMmEgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIC4uLi4u LiouLi4uLi4uLi4NCj4gPT0+ID09MDAyMCAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAw IDAwIDAwIDAwIDAwIDAwIDAwICAuLi4uLi4uLi4uLi4uLi4uDQo+ID09PiA9PTAwMzAgICAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgLi4uLi4uLi4uLi4u Li4uLg0KPiA9PT4gPT0wMDQwICAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMDAgMDAgMDAgIC4uLi4uLi4uLi4uLi4uLi4NCj4gPT0+ID09MDA1MCAgIDAwIDAwIDAwIDAw IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAuLi4uLi4uLi4uLi4uLi4uDQo+ ID09PiA9PTAwNjAgICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw MCAwMCAgLi4uLi4uLi4uLi4uLi4uLg0KPiA9PT4gPT0wMDcwICAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIC4uLi4uLi4uLi4uLi4uLi4NCj4gPT0+ID09 MDA4MCAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAu Li4uLi4uLi4uLi4uLi4uDQo+ID09PiA9PTAwOTAgICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgLi4uLi4uLi4uLi4uLi4uLg0KPiA9PT4gPT0wMGEwICAg MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIC4uLi4uLi4u Li4uLi4uLi4NCj4gPT0+ID09MDBiMCAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIGZmIGZmIGZm IGZmIGZmIGZmIDAwIDFlICAuLi4uLi4uLi4uLi4uLi4uDQo+ID09PiA9PTAwYzAgICAxMCAxZiAw MCAwMCAwOCAwNiAwMCAwMSAwOCAwMCAwNiAwNCAwMCAwMSAwMCAxZSAgLi4uLi4uLi4uLi4uLi4u Lg0KPiA9PT4gPT0wMGQwICAgMTAgMWYgMDAgMDAgMGEgNzEgY2MgYTYgMDAgMDAgMDAgMDAgMDAg MDAgNzAgNTAgIC4uLi4ucS4uLi4uLi4ucFANCj4gPT0+ID09MDBlMCAgIGY4IDQ5ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuSQ0KPiA9PT4gPT0NCj4gPT0+ID09 DQo+ID09PiA9PVJlZ2FyZHMsDQo+ID09PiA9PUtldmluDQo+ID09PiA9PU9uIDExLzI3LzIwMTQg MDg6MzYgUE0sIEFsZXggU3RyaXpoZXZza3kgd3JvdGU6DQo+ID09PiA9PSAgICAgIEFkZGluZyBt eSBjb2xsZWFndWVzIC0gRWxpLCBLZXZpbiAmIE1pZGdlLg0KPiA9PT4gPT0NCj4gPT0+ID09QW55 IGlkZWFzIGFyZSB3ZWxjb21lIDspDQo+ID09PiA9PQ0KPiA9PT4gPT0NCj4gPT0+ID09T24gVGh1 LCBOb3YgMjcsIDIwMTQgYXQgMTI6MDMgUE0sIEJqw7hybiBNb3JrIDxiam9ybkBtb3JrLm5vPiB3 cm90ZToNCj4gPT0+ID09ICAgICAgRW5yaWNvIE1pb3NvIDxtcmtpa28ucnNAZ21haWwuY29tPiB3 cml0ZXM6DQo+ID09PiA9PQ0KPiA9PT4gPT0gICAgICA+IE9rIC0gd2UgY2FuIGFycml2ZSB0byBz b21lIG9jbmNsdXNpb25zIHJlZ2FyZGluZyB0aGUNCj4gPT0+ID09ICAgICAgRTMyNzIuDQo+ID09 PiA9PSAgICAgID4gRmlyc3Qgb2YgYWxsIC0gdGhlIG1vZGVtIHNlZW1zIGJ1Z2d5IGVub3VnaCB0 byBub3QgYmUNCj4gPT0+ID09ICAgICAgYWJsZSB0byBoYW5kbGUgcmVxdWVzdHMNCj4gPT0+ID09 ICAgICAgPiBmb3IgZGlmZmVyZW50IGZvcm1hdHMuIFlvdSBuZWVkIHRvIHVucGx1ZyBhbmQgcmUt cGx1Zw0KPiA9PT4gPT0gICAgICBpdCwgYnV0IHRoaXMgaXMgb25seWFuDQo+ID09PiA9PSAgICAg ID4gaW1wcmVzc2lvbiBhbmQgaXMgcmVhc29uYWJsZS4NCj4gPT0+ID09ICAgICAgPg0KPiA9PT4g PT0gICAgICA+IFRoZW4gLSB0aGUgbW9kZW0gd2lsbCBhY2NlcHQgdG8gbmRpc2R1cCB0aGUgY29u bmVjdGlvbg0KPiA9PT4gPT0gICAgICB3aXRoDQo+ID09PiA9PSAgICAgID4gYXRebmRpc2R1cD0x LDEsImludGVybmV0Ig0KPiA9PT4gPT0gICAgICA+IGJ1dCAtIGlmIHdlIHVzZSBodWF3ZWlfY2Rj X25jbSArIGNkY19uY20gd2UgaGF2ZSBubyBmbG93DQo+ID09PiA9PSAgICAgIGhhbmRsaW5nIG1l c3NhZ2VzIGFuZA0KPiA9PT4gPT0gICAgICA+IHRoZSBtb2RlbSBzdG9wcyBoZXJlLg0KPiA9PT4g PT0gICAgICA+IElmIHdlIHVzZSB0aGUgY2RjX25jbSAzMi1iaXQgZHJpdmVyIChtb2RpZmllZCkg d2UgZ2V0DQo+ID09PiA9PSAgICAgIGxvdGZzIG9mDQo+ID09PiA9PSAgICAgID4gXmRzZmxvcnB0 DQo+ID09PiA9PSAgICAgID4gdGhhdCdzIGhvdyBpdCBzaG91bGQgYmUuDQo+ID09PiA9PSAgICAg ID4gU28gSSB0aGluayB3ZSBjYW4gc2F5IHRoYXQgc29tZXRoaW5nIGlzIGNoYW5naW5nLg0KPiA9 PT4gPT0gICAgICA+IFRoZW4gdGhlcmUncyB0aGUgYWxpZ25tZW50IHByb2JsZW0geW91IG1lbnRp b25lZCBpbiB5b3VyDQo+ID09PiA9PSAgICAgIHByZXZpb3VzIHJlcGx5LiBBbmQNCj4gPT0+ID09 ICAgICAgPiB0aGlzIGlzIGhhcmQgdG8gc29sdmUuDQo+ID09PiA9PSAgICAgID4gY291bGQgeW91 IHRyeSB0byBoZWxwIG1lIHVuZGVyc3RhbmQgd2hlcmUgdGhlIHByb2JsZW0NCj4gPT0+ID09ICAg ICAgaXM/DQo+ID09PiA9PSAgICAgID4gSSBmZWVsIGxpa2Ugd2UgYXJlIHZlcnkgY2xvc2UgdG8g dGhlIHNvbHV0aW9uIGJ1dA0KPiA9PT4gPT0gICAgICBzb21ldGhpbmcgaXNuJ3Qgd29ya2luZy4N Cj4gPT0+ID09ICAgICAgPiBPciBtaWdodCBiZSBqdXN0IHRyeSB0byBjaGFuZ2UgdGhlIDE2IGJp dCBkcml2ZXI/DQo+ID09PiA9PQ0KPiA9PT4gPT1JZiB5b3UgdXNlIGEgcmVjZW50IHZlcnNpb24g b2YgdGhlIGRyaXZlciBhcyBhIGJhc2lzLCB0aGVuIHlvdQ0KPiA9PT4gPT1nZXQgdGhlDQo+ID09 PiA9PUNEQyBOQ00gTlRCIHBhcmFtZXRlcnMgaW4gc3lzZnMgKGlmIG5vdCwgdGhlbiB5b3UgbmVl ZCB0byBlbmFibGUNCj4gPT0+ID09ZGVidWdnaW5nIGFuZCBsb29rIGluIHRoZSBsb2cgZm9yIHRo ZXNlIHZhbHVlcykuICBGb3IgZXhhbXBsZToNCj4gPT0+ID09DQo+ID09PiA9PWJqb3JuQG5lbWk6 fiQgZ3JlcCAuIC9zeXMvY2xhc3MvbmV0L3d3YW4wL2NkY19uY20vKg0KPiA9PT4gPT0vc3lzL2Ns YXNzL25ldC93d2FuMC9jZGNfbmNtL2JtTnRiRm9ybWF0c1N1cHBvcnRlZDoweDAwMDENCj4gPT0+ ID09L3N5cy9jbGFzcy9uZXQvd3dhbjAvY2RjX25jbS9kd050YkluTWF4U2l6ZToxNTM2MA0KPiA9 PT4gPT0vc3lzL2NsYXNzL25ldC93d2FuMC9jZGNfbmNtL2R3TnRiT3V0TWF4U2l6ZToxNTM2MA0K PiA9PT4gPT0vc3lzL2NsYXNzL25ldC93d2FuMC9jZGNfbmNtL21pbl90eF9wa3Q6MTM4MjQNCj4g PT0+ID09L3N5cy9jbGFzcy9uZXQvd3dhbjAvY2RjX25jbS9yeF9tYXg6MTUzNjANCj4gPT0+ID09 L3N5cy9jbGFzcy9uZXQvd3dhbjAvY2RjX25jbS90eF9tYXg6MTUzNjANCj4gPT0+ID09L3N5cy9j bGFzcy9uZXQvd3dhbjAvY2RjX25jbS90eF90aW1lcl91c2Vjczo0MDANCj4gPT0+ID09L3N5cy9j bGFzcy9uZXQvd3dhbjAvY2RjX25jbS93TmRwSW5BbGlnbm1lbnQ6NA0KPiA9PT4gPT0vc3lzL2Ns YXNzL25ldC93d2FuMC9jZGNfbmNtL3dOZHBJbkRpdmlzb3I6MQ0KPiA9PT4gPT0vc3lzL2NsYXNz L25ldC93d2FuMC9jZGNfbmNtL3dOZHBJblBheWxvYWRSZW1haW5kZXI6MA0KPiA9PT4gPT0vc3lz L2NsYXNzL25ldC93d2FuMC9jZGNfbmNtL3dOZHBPdXRBbGlnbm1lbnQ6NA0KPiA9PT4gPT0vc3lz L2NsYXNzL25ldC93d2FuMC9jZGNfbmNtL3dOZHBPdXREaXZpc29yOjMyDQo+ID09PiA9PS9zeXMv Y2xhc3MvbmV0L3d3YW4wL2NkY19uY20vd05kcE91dFBheWxvYWRSZW1haW5kZXI6MA0KPiA9PT4g PT0vc3lzL2NsYXNzL25ldC93d2FuMC9jZGNfbmNtL3dOdGJPdXRNYXhEYXRhZ3JhbXM6MzINCj4g PT0+ID09DQo+ID09PiA9PQ0KPiA9PT4gPT1UaGUgcG9zc2libGUgcHJvYmxlbSBJIGFtIHRoaW5r aW5nIG9mIGlzIHByb3BlciBoYW5kbGluZyBvZiB0aGUNCj4gPT0+ID09d05kcCpQYXlsb2FkUmVt YWluZGVyIHZhbHVlcy4gU2VlIHNlY3Rpb24gMy4zLjQgIk5DTSBFdGhlcm5ldA0KPiA9PT4gPT1G cmFtZQ0KPiA9PT4gPT1BbGlnbm1lbnQiIGluIHRoZSBzcGVjLiAgV2hpY2ggaXMgY29uZnVzaW5n IGFzIGhlbGwsIGJ1dCBpZiBJDQo+ID09PiA9PXVuZGVyc3RhbmQNCj4gPT0+ID09aXQgY29ycmVj dGx5IHRoZW4gd2UgYXJlIHN1cHBvc2VkIHRvIGFsaWduIHRoZSBzdGFydCBvZiB0aGUgSVANCj4g PT0+ID09cGFja2V0cw0KPiA9PT4gPT0odGhlICJwYXlsb2FkIiwgX25vdF8gdGhlIGV0aGVybmV0 IGZyYW1lKSB0byBhIHdob2xlDQo+ID09PiA9PXdOZHAqRGl2aXNvciBudW1iZXINCj4gPT0+ID09 YXMgbG9uZyBhcyB0aGUgd05kcCpQYXlsb2FkUmVtYWluZGVyIGlzIDAuDQo+ID09PiA9PQ0KPiA9 PT4gPT0NCj4gPT0+ID09QmrDuHJuDQo+ID09PiA9PQ0KPiA9PT4gPT0NCj4gPT0+ID09DQo+ID09 PiA9PVRoaXMgZW1haWwgYW5kIGFueSBmaWxlcyB0cmFuc21pdHRlZCB3aXRoIGl0IGFyZSBjb25m aWRlbnRpYWwgbWF0ZXJpYWwuIFRoZXkNCj4gPT0+ID09YXJlIGludGVuZGVkIHNvbGVseSBmb3Ig dGhlIHVzZSBvZiB0aGUgZGVzaWduYXRlZCBpbmRpdmlkdWFsIG9yIGVudGl0eSB0bw0KPiA9PT4g PT13aG9tIHRoZXkgYXJlIGFkZHJlc3NlZC4gSWYgdGhlIHJlYWRlciBvZiB0aGlzIG1lc3NhZ2Ug aXMgbm90IHRoZSBpbnRlbmRlZA0KPiA9PT4gPT1yZWNpcGllbnQsIHlvdSBhcmUgaGVyZWJ5IG5v dGlmaWVkIHRoYXQgYW55IGRpc3NlbWluYXRpb24sIHVzZSwgZGlzdHJpYnV0aW9uDQo+ID09PiA9 PW9yIGNvcHlpbmcgb2YgdGhpcyBjb21tdW5pY2F0aW9uIGlzIHN0cmljdGx5IHByb2hpYml0ZWQg YW5kIG1heSBiZSB1bmxhd2Z1bC4NCj4gPT0+ID09DQo+ID09PiA9PUlmIHlvdSBoYXZlIHJlY2Vp dmVkIHRoaXMgZW1haWwgaW4gZXJyb3IgcGxlYXNlIGltbWVkaWF0ZWx5IG5vdGlmeSB0aGUNCj4g PT0+ID09c2VuZGVyIGFuZCBkZWxldGUgb3IgZGVzdHJveSBhbnkgY29weSBvZiB0aGlzIG1lc3Nh Z2UNCj4gPT0+ID09DQo+ID09VGhpcyBlbWFpbCBhbmQgYW55IGZpbGVzIHRyYW5zbWl0dGVkIHdp dGggaXQgYXJlIGNvbmZpZGVudGlhbCBtYXRlcmlhbC4gVGhleSBhcmUgaW50ZW5kZWQgc29sZWx5 IGZvciB0aGUgdXNlIG9mIHRoZSBkZXNpZ25hdGVkIGluZGl2aWR1YWwgb3IgZW50aXR5IHRvIHdo b20gdGhleSBhcmUgYWRkcmVzc2VkLiBJZiB0aGUgcmVhZGVyIG9mIHRoaXMgbWVzc2FnZSBpcyBu b3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZSBoZXJlYnkgbm90aWZpZWQgdGhhdCBh bnkgZGlzc2VtaW5hdGlvbiwgdXNlLCBkaXN0cmlidXRpb24gb3IgY29weWluZyBvZiB0aGlzIGNv bW11bmljYXRpb24gaXMgc3RyaWN0bHkgcHJvaGliaXRlZCBhbmQgbWF5IGJlIHVubGF3ZnVsLg0K PiA9PQ0KPiA9PUlmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgZW1haWwgaW4gZXJyb3IgcGxlYXNl IGltbWVkaWF0ZWx5IG5vdGlmeSB0aGUgc2VuZGVyIGFuZCBkZWxldGUgb3IgZGVzdHJveSBhbnkg Y29weSBvZiB0aGlzIG1lc3NhZ2UNCj4gPT0NClRoaXMgZW1haWwgYW5kIGFueSBmaWxlcyB0cmFu c21pdHRlZCB3aXRoIGl0IGFyZSBjb25maWRlbnRpYWwgbWF0ZXJpYWwuIFRoZXkgYXJlIGludGVu ZGVkIHNvbGVseSBmb3IgdGhlIHVzZSBvZiB0aGUgZGVzaWduYXRlZCBpbmRpdmlkdWFsIG9yIGVu dGl0eSB0byB3aG9tIHRoZXkgYXJlIGFkZHJlc3NlZC4gSWYgdGhlIHJlYWRlciBvZiB0aGlzIG1l c3NhZ2UgaXMgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHlvdSBhcmUgaGVyZWJ5IG5vdGlm aWVkIHRoYXQgYW55IGRpc3NlbWluYXRpb24sIHVzZSwgZGlzdHJpYnV0aW9uIG9yIGNvcHlpbmcg b2YgdGhpcyBjb21tdW5pY2F0aW9uIGlzIHN0cmljdGx5IHByb2hpYml0ZWQgYW5kIG1heSBiZSB1 bmxhd2Z1bC4NCg0KSWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlbWFpbCBpbiBlcnJvciBwbGVh c2UgaW1tZWRpYXRlbHkgbm90aWZ5IHRoZSBzZW5kZXIgYW5kIGRlbGV0ZSBvciBkZXN0cm95IGFu eSBjb3B5IG9mIHRoaXMgbWVzc2FnZQ0K